Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    rc6b1105 r45161b4d  
    6767
    6868/* Line 268 of yacc.c  */
    69 #line 42 "parser.yy"
     69#line 44 "parser.yy"
    7070
    7171#define YYDEBUG_LEXER_TEXT (yylval)                                             // lexer loads this up each time
     
    342342
    343343/* Line 293 of yacc.c  */
    344 #line 110 "parser.yy"
     344#line 112 "parser.yy"
    345345
    346346        Token tok;
     
    588588
    589589/* YYFINAL -- State number of the termination state.  */
    590 #define YYFINAL  252
     590#define YYFINAL  249
    591591/* YYLAST -- Last index in YYTABLE.  */
    592 #define YYLAST   12094
     592#define YYLAST   11449
    593593
    594594/* YYNTOKENS -- Number of terminals.  */
    595595#define YYNTOKENS  133
    596596/* YYNNTS -- Number of nonterminals.  */
    597 #define YYNNTS  241
     597#define YYNNTS  240
    598598/* YYNRULES -- Number of rules.  */
    599 #define YYNRULES  755
     599#define YYNRULES  754
    600600/* YYNRULES -- Number of states.  */
    601 #define YYNSTATES  1580
     601#define YYNSTATES  1581
    602602
    603603/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    614614       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    615615       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    616        2,     2,     2,   122,     2,     2,     2,   125,   119,     2,
    617      109,   110,   118,   120,   116,   121,   113,   124,     2,     2,
     616       2,     2,     2,   118,     2,     2,     2,   125,   120,     2,
     617     109,   110,   119,   121,   116,   122,   113,   124,     2,     2,
    618618       2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
    619619     126,   131,   127,   130,     2,     2,     2,     2,     2,     2,
     
    660660      87,    90,    98,   103,   105,   109,   110,   112,   116,   124,
    661661     134,   136,   140,   142,   146,   154,   158,   166,   168,   170,
    662      172,   175,   178,   181,   184,   187,   190,   195,   202,   204,
    663      209,   214,   217,   222,   224,   226,   228,   230,   232,   234,
    664      236,   238,   243,   248,   250,   254,   258,   262,   264,   268,
    665      272,   274,   278,   282,   284,   288,   292,   296,   300,   302,
    666      306,   310,   312,   316,   318,   322,   324,   328,   330,   334,
    667      336,   340,   342,   348,   353,   359,   361,   363,   367,   371,
    668      374,   375,   377,   380,   386,   393,   401,   403,   407,   409,
    669      411,   413,   415,   417,   419,   421,   423,   425,   427,   429,
    670      433,   434,   436,   438,   440,   442,   444,   446,   448,   450,
    671      452,   459,   464,   467,   475,   477,   481,   483,   486,   488,
    672      491,   493,   496,   499,   505,   513,   519,   529,   535,   545,
    673      547,   551,   553,   555,   559,   563,   566,   568,   571,   574,
    674      575,   577,   580,   584,   585,   587,   590,   594,   598,   603,
    675      604,   606,   608,   611,   617,   625,   632,   639,   644,   648,
    676      653,   656,   660,   663,   667,   671,   675,   679,   685,   689,
    677      693,   698,   700,   706,   713,   719,   726,   736,   747,   757,
    678      768,   771,   773,   776,   779,   782,   784,   791,   800,   811,
    679      824,   839,   840,   842,   843,   845,   847,   851,   856,   864,
    680      865,   867,   871,   873,   877,   879,   881,   883,   887,   889,
    681      891,   893,   897,   898,   900,   904,   909,   911,   915,   917,
    682      919,   923,   927,   931,   935,   939,   942,   946,   953,   957,
    683      961,   966,   968,   971,   974,   978,   984,   993,  1001,  1009,
    684     1015,  1025,  1028,  1031,  1037,  1041,  1047,  1052,  1056,  1061,
    685     1066,  1074,  1078,  1082,  1086,  1090,  1095,  1102,  1104,  1106,
    686     1108,  1110,  1112,  1114,  1116,  1118,  1119,  1121,  1123,  1126,
    687     1128,  1130,  1132,  1134,  1136,  1138,  1140,  1141,  1147,  1149,
    688     1152,  1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,
    689     1175,  1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,
    690     1195,  1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,
    691     1221,  1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,
    692     1258,  1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,
    693     1286,  1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,
    694     1318,  1326,  1329,  1332,  1335,  1337,  1340,  1343,  1347,  1350,
    695     1354,  1356,  1359,  1363,  1366,  1369,  1374,  1375,  1377,  1380,
    696     1383,  1385,  1386,  1388,  1391,  1394,  1400,  1403,  1404,  1412,
    697     1415,  1420,  1421,  1424,  1425,  1427,  1429,  1431,  1437,  1443,
    698     1449,  1451,  1457,  1463,  1473,  1475,  1481,  1482,  1484,  1486,
    699     1492,  1494,  1496,  1502,  1508,  1510,  1514,  1518,  1523,  1525,
    700     1527,  1529,  1531,  1534,  1536,  1540,  1544,  1546,  1549,  1551,
    701     1555,  1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,
    702     1575,  1577,  1580,  1582,  1584,  1586,  1589,  1590,  1593,  1596,
    703     1598,  1603,  1604,  1606,  1609,  1613,  1618,  1621,  1624,  1626,
    704     1629,  1631,  1634,  1640,  1646,  1654,  1661,  1663,  1666,  1669,
    705     1673,  1675,  1678,  1681,  1686,  1689,  1694,  1695,  1700,  1703,
    706     1705,  1707,  1709,  1710,  1713,  1719,  1725,  1739,  1741,  1743,
    707     1747,  1751,  1754,  1758,  1762,  1765,  1770,  1772,  1779,  1789,
    708     1790,  1802,  1804,  1808,  1812,  1816,  1818,  1820,  1826,  1829,
    709     1835,  1836,  1838,  1840,  1844,  1845,  1847,  1849,  1851,  1853,
    710     1854,  1861,  1864,  1866,  1869,  1874,  1877,  1881,  1885,  1889,
    711     1894,  1900,  1906,  1912,  1919,  1921,  1923,  1925,  1929,  1930,
    712     1936,  1937,  1939,  1941,  1944,  1951,  1953,  1957,  1958,  1960,
    713     1965,  1967,  1969,  1971,  1973,  1976,  1978,  1981,  1984,  1986,
    714     1990,  1993,  1997,  2001,  2004,  2009,  2014,  2018,  2027,  2031,
    715     2034,  2036,  2039,  2046,  2055,  2059,  2062,  2066,  2070,  2075,
    716     2080,  2084,  2086,  2088,  2090,  2095,  2102,  2106,  2109,  2113,
    717     2117,  2122,  2127,  2131,  2134,  2136,  2139,  2142,  2144,  2148,
    718     2151,  2155,  2159,  2162,  2167,  2172,  2176,  2183,  2192,  2196,
    719     2199,  2201,  2204,  2207,  2210,  2214,  2218,  2221,  2226,  2231,
    720     2235,  2242,  2251,  2255,  2258,  2260,  2263,  2266,  2268,  2270,
    721     2273,  2277,  2281,  2284,  2289,  2296,  2305,  2307,  2310,  2313,
    722     2315,  2318,  2321,  2325,  2329,  2331,  2336,  2341,  2345,  2351,
    723     2360,  2364,  2367,  2371,  2373,  2379,  2385,  2392,  2399,  2401,
    724     2404,  2407,  2409,  2412,  2415,  2419,  2423,  2425,  2430,  2435,
    725     2439,  2445,  2454,  2458,  2460,  2463,  2465,  2468,  2475,  2481,
    726     2488,  2496,  2504,  2506,  2509,  2512,  2514,  2517,  2520,  2524,
    727     2528,  2530,  2535,  2540,  2544,  2553,  2557,  2559,  2561,  2564,
    728     2566,  2568,  2571,  2575,  2578,  2582,  2585,  2589,  2593,  2596,
    729     2601,  2605,  2608,  2612,  2615,  2620,  2624,  2627,  2634,  2641,
    730     2648,  2656,  2658,  2661,  2663,  2665,  2667,  2670,  2674,  2677,
    731     2681,  2684,  2688,  2692,  2697,  2700,  2704,  2709,  2712,  2718,
    732     2724,  2731,  2738,  2739,  2741,  2742
     662     172,   175,   178,   181,   184,   187,   190,   193,   198,   205,
     663     207,   212,   217,   220,   225,   228,   230,   232,   234,   236,
     664     238,   243,   248,   250,   254,   258,   262,   264,   268,   272,
     665     274,   278,   282,   284,   288,   292,   296,   300,   302,   306,
     666     310,   312,   316,   318,   322,   324,   328,   330,   334,   336,
     667     340,   342,   348,   353,   359,   361,   363,   367,   371,   374,
     668     375,   377,   380,   386,   393,   401,   403,   407,   409,   411,
     669     413,   415,   417,   419,   421,   423,   425,   427,   429,   433,
     670     434,   436,   438,   440,   442,   444,   446,   448,   450,   452,
     671     459,   464,   467,   475,   477,   481,   483,   486,   488,   491,
     672     493,   496,   499,   505,   513,   519,   529,   535,   545,   547,
     673     551,   553,   555,   559,   563,   566,   568,   571,   574,   575,
     674     577,   580,   584,   585,   587,   590,   594,   598,   603,   604,
     675     606,   608,   611,   617,   625,   632,   639,   644,   648,   653,
     676     656,   660,   663,   667,   671,   675,   679,   685,   689,   693,
     677     698,   700,   706,   713,   719,   726,   736,   747,   757,   768,
     678     771,   773,   776,   779,   782,   784,   791,   800,   811,   824,
     679     839,   840,   842,   843,   845,   847,   851,   856,   864,   865,
     680     867,   871,   873,   877,   879,   881,   883,   887,   889,   891,
     681     893,   897,   898,   900,   904,   909,   911,   915,   917,   919,
     682     923,   927,   931,   935,   939,   942,   946,   953,   957,   961,
     683     966,   968,   971,   974,   978,   984,   993,  1001,  1009,  1015,
     684    1025,  1028,  1031,  1037,  1041,  1047,  1052,  1056,  1061,  1066,
     685    1074,  1078,  1082,  1086,  1090,  1095,  1102,  1104,  1106,  1108,
     686    1110,  1112,  1114,  1116,  1118,  1119,  1121,  1123,  1126,  1128,
     687    1130,  1132,  1134,  1136,  1138,  1140,  1141,  1147,  1149,  1152,
     688    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
     689    1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,
     690    1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,  1221,
     691    1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,  1258,
     692    1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,  1286,
     693    1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,  1318,
     694    1326,  1329,  1332,  1335,  1337,  1340,  1343,  1347,  1350,  1354,
     695    1356,  1359,  1363,  1366,  1369,  1374,  1375,  1377,  1380,  1383,
     696    1385,  1386,  1388,  1391,  1394,  1400,  1403,  1404,  1412,  1415,
     697    1420,  1421,  1424,  1425,  1427,  1429,  1431,  1437,  1443,  1449,
     698    1451,  1457,  1463,  1473,  1475,  1481,  1482,  1484,  1486,  1492,
     699    1494,  1496,  1502,  1508,  1510,  1514,  1518,  1523,  1525,  1527,
     700    1529,  1531,  1534,  1536,  1540,  1544,  1546,  1549,  1551,  1555,
     701    1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1575,
     702    1577,  1580,  1582,  1584,  1586,  1589,  1590,  1593,  1596,  1598,
     703    1603,  1604,  1606,  1609,  1613,  1618,  1621,  1624,  1626,  1629,
     704    1631,  1634,  1640,  1646,  1654,  1661,  1663,  1666,  1669,  1673,
     705    1675,  1678,  1681,  1686,  1689,  1694,  1695,  1700,  1703,  1705,
     706    1707,  1709,  1710,  1713,  1719,  1725,  1739,  1741,  1743,  1747,
     707    1751,  1754,  1758,  1762,  1765,  1770,  1772,  1779,  1789,  1790,
     708    1802,  1804,  1808,  1812,  1816,  1818,  1820,  1826,  1829,  1835,
     709    1836,  1838,  1840,  1844,  1845,  1847,  1849,  1851,  1853,  1854,
     710    1861,  1864,  1866,  1869,  1874,  1877,  1881,  1885,  1889,  1894,
     711    1900,  1906,  1912,  1919,  1921,  1923,  1925,  1929,  1930,  1936,
     712    1937,  1939,  1941,  1944,  1951,  1953,  1957,  1958,  1960,  1965,
     713    1967,  1969,  1971,  1973,  1976,  1978,  1981,  1984,  1986,  1990,
     714    1993,  1997,  2001,  2004,  2009,  2014,  2018,  2027,  2031,  2034,
     715    2036,  2039,  2046,  2055,  2059,  2062,  2066,  2070,  2075,  2080,
     716    2084,  2086,  2088,  2090,  2095,  2102,  2106,  2109,  2113,  2117,
     717    2122,  2127,  2131,  2134,  2136,  2139,  2142,  2144,  2148,  2151,
     718    2155,  2159,  2162,  2167,  2172,  2176,  2183,  2192,  2196,  2199,
     719    2201,  2204,  2207,  2210,  2214,  2218,  2221,  2226,  2231,  2235,
     720    2242,  2251,  2255,  2258,  2260,  2263,  2266,  2268,  2270,  2273,
     721    2277,  2281,  2284,  2289,  2296,  2305,  2307,  2310,  2313,  2315,
     722    2318,  2321,  2325,  2329,  2331,  2336,  2341,  2345,  2351,  2360,
     723    2364,  2367,  2371,  2373,  2379,  2385,  2392,  2399,  2401,  2404,
     724    2407,  2409,  2412,  2415,  2419,  2423,  2425,  2430,  2435,  2439,
     725    2445,  2454,  2458,  2460,  2463,  2465,  2468,  2475,  2481,  2488,
     726    2496,  2504,  2506,  2509,  2512,  2514,  2517,  2520,  2524,  2528,
     727    2530,  2535,  2540,  2544,  2553,  2557,  2559,  2561,  2564,  2566,
     728    2568,  2571,  2575,  2578,  2582,  2585,  2589,  2593,  2596,  2601,
     729    2605,  2608,  2612,  2615,  2620,  2624,  2627,  2634,  2641,  2648,
     730    2656,  2658,  2661,  2663,  2665,  2667,  2670,  2674,  2677,  2681,
     731    2684,  2688,  2692,  2697,  2700,  2704,  2709,  2712,  2718,  2724,
     732    2731,  2738,  2739,  2741,  2742
    733733};
    734734
     
    736736static const yytype_int16 yyrhs[] =
    737737{
    738      302,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     738     301,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    739739      -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    740740      -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
    741       -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   169,
    742      110,    -1,   109,   173,   110,    -1,   142,    -1,   143,   111,
    743      134,   164,   135,   112,    -1,   143,   109,   144,   110,    -1,
     741      -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   168,
     742     110,    -1,   109,   172,   110,    -1,   142,    -1,   143,   111,
     743     134,   163,   135,   112,    -1,   143,   109,   144,   110,    -1,
    744744     143,   113,   139,    -1,   143,   113,   111,   134,   146,   135,
    745745     112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
    746746     146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
    747      109,   275,   110,   114,   279,   372,   115,    -1,   143,   114,
     747     109,   274,   110,   114,   278,   371,   115,    -1,   143,   114,
    748748     144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
    749      164,    -1,   139,   117,   164,    -1,   111,   134,   164,   135,
    750      112,   117,   164,    -1,   111,   134,   164,   116,   167,   135,
    751      112,   117,   164,    -1,   147,    -1,   146,   116,   147,    -1,
     749     163,    -1,   139,   117,   163,    -1,   111,   134,   163,   135,
     750     112,   117,   163,    -1,   111,   134,   163,   116,   166,   135,
     751     112,   117,   163,    -1,   147,    -1,   146,   116,   147,    -1,
    752752     139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
    753753     146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
    754754     111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
    755      141,    -1,    40,   151,    -1,   149,   151,    -1,   150,   151,
    756       -1,    86,   148,    -1,    87,   148,    -1,    37,   148,    -1,
    757       37,   109,   275,   110,    -1,    38,   109,   275,   116,   139,
    758      110,    -1,    76,    -1,    76,   109,   276,   110,    -1,    76,
    759      109,   145,   110,    -1,    66,   148,    -1,    66,   109,   275,
    760      110,    -1,   118,    -1,   119,    -1,    94,    -1,   120,    -1,
    761      121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   275,
    762      110,   151,    -1,   109,   275,   110,   166,    -1,   151,    -1,
    763      152,   118,   151,    -1,   152,   124,   151,    -1,   152,   125,
    764      151,    -1,   152,    -1,   153,   120,   152,    -1,   153,   121,
    765      152,    -1,   153,    -1,   154,    88,   153,    -1,   154,    89,
    766      153,    -1,   154,    -1,   155,   126,   154,    -1,   155,   127,
    767      154,    -1,   155,    90,   154,    -1,   155,    91,   154,    -1,
    768      155,    -1,   156,    92,   155,    -1,   156,    93,   155,    -1,
    769      156,    -1,   157,   119,   156,    -1,   157,    -1,   158,   128,
    770      157,    -1,   158,    -1,   159,   129,   158,    -1,   159,    -1,
    771      160,    94,   159,    -1,   160,    -1,   161,    95,   160,    -1,
    772      161,    -1,   161,   130,   169,   117,   162,    -1,   161,   130,
    773      117,   162,    -1,   161,   130,   169,   117,   166,    -1,   162,
    774       -1,   162,    -1,   148,   131,   164,    -1,   148,   168,   164,
    775       -1,   166,   373,    -1,    -1,   164,    -1,   111,   112,    -1,
    776      111,   134,   164,   135,   112,    -1,   111,   134,   116,   167,
    777      135,   112,    -1,   111,   134,   164,   116,   167,   135,   112,
    778       -1,   165,    -1,   167,   116,   165,    -1,    97,    -1,    98,
     755     141,    -1,    86,   148,    -1,    87,   148,    -1,    40,   150,
     756      -1,   149,   150,    -1,   118,   150,    -1,   119,   150,    -1,
     757      37,   148,    -1,    37,   109,   274,   110,    -1,    38,   109,
     758     274,   116,   139,   110,    -1,    76,    -1,    76,   109,   275,
     759     110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
     760      66,   109,   274,   110,    -1,    94,   139,    -1,   120,    -1,
     761     121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   274,
     762     110,   150,    -1,   109,   274,   110,   165,    -1,   150,    -1,
     763     151,   119,   150,    -1,   151,   124,   150,    -1,   151,   125,
     764     150,    -1,   151,    -1,   152,   121,   151,    -1,   152,   122,
     765     151,    -1,   152,    -1,   153,    88,   152,    -1,   153,    89,
     766     152,    -1,   153,    -1,   154,   126,   153,    -1,   154,   127,
     767     153,    -1,   154,    90,   153,    -1,   154,    91,   153,    -1,
     768     154,    -1,   155,    92,   154,    -1,   155,    93,   154,    -1,
     769     155,    -1,   156,   120,   155,    -1,   156,    -1,   157,   128,
     770     156,    -1,   157,    -1,   158,   129,   157,    -1,   158,    -1,
     771     159,    94,   158,    -1,   159,    -1,   160,    95,   159,    -1,
     772     160,    -1,   160,   130,   168,   117,   161,    -1,   160,   130,
     773     117,   161,    -1,   160,   130,   168,   117,   165,    -1,   161,
     774      -1,   161,    -1,   148,   131,   163,    -1,   148,   167,   163,
     775      -1,   165,   372,    -1,    -1,   163,    -1,   111,   112,    -1,
     776     111,   134,   163,   135,   112,    -1,   111,   134,   116,   166,
     777     135,   112,    -1,   111,   134,   163,   116,   166,   135,   112,
     778      -1,   164,    -1,   166,   116,   164,    -1,    97,    -1,    98,
    779779      -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
    780       -1,   104,    -1,   105,    -1,   106,    -1,   164,    -1,   169,
    781      116,   164,    -1,    -1,   169,    -1,   172,    -1,   173,    -1,
    782      177,    -1,   178,    -1,   190,    -1,   192,    -1,   193,    -1,
    783      198,    -1,   128,   143,   114,   144,   115,   132,    -1,    72,
    784      117,   312,   171,    -1,   114,   115,    -1,   114,   134,   134,
    785      209,   174,   135,   115,    -1,   175,    -1,   174,   134,   175,
    786       -1,   212,    -1,    40,   212,    -1,   308,    -1,   171,   135,
    787       -1,   171,    -1,   176,   171,    -1,   170,   132,    -1,    41,
    788      109,   169,   110,   171,    -1,    41,   109,   169,   110,   171,
    789       42,   171,    -1,    43,   109,   169,   110,   183,    -1,    43,
    790      109,   169,   110,   114,   134,   205,   184,   115,    -1,    53,
    791      109,   169,   110,   183,    -1,    53,   109,   169,   110,   114,
    792      134,   205,   186,   115,    -1,   163,    -1,   163,    96,   163,
    793       -1,   310,    -1,   179,    -1,   180,   116,   179,    -1,    44,
    794      180,   117,    -1,    45,   117,    -1,   181,    -1,   182,   181,
    795       -1,   182,   171,    -1,    -1,   185,    -1,   182,   176,    -1,
    796      185,   182,   176,    -1,    -1,   187,    -1,   182,   189,    -1,
    797      182,   176,   188,    -1,   187,   182,   189,    -1,   187,   182,
    798      176,   188,    -1,    -1,   189,    -1,    56,    -1,    56,   132,
    799       -1,    47,   109,   169,   110,   171,    -1,    46,   171,    47,
    800      109,   169,   110,   132,    -1,    48,   109,   134,   191,   110,
    801      171,    -1,   170,   135,   132,   170,   132,   170,    -1,   212,
    802      170,   132,   170,    -1,    51,    72,   132,    -1,    51,   118,
    803      169,   132,    -1,    50,   132,    -1,    50,    72,   132,    -1,
    804       49,   132,    -1,    49,    72,   132,    -1,    52,   170,   132,
    805       -1,    61,   165,   132,    -1,    62,   165,   132,    -1,    62,
    806      165,    63,   164,   132,    -1,    57,   173,   194,    -1,    57,
    807      173,   196,    -1,    57,   173,   194,   196,    -1,   195,    -1,
    808       58,   109,    96,   110,   173,    -1,   195,    58,   109,    96,
    809      110,   173,    -1,    59,   109,    96,   110,   173,    -1,   195,
    810       59,   109,    96,   110,   173,    -1,    58,   109,   134,   134,
    811      197,   135,   110,   173,   135,    -1,   195,    58,   109,   134,
    812      134,   197,   135,   110,   173,   135,    -1,    59,   109,   134,
    813      134,   197,   135,   110,   173,   135,    -1,   195,    59,   109,
    814      134,   134,   197,   135,   110,   173,   135,    -1,    60,   173,
    815       -1,   225,    -1,   225,   309,    -1,   225,   357,    -1,   366,
    816      139,    -1,   366,    -1,    64,   199,   109,   141,   110,   132,
    817       -1,    64,   199,   109,   141,   117,   200,   110,   132,    -1,
    818       64,   199,   109,   141,   117,   200,   117,   200,   110,   132,
    819       -1,    64,   199,   109,   141,   117,   200,   117,   200,   117,
    820      203,   110,   132,    -1,    64,   199,    51,   109,   141,   117,
    821      117,   200,   117,   203,   117,   204,   110,   132,    -1,    -1,
    822       11,    -1,    -1,   201,    -1,   202,    -1,   201,   116,   202,
    823       -1,   141,   109,   163,   110,    -1,   111,   163,   112,   141,
    824      109,   163,   110,    -1,    -1,   141,    -1,   203,   116,   141,
    825       -1,   139,    -1,   204,   116,   139,    -1,   135,    -1,   206,
    826       -1,   212,    -1,   206,   134,   212,    -1,   135,    -1,   208,
    827       -1,   222,    -1,   208,   134,   222,    -1,    -1,   210,    -1,
    828       29,   211,   132,    -1,   210,    29,   211,   132,    -1,   274,
    829       -1,   211,   116,   274,    -1,   213,    -1,   222,    -1,   214,
    830      135,   132,    -1,   219,   135,   132,    -1,   216,   135,   132,
    831       -1,   293,   135,   132,    -1,   296,   135,   132,    -1,   215,
    832      277,    -1,   231,   215,   277,    -1,   214,   135,   116,   134,
    833      272,   277,    -1,   367,   272,   311,    -1,   370,   272,   311,
    834       -1,   227,   370,   272,   311,    -1,   217,    -1,   227,   217,
    835       -1,   231,   217,    -1,   231,   227,   217,    -1,   216,   135,
    836      116,   134,   272,    -1,   111,   112,   272,   109,   134,   260,
    837      135,   110,    -1,   370,   272,   109,   134,   260,   135,   110,
    838       -1,   218,   272,   109,   134,   260,   135,   110,    -1,   111,
    839      134,   262,   135,   112,    -1,   111,   134,   262,   135,   116,
    840      134,   263,   135,   112,    -1,     3,   215,    -1,     3,   217,
    841       -1,   219,   135,   116,   134,   139,    -1,     3,   225,   309,
    842       -1,   220,   135,   116,   134,   309,    -1,   227,     3,   225,
    843      309,    -1,   225,     3,   309,    -1,   225,     3,   227,   309,
    844       -1,     3,   139,   131,   164,    -1,   221,   135,   116,   134,
    845      139,   131,   164,    -1,   223,   135,   132,    -1,   220,   135,
    846      132,    -1,   221,   135,   132,    -1,   240,   135,   132,    -1,
    847      224,   309,   311,   277,    -1,   223,   116,   312,   309,   311,
    848      277,    -1,   236,    -1,   240,    -1,   242,    -1,   283,    -1,
    849      237,    -1,   241,    -1,   243,    -1,   284,    -1,    -1,   227,
    850       -1,   228,    -1,   227,   228,    -1,   229,    -1,   314,    -1,
     780      -1,   104,    -1,   105,    -1,   106,    -1,   163,    -1,   168,
     781     116,   163,    -1,    -1,   168,    -1,   171,    -1,   172,    -1,
     782     176,    -1,   177,    -1,   189,    -1,   191,    -1,   192,    -1,
     783     197,    -1,   128,   143,   114,   144,   115,   132,    -1,   139,
     784     117,   311,   170,    -1,   114,   115,    -1,   114,   134,   134,
     785     208,   173,   135,   115,    -1,   174,    -1,   173,   134,   174,
     786      -1,   211,    -1,    40,   211,    -1,   307,    -1,   170,   135,
     787      -1,   170,    -1,   175,   170,    -1,   169,   132,    -1,    41,
     788     109,   168,   110,   170,    -1,    41,   109,   168,   110,   170,
     789      42,   170,    -1,    43,   109,   168,   110,   182,    -1,    43,
     790     109,   168,   110,   114,   134,   204,   183,   115,    -1,    53,
     791     109,   168,   110,   182,    -1,    53,   109,   168,   110,   114,
     792     134,   204,   185,   115,    -1,   162,    -1,   162,    96,   162,
     793      -1,   309,    -1,   178,    -1,   179,   116,   178,    -1,    44,
     794     179,   117,    -1,    45,   117,    -1,   180,    -1,   181,   180,
     795      -1,   181,   170,    -1,    -1,   184,    -1,   181,   175,    -1,
     796     184,   181,   175,    -1,    -1,   186,    -1,   181,   188,    -1,
     797     181,   175,   187,    -1,   186,   181,   188,    -1,   186,   181,
     798     175,   187,    -1,    -1,   188,    -1,    56,    -1,    56,   132,
     799      -1,    47,   109,   168,   110,   170,    -1,    46,   170,    47,
     800     109,   168,   110,   132,    -1,    48,   109,   134,   190,   110,
     801     170,    -1,   169,   135,   132,   169,   132,   169,    -1,   211,
     802     169,   132,   169,    -1,    51,   139,   132,    -1,    51,   119,
     803     168,   132,    -1,    50,   132,    -1,    50,   139,   132,    -1,
     804      49,   132,    -1,    49,   139,   132,    -1,    52,   169,   132,
     805      -1,    61,   164,   132,    -1,    62,   164,   132,    -1,    62,
     806     164,    63,   163,   132,    -1,    57,   172,   193,    -1,    57,
     807     172,   195,    -1,    57,   172,   193,   195,    -1,   194,    -1,
     808      58,   109,    96,   110,   172,    -1,   194,    58,   109,    96,
     809     110,   172,    -1,    59,   109,    96,   110,   172,    -1,   194,
     810      59,   109,    96,   110,   172,    -1,    58,   109,   134,   134,
     811     196,   135,   110,   172,   135,    -1,   194,    58,   109,   134,
     812     134,   196,   135,   110,   172,   135,    -1,    59,   109,   134,
     813     134,   196,   135,   110,   172,   135,    -1,   194,    59,   109,
     814     134,   134,   196,   135,   110,   172,   135,    -1,    60,   172,
     815      -1,   224,    -1,   224,   308,    -1,   224,   356,    -1,   365,
     816     139,    -1,   365,    -1,    64,   198,   109,   141,   110,   132,
     817      -1,    64,   198,   109,   141,   117,   199,   110,   132,    -1,
     818      64,   198,   109,   141,   117,   199,   117,   199,   110,   132,
     819      -1,    64,   198,   109,   141,   117,   199,   117,   199,   117,
     820     202,   110,   132,    -1,    64,   198,    51,   109,   141,   117,
     821     117,   199,   117,   202,   117,   203,   110,   132,    -1,    -1,
     822      11,    -1,    -1,   200,    -1,   201,    -1,   200,   116,   201,
     823      -1,   141,   109,   162,   110,    -1,   111,   162,   112,   141,
     824     109,   162,   110,    -1,    -1,   141,    -1,   202,   116,   141,
     825      -1,   139,    -1,   203,   116,   139,    -1,   135,    -1,   205,
     826      -1,   211,    -1,   205,   134,   211,    -1,   135,    -1,   207,
     827      -1,   221,    -1,   207,   134,   221,    -1,    -1,   209,    -1,
     828      29,   210,   132,    -1,   209,    29,   210,   132,    -1,   273,
     829      -1,   210,   116,   273,    -1,   212,    -1,   221,    -1,   213,
     830     135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
     831      -1,   292,   135,   132,    -1,   295,   135,   132,    -1,   214,
     832     276,    -1,   230,   214,   276,    -1,   213,   135,   116,   134,
     833     271,   276,    -1,   366,   271,   310,    -1,   369,   271,   310,
     834      -1,   226,   369,   271,   310,    -1,   216,    -1,   226,   216,
     835      -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
     836     116,   134,   271,    -1,   111,   112,   271,   109,   134,   259,
     837     135,   110,    -1,   369,   271,   109,   134,   259,   135,   110,
     838      -1,   217,   271,   109,   134,   259,   135,   110,    -1,   111,
     839     134,   261,   135,   112,    -1,   111,   134,   261,   135,   116,
     840     134,   262,   135,   112,    -1,     3,   214,    -1,     3,   216,
     841      -1,   218,   135,   116,   134,   139,    -1,     3,   224,   308,
     842      -1,   219,   135,   116,   134,   308,    -1,   226,     3,   224,
     843     308,    -1,   224,     3,   308,    -1,   224,     3,   226,   308,
     844      -1,     3,   139,   131,   163,    -1,   220,   135,   116,   134,
     845     139,   131,   163,    -1,   222,   135,   132,    -1,   219,   135,
     846     132,    -1,   220,   135,   132,    -1,   239,   135,   132,    -1,
     847     223,   308,   310,   276,    -1,   222,   116,   311,   308,   310,
     848     276,    -1,   235,    -1,   239,    -1,   241,    -1,   282,    -1,
     849     236,    -1,   240,    -1,   242,    -1,   283,    -1,    -1,   226,
     850      -1,   227,    -1,   226,   227,    -1,   228,    -1,   313,    -1,
    851851      10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
    852       -1,    13,   109,   230,   286,   110,    -1,   232,    -1,   227,
    853      232,    -1,   231,   227,   232,    -1,   233,    -1,   232,   233,
    854       -1,   234,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
     852      -1,    13,   109,   229,   285,   110,    -1,   231,    -1,   226,
     853     231,    -1,   230,   226,   231,    -1,   232,    -1,   231,   232,
     854      -1,   233,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
    855855      -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
    856856      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
    857857      -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
    858       -1,    27,    -1,    24,    -1,   237,    -1,   231,   237,    -1,
    859      236,   233,    -1,   236,   233,   227,    -1,   236,   233,   237,
    860       -1,   238,    -1,   226,   239,   226,    -1,   235,    -1,   227,
    861      235,    -1,   238,   228,    -1,   238,   235,    -1,    28,   109,
    862      276,   110,    -1,    28,   109,   169,   110,    -1,    78,   109,
    863      276,   110,    -1,    78,   109,   169,   110,    -1,   241,    -1,
    864      231,   241,    -1,   240,   233,    -1,   240,   233,   227,    -1,
    865      244,    -1,   227,   244,    -1,   241,   228,    -1,   243,    -1,
    866      231,   243,    -1,   242,   233,    -1,   242,   233,   227,    -1,
    867       74,    -1,   227,    74,    -1,   243,   228,    -1,   245,    -1,
    868      256,    -1,   247,   114,   248,   115,    -1,   247,   274,    -1,
    869       -1,   247,   274,   246,   114,   248,   115,    -1,   247,   109,
    870      292,   110,   114,   248,   115,    -1,   247,   285,    -1,    31,
    871      312,    -1,    32,   312,    -1,   249,    -1,   248,   249,    -1,
    872      250,   132,    -1,    40,   250,   132,    -1,   251,   132,    -1,
    873       40,   251,   132,    -1,   366,    -1,   366,   274,    -1,   250,
    874      116,   274,    -1,   250,   116,    -1,   225,   252,    -1,   251,
    875      116,   312,   252,    -1,    -1,   254,    -1,   318,   253,    -1,
    876      331,   253,    -1,   357,    -1,    -1,   254,    -1,   117,   163,
    877       -1,    30,   312,    -1,   255,   114,   258,   372,   115,    -1,
    878      255,   274,    -1,    -1,   255,   274,   257,   114,   258,   372,
    879      115,    -1,   274,   259,    -1,   258,   116,   274,   259,    -1,
    880       -1,   131,   163,    -1,    -1,   261,    -1,   263,    -1,   262,
    881       -1,   262,   135,   116,   134,   263,    -1,   263,   135,   116,
    882      134,    96,    -1,   262,   135,   116,   134,    96,    -1,   267,
    883       -1,   263,   135,   116,   134,   267,    -1,   262,   135,   116,
    884      134,   267,    -1,   262,   135,   116,   134,   263,   135,   116,
    885      134,   267,    -1,   268,    -1,   263,   135,   116,   134,   268,
    886       -1,    -1,   265,    -1,   266,    -1,   266,   135,   116,   134,
    887       96,    -1,   270,    -1,   269,    -1,   266,   135,   116,   134,
    888      270,    -1,   266,   135,   116,   134,   269,    -1,   269,    -1,
    889      362,   272,   373,    -1,   370,   272,   373,    -1,   227,   370,
    890      272,   373,    -1,   217,    -1,   270,    -1,   362,    -1,   370,
    891       -1,   227,   370,    -1,   371,    -1,   224,   336,   373,    -1,
    892      224,   340,   373,    -1,   224,    -1,   224,   351,    -1,   139,
    893       -1,   271,   116,   139,    -1,   137,    -1,    74,    -1,    75,
     858      -1,    27,    -1,    24,    -1,   236,    -1,   230,   236,    -1,
     859     235,   232,    -1,   235,   232,   226,    -1,   235,   232,   236,
     860      -1,   237,    -1,   225,   238,   225,    -1,   234,    -1,   226,
     861     234,    -1,   237,   227,    -1,   237,   234,    -1,    28,   109,
     862     275,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
     863     275,   110,    -1,    78,   109,   168,   110,    -1,   240,    -1,
     864     230,   240,    -1,   239,   232,    -1,   239,   232,   226,    -1,
     865     243,    -1,   226,   243,    -1,   240,   227,    -1,   242,    -1,
     866     230,   242,    -1,   241,   232,    -1,   241,   232,   226,    -1,
     867      74,    -1,   226,    74,    -1,   242,   227,    -1,   244,    -1,
     868     255,    -1,   246,   114,   247,   115,    -1,   246,   273,    -1,
     869      -1,   246,   273,   245,   114,   247,   115,    -1,   246,   109,
     870     291,   110,   114,   247,   115,    -1,   246,   284,    -1,    31,
     871     311,    -1,    32,   311,    -1,   248,    -1,   247,   248,    -1,
     872     249,   132,    -1,    40,   249,   132,    -1,   250,   132,    -1,
     873      40,   250,   132,    -1,   365,    -1,   365,   273,    -1,   249,
     874     116,   273,    -1,   249,   116,    -1,   224,   251,    -1,   250,
     875     116,   311,   251,    -1,    -1,   253,    -1,   317,   252,    -1,
     876     330,   252,    -1,   356,    -1,    -1,   253,    -1,   117,   162,
     877      -1,    30,   311,    -1,   254,   114,   257,   371,   115,    -1,
     878     254,   273,    -1,    -1,   254,   273,   256,   114,   257,   371,
     879     115,    -1,   273,   258,    -1,   257,   116,   273,   258,    -1,
     880      -1,   131,   162,    -1,    -1,   260,    -1,   262,    -1,   261,
     881      -1,   261,   135,   116,   134,   262,    -1,   262,   135,   116,
     882     134,    96,    -1,   261,   135,   116,   134,    96,    -1,   266,
     883      -1,   262,   135,   116,   134,   266,    -1,   261,   135,   116,
     884     134,   266,    -1,   261,   135,   116,   134,   262,   135,   116,
     885     134,   266,    -1,   267,    -1,   262,   135,   116,   134,   267,
     886      -1,    -1,   264,    -1,   265,    -1,   265,   135,   116,   134,
     887      96,    -1,   269,    -1,   268,    -1,   265,   135,   116,   134,
     888     269,    -1,   265,   135,   116,   134,   268,    -1,   268,    -1,
     889     361,   271,   372,    -1,   369,   271,   372,    -1,   226,   369,
     890     271,   372,    -1,   216,    -1,   269,    -1,   361,    -1,   369,
     891      -1,   226,   369,    -1,   370,    -1,   223,   335,   372,    -1,
     892     223,   339,   372,    -1,   223,    -1,   223,   350,    -1,   139,
     893      -1,   270,   116,   139,    -1,   137,    -1,    74,    -1,    75,
    894894      -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,
    895       -1,    75,    -1,   366,    -1,   225,    -1,   225,   357,    -1,
    896      366,    -1,   371,    -1,   225,    -1,   225,   345,    -1,    -1,
    897      131,   278,    -1,   107,   278,    -1,   164,    -1,   114,   279,
    898      372,   115,    -1,    -1,   278,    -1,   280,   278,    -1,   279,
    899      116,   278,    -1,   279,   116,   280,   278,    -1,   281,   117,
    900       -1,   274,   117,    -1,   282,    -1,   281,   282,    -1,    80,
    901       -1,   113,   274,    -1,   111,   134,   164,   135,   112,    -1,
    902      111,   134,   310,   135,   112,    -1,   111,   134,   163,    96,
    903      163,   135,   112,    -1,   113,   111,   134,   146,   135,   112,
    904       -1,   284,    -1,   231,   284,    -1,   283,   233,    -1,   283,
    905      233,   227,    -1,   285,    -1,   227,   285,    -1,   284,   228,
    906       -1,    75,   109,   292,   110,    -1,   287,   373,    -1,   286,
    907      116,   287,   373,    -1,    -1,   289,   274,   288,   290,    -1,
    908      225,   336,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,
    909      290,   291,    -1,   129,   274,   109,   292,   110,    -1,   129,
    910      114,   134,   298,   115,    -1,   129,   109,   134,   286,   135,
    911      110,   114,   134,   298,   115,   109,   292,   110,    -1,   276,
    912       -1,   164,    -1,   292,   116,   276,    -1,   292,   116,   164,
    913       -1,    33,   294,    -1,   232,    33,   294,    -1,   293,   116,
    914      294,    -1,   295,   290,    -1,   295,   290,   131,   276,    -1,
    915      274,    -1,   273,   109,   134,   286,   135,   110,    -1,    36,
    916      274,   109,   134,   286,   135,   110,   114,   115,    -1,    -1,
    917       36,   274,   109,   134,   286,   135,   110,   114,   297,   298,
    918      115,    -1,   299,    -1,   298,   134,   299,    -1,   300,   135,
    919      132,    -1,   301,   135,   132,    -1,   215,    -1,   217,    -1,
    920      300,   135,   116,   134,   272,    -1,   225,   309,    -1,   301,
    921      135,   116,   134,   309,    -1,    -1,   303,    -1,   305,    -1,
    922      303,   134,   305,    -1,    -1,   303,    -1,   212,    -1,   307,
    923       -1,   198,    -1,    -1,     5,    82,   306,   114,   304,   115,
    924       -1,    40,   305,    -1,   308,    -1,   323,   173,    -1,   327,
    925      134,   207,   173,    -1,   216,   173,    -1,   224,   323,   173,
    926       -1,   227,   323,   173,    -1,   231,   323,   173,    -1,   231,
    927      227,   323,   173,    -1,   224,   327,   134,   207,   173,    -1,
    928      227,   327,   134,   207,   173,    -1,   231,   327,   134,   207,
    929      173,    -1,   231,   227,   327,   134,   207,   173,    -1,   318,
    930       -1,   331,    -1,   323,    -1,   163,   123,   163,    -1,    -1,
    931       64,   109,   141,   110,   312,    -1,    -1,   313,    -1,   314,
    932       -1,   313,   314,    -1,    39,   109,   109,   315,   110,   110,
    933       -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,    -1,
    934      317,   109,   170,   110,    -1,   272,    -1,   234,    -1,   235,
    935       -1,   228,    -1,   319,   312,    -1,   320,    -1,   321,   312,
    936       -1,   322,   312,    -1,   137,    -1,   109,   319,   110,    -1,
    937      149,   318,    -1,   149,   227,   318,    -1,   109,   320,   110,
    938       -1,   319,   349,    -1,   109,   320,   110,   349,    -1,   109,
    939      321,   110,   350,    -1,   109,   321,   110,    -1,   109,   320,
    940      110,   109,   134,   264,   135,   110,    -1,   109,   322,   110,
    941       -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,   319,
    942      109,   134,   264,   135,   110,    -1,   109,   325,   110,   109,
    943      134,   264,   135,   110,    -1,   109,   324,   110,    -1,   149,
    944      323,    -1,   149,   227,   323,    -1,   109,   325,   110,    -1,
    945      109,   325,   110,   349,    -1,   109,   326,   110,   350,    -1,
    946      109,   326,   110,    -1,   328,    -1,   329,    -1,   330,    -1,
    947      319,   109,   271,   110,    -1,   109,   329,   110,   109,   271,
    948      110,    -1,   109,   328,   110,    -1,   149,   327,    -1,   149,
    949      227,   327,    -1,   109,   329,   110,    -1,   109,   329,   110,
    950      349,    -1,   109,   330,   110,   350,    -1,   109,   330,   110,
    951       -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,   335,
    952      312,    -1,   341,    -1,   109,   332,   110,    -1,   149,   331,
    953       -1,   149,   227,   331,    -1,   109,   333,   110,    -1,   332,
    954      349,    -1,   109,   333,   110,   349,    -1,   109,   334,   110,
    955      350,    -1,   109,   334,   110,    -1,   332,   109,   134,   264,
    956      135,   110,    -1,   109,   333,   110,   109,   134,   264,   135,
    957      110,    -1,   109,   335,   110,    -1,   319,   312,    -1,   337,
    958       -1,   338,   312,    -1,   339,   312,    -1,   149,   336,    -1,
    959      149,   227,   336,    -1,   109,   337,   110,    -1,   319,   355,
    960       -1,   109,   337,   110,   349,    -1,   109,   338,   110,   350,
    961       -1,   109,   338,   110,    -1,   319,   109,   134,   264,   135,
    962      110,    -1,   109,   337,   110,   109,   134,   264,   135,   110,
    963       -1,   109,   339,   110,    -1,   341,   312,    -1,   342,    -1,
    964      343,   312,    -1,   344,   312,    -1,    74,    -1,    75,    -1,
    965      149,   340,    -1,   149,   227,   340,    -1,   109,   342,   110,
    966       -1,   341,   355,    -1,   109,   342,   110,   355,    -1,   341,
    967      109,   134,   264,   135,   110,    -1,   109,   342,   110,   109,
    968      134,   264,   135,   110,    -1,   346,    -1,   347,   312,    -1,
    969      348,   312,    -1,   149,    -1,   149,   227,    -1,   149,   345,
    970       -1,   149,   227,   345,    -1,   109,   346,   110,    -1,   349,
    971       -1,   109,   346,   110,   349,    -1,   109,   347,   110,   350,
    972       -1,   109,   347,   110,    -1,   109,   134,   264,   135,   110,
    973       -1,   109,   346,   110,   109,   134,   264,   135,   110,    -1,
    974      109,   348,   110,    -1,   111,   112,    -1,   111,   112,   350,
    975       -1,   350,    -1,   111,   134,   164,   135,   112,    -1,   111,
    976      134,   118,   135,   112,    -1,   350,   111,   134,   164,   135,
    977      112,    -1,   350,   111,   134,   118,   135,   112,    -1,   352,
    978       -1,   353,   312,    -1,   354,   312,    -1,   149,    -1,   149,
    979      227,    -1,   149,   351,    -1,   149,   227,   351,    -1,   109,
    980      352,   110,    -1,   355,    -1,   109,   352,   110,   355,    -1,
    981      109,   353,   110,   350,    -1,   109,   353,   110,    -1,   109,
    982      134,   264,   135,   110,    -1,   109,   352,   110,   109,   134,
    983      264,   135,   110,    -1,   109,   354,   110,    -1,   356,    -1,
    984      356,   350,    -1,   350,    -1,   111,   112,    -1,   111,   134,
    985      227,   118,   135,   112,    -1,   111,   134,   227,   135,   112,
    986       -1,   111,   134,   227,   164,   135,   112,    -1,   111,   134,
    987        7,   226,   164,   135,   112,    -1,   111,   134,   227,     7,
    988      164,   135,   112,    -1,   358,    -1,   359,   312,    -1,   360,
    989      312,    -1,   149,    -1,   149,   227,    -1,   149,   357,    -1,
    990      149,   227,   357,    -1,   109,   358,   110,    -1,   349,    -1,
    991      109,   358,   110,   349,    -1,   109,   359,   110,   350,    -1,
    992      109,   359,   110,    -1,   109,   358,   110,   109,   134,   264,
    993      135,   110,    -1,   109,   360,   110,    -1,   362,    -1,   370,
    994       -1,   227,   370,    -1,   363,    -1,   364,    -1,   149,   225,
    995       -1,   227,   149,   225,    -1,   149,   371,    -1,   227,   149,
    996      371,    -1,   149,   361,    -1,   227,   149,   361,    -1,   111,
    997      112,   225,    -1,   365,   225,    -1,   111,   112,   350,   225,
    998       -1,   365,   350,   225,    -1,   350,   225,    -1,   111,   112,
    999      363,    -1,   365,   363,    -1,   111,   112,   350,   363,    -1,
    1000      365,   350,   363,    -1,   350,   363,    -1,   111,   134,   227,
    1001      118,   135,   112,    -1,   111,   134,   227,   164,   135,   112,
    1002       -1,   111,   134,   231,   164,   135,   112,    -1,   111,   134,
    1003      231,   227,   164,   135,   112,    -1,   370,    -1,   227,   370,
    1004       -1,   367,    -1,   368,    -1,   369,    -1,   149,   225,    -1,
    1005      227,   149,   225,    -1,   149,   371,    -1,   227,   149,   371,
    1006       -1,   149,   366,    -1,   227,   149,   366,    -1,   111,   112,
    1007      225,    -1,   111,   112,   350,   225,    -1,   350,   225,    -1,
    1008      111,   112,   368,    -1,   111,   112,   350,   368,    -1,   350,
    1009      368,    -1,   111,   134,   263,   135,   112,    -1,   111,   112,
    1010      109,   260,   110,    -1,   370,   109,   134,   260,   135,   110,
    1011       -1,   218,   109,   134,   260,   135,   110,    -1,    -1,   116,
    1012       -1,    -1,   131,   164,    -1
     895      -1,    75,    -1,   365,    -1,   224,    -1,   224,   356,    -1,
     896     365,    -1,   370,    -1,   224,    -1,   224,   344,    -1,    -1,
     897     131,   277,    -1,   107,   277,    -1,   163,    -1,   114,   278,
     898     371,   115,    -1,    -1,   277,    -1,   279,   277,    -1,   278,
     899     116,   277,    -1,   278,   116,   279,   277,    -1,   280,   117,
     900      -1,   273,   117,    -1,   281,    -1,   280,   281,    -1,    80,
     901      -1,   113,   273,    -1,   111,   134,   163,   135,   112,    -1,
     902     111,   134,   309,   135,   112,    -1,   111,   134,   162,    96,
     903     162,   135,   112,    -1,   113,   111,   134,   146,   135,   112,
     904      -1,   283,    -1,   230,   283,    -1,   282,   232,    -1,   282,
     905     232,   226,    -1,   284,    -1,   226,   284,    -1,   283,   227,
     906      -1,    75,   109,   291,   110,    -1,   286,   372,    -1,   285,
     907     116,   286,   372,    -1,    -1,   288,   273,   287,   289,    -1,
     908     224,   335,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,
     909     289,   290,    -1,   129,   273,   109,   291,   110,    -1,   129,
     910     114,   134,   297,   115,    -1,   129,   109,   134,   285,   135,
     911     110,   114,   134,   297,   115,   109,   291,   110,    -1,   275,
     912      -1,   163,    -1,   291,   116,   275,    -1,   291,   116,   163,
     913      -1,    33,   293,    -1,   231,    33,   293,    -1,   292,   116,
     914     293,    -1,   294,   289,    -1,   294,   289,   131,   275,    -1,
     915     273,    -1,   272,   109,   134,   285,   135,   110,    -1,    36,
     916     273,   109,   134,   285,   135,   110,   114,   115,    -1,    -1,
     917      36,   273,   109,   134,   285,   135,   110,   114,   296,   297,
     918     115,    -1,   298,    -1,   297,   134,   298,    -1,   299,   135,
     919     132,    -1,   300,   135,   132,    -1,   214,    -1,   216,    -1,
     920     299,   135,   116,   134,   271,    -1,   224,   308,    -1,   300,
     921     135,   116,   134,   308,    -1,    -1,   302,    -1,   304,    -1,
     922     302,   134,   304,    -1,    -1,   302,    -1,   211,    -1,   306,
     923      -1,   197,    -1,    -1,     5,    82,   305,   114,   303,   115,
     924      -1,    40,   304,    -1,   307,    -1,   322,   172,    -1,   326,
     925     134,   206,   172,    -1,   215,   172,    -1,   223,   322,   172,
     926      -1,   226,   322,   172,    -1,   230,   322,   172,    -1,   230,
     927     226,   322,   172,    -1,   223,   326,   134,   206,   172,    -1,
     928     226,   326,   134,   206,   172,    -1,   230,   326,   134,   206,
     929     172,    -1,   230,   226,   326,   134,   206,   172,    -1,   317,
     930      -1,   322,    -1,   330,    -1,   162,   123,   162,    -1,    -1,
     931      64,   109,   141,   110,   311,    -1,    -1,   312,    -1,   313,
     932      -1,   312,   313,    -1,    39,   109,   109,   314,   110,   110,
     933      -1,   315,    -1,   314,   116,   315,    -1,    -1,   316,    -1,
     934     316,   109,   169,   110,    -1,   271,    -1,   233,    -1,   234,
     935      -1,   227,    -1,   318,   311,    -1,   319,    -1,   320,   311,
     936      -1,   321,   311,    -1,   137,    -1,   109,   318,   110,    -1,
     937     119,   317,    -1,   119,   226,   317,    -1,   109,   319,   110,
     938      -1,   318,   348,    -1,   109,   319,   110,   348,    -1,   109,
     939     320,   110,   349,    -1,   109,   320,   110,    -1,   109,   319,
     940     110,   109,   134,   263,   135,   110,    -1,   109,   321,   110,
     941      -1,   323,   311,    -1,   324,    -1,   325,   311,    -1,   318,
     942     109,   134,   263,   135,   110,    -1,   109,   324,   110,   109,
     943     134,   263,   135,   110,    -1,   109,   323,   110,    -1,   119,
     944     322,    -1,   119,   226,   322,    -1,   109,   324,   110,    -1,
     945     109,   324,   110,   348,    -1,   109,   325,   110,   349,    -1,
     946     109,   325,   110,    -1,   327,    -1,   328,    -1,   329,    -1,
     947     318,   109,   270,   110,    -1,   109,   328,   110,   109,   270,
     948     110,    -1,   109,   327,   110,    -1,   119,   326,    -1,   119,
     949     226,   326,    -1,   109,   328,   110,    -1,   109,   328,   110,
     950     348,    -1,   109,   329,   110,   349,    -1,   109,   329,   110,
     951      -1,   331,   311,    -1,   332,    -1,   333,   311,    -1,   334,
     952     311,    -1,   340,    -1,   109,   331,   110,    -1,   119,   330,
     953      -1,   119,   226,   330,    -1,   109,   332,   110,    -1,   331,
     954     348,    -1,   109,   332,   110,   348,    -1,   109,   333,   110,
     955     349,    -1,   109,   333,   110,    -1,   331,   109,   134,   263,
     956     135,   110,    -1,   109,   332,   110,   109,   134,   263,   135,
     957     110,    -1,   109,   334,   110,    -1,   318,   311,    -1,   336,
     958      -1,   337,   311,    -1,   338,   311,    -1,   119,   335,    -1,
     959     119,   226,   335,    -1,   109,   336,   110,    -1,   318,   354,
     960      -1,   109,   336,   110,   348,    -1,   109,   337,   110,   349,
     961      -1,   109,   337,   110,    -1,   318,   109,   134,   263,   135,
     962     110,    -1,   109,   336,   110,   109,   134,   263,   135,   110,
     963      -1,   109,   338,   110,    -1,   340,   311,    -1,   341,    -1,
     964     342,   311,    -1,   343,   311,    -1,    74,    -1,    75,    -1,
     965     119,   339,    -1,   119,   226,   339,    -1,   109,   341,   110,
     966      -1,   340,   354,    -1,   109,   341,   110,   354,    -1,   340,
     967     109,   134,   263,   135,   110,    -1,   109,   341,   110,   109,
     968     134,   263,   135,   110,    -1,   345,    -1,   346,   311,    -1,
     969     347,   311,    -1,   119,    -1,   119,   226,    -1,   119,   344,
     970      -1,   119,   226,   344,    -1,   109,   345,   110,    -1,   348,
     971      -1,   109,   345,   110,   348,    -1,   109,   346,   110,   349,
     972      -1,   109,   346,   110,    -1,   109,   134,   263,   135,   110,
     973      -1,   109,   345,   110,   109,   134,   263,   135,   110,    -1,
     974     109,   347,   110,    -1,   111,   112,    -1,   111,   112,   349,
     975      -1,   349,    -1,   111,   134,   163,   135,   112,    -1,   111,
     976     134,   119,   135,   112,    -1,   349,   111,   134,   163,   135,
     977     112,    -1,   349,   111,   134,   119,   135,   112,    -1,   351,
     978      -1,   352,   311,    -1,   353,   311,    -1,   119,    -1,   119,
     979     226,    -1,   119,   350,    -1,   119,   226,   350,    -1,   109,
     980     351,   110,    -1,   354,    -1,   109,   351,   110,   354,    -1,
     981     109,   352,   110,   349,    -1,   109,   352,   110,    -1,   109,
     982     134,   263,   135,   110,    -1,   109,   351,   110,   109,   134,
     983     263,   135,   110,    -1,   109,   353,   110,    -1,   355,    -1,
     984     355,   349,    -1,   349,    -1,   111,   112,    -1,   111,   134,
     985     226,   119,   135,   112,    -1,   111,   134,   226,   135,   112,
     986      -1,   111,   134,   226,   163,   135,   112,    -1,   111,   134,
     987       7,   225,   163,   135,   112,    -1,   111,   134,   226,     7,
     988     163,   135,   112,    -1,   357,    -1,   358,   311,    -1,   359,
     989     311,    -1,   119,    -1,   119,   226,    -1,   119,   356,    -1,
     990     119,   226,   356,    -1,   109,   357,   110,    -1,   348,    -1,
     991     109,   357,   110,   348,    -1,   109,   358,   110,   349,    -1,
     992     109,   358,   110,    -1,   109,   357,   110,   109,   134,   263,
     993     135,   110,    -1,   109,   359,   110,    -1,   361,    -1,   369,
     994      -1,   226,   369,    -1,   362,    -1,   363,    -1,   119,   224,
     995      -1,   226,   119,   224,    -1,   119,   370,    -1,   226,   119,
     996     370,    -1,   119,   360,    -1,   226,   119,   360,    -1,   111,
     997     112,   224,    -1,   364,   224,    -1,   111,   112,   349,   224,
     998      -1,   364,   349,   224,    -1,   349,   224,    -1,   111,   112,
     999     362,    -1,   364,   362,    -1,   111,   112,   349,   362,    -1,
     1000     364,   349,   362,    -1,   349,   362,    -1,   111,   134,   226,
     1001     119,   135,   112,    -1,   111,   134,   226,   163,   135,   112,
     1002      -1,   111,   134,   230,   163,   135,   112,    -1,   111,   134,
     1003     230,   226,   163,   135,   112,    -1,   369,    -1,   226,   369,
     1004      -1,   366,    -1,   367,    -1,   368,    -1,   119,   224,    -1,
     1005     226,   119,   224,    -1,   119,   370,    -1,   226,   119,   370,
     1006      -1,   119,   365,    -1,   226,   119,   365,    -1,   111,   112,
     1007     224,    -1,   111,   112,   349,   224,    -1,   349,   224,    -1,
     1008     111,   112,   367,    -1,   111,   112,   349,   367,    -1,   349,
     1009     367,    -1,   111,   134,   262,   135,   112,    -1,   111,   112,
     1010     109,   259,   110,    -1,   369,   109,   134,   259,   135,   110,
     1011      -1,   217,   109,   134,   259,   135,   110,    -1,    -1,   116,
     1012      -1,    -1,   131,   163,    -1
    10131013};
    10141014
     
    10161016static const yytype_uint16 yyrline[] =
    10171017{
    1018        0,   290,   290,   296,   305,   306,   307,   311,   312,   313,
    1019      317,   318,   322,   323,   327,   328,   332,   333,   339,   341,
    1020      343,   345,   350,   351,   357,   361,   363,   364,   366,   367,
    1021      369,   371,   373,   381,   382,   388,   389,   390,   395,   397,
    1022      402,   403,   407,   411,   413,   415,   417,   422,   425,   427,
    1023      429,   431,   436,   438,   440,   442,   444,   446,   448,   450,
    1024      452,   454,   456,   463,   464,   466,   470,   471,   472,   473,
    1025      477,   478,   480,   485,   486,   488,   490,   495,   496,   498,
    1026      503,   504,   506,   511,   512,   514,   516,   518,   523,   524,
    1027      526,   531,   532,   537,   538,   543,   544,   549,   550,   555,
    1028      556,   561,   562,   564,   566,   571,   576,   577,   579,   581,
    1029      587,   588,   594,   596,   598,   600,   605,   606,   611,   612,
    1030      613,   614,   615,   616,   617,   618,   619,   620,   624,   625,
    1031      631,   632,   638,   639,   640,   641,   642,   643,   644,   645,
    1032      646,   656,   663,   665,   675,   676,   681,   683,   685,   687,
    1033      691,   692,   697,   702,   705,   707,   709,   714,   716,   724,
    1034      725,   727,   731,   732,   737,   738,   743,   744,   748,   753,
    1035      754,   758,   760,   766,   767,   771,   773,   775,   777,   783,
    1036      784,   788,   789,   793,   795,   797,   802,   804,   809,   811,
    1037      815,   818,   822,   825,   829,   831,   835,   837,   844,   846,
    1038      848,   857,   859,   861,   863,   865,   870,   872,   874,   876,
    1039      881,   894,   895,   900,   902,   907,   911,   913,   915,   917,
    1040      919,   925,   926,   932,   933,   937,   938,   943,   945,   951,
    1041      952,   954,   959,   961,   968,   970,   974,   975,   980,   982,
    1042      986,   987,   991,   993,   997,   998,  1002,  1003,  1007,  1008,
    1043     1023,  1024,  1025,  1026,  1027,  1031,  1036,  1043,  1053,  1058,
    1044     1063,  1071,  1076,  1081,  1086,  1091,  1099,  1121,  1126,  1133,
    1045     1135,  1142,  1147,  1152,  1163,  1168,  1173,  1178,  1183,  1192,
    1046     1197,  1205,  1206,  1207,  1208,  1214,  1219,  1227,  1228,  1229,
    1047     1230,  1234,  1235,  1236,  1237,  1242,  1243,  1252,  1253,  1258,
    1048     1259,  1264,  1266,  1268,  1270,  1272,  1275,  1274,  1286,  1287,
    1049     1289,  1299,  1300,  1305,  1309,  1311,  1313,  1315,  1317,  1319,
    1050     1321,  1323,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,
    1051     1344,  1346,  1348,  1350,  1352,  1358,  1359,  1361,  1363,  1365,
    1052     1370,  1371,  1377,  1378,  1380,  1382,  1387,  1389,  1391,  1393,
    1053     1398,  1399,  1401,  1403,  1408,  1409,  1411,  1416,  1417,  1419,
    1054     1421,  1426,  1428,  1430,  1435,  1436,  1440,  1442,  1448,  1447,
    1055     1451,  1453,  1458,  1460,  1465,  1467,  1472,  1473,  1475,  1476,
    1056     1481,  1482,  1484,  1486,  1491,  1493,  1499,  1500,  1502,  1505,
    1057     1508,  1513,  1514,  1519,  1524,  1528,  1530,  1536,  1535,  1542,
    1058     1544,  1550,  1551,  1559,  1560,  1564,  1565,  1566,  1568,  1570,
    1059     1577,  1578,  1580,  1582,  1587,  1588,  1594,  1595,  1599,  1600,
    1060     1605,  1606,  1607,  1609,  1617,  1618,  1620,  1623,  1625,  1629,
    1061     1630,  1631,  1633,  1635,  1639,  1644,  1652,  1653,  1662,  1664,
    1062     1669,  1670,  1671,  1675,  1676,  1677,  1681,  1682,  1683,  1687,
    1063     1688,  1689,  1694,  1695,  1696,  1697,  1703,  1704,  1706,  1711,
    1064     1712,  1717,  1718,  1719,  1720,  1721,  1736,  1737,  1742,  1743,
    1065     1751,  1753,  1755,  1758,  1760,  1762,  1785,  1786,  1788,  1790,
    1066     1795,  1796,  1798,  1803,  1808,  1809,  1815,  1814,  1818,  1822,
    1067     1824,  1826,  1832,  1833,  1838,  1843,  1845,  1850,  1852,  1853,
    1068     1855,  1860,  1862,  1864,  1869,  1871,  1876,  1881,  1889,  1895,
    1069     1894,  1908,  1909,  1914,  1915,  1919,  1924,  1929,  1937,  1942,
    1070     1953,  1954,  1965,  1966,  1972,  1973,  1977,  1978,  1979,  1982,
    1071     1981,  1992,  1997,  2003,  2009,  2018,  2024,  2030,  2036,  2042,
    1072     2050,  2056,  2064,  2070,  2079,  2080,  2081,  2085,  2089,  2091,
    1073     2096,  2097,  2101,  2102,  2107,  2113,  2114,  2117,  2119,  2120,
    1074     2124,  2125,  2126,  2127,  2161,  2163,  2164,  2166,  2171,  2176,
    1075     2181,  2183,  2185,  2190,  2192,  2194,  2196,  2201,  2203,  2212,
    1076     2214,  2215,  2220,  2222,  2224,  2229,  2231,  2233,  2238,  2240,
    1077     2242,  2251,  2252,  2253,  2257,  2259,  2261,  2266,  2268,  2270,
    1078     2275,  2277,  2279,  2294,  2296,  2297,  2299,  2304,  2305,  2310,
    1079     2312,  2314,  2319,  2321,  2323,  2325,  2330,  2332,  2334,  2344,
    1080     2346,  2347,  2349,  2354,  2356,  2358,  2363,  2365,  2367,  2369,
    1081     2374,  2376,  2378,  2409,  2411,  2412,  2414,  2419,  2424,  2432,
    1082     2434,  2436,  2441,  2443,  2448,  2450,  2464,  2465,  2467,  2472,
    1083     2474,  2476,  2478,  2480,  2485,  2486,  2488,  2490,  2495,  2497,
    1084     2499,  2505,  2507,  2509,  2513,  2515,  2517,  2519,  2533,  2534,
    1085     2536,  2541,  2543,  2545,  2547,  2549,  2554,  2555,  2557,  2559,
    1086     2564,  2566,  2568,  2574,  2575,  2577,  2586,  2589,  2591,  2594,
    1087     2596,  2598,  2611,  2612,  2614,  2619,  2621,  2623,  2625,  2627,
    1088     2632,  2633,  2635,  2637,  2642,  2644,  2652,  2653,  2654,  2659,
    1089     2660,  2664,  2666,  2668,  2670,  2672,  2674,  2681,  2683,  2685,
    1090     2687,  2689,  2691,  2693,  2695,  2697,  2699,  2704,  2706,  2708,
    1091     2713,  2739,  2740,  2742,  2746,  2747,  2751,  2753,  2755,  2757,
    1092     2759,  2761,  2768,  2770,  2772,  2774,  2776,  2778,  2783,  2788,
    1093     2790,  2792,  2810,  2812,  2817,  2818
     1018       0,   292,   292,   298,   307,   308,   309,   313,   314,   315,
     1019     319,   320,   324,   325,   329,   330,   334,   335,   341,   343,
     1020     345,   347,   352,   353,   359,   363,   365,   366,   368,   369,
     1021     371,   373,   375,   383,   384,   390,   391,   392,   397,   399,
     1022     404,   405,   409,   413,   415,   417,   419,   424,   427,   429,
     1023     431,   433,   435,   437,   439,   441,   447,   449,   451,   453,
     1024     455,   457,   459,   461,   463,   468,   469,   470,   471,   475,
     1025     476,   478,   483,   484,   486,   488,   493,   494,   496,   501,
     1026     502,   504,   509,   510,   512,   514,   516,   521,   522,   524,
     1027     529,   530,   535,   536,   541,   542,   547,   548,   553,   554,
     1028     559,   560,   562,   564,   569,   574,   575,   577,   579,   585,
     1029     586,   592,   594,   596,   598,   603,   604,   609,   610,   611,
     1030     612,   613,   614,   615,   616,   617,   618,   622,   623,   629,
     1031     630,   636,   637,   638,   639,   640,   641,   642,   643,   644,
     1032     653,   660,   662,   672,   673,   678,   680,   682,   684,   688,
     1033     689,   694,   699,   702,   704,   706,   711,   713,   721,   722,
     1034     724,   728,   729,   734,   735,   740,   741,   745,   750,   751,
     1035     755,   757,   763,   764,   768,   770,   772,   774,   780,   781,
     1036     785,   786,   790,   792,   794,   799,   801,   806,   808,   812,
     1037     815,   819,   822,   826,   828,   832,   834,   841,   843,   845,
     1038     854,   856,   858,   860,   862,   867,   869,   871,   873,   878,
     1039     891,   892,   897,   899,   904,   908,   910,   912,   914,   916,
     1040     922,   923,   929,   930,   934,   935,   940,   942,   948,   949,
     1041     951,   956,   958,   965,   967,   971,   972,   977,   979,   983,
     1042     984,   988,   990,   994,   995,   999,  1000,  1004,  1005,  1020,
     1043    1021,  1022,  1023,  1024,  1028,  1033,  1040,  1050,  1055,  1060,
     1044    1068,  1073,  1078,  1083,  1088,  1096,  1118,  1123,  1130,  1132,
     1045    1139,  1144,  1149,  1160,  1165,  1170,  1175,  1180,  1189,  1194,
     1046    1202,  1203,  1204,  1205,  1211,  1216,  1224,  1225,  1226,  1227,
     1047    1231,  1232,  1233,  1234,  1239,  1240,  1249,  1250,  1255,  1256,
     1048    1261,  1263,  1265,  1267,  1269,  1272,  1271,  1283,  1284,  1286,
     1049    1296,  1297,  1302,  1306,  1308,  1310,  1312,  1314,  1316,  1318,
     1050    1320,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
     1051    1343,  1345,  1347,  1349,  1355,  1356,  1358,  1360,  1362,  1367,
     1052    1368,  1374,  1375,  1377,  1379,  1384,  1386,  1388,  1390,  1395,
     1053    1396,  1398,  1400,  1405,  1406,  1408,  1413,  1414,  1416,  1418,
     1054    1423,  1425,  1427,  1432,  1433,  1437,  1439,  1445,  1444,  1448,
     1055    1450,  1455,  1457,  1462,  1464,  1469,  1470,  1472,  1473,  1478,
     1056    1479,  1481,  1483,  1488,  1490,  1496,  1497,  1499,  1502,  1505,
     1057    1510,  1511,  1516,  1521,  1525,  1527,  1533,  1532,  1539,  1541,
     1058    1547,  1548,  1556,  1557,  1561,  1562,  1563,  1565,  1567,  1574,
     1059    1575,  1577,  1579,  1584,  1585,  1591,  1592,  1596,  1597,  1602,
     1060    1603,  1604,  1606,  1614,  1615,  1617,  1620,  1622,  1626,  1627,
     1061    1628,  1630,  1632,  1636,  1641,  1649,  1650,  1659,  1661,  1666,
     1062    1667,  1668,  1672,  1673,  1674,  1678,  1679,  1680,  1684,  1685,
     1063    1686,  1691,  1692,  1693,  1694,  1700,  1701,  1703,  1708,  1709,
     1064    1714,  1715,  1716,  1717,  1718,  1733,  1734,  1739,  1740,  1748,
     1065    1750,  1752,  1755,  1757,  1759,  1782,  1783,  1785,  1787,  1792,
     1066    1793,  1795,  1800,  1805,  1806,  1812,  1811,  1815,  1819,  1821,
     1067    1823,  1829,  1830,  1835,  1840,  1842,  1847,  1849,  1850,  1852,
     1068    1857,  1859,  1861,  1866,  1868,  1873,  1878,  1886,  1892,  1891,
     1069    1905,  1906,  1911,  1912,  1916,  1921,  1926,  1934,  1939,  1950,
     1070    1951,  1962,  1963,  1969,  1970,  1974,  1975,  1976,  1979,  1978,
     1071    1989,  1994,  1999,  2005,  2014,  2020,  2026,  2032,  2038,  2046,
     1072    2052,  2060,  2066,  2075,  2076,  2077,  2081,  2085,  2087,  2092,
     1073    2093,  2097,  2098,  2103,  2109,  2110,  2113,  2115,  2116,  2120,
     1074    2121,  2122,  2123,  2157,  2159,  2160,  2162,  2167,  2172,  2177,
     1075    2179,  2181,  2186,  2188,  2190,  2192,  2197,  2199,  2209,  2211,
     1076    2212,  2217,  2219,  2221,  2226,  2228,  2230,  2235,  2237,  2239,
     1077    2248,  2249,  2250,  2254,  2256,  2258,  2263,  2265,  2267,  2272,
     1078    2274,  2276,  2291,  2293,  2294,  2296,  2301,  2302,  2307,  2309,
     1079    2311,  2316,  2318,  2320,  2322,  2327,  2329,  2331,  2341,  2343,
     1080    2344,  2346,  2351,  2353,  2355,  2360,  2362,  2364,  2366,  2371,
     1081    2373,  2375,  2406,  2408,  2409,  2411,  2416,  2421,  2429,  2431,
     1082    2433,  2438,  2440,  2445,  2447,  2461,  2462,  2464,  2469,  2471,
     1083    2473,  2475,  2477,  2482,  2483,  2485,  2487,  2492,  2494,  2496,
     1084    2502,  2504,  2506,  2510,  2512,  2514,  2516,  2530,  2531,  2533,
     1085    2538,  2540,  2542,  2544,  2546,  2551,  2552,  2554,  2556,  2561,
     1086    2563,  2565,  2571,  2572,  2574,  2583,  2586,  2588,  2591,  2593,
     1087    2595,  2608,  2609,  2611,  2616,  2618,  2620,  2622,  2624,  2629,
     1088    2630,  2632,  2634,  2639,  2641,  2649,  2650,  2651,  2656,  2657,
     1089    2661,  2663,  2665,  2667,  2669,  2671,  2678,  2680,  2682,  2684,
     1090    2686,  2688,  2690,  2692,  2694,  2696,  2701,  2703,  2705,  2710,
     1091    2736,  2737,  2739,  2743,  2744,  2748,  2750,  2752,  2754,  2756,
     1092    2758,  2765,  2767,  2769,  2771,  2773,  2775,  2780,  2785,  2787,
     1093    2789,  2807,  2809,  2814,  2815
    10941094};
    10951095#endif
     
    11171117  "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign",
    11181118  "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "THEN",
    1119   "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "':'", "'*'",
    1120   "'&'", "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'",
     1119  "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "':'", "'!'",
     1120  "'*'", "'&'", "'+'", "'-'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'",
    11211121  "'|'", "'?'", "'='", "';'", "$accept", "push", "pop", "constant",
    11221122  "identifier", "no_01_identifier", "no_attr_identifier", "zero_one",
    11231123  "string_literal_list", "primary_expression", "postfix_expression",
    11241124  "argument_expression_list", "argument_expression", "field_list", "field",
    1125   "unary_expression", "ptrref_operator", "unary_operator",
    1126   "cast_expression", "multiplicative_expression", "additive_expression",
    1127   "shift_expression", "relational_expression", "equality_expression",
    1128   "AND_expression", "exclusive_OR_expression", "inclusive_OR_expression",
     1125  "unary_expression", "unary_operator", "cast_expression",
     1126  "multiplicative_expression", "additive_expression", "shift_expression",
     1127  "relational_expression", "equality_expression", "AND_expression",
     1128  "exclusive_OR_expression", "inclusive_OR_expression",
    11291129  "logical_AND_expression", "logical_OR_expression",
    11301130  "conditional_expression", "constant_expression", "assignment_expression",
     
    11851185  "function_ptr", "function_array", "old_function_declarator",
    11861186  "old_function_no_ptr", "old_function_ptr", "old_function_array",
    1187   "variable_type_redeclarator", "paren_type", "type_ptr", "type_array",
     1187  "type_redeclarator", "paren_type", "type_ptr", "type_array",
    11881188  "type_function", "identifier_parameter_declarator",
    11891189  "identifier_parameter_ptr", "identifier_parameter_array",
     
    12241224     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    12251225     355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
    1226       41,    91,    93,    46,   123,   125,    44,    58,    42,    38,
    1227       43,    45,    33,   126,    47,    37,    60,    62,    94,   124,
     1226      41,    91,    93,    46,   123,   125,    44,    58,    33,    42,
     1227      38,    43,    45,   126,    47,    37,    60,    62,    94,   124,
    12281228      63,    61,    59
    12291229};
     
    12391239     146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
    12401240     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
    1241      148,   148,   148,   149,   149,   149,   150,   150,   150,   150,
    1242      151,   151,   151,   152,   152,   152,   152,   153,   153,   153,
    1243      154,   154,   154,   155,   155,   155,   155,   155,   156,   156,
    1244      156,   157,   157,   158,   158,   159,   159,   160,   160,   161,
    1245      161,   162,   162,   162,   162,   163,   164,   164,   164,   164,
    1246      165,   165,   166,   166,   166,   166,   167,   167,   168,   168,
    1247      168,   168,   168,   168,   168,   168,   168,   168,   169,   169,
    1248      170,   170,   171,   171,   171,   171,   171,   171,   171,   171,
    1249      171,   172,   173,   173,   174,   174,   175,   175,   175,   175,
    1250      176,   176,   177,   178,   178,   178,   178,   178,   178,   179,
    1251      179,   179,   180,   180,   181,   181,   182,   182,   183,   184,
    1252      184,   185,   185,   186,   186,   187,   187,   187,   187,   188,
    1253      188,   189,   189,   190,   190,   190,   191,   191,   192,   192,
    1254      192,   192,   192,   192,   192,   192,   192,   192,   193,   193,
    1255      193,   194,   194,   194,   194,   194,   195,   195,   195,   195,
    1256      196,   197,   197,   197,   197,   197,   198,   198,   198,   198,
    1257      198,   199,   199,   200,   200,   201,   201,   202,   202,   203,
    1258      203,   203,   204,   204,   205,   205,   206,   206,   207,   207,
    1259      208,   208,   209,   209,   210,   210,   211,   211,   212,   212,
    1260      213,   213,   213,   213,   213,   214,   214,   214,   215,   215,
    1261      215,   216,   216,   216,   216,   216,   217,   217,   217,   218,
    1262      218,   219,   219,   219,   220,   220,   220,   220,   220,   221,
    1263      221,   222,   222,   222,   222,   223,   223,   224,   224,   224,
    1264      224,   225,   225,   225,   225,   226,   226,   227,   227,   228,
    1265      228,   229,   229,   229,   229,   229,   230,   229,   231,   231,
    1266      231,   232,   232,   233,   234,   234,   234,   234,   234,   234,
    1267      234,   234,   235,   235,   235,   235,   235,   235,   235,   235,
    1268      235,   235,   235,   235,   235,   236,   236,   236,   236,   236,
    1269      237,   237,   238,   238,   238,   238,   239,   239,   239,   239,
    1270      240,   240,   240,   240,   241,   241,   241,   242,   242,   242,
    1271      242,   243,   243,   243,   244,   244,   245,   245,   246,   245,
    1272      245,   245,   247,   247,   248,   248,   249,   249,   249,   249,
    1273      250,   250,   250,   250,   251,   251,   252,   252,   252,   252,
    1274      252,   253,   253,   254,   255,   256,   256,   257,   256,   258,
    1275      258,   259,   259,   260,   260,   261,   261,   261,   261,   261,
    1276      262,   262,   262,   262,   263,   263,   264,   264,   265,   265,
    1277      266,   266,   266,   266,   267,   267,   267,   267,   267,   268,
    1278      268,   268,   268,   268,   269,   269,   270,   270,   271,   271,
    1279      272,   272,   272,   273,   273,   273,   274,   274,   274,   275,
    1280      275,   275,   276,   276,   276,   276,   277,   277,   277,   278,
    1281      278,   279,   279,   279,   279,   279,   280,   280,   281,   281,
    1282      282,   282,   282,   282,   282,   282,   283,   283,   283,   283,
    1283      284,   284,   284,   285,   286,   286,   288,   287,   287,   289,
    1284      289,   289,   290,   290,   291,   291,   291,   292,   292,   292,
    1285      292,   293,   293,   293,   294,   294,   295,   295,   296,   297,
    1286      296,   298,   298,   299,   299,   300,   300,   300,   301,   301,
    1287      302,   302,   303,   303,   304,   304,   305,   305,   305,   306,
    1288      305,   305,   307,   307,   307,   308,   308,   308,   308,   308,
    1289      308,   308,   308,   308,   309,   309,   309,   310,   311,   311,
    1290      312,   312,   313,   313,   314,   315,   315,   316,   316,   316,
    1291      317,   317,   317,   317,   318,   318,   318,   318,   319,   319,
    1292      320,   320,   320,   321,   321,   321,   321,   322,   322,   323,
    1293      323,   323,   324,   324,   324,   325,   325,   325,   326,   326,
    1294      326,   327,   327,   327,   328,   328,   328,   329,   329,   329,
    1295      330,   330,   330,   331,   331,   331,   331,   332,   332,   333,
    1296      333,   333,   334,   334,   334,   334,   335,   335,   335,   336,
    1297      336,   336,   336,   337,   337,   337,   338,   338,   338,   338,
    1298      339,   339,   339,   340,   340,   340,   340,   341,   341,   342,
    1299      342,   342,   343,   343,   344,   344,   345,   345,   345,   346,
    1300      346,   346,   346,   346,   347,   347,   347,   347,   348,   348,
    1301      348,   349,   349,   349,   350,   350,   350,   350,   351,   351,
    1302      351,   352,   352,   352,   352,   352,   353,   353,   353,   353,
    1303      354,   354,   354,   355,   355,   355,   356,   356,   356,   356,
    1304      356,   356,   357,   357,   357,   358,   358,   358,   358,   358,
    1305      359,   359,   359,   359,   360,   360,   361,   361,   361,   362,
    1306      362,   363,   363,   363,   363,   363,   363,   364,   364,   364,
    1307      364,   364,   364,   364,   364,   364,   364,   365,   365,   365,
    1308      365,   366,   366,   366,   367,   367,   368,   368,   368,   368,
    1309      368,   368,   369,   369,   369,   369,   369,   369,   370,   371,
    1310      371,   371,   372,   372,   373,   373
     1241     148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
     1242     150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
     1243     153,   153,   154,   154,   154,   154,   154,   155,   155,   155,
     1244     156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
     1245     161,   161,   161,   161,   162,   163,   163,   163,   163,   164,
     1246     164,   165,   165,   165,   165,   166,   166,   167,   167,   167,
     1247     167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
     1248     169,   170,   170,   170,   170,   170,   170,   170,   170,   170,
     1249     171,   172,   172,   173,   173,   174,   174,   174,   174,   175,
     1250     175,   176,   177,   177,   177,   177,   177,   177,   178,   178,
     1251     178,   179,   179,   180,   180,   181,   181,   182,   183,   183,
     1252     184,   184,   185,   185,   186,   186,   186,   186,   187,   187,
     1253     188,   188,   189,   189,   189,   190,   190,   191,   191,   191,
     1254     191,   191,   191,   191,   191,   191,   191,   192,   192,   192,
     1255     193,   193,   193,   193,   193,   194,   194,   194,   194,   195,
     1256     196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
     1257     198,   198,   199,   199,   200,   200,   201,   201,   202,   202,
     1258     202,   203,   203,   204,   204,   205,   205,   206,   206,   207,
     1259     207,   208,   208,   209,   209,   210,   210,   211,   211,   212,
     1260     212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
     1261     215,   215,   215,   215,   215,   216,   216,   216,   217,   217,
     1262     218,   218,   218,   219,   219,   219,   219,   219,   220,   220,
     1263     221,   221,   221,   221,   222,   222,   223,   223,   223,   223,
     1264     224,   224,   224,   224,   225,   225,   226,   226,   227,   227,
     1265     228,   228,   228,   228,   228,   229,   228,   230,   230,   230,
     1266     231,   231,   232,   233,   233,   233,   233,   233,   233,   233,
     1267     233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
     1268     234,   234,   234,   234,   235,   235,   235,   235,   235,   236,
     1269     236,   237,   237,   237,   237,   238,   238,   238,   238,   239,
     1270     239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
     1271     242,   242,   242,   243,   243,   244,   244,   245,   244,   244,
     1272     244,   246,   246,   247,   247,   248,   248,   248,   248,   249,
     1273     249,   249,   249,   250,   250,   251,   251,   251,   251,   251,
     1274     252,   252,   253,   254,   255,   255,   256,   255,   257,   257,
     1275     258,   258,   259,   259,   260,   260,   260,   260,   260,   261,
     1276     261,   261,   261,   262,   262,   263,   263,   264,   264,   265,
     1277     265,   265,   265,   266,   266,   266,   266,   266,   267,   267,
     1278     267,   267,   267,   268,   268,   269,   269,   270,   270,   271,
     1279     271,   271,   272,   272,   272,   273,   273,   273,   274,   274,
     1280     274,   275,   275,   275,   275,   276,   276,   276,   277,   277,
     1281     278,   278,   278,   278,   278,   279,   279,   280,   280,   281,
     1282     281,   281,   281,   281,   281,   282,   282,   282,   282,   283,
     1283     283,   283,   284,   285,   285,   287,   286,   286,   288,   288,
     1284     288,   289,   289,   290,   290,   290,   291,   291,   291,   291,
     1285     292,   292,   292,   293,   293,   294,   294,   295,   296,   295,
     1286     297,   297,   298,   298,   299,   299,   299,   300,   300,   301,
     1287     301,   302,   302,   303,   303,   304,   304,   304,   305,   304,
     1288     304,   306,   306,   306,   307,   307,   307,   307,   307,   307,
     1289     307,   307,   307,   308,   308,   308,   309,   310,   310,   311,
     1290     311,   312,   312,   313,   314,   314,   315,   315,   315,   316,
     1291     316,   316,   316,   317,   317,   317,   317,   318,   318,   319,
     1292     319,   319,   320,   320,   320,   320,   321,   321,   322,   322,
     1293     322,   323,   323,   323,   324,   324,   324,   325,   325,   325,
     1294     326,   326,   326,   327,   327,   327,   328,   328,   328,   329,
     1295     329,   329,   330,   330,   330,   330,   331,   331,   332,   332,
     1296     332,   333,   333,   333,   333,   334,   334,   334,   335,   335,
     1297     335,   335,   336,   336,   336,   337,   337,   337,   337,   338,
     1298     338,   338,   339,   339,   339,   339,   340,   340,   341,   341,
     1299     341,   342,   342,   343,   343,   344,   344,   344,   345,   345,
     1300     345,   345,   345,   346,   346,   346,   346,   347,   347,   347,
     1301     348,   348,   348,   349,   349,   349,   349,   350,   350,   350,
     1302     351,   351,   351,   351,   351,   352,   352,   352,   352,   353,
     1303     353,   353,   354,   354,   354,   355,   355,   355,   355,   355,
     1304     355,   356,   356,   356,   357,   357,   357,   357,   357,   358,
     1305     358,   358,   358,   359,   359,   360,   360,   360,   361,   361,
     1306     362,   362,   362,   362,   362,   362,   363,   363,   363,   363,
     1307     363,   363,   363,   363,   363,   363,   364,   364,   364,   364,
     1308     365,   365,   365,   366,   366,   367,   367,   367,   367,   367,
     1309     367,   368,   368,   368,   368,   368,   368,   369,   370,   370,
     1310     370,   371,   371,   372,   372
    13111311};
    13121312
     
    13191319       2,     7,     4,     1,     3,     0,     1,     3,     7,     9,
    13201320       1,     3,     1,     3,     7,     3,     7,     1,     1,     1,
    1321        2,     2,     2,     2,     2,     2,     4,     6,     1,     4,
    1322        4,     2,     4,     1,     1,     1,     1,     1,     1,     1,
    1323        1,     4,     4,     1,     3,     3,     3,     1,     3,     3,
    1324        1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
    1325        3,     1,     3,     1,     3,     1,     3,     1,     3,     1,
    1326        3,     1,     5,     4,     5,     1,     1,     3,     3,     2,
    1327        0,     1,     2,     5,     6,     7,     1,     3,     1,     1,
    1328        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
    1329        0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1330        6,     4,     2,     7,     1,     3,     1,     2,     1,     2,
    1331        1,     2,     2,     5,     7,     5,     9,     5,     9,     1,
    1332        3,     1,     1,     3,     3,     2,     1,     2,     2,     0,
    1333        1,     2,     3,     0,     1,     2,     3,     3,     4,     0,
    1334        1,     1,     2,     5,     7,     6,     6,     4,     3,     4,
    1335        2,     3,     2,     3,     3,     3,     3,     5,     3,     3,
    1336        4,     1,     5,     6,     5,     6,     9,    10,     9,    10,
    1337        2,     1,     2,     2,     2,     1,     6,     8,    10,    12,
    1338       14,     0,     1,     0,     1,     1,     3,     4,     7,     0,
    1339        1,     3,     1,     3,     1,     1,     1,     3,     1,     1,
    1340        1,     3,     0,     1,     3,     4,     1,     3,     1,     1,
    1341        3,     3,     3,     3,     3,     2,     3,     6,     3,     3,
    1342        4,     1,     2,     2,     3,     5,     8,     7,     7,     5,
    1343        9,     2,     2,     5,     3,     5,     4,     3,     4,     4,
    1344        7,     3,     3,     3,     3,     4,     6,     1,     1,     1,
    1345        1,     1,     1,     1,     1,     0,     1,     1,     2,     1,
    1346        1,     1,     1,     1,     1,     1,     0,     5,     1,     2,
    1347        3,     1,     2,     1,     1,     1,     1,     1,     1,     1,
     1321       2,     2,     2,     2,     2,     2,     2,     4,     6,     1,
     1322       4,     4,     2,     4,     2,     1,     1,     1,     1,     1,
     1323       4,     4,     1,     3,     3,     3,     1,     3,     3,     1,
     1324       3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
     1325       1,     3,     1,     3,     1,     3,     1,     3,     1,     3,
     1326       1,     5,     4,     5,     1,     1,     3,     3,     2,     0,
     1327       1,     2,     5,     6,     7,     1,     3,     1,     1,     1,
     1328       1,     1,     1,     1,     1,     1,     1,     1,     3,     0,
     1329       1,     1,     1,     1,     1,     1,     1,     1,     1,     6,
     1330       4,     2,     7,     1,     3,     1,     2,     1,     2,     1,
     1331       2,     2,     5,     7,     5,     9,     5,     9,     1,     3,
     1332       1,     1,     3,     3,     2,     1,     2,     2,     0,     1,
     1333       2,     3,     0,     1,     2,     3,     3,     4,     0,     1,
     1334       1,     2,     5,     7,     6,     6,     4,     3,     4,     2,
     1335       3,     2,     3,     3,     3,     3,     5,     3,     3,     4,
     1336       1,     5,     6,     5,     6,     9,    10,     9,    10,     2,
     1337       1,     2,     2,     2,     1,     6,     8,    10,    12,    14,
     1338       0,     1,     0,     1,     1,     3,     4,     7,     0,     1,
     1339       3,     1,     3,     1,     1,     1,     3,     1,     1,     1,
     1340       3,     0,     1,     3,     4,     1,     3,     1,     1,     3,
     1341       3,     3,     3,     3,     2,     3,     6,     3,     3,     4,
     1342       1,     2,     2,     3,     5,     8,     7,     7,     5,     9,
     1343       2,     2,     5,     3,     5,     4,     3,     4,     4,     7,
     1344       3,     3,     3,     3,     4,     6,     1,     1,     1,     1,
     1345       1,     1,     1,     1,     0,     1,     1,     2,     1,     1,
     1346       1,     1,     1,     1,     1,     0,     5,     1,     2,     3,
     1347       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
    13481348       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1349        1,     1,     1,     1,     1,     1,     2,     2,     3,     3,
    1350        1,     3,     1,     2,     2,     2,     4,     4,     4,     4,
    1351        1,     2,     2,     3,     1,     2,     2,     1,     2,     2,
    1352        3,     1,     2,     2,     1,     1,     4,     2,     0,     6,
    1353        7,     2,     2,     2,     1,     2,     2,     3,     2,     3,
    1354        1,     2,     3,     2,     2,     4,     0,     1,     2,     2,
    1355        1,     0,     1,     2,     2,     5,     2,     0,     7,     2,
    1356        4,     0,     2,     0,     1,     1,     1,     5,     5,     5,
    1357        1,     5,     5,     9,     1,     5,     0,     1,     1,     5,
    1358        1,     1,     5,     5,     1,     3,     3,     4,     1,     1,
    1359        1,     1,     2,     1,     3,     3,     1,     2,     1,     3,
     1349       1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
     1350       3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
     1351       2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
     1352       1,     2,     2,     1,     1,     4,     2,     0,     6,     7,
     1353       2,     2,     2,     1,     2,     2,     3,     2,     3,     1,
     1354       2,     3,     2,     2,     4,     0,     1,     2,     2,     1,
     1355       0,     1,     2,     2,     5,     2,     0,     7,     2,     4,
     1356       0,     2,     0,     1,     1,     1,     5,     5,     5,     1,
     1357       5,     5,     9,     1,     5,     0,     1,     1,     5,     1,
     1358       1,     5,     5,     1,     3,     3,     4,     1,     1,     1,
     1359       1,     2,     1,     3,     3,     1,     2,     1,     3,     1,
    13601360       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1361        1,     2,     1,     1,     1,     2,     0,     2,     2,     1,
    1362        4,     0,     1,     2,     3,     4,     2,     2,     1,     2,
    1363        1,     2,     5,     5,     7,     6,     1,     2,     2,     3,
    1364        1,     2,     2,     4,     2,     4,     0,     4,     2,     1,
    1365        1,     1,     0,     2,     5,     5,    13,     1,     1,     3,
    1366        3,     2,     3,     3,     2,     4,     1,     6,     9,     0,
    1367       11,     1,     3,     3,     3,     1,     1,     5,     2,     5,
    1368        0,     1,     1,     3,     0,     1,     1,     1,     1,     0,
    1369        6,     2,     1,     2,     4,     2,     3,     3,     3,     4,
    1370        5,     5,     5,     6,     1,     1,     1,     3,     0,     5,
    1371        0,     1,     1,     2,     6,     1,     3,     0,     1,     4,
    1372        1,     1,     1,     1,     2,     1,     2,     2,     1,     3,
    1373        2,     3,     3,     2,     4,     4,     3,     8,     3,     2,
    1374        1,     2,     6,     8,     3,     2,     3,     3,     4,     4,
    1375        3,     1,     1,     1,     4,     6,     3,     2,     3,     3,
    1376        4,     4,     3,     2,     1,     2,     2,     1,     3,     2,
    1377        3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
    1378        1,     2,     2,     2,     3,     3,     2,     4,     4,     3,
    1379        6,     8,     3,     2,     1,     2,     2,     1,     1,     2,
    1380        3,     3,     2,     4,     6,     8,     1,     2,     2,     1,
    1381        2,     2,     3,     3,     1,     4,     4,     3,     5,     8,
    1382        3,     2,     3,     1,     5,     5,     6,     6,     1,     2,
    1383        2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
    1384        5,     8,     3,     1,     2,     1,     2,     6,     5,     6,
    1385        7,     7,     1,     2,     2,     1,     2,     2,     3,     3,
    1386        1,     4,     4,     3,     8,     3,     1,     1,     2,     1,
    1387        1,     2,     3,     2,     3,     2,     3,     3,     2,     4,
    1388        3,     2,     3,     2,     4,     3,     2,     6,     6,     6,
    1389        7,     1,     2,     1,     1,     1,     2,     3,     2,     3,
    1390        2,     3,     3,     4,     2,     3,     4,     2,     5,     5,
    1391        6,     6,     0,     1,     0,     2
     1361       2,     1,     1,     1,     2,     0,     2,     2,     1,     4,
     1362       0,     1,     2,     3,     4,     2,     2,     1,     2,     1,
     1363       2,     5,     5,     7,     6,     1,     2,     2,     3,     1,
     1364       2,     2,     4,     2,     4,     0,     4,     2,     1,     1,
     1365       1,     0,     2,     5,     5,    13,     1,     1,     3,     3,
     1366       2,     3,     3,     2,     4,     1,     6,     9,     0,    11,
     1367       1,     3,     3,     3,     1,     1,     5,     2,     5,     0,
     1368       1,     1,     3,     0,     1,     1,     1,     1,     0,     6,
     1369       2,     1,     2,     4,     2,     3,     3,     3,     4,     5,
     1370       5,     5,     6,     1,     1,     1,     3,     0,     5,     0,
     1371       1,     1,     2,     6,     1,     3,     0,     1,     4,     1,
     1372       1,     1,     1,     2,     1,     2,     2,     1,     3,     2,
     1373       3,     3,     2,     4,     4,     3,     8,     3,     2,     1,
     1374       2,     6,     8,     3,     2,     3,     3,     4,     4,     3,
     1375       1,     1,     1,     4,     6,     3,     2,     3,     3,     4,
     1376       4,     3,     2,     1,     2,     2,     1,     3,     2,     3,
     1377       3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
     1378       2,     2,     2,     3,     3,     2,     4,     4,     3,     6,
     1379       8,     3,     2,     1,     2,     2,     1,     1,     2,     3,
     1380       3,     2,     4,     6,     8,     1,     2,     2,     1,     2,
     1381       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1382       2,     3,     1,     5,     5,     6,     6,     1,     2,     2,
     1383       1,     2,     2,     3,     3,     1,     4,     4,     3,     5,
     1384       8,     3,     1,     2,     1,     2,     6,     5,     6,     7,
     1385       7,     1,     2,     2,     1,     2,     2,     3,     3,     1,
     1386       4,     4,     3,     8,     3,     1,     1,     2,     1,     1,
     1387       2,     3,     2,     3,     2,     3,     3,     2,     4,     3,
     1388       2,     3,     2,     4,     3,     2,     6,     6,     6,     7,
     1389       1,     2,     1,     1,     1,     2,     3,     2,     3,     2,
     1390       3,     3,     4,     2,     3,     4,     2,     5,     5,     6,
     1391       6,     0,     1,     0,     2
    13921392};
    13931393
     
    13971397static const yytype_uint16 yydefact[] =
    13981398{
    1399      295,   295,   316,   314,   317,   315,   318,   319,   301,   303,
    1400      302,     0,   304,   330,   322,   327,   325,   326,   324,   323,
    1401      328,   329,   334,   331,   332,   333,   550,   550,   550,     0,
    1402        0,     0,   295,   221,   305,   320,   321,     7,   361,     0,
    1403        8,    14,    15,    65,     0,     2,    63,    64,   568,     9,
    1404      295,   528,   526,   248,     3,   456,     3,   261,     0,     3,
    1405        3,     3,   249,     3,     0,     0,     0,   296,   297,   299,
    1406      295,   308,   311,   313,   342,   287,   335,   340,   288,   350,
    1407      289,   357,   354,   364,     0,     0,   365,   290,   476,   480,
    1408        3,     3,     0,     2,   522,   527,   532,   300,     0,     0,
    1409      550,   580,   550,     2,   591,   592,   593,   295,     0,   734,
    1410      735,     0,    12,     0,    13,   295,   271,   272,     0,   296,
    1411      291,   292,   293,   294,   529,   306,   394,   551,   552,   372,
    1412      373,    12,   447,   448,    11,   443,   446,     0,   506,   501,
    1413      492,   447,   448,     0,     0,   531,   222,     0,   295,     0,
    1414        0,     0,     0,     0,     0,     0,     0,   295,   295,     2,
    1415        0,   736,   296,   585,   597,   740,   733,   731,   738,     0,
    1416        0,     0,   255,     2,     0,   535,   441,   442,   440,     0,
    1417        0,     0,     0,   550,     0,   637,   638,     0,     0,   548,
    1418      544,   550,   565,   550,   550,   546,     2,   545,   550,   604,
    1419      550,   550,   607,     0,     0,     0,   295,   295,   314,   362,
    1420        2,   295,   262,   298,   309,   343,   355,   481,     0,     2,
    1421        0,   456,   263,   296,   336,   351,   358,   477,     0,     2,
    1422        0,   312,   337,   344,   345,     0,   352,   356,   359,   363,
    1423      448,   295,   295,   367,   371,     0,   396,   478,   482,     0,
    1424        0,     0,     1,   295,     2,   533,   579,   581,   295,     2,
    1425      744,   296,   747,   548,   548,     0,   296,     0,     0,   274,
    1426      550,   546,     2,   295,     0,     0,   295,   553,     2,   504,
    1427        2,   557,     0,     0,     0,     0,     0,     0,    18,    58,
    1428        4,     5,     6,    16,     0,     0,   295,     2,    66,    67,
    1429       68,    69,    48,    19,    49,    22,    47,    70,   295,     0,
    1430       73,    77,    80,    83,    88,    91,    93,    95,    97,    99,
    1431      101,   106,   498,   754,   454,   497,     0,   452,   453,     0,
    1432      569,   584,   587,   590,   596,   599,   602,   361,     0,     2,
    1433      742,     0,   295,   745,     2,    63,   295,     3,   428,     0,
    1434      436,   296,   295,   308,   335,   288,   350,   357,     3,     3,
    1435      410,   414,   424,   429,   476,   295,   430,   709,   710,   295,
    1436      431,   433,   295,     2,   586,   598,   732,     2,     2,   250,
    1437        2,   461,     0,   459,   458,   457,   142,     2,     2,   252,
    1438        2,     2,   251,     2,   282,     2,   283,     0,   281,     0,
    1439        0,     0,     0,     0,     0,     0,     0,     0,   570,   609,
    1440        0,   456,     2,   564,   573,   663,   566,   567,   536,   295,
    1441        2,   603,   612,   605,   606,     0,   277,   295,   295,   341,
    1442      296,     0,   296,     0,   295,   737,   741,   739,   537,   295,
    1443      548,   256,   264,   310,     0,     2,   538,   295,   502,   338,
    1444      339,   284,   353,   360,     0,   295,     2,   386,   295,   374,
    1445        0,     0,   380,   731,     0,   752,   401,     0,   479,   503,
    1446      253,   254,   523,   295,   438,     0,   295,   238,     0,     2,
    1447      240,     0,   296,     0,   258,     2,   259,   279,     0,     0,
    1448        2,   295,   548,   295,   489,   491,   490,     0,     0,   754,
    1449        0,   295,     0,   295,   493,   295,   563,   561,   562,   560,
    1450        0,   555,   558,     0,     0,   295,    55,   295,    70,    50,
    1451      295,    61,   295,   295,    53,    54,     2,   128,     0,     0,
    1452      450,     0,   449,   112,   295,    17,     0,    29,    30,    35,
    1453        2,     0,    35,   118,   119,   120,   121,   122,   123,   124,
    1454      125,   126,   127,     0,     0,    51,    52,     0,     0,     0,
     1399     294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
     1400     301,     0,   303,   329,   321,   326,   324,   325,   323,   322,
     1401     327,   328,   333,   330,   331,   332,   549,   549,   549,     0,
     1402       0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
     1403       8,    14,    15,     0,     2,   294,   567,     9,   527,   525,
     1404     247,     3,   455,     3,   260,     0,     3,     3,     3,   248,
     1405       3,     0,     0,     0,   295,   296,   298,   294,   307,   310,
     1406     312,   341,   286,   334,   339,   287,   349,   288,   356,   353,
     1407     363,     0,     0,   364,   289,   475,   479,     3,     3,     0,
     1408       2,   521,   526,   531,   299,     0,     0,   549,   579,   549,
     1409       2,   590,   591,   592,   294,     0,   733,   734,     0,    12,
     1410     294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
     1411     293,   528,   305,   393,   550,   551,   371,   372,    12,   446,
     1412     447,    11,   442,   445,     0,   505,   500,   491,   446,   447,
     1413       0,     0,   530,   221,     0,   294,     0,     0,     0,     0,
     1414       0,     0,     0,     0,   294,   294,     2,     0,   735,   295,
     1415     584,   596,   739,   732,   730,   737,     0,     0,     0,   254,
     1416       2,     0,   534,   440,   441,   439,     0,     0,     0,     0,
     1417     549,     0,   636,   637,     0,     0,   547,   543,   549,   564,
     1418     549,   549,   544,     2,   545,   549,   603,   549,   549,   606,
     1419       0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
     1420     297,   308,   342,   354,   480,     0,     2,     0,   455,   262,
     1421     295,   335,   350,   357,   476,     0,     2,     0,   311,   336,
     1422     343,   344,     0,   351,   355,   358,   362,   447,   294,   294,
     1423     366,   370,     0,   395,   477,   481,     0,     0,     0,     1,
     1424     294,     2,   532,   578,   580,   294,     2,   743,   295,   746,
     1425     547,   547,   295,     0,     0,     0,   273,   549,   544,     2,
     1426     294,     0,     0,   294,   552,     2,   503,     2,   556,     0,
     1427       0,     0,     0,     0,     0,    18,    59,     4,     5,     6,
     1428      16,     0,     0,     0,   294,     2,     0,   294,    65,    66,
     1429      67,    68,    48,    19,    49,    22,    47,    69,     0,    72,
     1430      76,    79,    82,    87,    90,    92,    94,    96,    98,   100,
     1431     105,   497,   753,   453,   496,     0,   451,   452,     0,   568,
     1432     583,   586,   589,   595,   598,   601,   360,     0,     2,   741,
     1433       0,   294,   744,     2,   294,     3,   427,     0,   435,   295,
     1434     294,   307,   334,   287,   349,   356,     3,     3,   409,   413,
     1435     423,   428,   475,   294,   429,   708,   709,   294,   430,   432,
     1436     294,     2,   585,   597,   731,     2,     2,   249,     2,   460,
     1437       0,   458,   457,   456,   141,     2,     2,   251,     2,     2,
     1438     250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
     1439       0,     0,     0,     0,     0,     0,   569,   608,     0,   455,
     1440       2,   563,   572,   662,   565,   566,   535,   294,     2,   602,
     1441     611,   604,   605,     0,   276,   294,   294,   340,   295,     0,
     1442     295,     0,   294,   736,   740,   738,   536,   294,   547,   255,
     1443     263,   309,     0,     2,   537,   294,   501,   337,   338,   283,
     1444     352,   359,     0,   294,     2,   385,   294,   373,     0,     0,
     1445     379,   730,     0,   751,   400,     0,   478,   502,   252,   253,
     1446     522,   294,   437,     0,   294,   237,     0,     2,   239,     0,
     1447     295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
     1448     547,   294,   488,   490,   489,     0,     0,   753,     0,   294,
     1449       0,   294,   492,   294,   562,   560,   561,   559,     0,   554,
     1450     557,     0,     0,   294,    56,   294,    69,    52,   294,    62,
     1451     294,   294,    50,    51,    64,     2,   127,     0,     0,   449,
     1452       0,   448,   111,   294,    54,    55,    17,     0,    29,    30,
     1453      35,     2,     0,    35,   117,   118,   119,   120,   121,   122,
     1454     123,   124,   125,   126,     0,     0,    53,     0,     0,     0,
    14551455       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1456        0,     0,     0,     0,     0,     0,     0,   109,     2,   649,
    1457      455,   646,   550,   550,   654,   483,   295,     2,   588,   589,
    1458        0,   600,   601,     0,     2,   743,   746,   112,   295,     0,
    1459        2,   711,   296,   715,   706,   707,   713,     0,     2,     2,
    1460      671,   550,   754,   620,   550,   550,   754,   550,   634,   550,
    1461      550,   685,   437,   668,   550,   550,   676,   683,   295,   432,
    1462      296,     0,     0,   295,   721,   296,   726,   754,   718,   295,
    1463      723,   754,   295,   295,   295,     0,   112,     0,    18,     5,
    1464        2,     0,    19,     0,   462,   752,     0,     0,   468,   242,
    1465        0,   295,     0,     0,     0,   548,   572,   576,   578,   608,
    1466      611,   615,   618,   571,   610,     0,   285,   661,     0,   295,
    1467      278,     0,     0,     0,     0,   276,     2,     0,   260,   539,
    1468      295,     0,     0,     0,     0,   295,   295,     0,     0,   695,
    1469      384,   387,   391,   550,   391,   700,   390,   692,   550,   550,
    1470      366,   375,   383,   376,   550,   378,   381,   295,   753,     0,
    1471        0,   399,     0,   296,     3,   417,     3,   421,   420,   594,
    1472        0,   534,   295,    63,     3,   295,   436,   296,     3,   430,
    1473      431,     2,     0,     0,     0,   488,   307,   295,   484,   486,
    1474        3,     2,     2,     0,   505,     3,     0,   557,   130,     0,
    1475        0,   223,     0,     0,     0,     2,     0,     0,    36,     0,
    1476        0,   112,   295,    20,     0,    21,     0,   695,   451,     0,
    1477      110,     3,     2,    27,     2,     0,    33,     0,     2,    25,
    1478        0,   107,   108,    74,    75,    76,    78,    79,    81,    82,
    1479       86,    87,    84,    85,    89,    90,    92,    94,    96,    98,
    1480      100,     0,     0,   755,   295,     0,     0,     0,   650,   651,
    1481      647,   648,   500,   499,   295,     0,   295,   717,   295,   722,
    1482      296,   295,   665,   295,   295,   708,   664,     2,   295,     0,
    1483        0,     0,     0,     0,     0,     0,     0,   686,     0,   672,
    1484      623,   639,   673,     2,   619,   626,   434,   621,   622,   435,
    1485        2,   633,   642,   635,   636,   669,   670,   684,   712,   716,
    1486      714,   754,   269,     2,   748,     2,   425,   720,   725,   426,
    1487        0,   404,     3,     3,     3,     3,   456,     3,     0,     2,
    1488      471,   467,   753,     0,   463,   470,     2,   466,   469,     0,
    1489      295,   243,   265,     3,   273,   275,     0,   456,     2,   574,
    1490      575,     2,   613,   614,     0,   662,   540,     3,   347,   346,
    1491      349,   348,   295,   541,     0,   542,   295,   377,   379,     2,
    1492        0,     0,     0,     0,   105,   393,   696,   697,   388,   392,
    1493      389,   693,   694,   382,   386,   295,   401,   395,   402,   752,
    1494        0,     0,   439,   241,     0,     0,     3,     2,   671,   432,
    1495        0,   530,     0,   754,   492,     0,   295,   295,   295,     0,
    1496      554,   556,   131,     0,     0,   216,     0,     0,     0,   224,
    1497      225,    56,     0,    62,   295,     0,    60,    59,     0,   129,
    1498      696,   461,    71,    72,   111,   116,     3,   110,     0,     0,
    1499        0,    24,    35,     3,     0,    32,   103,     0,     3,   653,
    1500      657,   660,   652,     3,   595,     3,   719,   724,     2,    63,
    1501      295,     3,     3,   296,     0,     3,   625,   629,   632,   641,
    1502      675,   679,   682,   295,     3,   624,   640,   674,   295,   295,
    1503      427,   295,   295,   749,     0,     0,     0,     0,   257,     0,
    1504      105,     0,     3,     3,     0,   464,     0,   460,     0,     0,
    1505      246,   295,     0,     0,   130,     0,     0,     0,     0,     0,
    1506      130,     0,     0,   110,   110,    18,     2,     0,     0,     3,
    1507      132,   133,     2,   144,   134,   135,   136,   137,   138,   139,
    1508      146,   148,     0,     0,     0,   286,   295,   295,   550,     0,
    1509      543,   295,   112,   699,   703,   705,   698,   385,   369,   400,
    1510        0,   582,     2,   667,   666,     0,   672,     2,   485,   487,
    1511      507,     3,   515,   516,     0,     2,   511,     3,     3,     0,
    1512        0,   559,   223,     0,     0,     0,   223,     0,     0,     3,
    1513       37,   752,   110,     0,     3,   664,    42,     3,    40,     3,
    1514       34,     0,     3,   102,   104,     0,     2,   655,   656,     0,
    1515        0,   295,     0,     0,     0,     3,   641,     0,     2,   627,
    1516      628,     2,   643,     2,   677,   678,     0,     0,    63,     0,
    1517        3,     3,     3,     3,   412,   411,   415,     2,     2,   751,
    1518      750,   113,     0,     0,     0,     0,     3,   465,     3,     0,
    1519      244,   147,     3,   296,   295,     0,     0,     0,     0,     2,
    1520        0,   192,     0,   190,     0,     0,     0,     0,     0,     0,
    1521        0,   550,   112,     0,   152,   149,   295,     0,     0,   268,
    1522      280,     3,     3,   549,   616,   370,     2,   701,   702,   398,
    1523      295,   267,   295,     0,   518,   495,   295,     0,     0,   494,
    1524      509,     0,     0,     0,   217,     0,   226,    57,   110,     0,
    1525        0,   117,   114,     0,     0,     0,     0,     0,     0,    23,
    1526        0,   658,   295,   583,   266,   727,   728,   729,     0,   680,
    1527      295,   295,   295,     3,     3,     0,   688,     0,     0,     0,
    1528        0,   295,   295,     3,   547,   472,   473,     0,     0,   247,
    1529      296,     0,     0,     0,     0,   295,   193,   191,   188,     0,
    1530      194,     0,     0,     0,     0,   198,   201,   199,   195,     0,
    1531      196,   130,    35,   145,   143,   245,     0,     0,   295,   419,
    1532      423,   422,     0,   512,     2,   513,     2,   514,   508,   295,
    1533      229,     0,   227,     0,   229,     3,   664,    31,   115,     2,
    1534       45,     2,    43,    41,    28,   113,    26,     3,   730,     3,
    1535        3,     3,     0,     0,   687,   689,   630,   644,   270,     2,
    1536      409,     3,   408,     0,   475,   472,   130,     0,     0,   130,
    1537        3,     0,   130,   189,     0,     2,     2,   210,   200,     0,
    1538        0,     0,   141,     0,   577,   617,     3,     2,     0,     0,
    1539        2,   230,     0,     0,   218,     0,     0,     0,     0,     0,
    1540        0,     0,     0,     0,   690,   691,   295,     0,   474,   153,
    1541        0,     0,     2,   166,   130,   155,     0,   183,     0,   130,
    1542        0,     2,   157,     0,     2,     0,     2,     2,     2,   197,
    1543       32,     0,   295,   517,   519,   510,     0,     0,     0,     0,
    1544      115,    38,     3,     3,   659,   631,   645,   681,   413,   130,
    1545      159,   162,     0,   161,   165,     3,   168,   167,     0,   130,
    1546      185,   130,     3,     0,   295,     0,   295,     0,     2,     0,
    1547        2,   140,   704,     2,   231,   232,     0,   228,   219,     0,
    1548        0,     0,   154,     0,     0,   164,   234,   169,     2,   236,
    1549      184,     0,   187,   173,   202,     3,   211,   215,   204,     3,
    1550        0,   295,     0,   295,     0,     0,     0,    39,    46,    44,
    1551      160,   163,   130,     0,   170,   295,   130,   130,     0,   174,
    1552        0,     0,   695,   212,   213,   214,     0,   203,     3,   205,
    1553        3,   295,   220,   233,   150,   171,   156,   130,   237,   186,
    1554      181,   179,   175,   158,   130,     0,   696,     0,     0,     0,
    1555        0,   151,   172,   182,   176,   180,   179,   177,     3,     3,
    1556        0,     0,   496,   178,   206,   208,     3,     3,   207,   209
     1456       0,     0,     0,     0,     0,     0,     0,   108,     2,   648,
     1457     454,   645,   549,   549,   653,   482,   294,     2,   587,   588,
     1458       0,   599,   600,     0,     2,   742,   745,   111,   294,     2,
     1459     294,     0,   710,   295,   714,   705,   706,   712,     0,     2,
     1460       2,   670,   549,   753,   619,   549,   549,   753,   549,   633,
     1461     549,   549,   684,   436,   667,   549,   549,   675,   682,   294,
     1462     431,   295,     0,     0,   294,   720,   295,   725,   753,   717,
     1463     294,   722,   753,   294,   294,   294,     0,   111,     0,    18,
     1464       5,     2,     0,    19,     0,   461,   751,     0,     0,   467,
     1465     241,     0,   294,     0,     0,     0,   547,   571,   575,   577,
     1466     607,   610,   614,   617,   570,   609,     0,   284,   660,     0,
     1467     294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
     1468     538,   294,     0,     0,     0,     0,   294,   294,     0,     0,
     1469     694,   383,   386,   390,   549,   390,   699,   389,   691,   549,
     1470     549,   365,   374,   382,   375,   549,   377,   380,   294,   752,
     1471       0,     0,   398,     0,   295,     3,   416,     3,   420,   419,
     1472     593,     0,   533,   294,     3,     3,   294,   435,   295,     3,
     1473     429,   430,     2,     0,     0,     0,   487,   306,   294,   483,
     1474     485,     3,     2,     2,     0,   504,     3,     0,   556,   129,
     1475       0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
     1476       0,     0,   111,   294,    20,     0,    21,     0,   694,   450,
     1477       0,   109,     3,     2,    27,     2,     0,    33,     0,     2,
     1478      25,     0,   106,   107,    73,    74,    75,    77,    78,    80,
     1479      81,    85,    86,    83,    84,    88,    89,    91,    93,    95,
     1480      97,    99,     0,     0,   754,   294,     0,     0,     0,   649,
     1481     650,   646,   647,   499,   498,   294,     0,     3,   294,   716,
     1482     294,   721,   295,   294,   294,   294,   664,   707,   663,     2,
     1483     294,     0,     0,     0,     0,     0,     0,     0,     0,   685,
     1484       0,   671,   622,   638,   672,     2,   618,   625,   433,   620,
     1485     621,   434,     2,   632,   641,   634,   635,   668,   669,   683,
     1486     711,   715,   713,   753,   268,     2,   747,     2,   424,   719,
     1487     724,   425,     0,   403,     3,     3,     3,     3,   455,     3,
     1488       0,     2,   470,   466,   752,     0,   462,   469,     2,   465,
     1489     468,     0,   294,   242,   264,     3,   272,   274,     0,   455,
     1490       2,   573,   574,     2,   612,   613,     0,   661,   539,     3,
     1491     346,   345,   348,   347,   294,   540,     0,   541,   294,   376,
     1492     378,     2,     0,     0,     0,     0,   104,   392,   695,   696,
     1493     387,   391,   388,   692,   693,   381,   385,   294,   400,   394,
     1494     401,   751,     0,     0,   438,   240,     0,     0,     3,     2,
     1495     670,   431,     0,   529,     0,   753,   491,     0,   294,   294,
     1496     294,     0,   553,   555,   130,     0,     0,   215,     0,     0,
     1497       0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
     1498       0,   128,   695,   460,    70,    71,   110,   115,     3,   109,
     1499       0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
     1500       3,   652,   656,   659,   651,     3,   594,     3,   718,   723,
     1501       2,   294,     3,     3,   295,     0,     3,   624,   628,   631,
     1502     640,   674,   678,   681,   294,     3,   623,   639,   673,   294,
     1503     294,   426,   294,   294,   748,     0,     0,     0,     0,   256,
     1504       0,   104,     0,     3,     3,     0,   463,     0,   459,     0,
     1505       0,   245,   294,     0,     0,   129,     0,     0,     0,     0,
     1506       0,   129,     0,     0,   109,   109,     2,     0,     0,     0,
     1507       3,   131,   132,     2,   143,   133,   134,   135,   136,   137,
     1508     138,   145,   147,     0,     0,     0,   285,   294,   294,   549,
     1509       0,   542,   294,   111,   698,   702,   704,   697,   384,   368,
     1510     399,     0,   581,     2,   666,   665,     0,   671,     2,   484,
     1511     486,   506,     3,   514,   515,     0,     2,   510,     3,     3,
     1512       0,     0,   558,   222,     0,     0,     0,   222,     0,     0,
     1513       3,    37,   751,   109,     0,     3,   663,    42,     3,    40,
     1514       3,    34,     0,     3,   101,   103,     0,     2,   654,   655,
     1515       0,     0,   294,     0,     0,     0,     3,   640,     0,     2,
     1516     626,   627,     2,   642,     2,   676,   677,     0,     0,     3,
     1517       0,     3,     3,     3,     3,   411,   410,   414,     2,     2,
     1518     750,   749,   112,     0,     0,     0,     0,     3,   464,     3,
     1519       0,   243,   146,     3,   295,   294,     0,     0,     0,     0,
     1520       2,   191,     0,   189,     0,     0,     0,     0,     0,     0,
     1521       0,     0,   111,     0,   549,   151,   148,   294,     0,     0,
     1522     267,   279,     3,     3,   548,   615,   369,     2,   700,   701,
     1523     397,   294,   266,   294,     0,   517,   494,   294,     0,     0,
     1524     493,   508,     0,     0,     0,   216,     0,   225,    58,   109,
     1525       0,     0,   116,   113,     0,     0,     0,     0,     0,     0,
     1526      23,     0,   657,   294,   582,   265,   726,   727,   728,     0,
     1527     679,   294,   294,   294,     3,     3,     0,   687,     0,     0,
     1528       0,     0,   294,   294,     3,   546,   471,   472,     0,     0,
     1529     246,   295,     0,     0,     0,     0,   294,   192,   190,     0,
     1530     187,   193,     0,     0,     0,     0,   197,   200,   198,   194,
     1531       0,   195,    35,   129,   144,   142,   244,     0,     0,   294,
     1532     418,   422,   421,     0,   511,     2,   512,     2,   513,   507,
     1533     294,   228,     0,   226,     0,   228,     3,   663,    31,   114,
     1534       2,    45,     2,    43,    41,    28,   112,    26,     3,   729,
     1535       3,     3,     3,     0,     0,   686,   688,   629,   643,   269,
     1536       2,   408,     3,   407,     0,   474,   471,   129,     0,     0,
     1537     129,     3,     0,   129,   188,     0,     2,     2,   209,   199,
     1538       0,     0,     0,     0,   140,   576,   616,     3,     2,     0,
     1539       0,     2,   229,     0,     0,   217,     0,     0,     0,     0,
     1540       0,     0,     0,     0,     0,   689,   690,   294,     0,   473,
     1541     152,     0,     0,     2,   165,   129,   154,     0,   182,     0,
     1542     129,     0,     2,   156,     0,     2,     0,     2,     2,     2,
     1543     196,    32,     0,   294,   516,   518,   509,     0,     0,     0,
     1544       0,   114,    38,     3,     3,   658,   630,   644,   680,   412,
     1545     129,   158,   161,     0,   160,   164,     3,   167,   166,     0,
     1546     129,   184,   129,     3,     0,   294,     0,   294,     0,     2,
     1547       0,     2,   139,   703,     2,   230,   231,     0,   227,   218,
     1548       0,     0,     0,   153,     0,     0,   163,   233,   168,     2,
     1549     235,   183,     0,   186,   172,   201,     3,   210,   214,   203,
     1550       3,     0,   294,     0,   294,     0,     0,     0,    39,    46,
     1551      44,   159,   162,   129,     0,   169,   294,   129,   129,     0,
     1552     173,     0,     0,   694,   211,   212,   213,     0,   202,     3,
     1553     204,     3,   294,   219,   232,   149,   170,   155,   129,   236,
     1554     185,   180,   178,   174,   157,   129,     0,   695,     0,     0,
     1555       0,     0,   150,   171,   181,   175,   179,   178,   176,     3,
     1556       3,     0,     0,   495,   177,   205,   207,     3,     3,   206,
     1557     208
    15571558};
    15581559
     
    15601561static const yytype_int16 yydefgoto[] =
    15611562{
    1562       -1,   838,   477,   302,    48,   135,   136,   303,   304,   305,
    1563      306,   785,   786,  1147,  1148,   307,   382,   309,   310,   311,
    1564      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
    1565     1051,   527,   995,   323,   996,   554,   972,  1078,  1544,  1080,
    1566     1081,  1082,  1083,  1545,  1084,  1085,  1461,  1462,  1423,  1424,
    1567     1425,  1523,  1524,  1528,  1529,  1564,  1565,  1086,  1381,  1087,
    1568     1088,  1315,  1316,  1317,  1505,  1089,   147,   978,   979,   980,
    1569     1402,  1486,  1497,  1498,   478,   479,   900,   901,  1059,    52,
    1570       53,    54,    55,    56,   348,   160,    59,    60,    61,    62,
    1571       63,   350,    65,    66,   266,    68,    69,   276,   352,   353,
    1572       72,    73,    74,    75,   120,    77,   206,   355,   121,    80,
    1573      122,    82,    83,   464,    84,   458,   459,   460,   461,   700,
    1574      938,   701,    85,    86,   467,   465,   721,   880,   881,   358,
    1575      359,   724,   725,   726,   360,   361,   362,   363,   475,   341,
    1576      137,   138,   531,   325,   172,   654,   655,   656,   657,   658,
    1577       87,   123,    89,   498,   499,   964,   500,   279,   504,   326,
    1578       90,   139,   140,    91,  1339,  1125,  1126,  1127,  1128,    92,
    1579       93,   742,    94,   275,    95,    96,   189,  1053,   688,   413,
    1580      127,    97,   510,   511,   512,   190,   270,   192,   193,   194,
    1581      271,   100,   101,   102,   103,   104,   105,   106,   197,   198,
    1582      199,   200,   201,   850,   613,   614,   615,   616,   202,   618,
    1583      619,   620,   580,   581,   582,   583,   705,   107,   622,   623,
    1584      624,   625,   626,   627,   937,   707,   708,   709,   603,   366,
    1585      367,   368,   369,   327,   166,   109,   110,   111,   371,   719,
    1586      577
     1563      -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
     1564     306,   786,   787,  1148,  1149,   307,   308,   309,   310,   311,
     1565     312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
     1566     526,   997,   322,   998,   555,   974,  1079,  1545,  1081,  1082,
     1567    1083,  1084,  1546,  1085,  1086,  1462,  1463,  1424,  1425,  1426,
     1568    1524,  1525,  1529,  1530,  1565,  1566,  1087,  1382,  1088,  1089,
     1569    1316,  1317,  1318,  1506,  1090,   144,   980,   981,   982,  1403,
     1570    1487,  1498,  1499,   476,   477,   902,   903,  1060,    49,    50,
     1571      51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
     1572     348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
     1573      70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
     1574      79,    80,   462,    81,   456,   457,   458,   459,   701,   940,
     1575     702,    82,    83,   465,   463,   722,   882,   883,   356,   357,
     1576     725,   726,   727,   358,   359,   360,   361,   473,   340,   134,
     1577     135,   530,   324,   169,   655,   656,   657,   658,   659,    84,
     1578     120,    86,   496,   497,   966,   498,   276,   502,   325,    87,
     1579     136,   137,    88,  1340,  1126,  1127,  1128,  1129,    89,    90,
     1580     743,    91,   272,    92,    93,   186,  1054,   689,   411,   124,
     1581      94,   508,   509,   510,   187,   267,   189,   190,   191,   268,
     1582      97,    98,    99,   100,   101,   102,   103,   194,   195,   196,
     1583     197,   198,   852,   614,   615,   616,   617,   199,   619,   620,
     1584     621,   580,   581,   582,   583,   706,   104,   623,   624,   625,
     1585     626,   627,   628,   939,   708,   709,   710,   604,   364,   365,
     1586     366,   367,   326,   163,   106,   107,   108,   369,   720,   577
    15871587};
    15881588
    15891589/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15901590   STATE-NUM.  */
    1591 #define YYPACT_NINF -1355
     1591#define YYPACT_NINF -1332
    15921592static const yytype_int16 yypact[] =
    15931593{
    1594     6526, 10132, -1355,   -28, -1355, -1355, -1355, -1355, -1355, -1355,
    1595    -1355,    11, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1596    -1355, -1355, -1355, -1355, -1355, -1355,   124,   124,   124,  1122,
    1597     1178,   105,  7752,   206, -1355, -1355, -1355, -1355, -1355,   125,
    1598    -1355, -1355, -1355, -1355,   698,   190, -1355, -1355, -1355, -1355,
    1599     9742, -1355, -1355, -1355, -1355,   293,   199, -1355,  1161, -1355,
    1600    -1355, -1355, -1355,   216,  2006,   341,   106,  7869, -1355, -1355,
    1601     9852,   758, -1355, -1355, -1355,   704,   346,  7545,   680,   713,
    1602      704,   967, -1355, -1355,   498,   800, -1355,   704,  1060, -1355,
    1603      248, -1355,   421,   449, -1355, -1355, -1355, -1355,   290,   199,
    1604      124, -1355,   124, -1355, -1355, -1355, -1355, 10443,  1161, -1355,
    1605    -1355,  1161, -1355,   279, -1355, 10553, -1355, -1355,  2175, 10583,
    1606    -1355,   774,   774,   774, -1355, -1355, -1355,   124, -1355, -1355,
    1607    -1355,   350,   392,   395, -1355, -1355, -1355,   403, -1355, -1355,
    1608    -1355, -1355, -1355,   439,   468, -1355, -1355,    66,  9208,  3295,
    1609      571,   369,   448,   481,   484,   491,   516, 10022,  7154,   536,
    1610      559, -1355,  9882, -1355, -1355, -1355, -1355,   562, -1355,   184,
    1611     3734,  3734, -1355,   579,   187, -1355, -1355, -1355, -1355,   597,
    1612      328,   353,   423,   124,   608, -1355, -1355,  2006,  2873,   686,
    1613    -1355,    61, -1355,   124,   124,   199, -1355, -1355,    96, -1355,
    1614      124,   124, -1355,  3264,   646,   699,   774,  7305, -1355, -1355,
    1615      733,  9742, -1355, -1355,   704, -1355, -1355, -1355,   199, -1355,
    1616     1161,   293, -1355,  8102, -1355,   774,   774,   774,   199, -1355,
    1617     1122, -1355,  5636, -1355, -1355,   724,   774, -1355,   774, -1355,
    1618      125,  9208, 10303,   751, -1355,  1178,   766,   774, -1355,  1122,
    1619      767,   775, -1355,  7752,   512, -1355, -1355, -1355,  9671, -1355,
    1620    -1355, 10973, -1355,   686,   134,  4776, 10583,  2175,  3264, -1355,
    1621      153, -1355, -1355, 10553,  1161,   778,  7900, -1355, -1355,   361,
    1622    -1355, 11792,   829,   859,  4180,   841, 11595, 11653, -1355,   852,
    1623    -1355, -1355, -1355, -1355, 11672, 11672,  8980,   854, -1355, -1355,
    1624    -1355, -1355, -1355, -1355,   912, -1355,   878,  2284,  9322, 11595,
    1625    -1355,   629,   677,   734,   265,   760,   882,   884,   890,   928,
    1626       13, -1355, -1355,   895,   936, -1355,    57, -1355, -1355,  3295,
    1627    -1355, -1355,   410,   929, -1355,   621,   929,   953,   125, -1355,
    1628    -1355,   960, 10443, -1355,   963,   971,  9436, -1355, -1355,  1106,
    1629     1778,  8566,  7305,   704, -1355,   704,   774,   774, -1355, -1355,
    1630    -1355, -1355, -1355, -1355,   774, 10443,  1161, -1355, -1355, 10693,
    1631     1309, -1355, 10413, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1632      998,  3508, 11595, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1633    -1355, -1355, -1355, -1355, -1355, -1355, -1355,  2175, -1355,   793,
    1634     1004,  1008,  1011,   926,  1015,  1019,  1023,  2873, -1355, -1355,
    1635     1032,   293,  1065, -1355, -1355,  1068, -1355, -1355, -1355,  9671,
    1636    -1355, -1355, -1355, -1355, -1355,  3264, -1355,  9208,  9208, -1355,
    1637      774,  2175,  7425,  1161,  8682, -1355, -1355, -1355, -1355,  9671,
    1638      134, -1355, -1355,   704,   199, -1355, -1355,  9671, -1355,  7188,
    1639    -1355, -1355,   774,   774,   550, 10723,  1071,  1646,  4966, -1355,
    1640      435,   455,  1178, -1355,  1077,  1033,  1061,  1081,   774, -1355,
    1641    -1355, -1355, -1355, 11011, -1355,   705,  7065, -1355,   199,  1085,
    1642    -1355,  2175, 11874,  6076, -1355, -1355, -1355, -1355,   939,  3264,
    1643    -1355,  8798,   686,  7635, -1355, -1355, -1355,  1254,   709,   895,
    1644     1178,  7900,   685, 10553, -1355,  7900, -1355, -1355, -1355, -1355,
    1645      769, -1355,  1093,   859,   494,  8980, -1355, 10723, -1355, -1355,
    1646     8980, -1355,  9094,  8980, -1355, -1355,  1096, -1355,   781,  1103,
    1647     1017,  1104, -1355,  3922,  6360, -1355,   553, -1355, -1355, 11518,
    1648    -1355,   618, 11518, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1649    -1355, -1355, -1355,  4776,  4776, -1355, -1355, 11595, 11595, 11595,
    1650    11595, 11595, 11595, 11595, 11595, 11595, 11595, 11595, 11595, 11595,
    1651    11595, 11595, 11595, 11595, 11595,  3966,  4776, -1355,   936,  1162,
    1652    -1355, -1355,   124,   124, -1355, -1355,  9208, -1355, -1355,  1068,
    1653      512, -1355,  1068, 11576, -1355, -1355, -1355,  4432,  6360,  1105,
    1654     1107, -1355, 10583, -1355, -1355,   562, -1355,  1108,  1721,  1109,
    1655     2038,   284,   895, -1355,   124,   124,   895,   308, -1355,   124,
    1656      124,  1068, -1355, -1355,   124,   124, -1355,   929, 10833,  1161,
    1657    12019,   503,   537, 10833, -1355, 10973, -1355,   895, -1355, 10443,
    1658    -1355,   239,  8218,  8218,  8218,  1161, -1355,  4062,  1099,   177,
    1659      998,   367,  1110,  1113, -1355,  1118,  3734,   565, -1355,  1194,
    1660     1161,  8218,   512,  2175,   512,   686,   727,   929, -1355, -1355,
    1661      752,   929, -1355, -1355, -1355,   859, -1355,   929,   199, 11011,
    1662    -1355,   801,  1115,   813,  1130, -1355,  1129,   199, -1355, -1355,
    1663     9671,   199,  1133,   506,   530, 10693,  7274,  1915, 11595,  2471,
    1664    -1355, -1355,  1126,    82,  1126, -1355, -1355, -1355,   124,   124,
    1665    -1355, -1355,  1178, -1355,   124, -1355, -1355, 10303,  1178,  1134,
    1666    11595, -1355,  1178, 12019, -1355, -1355,  1138, -1355, -1355, -1355,
    1667      512, -1355, 11947,   971, -1355,  8218,  1021,  8566, -1355, -1355,
    1668      562,  1142,  1143,  1254,  3424, -1355, -1355,  7900, -1355, -1355,
    1669     1147, -1355, -1355,  1155, -1355,  1147,  1157, 11792,  4776,    34,
    1670     1136,   168,  1159,  1156,  1164,   854,  1160,  1169, -1355,  1172,
    1671     1173,  5598,  6914, -1355,  4776, -1355,  1017,  1789, -1355,  5215,
    1672     4776,  1168, -1355, -1355,   998,   814, -1355,  4776, -1355, -1355,
    1673      893, -1355, -1355, -1355, -1355, -1355,   629,   629,   677,   677,
    1674      734,   734,   734,   734,   265,   265,   760,   882,   884,   890,
    1675      928, 11595,   927, -1355, 11011,  1175,  1177,  1180,  1162, -1355,
    1676    -1355, -1355, -1355, -1355, 11011,   818,  8218, -1355, 10443, -1355,
    1677     7394,  9550, -1355, 10413,  7154, -1355, -1355,  1721, 11011,   969,
    1678     1183,  1185,  1187,  1189,  1191,  1192,  1193, -1355,  4666,  2038,
    1679    -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1680    -1355, -1355, -1355, -1355, -1355, -1355, -1355,  1068, -1355, -1355,
    1681    -1355,   895, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1682     1199, -1355,  1202,  1203, -1355, -1355,   293,  1168,  4062, -1355,
    1683    -1355, -1355,  3508,  1200, -1355, -1355, -1355, -1355, -1355,  1178,
    1684     6657,  1259, -1355, -1355, -1355, -1355,  1186,   293, -1355, -1355,
    1685     1068, -1355, -1355,  1068,    73,  1068, -1355, -1355, -1355, -1355,
    1686    -1355, -1355,  9992, -1355,   199, -1355, 10303, -1355, -1355,  1204,
    1687      942,  1208,  1209,  1211, -1355, -1355,  2471, -1355, -1355, -1355,
    1688    -1355, -1355, -1355, -1355,  1646, 10162,  1061, -1355, -1355,  1033,
    1689     1213,  1188, -1355, -1355,  1212,  1215, -1355,  1021,  1927, -1355,
    1690      567, -1355,  3424,   895, -1355,  1219,  7900, 10863,  9208,  1221,
    1691    -1355, -1355,  1216,  1223,  1217, -1355, 11595,   122,    20,  1224,
    1692    -1355,  1228,   512,  1228,  6360,  4776, -1355, -1355,  1228, -1355,
    1693     1789,  3508, -1355, -1355, -1355, -1355,  1229,  4776,  1237,   512,
    1694     4062, -1355, 11518, -1355,   512, -1355, -1355,  4776, -1355,   759,
    1695      929, -1355, -1355, -1355, -1355, -1355, -1355, -1355,   998,   971,
    1696     9436, -1355, -1355,  7514,  1225, -1355,   816,   929, -1355,   860,
    1697      874,   929, -1355,   774,  5096, -1355, -1355, -1355, 11011, 11011,
    1698    -1355,  8682,  8682, -1355,  1234,  1239,  1246,  1258, -1355,  1262,
    1699      602,   133,  1168, -1355,   512, -1355,  3734, -1355,  4776,   540,
    1700    -1355,  6787,  1267,  1270, 11460,  1271,  1278,    50,    78,    53,
    1701     4776,  1279,   199,  4776,  4776,  1277,  1283,   399,  1266, -1355,
    1702    -1355, -1355,  1256, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1703    -1355, -1355,  1178,  1290,  4776, -1355, 11011, 11011,   124,  1291,
    1704    -1355, 10272,  3922,   877,   929, -1355, -1355, -1355, -1355, -1355,
    1705     1288, -1355, -1355, -1355, -1355,  1295,  1927, -1355, -1355,  1280,
    1706    -1355,  1147, -1355, -1355,  2175,  1292, -1355, -1355, -1355,   827,
    1707     1294, -1355,   168,  1298, 11595,  1274,   168,   168,  1303,  1304,
    1708    -1355,  1118,  4776,  1302,  1229,   750,   131,  1306, -1355,  1304,
    1709    -1355,  1311,  1306, -1355, -1355,  1314, -1355, -1355,  1068,  1317,
    1710     1322,  7034,  1321,  1323,  1324, -1355, -1355,  1328, -1355, -1355,
    1711     1068, -1355, -1355, -1355, -1355,  1068,  4776,  4776,   971,  1329,
    1712    -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
    1713    -1355, -1355, 11595, 11595,  1331,  1332,  1306, -1355, -1355,  1178,
    1714    -1355, -1355, -1355,  5878, 10863,  4776,  4776,  1387,  4776, -1355,
    1715     1316, -1355,  1319, -1355,  1320,  4776,  1325,  4776,  1035,  1326,
    1716       64,   124,  9704,   973, -1355, -1355,  6657,  1334,   542, -1355,
    1717    -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,  1068, -1355,
    1718    11278, -1355,  8798,  1336, -1355, -1355, 10863,   543,   587, -1355,
    1719     1338,  1337,   859,  1346, -1355,   370, -1355, -1355,  4776,  1347,
    1720     1348, -1355, -1355,  1349,   650,   721,   512,  1355,  1356, -1355,
    1721     1357, -1355, 11011, -1355, -1355, -1355, -1355, -1355,  1361, -1355,
    1722    11011, 11011, 11011, -1355, -1355,  1363, -1355,  1366,  1370,  1371,
    1723      667,  8334,  8450, -1355, -1355,   490, -1355,  1375,  1380, -1355,
    1724     8914,   832,   839,  1373,   844,  6216, -1355, -1355, -1355,   588,
    1725    -1355,   866,  1384,  1385,   199,  1435,  1031, -1355, -1355,  4776,
    1726    -1355, 11460, 11518, -1355, -1355, -1355,  1390,  1392, 11011, -1355,
    1727    -1355, -1355,  1391, -1355, -1355, -1355, -1355, -1355, -1355, 10863,
    1728      859,   253, -1355,  1376,   859,  1229,   337, -1355, -1355, -1355,
    1729    -1355, -1355, -1355, -1355, -1355,  1393, -1355, -1355, -1355, -1355,
    1730    -1355, -1355,  1395,  1402, -1355, -1355, -1355, -1355, -1355, -1355,
    1731    -1355,  1405, -1355,  1404, -1355, -1355, 11460,   155,  4776, 11460,
    1732    -1355,  1409,  4776, -1355,   195,  1424,  1425, -1355, -1355,  1417,
    1733     1418,  1396, -1355,  1037, -1355, -1355, -1355, -1355,  1161,  2175,
    1734     1414,   912,  1038, 11595, -1355,   886,  1421,  4776,   512,   512,
    1735     1426,  1428,  1432,  1433, -1355, -1355,  8682,  1419, -1355,  1502,
    1736    11595,  1430, -1355, -1355, 11371, -1355,   888, -1355,  1413, 11460,
    1737     1416, -1355, -1355,  1440, -1355,  1444, -1355,  1459,  1461, -1355,
    1738     1427,  1448, 10863, -1355, -1355, -1355,   859,   512,  1450,  1436,
    1739     1445, -1355,  1306,  1306, -1355, -1355, -1355, -1355, -1355, 11460,
    1740      340, -1355,  1042, -1355, -1355,  5372, -1355, -1355,  1438,  4776,
    1741    -1355,  4776,  5372,   199, 10723,   199, 10723,  1455, -1355,  1457,
    1742    -1355, -1355, -1355,  1458,   912, -1355,   901, -1355, -1355,  4776,
    1743     1460,  1462, -1355, 11595, 11595, -1355, -1355,  1120,   121, -1355,
    1744    -1355,  1451, -1355,  1120, -1355, -1355,  2159,   512, -1355, -1355,
    1745      199, 10723,   199, 10723,  1467,  1452,   512, -1355, -1355, -1355,
    1746    -1355, -1355, 11371,  1470,  1120,  7986,  4776, 11282,  1472,  1120,
    1747     1479,  2159,  2686, -1355, -1355, -1355,  1482, -1355, -1355, -1355,
    1748    -1355,  9208, -1355, -1355, -1355, 11149, -1355, 11371, -1355, -1355,
    1749     1463, 11056, -1355, -1355, 11282,   199,  2686,   199,  1483,  1489,
    1750      913, -1355, 11149, -1355, -1355, -1355, 11056, -1355, -1355, -1355,
    1751      199,   199, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355
     1594    3506,  8076, -1332,    12, -1332, -1332, -1332, -1332, -1332, -1332,
     1595   -1332,    61, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1596   -1332, -1332, -1332, -1332, -1332, -1332,   102,   102,   102,  1011,
     1597    1062,    86,  5961,   228, -1332, -1332, -1332, -1332, -1332,   138,
     1598   -1332, -1332, -1332,   684,   144,  9470, -1332, -1332, -1332, -1332,
     1599   -1332, -1332,   190,   182, -1332,  1658, -1332, -1332, -1332, -1332,
     1600     201,  1834,   303,    32,  4928, -1332, -1332,  9508,  1650, -1332,
     1601   -1332, -1332,   615,   401,  4443,   184,   589,   615,  1225, -1332,
     1602   -1332,   848,   938, -1332,   615,  1259, -1332,   301, -1332,   486,
     1603     503, -1332, -1332, -1332, -1332,   316,   182,   102, -1332,   102,
     1604   -1332, -1332, -1332, -1332,  9240,  1658, -1332, -1332,  1658, -1332,
     1605    9354,   391, -1332, -1332, -1332,  1948,  9876, -1332,   810,   810,
     1606     810, -1332, -1332, -1332,   102, -1332, -1332, -1332,   426,   447,
     1607     456, -1332, -1332, -1332,   477, -1332, -1332, -1332, -1332, -1332,
     1608     485,   495, -1332, -1332,    36,  8974,  2459,   272,   545,   579,
     1609     623,   632,   671,   733,  8777,  7372,   596,   719, -1332,  9546,
     1610   -1332, -1332, -1332, -1332,   739, -1332,   209,  3245,  3245, -1332,
     1611     760,   213, -1332, -1332, -1332, -1332,   770,   237,   353,   362,
     1612     102,   755, -1332, -1332,  1834,  1803,   846, -1332,    70, -1332,
     1613     102,   102,   182, -1332, -1332,    98, -1332,   102,   102, -1332,
     1614    2479,   820,   843,   810,  5405, -1332, -1332,   844,  9470, -1332,
     1615   -1332,   615, -1332, -1332, -1332,   182, -1332,  1658,   190, -1332,
     1616    7926, -1332,   810,   810,   810,   182, -1332,  1011, -1332,  2880,
     1617   -1332, -1332,   827,   810, -1332,   810, -1332,   138,  8974,  8891,
     1618     857, -1332,  1062,   864,   810, -1332,  1011,   870,   879, -1332,
     1619    5961,   735, -1332, -1332, -1332,  9437, -1332, -1332,  3894, -1332,
     1620     846,    69,  9876,  6310,  1948,  2479, -1332,   114, -1332, -1332,
     1621    9354,  1658,   875, 11374, -1332, -1332,   546, -1332, 11116,   886,
     1622     926, 10861,   905, 10919, 10938, -1332,   919, -1332, -1332, -1332,
     1623   -1332, 10996, 10996,   735,  8632,   928, 10919,  9088, -1332, -1332,
     1624   -1332, -1332, -1332, -1332,   949, -1332,   840,  2531, 10919, -1332,
     1625     516,   336,   425,   270,   704,   934,   936,   960,   997,    52,
     1626   -1332, -1332,   974,   356, -1332,   290, -1332, -1332,  2459, -1332,
     1627   -1332,   600,   996, -1332,   701,   996,  1007,   138, -1332, -1332,
     1628    1010,  9240, -1332,  1018,  8746, -1332, -1332,  1849,  1084,  8347,
     1629    5405,   615, -1332,   615,   810,   810, -1332, -1332, -1332, -1332,
     1630   -1332, -1332,   810,  9914,  1658, -1332, -1332,  9987,  1975, -1332,
     1631    9012, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1030,  3059,
     1632   10919, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1633   -1332, -1332, -1332, -1332, -1332,  1948, -1332,   773,  1012,  1034,
     1634    1040,   889,  1045,  1051,  1053,  1803, -1332, -1332,  1063,   190,
     1635    1064, -1332, -1332,  1066, -1332, -1332, -1332,  9437, -1332, -1332,
     1636   -1332, -1332, -1332,  2479, -1332,  8974,  8974, -1332,   810,  1948,
     1637    6923,  1658,  8420, -1332, -1332, -1332, -1332,  9437,    69, -1332,
     1638   -1332,   615,   182, -1332, -1332,  9437, -1332,  3625, -1332, -1332,
     1639     810,   810,   464, 10025,  1068,   907,  9695, -1332,   437,   475,
     1640    1062, -1332,  1067,  1069,  1047,  1070,   810, -1332, -1332, -1332,
     1641   -1332, 10283, -1332,   522,  6793, -1332,   182,  1074, -1332,  1948,
     1642   11198,  6368, -1332, -1332, -1332, -1332,   939,  2479, -1332,  8493,
     1643     846,  5374, -1332, -1332, -1332,   828,   610,   974,  1062, 11374,
     1644     861,  9354, -1332, 11374, -1332, -1332, -1332, -1332,   618, -1332,
     1645    1073,   926,   326,  8632, -1332, 10025, -1332, -1332,  8632, -1332,
     1646    8860,  8632, -1332, -1332, -1332,  1077, -1332,   619,  1082,   630,
     1647    1087, -1332,  5066,  7012, -1332, -1332, -1332,    47, -1332, -1332,
     1648   10784, -1332,   474, 10784, -1332, -1332, -1332, -1332, -1332, -1332,
     1649   -1332, -1332, -1332, -1332,  6310,  6310, -1332, 10919, 10919, 10919,
     1650   10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919,
     1651   10919, 10919, 10919, 10919, 10919,  4001,  6310, -1332,   356,   777,
     1652   -1332, -1332,   102,   102, -1332, -1332,  8974, -1332, -1332,  1066,
     1653     735, -1332,  1066, 10842, -1332, -1332, -1332,  6075,  7012,  1086,
     1654    9202,  1093, -1332, 10055, -1332, -1332,   739, -1332,  1094,   690,
     1655    1096,  1090,   157,   974, -1332,   102,   102,   974,   166, -1332,
     1656     102,   102,  1066, -1332, -1332,   102,   102, -1332,   996, 10137,
     1657    1658, 11343,   372,   531, 10137, -1332,  6678, -1332,   974, -1332,
     1658    9914, -1332,   285,  8042,  8042,  8042,  1658, -1332,  5183,  1085,
     1659     453,  1030,   955,  1095,  1097, -1332,  1099,  3245,   590, -1332,
     1660    1182,  1658,  8042,   735,  1948,   735,   846,   706,   996, -1332,
     1661   -1332,   806,   996, -1332, -1332, -1332,   926, -1332,   996,   182,
     1662   10283, -1332,   647,  1107,   688,  1108, -1332,  1109,   182, -1332,
     1663   -1332,  9437,   182,  1105,   497,   502, 10167,  7492,  1400, 10919,
     1664    1678, -1332, -1332,  1103,    62,  1103, -1332, -1332, -1332,   102,
     1665     102, -1332, -1332,  1062, -1332,   102, -1332, -1332,  8891,  1062,
     1666    1110, 10919, -1332,  1062, 11343, -1332, -1332,  1113, -1332, -1332,
     1667   -1332,   735, -1332, 11271, 10919, -1332,  8042,   718,  8347, -1332,
     1668   -1332,   739,  1114,  1115,   828,  2655, -1332, -1332, 11374, -1332,
     1669   -1332,  1116, -1332, -1332,  1122, -1332,  1116,  1123, 11116,  6310,
     1670     163,  1092,    54,  1131,  1128,  1135,   928,  1130,  1138, -1332,
     1671    1140,  1141,  9733,  7132, -1332,  6310, -1332,   630,  1274, -1332,
     1672    5523,  6310,  1139, -1332, -1332,  1030,   695, -1332,  6310, -1332,
     1673   -1332,   741, -1332, -1332, -1332, -1332, -1332,   516,   516,   336,
     1674     336,   425,   425,   425,   425,   270,   270,   704,   934,   936,
     1675     960,   997, 10919,   754, -1332, 10283,  1150,  1151,  1153,   777,
     1676   -1332, -1332, -1332, -1332, -1332, 10283,   748, 10919,  8042, -1332,
     1677    9914, -1332,  7612,  9316,  9126,  7372, -1332, -1332, -1332,   690,
     1678   10283,   950,  1164,  1165,  1171,  1172,  1179,  1180,  1181, -1332,
     1679    3591,  1090, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1680   -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
     1681   -1332, -1332, -1332,   974, -1332, -1332, -1332, -1332, -1332, -1332,
     1682   -1332, -1332,  1183, -1332,  1184,  1187, -1332, -1332,   190,  1139,
     1683    5183, -1332, -1332, -1332,  3059,  1185, -1332, -1332, -1332, -1332,
     1684   -1332,  1062,  6532,  1270, -1332, -1332, -1332, -1332,  1173,   190,
     1685   -1332, -1332,  1066, -1332, -1332,  1066,   152,  1066, -1332, -1332,
     1686   -1332, -1332, -1332, -1332,  9584, -1332,   182, -1332,  8891, -1332,
     1687   -1332,  1193,   795,  1199,  1200,  1204, -1332, -1332,  1678, -1332,
     1688   -1332, -1332, -1332, -1332, -1332, -1332,   907,  9763,  1047, -1332,
     1689   -1332,  1069,  1205,  1201, -1332, -1332,  1206,  1207, -1332,   718,
     1690    1989, -1332,   634, -1332,  2655,   974, -1332,  1211, 11374, 10205,
     1691    8974,  1214, -1332, -1332,  1212,  1217,  1213, -1332, 10919,   229,
     1692     205,  1215, -1332,  1202,   735,  1202,  7012,  6310, -1332, -1332,
     1693    1202, -1332,  1274,  3059, -1332, -1332, -1332, -1332,  1220,  6310,
     1694    1228,   735,  5183, -1332, 10784, -1332,   735, -1332, -1332,  6310,
     1695   -1332,   863,   996, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1696    1030,  8746, -1332, -1332,  7732,  1219, -1332,   876,   996, -1332,
     1697     883,   896,   996, -1332,   810,  4775, -1332, -1332, -1332, 10283,
     1698   10283, -1332,  8420,  8420, -1332,  1221,  1226,  1233,  1235, -1332,
     1699    1234,   643,   137,  1139, -1332,   735, -1332,  3245, -1332,  6310,
     1700     517, -1332,  6892,  1245,  1249, 10726,  1253,  1258,   330,   380,
     1701     387,  6310,  1265,   182,  6310,  6310,  1256,   294,  1269,  1250,
     1702   -1332, -1332, -1332,  1277, -1332, -1332, -1332, -1332, -1332, -1332,
     1703   -1332, -1332, -1332,  1062,  1285,  6310, -1332, 10283, 10283,   102,
     1704    1287, -1332,  9845,  9622,   932,   996, -1332, -1332, -1332, -1332,
     1705   -1332,  1286, -1332, -1332, -1332, -1332,  1293,  1989, -1332, -1332,
     1706    1275, -1332,  1116, -1332, -1332,  1948,  1290, -1332, -1332, -1332,
     1707     749,  1292, -1332,    54,  1295, 10919,  1279,    54,    54,  1305,
     1708    1301, -1332,  1099,  6310,  1308,  1220,   605,    89,  1306, -1332,
     1709    1301, -1332,  1312,  1306, -1332, -1332,  1317, -1332, -1332,  1066,
     1710    1319,  1322,  7252,  1323,  1325,  1326, -1332, -1332,  1329, -1332,
     1711   -1332,  1066, -1332, -1332, -1332, -1332,  1066,  6310,  6310, 10919,
     1712    1330, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1713   -1332, -1332, -1332, 10919, 10919,  1332,  1335,  1306, -1332, -1332,
     1714    1062, -1332, -1332, -1332,  7853, 10205,  6310,  6310,  1394,  6310,
     1715   -1332, -1332,  1321, -1332,  1324,  6310,  1327,  1331,  6310,  1013,
     1716    1333,    97,  8265,  1262,   102, -1332, -1332,  6532,  1334,   537,
     1717   -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
     1718   -1332, 10544, -1332,  8493,  1345, -1332, -1332, 10205,   562,   563,
     1719   -1332,  1343,  1344,   926,  1352, -1332,   450, -1332, -1332,  6310,
     1720    1355,  1349, -1332, -1332,  1356,   543,   613,   735,  1357,  1358,
     1721   -1332,  1361, -1332, 10283, -1332, -1332, -1332, -1332, -1332,  1365,
     1722   -1332, 10283, 10283, 10283, -1332, -1332,  1367, -1332,  1368,  1371,
     1723    1372,   668,  8115,  8231, -1332, -1332,   457, -1332,  1376,  1378,
     1724   -1332,  8566,   750,   782,  1387,   793,  6762, -1332, -1332,   598,
     1725   -1332, -1332,   803,  1388,  1393,   182,  1445,   882, -1332, -1332,
     1726    6310, -1332, 10784, 10726, -1332, -1332, -1332,  1396,  1404, 10283,
     1727   -1332, -1332, -1332,  1401, -1332, -1332, -1332, -1332, -1332, -1332,
     1728   10205,   926,   254, -1332,  1384,   926,  1220,   366, -1332, -1332,
     1729   -1332, -1332, -1332, -1332, -1332, -1332,  1405, -1332, -1332, -1332,
     1730   -1332, -1332, -1332,  1406,  1409, -1332, -1332, -1332, -1332, -1332,
     1731   -1332, -1332,  1414, -1332,  1413, -1332, -1332, 10726,    84,  6310,
     1732   10726, -1332,  1417,  6310, -1332,    99,  1433,  1434, -1332, -1332,
     1733    1422,  1425,  1408,   852, -1332, -1332, -1332, -1332, -1332,  1658,
     1734    1948,  1421,   949,   918, 10919, -1332,   832,  1426,  6310,   735,
     1735     735,  1427,  1431,  1440,  1441, -1332, -1332,  8420,  1428, -1332,
     1736    1501, 10919,  1437, -1332, -1332, 10637, -1332,   845, -1332,  1424,
     1737   10726,  1436, -1332, -1332,  1460, -1332,  1461, -1332,  1476,  1481,
     1738   -1332,  1446,  1471, 10205, -1332, -1332, -1332,   926,   735,  1472,
     1739    1452,  1468, -1332,  1306,  1306, -1332, -1332, -1332, -1332, -1332,
     1740   10726,   295, -1332,   940, -1332, -1332,  5671, -1332, -1332,  1454,
     1741    6310, -1332,  6310,  5671,   182, 10025,   182, 10025,  1478, -1332,
     1742    1482, -1332, -1332, -1332,  1480,   949, -1332,   850, -1332, -1332,
     1743    6310,  1479,  1487, -1332, 10919, 10919, -1332, -1332,  1054,   123,
     1744   -1332, -1332,  1465, -1332,  1054, -1332, -1332,  1818,   735, -1332,
     1745   -1332,   182, 10025,   182, 10025,  1492,  1474,   735, -1332, -1332,
     1746   -1332, -1332, -1332, 10637,  1488,  1054,  6242,  6310, 10548,  1495,
     1747    1054,  1502,  1818,  2347, -1332, -1332, -1332,  1505, -1332, -1332,
     1748   -1332, -1332,  8974, -1332, -1332, -1332, 10415, -1332, 10637, -1332,
     1749   -1332,  1484, 10322, -1332, -1332, 10548,   182,  2347,   182,  1509,
     1750    1510,   853, -1332, 10415, -1332, -1332, -1332, 10322, -1332, -1332,
     1751   -1332,   182,   182, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1752   -1332
    17521753};
    17531754
     
    17551756static const yytype_int16 yypgoto[] =
    17561757{
    1757    -1355,  4671,  3340, -1355,   -29, -1355,  1206,   889,  -259, -1355,
    1758      526,  -532,  -488,  -865,  -161,  3194,     0, -1355,   549,   606,
    1759      623,   581,   600,  1034,  1041,  1036,  1040,  1043, -1355,   464,
    1760     -283,  5428,  -920,  -733,  -959, -1355,  -190,  -730,   365, -1355,
    1761     1538, -1355,   379, -1141, -1355, -1355,   112, -1355, -1341,  -609,
    1762      225, -1355, -1355, -1355, -1355,    48, -1087, -1355, -1355, -1355,
    1763    -1355, -1355, -1355,   300, -1335,    81, -1355,  -312, -1355,   479,
    1764      274, -1355,   149, -1355,  -359, -1355, -1355, -1355,   531,  -852,
    1765    -1355, -1355,     8,  -988,   376,  2486, -1355, -1355, -1355,   -81,
    1766    -1355,    99,  1389,  -187,  1960,  4204, -1355, -1355,    52,   394,
    1767     1565,  -246,  1300, -1355,  1933, -1355, -1355,   110,  2272, -1355,
    1768     2685,  1719, -1355, -1355, -1355,  -675,  -409,  1170,  1171,   683,
    1769      924,   329, -1355, -1355, -1355,   907,   692,   -78, -1355,  -241,
    1770     -263,   674, -1355, -1355,  -862,  -881,  -184,    26,  1049,    86,
    1771    -1355,   983,  -133,  -208,  -209,  -150,   651,   749, -1355,   987,
    1772    -1355,  2825,   209,  -478,   902, -1355, -1355,   684, -1355,  -230,
    1773    -1355,    35, -1355, -1355, -1355, -1207,   404, -1355, -1355, -1355,
    1774     1165, -1355,    44, -1355, -1355,  -853,  -110, -1354,  -104,  3033,
    1775    -1355,  4412, -1355,   896, -1355,  -135,    59,  -173,  -172,  -171,
    1776        7,   -42,   -41,   -40,  1597,    25,    28,    46,  -130,  -170,
    1777     -169,  -165,  -156,  -307,  -519,  -494,  -484,  -542,  -299,  -546,
    1778    -1355, -1355,  -514,  1076,  1082,  1088,  1849,  5102,  -569,  -582,
    1779     -552,  -545,  -556, -1355,  -356,  -684,  -672,  -664,  -598,  -210,
    1780     -201, -1355, -1355,   -10,     5,   -71, -1355,  4129,    37,  -610,
    1781      -23
     1758   -1332,  4383,  1919, -1332,  1457, -1332,    41,     0,  -257, -1332,
     1759     544,  -527,  -514,  -956,  -190,  3713, -1332,  1485,   580,   585,
     1760     548,   602,  1055,  1052,  1056,  1059,  1061, -1332,  -217,  -341,
     1761    5350,  -699,  -697,  -922, -1332,   -83,  -701,  -678, -1332,   561,
     1762   -1332,   399, -1087, -1332, -1332,   141, -1332, -1329,  -838,   252,
     1763   -1332, -1332, -1332, -1332,    71, -1078, -1332, -1332, -1332, -1332,
     1764   -1332, -1332,   325, -1308,    57, -1332,  -297, -1332,   504,   305,
     1765   -1332,   173, -1332,  -305, -1332, -1332, -1332,   558,  -799, -1332,
     1766   -1332,    11, -1027,   151,   658, -1332, -1332, -1332,   -52, -1332,
     1767     117,   913,  -200,  1494,  4071, -1332, -1332,    19,   107,   365,
     1768    -232,  1565, -1332,  2150, -1332, -1332,   134,  2571, -1332,  3063,
     1769    1550, -1332, -1332, -1332,  -643,  -431,  1210,  1216,   707,   947,
     1770     188, -1332, -1332, -1332,   945,   723,  -404, -1332,  -520,  -362,
     1771     293, -1332, -1332,  -990,  -995,   965,  1194,  1083,   304, -1332,
     1772     150,   317,   -75,  -197,  -129,   679,   781, -1332,  1020, -1332,
     1773    3338,  1566,  -427,   948, -1332, -1332,   710, -1332,  -230, -1332,
     1774     -89, -1332, -1332, -1332, -1266,   433, -1332, -1332, -1332,  1195,
     1775   -1332,    22, -1332, -1332,  -865,  -105, -1331,   -98,  1750, -1332,
     1776    2253, -1332,   929, -1332,  -168,   288,  -180,  -179,  -173,     2,
     1777     -34,   -29,   -28,   687,    75,    77,    92,  -161,  -162,  -153,
     1778    -151,  -148,  -320,  -530,  -516,  -495,  -552,  -307,  -529, -1332,
     1779   -1332,  -506,  1106,  1117,  1121,  2218,  5180,  -562,  -569,  -544,
     1780    -538,  -550, -1332,  -429,  -691,  -685,  -671,  -611,  -246,  -241,
     1781   -1332, -1332,  1149,   273,   -84, -1332,  3714,    76,  -612,  -441
    17821782};
    17831783
     
    17851785   positive, shift that token.  If negative, reduce the rule which
    17861786   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1787 #define YYTABLE_NINF -526
     1787#define YYTABLE_NINF -525
    17881788static const yytype_int16 yytable[] =
    17891789{
    1790       50,   115,   151,   152,   153,   108,   108,    99,   269,   116,
    1791      790,   454,   441,   931,   400,   401,   402,   403,   404,   429,
    1792      384,   385,   405,   750,   514,   932,   844,   755,   973,   178,
    1793      869,   406,    50,   933,   767,   507,   262,   108,  1144,    99,
    1794      165,   852,   945,   612,   149,   893,   993,  1091,  1090,   711,
    1795       50,   617,    70,   408,   124,   855,   845,   163,   409,    98,
    1796      678,   862,   843,   846,   188,   819,  1463,   211,   851,   154,
    1797       50,   195,   155,  1202,   218,   108,   145,   228,   221,   178,
    1798      687,    51,   178,  1467,    70,   411,   343,   168,   691,   840,
    1799      156,    98,   931,   426,   400,   401,   402,   403,   404,    64,
    1800       31,   706,   405,   150,   932,   165,   528,   115,   574,    98,
    1801       78,   406,   933,    51,   841,   115,   535,   282,   268,   273,
    1802      125,    31,  1210,   191,   842,  1214,    98,  1319,   178,    98,
    1803     1135,    64,  1400,   408,   204,    31,   604,  1136,   409,  1152,
    1804     1463,  1509,    78,   575,   179,   151,   152,   153,   308,   149,
    1805     1212,   974,   168,  1219,  1220,   535,   163,   115,   346,   484,
    1806      486,  1186,   211,    31,   636,  -235,  -235,   585,   640,   374,
    1807      254,  1215,   412,   586,   778,   283,  1538,   480,  1540,  1184,
    1808     1185,  1467,  1211,  1098,   205,   328,  1467,   188,   188,  1196,
    1809      745,   178,    31,   412,   263,   163,  1320,   264,   410,  1420,
    1810     1421,   436,   676,   268,   535,   420,  1467,   412,    98,  1201,
    1811     1213,    50,   154,  1467,   144,   155,  1264,   146,   163,   682,
    1812      684,    98,  1261,   211,   840,   151,   152,   153,   738,  1192,
    1813      444,  1134,   462,   156,   148,  1483,  -235,   681,   683,  1420,
    1814     1421,   308,   115,   485,  1265,   178,   399,   191,   437,   841,
    1815      293,  1101,   178,    50,   759,   844,  1193,  -470,   108,   842,
    1816       99,   273,   490,   436,   412,   448,   273,   268,   268,  1422,
    1817       98,   596,   673,   115,  1154,   163,   217,   674,   328,   976,
    1818     1037,   739,    98,   855,   469,   845,   532,   665,  -470,   727,
    1819     -470,  1024,   846,   244,  -470,   754,   308,   472,   165,  1345,
    1820      378,   343,   157,   388,  1012,    70,   440,  1036,   308,  1431,
    1821      437,   617,    98,   173,   769,   680,   379,  1202,   840,   389,
    1822      178,   685,   702,    31,   579,   528,   488,   704,   217,   149,
    1823      528,   924,   183,   528,    51,   535,   374,   178,   480,  1110,
    1824     1216,   178,   115,   841,   203,   168,   346,    31,   485,  -291,
    1825      610,   628,    64,   842,   673,   564,   565,   481,   480,   674,
    1826      492,  1186,  1403,    78,   249,   633,   480,   509,    78,   633,
    1827      576,   217,   115,  1091,  1090,   844,    57,   117,   823,   883,
    1828      883,   883,   762,   606,   763,   812,  1551,   764,    98,   852,
    1829      770,   566,   567,   853,    71,   609,   829,   268,   883,   254,
    1830      170,   882,   882,   882,   178,   845,  1562,   188,    57,   611,
    1831      265,  1186,   846,  1566,   374,   935,   914,   860,   604,   609,
    1832      882,   252,   869,   604,   171,   268,    71,   308,   308,  1184,
    1833     1185,   268,   217,   738,   633,   179,  1493,   948,   878,   112,
    1834     1552,   141,   142,   212,   391,   462,   222,  -113,   462,  -521,
    1835       41,    42,   637,  1382,  1407,   115,   641,   699,   115,   -10,
    1836      392,   214,   343,  1193,   328,   328,   191,  1567,  -113,   393,
    1837      217,   288,   883,  1172,  1174,   217,   748,  1202,   889,   331,
    1838     1343,   268,    41,    42,  1202,   394,   739,  1344,  1121,   268,
    1839      502,   633,   503,    50,   882,   727,   374,   744,   108,   728,
    1840       99,  -444,   977,   115,  -445,   532,   894,   532,   523,   738,
    1841      532,   507,   278,   532,  1150,   308,   703,   115,   481,   587,
    1842      308,   412,   308,   308,   400,   401,   402,   403,   404,    78,
    1843      777,  1260,   405,   115,   346,  1186,   711,  1202,   481,   395,
    1844      328,   406,  1035,  1452,  1453,    70,   481,  1037,   280,    78,
    1845      617,   712,    98,   905,  1458,   396,   611,    78,   332,   328,
    1846      217,   907,   739,   883,   408,   884,   885,   713,   178,   409,
    1847      112,   714,   141,   240,    51,  1380,   535,   281,   579,   579,
    1848     1106,    41,    42,   903,   112,   882,   308,   715,   706,   856,
    1849      736,   333,    64,   859,   334,    41,    42,   633,   346,   442,
    1850      178,   335,   628,    78,   760,  -113,  -113,   241,   610,   480,
    1851      610,   761,   242,  1499,   876,   872,   178,   443,   879,   873,
    1852     1499,  -113,   712,   328,   343,   112,   336,  1017,   633,    57,
    1853      727,   178,   829,   633,  1106,   628,    41,    42,   927,   633,
    1854      727,   217,   633,   633,   633,   895,   714,    71,   372,   874,
    1855      831,   953,  1430,   875,   727,  1035,  1199,   956,  1199,  1334,
    1856      692,   633,   928,   268,   782,   870,   586,   839,   373,   611,
    1857      606,   377,  1200,  1548,  1325,  1335,   896,  1048,   651,   874,
    1858      254,   330,   897,  1117,     2,   208,     4,     5,     6,     7,
    1859      112,   217,   711,  1133,   386,   115,   346,   699,  1095,   699,
    1860      343,    41,    42,  1336,   774,   728,   390,   462,     2,   208,
    1861        4,     5,     6,     7,  -106,   871,  -292,   115,  -106,  1337,
    1862     1383,   829,   112,     8,     9,    10,    11,    12,   178,   788,
    1863      590,   886,   412,    41,    42,   633,   958,   628,  1129,  1501,
    1864      398,  1502,  1055,   744,   744,   214,   902,   557,  1015,    35,
    1865      410,    36,    31,   558,   559,   427,   930,   112,   703,   141,
    1866      142,  1349,     2,   208,     4,     5,     6,     7,    41,    42,
    1867       37,   115,   346,    35,    40,    36,   777,   777,  1183,  1368,
    1868       34,    41,    42,  1369,     8,     9,    10,    11,    12,   481,
    1869     1393,   230,    43,   112,   751,   736,  1549,   560,   561,   752,
    1870       78,   673,   839,   611,    41,    42,   674,    44,   428,   702,
    1871      604,   217,    -3,    31,   704,   729,    46,    47,   579,   746,
    1872     1251,   730,   562,   563,  1255,   747,   633,    35,   633,    36,
    1873     1020,   481,  1351,   633,   346,   519,   908,   610,   412,   217,
    1874      728,    34,    78,   509,   217,   433,  1176,   931,  1040,   610,
    1875      728,  1253,   568,   569,   727,   727,   451,   555,   556,   932,
    1876     -113,   911,  -113,   412,   728,  -368,  -113,   933,  1156,    57,
    1877      412,   736,   112,   977,   141,   142,   214,   977,   977,   756,
    1878     -397,  -113,  -113,    41,    42,   757,   831,    71,  1522,    49,
    1879      114,   773,   493,   178,  1527,   555,   839,   774,   738,   470,
    1880      308,   829,   254,   330,   412,   108,  1197,   471,   611,  1293,
    1881     1294,   918,   727,   727,   245,  1547,   462,   774,   114,   114,
    1882     1554,    49,   633,   920,  1001,  1168,   115,   412,  1014,   774,
    1883     1002,   555,   217,    49,   730,   462,   699,  1249,   513,    49,
    1884     1118,   293,  1376,   586,   699,   115,   217,    49,   774,  1377,
    1885      517,   739,    70,    49,  1379,   774,    49,   958,   958,    49,
    1886      774,   522,   744,   536,   537,   538,   533,   115,   308,  1171,
    1887     -293,   609,   108,   114,   114,  1122,  1384,     8,     9,    10,
    1888       11,    12,   774,  1173,   346,   609,  1236,   539,   412,   540,
    1889      777,   541,   542,  1341,   535,   703,  1449,    49,  1468,    64,
    1890       49,   570,  1446,   703,   774,   328,    31,    49,  1005,  1002,
    1891       78,  1515,   571,   143,  1244,  1301,  1302,  1516,  1304,   572,
    1892      346,   611,   573,  1572,   443,  1309,   576,  1311,  1371,   586,
    1893       43,   939,   739,   939,    34,   420,   669,   412,    49,   217,
    1894      339,   633,   633,   774,  1007,   578,    49,   412,   490,   330,
    1895      412,    49,   330,   412,    46,    47,  1330,   870,   536,   537,
    1896      538,   308,  -441,  -294,   728,   728,   108,   243,   246,   594,
    1897        8,     9,    10,    11,    12,   597,    49,    49,   853,   330,
    1898      609,  1401,   539,    -3,   540,  1401,   541,  1322,   727,  1389,
    1899     1390,   462,    49,  1312,  1313,  1314,   727,   727,   727,    31,
    1900       49,   115,   633,  1350,  1352,  1353,   793,   794,   795,    49,
    1901      646,    43,    49,  1204,   666,    43,   958,   214,   667,   114,
    1902     1448,   668,   728,   728,   268,   670,   776,    34,   412,   671,
    1903      957,   214,   609,   672,   114,    46,    47,  1460,   114,    46,
    1904       47,   675,    49,   114,   727,   800,   801,   802,   803,   718,
    1905     1534,   343,  1440,  1002,  1446,  1447,    49,    49,  1494,  1495,
    1906      481,   346,   934,    49,  1420,  1421,   796,   797,   804,   805,
    1907       49,    78,     8,     9,    10,    11,    12,   677,    37,   259,
    1908      176,   177,    40,   695,   934,   798,   799,  1484,  1426,    41,
    1909       42,   717,   720,   178,   131,   722,   132,   133,   134,  -239,
    1910     1106,    31,   758,   273,   115,    41,    42,   113,   771,   108,
    1911     1520,  1460,   221,   775,   779,   373,   -12,   832,    49,   833,
    1912      836,   847,   115,   899,   214,   919,   308,   -13,   466,    34,
    1913      891,   108,   217,    37,   892,   176,   177,    40,    49,    49,
    1914      921,   922,   633,   698,    41,    42,   115,   926,  -418,   947,
    1915      112,   108,   141,   142,  1122,    49,    43,  -525,   961,    49,
    1916      736,    41,    42,   747,   968,  1079,  1331,   970,   975,   981,
    1917      652,   578,   982,   412,   983,  1006,    57,   985,    70,   986,
    1918       46,    47,   987,   988,   997,  1009,    49,  1010,  1092,  1444,
    1919     1011,   633,   633,  1026,    71,  1027,    49,  1028,   728,  1029,
    1920      273,  1030,  1031,  1032,  1112,   308,   728,   728,   728,  1043,
    1921      108,  1560,  -406,  -405,    49,  1057,  1102,  1094,  1103,  1104,
    1922       49,  1105,    49,  1111,  1113,    64,    37,  1114,   992,  1120,
    1923       40,  1130,   774,  1131,  1132,  1166,    78,    41,    42,   115,
    1924     1137,   736,   991,  1123,   108,  1142,    49,  1122,    43,  1145,
    1925     1187,   114,  1050,   917,   728,  1188,  1189,  1204,   400,   401,
    1926      402,   403,   404,   743,   653,   114,   405,   215,  1190,   178,
    1927       49,    -3,    46,    47,  1191,   406,  1205,   234,    49,  1206,
    1928     1208,    37,    49,   176,   177,    40,    49,  1209,  1217,   114,
    1929      118,   114,    41,    42,  1221,  1222,  1533,   408,  1224,   268,
    1930     1229,  1234,   409,  1239,   481,  1241,  1254,  1245,  1250,   502,
    1931     1252,   652,   217,  1257,  1262,    78,   633,   443,   377,   215,
    1932     1258,   673,  1266,  1269,  1271,   114,   674,  1273,   652,  1207,
    1933      114,   652,  1274,  1275,  1303,  1276,  1277,    57,  1279,   161,
    1934      934,  1286,   115,  1295,  1296,   716,  1332,   108,  1306,  1324,
    1935     1122,  1307,  1308,  1338,  1340,    71,  1342,  1310,  1318,  1346,
    1936      474,  1348,   215,  1347,  1507,   115,  1507,  1354,  1355,  1356,
    1937      108,  1153,   115,  1358,   115,  1364,   115,   108,  1365,   114,
    1938     1366,  1367,  1378,   749,  1443,   753,    49,  1374,  1008,   151,
    1939      152,   153,  1375,  1385,  1386,  1314,   260,    49,  1013,    49,
    1940     1394,  1507,  1395,  1507,   161,  1397,  1532,  1414,  1404,   217,
    1941     1407,   115,  1025,   115,  1415,  -407,  1418,  1204,    49,  1429,
    1942     1433,  1435,  1050,   215,  1204,   115,  1437,  1438,  1439,  1445,
    1943      108,  1532,  1532,  1450,    49,  1369,  1454,   324,  1455,   163,
    1944      114,   308,  1456,  1457,  1459,  1469,   340,  1464,  1471,    49,
    1945     1473,   114,    49,   114,  1475,  1477,  1532,  1479,  1482,  1481,
    1946     1487,   215,  1489,   374,   481,  1510,   215,  1512,  1488,   555,
    1947     1500,   481,  1518,  1514,  1519,    78,  1541,  1204,   328,   212,
    1948      222,   508,    78,  1526,  1542,  1546,    49,  1553,    49,  1555,
    1949      488,  1079,  1557,  1570,   175,  1563,   431,   214,   934,  1571,
    1950      435,   114,    57,  1223,   806,  1323,  1521,   114,   808,  1432,
    1951      519,   114,   807,   809,  1573,  1388,  1256,   810,  1405,   114,
    1952       71,  1503,  1123,  1228,   481,   693,   694,  1107,   940,   949,
    1953      324,   457,    49,    49,   890,    78,   231,   255,  1109,   825,
    1954      232,  1056,  1141,   236,   898,   238,    49,   164,  1119,   963,
    1955     1333,   215,   247,   971,   815,     0,   934,   934,   741,     0,
    1956      816,   196,   435,     0,   219,   497,   817,   229,     0,     0,
    1957        0,     0,     0,     0,     0,     0,   442,     0,     0,     0,
    1958        0,    57,   113,     0,     0,   530,  1392,     0,     0,     0,
    1959        0,     0,     0,     0,   443,   943,     0,   161,     0,    71,
    1960        0,   946,     0,     0,     0,   466,     0,     0,     0,     0,
    1961        0,     0,  1181,  1182,     0,  1123,     0,     0,    37,     0,
    1962      185,   186,    40,     0,     0,     0,    49,     0,   766,    41,
    1963       42,   595,   215,   418,     0,   601,     0,     0,    49,     0,
    1964       43,  1419,   783,     0,  1427,   766,   164,   789,   766,   215,
    1965        0,     0,     0,     0,   634,   697,   438,   412,   638,   375,
    1966        0,   340,     0,   698,    46,    47,   446,     0,     0,     0,
    1967     1231,  1232,     0,     0,     0,     0,     0,     0,     0,   231,
    1968        0,   652,   215,     0,     0,   164,   216,     0,   114,  1466,
    1969        0,     0,     0,    37,  1470,     0,   474,    40,     0,     8,
    1970        9,    10,    11,    12,    41,    42,     0,     0,   164,     0,
    1971        0,    49,     0,     0,     0,    43,   324,   324,  1123,     0,
    1972      445,     0,     0,     0,  1492,    49,     0,     0,    31,     0,
    1973      837,     0,   609,    49,   529,     0,     0,     0,   216,    46,
    1974       47,    57,     0,     0,   457,     0,     0,   457,    57,     0,
    1975       37,    49,   185,   186,    40,     0,    34,     0,     0,    71,
    1976        0,    41,    42,     0,     0,   118,    71,   934,   904,     0,
    1977      906,   114,    43,     0,     0,   653,     0,     0,     0,     0,
    1978      652,   216,  1060,    43,   934,     0,     0,   608,   114,   609,
    1979      497,   652,   324,   114,   497,     0,    46,    47,   776,     0,
    1980      412,    57,   215,     0,   530,     0,   530,    46,    47,   530,
    1981     1561,   324,   530,     0,     0,     0,  1561,     0,   231,    71,
    1982      236,     0,   340,     0,     0,     0,   375,  1561,     0,     0,
    1983      215,  1561,     0,    76,     0,   215,   952,     8,     9,    10,
    1984       11,    12,   216,   114,     0,     0,  1357,     0,     0,     0,
    1985        0,     0,     0,     0,  1359,  1360,  1361,   934,   934,     0,
    1986       67,   119,     0,     0,     0,    76,    31,     0,     0,     0,
    1987        0,     0,     0,     0,   653,   324,     0,     0,     0,     0,
    1988      216,   114,   689,     0,     0,   216,   827,    37,     0,   185,
    1989      186,    40,    67,     0,    34,     0,     0,     0,    41,    42,
    1990        0,     0,  1396,   224,   375,     0,     0,     0,   231,    43,
    1991      162,     0,     0,    49,     0,     0,   731,   868,     0,     0,
    1992        0,    43,   601,   215,   697,     0,   412,     0,   877,     0,
    1993      223,     0,     0,    46,    47,     0,   957,   215,   609,     0,
    1994      414,     0,     0,     0,     0,    46,    47,   422,     8,     9,
    1995       10,    11,    12,   529,     0,     0,     0,   508,   529,     0,
    1996        0,   529,     0,     0,     0,     0,     0,   261,     0,     0,
    1997      216,     0,     0,     0,     0,  1060,     0,    31,    37,     0,
    1998      185,   186,    40,     0,   340,     0,     0,     0,   114,    41,
    1999       42,   354,     0,     0,     0,     0,     0,     0,     0,     0,
    2000       43,     0,     0,     0,     0,    34,   457,     0,     0,   329,
    2001       37,    49,   185,   186,    40,   187,     0,   261,   351,   414,
    2002        0,    41,    42,     0,    46,    47,     0,     0,     0,     0,
    2003      215,     0,    43,     0,     0,     0,   497,     0,     0,     0,
    2004        0,     0,     0,     0,     0,     0,     0,   608,   407,   609,
    2005        0,   216,     0,   114,   114,   114,    46,    47,     0,     0,
    2006      340,     0,     0,   425,     0,   450,   430,   432,     0,     0,
    2007        0,   162,     0,   584,     0,     0,     0,     0,     0,     0,
    2008        0,   588,  1299,     0,   591,     0,    76,     0,  1138,     0,
    2009        0,    76,   449,     0,     0,     0,   452,     0,   453,     0,
    2010        0,   216,     0,     0,     0,  1146,     0,   468,   766,     0,
    2011     1146,   652,     0,    67,     0,     0,   916,  1016,   482,     0,
    2012        0,     0,   827,     0,     0,   923,     0,     0,   489,   925,
    2013        0,    37,     0,   185,   186,    40,   432,     0,     0,     0,
    2014        0,     0,    41,    42,     0,     0,     0,    37,   414,   185,
    2015      186,    40,   422,    43,     0,     0,     0,     0,    41,    42,
    2016     1146,     0,     0,     0,     0,     0,     0,     0,  1531,    43,
    2017      412,     0,    79,     0,     0,     0,     0,    46,    47,     0,
    2018        0,     0,     0,     0,   267,   224,     0,    49,    49,     0,
    2019        0,     0,     0,    46,    47,     0,     0,   114,   114,     0,
    2020        0,     0,   261,     0,    79,     0,   602,     0,     0,     0,
    2021        0,   827,   630,     0,     0,   457,     0,     0,     0,     0,
    2022        0,   216,     0,   215,     0,   635,     0,     0,     0,   635,
    2023        0,     0,   261,     0,   457,     0,   114,   414,     0,     0,
    2024        0,     0,   225,     0,     0,     0,     0,     0,     0,   216,
    2025        0,     0,    76,     0,   216,   497,  1124,   324,     0,     0,
    2026        0,     0,     0,     0,     0,     0,     0,   354,     0,     0,
    2027        0,     0,    76,     0,     0,     0,     0,     0,     0,   482,
    2028       76,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    2029      552,     0,     0,     0,   351,    49,   114,     0,     0,   482,
    2030        0,     0,     0,     0,     0,   114,   354,   482,     0,   868,
    2031        0,     0,     0,     0,     0,   553,     0,     0,     0,     0,
    2032       49,    49,     0,     0,   354,     0,    76,   584,   584,     0,
    2033      356,     0,     0,   723,     0,     0,   432,     0,     0,     0,
    2034        0,     0,   216,     0,     0,    49,     0,     0,     0,     0,
    2035        0,   737,     0,    67,     0,     0,   216,     0,     0,     0,
    2036        0,   432,  1100,     0,     0,   432,     0,   354,     0,     0,
    2037     1146,  1146,  1146,     0,     0,     0,     0,     0,     0,     0,
    2038        0,     8,     9,    10,    11,    12,    58,    58,     0,     0,
    2039      457,   827,     0,   261,   351,     0,     0,     0,     0,     0,
    2040        0,     0,     0,   215,     0,     0,     0,     0,     0,     0,
    2041       31,     0,     0,     0,     0,   909,     0,     0,    58,   912,
    2042        0,     0,     0,     0,     0,    79,     0,     0,   766,     0,
    2043       79,   354,     0,     0,     0,     0,     0,     0,    34,   818,
    2044        0,     0,     0,    37,     0,   185,   186,    40,     0,   216,
    2045        0,     0,   414,    58,    41,    42,    58,   635,   830,     0,
    2046        0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
    2047      849,     0,     0,     0,     0,   354,   354,   354,     0,     0,
    2048      697,     0,   412,     0,     0,     0,     0,     0,   602,    46,
    2049       47,     0,     0,   602,   354,     0,     0,     0,     0,   635,
    2050      215,     0,   351,   351,   351,     0,     0,     0,     0,     0,
    2051     1218,   340,   354,     0,  1146,  1146,     0,     0,     0,     0,
    2052        0,   351,     0,    76,   225,     0,     0,     0,     0,   354,
    2053        0,     0,     0,     0,     0,  1124,     0,     0,     0,   723,
    2054        0,     0,     0,     0,   349,     0,     0,     0,     0,     0,
    2055      482,     0,     0,  1485,     0,   261,   737,     0,     0,   936,
    2056        0,     0,     0,     0,     0,    76,     0,   584,   354,     0,
     1790      47,   112,    96,   427,   398,   399,   768,   933,   452,   148,
     1791     266,   400,   113,   934,   149,   150,   791,   406,   871,    67,
     1792     259,   439,   401,   512,   407,   712,   707,   935,   613,   112,
     1793     112,   402,    47,   403,    96,  1203,   404,  1092,   382,   383,
     1794     846,   618,   111,    47,   895,    47,   505,   160,  1187,   854,
     1795    1153,    67,  1185,  1186,   142,    47,   749,    48,   975,   853,
     1796     201,    47,   857,   192,    47,   847,   215,    47,   864,   225,
     1797     342,   848,   751,   820,  1401,   947,   756,  1145,   218,   842,
     1798     845,   112,   112,   995,   398,   399,   933,   279,   409,    48,
     1799    1464,   400,   934,   843,   121,   424,  1468,   406,   605,  1197,
     1800     779,    31,   401,  1091,   407,    47,   935,    68,    47,    31,
     1801     202,   402,   679,   403,   844,    47,   404,    61,   151,   109,
     1802     152,   165,   637,   884,   884,   884,   641,   739,  1421,  1422,
     1803      41,    42,   688,   408,    75,   153,   290,    31,   446,    68,
     1804     692,    31,   884,  1421,  1422,   280,    47,   574,   160,    61,
     1805     148,    54,   114,    31,    47,   149,   150,   467,   783,    47,
     1806    1320,   372,   482,   484,  1464,   978,    75,  -234,  -234,  1510,
     1807     122,   211,   858,   410,  1265,   746,   861,  1484,   483,   251,
     1808     140,   410,   575,    54,    47,    47,   165,   160,     2,   205,
     1809       4,     5,     6,     7,  1468,   141,    31,   878,  1423,  1468,
     1810      47,   881,  1266,   478,  1539,    31,  1541,   418,    47,   410,
     1811     160,   527,   677,  1432,   842,   209,   884,    47,   219,  1468,
     1812      47,   327,   442,   488,  1080,   410,  1468,   112,   843,  1321,
     1813     148,   240,   243,  1193,   536,   149,   150,   674,  -234,   143,
     1814     886,   887,   112,   740,   675,   536,   112,   145,  1187,   844,
     1815      47,   112,    96,    35,   760,    36,   154,   596,   905,   151,
     1816    1194,   152,  1099,  1202,    47,    47,   855,   160,   610,    67,
     1817     846,    47,   470,   105,   105,   862,   153,   610,    47,  1203,
     1818     976,   885,   885,   885,   435,  1102,   342,   703,    95,  1038,
     1819     666,   857,   472,   112,   705,   847,   170,   167,  1187,  1037,
     1820     885,   848,  1185,  1186,   618,   105,   200,    48,   884,   842,
     1821    1025,   536,  1155,  1014,   327,  1136,    -3,   180,   681,   674,
     1822      95,   168,  1137,   843,   686,   376,   675,   441,    47,   386,
     1823     372,   147,   958,    95,   524,   739,   536,  1346,  1135,  1111,
     1824     105,   377,   682,   684,   844,   387,   435,    47,    47,   188,
     1825     683,   685,    95,   389,   605,    95,   831,    68,   937,   176,
     1826     564,   565,  1092,  1404,    47,   478,   285,    61,    47,   390,
     1827    1217,   440,   479,   165,   885,  1220,  1221,    41,    42,   653,
     1828     950,   251,   329,   605,    75,   478,   926,  1208,   605,    75,
     1829     846,  1494,   464,   478,   483,    47,   566,   567,   854,   880,
     1830     585,    54,   109,   521,  -290,    47,   586,   372,   536,   260,
     1831     871,   739,   261,    41,    42,   847,   576,   246,  1194,   916,
     1832     607,   848,  1187,    47,  1017,   251,   755,  1459,  1091,    47,
     1833     527,    47,  1041,   228,    95,   527,   761,   229,   527,  1203,
     1834     233,  1552,   235,   762,  1262,   770,  1203,    95,   342,   244,
     1835    1553,   740,   109,  1453,  1454,    47,   211,   560,   561,   109,
     1836     112,  1563,  1211,    41,    42,   578,   885,   410,  1567,   391,
     1837      41,    42,   397,   188,   112,   579,  -112,  1568,   393,    47,
     1838    1173,  1175,   936,  1408,   874,   392,   249,    47,   875,   372,
     1839    1151,    47,   813,    96,   394,    47,    95,  -112,   112,  1203,
     1840     112,   327,   327,  -520,   936,   979,  1215,  1383,    95,  1107,
     1841      67,   824,  1213,   562,   563,   111,   712,   707,   398,   399,
     1842     653,   438,   263,   105,  1119,   400,   505,   740,   896,   654,
     1843    1261,  1036,   406,  -469,   479,   -10,   401,   112,    95,   407,
     1844     653,  1122,   112,   653,   618,   402,   109,   403,    48,  1080,
     1845     404,    75,   486,   713,   479,  1038,  -443,    41,    42,   907,
     1846    1344,   767,   479,  1107,  -469,  -444,  -469,  1345,   909,   714,
     1847    -469,    75,  -112,  -112,   693,   490,   228,   327,   784,    75,
     1848     586,   767,   507,   790,   767,   789,   275,   211,  -112,  1019,
     1849     112,   715,  -291,   831,   277,  1008,   327,    47,    68,     8,
     1850       9,    10,    11,    12,   278,  1381,   737,   716,    61,    47,
     1851     717,    47,   342,   713,   172,   109,    95,   833,   715,     2,
     1852     205,     4,     5,     6,     7,    75,    41,    42,    31,   929,
     1853      47,   472,   730,  1200,   930,   557,   612,  1134,   731,   478,
     1854     558,   559,    54,   876,  1036,  1394,    47,   877,   750,  1201,
     1855     754,   176,   112,  1200,  1350,   330,    34,   252,    55,    55,
     1856    1523,    47,   327,   112,    47,   112,  1528,  1500,   638,  1326,
     1857     897,   712,   642,  1051,  1500,   500,   607,   501,  1335,  1337,
     1858    1184,   955,  1431,   831,    35,   109,    36,  1548,   342,   331,
     1859      55,  1049,  1555,   188,  1336,  1338,    41,    42,    47,  1420,
     1860      47,   898,  1428,   652,   906,   872,   908,   899,   370,   587,
     1861     607,   410,  1096,   112,   775,  -112,   228,  -112,   233,   112,
     1862     747,  -112,    55,   112,  1352,    55,   748,  1549,   757,   774,
     1863    1384,   112,   161,   332,   758,   775,  -112,  -112,   441,   777,
     1864    1130,   410,   333,   704,    47,    47,   876,  1467,   193,   778,
     1865    1118,   216,  1471,   416,   226,  -105,    37,   920,    47,  -105,
     1866      40,   936,    37,   775,   105,  1056,    40,    41,    42,  1502,
     1867     674,  1503,   954,    41,    42,   605,   436,   675,   703,    95,
     1868    1369,   334,  1493,   612,  1370,   705,   444,     8,     9,    10,
     1869      11,    12,  1154,    43,  1254,  1393,   568,   569,   922,   839,
     1870     739,   610,   892,   146,   775,  1003,   228,   109,   479,   611,
     1871     590,  1004,   410,   347,   737,   910,    31,   410,    41,    42,
     1872       8,     9,    10,    11,    12,    75,  1550,   959,   371,   610,
     1873     763,   211,   764,   161,  1177,   765,  1252,   960,   771,    47,
     1874    1256,   933,  1051,   335,    34,   211,   373,   934,   375,    31,
     1875     479,    47,  1294,  1295,   833,   528,  1007,  1004,  1016,  1250,
     1876    1377,   935,   831,   945,   731,   586,   775,    75,  1562,   948,
     1877     775,  1009,   161,   464,  1562,   384,   979,    34,    55,   388,
     1878     979,   979,   251,   329,   410,  1562,   578,   396,   410,  1562,
     1879     737,   941,  1378,   941,   653,   161,   579,   841,   775,   612,
     1880      37,   112,   653,  1380,    40,   329,   410,   443,    55,   775,
     1881     408,    41,    42,  1385,   115,   913,   740,   410,   936,   775,
     1882     109,    67,   138,   237,    47,   537,   538,   539,  1198,   425,
     1883    1372,    41,    42,   109,   873,   138,   139,   744,    47,   211,
     1884    1390,  1391,  1450,  1078,    41,    42,    47,   745,  1447,   540,
     1885     888,   541,   426,   542,   543,  1469,   431,   238,   158,   449,
     1886    1516,   775,   239,  1573,    47,   904,  1517,  1441,  1004,   586,
     1887     752,  -367,  1157,   919,   410,   753,   936,   936,  -396,    37,
     1888    1123,   182,   183,    40,   112,  1169,   932,   410,   704,   491,
     1889      41,    42,  1172,   653,   610,   511,  1342,   740,   418,   670,
     1890     410,   112,   468,   690,   653,  1174,   112,   610,   290,    68,
     1891     109,   469,   138,   139,   515,   373,   698,   257,   410,    61,
     1892    1245,    41,    42,   158,   699,  1139,   700,   109,   520,   138,
     1893     139,   536,   841,   612,  1447,  1448,    75,   732,    41,    42,
     1894     532,  1237,  1147,   410,   654,   767,   327,  1147,   488,   329,
     1895     410,  1061,   242,    54,   570,   112,  1495,  1496,   323,   855,
     1896     329,   610,   507,  1449,   571,   653,   891,   339,   112,   112,
     1897     112,  1313,  1314,  1315,   528,  1351,  1353,  1354,  1535,   528,
     1898    1461,  1205,   528,   128,  1402,   129,   130,   131,  1402,   572,
     1899     347,   573,   373,   112,    41,    42,  1147,   872,  1421,  1422,
     1900       8,     9,    10,    11,    12,   576,  1078,   338,  1010,  1212,
     1901    1214,  1216,   801,   802,   803,   804,  -440,   429,  1015,   594,
     1902    1124,   433,   667,  1302,  1303,    47,  1305,   841,  1107,    31,
     1903     597,   441,  1309,  1026,   109,  1312,   138,   139,   342,   612,
     1904     797,   798,   647,   654,   668,    41,    42,   799,   800,    55,
     1905     669,   323,   455,  1521,  1461,   671,    37,    34,   182,   183,
     1906      40,   672,    37,   673,   182,   183,    40,    41,    42,    68,
     1907     805,   806,   676,    41,    42,   105,   678,   256,   721,   479,
     1908     696,   718,   759,   433,   723,   719,   495,   936,  -238,   772,
     1909    1485,   347,   776,   609,   162,   610,    75,   780,   834,   609,
     1910     112,   610,   -12,   611,   936,   836,   838,   529,   849,   611,
     1911     158,   901,   -13,    54,   893,   894,   218,   921,   923,   928,
     1912     699,   924,    47,  -417,   977,   949,   704,   653,  -292,  -524,
     1913     963,   970,   748,   972,   704,     8,     9,    10,    11,    12,
     1914     918,   983,   105,  1061,   984,   985,    67,   987,   988,   925,
     1915     989,   990,   612,   927,   595,   999,   347,   602,  1123,   162,
     1916    1011,  1012,  -293,  1013,    31,   112,   112,   112,  1078,     8,
     1917       9,    10,    11,    12,  1027,  1028,   635,   936,   936,   737,
     1918     639,  1029,  1030,   339,     8,     9,    10,    11,    12,  1031,
     1919    1032,  1033,    34,  1044,  -405,  1445,  1427,  -404,    31,  1093,
     1920    1058,   347,   347,   347,  1095,  1103,  1147,  1147,  1147,  1104,
     1921    1105,   211,  1561,    31,  1106,  1112,   993,  1113,  1114,  1115,
     1922     347,  1121,   653,   653,  1131,  1205,    34,  1132,   775,  1167,
     1923    1133,  1138,  1182,  1183,    68,   105,  1143,  1188,   323,   323,
     1924    1146,    34,  1189,  1190,    61,  1191,  1192,   537,   538,   539,
     1925    1300,  1123,   398,   399,  1206,   209,   219,   434,  1207,   400,
     1926     737,    75,  1209,   767,  1078,   406,   455,  1210,  1222,   455,
     1927     401,   540,   407,   541,  1218,   542,  1322,   653,    54,   402,
     1928     653,   403,  1225,   777,   404,   410,  1224,   115,   460,   674,
     1929    1232,  1233,    -3,   778,   347,  1230,   675,  1235,  1124,    47,
     1930      47,  1240,  1534,  1242,   500,  1246,  1251,  1253,   441,   112,
     1931     112,  1255,   495,    68,   323,  1258,   495,  1259,  1078,   434,
     1932    1263,  1078,  1267,   479,  1270,   653,   529,  1272,   529,  1274,
     1933     653,   529,  1275,   323,   529,  1276,   728,  1277,  1278,  1280,
     1934      75,  1304,  1287,   531,  1296,   339,   162,  1297,   112,  1325,
     1935    1147,  1147,   440,  1307,  1123,  1333,  1308,    54,  1339,  1310,
     1936     653,  1341,  1343,  1311,  1348,  1319,  1078,  1347,  1349,  1355,
     1937    1356,  1078,    37,  1357,   182,   183,    40,  1359,   105,  1365,
     1938    1366,  1367,  1368,    41,    42,  1205,   347,  1101,  1375,  1486,
     1939    1376,  1124,  1205,   347,    64,   116,  1379,  1386,   148,   323,
     1940     105,  1078,  1387,   149,   150,  1315,  1395,    47,   112,   698,
     1941     829,   410,   175,   602,  1396,  1398,  1405,   112,  1415,   700,
     1942     105,  1416,  1408,   653,  -406,  1419,    64,  1430,   653,  1434,
     1943    1436,  1438,    47,    47,  1439,   160,  1446,  1455,  1451,   159,
     1944    1440,  1456,   870,  1460,  1370,  1205,   653,   602,   653,  1536,
     1945    1457,  1458,   653,   879,  1465,   653,  1470,    47,  1544,   372,
     1946      55,   220,   175,   653,  1078,   175,  1358,   653,  1472,  1078,
     1947    1474,  1476,  1478,    68,  1360,  1361,  1362,  1480,  1482,   105,
     1948      68,  1483,  1488,   479,  1489,  1490,  1501,  1078,  1511,  1078,
     1949     479,  1519,  1513,  1078,  1124,  1515,  1078,  1527,   258,  1520,
     1950      75,  1542,   460,  1547,  1078,   460,  1543,    75,  1078,   339,
     1951    1554,   175,  1556,   105,   213,  1558,  1564,    54,   327,  1571,
     1952    1572,  1223,  1397,   808,    54,   807,  1324,    55,   809,   212,
     1953     214,   455,   810,    68,  1219,   811,  1522,  1433,  1574,   231,
     1954     328,  1389,  1257,   479,   347,   728,  1504,   241,   258,   349,
     1955    1406,  1229,   942,  1108,     2,   205,     4,     5,     6,     7,
     1956      75,   495,   531,   694,   531,   729,   213,   531,   951,   695,
     1957     531,  1110,  1142,   826,   175,  1057,  1120,    54,   900,   405,
     1958    1334,   212,   214,   227,   816,   339,   742,   973,     8,     9,
     1959      10,    11,    12,     0,   423,   817,   965,   428,   430,   818,
     1960     347,   347,   159,  1444,     0,     0,     0,     0,     0,   213,
     1961       0,     0,     0,     0,     0,     0,   105,    31,     0,    35,
     1962      55,    36,     0,   447,   212,   214,     0,   450,   175,   451,
     1963      37,     0,   173,   174,    40,   175,     0,     0,   466,   105,
     1964       0,    41,    42,  1018,    64,    34,   105,   829,     0,   480,
     1965      37,     0,   182,   183,    40,     0,     0,     0,     0,   487,
     1966       0,    41,    42,     0,     0,     0,     0,   430,   517,     0,
     1967     213,     0,     0,     0,     0,     0,   123,   126,   127,     0,
     1968     728,   534,   535,     0,     0,   212,   214,   698,     0,   410,
     1969     728,     0,     0,   556,     0,     0,     0,   700,     0,   105,
     1970       0,     0,     0,     0,   175,   728,     0,     0,   213,     0,
     1971       0,     0,   213,     8,     9,    10,    11,    12,     0,     0,
     1972     486,   175,     0,   212,   214,   175,     0,   212,   214,   535,
     1973       0,     0,     0,     0,     0,   258,     0,   829,   603,     0,
     1974       0,   455,    31,   506,   631,     0,     0,   253,     0,   254,
     1975       0,     0,     0,     0,     0,     0,     0,   636,     0,     0,
     1976     455,   636,    55,    55,   258,   535,     0,   460,     0,     0,
     1977      34,     0,     0,     0,   729,    37,  1388,   182,   183,    40,
     1978       0,   495,  1125,   323,     0,    55,    41,    42,   175,     0,
     1979      37,     0,   182,   183,    40,     0,     0,     0,     0,   213,
     1980       0,    41,    42,     0,     0,    55,    37,     0,   182,   183,
     1981      40,   480,   184,     0,   212,   214,     0,    41,    42,     0,
     1982       0,    37,   185,   173,   174,    40,   349,  1532,     0,   410,
     1983     395,   480,    41,    42,   870,     0,     0,  1533,     0,   480,
     1984     414,   415,     0,   184,     0,   419,     0,   421,   422,     0,
     1985     347,   347,     0,   185,     0,     0,     0,     0,   371,    55,
     1986       0,     0,     0,     0,    55,   724,     0,     0,   430,     0,
     1987     166,     0,   171,     0,     0,   177,   178,   179,     0,   181,
     1988     213,     0,     0,   738,     0,    64,     0,     0,     0,     0,
     1989       0,     0,     0,   430,   232,   212,   214,   430,    55,     8,
     1990       9,    10,    11,    12,   728,   728,   247,   248,     0,   729,
     1991       0,     0,   212,     0,     0,   455,   829,     0,     0,   729,
     1992      37,     0,   182,   183,    40,     0,   258,   349,    31,     0,
     1993     213,    41,    42,     0,   729,  1505,     0,  1509,     0,     0,
     1994       0,     0,   794,   795,   796,   212,   214,    37,     0,   173,
     1995     174,    40,     0,     0,   175,     0,    34,   264,    41,    42,
     1996       0,     0,   728,   728,     0,     0,     0,   265,     0,     0,
     1997       0,     0,  1538,   819,  1540,   347,     0,   460,     0,     0,
     1998       0,     0,     0,     0,   375,   535,     0,   175,     0,     0,
     1999       0,   636,   832,     0,   603,     0,   460,     0,   959,     0,
     2000     610,    55,     0,   175,     0,   851,     0,     0,   960,     0,
     2001       0,     0,     0,     0,     0,     0,     0,  1569,   175,  1570,
     2002       0,     0,     0,   603,    55,     0,     0,     0,   603,     0,
     2003       0,    55,  1577,  1578,   636,   339,     0,   349,   349,   349,
    20572004       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2058        0,     0,     0,     0,     0,    81,     0,     0,     0,     0,
    2059        0,    79,   482,     0,     0,   351,     8,     9,    10,    11,
    2060       12,     0,     0,     0,   962,   354,   356,   432,     0,    58,
    2061        0,    79,     0,  1535,     0,     0,     0,    81,     0,    79,
    2062        0,     0,  1543,     0,     0,    31,     0,     0,  1124,     0,
    2063        0,   261,   737,     0,     0,     0,     0,   990,     0,    58,
    2064        0,     0,   216,     0,     0,   356,     0,   354,     0,     0,
    2065        0,     0,     0,    34,     0,   226,     0,   354,    37,   354,
    2066      185,   186,    40,   356,   224,    79,     0,   354,     0,    41,
    2067       42,   354,     0,     0,   723,     0,     0,     0,     0,   414,
    2068       43,     0,     0,     0,   723,     0,   351,     0,   635,     0,
    2069        0,  1023,     0,   635,   830,  1531,     0,   412,   723,     0,
    2070        0,     0,     0,     0,    46,    47,   356,     0,  1034,     0,
     2005      73,     0,     0,   213,     0,     0,   349,     0,     0,     0,
     2006    1125,     0,     0,     0,     0,     0,     0,     0,   212,   214,
     2007       0,     0,     0,     0,   724,     0,     0,     0,     0,     0,
     2008       0,   213,    73,     0,    55,   480,   213,     0,     0,     0,
     2009     258,   738,     0,     0,   938,     0,   212,   214,     0,     0,
     2010       0,   212,   214,     0,     0,     0,  1331,     0,     0,     0,
     2011       0,     0,     0,     0,     0,   175,     0,   221,     0,   535,
     2012       0,     0,     0,     0,     0,     0,     0,   480,     0,     0,
     2013     349,     0,     0,   729,   729,     0,     0,     0,   728,   964,
     2014       0,     0,   430,     0,     0,     0,   728,   728,   728,     0,
     2015       0,   460,     0,  1125,     0,     0,     0,     0,     0,     0,
     2016       0,     0,     0,   601,   608,   994,   258,   738,     0,     0,
     2017       0,     0,   992,     0,   213,   632,   633,     0,     0,   125,
     2018     125,   125,     0,     0,     0,     0,     0,     0,   213,   212,
     2019     214,   729,   729,     0,   728,     0,     0,     0,     0,     0,
     2020       0,     0,     0,   212,   214,   352,     0,     0,     0,   724,
     2021       0,     0,   535,     0,     0,     0,     0,     0,     0,   724,
     2022       0,     0,   349,   506,   636,     0,     0,  1024,   636,   832,
     2023       0,     0,   821,   822,   724,     0,     0,     0,     0,     0,
     2024       0,     0,     0,     0,  1035,     0,     0,     0,     0,     0,
     2025     125,     0,   125,     0,     0,     0,  1125,     8,     9,    10,
     2026      11,    12,   856,     0,     0,   859,   860,     0,   863,     0,
     2027     865,   866,     0,     0,     0,   867,   868,   274,     0,   448,
     2028       0,   175,   213,     0,     0,     0,    31,     0,  1507,     0,
     2029    1507,     0,     0,     0,     0,     0,    64,   212,   214,     0,
     2030      73,     0,     0,     0,     0,    73,   412,     0,     0,     0,
     2031       0,     0,     0,   420,    34,     0,     0,     0,   636,    37,
     2032       0,   182,   183,    40,     0,  1507,     0,  1507,     0,     0,
     2033      41,    42,     0,   125,     0,  1332,     0,     0,     0,     0,
     2034       0,   125,     0,   125,   125,     0,     0,     0,   125,     0,
     2035     125,   125,     0,     0,  1117,   323,  1532,     0,   410,   943,
     2036     944,     0,   430,   116,     0,   946,  1533,   729,     0,     8,
     2037       9,    10,    11,    12,     0,   729,   729,   729,     0,     0,
     2038     349,     0,     0,     0,     0,   412,     0,     0,     0,     8,
     2039       9,    10,    11,    12,     0,     0,     0,     0,    31,     0,
     2040     221,     0,     0,     0,     0,     0,   535,     0,     0,     0,
     2041       0,     0,     0,     0,     0,   603,     0,     0,    31,     0,
     2042     125,     0,     0,   729,     0,     0,    34,     0,   428,     0,
     2043       0,    37,     0,   724,   724,    40,   349,   349,     0,     0,
     2044       0,   584,    41,    42,     0,     0,    34,   517,     0,   588,
     2045       0,    37,   591,   182,   183,    40,  1204,     0,     0,     0,
     2046       0,     0,    41,    42,     0,     0,     0,    73,    43,     0,
     2047       0,    76,     0,     0,   213,     0,     0,     0,   146,     0,
     2048       0,     0,   352,     0,     0,     0,     0,    73,   264,   212,
     2049     214,   724,   724,     0,     0,    73,     0,   636,   265,     0,
     2050       0,     0,     0,    76,     0,     0,     0,     0,     0,     0,
     2051       0,     0,     0,     0,     0,   412,     0,     0,     0,   420,
     2052       0,   352,     0,     0,  1508,     0,  1508,     0,   544,   545,
     2053     546,   547,   548,   549,   550,   551,   552,   553,   222,   352,
     2054       0,    73,     0,     0,   952,     0,   953,     0,     0,     0,
     2055       0,     0,     0,   956,   957,     0,   738,     0,   962,     0,
     2056       0,  1508,   554,  1508,   535,     8,     9,    10,    11,    12,
     2057     967,     0,     0,     0,     0,   971,     0,     0,     0,   175,
     2058       0,     0,     0,   352,     0,     0,     0,     0,     0,     0,
     2059       0,     0,     0,     0,    31,     0,     0,     0,     0,  1301,
     2060       0,  1000,     0,     0,   412,     0,     0,     0,     0,     0,
     2061       0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
     2062       0,    64,    34,     0,     0,     0,   354,    37,     0,     0,
     2063       0,    40,     0,     0,     0,   724,     0,   738,    41,    42,
     2064       0,   116,     0,     0,     0,     0,   601,     0,   352,     0,
     2065       0,     0,     0,     0,   213,     0,     0,     0,     0,     0,
     2066       0,     0,     0,     0,   744,     0,     0,   724,     0,   212,
     2067     214,     0,     0,     0,   745,   724,   724,   724,     0,     0,
     2068       0,     0,     0,     0,     0,     0,   349,   349,     0,     0,
     2069       0,     0,     0,   352,   352,   352,   584,   584,     0,     0,
     2070    1204,     0,     0,  1045,  1046,  1047,  1048,     0,  1050,     0,
     2071       0,     0,   352,     0,     0,     0,     0,     0,     0,     0,
     2072       0,    76,     0,   724,  1094,     0,    76,     0,     0,     0,
     2073     352,     0,     0,     0,   116,   125,   125,     0,  1100,     0,
     2074       0,    73,     0,     0,     0,     0,     0,   352,     0,  1234,
     2075       0,   213,     0,     0,     0,     0,   175,     0,     0,     0,
     2076       0,     0,     0,     0,     0,   125,   212,   214,   125,   125,
     2077       0,   125,     0,   125,   125,     0,     0,  1116,   125,   125,
     2078       0,     0,     0,    73,     0,   911,   352,     0,     0,   914,
     2079       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2080      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2081       0,   349,     0,     0,     0,     0,     0,  1144,     0,    31,
     2082       0,   222,   412,   352,  1152,     0,     0,     0,     0,  1156,
     2083       0,     0,     0,     0,  1160,     0,  1161,   116,     0,     0,
     2084    1163,  1164,  1165,     0,     0,  1168,     0,    34,     0,     0,
     2085       0,     0,     0,     0,  1180,     0,     0,   125,  -294,     0,
     2086    1204,     0,   125,   125,     0,   352,     0,  1204,   125,     0,
     2087       0,     0,  1195,  1196,  1323,   352,     0,     0,   352,     0,
     2088       0,     0,     0,   221,     0,   352,     0,     0,    76,     0,
     2089     352,     0,     0,     0,     0,     0,     0,     0,     0,  1226,
     2090       0,     0,  1228,   354,     0,     0,     0,     0,    76,     0,
     2091       0,     0,     0,     0,     0,     0,    76,     0,     0,     0,
     2092    1204,     0,     0,     0,     0,     0,     0,  1557,     0,     0,
     2093       0,     0,     0,     0,     0,     0,     0,   584,     0,     0,
     2094       0,  1244,   354,     0,     0,     0,     0,  1248,  1249,     0,
     2095       0,     0,    73,     0,     0,     0,     0,     0,     0,  1260,
     2096     354,     0,    76,    78,  1264,     0,     0,  1268,     0,  1269,
     2097       0,     0,  1271,     0,     0,     0,     0,     0,     0,     0,
     2098       0,     0,     0,     0,     0,  1279,     0,     0,     0,     0,
     2099       0,     0,     0,     0,     0,    78,   281,   282,  1286,   283,
     2100    1288,  1289,  1290,  1291,   354,     0,     0,     0,     0,     0,
     2101       0,     0,     0,     0,     0,     0,  1298,     0,  1299,     0,
     2102       0,     0,   171,     0,     0,   284,     0,     0,     0,     0,
     2103     223,   649,     0,   138,   139,   286,   352,     0,   287,   650,
     2104     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2105     412,  1327,  1328,   293,     0,     0,     0,     0,     0,     0,
     2106       0,     0,     0,     0,     0,     0,     0,     0,   294,   354,
     2107     651,     0,   652,   379,     0,     0,     0,   296,   380,   298,
     2108     299,   300,   301,     0,     0,     0,     0,     0,     0,   352,
     2109     352,     0,   352,   352,     0,     0,     0,     0,     0,     0,
     2110       0,     0,     0,  1363,  1364,     0,     0,     0,     0,     0,
     2111       0,     0,    73,  1374,   354,   354,   354,     0,   355,     0,
     2112       0,     0,     0,     0,     0,     0,     0,     0,     0,  1158,
     2113       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2114       0,     0,     0,     0,     0,  1170,     0,   352,   352,     0,
     2115       0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
     2116       0,     0,    76,     0,     0,  1407,     0,     0,   354,     0,
     2117       0,     0,     0,     0,     0,     0,     0,  1411,     0,  1412,
     2118    1413,  1414,   281,   282,     0,   283,     0,     0,     0,     0,
     2119       0,  1418,     0,     0,     0,     0,     0,     0,     0,     0,
     2120    1429,     0,     0,     0,    76,     0,     0,   354,     0,     0,
     2121       0,   284,   352,    78,     0,     0,  1442,   285,    78,     0,
     2122       0,   286,  1238,     0,   287,   288,   289,   290,    41,    42,
     2123       0,   291,   292,     0,     0,     0,     0,     0,    85,   293,
     2124       0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
     2125       0,     0,   125,     0,   294,   221,   378,     0,     0,   379,
     2126       0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
     2127      85,     0,  1491,  1492,     0,     0,     0,    73,     0,     0,
     2128       0,     0,     0,     0,     0,  1497,   354,     0,     0,     0,
     2129       0,   352,  1497,   352,     0,     0,   354,     0,     0,   354,
     2130       0,     0,     0,     0,   222,   224,   354,     0,     0,     0,
     2131       0,   354,     0,   223,     0,     0,     0,     0,     0,     0,
     2132       0,     0,     0,   352,     0,  1531,     0,     0,     0,  1537,
     2133       0,   352,   352,   352,     0,     0,     0,     0,     0,     0,
     2134       0,     0,   352,   352,     0,     0,     0,     0,     0,     0,
     2135       0,     0,     0,     0,     0,     0,    73,     0,  1559,     0,
     2136    1560,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2137       0,     0,     0,    76,     0,     0,     0,   125,     0,   352,
     2138      78,     0,     0,     0,     0,     0,     0,     0,  1575,  1576,
     2139       0,     0,     0,   362,     0,   355,  1579,  1580,     0,     0,
     2140      78,     0,     0,     0,     0,     0,  -519,     0,    78,     1,
     2141       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2142      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2143      22,    23,    24,    25,   355,     0,    26,    27,    28,    29,
     2144       0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
     2145       0,     0,   355,     0,    78,     0,     0,   354,     0,     0,
     2146       0,     0,     0,     0,     0,     0,     0,   352,     0,     0,
     2147      33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2148      38,    39,    40,     0,     0,     0,     0,     0,    85,    41,
     2149      42,     0,     0,    85,     0,     0,   355,     0,  1034,     0,
     2150       0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
     2151     354,   354,     0,   354,   354,    43,    73,    44,     0,     0,
     2152       0,     0,     0,    73,     0,    45,     0,     0,   281,   282,
     2153      31,   283,     0,    76,     0,     8,     9,    10,    11,    12,
     2154      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2155      23,    24,    25,  -295,     0,     0,     0,   284,    34,     0,
     2156       0,   355,     0,   285,    31,     0,     0,   286,   354,   354,
     2157     287,   288,   289,   290,    41,    42,    73,   291,   292,     0,
     2158       0,     0,     0,     0,     0,   293,     0,     0,   224,     0,
     2159       0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
     2160     294,     0,   378,  -295,     0,     0,   355,   355,   355,   296,
     2161     827,   298,   299,   300,   301,     0,     0,     0,     0,     0,
     2162       0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
     2163       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2164       0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
     2165       0,     0,     0,     0,    78,    85,     0,     0,     0,   164,
     2166     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2167     362,     0,     0,     0,     0,    85,   222,     0,   217,     0,
     2168       0,     0,     0,    85,     0,     0,     0,     0,     0,     0,
     2169       0,     0,     0,     0,     0,     0,    78,     0,    76,   355,
     2170       0,     0,     0,     0,     0,     0,     0,     0,     0,   362,
     2171       0,     0,   354,     0,   354,     0,     0,     0,     0,     0,
     2172       0,     0,     0,     0,   164,     0,     0,   362,     0,    85,
     2173     271,     0,     0,     0,     0,     0,   355,     0,     0,     0,
     2174       0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
     2175       0,     0,   354,   354,   354,     0,     0,     0,     0,   164,
     2176       0,     0,     0,   354,   354,     0,     0,     0,     0,   368,
     2177       0,   362,     0,   374,     0,     0,     0,    76,   355,     0,
     2178       0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
     2179       0,   355,     0,     0,     0,     0,   223,     0,   355,     0,
     2180     354,     0,     0,   355,     8,     9,    10,    11,    12,    13,
     2181      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2182      24,    25,   164,     0,    26,    27,    28,     0,     0,     0,
     2183       0,     0,     0,    31,   217,     0,   362,     0,     0,     0,
    20712184       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2072        0,     0,     0,     0,     0,    88,     0,     0,     0,     0,
    2073        0,  1124,     0,    76,     0,     0,     0,     0,     0,     0,
    2074        0,     0,     0,   357,     0,     0,     0,     0,     0,     0,
    2075        0,     0,  1387,     0,     0,     0,     0,    88,  1157,     0,
    2076       67,     0,     0,  1506,     0,  1506,     0,     0,     0,     0,
    2077      356,     0,     0,     0,     0,  1169,     0,     0,     0,     0,
    2078        0,     0,   635,     8,     9,    10,    11,    12,     0,     0,
    2079        0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
    2080     1506,     0,  1506,     0,     0,     0,     0,     0,     0,     0,
    2081        0,     0,    31,     0,   356,   356,   356,   354,  1116,     0,
    2082      349,     0,   216,     0,     0,     0,   432,   119,     0,     0,
    2083      324,     0,     0,   356,     0,     0,     0,     0,    81,     0,
    2084       34,     0,     0,    81,   351,    37,     0,   185,   186,    40,
    2085        0,   356,  1237,     0,     0,     0,    41,    42,     0,     0,
    2086        0,     0,    79,     0,     0,     0,     0,    43,   356,     0,
    2087        0,   354,   354,     0,   354,   354,     0,     0,     0,    58,
    2088      602,     0,   187,   364,     0,     0,     0,     0,     0,     0,
    2089        0,    46,    47,   430,    76,     0,     0,     0,   723,   723,
    2090        0,   351,   351,     0,    79,     0,     0,   356,     0,     0,
    2091        0,  1504,     0,  1508,     0,     0,     0,     0,     0,   216,
    2092      349,  1203,     0,     0,     0,     0,     0,     0,     0,   354,
    2093      354,     0,     0,     0,     0,     0,     0,   226,     0,     0,
    2094        0,     0,     0,     0,   356,     0,     0,     0,  1537,     0,
    2095     1539,     0,     0,     0,     0,     0,   723,   723,     0,   126,
    2096      129,   130,   635,     0,     0,     0,     0,     0,     0,     0,
    2097        0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
    2098        0,     0,     0,    88,   349,     0,   356,     0,     0,     0,
    2099        0,     0,     0,  1568,   354,  1569,   356,     0,   356,     0,
    2100        0,     0,     0,   225,    81,     0,   356,     0,  1576,  1577,
    2101      356,     0,     0,     0,     0,     0,     0,     0,     0,   357,
    2102        0,   737,     0,     0,    81,     0,     0,     0,   349,   349,
    2103      349,     0,    81,   256,     0,   257,     0,   224,     0,     0,
    2104        0,     0,     0,     0,     0,     0,     0,   349,     0,     0,
    2105        0,     0,     0,     0,     0,     0,     0,     0,   357,    76,
    2106        0,     0,     0,     0,  1300,     0,     0,     0,     0,     0,
    2107        0,     0,    79,   354,     0,   354,   357,   227,    81,     0,
    2108        0,     0,   261,     0,     0,     0,    67,     0,     0,     0,
     2185       0,     0,   164,   461,     0,     0,     0,     0,     0,     0,
     2186       0,    34,     0,     0,     0,    78,     0,     0,   206,    39,
     2187       0,     0,     0,     0,     0,     0,   374,     0,     0,     0,
     2188       0,   362,   362,   362,   164,     0,     0,     0,   354,     0,
     2189       0,     0,     0,     0,   514,     0,   516,   519,     0,     0,
     2190     362,     0,     0,     0,   522,   523,     0,     0,   461,   516,
     2191     516,   164,     0,   270,     0,     0,     0,     0,   362,     0,
     2192       0,   516,     0,     0,     0,     0,     0,     0,     0,    85,
     2193       0,     0,     0,     0,     0,   362,     0,    76,   281,   282,
     2194       0,   283,     0,     0,    76,     0,     0,     0,     0,   355,
     2195       0,     0,     0,     0,     0,     0,     0,   516,   606,     0,
     2196       0,     0,     0,   630,     0,     0,     0,   284,     0,     0,
     2197       0,    85,     0,   285,   362,     0,     0,   286,     0,     0,
     2198     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2199       0,     0,     0,   516,     0,   293,     0,    76,     0,     0,
     2200       0,     0,   355,   355,     0,   355,   355,     0,     0,     0,
     2201     294,   362,   378,     0,     0,     0,     0,     0,   812,   296,
     2202     380,   298,   299,   300,   301,    78,     0,     0,     0,     0,
     2203       0,     0,     0,     0,     0,   210,     0,     0,     0,   164,
     2204     164,     0,     0,     0,     0,   230,   368,   234,     0,   236,
     2205       0,     0,     0,   362,     0,     0,   245,     0,     0,     0,
     2206     355,   355,     0,   362,     0,     0,   362,   461,     0,     0,
     2207     461,   224,     0,   362,     0,     0,     0,     0,   362,     0,
     2208       0,     0,     0,     0,     0,     0,     0,   210,     0,   234,
     2209     236,   245,     0,     0,     0,     0,     0,     0,     0,     0,
     2210       0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
     2211       0,     0,     0,     0,     0,   164,     0,     0,     0,     0,
     2212       0,     0,     0,     0,     0,   355,     0,   461,     0,   461,
     2213     210,     0,   461,     0,   164,   461,     0,     0,     0,     0,
     2214      85,     0,     0,     0,     0,     0,     0,   368,     0,     0,
    21092215       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2110      723,     0,   737,     0,     0,   354,   119,     0,     0,     0,
    2111        0,     0,     0,   354,   354,   354,   397,     0,     0,   357,
    2112        0,   349,     0,     0,   354,   354,   416,   417,     0,     0,
    2113        0,   421,   723,   423,   424,     0,     0,     0,    76,     0,
    2114      723,   723,   723,     0,    88,     0,     0,     0,     0,     0,
    2115        0,   351,   351,     0,     0,     0,   356,     0,     0,   364,
    2116        0,   354,     0,     0,    88,  1203,     0,     0,     0,     0,
    2117        0,     0,    88,     0,     8,     9,    10,    11,    12,     0,
    2118        0,     0,     0,   357,     0,     0,     0,     0,   723,     0,
    2119        0,     0,     0,     0,     0,     0,     0,     0,   364,   119,
    2120        0,     0,     0,    31,     0,     8,     9,    10,    11,    12,
    2121      356,   356,   349,   356,   356,     0,   364,     0,    88,     0,
    2122      349,     0,     0,     0,     0,     0,     0,   357,   357,   357,
    2123        0,    34,     0,    79,    31,     0,    37,     0,   185,   186,
    2124       40,     0,     0,     0,     0,     0,   357,    41,    42,   354,
    2125        0,     0,     0,     0,     0,     0,     0,     0,    43,   364,
    2126        0,     0,    34,     0,   357,     0,     0,    37,   356,   356,
    2127        0,    40,     0,   267,     0,    81,   351,     0,    41,    42,
    2128        0,   357,    46,    47,     0,     0,    58,     0,     0,    43,
    2129        0,     0,     0,     0,   169,     0,   174,     0,    76,   180,
    2130      181,   182,   119,   184,    44,    76,     0,     0,     0,     0,
    2131        0,     0,     0,    46,    47,     0,     0,    81,   235,     0,
    2132      357,     0,     0,   364,     0,  1203,     0,     0,     0,     0,
    2133      250,   251,  1203,   356,     8,     9,    10,    11,    12,     0,
     2216       0,     0,     0,     0,     0,     0,     0,     0,   223,     0,
     2217     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
     2218     516,   516,   516,   516,   516,   516,   516,   516,     0,     0,
     2219      78,   210,     0,   234,   236,   245,     0,     0,     0,     0,
     2220     164,     0,     0,     0,   355,     0,   355,     0,     0,     0,
     2221       0,     0,   368,   516,   606,     0,     0,   837,     0,     0,
     2222       0,     0,     0,     0,   362,     0,     0,     0,     0,   210,
     2223       0,     0,     0,   210,     0,     0,   355,     0,     0,     0,
     2224       0,     0,     0,   606,   355,   355,   355,     0,   606,   504,
     2225       0,     0,     0,     0,     0,   355,   355,   368,   368,   368,
     2226       0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
     2227       0,     0,     0,     0,     0,     0,   368,   362,   362,     0,
     2228     362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
     2229       0,     0,   355,     0,     0,     0,     0,     0,     0,   210,
     2230      85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2231       0,   741,   516,     0,     0,     0,     0,     0,     0,     0,
     2232     210,     0,     0,     0,     0,   234,   236,   155,     0,     0,
     2233       0,     0,   461,   245,   516,   362,   362,     0,     0,     0,
     2234       0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2235     368,     0,   961,     8,     9,    10,    11,    12,    13,    14,
     2236      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2237      25,     0,     0,   250,     0,     0,   210,     0,     0,     0,
     2238     355,     0,    31,   255,     0,     0,     0,   741,     0,     0,
     2239       0,     0,     0,   516,   210,     0,     0,     0,     0,   210,
     2240     362,   210,     0,     0,     0,     0,     0,     0,     0,     0,
     2241      34,     0,     0,     0,     0,     0,     0,     0,   210,     0,
     2242       0,   210,   210,     0,     0,   516,     0,     0,     0,    78,
     2243       0,     0,     0,     0,     0,     0,    78,   210,     0,   155,
     2244     516,     0,   368,   224,     0,     0,   630,     0,     0,   368,
     2245       0,   210,     0,   385,     0,     0,     0,     0,   210,     0,
     2246       0,     0,     0,     0,     0,    85,     0,     0,     0,     0,
     2247       0,     0,     0,     0,     0,     0,   417,     0,     0,   362,
     2248       0,   362,     0,     0,     0,     0,     0,     0,     0,    78,
     2249     432,     0,     0,     0,     0,     0,     0,     0,     0,   437,
     2250       0,     0,     0,     0,     0,     0,     0,     0,     0,   445,
     2251       0,   362,     0,     0,     0,     0,     0,     0,     0,   362,
     2252     362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
     2253     362,   362,     0,     0,   471,     0,     0,     0,     0,   481,
     2254       0,     0,   461,     0,    85,     0,     0,     0,     0,     0,
     2255       0,     0,   489,     0,     0,     0,     0,     0,   499,     0,
     2256     503,   461,     0,     0,     0,     0,     0,   362,     0,     0,
     2257       0,     0,     0,     0,   210,     0,     0,     0,   533,     0,
     2258       0,     0,     0,     0,   164,     0,     0,     0,     0,     0,
     2259       0,   516,     0,     0,     0,     0,     0,     0,     0,     0,
     2260     368,     0,   210,     0,     0,     0,     0,   210,     0,     0,
    21342261       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2135        0,     0,     0,    58,     0,     0,     0,   357,    76,     0,
    2136        0,     0,     0,    31,     0,     0,     0,   364,   364,   364,
    2137      349,     0,     0,     0,     0,     0,   225,     0,   516,     0,
    2138      518,   521,     0,     0,     0,  1203,   364,     0,   524,   525,
    2139        0,    34,  1556,     0,     0,     0,    37,     0,    79,   357,
    2140       40,     0,   518,   518,   364,     0,     0,    41,    42,   357,
    2141        0,   357,   356,     0,   356,    88,   226,     0,    43,   357,
    2142        0,   364,     0,   357,     0,     0,     0,   349,   349,     0,
    2143        0,     0,     0,   743,     0,     0,     0,     0,     0,     0,
    2144      518,     0,    46,    47,   356,   284,   285,    58,   286,     0,
    2145        0,     0,   356,   356,   356,     0,     0,    88,     0,     0,
    2146      364,     0,     0,   356,   356,     0,     0,     0,     0,     0,
    2147        0,     0,     0,     0,   287,     0,   518,    79,     0,     0,
    2148      648,     0,   141,   142,   289,    81,     0,   290,   649,   292,
    2149      293,    41,    42,     0,   294,   295,     0,   364,     0,     0,
    2150      356,     0,    43,     0,     0,     0,     0,     0,     0,     0,
    2151        0,     0,     0,     0,     0,   820,   821,   296,     0,   650,
    2152        0,   651,   381,     0,     0,     0,    46,    47,   298,   299,
    2153      300,   301,     0,     0,     0,     0,     0,     0,     0,   364,
    2154        0,     0,     0,     0,   854,     0,     0,   857,   858,   364,
    2155      861,   364,   863,   864,     0,     0,   227,   865,   866,   364,
    2156        0,     0,     0,   364,     0,     0,     0,     0,     0,   357,
     2262       0,   593,   516,     0,     0,     0,   598,     0,     0,     0,
     2263       0,     0,     0,     0,   516,   606,     0,     0,     0,     0,
    21572264       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2158        0,     0,     0,     0,     0,   599,     0,   607,   356,    58,
    2159       58,     0,     0,     0,     0,     0,     0,     0,   631,   632,
     2265       0,     0,     0,     0,   644,   362,   368,   368,   645,   646,
     2266       0,   648,     0,     0,     0,     0,     0,     0,   660,   661,
     2267       0,   662,   663,     0,   664,   516,   665,     0,     0,     0,
     2268       0,     0,  1178,     0,     0,     8,     9,    10,    11,    12,
     2269       0,     0,     0,   593,     0,   210,     0,     0,     0,     0,
     2270       0,   680,     0,     0,    85,     0,     0,     0,     0,   210,
     2271       0,    85,   281,   282,    31,   283,   461,     0,     0,     0,
     2272       0,     0,     0,     0,     0,     0,   691,     0,     0,   504,
     2273       0,     0,     0,     0,     0,     0,     0,   697,     0,     0,
     2274       0,   284,    34,     0,     0,     0,     0,   285,   516,     0,
     2275       0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2276     733,   291,   292,     0,    85,     0,   736,     0,     0,   293,
     2277       0,   471,     0,     0,     0,     0,   741,     0,     0,     0,
     2278       0,     0,     0,     0,   294,     0,   378,     0,     0,     0,
     2279     210,     0,   516,   296,  1179,   298,   299,   300,   301,     0,
     2280       0,     0,     0,   210,     0,     0,   516,   516,   773,     0,
     2281       0,     0,     0,     0,     0,     0,     0,     0,   217,     0,
     2282       0,     0,   210,     0,   788,     0,     0,     0,     0,     0,
     2283       0,   204,     2,   205,     4,     5,     6,     7,     8,     9,
     2284      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2285      20,    21,    22,    23,    24,    25,     0,   741,    26,    27,
     2286      28,   815,     0,     0,     0,     0,     0,    31,     0,     0,
     2287     825,     0,     0,     0,     0,     0,     0,   828,     0,     0,
     2288       0,     0,   835,     0,     0,     0,     0,     0,     0,     0,
     2289       0,     0,     0,   850,     0,    34,     0,    35,     0,    36,
     2290      37,     0,   206,    39,    40,     0,   368,   368,     0,   210,
     2291       0,    41,    42,     0,     0,   217,     0,     0,     0,     0,
    21602292       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2161        0,     0,    58,     0,     0,     0,     0,     0,     0,     0,
    2162        0,     0,     0,   357,   357,    88,   357,   357,     0,     0,
    2163        0,     0,    58,     0,     0,     0,     0,    79,     0,     0,
    2164        0,   941,   942,     0,    79,     0,    81,   944,     0,     0,
    2165        0,   518,   518,   518,   518,   518,   518,   518,   518,   518,
    2166      518,   518,   518,   518,   518,   518,   518,   518,   518,     0,
    2167        0,   284,   285,     0,   286,     0,     0,   349,   349,     0,
    2168        0,   357,   357,     0,     0,     0,    58,     0,     0,     0,
    2169        0,    58,     0,     0,     0,     0,     0,    79,     0,     0,
    2170      287,     0,     0,     0,     0,     0,   288,     0,     0,   364,
    2171      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2172      294,   295,     0,     0,     0,    58,     0,     0,    43,     0,
     2293       0,     0,     0,     0,   890,   210,     0,    43,     0,   207,
     2294       0,     0,     0,     0,     0,     0,     0,   208,     0,     0,
    21732295       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2174        0,     0,     0,   296,     0,   380,   357,     0,   381,     0,
    2175        0,     0,    46,    47,   298,   299,   300,   301,     0,     0,
    2176        0,     0,     0,   364,   364,     0,   364,   364,     0,     0,
     2296       0,     0,     0,   210,     0,     0,     0,     0,     0,     0,
     2297     835,     0,     0,     0,     0,     0,     8,     9,    10,    11,
     2298      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2299      22,    23,    24,    25,  -294,   210,    26,    27,    28,     0,
     2300       0,     0,     0,     0,     0,    31,   210,     0,     0,     0,
     2301       0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2302       0,     0,     0,     0,     0,   250,     0,     0,     0,     0,
     2303       0,   368,     0,    34,   516,   968,   969,     0,     0,     0,
     2304      38,    39,     0,     0,  -294,     0,     0,     0,     0,   986,
    21772305       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2178        0,     0,     0,     0,     0,     0,    88,     0,     0,   226,
    2179        0,     0,   518,     0,     0,     0,     0,     0,     0,     0,
    2180        0,     0,   349,     0,     0,     0,     0,     0,     0,     0,
    2181        0,    81,     0,     0,   518,     0,     0,     0,     0,     0,
    2182        0,   364,   364,     0,     0,   357,     0,   357,    58,     0,
     2306       0,     0,     0,     0,     0,     0,  1001,     0,  1002,     0,
     2307       0,     0,  1006,     0,     0,   643,     0,   338,     0,     0,
     2308       0,     0,     0,     0,     0,   110,     0,     0,   210,   461,
     2309       0,   461,     0,     0,     0,     0,     0,     0,     0,     0,
     2310       0,     0,     0,     0,     0,     0,     0,   516,   516,     0,
     2311       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2312     281,   282,     0,   283,     0,     0,   461,     0,   461,     0,
     2313       0,     0,     0,     0,     0,     0,     0,     0,  1039,     0,
     2314       0,     0,     0,     0,     0,  1040,     0,     0,     0,   284,
     2315       0,     0,     0,     0,     0,   285,   164,     0,  1042,   286,
     2316    1043,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2317     292,     0,     0,     0,  1055,   210,     0,   293,     0,     0,
     2318       0,  1059,     0,     0,     0,     0,     0,     0,     0,     0,
     2319       0,     0,   294,  1097,   378,     0,  1098,     0,     0,   781,
     2320       0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
     2321       0,     0,     0,     0,   598,     0,     0,     0,     0,     0,
     2322       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2323       0,     0,     0,     0,   341,   363,     0,     0,     0,     0,
     2324       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2325       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2326       0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
     2327       0,     0,   210,     0,     0,   413,     0,     1,     2,     3,
     2328       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2329      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2330      24,    25,     0,  1162,    26,    27,    28,    29,     0,     0,
     2331      30,     0,     0,    31,    32,     8,     9,    10,    11,    12,
     2332      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2333      23,    24,    25,     0,     0,    26,    27,    28,    33,     0,
     2334       0,    34,     0,    35,    31,    36,    37,   413,    38,    39,
     2335      40,     0,     0,     0,     0,     0,     0,    41,    42,   533,
     2336       0,     0,     0,     0,     0,     0,  1227,     0,     0,     0,
     2337       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2338      39,     0,     0,    43,     0,    44,     0,     0,     0,  -523,
     2339       0,     0,     0,    45,     0,   321,  1241,     0,     0,     0,
     2340       0,  1243,     0,   413,     0,   345,     0,     0,     0,  1247,
     2341       0,   413,   589,     0,   413,   592,     0,   381,   381,     0,
     2342       0,     0,     0,     0,   363,     0,     0,     0,   622,     0,
     2343       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2344    1273,     0,     0,     0,     0,     0,     0,   640,     0,     0,
     2345     341,     0,  1281,     0,     0,  1282,     0,  1283,     0,     0,
     2346     281,   282,     0,   283,     0,     0,     0,     0,     0,     0,
     2347       0,  1292,  1293,     0,     0,     0,     0,   413,     0,     0,
     2348       0,   413,     0,     0,     0,     0,     0,     0,   321,   284,
     2349       0,     0,     0,  1306,     0,   285,     0,     0,     0,   286,
     2350       0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2351     292,     0,   363,   485,     0,     0,     0,   293,     0,     0,
     2352    1329,     0,     0,     0,     0,     0,     0,     0,   210,     0,
     2353       0,     0,   294,     0,   378,   413,     0,   993,     0,     0,
     2354       0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
     2355       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2356       0,     0,     0,     0,     0,     0,   413,     0,     0,   363,
     2357       0,     0,     0,     0,     1,     2,   205,     4,     5,     6,
     2358       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2359      17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
     2360       0,    26,    27,    28,    29,     0,     0,    30,     0,   413,
     2361      31,     0,   341,   363,     0,     0,     0,     0,  1399,     0,
     2362    1400,     0,     0,     0,     0,     0,     0,     0,     0,   381,
     2363       0,     0,     0,  1409,     0,  1410,     0,     0,    34,     0,
     2364      35,     0,    36,     0,     0,    38,    39,     0,     0,  -294,
     2365       0,     0,     0,  1417,     0,     0,     0,     0,   413,   413,
     2366       0,     0,     0,     0,     0,     0,     0,     0,     0,  1435,
     2367    1437,     0,     0,     0,     0,     0,     0,   830,   363,     0,
     2368     363,  1443,    44,     0,  1247,     0,     0,     0,     0,   622,
     2369     110,   622,   622,     0,     0,     0,     0,     0,   622,     0,
     2370       0,     0,     0,     0,     0,     0,  1466,     0,   869,   363,
     2371       0,     0,     0,     0,   363,  1473,     0,     0,  1475,     0,
     2372    1477,  1479,  1481,   363,   363,   363,     0,     0,     0,     0,
     2373       0,   735,     0,     0,     0,     0,     0,     0,     0,     0,
     2374       0,     0,   363,     0,     0,     0,     0,   413,   912,     0,
     2375       0,   413,   915,     0,     0,     0,     0,     0,   917,     0,
     2376       0,     0,  1512,     0,  1514,     0,     0,  1247,     0,     0,
     2377     769,     0,     0,     0,     0,     0,   341,   363,   413,     0,
     2378     413,     0,  1526,   782,   413,     0,     0,     0,     0,     0,
     2379     769,     0,     0,   769,     0,     0,     0,     0,     0,     0,
     2380       0,     0,     0,     0,   792,   793,     0,     0,     0,     0,
     2381       0,     0,     0,     0,     0,     0,   363,   622,     0,     0,
     2382       0,     0,     0,     0,     0,     0,   814,     0,     0,     0,
     2383       0,     0,     0,     0,     0,     0,   823,     0,     0,     0,
     2384       0,     0,     0,   345,     0,     0,     0,     0,   782,     0,
     2385       0,     0,   341,   363,     0,     0,     0,   413,   413,     0,
     2386       0,     0,     0,     0,     1,     2,     3,     4,     5,     6,
     2387       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2388      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2389       0,    26,    27,    28,    29,     0,     0,    30,   889,   413,
     2390      31,    32,     0,     0,     0,     0,     0,   381,   363,     0,
     2391       0,     0,     0,     0,   830,   363,     0,     0,     0,   622,
     2392       0,   622,     0,     0,     0,    33,     0,     0,    34,     0,
     2393      35,   622,    36,    37,     0,    38,    39,    40,     0,     0,
     2394       0,     0,     0,     0,    41,    42,     0,   345,     0,     0,
     2395       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2397      43,     0,    44,     0,     0,     0,     0,     0,     0,     0,
     2398      45,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2399      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2400      23,    24,    25,  -294,   830,    26,    27,    28,     0,     0,
     2401       0,     0,   413,     0,    31,     0,     0,     0,   413,     0,
     2402       0,     0,     0,   782,     0,   991,   413,     0,     0,     0,
     2403       0,   996,     0,     0,     0,     0,     0,     0,  1005,   622,
     2404     622,     0,    34,     0,     0,     0,     0,    37,     0,   336,
     2405     337,    40,     0,  -294,     0,     0,     0,     0,    41,    42,
     2406       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2407       0,     0,   413,     0,     0,     0,     0,     0,     0,     0,
     2408       0,     0,  1022,  1023,   643,   345,   338,     0,     0,     0,
     2409       0,   413,  1159,     0,   634,     0,     0,     0,     0,     0,
     2410     345,   363,     0,     0,     0,     0,     0,   413,  1171,     0,
     2411     622,   622,  1176,     0,     0,     0,     0,     0,     0,     0,
     2412       0,     0,   363,   363,     0,     0,     0,     0,     0,     0,
     2413       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2414    1053,     0,     0,     0,   381,     1,     2,   205,     4,     5,
     2415       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2416      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2417       0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
     2418       0,    31,     0,   830,   413,  1239,     0,     0,     0,     0,
     2419       0,     0,     0,     0,     0,     0,     0,   622,     0,     0,
     2420       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2421       0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
     2422     321,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2423       0,     0,     0,     0,     0,     0,  1140,  1141,     0,     0,
     2424       0,     0,   363,   381,     0,     0,     0,   281,   282,   996,
     2425     283,     0,  1150,    44,   769,     0,     0,     0,     0,     0,
     2426       0,   110,     0,     0,     0,     0,     0,     0,     0,     0,
     2427       0,     0,     0,     0,  1166,     0,   284,     0,     0,     0,
     2428       0,     0,   285,     0,     0,  1181,   286,     0,     0,   287,
     2429     288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
     2430       0,     0,   341,     0,   293,   281,   282,   381,   283,  1199,
     2431       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2432       0,   378,     0,   363,   996,   996,     0,     0,   296,   380,
     2433     298,   299,   300,   301,   284,     0,     0,     0,     0,     0,
     2434     285,     0,     0,     0,   286,  1231,     0,   287,   288,   289,
     2435     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2436       0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
     2437       0,     0,   363,   363,     0,     0,     0,   294,     0,   378,
     2438       0,     0,     0,     0,     0,     0,   296,   734,   298,   299,
     2439     300,   301,     0,   996,     0,     0,     0,     0,     0,     0,
     2440       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2441       0,     0,   889,     0,     0,     0,     0,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,  1284,  1285,     0,
     2443       0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     2444       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2445      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2446       0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
     2447     282,    31,  1062,  1063,     0,  1064,     0,     0,  1065,  1066,
     2448    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
     2449       0,     0,     0,  1074,  1075,     0,    33,   363,   284,    34,
     2450       0,    35,     0,    36,   649,     0,    38,    39,   286,   996,
     2451       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2452       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2453       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2454       0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
     2455     296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
     2456    1077,     0,     0,     0,  -129,     0,     0,     0,     0,     0,
     2457    1392,     0,   769,     0,     0,     0,     0,     0,     0,     0,
     2458       0,     0,     0,     0,     0,     0,     0,   413,     8,     9,
     2459      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2460      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2461      28,     0,   413,   413,     0,     0,     0,    31,     0,     0,
     2462       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2463       0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
     2464       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2465       0,     0,   206,    39,     0,     0,     0,     0,  1452,     0,
     2466       0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     2467       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2468      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2469       0,     0,    26,    27,    28,    29,     0,   629,    30,   281,
     2470     282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
     2471      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2472      25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
     2473       0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
     2474    1518,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2475       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2476      34,     0,     0,     0,     0,   109,     0,    38,    39,     0,
     2477       0,   294,     0,  1076,     0,     0,    41,    42,     0,     0,
     2478     296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
     2479       0,     0,   321,     0,  -129,     1,     2,   205,     4,     5,
     2480       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2481      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2482       0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
     2483     282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
     2484      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2485      25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
     2486       0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
     2487       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2488       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2489      34,     0,     0,     0,     0,     0,     0,   206,    39,     0,
     2490       0,   294,     0,    44,     0,     0,     0,     0,     0,     0,
     2491     296,   297,   298,   299,   300,   301,     2,   205,     4,     5,
     2492       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2493      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2494       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2495     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2496       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2497       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2498       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2499       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2500       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2501       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2502       0,   294,     0,   343,     0,     0,     0,     0,   781,     0,
     2503     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2504       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2505      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2506       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2507     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2508       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2509       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2510       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2511       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2512       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2513       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2514       0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
     2515     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2516       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2517      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2518       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2519     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2520       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2521       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2522       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2523       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2524       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2525       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2526       0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
     2527     296,   600,   298,   299,   300,   301,     2,   205,     4,     5,
     2528       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2529      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2530       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2531     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2532       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2533       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2534       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2535       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2536       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2537       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2538       0,   294,     0,   343,     0,     0,     0,     0,     0,     0,
     2539     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2540       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2541      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2542       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2543     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2544       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2545       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2546       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2547       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2548       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2549       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2550       0,   294,     0,   931,     0,     0,     0,     0,     0,     0,
     2551     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2552       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2553      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2554       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2555     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2556       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2557       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2558       0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
     2559       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2560       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2561       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2562       0,   294,     0,  1020,     0,     0,     0,     0,     0,     0,
     2563     296,  1021,   298,   299,   300,   301,     2,   205,     4,     5,
     2564       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2565      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2566       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2567     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2569       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2570       0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
     2571       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2572       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2573       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2574       0,   294,     0,   378,     0,     0,     0,     0,     0,     0,
     2575     296,   380,   298,   299,   300,   301,   204,     2,   205,     4,
     2576       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2577      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2578      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2579       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2581       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2582      34,     0,    35,     0,    36,     0,     0,   206,    39,     0,
     2583       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2584      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2585      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2586       0,     0,     0,     0,   207,    31,     0,     0,     0,     0,
     2587       0,     0,   270,     0,     0,     0,     0,     0,     0,     0,
     2588       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2589       0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2590     206,    39,    40,     0,     0,     0,     0,     0,     0,    41,
     2591      42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2592       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2593       0,     0,     0,     0,     0,    43,     0,   207,     0,     0,
     2594       0,     0,     0,     0,     0,   208,     2,   205,     4,     5,
     2595       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2596      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2597       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2598       0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
     2599      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2600      22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
     2601       0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
     2602     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2603      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2604      23,    24,    25,    34,     0,    26,    27,    28,   109,     0,
     2605      38,    39,  -402,   687,    31,     0,     0,     0,     0,    41,
     2606      42,   634,     0,     0,     0,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,    34,     0,    35,     0,    36,    44,     0,    38,
     2609      39,     0,     0,     0,     0,   110,     0,     0,     0,     0,
     2610       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2611       0,  1371,     0,     0,     0,     0,     0,     0,     0,     0,
     2612       0,     0,     0,     0,     0,     0,   687,     0,     0,     0,
     2613       0,     0,     0,     0,   634,     2,   205,     4,     5,     6,
     2614       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2615      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2616       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2617      31,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2618      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2619      23,    24,    25,  -294,     0,    26,    27,    28,    34,     0,
     2620      35,     0,    36,     0,    31,    38,    39,     0,     0,     0,
     2621       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2622       0,     0,     0,     0,     0,     0,     0,  1373,     0,     0,
     2623       0,     0,    34,     0,     0,     0,     0,    37,     0,   336,
     2624     337,    40,   687,  -294,     0,     0,     0,     0,    41,    42,
     2625     634,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2626      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2627      21,    22,    23,    24,    25,     0,   338,    26,    27,    28,
     2628       0,     0,     0,     0,   110,     0,    31,     0,     0,     0,
     2629       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2630       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2631       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2632       0,   206,    39,     0,     2,   205,     4,     5,     6,     7,
     2633       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2634      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2635      26,    27,    28,     0,     0,     0,     0,     0,   269,    31,
     2636       0,     0,     0,     0,     0,     0,   629,     0,     0,     0,
     2637       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2638       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2639       0,    36,     0,     0,    38,    39,     0,     2,   205,     4,
     2640       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2641      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2642      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2643       0,   687,    31,     0,     0,     0,     0,     0,     0,   634,
     2644       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2645       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2646      34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
     2647       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2648      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2649      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2650       0,     0,     0,     0,   599,    31,     0,     0,     0,     0,
     2651       0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
     2652       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2653       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2654     206,    39,     8,     9,    10,    11,    12,    13,    14,    15,
     2655      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2656       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2657     282,    31,   283,     0,     0,     0,     0,   207,     0,     0,
     2658       0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
     2659       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2660       0,     0,     0,     0,   285,     0,    38,    39,   286,     0,
     2661       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2662       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2663       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2664       0,   294,     0,   525,     0,     0,   170,     0,     0,     0,
     2665     296,   297,   298,   299,   300,   301,     8,     9,    10,    11,
     2666      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2667      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2668       0,     0,     0,   281,   282,    31,   283,     8,     9,    10,
     2669      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2670      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2671       0,     0,   284,    34,     0,     0,    31,     0,   285,     0,
     2672      38,    39,   286,     0,     0,   287,   288,   289,   290,    41,
     2673      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2674     293,     0,     0,     0,    34,     0,     0,     0,     0,    37,
     2675       0,   336,   337,    40,     0,   294,     0,   599,    -3,     0,
     2676      41,    42,     0,     0,   296,   600,   298,   299,   300,   301,
     2677       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2678      18,    19,    20,    21,    22,    23,    24,    25,   338,     0,
     2679      26,    27,    28,     0,     0,     0,   110,   281,   282,    31,
     2680     283,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2681      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2682       0,    26,    27,    28,     0,     0,   284,    34,     0,     0,
     2683      31,   453,   649,     0,    38,    39,   286,     0,     0,   287,
     2684     288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
     2685       0,     0,     0,     0,   293,     0,     0,     0,    34,     0,
     2686       0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
     2687     -35,   766,     0,     0,     0,     0,     0,     0,   296,   297,
     2688     298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
     2689      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2690      24,    25,   454,     0,    26,    27,    28,     0,     0,     0,
     2691     110,   281,   282,    31,   283,     0,     0,     0,     0,     0,
    21832692       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    21842693      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2185     -295,    58,    26,    27,    28,     0,     0,   357,    58,     0,
    2186        0,    31,     0,     0,     0,   357,   357,   357,     0,     0,
    2187        0,     0,     0,   518,     0,     0,   357,   357,     0,     0,
    2188        0,     0,     0,     0,     0,     0,   364,     0,     0,    34,
    2189       81,     0,     0,     0,     0,     0,    38,    39,     0,     0,
    2190     -295,     0,     0,   284,   285,   518,   286,     0,     0,     0,
    2191        0,    58,     0,   357,     0,     0,    43,     0,     0,     0,
    2192        0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
    2193        0,   642,   287,   339,     0,     0,     0,     0,   288,     0,
    2194       46,    47,   289,     0,     0,   290,   291,   292,   293,    41,
    2195       42,    88,   294,   295,     0,     0,     0,     0,     0,     0,
    2196       43,     0,     0,     0,   950,   364,   951,   364,     0,     0,
    2197        0,     0,     0,   954,   955,   296,     0,   380,   960,     0,
    2198        0,     0,     0,   811,    46,    47,   298,   299,   300,   301,
    2199      965,     0,     0,     0,     0,   969,     0,   364,     0,   284,
    2200      285,   357,   286,     0,     0,   364,   364,   364,     0,     0,
    2201        0,     0,     0,     0,     0,     0,   364,   364,     0,     0,
    2202        0,   998,     0,     0,     0,     0,     0,     0,   287,     0,
    2203       88,  1233,     0,     0,   288,     0,     0,     0,   289,     0,
    2204        0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
    2205       81,     0,     0,   364,     0,     0,    43,    81,     0,     0,
    2206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2207      518,   296,     0,   380,     0,     0,     0,     0,   780,   167,
    2208       46,    47,   298,   299,   300,   301,     0,     0,     0,     0,
    2209        0,     0,     0,     0,     0,     0,   220,     0,     0,     0,
    2210        0,   518,     0,     0,     0,     0,     0,     0,     0,     0,
    2211       81,     0,     0,     0,   518,     0,     0,   284,   285,     0,
    2212      286,     0,  1044,  1045,  1046,  1047,     0,  1049,     0,     0,
    2213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2214        0,   364,     0,  1093,   167,     0,   287,     0,   274,     0,
    2215        0,     0,   288,     0,  1321,   518,   289,  1099,     0,   290,
    2216      291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
    2217        0,   213,     0,     0,    43,     0,     0,   167,     0,     0,
    2218        0,   233,     0,   237,     0,   239,     0,   370,     0,   515,
    2219       88,   376,   248,     0,     0,     0,  1115,    88,    46,    47,
    2220      298,   299,   300,   301,     0,     0,     0,     0,     0,     0,
    2221        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2222        0,     0,     0,   213,     0,   237,   239,   248,   518,     0,
    2223        0,     0,     0,     0,     0,     0,  1143,     0,     0,     0,
    2224      167,     0,     0,  1151,     0,     0,     0,     0,  1155,     0,
    2225       88,     0,   220,  1159,     0,  1160,     0,     0,     0,  1162,
    2226        0,  1163,  1164,     0,     0,  1167,   213,     0,     0,     0,
    2227      167,   463,     0,     0,  1179,     0,     0,     0,     0,     0,
    2228        0,     0,     0,     0,     0,     0,   518,   518,     0,     0,
    2229        0,     0,  1194,  1195,     0,   376,     0,     0,     0,     0,
    2230        0,     0,   167,     0,     0,     0,     0,     0,     0,     0,
    2231        0,     0,     0,     0,     0,     0,     0,     0,     0,  1225,
    2232        0,     0,  1227,     0,     0,   463,     0,   213,     0,   237,
    2233      239,   248,     0,     0,     0,     0,     0,   167,   128,   128,
    2234      128,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2694     284,    34,    26,    27,    28,     0,   285,     0,    38,    39,
     2695     286,    31,     0,   287,   288,   289,   290,    41,    42,     0,
     2696     291,   292,     0,     0,     0,     0,     0,     0,   293,     0,
     2697       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2698       0,     0,     0,   294,     0,   295,    38,    39,     0,     0,
     2699       0,     0,   296,   297,   298,   299,   300,   301,     8,     9,
     2700      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2701      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2702      28,   643,     0,   338,     0,   281,   282,    31,   283,     0,
     2703       0,   110,     0,     0,     0,     0,     8,     9,    10,    11,
     2704      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2705      22,    23,    24,    25,   284,    34,    26,    27,    28,     0,
     2706     285,     0,    38,    39,   286,    31,     0,   287,   288,   289,
     2707     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2708       0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
     2709       0,     0,     0,    34,     0,     0,     0,   294,     0,   156,
     2710      38,    39,     0,     0,     0,     0,   296,   297,   298,   299,
     2711     300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
    22352712      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2236     -295,  1243,    26,    27,    28,   213,     0,  1247,  1248,     0,
    2237      213,    31,     0,     0,     0,   605,     0,     0,     0,  1259,
    2238      629,     0,     0,     0,  1263,   506,     0,  1267,     0,  1268,
    2239        0,     0,  1270,     0,     0,     0,     0,     0,     0,    34,
    2240        0,     0,     0,     0,    37,  1278,   337,   338,    40,     0,
    2241     -295,     0,   128,     0,   128,    41,    42,     0,  1285,     0,
    2242     1287,  1288,  1289,  1290,     0,     0,    43,     0,     0,     0,
    2243        0,     0,     0,   213,     0,     0,  1297,     0,  1298,   277,
    2244        0,   642,   174,   339,     0,     0,     0,     0,     0,     0,
    2245       46,    47,     0,     0,     0,   213,   167,   167,     0,     0,
    2246      237,   239,     0,   370,     0,     0,     0,     0,   248,     0,
    2247        0,  1326,  1327,     0,     0,     0,     0,     0,     0,     0,
    2248        0,     0,     0,     0,   463,     0,     0,   463,     0,     0,
    2249        0,     0,     0,     0,     0,   128,     0,   518,     0,     0,
    2250        0,     0,     0,   128,     0,   128,   128,     0,     0,     0,
    2251      128,   213,   128,   128,   518,     0,     0,     0,     0,     0,
    2252      740,     0,     0,  1362,  1363,     0,     0,     0,     0,   213,
    2253        0,     0,   167,  1373,   213,     0,   213,     0,     0,     0,
    2254        0,     0,     0,     0,   463,     0,   463,     0,     0,   463,
    2255        0,   167,   463,   213,     0,     0,   213,   213,     0,     0,
    2256        0,     0,     0,   370,     0,     0,     0,     0,     0,     0,
    2257        0,     0,   213,  1033,     0,     0,     8,     9,    10,    11,
    2258       12,     0,   128,     0,     0,  1406,   213,   518,   518,     0,
    2259        0,     0,     0,   213,     0,     0,     0,  1410,     0,  1411,
    2260     1412,  1413,     0,   284,   285,    31,   286,     0,     0,     0,
    2261        0,  1417,     0,     0,     0,   167,   158,     0,     0,     0,
    2262     1428,     0,     0,     0,     0,     0,     0,   370,     0,     0,
    2263        0,   835,   287,    34,     0,     0,  1441,     0,   288,     0,
    2264        0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
    2265       42,     0,   294,   295,     0,     0,     0,   605,     0,     0,
    2266       43,     0,   605,     0,   253,     0,     0,     0,     0,     0,
    2267        0,   370,   370,   370,   258,   296,     0,   380,     0,     0,
    2268        0,     0,     0,     0,   345,    47,   298,   299,   300,   301,
    2269      370,     0,  1490,  1491,     0,     0,     0,     0,     0,     0,
    2270        0,     0,     0,     0,     0,  1496,   213,     0,     0,     0,
    2271        0,     0,  1496,   284,   285,     0,   286,     0,     0,     0,
    2272        0,     0,     0,     0,     0,   740,     0,     0,     0,     0,
    2273      158,     0,     0,     0,   213,     0,     0,     0,     0,   213,
    2274        0,     0,   287,     0,   387,  1530,   463,     0,   288,  1536,
    2275        0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
    2276       42,     0,   294,   295,   370,     0,   959,   419,     0,     0,
    2277       43,     0,     0,     0,     0,     0,     0,     0,  1558,     0,
    2278     1559,   434,     0,     0,     0,   296,     0,   380,     0,     0,
    2279      439,     0,     0,     0,    46,    47,   298,   299,   300,   301,
    2280      447,   740,     0,     0,     0,     0,     0,     0,  1574,  1575,
    2281        0,     0,     0,     0,     0,     0,  1578,  1579,     0,     0,
    2282        0,     0,     0,     0,     0,   473,     0,   213,     0,     0,
    2283      483,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2284        0,   213,     0,   491,     0,     0,     0,     0,     0,   501,
    2285        0,   505,     0,     0,     0,   370,     0,     0,     0,   629,
    2286        0,   506,     0,   370,     0,     0,     0,     0,   534,     0,
    2287        0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
     2713       0,     0,    26,    27,    28,   643,     0,   338,     0,   281,
     2714     282,    31,   283,     0,     0,   634,     0,     0,     0,     0,
     2715       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2716      18,    19,    20,    21,    22,    23,    24,    25,   284,    34,
     2717      26,    27,    28,     0,   285,     0,    38,    39,   286,    31,
     2718       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2719       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2720       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2721       0,   294,     0,   599,    38,    39,     0,     0,     0,     0,
     2722     296,   600,   298,   299,   300,   301,     8,     9,    10,    11,
    22882723      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2289       22,    23,    24,    25,   128,   128,    26,    27,    28,     0,
    2290        0,     0,     0,     0,     0,    31,   455,     0,     0,     0,
    2291      593,     0,     0,     0,     0,   598,     0,     0,     0,     0,
    2292        0,     0,   213,   128,     0,     0,   128,   128,     0,   128,
    2293        0,   128,   128,    34,   213,     0,   128,   128,     0,     0,
    2294       38,    39,     0,     0,   643,     0,     0,     0,   644,   645,
    2295        0,   647,     0,   213,     0,   463,     0,     0,   659,   660,
    2296       43,   661,   662,     0,   663,     0,   664,     0,     0,     0,
    2297        0,     0,     0,     0,   463,     0,     0,   456,     0,     0,
    2298        0,   710,     0,   593,    46,    47,     0,     0,     0,     0,
    2299        0,   679,     0,     0,     0,     0,     0,   167,     0,     0,
    2300        0,     0,     0,  1177,     0,     0,     8,     9,    10,    11,
    2301       12,     0,     0,   370,     0,   128,   690,     0,     0,     0,
    2302      128,   128,     0,     0,     0,     0,   128,   696,     0,     0,
    2303        0,     0,     0,   284,   285,    31,   286,     0,     0,     0,
    2304      213,     0,     0,     0,     0,     0,     0,     0,     0,   605,
    2305      732,     0,     0,     0,     0,     0,   735,     0,     0,     0,
    2306        0,   473,   287,    34,     0,     0,   213,     0,   288,     0,
    2307      370,   370,   289,     0,     0,   290,   291,   292,   293,    41,
    2308       42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
    2309       43,     0,     0,     0,   213,     0,     0,   772,     0,     0,
    2310        0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
    2311        0,   787,     0,     0,  1178,    47,   298,   299,   300,   301,
    2312        0,     0,     0,     0,     0,     0,     0,   213,     0,     0,
    2313      463,     0,     0,     0,     0,     0,     0,     0,   213,     0,
    2314        0,     0,     0,     0,     0,     0,     0,     0,     0,   814,
    2315        0,     0,   284,   285,     0,   286,     0,     0,   824,   342,
    2316      365,     0,     0,     0,     0,   826,     0,     0,     0,     0,
    2317        0,   834,     0,     0,     0,     0,     0,     0,     0,     0,
    2318      848,   287,     0,     0,     0,     0,     0,   288,     0,     0,
    2319      740,   289,     0,   415,   290,   291,   292,   293,    41,    42,
    2320      415,   294,   295,     0,     0,     0,     0,     0,     0,    43,
    2321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2322      213,   888,     0,     0,   296,     0,   380,     0,     0,   991,
    2323        0,     0,   220,    46,    47,   298,   299,   300,   301,     0,
    2324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2325        0,     0,     0,     0,     0,     0,     0,   834,     0,     0,
    2326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2327        0,   740,   415,     0,     0,     1,     2,   208,     4,     5,
    2328        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2329       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2330     -295,     0,    26,    27,    28,    29,     0,   213,    30,     0,
    2331        0,    31,   253,     0,     0,     0,     0,     0,     0,     0,
    2332      370,   370,   966,   967,     0,     0,   415,     0,     0,   220,
    2333        0,     0,     0,     0,   415,   589,   984,   415,   592,    34,
    2334        0,    35,     0,    36,     0,     0,    38,    39,   365,     0,
    2335     -295,     0,   621,   999,     0,  1000,     0,     0,     0,  1004,
    2336        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2337        0,   639,     0,     0,   342,     0,     0,     0,     0,     0,
    2338        0,     0,     0,    45,     0,     0,     0,     0,     0,     0,
    2339       46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
    2340        0,   415,     0,     0,   213,   415,     0,     0,     0,     0,
    2341      128,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2342        0,     0,     0,     0,  1038,     0,     0,     0,     0,     0,
    2343        0,  1039,     0,     0,     0,     0,   365,     0,     0,     0,
    2344        0,     0,     0,     0,  1041,   370,  1042,     0,     0,     0,
    2345        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
    2346     1054,     0,     0,     0,     0,     0,     0,  1058,     0,     0,
    2347        0,     0,     0,     0,     0,     0,   322,     0,     0,  1096,
    2348        0,     0,  1097,     0,     0,     0,   347,     0,     0,     0,
    2349      415,     0,     0,   365,     0,     0,     0,     0,   383,   383,
    2350      598,     0,     0,   463,     0,   463,     0,     0,     8,     9,
    2351       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2352       20,    21,    22,    23,    24,    25,  -295,     0,    26,    27,
    2353       28,     0,   415,   128,     0,   342,   365,    31,     0,     0,
    2354      463,     0,   463,     0,     0,     0,     8,     9,    10,    11,
    2355       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2356       22,    23,    24,    25,  -295,    34,     0,     0,     0,   322,
    2357      167,     0,    38,    39,     0,    31,  -295,     0,     0,     0,
    2358      415,   415,     0,     0,     0,     0,     0,     0,     0,  1161,
    2359        0,     0,    43,   487,     0,     0,     0,     0,     0,   828,
    2360      365,     0,     0,    34,     0,     0,     0,     0,     0,   339,
    2361      621,     0,   621,   621,  -295,     0,    46,    47,     0,   621,
    2362        0,     0,     0,     0,     0,     0,     0,     0,     0,   867,
    2363      365,     0,     0,     0,     0,   365,     0,     0,     0,     0,
    2364        0,     0,     0,     0,   365,   365,   365,   534,     0,     0,
    2365        0,     0,     0,  1226,     0,     0,     0,     0,     0,     0,
    2366      213,     0,     0,   365,     0,     0,     0,     0,   415,   910,
    2367        0,     0,   415,   913,     0,     0,     0,     0,     0,   915,
    2368        0,     0,     0,  1240,     0,     0,     0,     0,  1242,     0,
    2369        0,     0,     0,     0,     0,     0,  1246,   342,   365,   415,
    2370        0,   415,     0,     0,     0,   415,     0,     0,     0,   383,
    2371        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2372        0,     0,     0,     0,     0,     0,     0,  1272,     0,     0,
    2373        0,     0,     0,     0,     0,     0,     0,   365,   621,  1280,
    2374        0,     0,  1281,     0,  1282,     0,     0,     0,     0,     0,
    2375        0,     0,     0,     0,     0,     0,     0,     0,  1291,  1292,
    2376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2377        0,     0,     0,   342,   365,     0,     0,     0,   415,   415,
    2378     1305,   207,     2,   208,     4,     5,     6,     7,     8,     9,
    2379       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2380       20,    21,    22,    23,    24,    25,     0,  1328,    26,    27,
    2381       28,   734,     0,     0,     0,     0,     0,    31,     0,     0,
    2382      415,     0,     0,     0,     0,     0,     0,     0,   365,     0,
    2383        0,     0,     0,     0,     0,   828,   365,     0,     0,   621,
    2384        0,   621,     0,     0,     0,    34,     0,    35,     0,    36,
    2385      768,   621,   209,    39,     0,     0,     0,     0,     0,     0,
    2386        0,     0,   781,     0,     0,     0,     0,   768,     0,     0,
    2387      768,     0,    43,     0,     0,     0,     0,     0,     0,     0,
    2388        0,   791,   792,     0,     0,     0,     0,     0,     0,   210,
    2389        0,     0,     0,     0,     0,     0,    46,    47,     0,     0,
    2390        0,     0,     0,     0,   813,  1398,     0,  1399,     0,     0,
    2391        0,     0,     0,     0,   822,     0,     0,     0,     0,     0,
    2392     1408,   347,  1409,     0,   828,     0,   781,     0,     0,     0,
    2393        0,     0,   415,     0,     0,     0,     0,     0,   415,     0,
    2394     1416,     0,     0,     0,     0,     0,   415,     0,     0,     0,
    2395        0,     0,     0,     0,     0,     0,  1434,  1436,     0,   621,
    2396      621,     0,     0,     0,     0,     0,     0,     0,  1442,     0,
    2397        0,  1246,     0,     0,     0,   887,     0,     0,     0,     0,
    2398        0,     0,     0,     0,   383,     0,   365,     0,     0,     0,
    2399        0,     0,   415,  1465,     0,     0,     0,     0,     0,     0,
    2400        0,     0,  1472,     0,     0,  1474,     0,  1476,  1478,  1480,
    2401        0,   415,  1158,   284,   285,     0,   286,     0,     0,     0,
    2402        0,     0,   365,     0,   347,     0,     0,     0,   415,  1170,
    2403        0,   621,   621,  1175,     0,     0,     0,     0,     0,     0,
    2404        0,     0,   287,   365,   365,     0,     0,     0,   288,  1511,
    2405        0,  1513,   289,     0,  1246,   290,   291,   292,   293,    41,
    2406       42,     0,   294,   295,     0,     0,     0,     0,     0,  1525,
    2407       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2408        0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
    2409        0,     0,     0,     0,   733,    47,   298,   299,   300,   301,
    2410      781,     0,   989,     0,   828,   415,  1238,     0,   994,     0,
    2411        0,     0,     0,     0,     0,  1003,     0,     0,   621,     1,
    2412        2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
    2413       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2414       22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    2415        0,     0,    30,   284,   285,    31,   286,     0,  1021,  1022,
    2416        0,     0,   347,   365,     0,     0,     0,     0,     0,     0,
    2417        0,     0,     0,     0,     0,     0,   347,     0,     0,     0,
    2418        0,     0,   287,    34,     0,    35,     0,    36,   288,     0,
    2419       38,    39,   289,     0,     0,   290,   291,   292,   293,    41,
    2420       42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
    2421       43,     0,     0,     0,     0,     0,  1052,     0,     0,     0,
    2422      383,     0,     0,     0,   342,   296,     0,  1076,     0,     0,
    2423        0,     0,     0,     0,    46,    47,   298,   299,   300,   301,
    2424        0,     0,     0,     0,   365,     0,     0,     0,  -130,     0,
    2425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2426        0,     0,     0,     0,     2,   208,     4,     5,     6,     7,
     2724      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2725       0,   256,     0,   281,   282,    31,   283,     0,     0,   110,
     2726       0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2727      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2728      24,    25,   284,    34,    26,    27,    28,     0,   285,     0,
     2729      38,    39,   286,    31,     0,   287,   288,   289,   290,    41,
     2730      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2731     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2732       0,    34,     0,     0,     0,   294,     0,   378,    38,    39,
     2733       0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2734     474,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2735      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2736      21,    22,    23,    24,    25,   156,     0,    26,    27,    28,
     2737       0,     0,     0,   110,     0,     0,    31,     0,     0,     0,
    24272738       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    24282739      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2429       26,    27,    28,   365,   365,     0,   322,   284,   285,    31,
    2430      286,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2431        0,     0,  1139,  1140,     0,     0,     0,     0,     0,   383,
    2432        0,     0,     0,     0,     0,   994,   287,    34,  1149,    35,
    2433      768,    36,   288,     0,    38,    39,   289,     0,     0,   290,
    2434      291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
    2435        0,  1165,     0,     0,    43,     0,     0,     0,     0,     0,
    2436        0,     0,  1180,     0,     0,     0,     0,     0,     0,   296,
    2437        0,   344,     0,     0,     0,     0,   780,     0,   345,    47,
    2438      298,   299,   300,   301,   383,     0,  1198,     0,     0,     0,
     2740      26,    27,    28,     0,    34,     0,    35,     0,    36,    31,
     2741       0,    38,    39,     0,     0,     0,     0,     0,     8,     9,
     2742      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2743      20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
     2744      28,     0,    37,     0,    38,    39,    40,    31,     0,     0,
     2745       0,    -3,     0,    41,    42,     0,     8,     9,    10,    11,
     2746      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2747      22,    23,    24,    25,     0,    34,    26,    27,    28,    43,
     2748      37,   156,    38,    39,    40,    31,     0,     0,     0,    45,
     2749       0,    41,    42,     0,     8,     9,    10,    11,    12,    13,
     2750      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2751      24,    25,     0,    34,    26,    27,    28,    43,    37,    44,
     2752     206,    39,    40,    31,     0,     0,     0,    45,     0,    41,
     2753      42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2754      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2755    -294,    34,    26,    27,    28,    43,    37,   269,   336,   337,
     2756      40,    31,     0,     0,     0,   208,     0,    41,    42,     0,
    24392757       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2440        0,   994,   994,     0,     0,     0,     0,     0,     0,     0,
    2441        0,     0,     0,     0,     0,     0,     0,     0,   365,     0,
    2442        0,     0,  1230,     0,     0,     0,  -520,     0,     0,     1,
    2443        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2758       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2759       0,     0,     0,   643,     0,   338,    38,    39,     0,     0,
     2760    -294,     0,     0,   634,     0,     8,     9,    10,    11,    12,
     2761      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2762      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2763       0,   643,     0,   338,    31,   453,     0,     0,     0,     0,
     2764       0,   634,     0,     8,     9,    10,    11,    12,    13,    14,
     2765      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2766      25,  -294,    34,    26,    27,    28,     0,     0,     0,    38,
     2767      39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2768      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2769      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2770      34,     0,    31,   453,     0,     0,   454,    38,    39,     0,
     2771     711,  -294,     0,     0,   110,     0,     0,     0,     0,     0,
     2772       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2773      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2774       0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
     2775       0,     0,   110,     0,     0,     8,     9,    10,    11,    12,
     2776      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2777      23,    24,    25,     0,   454,    26,    27,    28,  1109,     0,
     2778       0,     0,   110,     0,    31,   453,     8,     9,    10,    11,
    24442779      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2445       22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    2446        0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
    2447      994,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2448        0,     0,     0,     0,     0,     0,     0,     0,     0,   887,
    2449       33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2450       38,    39,    40,     0,  1283,  1284,     0,     0,   415,    41,
    2451       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2452       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2453        0,     0,     0,   415,   415,    44,     0,    45,     0,     0,
    2454        0,     0,     0,     0,    46,    47,     0,     0,     0,     0,
    2455        0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
    2456        1,     2,   208,     4,     5,     6,     7,     8,     9,    10,
    2457       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2458       21,    22,    23,    24,    25,     0,   994,    26,    27,    28,
    2459       29,     0,     0,    30,   284,   285,    31,  1061,  1062,     0,
    2460     1063,     0,     0,  1064,  1065,  1066,  1067,  1068,  1069,  1070,
    2461     1071,     0,     0,     0,  1072,     0,     0,     0,  1073,  1074,
    2462        0,    33,     0,   287,    34,     0,    35,     0,    36,  1075,
    2463        0,    38,    39,   289,     0,     0,   290,   291,   292,   293,
    2464       41,    42,     0,   294,   295,     0,     0,  1391,     0,     0,
    2465      768,    43,     0,     0,     0,     0,     0,     0,     0,     0,
    2466        0,     0,     0,     0,     0,     0,   296,     0,  1076,     0,
    2467        0,   173,     0,     0,     0,    46,    47,   298,   299,   300,
    2468      301,     0,     0,     0,     0,  1077,     0,     0,     0,  -130,
    2469        1,     2,   208,     4,     5,     6,     7,     8,     9,    10,
     2780      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2781       0,     0,    34,     0,     0,    31,     0,     0,     0,    38,
     2782      39,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2783      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2784      24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
     2785     206,    39,     0,    31,     0,     0,   454,     0,     0,     0,
     2786    1236,     0,     0,     0,   110,     0,     0,     0,     0,     0,
     2787       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2788       0,    34,     0,     0,     0,     0,     0,   269,    38,    39,
     2789       0,     0,     0,     0,     0,   270,     0,     8,     9,    10,
    24702790      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    24712791      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2472       29,     0,     0,    30,   284,   285,    31,   286,     0,     0,
    2473        0,     0,     0,     0,     0,  1451,     0,     0,     0,     0,
     2792       0,     0,     0,     0,     0,   256,    31,     0,     0,     0,
     2793       0,     0,     0,   634,     0,     8,     9,    10,    11,    12,
     2794      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2795      23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
     2796       0,    38,    39,     0,    31,     8,     9,    10,    11,    12,
     2797      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2798      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2799       0,     0,    34,     0,    31,     0,     0,     0,   338,    38,
     2800      39,     0,     0,     0,     0,     0,   634,     0,     0,     0,
    24742801       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2475        0,     0,     0,   287,    34,     0,    35,     0,    36,   288,
    2476        0,    38,    39,   289,     0,     0,   290,   291,   292,   293,
    2477       41,    42,     0,   294,   295,     0,     0,     0,     0,     0,
    2478        0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
    2479        0,     0,     0,     0,     0,     0,   296,     0,    45,     0,
    2480        0,     0,     0,     0,     0,    46,    47,   298,   299,   300,
    2481      301,     0,     0,     0,     0,     0,     0,  1517,     2,   208,
     2802       0,     0,    34,     0,     0,     0,     0,     0,     0,   206,
     2803      39,     0,     0,     0,     0,     0,   454,     0,     0,     0,
     2804       0,     0,     0,     0,   110,     0,     0,     8,     9,    10,
     2805      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2806      21,    22,    23,    24,    25,     0,   269,    26,    27,    28,
     2807       0,     0,     0,     0,   629,     0,    31,     8,     9,    10,
     2808      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2809      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2810       0,     0,     0,     0,    34,     0,    31,     0,     0,     0,
     2811       0,    38,    39,     0,     0,     8,     9,    10,    11,    12,
     2812      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2813      23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
     2814       0,    38,    39,     0,    31,     0,     0,     0,   599,     0,
     2815       0,     0,     0,     0,     0,     0,   634,     0,     0,     0,
     2816       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2817       0,     0,    34,     0,     0,     0,     0,     0,   338,    38,
     2818      39,     0,     0,     0,     0,     0,   110,     2,   205,     4,
     2819       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2820      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2821      25,     0,     0,    26,    27,    28,    44,     0,     0,     0,
     2822       0,     0,    31,     0,   110,     0,     0,     0,     0,     0,
     2823       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2824       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2825      34,     0,    35,     0,    36,     0,     0,    38,    39,   281,
     2826     282,     0,   283,  1063,     0,  1064,     0,     0,  1065,  1066,
     2827    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1551,  1073,
     2828       0,     0,     0,  1074,  1075,     0,    33,     0,   284,     0,
     2829       0,     0,     0,  -415,   649,     0,     0,     0,   286,     0,
     2830       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2831       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2832       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2833       0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
     2834     296,   380,   298,   299,   300,   301,     0,     0,     0,     0,
     2835    1077,     0,   281,   282,  -129,   283,  1063,     0,  1064,     0,
     2836       0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,     0,
     2837       0,     0,  1073,     0,     0,     0,  1074,  1075,     0,    33,
     2838       0,   284,     0,     0,     0,     0,     0,   649,     0,     0,
     2839       0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2840       0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
     2841       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2842       0,     0,     0,     0,   294,     0,   378,     0,     0,   170,
     2843       0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
     2844       0,     0,     0,  1077,     0,     0,     0,  -129,     2,   205,
    24822845       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24832846      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    24842847      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2485        0,   284,   285,    31,   286,     0,     0,     0,     0,     0,
    2486        0,     0,     0,     0,     0,     0,     0,     0,     0,   322,
    2487        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2488      287,    34,     0,    35,     0,    36,   288,     0,    38,    39,
    2489      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2490      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2492        0,     0,     0,   296,     0,   929,     0,     0,     0,     0,
    2493      780,     0,   345,    47,   298,   299,   300,   301,     2,   208,
    2494        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2495       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2496       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2497        0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
    2498       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2499       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2500      287,    34,     0,    35,    31,    36,   288,     0,    38,    39,
    2501      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2502      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2503        0,     0,    34,     0,     0,     0,     0,   112,     0,    38,
    2504       39,     0,     0,   296,     0,   929,     0,     0,    41,    42,
    2505      780,     0,    46,    47,   298,   299,   300,   301,     2,   208,
    2506        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2507       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2508       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2509        0,   284,   285,    31,   286,     0,     0,     0,     8,     9,
    2510       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2511       20,    21,    22,    23,    24,    25,  -296,     0,     0,     0,
    2512      287,    34,     0,    35,     0,    36,   288,    31,    38,    39,
    2513      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2514      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2515        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2516        0,     0,     0,   296,     0,   344,  -296,     0,     0,     0,
    2517        0,     0,   345,    47,   298,   299,   300,   301,     2,   208,
    2518        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2519       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2520       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2521        0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
    2522       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2523       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2524      287,    34,     0,    35,    31,    36,   288,     0,    38,    39,
    2525      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2526      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2527        0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    2528       39,     0,     0,   296,     0,   929,     0,     0,     0,     0,
    2529        0,     0,   345,    47,   298,   299,   300,   301,     2,   208,
    2530        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2531       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2532       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2533        0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
    2534       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2535       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2536      287,    34,     0,    35,    31,    36,   288,     0,   209,    39,
    2537      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2538      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2539        0,     0,    34,     0,     0,     0,     0,     0,     0,   209,
    2540       39,     0,     0,   296,     0,  1018,     0,     0,     0,     0,
    2541        0,     0,  1019,    47,   298,   299,   300,   301,     2,   208,
    2542        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2543       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2544       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2545        0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
    2546       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2547       23,    24,    25,     0,     0,     0,     0,     0,     0,     0,
    2548      287,    34,     0,    35,    31,    36,   288,     0,   209,    39,
    2549      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2550      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2551        0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
    2552        0,     0,     0,   296,     0,   380,     0,     0,     0,     0,
    2553        0,     0,    46,    47,   298,   299,   300,   301,     1,     2,
    2554        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2555       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2556       23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
    2557        0,    30,     0,     0,    31,    32,     0,     0,     0,     0,
    2558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2559        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2560        0,     0,    34,     0,    35,     0,    36,    37,     0,    38,
    2561       39,    40,     0,     0,     0,     0,     0,     0,    41,    42,
    2562        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
    2563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2564        0,     0,     0,     0,    44,     0,    45,     0,     0,     0,
    2565     -524,     0,     0,    46,    47,     1,     2,     3,     4,     5,
    2566        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2567       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2568        0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    2569        0,    31,    32,     0,     0,     0,     0,     0,     0,     0,
    2570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2571        0,     0,     0,     0,     0,     0,    33,     0,     0,    34,
    2572        0,    35,     0,    36,    37,     0,    38,    39,    40,     0,
    2573        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2576        0,    44,     0,    45,     0,     0,     0,     0,     0,     0,
    2577       46,    47,   207,     2,   208,     4,     5,     6,     7,     8,
    2578        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2579       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2580       27,    28,     0,     0,     0,     0,     0,     0,    31,     0,
    2581        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2582       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2583       26,    27,    28,   494,   495,   496,    34,     0,    35,    31,
    2584       36,    37,     0,   209,    39,    40,     0,     0,     0,     0,
    2585        0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
    2586        0,     0,     0,    43,     0,     0,     0,    34,     0,     0,
    2587        0,     0,     0,     0,    38,    39,     0,     0,    44,     0,
    2588      210,     0,     0,     0,     0,     0,     0,    46,    47,     1,
    2589        2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
     2848       0,     0,     0,    31,     0,   281,   282,     0,   283,  1063,
     2849       0,  1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,
     2850    1071,  1072,     0,     0,  1551,  1073,     0,     0,     0,  1074,
     2851    1075,    34,    33,    35,   284,    36,     0,     0,    38,    39,
     2852     649,     0,     0,     0,   286,     0,     0,   287,   288,   289,
     2853     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2854    1330,     0,   293,     0,     0,     0,     0,     0,     0,     0,
     2855       0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
     2856       0,     0,   170,     0,     0,     0,   296,   380,   298,   299,
     2857     300,   301,     0,     0,   281,   282,  1077,   283,  1063,     0,
     2858    1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
     2859    1072,     0,     0,     0,  1073,     0,     0,     0,  1074,  1075,
     2860       0,    33,     0,   284,     0,     0,     0,     0,     0,   649,
     2861       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
     2862      41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
     2863       0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2864       0,     0,     0,     0,     0,     0,   294,     0,   378,     0,
     2865       0,   170,     0,     0,     0,   296,   380,   298,   299,   300,
     2866     301,     0,     0,   281,   282,  1077,   283,  1063,     0,  1064,
     2867       0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
     2868       0,     0,     0,  1073,     0,     0,     0,  1074,  1075,     0,
     2869      33,     0,   284,     0,     0,     0,     0,     0,   649,     0,
     2870       0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
     2871      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2872     293,   281,   282,     0,   283,     0,     0,     0,     0,     0,
     2873       0,     0,     0,     0,     0,   294,     0,   378,     0,     0,
     2874     170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2875     284,     0,     0,     0,  1077,     0,   649,     0,     0,     0,
     2876     286,     0,     0,   287,   288,   289,   290,    41,    42,     0,
     2877     291,   292,     0,     0,     0,     0,     0,     0,   293,   281,
     2878     282,     0,   283,     0,     0,     0,     0,     0,     0,     0,
     2879       0,     0,     0,   294,     0,   785,     0,     0,   281,   282,
     2880       0,   283,   296,   380,   298,   299,   300,   301,   284,     0,
     2881       0,     0,     0,     0,   285,     0,     0,     0,   286,     0,
     2882       0,   287,   288,   289,   290,    41,    42,   284,   291,   292,
     2883       0,     0,     0,   285,     0,     0,   293,   286,     0,     0,
     2884     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2885       0,   294,     0,   378,     0,   293,   281,   282,     0,   283,
     2886     296,   827,   298,   299,   300,   301,     0,     0,     0,     0,
     2887     513,     0,     0,     0,     0,   281,   282,     0,   283,   296,
     2888     380,   298,   299,   300,   301,   284,     0,     0,     0,     0,
     2889       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     2890     289,   290,    41,    42,   284,   291,   292,     0,     0,     0,
     2891     285,     0,     0,   293,   286,     0,     0,   287,   288,   289,
     2892     290,    41,    42,     0,   291,   292,     0,     0,   294,     0,
     2893       0,     0,   293,   281,   282,     0,   283,   296,   380,   298,
     2894     299,   300,   301,     0,     0,     0,     0,   518,     0,     0,
     2895       0,     0,     0,     0,     0,     0,   296,   380,   298,   299,
     2896     300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
     2897       0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
     2898      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2899     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2900       0,     0,     0,     0,     0,   521,     0,     0,     0,     0,
     2901       0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2902       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    25902903      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2591       22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    2592        0,     0,    30,     0,     0,    31,     0,     0,     0,     0,
     2904      22,    23,    24,    25,     0,     0,     0,     0,     0,     0,
     2905       0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
    25932906       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25942907       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2595        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2596       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
    2597        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2598       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2599        0,     0,     0,     0,     0,     0,     0,    45,     0,     0,
    2600        0,     0,     0,     0,    46,    47,     2,   208,     4,     5,
    2601        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2602       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2603        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2604        0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
    2605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2606        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2607        0,    35,     0,    36,    37,     0,   209,    39,    40,     0,
    2608        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2609        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2611        0,    44,     0,   210,     0,     0,     0,     0,     0,     0,
    2612       46,    47,     2,   208,     4,     5,     6,     7,     8,     9,
     2908       0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2909     173,   174,    40,     0,     0,     0,     0,     0,     0,    41,
     2910      42,   204,     2,   205,     4,     5,     6,     7,     8,     9,
    26132911      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    26142912      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     
    26172915       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26182916       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2619        0,     0,    38,    39,     0,     0,     0,     0,     0,     0,
    2620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2621        0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
    2622        0,     0,     0,     0,     0,     0,     0,     0,  -403,   686,
    2623        0,     0,     0,     0,     0,     0,    46,    47,     2,   208,
    2624        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2625       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2626       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2627        0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    2628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2630        0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
    2631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2632        0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
    2633     1370,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2634        0,     0,     0,     0,     0,   686,     0,     0,     0,     0,
    2635        0,     0,    46,    47,     2,   208,     4,     5,     6,     7,
    2636        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2637       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2638       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2640        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2641        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2642        0,    36,     0,     0,    38,    39,     0,     0,     0,     0,
    2643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2644        0,     0,     0,     0,    43,     0,  1372,     0,     0,     0,
    2645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2646        0,   686,     0,     0,     0,     0,     0,     0,    46,    47,
    2647        2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
    2648       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2649       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2650        0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
    2651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2652        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2653        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2654      209,    39,     0,     0,     0,     0,     0,     0,     0,     0,
    2655        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2656       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2657        0,     0,     0,     0,     0,     0,     0,   272,     0,     0,
    2658        0,     0,     0,     0,    46,    47,     2,   208,     4,     5,
    2659        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2660       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2661        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2662        0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
    2663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2664        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2665        0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
    2666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2667        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2669        0,     0,     0,   686,     0,     0,     0,     0,     0,     0,
    2670       46,    47,     2,   208,     4,     5,     6,     7,     8,     9,
    2671       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2672       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2673       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2676        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2677        0,     0,    38,    39,     0,     0,     0,     0,     0,     0,
    2678        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2679        0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
    2680        0,     0,     0,     0,     0,     0,     0,     0,     0,   600,
    2681        0,     0,     0,     0,     0,     0,    46,    47,     2,   208,
    2682        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2683       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2684       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2685        0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    2686        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2687        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2688        0,    34,     0,    35,     0,    36,     0,     0,   209,    39,
    2689        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2690       18,    19,    20,    21,    22,    23,    24,    25,    43,     0,
    2691       26,    27,    28,     0,     0,     0,     0,   284,   285,    31,
    2692      286,     0,     0,     0,     0,   210,     0,     0,     0,     0,
    2693        0,     0,    46,    47,     0,     0,     0,     0,     0,     0,
    2694        0,     0,     0,     0,     0,     0,   287,    34,     0,     0,
    2695        0,     0,   288,     0,    38,    39,   289,     0,     0,   290,
    2696      291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
    2697        0,     0,     0,     0,    43,     0,     0,     0,     0,     0,
    2698        0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
    2699        0,   526,     0,     0,   173,     0,     0,     0,    46,    47,
    2700      298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
    2701       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2702       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2703        0,   284,   285,    31,   286,     0,     0,     0,     0,     0,
    2704        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2705        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2706      287,    34,     0,     0,     0,     0,   648,     0,    38,    39,
    2707      289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
    2708      294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
    2709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2710        0,     0,     0,   296,   -35,   765,     0,     0,     0,     0,
    2711        0,     0,    46,    47,   298,   299,   300,   301,     8,     9,
    2712       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2713       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2714       28,     0,     0,     0,     0,   284,   285,    31,   286,     0,
    2715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2717        0,     0,     0,     0,   287,    34,     0,     0,     0,     0,
    2718      288,     0,    38,    39,   289,     0,     0,   290,   291,   292,
    2719      293,    41,    42,     0,   294,   295,     0,     0,     0,     0,
    2720        0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
    2721        0,     0,     0,     0,     0,     0,     0,   296,     0,   297,
    2722        0,     0,     0,     0,     0,     0,    46,    47,   298,   299,
    2723      300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
    2724       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2725        0,     0,    26,    27,    28,     0,     0,     0,     0,   284,
    2726      285,    31,   286,     0,     0,     0,     0,     0,     0,     0,
    2727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2728        0,     0,     0,     0,     0,     0,     0,     0,   287,    34,
    2729        0,     0,     0,     0,   288,     0,    38,    39,   289,     0,
    2730        0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
    2731        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2732        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2733        0,   296,     0,   159,     0,     0,     0,     0,     0,     0,
    2734       46,    47,   298,   299,   300,   301,     8,     9,    10,    11,
    2735       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2736       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2737        0,     0,     0,   284,   285,    31,   286,     0,     0,     0,
    2738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2740        0,     0,   287,    34,     0,     0,     0,     0,   288,     0,
    2741       38,    39,   289,     0,     0,   290,   291,   292,   293,    41,
    2742       42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
    2743       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2744        0,     0,     0,     0,     0,   296,     0,   600,     0,     0,
    2745        0,     0,     0,     0,    46,    47,   298,   299,   300,   301,
    2746        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2747       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2748       26,    27,    28,     0,     0,     0,     0,   284,   285,    31,
    2749      286,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2750        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2751        0,     0,     0,     0,     0,     0,   287,    34,     0,     0,
    2752        0,     0,   288,     0,    38,    39,   289,     0,     0,   290,
    2753      291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
    2754        0,     0,     0,     0,    43,     0,     0,     0,     0,     0,
    2755        0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
    2756        0,   380,     0,     0,     0,     0,     0,     0,    46,    47,
    2757      298,   299,   300,   301,   476,     2,   208,     4,     5,     6,
     2917       0,     0,   206,    39,   474,     2,   205,     4,     5,     6,
    27582918       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27592919      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    27602920       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2761       31,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2762       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2763       24,    25,  -295,     0,    26,    27,    28,     0,    34,     0,
    2764       35,     0,    36,    31,     0,    38,    39,     0,     0,     0,
    2765        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2766       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2767        0,    34,    26,    27,    28,     0,    37,     0,   337,   338,
    2768       40,    31,  -295,     0,     0,    -3,     0,    41,    42,     0,
    2769        0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
    2770        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2771        0,     0,     0,     0,    37,   339,    38,    39,    40,     0,
    2772        0,     0,    46,    47,     0,    41,    42,     0,     0,     0,
    2773        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2921      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    27742922       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2775        0,    44,     0,   159,     0,     0,     0,     0,     0,     0,
    2776       46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
    2777       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2778        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2779        0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
    2780       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2781        0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
    2782        0,    31,     0,     0,    37,     0,    38,    39,    40,     0,
    2783        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2784        0,     0,     0,     0,     0,     0,    43,     0,     0,    34,
    2785        0,     0,     0,     0,    37,     0,   209,    39,    40,     0,
    2786        0,    44,     0,    45,     0,    41,    42,     0,     0,     0,
    2787       46,    47,     0,     0,     0,     0,    43,     0,     0,     0,
    2788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2789        0,    44,     0,   272,     0,     0,     0,     0,     0,     0,
    2790       46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
    2791       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2792        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2793        0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
    2794       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2795        0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
    2796        0,    31,     0,     0,    37,     0,   337,   338,    40,     0,
    2797        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2798        0,     0,     0,     0,     0,     0,    43,     0,     0,    34,
    2799        0,     0,     0,     0,    37,     0,   337,   338,    40,     0,
    2800        0,   642,     0,   339,     0,    41,    42,     0,     0,     0,
    2801       46,    47,     0,     0,     0,     0,    43,     0,     0,     0,
    2802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2803        0,     0,     0,   339,     0,     0,     0,     0,     0,     0,
    2804       46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
    2805       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2806        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2807        0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
    2808       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2809        0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
    2810        0,    31,   455,     0,   112,     0,    38,    39,     0,     0,
    2811        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2812        0,     0,     0,     0,     0,     0,    43,     0,     0,    34,
    2813        0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
    2814        0,     0,     0,    45,     0,     0,     0,     0,     0,     0,
    2815       46,    47,     0,     0,     0,     0,    43,     0,     0,     0,
    2816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2817        0,     0,     0,   456,     0,     0,     0,  1108,     0,     0,
    2818       46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
    2819       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2820        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2821        0,    31,   455,     8,     9,    10,    11,    12,    13,    14,
    2822       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2823       25,     0,     0,    26,    27,    28,     0,     0,     0,    34,
    2824        0,     0,    31,   455,     0,     0,    38,    39,     0,     0,
    2825        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2826        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2827       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2828        0,     0,     0,   456,     0,     0,     0,  1235,     0,     0,
    2829       46,    47,     0,     0,     0,     0,     0,    43,     0,     0,
    2830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2831        0,     0,     0,     0,   456,     0,     0,     0,     0,     0,
    2832        0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2923       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2924      35,     0,    36,     0,     0,    38,    39,     2,   205,     4,
     2925       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    28332926      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    28342927      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2835        0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2928       0,     0,    31,     0,     8,     9,    10,    11,    12,    13,
     2929      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2930      24,    25,     0,     0,    26,    27,    28,   492,   493,   494,
     2931      34,     0,    35,    31,    36,     0,     0,   206,    39,     0,
     2932       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2933       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2934       0,    34,     0,     0,     0,     0,     0,     0,    38,    39
     2935};
     2936
     2937#define yypact_value_is_default(yystate) \
     2938  ((yystate) == (-1332))
     2939
     2940#define yytable_value_is_error(yytable_value) \
     2941  YYID (0)
     2942
     2943static const yytype_int16 yycheck[] =
     2944{
     2945       0,     1,     0,   203,   184,   184,   520,   698,   238,    43,
     2946     115,   184,     1,   698,    43,    43,   543,   185,   629,     0,
     2947     104,   218,   184,   280,   185,   456,   455,   698,   348,    29,
     2948      30,   184,    32,   184,    32,  1062,   184,   902,   167,   168,
     2949     609,   348,     1,    43,   656,    45,   278,    45,  1043,   611,
     2950    1006,    32,  1042,  1043,    32,    55,   497,     0,   759,   611,
     2951      28,    61,   612,    61,    64,   609,    64,    67,   618,    67,
     2952     154,   609,   499,   579,  1340,   718,   503,   999,    67,   609,
     2953     609,    81,    82,   780,   264,   264,   777,    51,   186,    32,
     2954    1421,   264,   777,   609,    82,   200,  1425,   265,   344,  1055,
     2955     529,    39,   264,   902,   265,   105,   777,     0,   108,    39,
     2956      78,   264,   417,   264,   609,   115,   264,     0,    43,    72,
     2957      43,    45,   363,   643,   644,   645,   367,   489,    44,    45,
     2958      83,    84,   437,    64,     0,    43,    82,    39,   227,    32,
     2959     445,    39,   662,    44,    45,   109,   146,    95,   146,    32,
     2960     184,     0,     1,    39,   154,   184,   184,   246,   111,   159,
     2961      63,   159,   260,   261,  1495,   111,    32,    44,    45,  1477,
     2962     109,    64,   613,   111,    85,   495,   617,  1443,   109,   109,
     2963      30,   111,   130,    32,   184,   185,   110,   185,     4,     5,
     2964       6,     7,     8,     9,  1523,   109,    39,   638,   114,  1528,
     2965     200,   642,   113,   255,  1512,    39,  1514,   109,   208,   111,
     2966     208,   294,   409,   114,   744,    64,   736,   217,    67,  1548,
     2967     220,   145,   220,   109,   902,   111,  1555,   227,   744,   132,
     2968     264,    81,    82,    96,    82,   264,   264,   405,   115,    11,
     2969     644,   645,   242,   489,   405,    82,   246,   109,  1243,   744,
     2970     250,   251,   250,    69,   511,    71,   112,   341,   662,   184,
     2971     123,   184,   110,  1062,   264,   265,   109,   265,   111,   250,
     2972     839,   271,   250,     0,     1,   109,   184,   111,   278,  1306,
     2973     117,   643,   644,   645,   208,   928,   370,   455,     0,   851,
     2974     395,   841,   251,   293,   455,   839,   114,   107,  1293,   851,
     2975     662,   839,  1292,  1293,   611,    32,     3,   250,   828,   839,
     2976     839,    82,  1009,   819,   238,   110,   132,   116,   423,   487,
     2977      32,   131,   117,   839,   429,   116,   487,   220,   328,   116,
     2978     328,    43,   736,    45,   293,   697,    82,  1259,   109,   951,
     2979      67,   132,   425,   426,   839,   132,   270,   347,   348,    61,
     2980     425,   426,    64,   116,   600,    67,   597,   250,   699,    55,
     2981      90,    91,  1227,   109,   364,   417,    72,   250,   368,   132,
     2982    1071,   220,   255,   297,   736,  1074,  1075,    83,    84,   379,
     2983     721,   109,   110,   629,   250,   437,   691,  1065,   634,   255,
     2984     959,    96,   242,   445,   109,   395,   126,   127,   960,   640,
     2985     110,   250,    72,   109,     3,   405,   116,   405,    82,   105,
     2986    1021,   773,   108,    83,    84,   959,   131,   116,   123,   676,
     2987     344,   959,  1417,   423,   828,   109,   501,  1417,  1227,   429,
     2988     513,   431,   873,    68,   146,   518,   110,    72,   521,  1466,
     2989      75,  1528,    77,   117,  1143,   520,  1473,   159,   532,    84,
     2990    1528,   697,    72,  1409,  1410,   455,   349,   121,   122,    72,
     2991     460,  1548,   132,    83,    84,   109,   828,   111,  1555,   116,
     2992      83,    84,   184,   185,   474,   119,   110,  1555,   116,   479,
     2993    1030,  1031,   699,   117,   112,   132,     0,   487,   116,   487,
     2994    1004,   491,   575,   491,   132,   495,   208,   131,   498,  1526,
     2995     500,   425,   426,     0,   721,   762,   119,  1306,   220,   938,
     2996     491,   586,   132,    88,    89,   474,   947,   946,   698,   698,
     2997     520,   217,   131,   250,   965,   698,   758,   773,   657,   379,
     2998    1142,   851,   700,    80,   417,   109,   698,   537,   250,   700,
     2999     540,   968,   542,   543,   851,   698,    72,   698,   491,  1227,
     3000     698,   417,   264,   116,   437,  1117,   109,    83,    84,   664,
     3001     110,   520,   445,   992,   111,   109,   113,   117,   666,   132,
     3002     117,   437,   115,   116,   110,   271,   211,   501,   537,   445,
     3003     116,   540,   278,   542,   543,   111,   109,   480,   131,   830,
     3004     590,   116,     3,   834,   109,   812,   520,   597,   491,    10,
     3005      11,    12,    13,    14,   109,  1306,   489,   132,   491,   609,
     3006     460,   611,   696,   116,    53,    72,   328,   598,   116,     4,
     3007       5,     6,     7,     8,     9,   491,    83,    84,    39,   132,
     3008     630,   590,   110,   116,   132,   119,   348,   978,   116,   691,
     3009     124,   125,   491,   112,   964,  1323,   646,   116,   498,   132,
     3010     500,   347,   652,   116,   111,   110,    67,    96,     0,     1,
     3011    1498,   661,   586,   663,   664,   665,  1504,  1466,   364,   132,
     3012      80,  1102,   368,   890,  1473,   129,   600,   131,   116,   116,
     3013    1042,   733,  1383,   924,    69,    72,    71,  1525,   772,   110,
     3014      32,   888,  1530,   405,   132,   132,    83,    84,   698,  1377,
     3015     700,   111,  1380,   113,   663,   629,   665,   117,   112,   109,
     3016     634,   111,   909,   713,   116,   110,   351,   112,   353,   719,
     3017     110,   116,    64,   723,   111,    67,   116,  1526,   110,   110,
     3018     132,   731,    45,   110,   116,   116,   131,   132,   631,   109,
     3019     970,   111,   110,   455,   744,   745,   112,  1425,    61,   119,
     3020     116,    64,  1430,   192,    67,   112,    72,   110,   758,   116,
     3021      76,   978,    72,   116,   491,   894,    76,    83,    84,  1470,
     3022     938,  1472,   731,    83,    84,  1021,   215,   938,   946,   491,
     3023     112,   110,  1460,   495,   116,   946,   225,    10,    11,    12,
     3024      13,    14,  1009,   109,  1135,  1322,    92,    93,   110,   109,
     3025    1162,   111,   652,   119,   116,   110,   441,    72,   691,   119,
     3026     109,   116,   111,   155,   697,   109,    39,   111,    83,    84,
     3027      10,    11,    12,    13,    14,   691,  1527,   109,   109,   111,
     3028     513,   724,   515,   146,  1034,   518,  1133,   119,   521,   839,
     3029    1137,  1532,  1059,   110,    67,   738,   159,  1532,   109,    39,
     3030     733,   851,  1193,  1194,   835,   294,   115,   116,   110,   110,
     3031     110,  1532,  1103,   713,   116,   116,   116,   733,  1546,   719,
     3032     116,   117,   185,   723,  1552,   115,  1133,    67,   220,   109,
     3033    1137,  1138,   109,   110,   111,  1563,   109,   132,   111,  1567,
     3034     773,   703,   110,   705,   894,   208,   119,   609,   116,   611,
     3035      72,   901,   902,   110,    76,   110,   111,   220,   250,   116,
     3036      64,    83,    84,   110,     1,   109,  1162,   111,  1135,   116,
     3037      72,   902,    74,    75,   924,    85,    86,    87,  1057,   109,
     3038    1292,    83,    84,    72,   630,    74,    75,   109,   938,   832,
     3039      58,    59,   110,   902,    83,    84,   946,   119,   116,   109,
     3040     646,   111,   109,   113,   114,   110,   112,   109,    45,   132,
     3041     110,   116,   114,   110,   964,   661,   116,   115,   116,   116,
     3042     109,   114,   109,   680,   111,   114,  1193,  1194,   114,    72,
     3043     969,    74,    75,    76,   984,   109,   698,   111,   700,   114,
     3044      83,    84,   109,   993,   111,   109,  1253,  1243,   109,   110,
     3045     111,  1001,   132,   442,  1004,   109,  1006,   111,    82,   902,
     3046      72,   132,    74,    75,   109,   328,   109,   104,   111,   902,
     3047    1125,    83,    84,   110,   117,   984,   119,    72,   109,    74,
     3048      75,    82,   744,   745,   116,   117,   902,   476,    83,    84,
     3049     112,   109,  1001,   111,   894,  1004,   970,  1006,   109,   110,
     3050     111,   901,   114,   902,   120,  1055,   116,   117,   145,   109,
     3051     110,   111,   758,  1404,   128,  1065,   111,   154,  1068,  1069,
     3052    1070,    58,    59,    60,   513,  1265,  1266,  1267,  1507,   518,
     3053    1421,  1062,   521,    72,  1341,    74,    75,    76,  1345,   129,
     3054     432,    94,   405,  1093,    83,    84,  1055,  1021,    44,    45,
     3055      10,    11,    12,    13,    14,   131,  1065,   111,   815,  1068,
     3056    1069,  1070,   564,   565,   566,   567,   109,   204,   825,   109,
     3057     969,   208,   110,  1206,  1207,  1125,  1209,   839,  1557,    39,
     3058     112,  1024,  1215,   840,    72,  1218,    74,    75,  1222,   851,
     3059     560,   561,   112,   993,   110,    83,    84,   562,   563,   491,
     3060     110,   238,   239,  1494,  1495,   110,    72,    67,    74,    75,
     3061      76,   110,    72,   110,    74,    75,    76,    83,    84,  1062,
     3062     568,   569,   109,    83,    84,   902,   112,   111,   131,  1062,
     3063     112,   114,   109,   270,   114,   116,   273,  1404,   114,   112,
     3064    1447,   533,   110,   109,    45,   111,  1062,   110,   112,   109,
     3065    1200,   111,   117,   119,  1421,   112,   112,   294,   112,   119,
     3066     297,    29,   117,  1062,   117,   116,  1205,   110,   110,   114,
     3067     117,   112,  1222,   110,   132,   115,   938,  1227,     3,   115,
     3068     115,   109,   116,   110,   946,    10,    11,    12,    13,    14,
     3069     679,   110,   969,  1093,   116,   110,  1227,   117,   110,   688,
     3070     110,   110,   964,   692,   341,   116,   598,   344,  1247,   110,
     3071     110,   110,     3,   110,    39,  1265,  1266,  1267,  1227,    10,
     3072      11,    12,    13,    14,   110,   110,   363,  1494,  1495,  1162,
     3073     367,   110,   110,   370,    10,    11,    12,    13,    14,   110,
     3074     110,   110,    67,   110,   110,  1400,  1379,   110,    39,    29,
     3075     115,   643,   644,   645,   131,   112,  1265,  1266,  1267,   110,
     3076     110,  1204,  1542,    39,   110,   110,   114,   116,   112,   112,
     3077     662,   110,  1322,  1323,   110,  1306,    67,   110,   116,   110,
     3078     117,   116,  1039,  1040,  1227,  1062,   116,   116,   425,   426,
     3079     112,    67,   116,   110,  1227,   110,   112,    85,    86,    87,
     3080    1200,  1340,  1532,  1532,   109,  1204,  1205,   208,   109,  1532,
     3081    1243,  1227,   109,  1322,  1323,  1533,   453,   109,   112,   456,
     3082    1532,   109,  1533,   111,   109,   113,   114,  1377,  1227,  1532,
     3083    1380,  1532,   132,   109,  1532,   111,   117,   474,   239,  1557,
     3084    1097,  1098,   115,   119,   736,   110,  1557,   110,  1247,  1399,
     3085    1400,   115,  1507,   110,   129,   115,   114,   112,  1301,  1409,
     3086    1410,   132,   499,  1306,   501,   110,   503,   116,  1377,   270,
     3087     112,  1380,   116,  1306,   112,  1425,   513,   110,   515,   110,
     3088    1430,   518,   110,   520,   521,   112,   471,   112,   112,   110,
     3089    1306,    47,   112,   294,   112,   532,   297,   112,  1448,   115,
     3090    1409,  1410,  1301,   132,  1443,   110,   132,  1306,   115,   132,
     3091    1460,   117,   110,   132,   115,   132,  1425,   112,   112,   112,
     3092     112,  1430,    72,   112,    74,    75,    76,   112,  1205,   112,
     3093     112,   110,   110,    83,    84,  1466,   828,   926,   112,  1448,
     3094     112,  1340,  1473,   835,     0,     1,   109,   109,  1532,   586,
     3095    1227,  1460,   109,  1532,  1532,    60,   110,  1507,  1508,   109,
     3096     597,   111,    55,   600,   110,   114,   132,  1517,   112,   119,
     3097    1247,   112,   117,  1523,   110,   112,    32,   110,  1528,    96,
     3098      96,   109,  1532,  1533,   109,  1533,   115,   110,   112,    45,
     3099     132,   110,   629,    42,   116,  1526,  1546,   634,  1548,  1508,
     3100     110,   110,  1552,   640,   117,  1555,   132,  1557,  1517,  1557,
     3101     902,    67,   105,  1563,  1523,   108,  1273,  1567,   132,  1528,
     3102     110,   110,    96,  1466,  1281,  1282,  1283,    96,   132,  1306,
     3103    1473,   110,   110,  1466,   132,   117,   132,  1546,   110,  1548,
     3104    1473,   112,   110,  1552,  1443,   115,  1555,   132,   104,   112,
     3105    1466,   109,   453,   115,  1563,   456,   132,  1473,  1567,   696,
     3106     115,   154,   110,  1340,    64,   110,   132,  1466,  1542,   110,
     3107     110,  1077,  1329,   571,  1473,   570,  1227,   969,   572,    64,
     3108      64,   718,   573,  1526,  1073,   574,  1495,  1385,  1567,    74,
     3109     146,  1316,  1138,  1526,   986,   680,  1473,    81,   154,   155,
     3110    1345,  1093,   705,   946,     4,     5,     6,     7,     8,     9,
     3111    1526,   748,   513,   453,   515,   471,   116,   518,   723,   453,
     3112     521,   948,   993,   590,   217,   894,   966,  1526,   658,   185,
     3113    1247,   116,   116,    33,   578,   772,   491,   758,    10,    11,
     3114      12,    13,    14,    -1,   200,   578,   748,   203,   204,   578,
     3115    1042,  1043,   208,  1399,    -1,    -1,    -1,    -1,    -1,   159,
     3116      -1,    -1,    -1,    -1,    -1,    -1,  1443,    39,    -1,    69,
     3117    1062,    71,    -1,   229,   159,   159,    -1,   233,   271,   235,
     3118      72,    -1,    74,    75,    76,   278,    -1,    -1,   244,  1466,
     3119      -1,    83,    84,   830,   250,    67,  1473,   834,    -1,   255,
     3120      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   265,
     3121      -1,    83,    84,    -1,    -1,    -1,    -1,   273,   283,    -1,
     3122     220,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,
     3123     815,   296,   297,    -1,    -1,   220,   220,   109,    -1,   111,
     3124     825,    -1,    -1,   308,    -1,    -1,    -1,   119,    -1,  1526,
     3125      -1,    -1,    -1,    -1,   347,   840,    -1,    -1,   258,    -1,
     3126      -1,    -1,   262,    10,    11,    12,    13,    14,    -1,    -1,
     3127    1532,   364,    -1,   258,   258,   368,    -1,   262,   262,   344,
     3128      -1,    -1,    -1,    -1,    -1,   341,    -1,   924,   344,    -1,
     3129      -1,   928,    39,   278,   350,    -1,    -1,    97,    -1,    99,
     3130      -1,    -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,
     3131     947,   367,  1204,  1205,   370,   380,    -1,   718,    -1,    -1,
     3132      67,    -1,    -1,    -1,   680,    72,  1315,    74,    75,    76,
     3133      -1,   968,   969,   970,    -1,  1227,    83,    84,   431,    -1,
     3134      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   349,
     3135      -1,    83,    84,    -1,    -1,  1247,    72,    -1,    74,    75,
     3136      76,   417,   109,    -1,   349,   349,    -1,    83,    84,    -1,
     3137      -1,    72,   119,    74,    75,    76,   432,   109,    -1,   111,
     3138     180,   437,    83,    84,  1021,    -1,    -1,   119,    -1,   445,
     3139     190,   191,    -1,   109,    -1,   195,    -1,   197,   198,    -1,
     3140    1292,  1293,    -1,   119,    -1,    -1,    -1,    -1,   109,  1301,
     3141      -1,    -1,    -1,    -1,  1306,   471,    -1,    -1,   474,    -1,
     3142      51,    -1,    53,    -1,    -1,    56,    57,    58,    -1,    60,
     3143     430,    -1,    -1,   489,    -1,   491,    -1,    -1,    -1,    -1,
     3144      -1,    -1,    -1,   499,    75,   430,   430,   503,  1340,    10,
     3145      11,    12,    13,    14,  1039,  1040,    87,    88,    -1,   815,
     3146      -1,    -1,   447,    -1,    -1,  1102,  1103,    -1,    -1,   825,
     3147      72,    -1,    74,    75,    76,    -1,   532,   533,    39,    -1,
     3148     480,    83,    84,    -1,   840,  1474,    -1,  1476,    -1,    -1,
     3149      -1,    -1,   557,   558,   559,   480,   480,    72,    -1,    74,
     3150      75,    76,    -1,    -1,   597,    -1,    67,   109,    83,    84,
     3151      -1,    -1,  1097,  1098,    -1,    -1,    -1,   119,    -1,    -1,
     3152      -1,    -1,  1511,   579,  1513,  1417,    -1,   928,    -1,    -1,
     3153      -1,    -1,    -1,    -1,   109,   600,    -1,   630,    -1,    -1,
     3154      -1,   597,   598,    -1,   600,    -1,   947,    -1,   109,    -1,
     3155     111,  1443,    -1,   646,    -1,   611,    -1,    -1,   119,    -1,
     3156      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1556,   661,  1558,
     3157      -1,    -1,    -1,   629,  1466,    -1,    -1,    -1,   634,    -1,
     3158      -1,  1473,  1571,  1572,   640,  1222,    -1,   643,   644,   645,
     3159      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3160       0,    -1,    -1,   603,    -1,    -1,   662,    -1,    -1,    -1,
     3161    1247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   603,   603,
     3162      -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,
     3163      -1,   631,    32,    -1,  1526,   691,   636,    -1,    -1,    -1,
     3164     696,   697,    -1,    -1,   700,    -1,   631,   631,    -1,    -1,
     3165      -1,   636,   636,    -1,    -1,    -1,  1241,    -1,    -1,    -1,
     3166      -1,    -1,    -1,    -1,    -1,   758,    -1,    67,    -1,   734,
     3167      -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,
     3168     736,    -1,    -1,  1039,  1040,    -1,    -1,    -1,  1273,   745,
     3169      -1,    -1,   748,    -1,    -1,    -1,  1281,  1282,  1283,    -1,
     3170      -1,  1102,    -1,  1340,    -1,    -1,    -1,    -1,    -1,    -1,
     3171      -1,    -1,    -1,   344,   345,   780,   772,   773,    -1,    -1,
     3172      -1,    -1,   778,    -1,   724,   356,   357,    -1,    -1,    26,
     3173      27,    28,    -1,    -1,    -1,    -1,    -1,    -1,   738,   724,
     3174     724,  1097,  1098,    -1,  1329,    -1,    -1,    -1,    -1,    -1,
     3175      -1,    -1,    -1,   738,   738,   155,    -1,    -1,    -1,   815,
     3176      -1,    -1,   827,    -1,    -1,    -1,    -1,    -1,    -1,   825,
     3177      -1,    -1,   828,   758,   830,    -1,    -1,   833,   834,   835,
     3178      -1,    -1,   582,   583,   840,    -1,    -1,    -1,    -1,    -1,
     3179      -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,    -1,    -1,
     3180      97,    -1,    99,    -1,    -1,    -1,  1443,    10,    11,    12,
     3181      13,    14,   612,    -1,    -1,   615,   616,    -1,   618,    -1,
     3182     620,   621,    -1,    -1,    -1,   625,   626,   124,    -1,   229,
     3183      -1,   924,   832,    -1,    -1,    -1,    39,    -1,  1475,    -1,
     3184    1477,    -1,    -1,    -1,    -1,    -1,   902,   832,   832,    -1,
     3185     250,    -1,    -1,    -1,    -1,   255,   188,    -1,    -1,    -1,
     3186      -1,    -1,    -1,   195,    67,    -1,    -1,    -1,   924,    72,
     3187      -1,    74,    75,    76,    -1,  1512,    -1,  1514,    -1,    -1,
     3188      83,    84,    -1,   180,    -1,  1241,    -1,    -1,    -1,    -1,
     3189      -1,   188,    -1,   190,   191,    -1,    -1,    -1,   195,    -1,
     3190     197,   198,    -1,    -1,   960,  1542,   109,    -1,   111,   709,
     3191     710,    -1,   968,   969,    -1,   715,   119,  1273,    -1,    10,
     3192      11,    12,    13,    14,    -1,  1281,  1282,  1283,    -1,    -1,
     3193     986,    -1,    -1,    -1,    -1,   267,    -1,    -1,    -1,    10,
     3194      11,    12,    13,    14,    -1,    -1,    -1,    -1,    39,    -1,
     3195     350,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    -1,
     3196      -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    39,    -1,
     3197     267,    -1,    -1,  1329,    -1,    -1,    67,    -1,  1034,    -1,
     3198      -1,    72,    -1,  1039,  1040,    76,  1042,  1043,    -1,    -1,
     3199      -1,   323,    83,    84,    -1,    -1,    67,  1062,    -1,   331,
     3200      -1,    72,   334,    74,    75,    76,  1062,    -1,    -1,    -1,
     3201      -1,    -1,    83,    84,    -1,    -1,    -1,   417,   109,    -1,
     3202      -1,     0,    -1,    -1,  1024,    -1,    -1,    -1,   119,    -1,
     3203      -1,    -1,   432,    -1,    -1,    -1,    -1,   437,   109,  1024,
     3204    1024,  1097,  1098,    -1,    -1,   445,    -1,  1103,   119,    -1,
     3205      -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3206      -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,    -1,   401,
     3207      -1,   471,    -1,    -1,  1475,    -1,  1477,    -1,    97,    98,
     3208      99,   100,   101,   102,   103,   104,   105,   106,    67,   489,
     3209      -1,   491,    -1,    -1,   725,    -1,   727,    -1,    -1,    -1,
     3210      -1,    -1,    -1,   734,   735,    -1,  1162,    -1,   739,    -1,
     3211      -1,  1512,   131,  1514,  1179,    10,    11,    12,    13,    14,
     3212     751,    -1,    -1,    -1,    -1,   756,    -1,    -1,    -1,  1222,
     3213      -1,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,    -1,
     3214      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,  1205,
     3215      -1,   782,    -1,    -1,   486,    -1,    -1,    -1,    -1,    -1,
     3216      -1,    -1,    -1,    -1,    -1,    -1,  1222,    -1,    -1,    -1,
     3217      -1,  1227,    67,    -1,    -1,    -1,   155,    72,    -1,    -1,
     3218      -1,    76,    -1,    -1,    -1,  1241,    -1,  1243,    83,    84,
     3219      -1,  1247,    -1,    -1,    -1,    -1,   827,    -1,   598,    -1,
     3220      -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,    -1,    -1,
     3221      -1,    -1,    -1,    -1,   109,    -1,    -1,  1273,    -1,  1204,
     3222    1204,    -1,    -1,    -1,   119,  1281,  1282,  1283,    -1,    -1,
     3223      -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,    -1,    -1,
     3224      -1,    -1,    -1,   643,   644,   645,   578,   579,    -1,    -1,
     3225    1306,    -1,    -1,   884,   885,   886,   887,    -1,   889,    -1,
     3226      -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3227      -1,   250,    -1,  1329,   905,    -1,   255,    -1,    -1,    -1,
     3228     680,    -1,    -1,    -1,  1340,   582,   583,    -1,   919,    -1,
     3229      -1,   691,    -1,    -1,    -1,    -1,    -1,   697,    -1,  1099,
     3230      -1,  1301,    -1,    -1,    -1,    -1,  1399,    -1,    -1,    -1,
     3231      -1,    -1,    -1,    -1,    -1,   612,  1301,  1301,   615,   616,
     3232      -1,   618,    -1,   620,   621,    -1,    -1,   958,   625,   626,
     3233      -1,    -1,    -1,   733,    -1,   667,   736,    -1,    -1,   671,
     3234      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3235      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3236      -1,  1417,    -1,    -1,    -1,    -1,    -1,   998,    -1,    39,
     3237      -1,   350,   704,   773,  1005,    -1,    -1,    -1,    -1,  1010,
     3238      -1,    -1,    -1,    -1,  1015,    -1,  1017,  1443,    -1,    -1,
     3239    1021,  1022,  1023,    -1,    -1,  1026,    -1,    67,    -1,    -1,
     3240      -1,    -1,    -1,    -1,  1035,    -1,    -1,   704,    78,    -1,
     3241    1466,    -1,   709,   710,    -1,   815,    -1,  1473,   715,    -1,
     3242      -1,    -1,  1053,  1054,  1224,   825,    -1,    -1,   828,    -1,
     3243      -1,    -1,    -1,   833,    -1,   835,    -1,    -1,   417,    -1,
     3244     840,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1080,
     3245      -1,    -1,  1083,   432,    -1,    -1,    -1,    -1,   437,    -1,
     3246      -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,    -1,
     3247    1526,    -1,    -1,    -1,    -1,    -1,    -1,  1533,    -1,    -1,
     3248      -1,    -1,    -1,    -1,    -1,    -1,    -1,   819,    -1,    -1,
     3249      -1,  1122,   471,    -1,    -1,    -1,    -1,  1128,  1129,    -1,
     3250      -1,    -1,   902,    -1,    -1,    -1,    -1,    -1,    -1,  1140,
     3251     489,    -1,   491,     0,  1145,    -1,    -1,  1148,    -1,  1150,
     3252      -1,    -1,  1153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3253      -1,    -1,    -1,    -1,    -1,  1166,    -1,    -1,    -1,    -1,
     3254      -1,    -1,    -1,    -1,    -1,    32,    37,    38,  1179,    40,
     3255    1181,  1182,  1183,  1184,   533,    -1,    -1,    -1,    -1,    -1,
     3256      -1,    -1,    -1,    -1,    -1,    -1,  1197,    -1,  1199,    -1,
     3257      -1,    -1,  1203,    -1,    -1,    66,    -1,    -1,    -1,    -1,
     3258      67,    72,    -1,    74,    75,    76,   986,    -1,    79,    80,
     3259      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3260     932,  1232,  1233,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3261      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   598,
     3262     111,    -1,   113,   114,    -1,    -1,    -1,   118,   119,   120,
     3263     121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,  1039,
     3264    1040,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
     3265      -1,    -1,    -1,  1284,  1285,    -1,    -1,    -1,    -1,    -1,
     3266      -1,    -1,  1062,  1294,   643,   644,   645,    -1,   155,    -1,
     3267      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1011,
     3268      -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,
     3269      -1,    -1,    -1,    -1,    -1,  1027,    -1,  1097,  1098,    -1,
     3270      -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3271      -1,    -1,   691,    -1,    -1,  1346,    -1,    -1,   697,    -1,
     3272      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1358,    -1,  1360,
     3273    1361,  1362,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3274      -1,  1372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3275    1381,    -1,    -1,    -1,   733,    -1,    -1,   736,    -1,    -1,
     3276      -1,    66,  1162,   250,    -1,    -1,  1397,    72,   255,    -1,
     3277      -1,    76,  1104,    -1,    79,    80,    81,    82,    83,    84,
     3278      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,     0,    94,
     3279      -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,
     3280      -1,    -1,  1099,    -1,   109,  1205,   111,    -1,    -1,   114,
     3281      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3282      32,    -1,  1453,  1454,    -1,    -1,    -1,  1227,    -1,    -1,
     3283      -1,    -1,    -1,    -1,    -1,  1466,   815,    -1,    -1,    -1,
     3284      -1,  1241,  1473,  1243,    -1,    -1,   825,    -1,    -1,   828,
     3285      -1,    -1,    -1,    -1,   833,    67,   835,    -1,    -1,    -1,
     3286      -1,   840,    -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,
     3287      -1,    -1,    -1,  1273,    -1,  1506,    -1,    -1,    -1,  1510,
     3288      -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,
     3289      -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,    -1,    -1,
     3290      -1,    -1,    -1,    -1,    -1,    -1,  1306,    -1,  1539,    -1,
     3291    1541,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3292      -1,    -1,    -1,   902,    -1,    -1,    -1,  1224,    -1,  1329,
     3293     417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1569,  1570,
     3294      -1,    -1,    -1,   155,    -1,   432,  1577,  1578,    -1,    -1,
     3295     437,    -1,    -1,    -1,    -1,    -1,     0,    -1,   445,     3,
     3296       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3297      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3298      24,    25,    26,    27,   471,    -1,    30,    31,    32,    33,
     3299      -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
     3300      -1,    -1,   489,    -1,   491,    -1,    -1,   986,    -1,    -1,
     3301      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1417,    -1,    -1,
     3302      64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     3303      74,    75,    76,    -1,    -1,    -1,    -1,    -1,   250,    83,
     3304      84,    -1,    -1,   255,    -1,    -1,   533,    -1,     7,    -1,
     3305      -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
     3306    1039,  1040,    -1,  1042,  1043,   109,  1466,   111,    -1,    -1,
     3307      -1,    -1,    -1,  1473,    -1,   119,    -1,    -1,    37,    38,
     3308      39,    40,    -1,  1062,    -1,    10,    11,    12,    13,    14,
    28363309      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2837       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2838       34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
    2839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2840        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2841       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2842        0,     0,   642,     0,   339,     0,     0,     0,     0,     0,
    2843        0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
    2844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2845        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
    2846        0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
    2847       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2848       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2849        0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
    2850       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2851       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2852       34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
    2853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2854        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2855       34,     0,     0,     0,     0,     0,     0,   209,    39,     0,
    2856        0,     0,     0,     0,   159,     0,     0,     0,     0,     0,
    2857        0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
    2858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2859        0,     0,     0,     0,   272,     0,     0,     0,     0,     0,
    2860        0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
    2861       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2862       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2863        0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
    2864       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2865       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2866       34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
    2867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2868        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2869       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2870        0,     0,     0,     0,   339,     0,     0,     0,     0,     0,
    2871        0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
    2872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2873        0,     0,     0,     0,   456,     0,     0,     0,     0,     0,
    2874        0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
    2875       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2876       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2877        0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
    2878       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2879       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2880       34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
    2881        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2882        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2883       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2884        0,     0,     0,     0,   600,     0,     0,     0,     0,     0,
    2885        0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
    2886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2887        0,     0,     0,     0,    45,     0,     0,     0,     0,     0,
    2888        0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
    2889       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2890       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2891        0,     0,    31,     0,     0,     2,   208,     4,     5,     6,
    2892        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2893       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2894       34,    26,    27,    28,     0,     0,     0,   209,    39,     0,
    2895       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2896        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2897        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2898       35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
    2899        0,    46,    47,   284,   285,     0,   286,  1062,     0,  1063,
    2900        0,     0,  1064,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
    2901        0,     0,  1550,  1072,     0,     0,     0,  1073,  1074,     0,
    2902       33,  -416,   287,     0,     0,     0,     0,     0,  1075,     0,
    2903        0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
    2904       42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
    2905       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2906        0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
    2907      173,     0,     0,     0,    46,    47,   298,   299,   300,   301,
    2908        0,     0,     0,     0,  1077,     0,   284,   285,  -130,   286,
    2909     1062,     0,  1063,     0,     0,  1064,  1065,  1066,  1067,  1068,
    2910     1069,  1070,  1071,     0,     0,     0,  1072,     0,     0,     0,
    2911     1073,  1074,     0,    33,     0,   287,     0,     0,     0,     0,
    2912        0,  1075,     0,     0,     0,   289,     0,     0,   290,   291,
    2913      292,   293,    41,    42,     0,   294,   295,     0,     0,     0,
    2914        0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
    2915        0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
    2916      380,     0,     0,   173,     0,     0,     0,    46,    47,   298,
    2917      299,   300,   301,     0,     0,     0,     0,  1077,     0,     0,
    2918        0,  -130,     2,   208,     4,     5,     6,     7,     8,     9,
    2919       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2920       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2921       28,     0,     0,     0,     0,     0,     0,    31,     0,   284,
    2922      285,     0,   286,  1062,     0,  1063,  1420,  1421,  1064,  1065,
    2923     1066,  1067,  1068,  1069,  1070,  1071,     0,     0,  1550,  1072,
    2924        0,     0,     0,  1073,  1074,    34,    33,    35,   287,    36,
    2925        0,     0,    38,    39,  1075,     0,     0,     0,   289,     0,
    2926        0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
    2927        0,     0,     0,     0,  1329,     0,    43,     0,     0,     0,
    2928        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2929        0,   296,     0,   380,     0,     0,   173,     0,     0,     0,
    2930       46,    47,   298,   299,   300,   301,     0,     0,   284,   285,
    2931     1077,   286,  1062,     0,  1063,  1420,  1421,  1064,  1065,  1066,
    2932     1067,  1068,  1069,  1070,  1071,     0,     0,     0,  1072,     0,
    2933        0,     0,  1073,  1074,     0,    33,     0,   287,     0,     0,
    2934        0,     0,     0,  1075,     0,     0,     0,   289,     0,     0,
    2935      290,   291,   292,   293,    41,    42,     0,   294,   295,     0,
    2936        0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
    2937        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2938      296,     0,   380,     0,     0,   173,     0,     0,     0,    46,
    2939       47,   298,   299,   300,   301,     0,     0,   284,   285,  1077,
    2940      286,  1062,     0,  1063,     0,     0,  1064,  1065,  1066,  1067,
    2941     1068,  1069,  1070,  1071,     0,     0,     0,  1072,     0,     0,
    2942        0,  1073,  1074,     0,    33,     0,   287,     0,     0,     0,
    2943        0,     0,  1075,     0,     0,     0,   289,     0,     0,   290,
    2944      291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
    2945        0,     0,     0,     0,    43,   284,   285,     0,   286,     0,
    2946        0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
    2947        0,   380,     0,     0,   173,     0,     0,     0,    46,    47,
    2948      298,   299,   300,   301,   287,     0,     0,     0,  1077,     0,
    2949      648,     0,     0,     0,   289,     0,     0,   290,   291,   292,
    2950      293,    41,    42,     0,   294,   295,     0,     0,     0,     0,
    2951        0,     0,    43,   284,   285,     0,   286,     0,     0,     0,
    2952        0,     0,     0,     0,     0,     0,     0,   296,     0,   784,
    2953        0,     0,   284,   285,     0,   286,    46,    47,   298,   299,
    2954      300,   301,   287,     0,     0,     0,     0,     0,   288,     0,
    2955        0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
    2956       42,   287,   294,   295,     0,     0,     0,   288,     0,     0,
    2957       43,   289,     0,     0,   290,   291,   292,   293,    41,    42,
    2958        0,   294,   295,     0,     0,   296,     0,   380,     0,    43,
    2959      284,   285,     0,   286,   345,    47,   298,   299,   300,   301,
    2960        0,     0,     0,     0,   296,     0,     0,     0,     0,   284,
    2961      285,     0,   286,    46,    47,   298,   299,   300,   301,   287,
    2962        0,     0,     0,     0,     0,   288,     0,     0,     0,   289,
    2963        0,     0,   290,   291,   292,   293,    41,    42,   287,   294,
    2964      295,     0,     0,     0,   288,     0,     0,    43,   289,     0,
    2965        0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
    2966        0,     0,   520,     0,     0,     0,    43,     0,     0,     0,
    2967        0,    46,    47,   298,   299,   300,   301,     0,     0,     0,
    2968        0,   523,     0,     0,     0,     0,     0,     0,     0,     0,
    2969       46,    47,   298,   299,   300,   301,     2,   208,     4,     5,
     3310      25,    26,    27,    28,    -1,    -1,    -1,    66,    67,    -1,
     3311      -1,   598,    -1,    72,    39,    -1,    -1,    76,  1097,  1098,
     3312      79,    80,    81,    82,    83,    84,  1526,    86,    87,    -1,
     3313      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,   350,    -1,
     3314      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3315     109,    -1,   111,    78,    -1,    -1,   643,   644,   645,   118,
     3316     119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
     3317      -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,
     3318      -1,    -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,
     3319      -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,
     3320      -1,    -1,    -1,    -1,   691,   417,    -1,    -1,    -1,    45,
     3321     697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3322     432,    -1,    -1,    -1,    -1,   437,  1205,    -1,    64,    -1,
     3323      -1,    -1,    -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,
     3324      -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,  1227,   736,
     3325      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,
     3326      -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,    -1,    -1,
     3327      -1,    -1,    -1,    -1,   110,    -1,    -1,   489,    -1,   491,
     3328     116,    -1,    -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,
     3329      -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,    -1,
     3330      -1,    -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,   145,
     3331      -1,    -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,   155,
     3332      -1,   533,    -1,   159,    -1,    -1,    -1,  1306,   815,    -1,
     3333      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,
     3334      -1,   828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,
     3335    1329,    -1,    -1,   840,    10,    11,    12,    13,    14,    15,
     3336      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3337      26,    27,   208,    -1,    30,    31,    32,    -1,    -1,    -1,
     3338      -1,    -1,    -1,    39,   220,    -1,   598,    -1,    -1,    -1,
     3339      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3340      -1,    -1,   238,   239,    -1,    -1,    -1,    -1,    -1,    -1,
     3341      -1,    67,    -1,    -1,    -1,   902,    -1,    -1,    74,    75,
     3342      -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,    -1,
     3343      -1,   643,   644,   645,   270,    -1,    -1,    -1,  1417,    -1,
     3344      -1,    -1,    -1,    -1,   281,    -1,   283,   284,    -1,    -1,
     3345     662,    -1,    -1,    -1,   291,   292,    -1,    -1,   294,   296,
     3346     297,   297,    -1,   119,    -1,    -1,    -1,    -1,   680,    -1,
     3347      -1,   308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
     3348      -1,    -1,    -1,    -1,    -1,   697,    -1,  1466,    37,    38,
     3349      -1,    40,    -1,    -1,  1473,    -1,    -1,    -1,    -1,   986,
     3350      -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,   344,    -1,
     3351      -1,    -1,    -1,   349,    -1,    -1,    -1,    66,    -1,    -1,
     3352      -1,   733,    -1,    72,   736,    -1,    -1,    76,    -1,    -1,
     3353      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3354      -1,    -1,    -1,   380,    -1,    94,    -1,  1526,    -1,    -1,
     3355      -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,    -1,    -1,
     3356     109,   773,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3357     119,   120,   121,   122,   123,  1062,    -1,    -1,    -1,    -1,
     3358      -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,   425,
     3359     426,    -1,    -1,    -1,    -1,    74,   432,    76,    -1,    78,
     3360      -1,    -1,    -1,   815,    -1,    -1,    85,    -1,    -1,    -1,
     3361    1097,  1098,    -1,   825,    -1,    -1,   828,   453,    -1,    -1,
     3362     456,   833,    -1,   835,    -1,    -1,    -1,    -1,   840,    -1,
     3363      -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,   118,
     3364     119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3365      -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,
     3366      -1,    -1,    -1,    -1,    -1,   501,    -1,    -1,    -1,    -1,
     3367      -1,    -1,    -1,    -1,    -1,  1162,    -1,   513,    -1,   515,
     3368     159,    -1,   518,    -1,   520,   521,    -1,    -1,    -1,    -1,
     3369     902,    -1,    -1,    -1,    -1,    -1,    -1,   533,    -1,    -1,
     3370      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3371      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,    -1,
     3372     557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
     3373     567,   568,   569,   570,   571,   572,   573,   574,    -1,    -1,
     3374    1227,   220,    -1,   222,   223,   224,    -1,    -1,    -1,    -1,
     3375     586,    -1,    -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,
     3376      -1,    -1,   598,   600,   600,    -1,    -1,   603,    -1,    -1,
     3377      -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,   258,
     3378      -1,    -1,    -1,   262,    -1,    -1,  1273,    -1,    -1,    -1,
     3379      -1,    -1,    -1,   629,  1281,  1282,  1283,    -1,   634,   278,
     3380      -1,    -1,    -1,    -1,    -1,  1292,  1293,   643,   644,   645,
     3381      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1306,
     3382      -1,    -1,    -1,    -1,    -1,    -1,   662,  1039,  1040,    -1,
     3383    1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3384      -1,    -1,  1329,    -1,    -1,    -1,    -1,    -1,    -1,   328,
     3385    1062,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3386      -1,   697,   699,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3387     349,    -1,    -1,    -1,    -1,   354,   355,    44,    -1,    -1,
     3388      -1,    -1,   718,   362,   721,  1097,  1098,    -1,    -1,    -1,
     3389      -1,    -1,    -1,    -1,    -1,    -1,    -1,   734,    -1,    -1,
     3390     736,    -1,   738,    10,    11,    12,    13,    14,    15,    16,
     3391      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3392      27,    -1,    -1,    90,    -1,    -1,   405,    -1,    -1,    -1,
     3393    1417,    -1,    39,   100,    -1,    -1,    -1,   773,    -1,    -1,
     3394      -1,    -1,    -1,   780,   423,    -1,    -1,    -1,    -1,   428,
     3395    1162,   430,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3396      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,    -1,
     3397      -1,   450,   451,    -1,    -1,   812,    -1,    -1,    -1,  1466,
     3398      -1,    -1,    -1,    -1,    -1,    -1,  1473,   466,    -1,   156,
     3399     827,    -1,   828,  1205,    -1,    -1,   832,    -1,    -1,   835,
     3400      -1,   480,    -1,   170,    -1,    -1,    -1,    -1,   487,    -1,
     3401      -1,    -1,    -1,    -1,    -1,  1227,    -1,    -1,    -1,    -1,
     3402      -1,    -1,    -1,    -1,    -1,    -1,   193,    -1,    -1,  1241,
     3403      -1,  1243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1526,
     3404     207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,
     3405      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     3406      -1,  1273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1281,
     3407    1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3408    1292,  1293,    -1,    -1,   251,    -1,    -1,    -1,    -1,   256,
     3409      -1,    -1,   928,    -1,  1306,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,   269,    -1,    -1,    -1,    -1,    -1,   275,    -1,
     3411     277,   947,    -1,    -1,    -1,    -1,    -1,  1329,    -1,    -1,
     3412      -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,   295,    -1,
     3413      -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,    -1,
     3414      -1,   978,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3415     986,    -1,   631,    -1,    -1,    -1,    -1,   636,    -1,    -1,
     3416      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3417      -1,   338,  1009,    -1,    -1,    -1,   343,    -1,    -1,    -1,
     3418      -1,    -1,    -1,    -1,  1021,  1021,    -1,    -1,    -1,    -1,
     3419      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3420      -1,    -1,    -1,    -1,   371,  1417,  1042,  1043,   375,   376,
     3421      -1,   378,    -1,    -1,    -1,    -1,    -1,    -1,   385,   386,
     3422      -1,   388,   389,    -1,   391,  1062,   393,    -1,    -1,    -1,
     3423      -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
     3424      -1,    -1,    -1,   410,    -1,   724,    -1,    -1,    -1,    -1,
     3425      -1,   418,    -1,    -1,  1466,    -1,    -1,    -1,    -1,   738,
     3426      -1,  1473,    37,    38,    39,    40,  1102,    -1,    -1,    -1,
     3427      -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,    -1,   758,
     3428      -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,    -1,    -1,
     3429      -1,    66,    67,    -1,    -1,    -1,    -1,    72,  1135,    -1,
     3430      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3431     477,    86,    87,    -1,  1526,    -1,   483,    -1,    -1,    94,
     3432      -1,   488,    -1,    -1,    -1,    -1,  1162,    -1,    -1,    -1,
     3433      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3434     819,    -1,  1179,   118,   119,   120,   121,   122,   123,    -1,
     3435      -1,    -1,    -1,   832,    -1,    -1,  1193,  1194,   525,    -1,
     3436      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,
     3437      -1,    -1,   851,    -1,   541,    -1,    -1,    -1,    -1,    -1,
     3438      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3439      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3440      22,    23,    24,    25,    26,    27,    -1,  1243,    30,    31,
     3441      32,   578,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3442     587,    -1,    -1,    -1,    -1,    -1,    -1,   594,    -1,    -1,
     3443      -1,    -1,   599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3444      -1,    -1,    -1,   610,    -1,    67,    -1,    69,    -1,    71,
     3445      72,    -1,    74,    75,    76,    -1,  1292,  1293,    -1,   938,
     3446      -1,    83,    84,    -1,    -1,  1301,    -1,    -1,    -1,    -1,
     3447      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3448      -1,    -1,    -1,    -1,   651,   964,    -1,   109,    -1,   111,
     3449      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
     3450      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3451      -1,    -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,
     3452     687,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3453      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3454      24,    25,    26,    27,    28,  1024,    30,    31,    32,    -1,
     3455      -1,    -1,    -1,    -1,    -1,    39,  1035,    -1,    -1,    -1,
     3456      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1404,    -1,    -1,
     3457      -1,    -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,
     3458      -1,  1417,    -1,    67,  1421,   752,   753,    -1,    -1,    -1,
     3459      74,    75,    -1,    -1,    78,    -1,    -1,    -1,    -1,   766,
     3460      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3461      -1,    -1,    -1,    -1,    -1,    -1,   783,    -1,   785,    -1,
     3462      -1,    -1,   789,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3463      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,  1117,  1475,
     3464      -1,  1477,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3465      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1494,  1495,    -1,
     3466      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3467      37,    38,    -1,    40,    -1,    -1,  1512,    -1,  1514,    -1,
     3468      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   855,    -1,
     3469      -1,    -1,    -1,    -1,    -1,   862,    -1,    -1,    -1,    66,
     3470      -1,    -1,    -1,    -1,    -1,    72,  1542,    -1,   875,    76,
     3471     877,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3472      87,    -1,    -1,    -1,   891,  1204,    -1,    94,    -1,    -1,
     3473      -1,   898,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3474      -1,    -1,   109,   910,   111,    -1,   913,    -1,    -1,   116,
     3475      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     3476      -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,
     3477      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3478      -1,    -1,    -1,    -1,   154,   155,    -1,    -1,    -1,    -1,
     3479      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,    -1,
     3482      -1,    -1,  1301,    -1,    -1,   195,    -1,     3,     4,     5,
    29703483       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    29713484      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2973        0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
    2974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2975        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2976        0,    35,     0,    36,    37,     0,   176,   177,    40,     0,
    2977        0,     0,     0,     0,     0,    41,    42,   207,     2,   208,
     3485      26,    27,    -1,  1020,    30,    31,    32,    33,    -1,    -1,
     3486      36,    -1,    -1,    39,    40,    10,    11,    12,    13,    14,
     3487      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3488      25,    26,    27,    -1,    -1,    30,    31,    32,    64,    -1,
     3489      -1,    67,    -1,    69,    39,    71,    72,   267,    74,    75,
     3490      76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,  1076,
     3491      -1,    -1,    -1,    -1,    -1,    -1,  1083,    -1,    -1,    -1,
     3492      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3493      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,   115,
     3494      -1,    -1,    -1,   119,    -1,   145,  1113,    -1,    -1,    -1,
     3495      -1,  1118,    -1,   323,    -1,   155,    -1,    -1,    -1,  1126,
     3496      -1,   331,   332,    -1,   334,   335,    -1,   167,   168,    -1,
     3497      -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,   348,    -1,
     3498      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3499    1157,    -1,    -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,
     3500     370,    -1,  1169,    -1,    -1,  1172,    -1,  1174,    -1,    -1,
     3501      37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
     3502      -1,  1188,  1189,    -1,    -1,    -1,    -1,   397,    -1,    -1,
     3503      -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,   238,    66,
     3504      -1,    -1,    -1,  1210,    -1,    72,    -1,    -1,    -1,    76,
     3505      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3506      87,    -1,   432,   263,    -1,    -1,    -1,    94,    -1,    -1,
     3507    1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,
     3508      -1,    -1,   109,    -1,   111,   455,    -1,   114,    -1,    -1,
     3509      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     3510      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3511      -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,    -1,   489,
     3512      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3513       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3514      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3515      -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,   529,
     3516      39,    -1,   532,   533,    -1,    -1,    -1,    -1,  1335,    -1,
     3517    1337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   379,
     3518      -1,    -1,    -1,  1350,    -1,  1352,    -1,    -1,    67,    -1,
     3519      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    78,
     3520      -1,    -1,    -1,  1370,    -1,    -1,    -1,    -1,   578,   579,
     3521      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1386,
     3522    1387,    -1,    -1,    -1,    -1,    -1,    -1,   597,   598,    -1,
     3523     600,  1398,   111,    -1,  1401,    -1,    -1,    -1,    -1,   609,
     3524     119,   611,   612,    -1,    -1,    -1,    -1,    -1,   618,    -1,
     3525      -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,   628,   629,
     3526      -1,    -1,    -1,    -1,   634,  1432,    -1,    -1,  1435,    -1,
     3527    1437,  1438,  1439,   643,   644,   645,    -1,    -1,    -1,    -1,
     3528      -1,   481,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3529      -1,    -1,   662,    -1,    -1,    -1,    -1,   667,   668,    -1,
     3530      -1,   671,   672,    -1,    -1,    -1,    -1,    -1,   678,    -1,
     3531      -1,    -1,  1479,    -1,  1481,    -1,    -1,  1484,    -1,    -1,
     3532     520,    -1,    -1,    -1,    -1,    -1,   696,   697,   698,    -1,
     3533     700,    -1,  1499,   533,   704,    -1,    -1,    -1,    -1,    -1,
     3534     540,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,    -1,
     3535      -1,    -1,    -1,    -1,   554,   555,    -1,    -1,    -1,    -1,
     3536      -1,    -1,    -1,    -1,    -1,    -1,   736,   737,    -1,    -1,
     3537      -1,    -1,    -1,    -1,    -1,    -1,   576,    -1,    -1,    -1,
     3538      -1,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,
     3539      -1,    -1,    -1,   593,    -1,    -1,    -1,    -1,   598,    -1,
     3540      -1,    -1,   772,   773,    -1,    -1,    -1,   777,   778,    -1,
     3541      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3542       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3543      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3544      -1,    30,    31,    32,    33,    -1,    -1,    36,   648,   819,
     3545      39,    40,    -1,    -1,    -1,    -1,    -1,   657,   828,    -1,
     3546      -1,    -1,    -1,    -1,   834,   835,    -1,    -1,    -1,   839,
     3547      -1,   841,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
     3548      69,   851,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3549      -1,    -1,    -1,    -1,    83,    84,    -1,   697,    -1,    -1,
     3550      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3551      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3552     109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3553     119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3554      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3555      25,    26,    27,    28,   924,    30,    31,    32,    -1,    -1,
     3556      -1,    -1,   932,    -1,    39,    -1,    -1,    -1,   938,    -1,
     3557      -1,    -1,    -1,   773,    -1,   775,   946,    -1,    -1,    -1,
     3558      -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,   788,   959,
     3559     960,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3560      75,    76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,
     3561      -1,    -1,    -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,
     3562      -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3563      -1,    -1,   832,   833,   109,   835,   111,    -1,    -1,    -1,
     3564      -1,  1011,  1012,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3565     850,  1021,    -1,    -1,    -1,    -1,    -1,  1027,  1028,    -1,
     3566    1030,  1031,  1032,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3567      -1,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3569     890,    -1,    -1,    -1,   894,     3,     4,     5,     6,     7,
     3570       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3571      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3572      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
     3573      -1,    39,    -1,  1103,  1104,  1105,    -1,    -1,    -1,    -1,
     3574      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1117,    -1,    -1,
     3575      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3576      -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
     3577     970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3578      -1,    -1,    -1,    -1,    -1,    -1,   986,   987,    -1,    -1,
     3579      -1,    -1,  1162,   993,    -1,    -1,    -1,    37,    38,   999,
     3580      40,    -1,  1002,   111,  1004,    -1,    -1,    -1,    -1,    -1,
     3581      -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3582      -1,    -1,    -1,    -1,  1024,    -1,    66,    -1,    -1,    -1,
     3583      -1,    -1,    72,    -1,    -1,  1035,    76,    -1,    -1,    79,
     3584      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3585      -1,    -1,  1222,    -1,    94,    37,    38,  1057,    40,  1059,
     3586      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3587      -1,   111,    -1,  1243,  1074,  1075,    -1,    -1,   118,   119,
     3588     120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,    -1,
     3589      72,    -1,    -1,    -1,    76,  1095,    -1,    79,    80,    81,
     3590      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3591      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3592      -1,    -1,  1292,  1293,    -1,    -1,    -1,   109,    -1,   111,
     3593      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     3594     122,   123,    -1,  1143,    -1,    -1,    -1,    -1,    -1,    -1,
     3595      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3596      -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3597      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,  1178,    -1,
     3598      -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3599       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3600      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3601      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3602      38,    39,    40,    41,    -1,    43,    -1,    -1,    46,    47,
     3603      48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
     3604      -1,    -1,    -1,    61,    62,    -1,    64,  1417,    66,    67,
     3605      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,  1259,
     3606      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3607      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3608      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3609      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3610     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3611     128,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,
     3612    1320,    -1,  1322,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3613      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1507,    10,    11,
     3614      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3615      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3616      32,    -1,  1532,  1533,    -1,    -1,    -1,    39,    -1,    -1,
     3617      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3618      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,    -1,
     3619      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3620      -1,    -1,    74,    75,    -1,    -1,    -1,    -1,  1408,    -1,
     3621      -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3622       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3623      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3624      -1,    -1,    30,    31,    32,    33,    -1,   119,    36,    37,
     3625      38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
     3626      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3627      27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
     3628      -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
     3629    1490,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3630      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3631      67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,
     3632      -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,    -1,
     3633     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3634      -1,    -1,  1542,    -1,   132,     3,     4,     5,     6,     7,
     3635       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3636      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3637      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3638      38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
     3639      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3640      27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
     3641      -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
     3642      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3643      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3644      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3645      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3646     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3647       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3648      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3649      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3650      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3651      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3652      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3653      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3654      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3655      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3656      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3657      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
     3658     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3659       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3660      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3661      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3662      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3663      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3664      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3665      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3666      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3667      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3668      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3669      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
     3670     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3671       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3672      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3673      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3674      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3675      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3676      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3677      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3678      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3679      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3680      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3681      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
     3682     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3683       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3684      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3685      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3686      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3687      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3688      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3689      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3690      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3691      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3692      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3693      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3694     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3695       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3696      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3697      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3698      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3700      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3701      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3702      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3703      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3704      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3705      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3706     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3707       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3708      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3709      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3710      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3711      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3712      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3713      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3714      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3715      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3716      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3717      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3718     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3719       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3720      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3721      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3722      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3723      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3724      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3725      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3726      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3727      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3728      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3729      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3730     118,   119,   120,   121,   122,   123,     3,     4,     5,     6,
     3731       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3732      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3733      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3735      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3736      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3737      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    29783738       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    29793739      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2980       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2981        0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    2982        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2983        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2984        0,    34,     0,    35,     0,    36,     0,     0,   209,    39,
    2985      476,     2,   208,     4,     5,     6,     7,     8,     9,    10,
    2986       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2987       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2988        0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
    2989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2990        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2991        0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
    2992        0,    38,    39,     2,   208,     4,     5,     6,     7,     8,
     3740      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3741      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3742      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3743      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3744      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     3745      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     3746      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3747      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3748      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3749      -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,
     3750       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3751      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3752      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3753      -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3754      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3755      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
     3756      -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
     3757       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3758      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3759      25,    26,    27,    67,    -1,    30,    31,    32,    72,    -1,
     3760      74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,    83,
     3761      84,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3762      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3763      -1,    -1,    67,    -1,    69,    -1,    71,   111,    -1,    74,
     3764      75,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3765      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3766      -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3767      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3768      -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,     8,
    29933769       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2994       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2995       27,    28,     0,     0,     0,     0,     0,     0,    31,     0,
    2996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2998        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2999       36,     0,     0,   209,    39
    3000 };
    3001 
    3002 #define yypact_value_is_default(yystate) \
    3003   ((yystate) == (-1355))
    3004 
    3005 #define yytable_value_is_error(yytable_value) \
    3006   YYID (0)
    3007 
    3008 static const yytype_int16 yycheck[] =
    3009 {
    3010        0,     1,    44,    44,    44,     0,     1,     0,   118,     1,
    3011      542,   241,   221,   697,   187,   187,   187,   187,   187,   206,
    3012      170,   171,   187,   501,   283,   697,   608,   505,   758,    58,
    3013      628,   187,    32,   697,   522,   281,   107,    32,   997,    32,
    3014       50,   610,   717,   350,    44,   655,   779,   900,   900,   458,
    3015       50,   350,     0,   188,    82,   611,   608,    50,   188,     0,
    3016      419,   617,   608,   608,    64,   579,  1420,    67,   610,    44,
    3017       70,    64,    44,  1061,    67,    70,    32,    70,    70,   108,
    3018      439,     0,   111,  1424,    32,   189,   157,    50,   447,   608,
    3019       44,    32,   776,   203,   267,   267,   267,   267,   267,     0,
    3020       39,   457,   267,    44,   776,   115,   296,   107,    95,    50,
    3021        0,   267,   776,    32,   608,   115,    82,    51,   118,   119,
    3022      109,    39,    72,    64,   608,    72,    67,    63,   157,    70,
    3023      110,    32,  1339,   268,    28,    39,   346,   117,   268,  1004,
    3024     1494,  1476,    32,   130,    58,   187,   187,   187,   148,   149,
    3025       72,   117,   115,  1073,  1074,    82,   149,   157,   158,   263,
    3026      264,  1042,   162,    39,   365,    44,    45,   110,   369,   162,
    3027      109,   118,   111,   116,   530,   109,  1511,   258,  1513,  1041,
    3028     1042,  1522,   132,   110,    78,   148,  1527,   187,   188,  1054,
    3029      497,   220,    39,   111,   108,   188,   132,   111,    64,    44,
    3030       45,   211,   411,   203,    82,   109,  1547,   111,   149,  1061,
    3031      132,   211,   187,  1554,   109,   187,    85,    11,   211,   427,
    3032      428,   162,  1142,   223,   743,   267,   267,   267,   491,    96,
    3033      223,   109,   242,   187,   109,  1442,   115,   427,   428,    44,
    3034       45,   241,   242,   109,   113,   274,   187,   188,   211,   743,
    3035       82,   926,   281,   253,   513,   837,   123,    80,   253,   743,
    3036      253,   261,   109,   273,   111,   230,   266,   267,   268,   114,
    3037      211,   342,   407,   273,  1007,   268,    67,   407,   241,   111,
    3038      849,   491,   223,   839,   249,   837,   296,   397,   111,   473,
    3039      113,   837,   837,    84,   117,   503,   296,   253,   308,  1258,
    3040      116,   372,   112,   116,   818,   253,   220,   849,   308,   114,
    3041      273,   610,   253,   114,   522,   425,   132,  1305,   837,   132,
    3042      349,   431,   457,    39,   324,   515,   267,   457,   119,   329,
    3043      520,   690,   116,   523,   253,    82,   329,   366,   419,   949,
    3044     1070,   370,   342,   837,     3,   308,   346,    39,   109,     3,
    3045      350,   351,   253,   837,   489,    90,    91,   258,   439,   489,
    3046      274,  1242,   109,   253,   116,   365,   447,   281,   258,   369,
    3047      131,   162,   372,  1226,  1226,   957,     0,     1,   586,   642,
    3048      643,   644,   515,   346,   517,   575,  1527,   520,   329,   958,
    3049      523,   126,   127,   109,     0,   111,   597,   397,   661,   109,
    3050      107,   642,   643,   644,   433,   957,  1547,   407,    32,   350,
    3051      131,  1292,   957,  1554,   407,   698,   675,   109,   628,   111,
    3052      661,     0,  1020,   633,   131,   425,    32,   427,   428,  1291,
    3053     1292,   431,   223,   696,   434,   349,    96,   720,   639,    72,
    3054     1527,    74,    75,    67,   116,   455,    70,   110,   458,     0,
    3055       83,    84,   366,  1305,   117,   455,   370,   457,   458,   109,
    3056      132,    67,   533,   123,   427,   428,   407,  1554,   131,   116,
    3057      261,    72,   735,  1029,  1030,   266,   499,  1465,   111,   110,
    3058      110,   481,    83,    84,  1472,   132,   696,   117,   966,   489,
    3059      129,   491,   131,   493,   735,   679,   489,   497,   493,   473,
    3060      493,   109,   761,   503,   109,   515,   656,   517,   109,   772,
    3061      520,   757,   109,   523,  1002,   515,   457,   517,   419,   109,
    3062      520,   111,   522,   523,   697,   697,   697,   697,   697,   419,
    3063      530,  1141,   697,   533,   534,  1416,   945,  1525,   439,   116,
    3064      503,   697,   849,  1408,  1409,   493,   447,  1116,   109,   439,
    3065      849,   116,   493,   663,  1416,   132,   497,   447,   110,   522,
    3066      351,   665,   772,   826,   699,   643,   644,   132,   597,   699,
    3067       72,   116,    74,    75,   493,  1305,    82,   109,   578,   579,
    3068      936,    83,    84,   661,    72,   826,   586,   132,   944,   612,
    3069      491,   110,   493,   616,   110,    83,    84,   597,   598,   223,
    3070      629,   110,   602,   493,   110,   115,   116,   109,   608,   690,
    3071      610,   117,   114,  1465,   637,   112,   645,   223,   641,   116,
    3072     1472,   131,   116,   586,   695,    72,   110,   828,   628,   253,
    3073      814,   660,   833,   633,   990,   635,    83,    84,   132,   639,
    3074      824,   432,   642,   643,   644,    80,   116,   253,   112,   112,
    3075      598,   732,  1382,   116,   838,   962,   116,   735,   116,   116,
    3076      110,   661,   132,   663,   111,   628,   116,   608,   109,   610,
    3077      633,   109,   132,  1525,   132,   132,   111,   886,   113,   112,
    3078      109,   110,   117,   116,     4,     5,     6,     7,     8,     9,
    3079       72,   482,  1101,   976,   115,   695,   696,   697,   907,   699,
    3080      771,    83,    84,   116,   116,   679,   109,   717,     4,     5,
    3081        6,     7,     8,     9,   112,   629,     3,   717,   116,   132,
    3082      132,   922,    72,    10,    11,    12,    13,    14,   757,   111,
    3083      109,   645,   111,    83,    84,   735,   736,   737,   968,  1469,
    3084      132,  1471,   892,   743,   744,   351,   660,   118,   826,    69,
    3085       64,    71,    39,   124,   125,   109,   697,    72,   699,    74,
    3086       75,   111,     4,     5,     6,     7,     8,     9,    83,    84,
    3087       72,   771,   772,    69,    76,    71,   776,   777,  1041,   112,
    3088       67,    83,    84,   116,    10,    11,    12,    13,    14,   690,
    3089     1322,    33,    94,    72,   109,   696,  1526,   120,   121,   114,
    3090      690,   936,   743,   744,    83,    84,   936,   109,   109,   944,
    3091     1020,   602,   132,    39,   944,   110,   118,   119,   818,   110,
    3092     1132,   116,    88,    89,  1136,   116,   826,    69,   828,    71,
    3093      830,   732,   111,   833,   834,   286,   109,   837,   111,   630,
    3094      814,    67,   732,   757,   635,   112,  1033,  1531,   871,   849,
    3095      824,  1134,    92,    93,  1038,  1039,   132,   308,   309,  1531,
    3096      110,   109,   112,   111,   838,   114,   116,  1531,   109,   493,
    3097      111,   772,    72,  1132,    74,    75,   482,  1136,  1137,   110,
    3098      114,   131,   132,    83,    84,   116,   834,   493,  1497,     0,
    3099        1,   110,   114,   922,  1503,   346,   837,   116,  1161,   132,
    3100      900,  1102,   109,   110,   111,   900,  1056,   132,   849,  1192,
    3101     1193,   110,  1096,  1097,   114,  1524,   926,   116,    29,    30,
    3102     1529,    32,   922,   110,   110,   109,   926,   111,   110,   116,
    3103      116,   382,   723,    44,   116,   945,   936,   110,   109,    50,
    3104      963,    82,   110,   116,   944,   945,   737,    58,   116,   110,
    3105      109,  1161,   900,    64,   110,   116,    67,   957,   958,    70,
    3106      116,   109,   962,    85,    86,    87,   112,   967,   968,   109,
    3107        3,   111,   967,    84,    85,   967,   110,    10,    11,    12,
    3108       13,    14,   116,   109,   984,   111,   109,   109,   111,   111,
    3109      990,   113,   114,  1252,    82,   936,   110,   108,   110,   900,
    3110      111,   119,   116,   944,   116,   968,    39,   118,   115,   116,
    3111      900,   110,   128,    30,  1124,  1205,  1206,   116,  1208,   129,
    3112     1020,   962,    94,   110,   630,  1215,   131,  1217,  1291,   116,
    3113       94,   702,  1242,   704,    67,   109,   110,   111,   149,   830,
    3114      111,  1041,  1042,   116,   117,   109,   157,   111,   109,   110,
    3115      111,   162,   110,   111,   118,   119,  1240,  1020,    85,    86,
    3116       87,  1061,   109,     3,  1038,  1039,  1061,    84,    85,   109,
    3117       10,    11,    12,    13,    14,   112,   187,   188,   109,   110,
    3118      111,  1340,   109,   112,   111,  1344,   113,   114,  1272,    58,
    3119       59,  1101,   203,    58,    59,    60,  1280,  1281,  1282,    39,
    3120      211,  1101,  1102,  1264,  1265,  1266,   557,   558,   559,   220,
    3121      112,    94,   223,  1061,   110,    94,  1116,   723,   110,   230,
    3122     1403,   110,  1096,  1097,  1124,   110,   109,    67,   111,   110,
    3123      109,   737,   111,   110,   245,   118,   119,  1420,   249,   118,
    3124      119,   109,   253,   254,  1328,   564,   565,   566,   567,   116,
    3125     1506,  1222,   115,   116,   116,   117,   267,   268,   116,   117,
    3126     1061,  1161,   698,   274,    44,    45,   560,   561,   568,   569,
    3127      281,  1061,    10,    11,    12,    13,    14,   112,    72,   111,
    3128       74,    75,    76,   112,   720,   562,   563,  1446,  1378,    83,
    3129       84,   114,   131,  1222,    72,   114,    74,    75,    76,   114,
    3130     1556,    39,   109,  1203,  1204,    83,    84,     1,   112,  1204,
    3131     1493,  1494,  1204,   110,   110,   109,   117,   112,   329,   112,
    3132      112,   112,  1222,    29,   830,   110,  1226,   117,   245,    67,
    3133      117,  1226,  1023,    72,   116,    74,    75,    76,   349,   350,
    3134      110,   112,  1242,   117,    83,    84,  1246,   114,   110,   115,
    3135       72,  1246,    74,    75,  1246,   366,    94,   115,   115,   370,
    3136     1161,    83,    84,   116,   109,   900,  1240,   110,   132,   110,
    3137      381,   109,   116,   111,   110,   811,   900,   117,  1226,   110,
    3138      118,   119,   110,   110,   116,   110,   397,   110,    29,  1399,
    3139      110,  1291,  1292,   110,   900,   110,   407,   110,  1272,   110,
    3140     1300,   110,   110,   110,   116,  1305,  1280,  1281,  1282,   110,
    3141     1305,  1541,   110,   110,   425,   115,   112,   131,   110,   110,
    3142      431,   110,   433,   110,   112,  1226,    72,   112,   779,   110,
    3143       76,   110,   116,   110,   117,   110,  1226,    83,    84,  1339,
    3144      116,  1242,   114,   967,  1339,   116,   457,  1339,    94,   112,
    3145      116,   462,   888,   679,  1328,   116,   110,  1305,  1531,  1531,
    3146     1531,  1531,  1531,   109,   381,   476,  1531,    67,   110,  1398,
    3147      481,   115,   118,   119,   112,  1531,   109,    77,   489,   109,
    3148      109,    72,   493,    74,    75,    76,   497,   109,   109,   500,
    3149        1,   502,    83,    84,   117,   112,  1506,  1532,   132,  1399,
    3150      110,   110,  1532,   115,  1305,   110,   132,   115,   114,   129,
    3151      112,   522,  1203,   110,   112,  1305,  1416,  1023,   109,   119,
    3152      116,  1556,   116,   112,   110,   536,  1556,   110,   539,  1064,
    3153      541,   542,   110,   112,    47,   112,   112,  1061,   110,    50,
    3154      976,   112,  1442,   112,   112,   462,   110,  1442,   132,   115,
    3155     1442,   132,   132,   115,   117,  1061,   110,   132,   132,   112,
    3156      254,   112,   162,   115,  1474,  1465,  1476,   112,   112,   112,
    3157     1465,  1007,  1472,   112,  1474,   112,  1476,  1472,   112,   590,
    3158      110,   110,   109,   500,  1398,   502,   597,   112,   814,  1531,
    3159     1531,  1531,   112,   109,   109,    60,   107,   608,   824,   610,
    3160      110,  1511,   110,  1513,   115,   114,  1506,   112,   132,  1300,
    3161      117,  1511,   838,  1513,   112,   110,   112,  1465,   629,   110,
    3162       96,    96,  1058,   223,  1472,  1525,   109,   109,   132,   115,
    3163     1525,  1531,  1532,   112,   645,   116,   110,   148,   110,  1532,
    3164      651,  1541,   110,   110,    42,   132,   157,   117,   132,   660,
    3165      110,   662,   663,   664,   110,    96,  1556,    96,   110,   132,
    3166      110,   261,   117,  1556,  1465,   110,   266,   110,   132,  1020,
    3167      132,  1472,   112,   115,   112,  1465,   109,  1525,  1541,  1203,
    3168     1204,   281,  1472,   132,   132,   115,   697,   115,   699,   110,
    3169     1531,  1226,   110,   110,    56,   132,   207,  1203,  1134,   110,
    3170      211,   712,  1226,  1077,   570,  1226,  1494,   718,   572,  1384,
    3171     1061,   722,   571,   573,  1566,  1315,  1137,   574,  1344,   730,
    3172     1226,  1472,  1246,  1092,  1525,   455,   455,   944,   704,   722,
    3173      241,   242,   743,   744,   651,  1525,    71,    99,   946,   590,
    3174       75,   892,   991,    78,   657,    80,   757,    50,   964,   747,
    3175     1246,   351,    87,   757,   578,    -1,  1192,  1193,   493,    -1,
    3176      578,    64,   273,    -1,    67,   276,   578,    70,    -1,    -1,
    3177       -1,    -1,    -1,    -1,    -1,    -1,  1300,    -1,    -1,    -1,
    3178       -1,  1305,   476,    -1,    -1,   296,  1321,    -1,    -1,    -1,
    3179       -1,    -1,    -1,    -1,  1300,   712,    -1,   308,    -1,  1305,
    3180       -1,   718,    -1,    -1,    -1,   722,    -1,    -1,    -1,    -1,
    3181       -1,    -1,  1038,  1039,    -1,  1339,    -1,    -1,    72,    -1,
    3182       74,    75,    76,    -1,    -1,    -1,   837,    -1,   522,    83,
    3183       84,   342,   432,   195,    -1,   346,    -1,    -1,   849,    -1,
    3184       94,  1376,   536,    -1,  1379,   539,   149,   541,   542,   449,
    3185       -1,    -1,    -1,    -1,   365,   109,   218,   111,   369,   162,
    3186       -1,   372,    -1,   117,   118,   119,   228,    -1,    -1,    -1,
    3187     1096,  1097,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   214,
    3188       -1,   892,   482,    -1,    -1,   188,    67,    -1,   899,  1424,
    3189       -1,    -1,    -1,    72,  1429,    -1,   590,    76,    -1,    10,
    3190       11,    12,    13,    14,    83,    84,    -1,    -1,   211,    -1,
    3191       -1,   922,    -1,    -1,    -1,    94,   427,   428,  1442,    -1,
    3192      223,    -1,    -1,    -1,  1459,   936,    -1,    -1,    39,    -1,
    3193      109,    -1,   111,   944,   296,    -1,    -1,    -1,   119,   118,
    3194      119,  1465,    -1,    -1,   455,    -1,    -1,   458,  1472,    -1,
    3195       72,   962,    74,    75,    76,    -1,    67,    -1,    -1,  1465,
    3196       -1,    83,    84,    -1,    -1,   476,  1472,  1403,   662,    -1,
    3197      664,   982,    94,    -1,    -1,   892,    -1,    -1,    -1,    -1,
    3198      991,   162,   899,    94,  1420,    -1,    -1,   109,   999,   111,
    3199      501,  1002,   503,  1004,   505,    -1,   118,   119,   109,    -1,
    3200      111,  1525,   602,    -1,   515,    -1,   517,   118,   119,   520,
    3201     1545,   522,   523,    -1,    -1,    -1,  1551,    -1,   353,  1525,
    3202      355,    -1,   533,    -1,    -1,    -1,   329,  1562,    -1,    -1,
    3203      630,  1566,    -1,     0,    -1,   635,   730,    10,    11,    12,
    3204       13,    14,   223,  1054,    -1,    -1,  1272,    -1,    -1,    -1,
    3205       -1,    -1,    -1,    -1,  1280,  1281,  1282,  1493,  1494,    -1,
    3206        0,     1,    -1,    -1,    -1,    32,    39,    -1,    -1,    -1,
    3207       -1,    -1,    -1,    -1,   991,   586,    -1,    -1,    -1,    -1,
    3208      261,  1092,   444,    -1,    -1,   266,   597,    72,    -1,    74,
    3209       75,    76,    32,    -1,    67,    -1,    -1,    -1,    83,    84,
    3210       -1,    -1,  1328,    70,   407,    -1,    -1,    -1,   443,    94,
    3211       50,    -1,    -1,  1124,    -1,    -1,   478,   628,    -1,    -1,
    3212       -1,    94,   633,   723,   109,    -1,   111,    -1,   639,    -1,
    3213       70,    -1,    -1,   118,   119,    -1,   109,   737,   111,    -1,
    3214      191,    -1,    -1,    -1,    -1,   118,   119,   198,    10,    11,
    3215       12,    13,    14,   515,    -1,    -1,    -1,   757,   520,    -1,
    3216       -1,   523,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
    3217      351,    -1,    -1,    -1,    -1,  1092,    -1,    39,    72,    -1,
    3218       74,    75,    76,    -1,   695,    -1,    -1,    -1,  1199,    83,
    3219       84,   158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3220       94,    -1,    -1,    -1,    -1,    67,   717,    -1,    -1,   149,
    3221       72,  1222,    74,    75,    76,   109,    -1,   157,   158,   270,
    3222       -1,    83,    84,    -1,   118,   119,    -1,    -1,    -1,    -1,
    3223      830,    -1,    94,    -1,    -1,    -1,   747,    -1,    -1,    -1,
    3224       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   188,   111,
    3225       -1,   432,    -1,  1264,  1265,  1266,   118,   119,    -1,    -1,
    3226      771,    -1,    -1,   203,    -1,   232,   206,   207,    -1,    -1,
    3227       -1,   211,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,
    3228       -1,   332,  1199,    -1,   335,    -1,   253,    -1,   982,    -1,
    3229       -1,   258,   232,    -1,    -1,    -1,   236,    -1,   238,    -1,
    3230       -1,   482,    -1,    -1,    -1,   999,    -1,   247,  1002,    -1,
    3231     1004,  1322,    -1,   253,    -1,    -1,   678,   828,   258,    -1,
    3232       -1,    -1,   833,    -1,    -1,   687,    -1,    -1,   268,   691,
    3233       -1,    72,    -1,    74,    75,    76,   276,    -1,    -1,    -1,
    3234       -1,    -1,    83,    84,    -1,    -1,    -1,    72,   399,    74,
    3235       75,    76,   403,    94,    -1,    -1,    -1,    -1,    83,    84,
    3236     1054,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    94,
    3237      111,    -1,     0,    -1,    -1,    -1,    -1,   118,   119,    -1,
    3238       -1,    -1,    -1,    -1,   109,   352,    -1,  1398,  1399,    -1,
    3239       -1,    -1,    -1,   118,   119,    -1,    -1,  1408,  1409,    -1,
    3240       -1,    -1,   342,    -1,    32,    -1,   346,    -1,    -1,    -1,
    3241       -1,   922,   352,    -1,    -1,   926,    -1,    -1,    -1,    -1,
    3242       -1,   602,    -1,  1023,    -1,   365,    -1,    -1,    -1,   369,
    3243       -1,    -1,   372,    -1,   945,    -1,  1447,   488,    -1,    -1,
    3244       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,   630,
    3245       -1,    -1,   419,    -1,   635,   966,   967,   968,    -1,    -1,
    3246       -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,
    3247       -1,    -1,   439,    -1,    -1,    -1,    -1,    -1,    -1,   419,
    3248      447,    97,    98,    99,   100,   101,   102,   103,   104,   105,
    3249      106,    -1,    -1,    -1,   434,  1506,  1507,    -1,    -1,   439,
    3250       -1,    -1,    -1,    -1,    -1,  1516,   473,   447,    -1,  1020,
    3251       -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,
    3252     1531,  1532,    -1,    -1,   491,    -1,   493,   578,   579,    -1,
    3253      158,    -1,    -1,   473,    -1,    -1,   476,    -1,    -1,    -1,
    3254       -1,    -1,   723,    -1,    -1,  1556,    -1,    -1,    -1,    -1,
    3255       -1,   491,    -1,   493,    -1,    -1,   737,    -1,    -1,    -1,
    3256       -1,   501,   924,    -1,    -1,   505,    -1,   534,    -1,    -1,
    3257     1264,  1265,  1266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3258       -1,    10,    11,    12,    13,    14,     0,     1,    -1,    -1,
    3259     1101,  1102,    -1,   533,   534,    -1,    -1,    -1,    -1,    -1,
    3260       -1,    -1,    -1,  1203,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       39,    -1,    -1,    -1,    -1,   666,    -1,    -1,    32,   670,
    3262       -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,  1322,    -1,
    3263      258,   598,    -1,    -1,    -1,    -1,    -1,    -1,    67,   579,
    3264       -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,   830,
    3265       -1,    -1,   703,    67,    83,    84,    70,   597,   598,    -1,
    3266       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
    3267      610,    -1,    -1,    -1,    -1,   642,   643,   644,    -1,    -1,
    3268      109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   628,   118,
    3269      119,    -1,    -1,   633,   661,    -1,    -1,    -1,    -1,   639,
    3270     1300,    -1,   642,   643,   644,    -1,    -1,    -1,    -1,    -1,
    3271     1072,  1222,   679,    -1,  1408,  1409,    -1,    -1,    -1,    -1,
    3272       -1,   661,    -1,   690,   352,    -1,    -1,    -1,    -1,   696,
    3273       -1,    -1,    -1,    -1,    -1,  1246,    -1,    -1,    -1,   679,
    3274       -1,    -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,    -1,
    3275      690,    -1,    -1,  1447,    -1,   695,   696,    -1,    -1,   699,
    3276       -1,    -1,    -1,    -1,    -1,   732,    -1,   818,   735,    -1,
     3770      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3771      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3772      39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3773      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3774      25,    26,    27,    28,    -1,    30,    31,    32,    67,    -1,
     3775      69,    -1,    71,    -1,    39,    74,    75,    -1,    -1,    -1,
    32773776      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3278       -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
    3279       -1,   419,   732,    -1,    -1,   735,    10,    11,    12,    13,
    3280       14,    -1,    -1,    -1,   744,   772,   434,   747,    -1,   223,
    3281       -1,   439,    -1,  1507,    -1,    -1,    -1,    32,    -1,   447,
    3282       -1,    -1,  1516,    -1,    -1,    39,    -1,    -1,  1339,    -1,
    3283       -1,   771,   772,    -1,    -1,    -1,    -1,   777,    -1,   253,
    3284       -1,    -1,  1023,    -1,    -1,   473,    -1,   814,    -1,    -1,
    3285       -1,    -1,    -1,    67,    -1,    70,    -1,   824,    72,   826,
    3286       74,    75,    76,   491,   831,   493,    -1,   834,    -1,    83,
    3287       84,   838,    -1,    -1,   814,    -1,    -1,    -1,    -1,   930,
    3288       94,    -1,    -1,    -1,   824,    -1,   826,    -1,   828,    -1,
    3289       -1,   831,    -1,   833,   834,   109,    -1,   111,   838,    -1,
    3290       -1,    -1,    -1,    -1,   118,   119,   534,    -1,   848,    -1,
     3777      -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
     3778      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3779      75,    76,   111,    78,    -1,    -1,    -1,    -1,    83,    84,
     3780     119,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3781      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3782      23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
     3783      -1,    -1,    -1,    -1,   119,    -1,    39,    -1,    -1,    -1,
    32913784      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
    3293       -1,  1442,    -1,   900,    -1,    -1,    -1,    -1,    -1,    -1,
    3294       -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,    -1,    -1,
    3295       -1,    -1,  1314,    -1,    -1,    -1,    -1,    32,  1009,    -1,
    3296      900,    -1,    -1,  1474,    -1,  1476,    -1,    -1,    -1,    -1,
    3297      598,    -1,    -1,    -1,    -1,  1026,    -1,    -1,    -1,    -1,
    3298       -1,    -1,   922,    10,    11,    12,    13,    14,    -1,    -1,
    3299       -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
    3300     1511,    -1,  1513,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3301       -1,    -1,    39,    -1,   642,   643,   644,   984,   958,    -1,
    3302      434,    -1,  1203,    -1,    -1,    -1,   966,   967,    -1,    -1,
    3303     1541,    -1,    -1,   661,    -1,    -1,    -1,    -1,   253,    -1,
    3304       67,    -1,    -1,   258,   984,    72,    -1,    74,    75,    76,
    3305       -1,   679,  1103,    -1,    -1,    -1,    83,    84,    -1,    -1,
    3306       -1,    -1,   690,    -1,    -1,    -1,    -1,    94,   696,    -1,
    3307       -1,  1038,  1039,    -1,  1041,  1042,    -1,    -1,    -1,   493,
    3308     1020,    -1,   109,   158,    -1,    -1,    -1,    -1,    -1,    -1,
    3309       -1,   118,   119,  1033,  1061,    -1,    -1,    -1,  1038,  1039,
    3310       -1,  1041,  1042,    -1,   732,    -1,    -1,   735,    -1,    -1,
    3311       -1,  1473,    -1,  1475,    -1,    -1,    -1,    -1,    -1,  1300,
    3312      534,  1061,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1096,
    3313     1097,    -1,    -1,    -1,    -1,    -1,    -1,   352,    -1,    -1,
    3314       -1,    -1,    -1,    -1,   772,    -1,    -1,    -1,  1510,    -1,
    3315     1512,    -1,    -1,    -1,    -1,    -1,  1096,  1097,    -1,    26,
    3316       27,    28,  1102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,
    3318       -1,    -1,    -1,   258,   598,    -1,   814,    -1,    -1,    -1,
    3319       -1,    -1,    -1,  1555,  1161,  1557,   824,    -1,   826,    -1,
    3320       -1,    -1,    -1,   831,   419,    -1,   834,    -1,  1570,  1571,
    3321      838,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,
    3322       -1,  1161,    -1,    -1,   439,    -1,    -1,    -1,   642,   643,
    3323      644,    -1,   447,   100,    -1,   102,    -1,  1204,    -1,    -1,
    3324       -1,    -1,    -1,    -1,    -1,    -1,    -1,   661,    -1,    -1,
    3325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   473,  1226,
    3326       -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,    -1,    -1,
    3327       -1,    -1,   900,  1240,    -1,  1242,   491,   352,   493,    -1,
    3328       -1,    -1,  1222,    -1,    -1,    -1,  1226,    -1,    -1,    -1,
    33293785      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3330     1240,    -1,  1242,    -1,    -1,  1272,  1246,    -1,    -1,    -1,
    3331       -1,    -1,    -1,  1280,  1281,  1282,   183,    -1,    -1,   534,
    3332       -1,   735,    -1,    -1,  1291,  1292,   193,   194,    -1,    -1,
    3333       -1,   198,  1272,   200,   201,    -1,    -1,    -1,  1305,    -1,
    3334     1280,  1281,  1282,    -1,   419,    -1,    -1,    -1,    -1,    -1,
    3335       -1,  1291,  1292,    -1,    -1,    -1,   984,    -1,    -1,   434,
    3336       -1,  1328,    -1,    -1,   439,  1305,    -1,    -1,    -1,    -1,
    3337       -1,    -1,   447,    -1,    10,    11,    12,    13,    14,    -1,
    3338       -1,    -1,    -1,   598,    -1,    -1,    -1,    -1,  1328,    -1,
    3339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   473,  1339,
    3340       -1,    -1,    -1,    39,    -1,    10,    11,    12,    13,    14,
    3341     1038,  1039,   826,  1041,  1042,    -1,   491,    -1,   493,    -1,
    3342      834,    -1,    -1,    -1,    -1,    -1,    -1,   642,   643,   644,
    3343       -1,    67,    -1,  1061,    39,    -1,    72,    -1,    74,    75,
    3344       76,    -1,    -1,    -1,    -1,    -1,   661,    83,    84,  1416,
    3345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,   534,
    3346       -1,    -1,    67,    -1,   679,    -1,    -1,    72,  1096,  1097,
    3347       -1,    76,    -1,   109,    -1,   690,  1416,    -1,    83,    84,
    3348       -1,   696,   118,   119,    -1,    -1,   900,    -1,    -1,    94,
    3349       -1,    -1,    -1,    -1,    54,    -1,    56,    -1,  1465,    59,
    3350       60,    61,  1442,    63,   109,  1472,    -1,    -1,    -1,    -1,
    3351       -1,    -1,    -1,   118,   119,    -1,    -1,   732,    78,    -1,
    3352      735,    -1,    -1,   598,    -1,  1465,    -1,    -1,    -1,    -1,
    3353       90,    91,  1472,  1161,    10,    11,    12,    13,    14,    -1,
     3786      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3787      -1,    74,    75,    -1,     4,     5,     6,     7,     8,     9,
     3788      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3789      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3790      30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,
     3791      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
    33543792      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3355       -1,    -1,    -1,   967,    -1,    -1,    -1,   772,  1525,    -1,
    3356       -1,    -1,    -1,    39,    -1,    -1,    -1,   642,   643,   644,
    3357      984,    -1,    -1,    -1,    -1,    -1,  1204,    -1,   284,    -1,
    3358      286,   287,    -1,    -1,    -1,  1525,   661,    -1,   294,   295,
    3359       -1,    67,  1532,    -1,    -1,    -1,    72,    -1,  1226,   814,
    3360       76,    -1,   308,   309,   679,    -1,    -1,    83,    84,   824,
    3361       -1,   826,  1240,    -1,  1242,   690,   831,    -1,    94,   834,
    3362       -1,   696,    -1,   838,    -1,    -1,    -1,  1041,  1042,    -1,
    3363       -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
    3364      346,    -1,   118,   119,  1272,    37,    38,  1061,    40,    -1,
    3365       -1,    -1,  1280,  1281,  1282,    -1,    -1,   732,    -1,    -1,
    3366      735,    -1,    -1,  1291,  1292,    -1,    -1,    -1,    -1,    -1,
    3367       -1,    -1,    -1,    -1,    66,    -1,   382,  1305,    -1,    -1,
    3368       72,    -1,    74,    75,    76,   900,    -1,    79,    80,    81,
    3369       82,    83,    84,    -1,    86,    87,    -1,   772,    -1,    -1,
    3370     1328,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,    -1,    -1,    -1,    -1,   582,   583,   109,    -1,   111,
    3372       -1,   113,   114,    -1,    -1,    -1,   118,   119,   120,   121,
    3373      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   814,
    3374       -1,    -1,    -1,    -1,   611,    -1,    -1,   614,   615,   824,
    3375      617,   826,   619,   620,    -1,    -1,   831,   624,   625,   834,
    3376       -1,    -1,    -1,   838,    -1,    -1,    -1,    -1,    -1,   984,
     3793      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3794      -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
     3795       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3796      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3797      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3798      -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    33773799      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3378       -1,    -1,    -1,    -1,    -1,   345,    -1,   347,  1416,  1203,
    3379     1204,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,   359,
    33803800      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3381       -1,    -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3382       -1,    -1,    -1,  1038,  1039,   900,  1041,  1042,    -1,    -1,
    3383       -1,    -1,  1246,    -1,    -1,    -1,    -1,  1465,    -1,    -1,
    3384       -1,   708,   709,    -1,  1472,    -1,  1061,   714,    -1,    -1,
    3385       -1,   557,   558,   559,   560,   561,   562,   563,   564,   565,
    3386      566,   567,   568,   569,   570,   571,   572,   573,   574,    -1,
    3387       -1,    37,    38,    -1,    40,    -1,    -1,  1291,  1292,    -1,
    3388       -1,  1096,  1097,    -1,    -1,    -1,  1300,    -1,    -1,    -1,
    3389       -1,  1305,    -1,    -1,    -1,    -1,    -1,  1525,    -1,    -1,
    3390       66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,   984,
    3391       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3392       86,    87,    -1,    -1,    -1,  1339,    -1,    -1,    94,    -1,
     3801      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3802       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3803      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3804      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3805      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3806      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    33933807      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3394       -1,    -1,    -1,   109,    -1,   111,  1161,    -1,   114,    -1,
    3395       -1,    -1,   118,   119,   120,   121,   122,   123,    -1,    -1,
    3396       -1,    -1,    -1,  1038,  1039,    -1,  1041,  1042,    -1,    -1,
     3808      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3809      74,    75,    10,    11,    12,    13,    14,    15,    16,    17,
     3810      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3811      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3812      38,    39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3813      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3814      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3815      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     3816      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3817      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    33973818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3398       -1,    -1,    -1,    -1,    -1,    -1,  1061,    -1,    -1,  1204,
    3399       -1,    -1,   698,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3400       -1,    -1,  1416,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3401       -1,  1226,    -1,    -1,   720,    -1,    -1,    -1,    -1,    -1,
    3402       -1,  1096,  1097,    -1,    -1,  1240,    -1,  1242,  1442,    -1,
     3819      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3820     118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
     3821      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3822      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3823      -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
     3824      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3825      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3826      -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
     3827      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3828      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3829      94,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
     3830      -1,    74,    75,    76,    -1,   109,    -1,   111,   112,    -1,
     3831      83,    84,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3832      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3833      20,    21,    22,    23,    24,    25,    26,    27,   111,    -1,
     3834      30,    31,    32,    -1,    -1,    -1,   119,    37,    38,    39,
     3835      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3836      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3837      -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
     3838      39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3839      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,
     3841      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
     3842     110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3843     120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
     3844      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3845      26,    27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,
     3846     119,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    34033847      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    34043848      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3405       28,  1465,    30,    31,    32,    -1,    -1,  1272,  1472,    -1,
    3406       -1,    39,    -1,    -1,    -1,  1280,  1281,  1282,    -1,    -1,
    3407       -1,    -1,    -1,   779,    -1,    -1,  1291,  1292,    -1,    -1,
    3408       -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,    67,
    3409     1305,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
    3410       78,    -1,    -1,    37,    38,   811,    40,    -1,    -1,    -1,
    3411       -1,  1525,    -1,  1328,    -1,    -1,    94,    -1,    -1,    -1,
    3412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,
    3413       -1,   109,    66,   111,    -1,    -1,    -1,    -1,    72,    -1,
    3414      118,   119,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3415       84,  1226,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3416       94,    -1,    -1,    -1,   724,  1240,   726,  1242,    -1,    -1,
    3417       -1,    -1,    -1,   733,   734,   109,    -1,   111,   738,    -1,
    3418       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,   123,
    3419      750,    -1,    -1,    -1,    -1,   755,    -1,  1272,    -1,    37,
    3420       38,  1416,    40,    -1,    -1,  1280,  1281,  1282,    -1,    -1,
    3421       -1,    -1,    -1,    -1,    -1,    -1,  1291,  1292,    -1,    -1,
    3422       -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
    3423     1305,  1098,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     3849      66,    67,    30,    31,    32,    -1,    72,    -1,    74,    75,
     3850      76,    39,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3851      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3852      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3853      -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
     3854      -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
     3855      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3856      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3857      32,   109,    -1,   111,    -1,    37,    38,    39,    40,    -1,
     3858      -1,   119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3859      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3860      24,    25,    26,    27,    66,    67,    30,    31,    32,    -1,
     3861      72,    -1,    74,    75,    76,    39,    -1,    79,    80,    81,
     3862      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3863      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3864      -1,    -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,
     3865      74,    75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     3866     122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
     3867      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3868      -1,    -1,    30,    31,    32,   109,    -1,   111,    -1,    37,
     3869      38,    39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3870      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3871      20,    21,    22,    23,    24,    25,    26,    27,    66,    67,
     3872      30,    31,    32,    -1,    72,    -1,    74,    75,    76,    39,
    34243873      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3425     1465,    -1,    -1,  1328,    -1,    -1,    94,  1472,    -1,    -1,
    3426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3427      976,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    50,
    3428      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3429       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3430       -1,  1007,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3431     1525,    -1,    -1,    -1,  1020,    -1,    -1,    37,    38,    -1,
    3432       40,    -1,   882,   883,   884,   885,    -1,   887,    -1,    -1,
    3433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3434       -1,  1416,    -1,   903,   115,    -1,    66,    -1,   119,    -1,
    3435       -1,    -1,    72,    -1,  1221,  1061,    76,   917,    -1,    79,
    3436       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3437       -1,    67,    -1,    -1,    94,    -1,    -1,   148,    -1,    -1,
    3438       -1,    77,    -1,    79,    -1,    81,    -1,   158,    -1,   109,
    3439     1465,   162,    88,    -1,    -1,    -1,   956,  1472,   118,   119,
    3440      120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
    3441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3442       -1,    -1,    -1,   119,    -1,   121,   122,   123,  1134,    -1,
    3443       -1,    -1,    -1,    -1,    -1,    -1,   996,    -1,    -1,    -1,
    3444      211,    -1,    -1,  1003,    -1,    -1,    -1,    -1,  1008,    -1,
    3445     1525,    -1,   223,  1013,    -1,  1015,    -1,    -1,    -1,  1019,
    3446       -1,  1021,  1022,    -1,    -1,  1025,   162,    -1,    -1,    -1,
    3447      241,   242,    -1,    -1,  1034,    -1,    -1,    -1,    -1,    -1,
    3448       -1,    -1,    -1,    -1,    -1,    -1,  1192,  1193,    -1,    -1,
    3449       -1,    -1,  1052,  1053,    -1,   266,    -1,    -1,    -1,    -1,
    3450       -1,    -1,   273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1079,
    3452       -1,    -1,  1082,    -1,    -1,   296,    -1,   223,    -1,   225,
    3453      226,   227,    -1,    -1,    -1,    -1,    -1,   308,    26,    27,
    3454       28,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3455       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3456       28,  1121,    30,    31,    32,   261,    -1,  1127,  1128,    -1,
    3457      266,    39,    -1,    -1,    -1,   346,    -1,    -1,    -1,  1139,
    3458      351,    -1,    -1,    -1,  1144,   281,    -1,  1147,    -1,  1149,
    3459       -1,    -1,  1152,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3460       -1,    -1,    -1,    -1,    72,  1165,    74,    75,    76,    -1,
    3461       78,    -1,   100,    -1,   102,    83,    84,    -1,  1178,    -1,
    3462     1180,  1181,  1182,  1183,    -1,    -1,    94,    -1,    -1,    -1,
    3463       -1,    -1,    -1,   329,    -1,    -1,  1196,    -1,  1198,   127,
    3464       -1,   109,  1202,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3465      118,   119,    -1,    -1,    -1,   351,   427,   428,    -1,    -1,
    3466      356,   357,    -1,   434,    -1,    -1,    -1,    -1,   364,    -1,
    3467       -1,  1231,  1232,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3468       -1,    -1,    -1,    -1,   455,    -1,    -1,   458,    -1,    -1,
    3469       -1,    -1,    -1,    -1,    -1,   183,    -1,  1403,    -1,    -1,
    3470       -1,    -1,    -1,   191,    -1,   193,   194,    -1,    -1,    -1,
    3471      198,   407,   200,   201,  1420,    -1,    -1,    -1,    -1,    -1,
    3472      491,    -1,    -1,  1283,  1284,    -1,    -1,    -1,    -1,   425,
    3473       -1,    -1,   503,  1293,   430,    -1,   432,    -1,    -1,    -1,
    3474       -1,    -1,    -1,    -1,   515,    -1,   517,    -1,    -1,   520,
    3475       -1,   522,   523,   449,    -1,    -1,   452,   453,    -1,    -1,
    3476       -1,    -1,    -1,   534,    -1,    -1,    -1,    -1,    -1,    -1,
    3477       -1,    -1,   468,     7,    -1,    -1,    10,    11,    12,    13,
    3478       14,    -1,   270,    -1,    -1,  1345,   482,  1493,  1494,    -1,
    3479       -1,    -1,    -1,   489,    -1,    -1,    -1,  1357,    -1,  1359,
    3480     1360,  1361,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
    3481       -1,  1371,    -1,    -1,    -1,   586,    45,    -1,    -1,    -1,
    3482     1380,    -1,    -1,    -1,    -1,    -1,    -1,   598,    -1,    -1,
    3483       -1,   602,    66,    67,    -1,    -1,  1396,    -1,    72,    -1,
    3484       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3485       84,    -1,    86,    87,    -1,    -1,    -1,   628,    -1,    -1,
    3486       94,    -1,   633,    -1,    93,    -1,    -1,    -1,    -1,    -1,
    3487       -1,   642,   643,   644,   103,   109,    -1,   111,    -1,    -1,
     3874      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3876      -1,   109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,
     3877     118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
     3878      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3879      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3880      -1,   111,    -1,    37,    38,    39,    40,    -1,    -1,   119,
     3881      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3882      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3883      26,    27,    66,    67,    30,    31,    32,    -1,    72,    -1,
     3884      74,    75,    76,    39,    -1,    79,    80,    81,    82,    83,
     3885      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3886      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3887      -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,
    34883888      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3489      661,    -1,  1452,  1453,    -1,    -1,    -1,    -1,    -1,    -1,
    3490       -1,    -1,    -1,    -1,    -1,  1465,   602,    -1,    -1,    -1,
    3491       -1,    -1,  1472,    37,    38,    -1,    40,    -1,    -1,    -1,
    3492       -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,    -1,    -1,
    3493      159,    -1,    -1,    -1,   630,    -1,    -1,    -1,    -1,   635,
    3494       -1,    -1,    66,    -1,   173,  1505,   717,    -1,    72,  1509,
    3495       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3496       84,    -1,    86,    87,   735,    -1,   737,   196,    -1,    -1,
    3497       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1538,    -1,
    3498     1540,   210,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3499      219,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3500      229,   772,    -1,    -1,    -1,    -1,    -1,    -1,  1568,  1569,
    3501       -1,    -1,    -1,    -1,    -1,    -1,  1576,  1577,    -1,    -1,
    3502       -1,    -1,    -1,    -1,    -1,   254,    -1,   723,    -1,    -1,
    3503      259,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3504       -1,   737,    -1,   272,    -1,    -1,    -1,    -1,    -1,   278,
    3505       -1,   280,    -1,    -1,    -1,   826,    -1,    -1,    -1,   830,
    3506       -1,   757,    -1,   834,    -1,    -1,    -1,    -1,   297,    -1,
    3507       -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3508       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3509       24,    25,    26,    27,   582,   583,    30,    31,    32,    -1,
    3510       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
    3511      339,    -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,
    3512       -1,    -1,   818,   611,    -1,    -1,   614,   615,    -1,   617,
    3513       -1,   619,   620,    67,   830,    -1,   624,   625,    -1,    -1,
    3514       74,    75,    -1,    -1,   373,    -1,    -1,    -1,   377,   378,
    3515       -1,   380,    -1,   849,    -1,   926,    -1,    -1,   387,   388,
    3516       94,   390,   391,    -1,   393,    -1,   395,    -1,    -1,    -1,
    3517       -1,    -1,    -1,    -1,   945,    -1,    -1,   111,    -1,    -1,
    3518       -1,   115,    -1,   412,   118,   119,    -1,    -1,    -1,    -1,
    3519       -1,   420,    -1,    -1,    -1,    -1,    -1,   968,    -1,    -1,
    3520       -1,    -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,
    3521       14,    -1,    -1,   984,    -1,   703,   445,    -1,    -1,    -1,
    3522      708,   709,    -1,    -1,    -1,    -1,   714,   456,    -1,    -1,
    3523       -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
    3524      936,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1020,
    3525      479,    -1,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,
    3526       -1,   490,    66,    67,    -1,    -1,   962,    -1,    72,    -1,
    3527     1041,  1042,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3528       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3529       94,    -1,    -1,    -1,   990,    -1,    -1,   526,    -1,    -1,
    3530       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3531       -1,   540,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3532       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1023,    -1,    -1,
    3533     1101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1034,    -1,
    3534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   578,
    3535       -1,    -1,    37,    38,    -1,    40,    -1,    -1,   587,   157,
    3536      158,    -1,    -1,    -1,    -1,   594,    -1,    -1,    -1,    -1,
    3537       -1,   600,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3538      609,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3539     1161,    76,    -1,   191,    79,    80,    81,    82,    83,    84,
    3540      198,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    3541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3542     1116,   650,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    3543       -1,    -1,  1203,   118,   119,   120,   121,   122,   123,    -1,
    3544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3545       -1,    -1,    -1,    -1,    -1,    -1,    -1,   686,    -1,    -1,
    3546       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3547       -1,  1242,   270,    -1,    -1,     3,     4,     5,     6,     7,
    3548        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3549       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3550       28,    -1,    30,    31,    32,    33,    -1,  1203,    36,    -1,
    3551       -1,    39,   741,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3552     1291,  1292,   751,   752,    -1,    -1,   324,    -1,    -1,  1300,
    3553       -1,    -1,    -1,    -1,   332,   333,   765,   335,   336,    67,
    3554       -1,    69,    -1,    71,    -1,    -1,    74,    75,   346,    -1,
    3555       78,    -1,   350,   782,    -1,   784,    -1,    -1,    -1,   788,
    3556       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3557       -1,   369,    -1,    -1,   372,    -1,    -1,    -1,    -1,    -1,
    3558       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3559      118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3560       -1,   399,    -1,    -1,  1300,   403,    -1,    -1,    -1,    -1,
    3561     1098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3562       -1,    -1,    -1,    -1,   853,    -1,    -1,    -1,    -1,    -1,
    3563       -1,   860,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,
    3564       -1,    -1,    -1,    -1,   873,  1416,   875,    -1,    -1,    -1,
    3565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   457,
    3566      889,    -1,    -1,    -1,    -1,    -1,    -1,   896,    -1,    -1,
    3567       -1,    -1,    -1,    -1,    -1,    -1,   148,    -1,    -1,   908,
    3568       -1,    -1,   911,    -1,    -1,    -1,   158,    -1,    -1,    -1,
    3569      488,    -1,    -1,   491,    -1,    -1,    -1,    -1,   170,   171,
    3570      929,    -1,    -1,  1474,    -1,  1476,    -1,    -1,    10,    11,
    3571       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3572       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
    3573       32,    -1,   530,  1221,    -1,   533,   534,    39,    -1,    -1,
    3574     1511,    -1,  1513,    -1,    -1,    -1,    10,    11,    12,    13,
    3575       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3576       24,    25,    26,    27,    28,    67,    -1,    -1,    -1,   241,
    3577     1541,    -1,    74,    75,    -1,    39,    78,    -1,    -1,    -1,
    3578      578,   579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1018,
    3579       -1,    -1,    94,   265,    -1,    -1,    -1,    -1,    -1,   597,
    3580      598,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   111,
    3581      608,    -1,   610,   611,    78,    -1,   118,   119,    -1,   617,
    3582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   627,
    3583      628,    -1,    -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,
    3584       -1,    -1,    -1,    -1,   642,   643,   644,  1076,    -1,    -1,
    3585       -1,    -1,    -1,  1082,    -1,    -1,    -1,    -1,    -1,    -1,
    3586     1556,    -1,    -1,   661,    -1,    -1,    -1,    -1,   666,   667,
    3587       -1,    -1,   670,   671,    -1,    -1,    -1,    -1,    -1,   677,
    3588       -1,    -1,    -1,  1112,    -1,    -1,    -1,    -1,  1117,    -1,
    3589       -1,    -1,    -1,    -1,    -1,    -1,  1125,   695,   696,   697,
    3590       -1,   699,    -1,    -1,    -1,   703,    -1,    -1,    -1,   381,
    3591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3592       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1156,    -1,    -1,
    3593       -1,    -1,    -1,    -1,    -1,    -1,    -1,   735,   736,  1168,
    3594       -1,    -1,  1171,    -1,  1173,    -1,    -1,    -1,    -1,    -1,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1187,  1188,
    3596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3597       -1,    -1,    -1,   771,   772,    -1,    -1,    -1,   776,   777,
    3598     1209,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3599       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3600       22,    23,    24,    25,    26,    27,    -1,  1236,    30,    31,
    3601       32,   483,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3602      818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   826,    -1,
    3603       -1,    -1,    -1,    -1,    -1,   833,   834,    -1,    -1,   837,
    3604       -1,   839,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3605      522,   849,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
    3606       -1,    -1,   534,    -1,    -1,    -1,    -1,   539,    -1,    -1,
    3607      542,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3608       -1,   553,   554,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    3609       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
    3610       -1,    -1,    -1,    -1,   576,  1334,    -1,  1336,    -1,    -1,
    3611       -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,    -1,    -1,
    3612     1349,   593,  1351,    -1,   922,    -1,   598,    -1,    -1,    -1,
    3613       -1,    -1,   930,    -1,    -1,    -1,    -1,    -1,   936,    -1,
    3614     1369,    -1,    -1,    -1,    -1,    -1,   944,    -1,    -1,    -1,
    3615       -1,    -1,    -1,    -1,    -1,    -1,  1385,  1386,    -1,   957,
    3616      958,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1397,    -1,
    3617       -1,  1400,    -1,    -1,    -1,   647,    -1,    -1,    -1,    -1,
    3618       -1,    -1,    -1,    -1,   656,    -1,   984,    -1,    -1,    -1,
    3619       -1,    -1,   990,  1422,    -1,    -1,    -1,    -1,    -1,    -1,
    3620       -1,    -1,  1431,    -1,    -1,  1434,    -1,  1436,  1437,  1438,
    3621       -1,  1009,  1010,    37,    38,    -1,    40,    -1,    -1,    -1,
    3622       -1,    -1,  1020,    -1,   696,    -1,    -1,    -1,  1026,  1027,
    3623       -1,  1029,  1030,  1031,    -1,    -1,    -1,    -1,    -1,    -1,
    3624       -1,    -1,    66,  1041,  1042,    -1,    -1,    -1,    72,  1478,
    3625       -1,  1480,    76,    -1,  1483,    79,    80,    81,    82,    83,
    3626       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,  1498,
    3627       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3628       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3629       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3630      772,    -1,   774,    -1,  1102,  1103,  1104,    -1,   780,    -1,
    3631       -1,    -1,    -1,    -1,    -1,   787,    -1,    -1,  1116,     3,
    3632        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3633       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3634       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
    3635       -1,    -1,    36,    37,    38,    39,    40,    -1,   830,   831,
    3636       -1,    -1,   834,  1161,    -1,    -1,    -1,    -1,    -1,    -1,
    3637       -1,    -1,    -1,    -1,    -1,    -1,   848,    -1,    -1,    -1,
    3638       -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,
    3639       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3640       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3641       94,    -1,    -1,    -1,    -1,    -1,   888,    -1,    -1,    -1,
    3642      892,    -1,    -1,    -1,  1222,   109,    -1,   111,    -1,    -1,
    3643       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3644       -1,    -1,    -1,    -1,  1242,    -1,    -1,    -1,   132,    -1,
    3645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3646       -1,    -1,    -1,    -1,     4,     5,     6,     7,     8,     9,
     3889       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3890      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3891      23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
     3892      -1,    -1,    -1,   119,    -1,    -1,    39,    -1,    -1,    -1,
    36473893      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    36483894      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3649       30,    31,    32,  1291,  1292,    -1,   968,    37,    38,    39,
    3650       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3651       -1,    -1,   984,   985,    -1,    -1,    -1,    -1,    -1,   991,
    3652       -1,    -1,    -1,    -1,    -1,   997,    66,    67,  1000,    69,
    3653     1002,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3654       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3655       -1,  1023,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
    3656       -1,    -1,  1034,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3657       -1,   111,    -1,    -1,    -1,    -1,   116,    -1,   118,   119,
    3658      120,   121,   122,   123,  1056,    -1,  1058,    -1,    -1,    -1,
     3895      30,    31,    32,    -1,    67,    -1,    69,    -1,    71,    39,
     3896      -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    10,    11,
     3897      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3898      22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
     3899      32,    -1,    72,    -1,    74,    75,    76,    39,    -1,    -1,
     3900      -1,   114,    -1,    83,    84,    -1,    10,    11,    12,    13,
     3901      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3902      24,    25,    26,    27,    -1,    67,    30,    31,    32,   109,
     3903      72,   111,    74,    75,    76,    39,    -1,    -1,    -1,   119,
     3904      -1,    83,    84,    -1,    10,    11,    12,    13,    14,    15,
     3905      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3906      26,    27,    -1,    67,    30,    31,    32,   109,    72,   111,
     3907      74,    75,    76,    39,    -1,    -1,    -1,   119,    -1,    83,
     3908      84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3909      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3910      28,    67,    30,    31,    32,   109,    72,   111,    74,    75,
     3911      76,    39,    -1,    -1,    -1,   119,    -1,    83,    84,    -1,
    36593912      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3660       -1,  1073,  1074,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1416,    -1,
    3662       -1,    -1,  1094,    -1,    -1,    -1,     0,    -1,    -1,     3,
    3663        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3913      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3914      -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
     3915      78,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3916      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3917      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3918      -1,   109,    -1,   111,    39,    40,    -1,    -1,    -1,    -1,
     3919      -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
     3920      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3921      27,    28,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3922      75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     3923      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3924      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3925      67,    -1,    39,    40,    -1,    -1,   111,    74,    75,    -1,
     3926     115,    78,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3927      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3928      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3929      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3930      -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
     3931      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3932      25,    26,    27,    -1,   111,    30,    31,    32,   115,    -1,
     3933      -1,    -1,   119,    -1,    39,    40,    10,    11,    12,    13,
    36643934      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3665       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
    3666       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
    3667     1142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
    3669       64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3670       74,    75,    76,    -1,  1176,  1177,    -1,    -1,  1506,    83,
    3671       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3672       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3673       -1,    -1,    -1,  1531,  1532,   109,    -1,   111,    -1,    -1,
    3674       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,
    3675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1556,    -1,
    3676        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3677       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3678       23,    24,    25,    26,    27,    -1,  1258,    30,    31,    32,
    3679       33,    -1,    -1,    36,    37,    38,    39,    40,    41,    -1,
    3680       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
    3681       53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
    3682       -1,    64,    -1,    66,    67,    -1,    69,    -1,    71,    72,
    3683       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
    3684       83,    84,    -1,    86,    87,    -1,    -1,  1319,    -1,    -1,
    3685     1322,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3686       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3687       -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3688      123,    -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,   132,
    3689        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3935      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3936      -1,    -1,    67,    -1,    -1,    39,    -1,    -1,    -1,    74,
     3937      75,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3938      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3939      26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
     3940      74,    75,    -1,    39,    -1,    -1,   111,    -1,    -1,    -1,
     3941     115,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3942      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3943      -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,
     3944      -1,    -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,
    36903945      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    36913946      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3692       33,    -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,
    3693       -1,    -1,    -1,    -1,    -1,  1407,    -1,    -1,    -1,    -1,
     3947      -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,
     3948      -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3949      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3950      25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
     3951      -1,    74,    75,    -1,    39,    10,    11,    12,    13,    14,
     3952      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3953      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3954      -1,    -1,    67,    -1,    39,    -1,    -1,    -1,   111,    74,
     3955      75,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
    36943956      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3695       -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,
    3696       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3957      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3958      75,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3959      -1,    -1,    -1,    -1,   119,    -1,    -1,    10,    11,    12,
     3960      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3961      23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
     3962      -1,    -1,    -1,    -1,   119,    -1,    39,    10,    11,    12,
     3963      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3964      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3965      -1,    -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    -1,
     3966      -1,    74,    75,    -1,    -1,    10,    11,    12,    13,    14,
     3967      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3968      25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
     3969      -1,    74,    75,    -1,    39,    -1,    -1,    -1,   111,    -1,
     3970      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3971      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3972      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,
     3973      75,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,
     3974       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3975      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3976      27,    -1,    -1,    30,    31,    32,   111,    -1,    -1,    -1,
     3977      -1,    -1,    39,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3978      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3979      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3980      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    37,
     3981      38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,    47,
     3982      48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
     3983      -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
     3984      -1,    -1,    -1,   110,    72,    -1,    -1,    -1,    76,    -1,
     3985      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3986      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3987      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3988      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3989     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3990     128,    -1,    37,    38,   132,    40,    41,    -1,    43,    -1,
     3991      -1,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
     3992      -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
     3993      -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3994      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3995      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3996      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3997      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
     3998      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3999      -1,    -1,    -1,   128,    -1,    -1,    -1,   132,     4,     5,
     4000       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     4001      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4002      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4003      -1,    -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,
     4004      -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
     4005      52,    53,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,
     4006      62,    67,    64,    69,    66,    71,    -1,    -1,    74,    75,
     4007      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
     4008      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     4009      96,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4010      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     4011      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     4012     122,   123,    -1,    -1,    37,    38,   128,    40,    41,    -1,
     4013      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     4014      53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
     4015      -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
     4016      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    36974017      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    36984018      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36994019      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3700       -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3701      123,    -1,    -1,    -1,    -1,    -1,    -1,  1489,     4,     5,
    3702        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3703       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3704       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3705       -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1541,
    3707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3708       66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
     4020      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     4021     123,    -1,    -1,    37,    38,   128,    40,    41,    -1,    43,
     4022      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
     4023      -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,
     4024      64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4025      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4026      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     4027      94,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
     4028      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     4029     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     4030      66,    -1,    -1,    -1,   128,    -1,    72,    -1,    -1,    -1,
    37094031      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3710       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3712       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3713      116,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
    3714        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3715       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3716       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3717       -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3718       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3719       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3720       66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
    3721       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3722       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3723       -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3724       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    83,    84,
    3725      116,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
    3726        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3727       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3728       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3729       -1,    37,    38,    39,    40,    -1,    -1,    -1,    10,    11,
    3730       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3731       22,    23,    24,    25,    26,    27,    28,    -1,    -1,    -1,
    3732       66,    67,    -1,    69,    -1,    71,    72,    39,    74,    75,
    3733       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3734       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3735       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3736       -1,    -1,    -1,   109,    -1,   111,    78,    -1,    -1,    -1,
    3737       -1,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
    3738        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3739       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3740       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3741       -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3742       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3743       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3744       66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
    3745       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3746       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3747       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3748       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3749       -1,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
    3750        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3751       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3752       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3753       -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3754       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3755       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3756       66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
    3757       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3758       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3759       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3760       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3761       -1,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
    3762        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3763       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3764       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3765       -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3766       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3767       25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3768       66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
    3769       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3770       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3771       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3772       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3773       -1,    -1,   118,   119,   120,   121,   122,   123,     3,     4,
    3774        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3775       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3776       25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
    3777       -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,
    3778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,
    3780       -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3781       75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
    3782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    3783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3784       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3785      115,    -1,    -1,   118,   119,     3,     4,     5,     6,     7,
    3786        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3787       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3788       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    3789       -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3791       -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,
    3792       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3793       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    3794       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3796       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3797      118,   119,     3,     4,     5,     6,     7,     8,     9,    10,
    3798       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3799       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3800       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
    3801       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3802       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3803       30,    31,    32,    33,    34,    35,    67,    -1,    69,    39,
    3804       71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
    3805       -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
    3806       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3807       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3808      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     3,
     4032      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    37,
     4033      38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4034      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,    38,
     4035      -1,    40,   118,   119,   120,   121,   122,   123,    66,    -1,
     4036      -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     4037      -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
     4038      -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,    -1,
     4039      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     4040      -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,    40,
     4041     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     4042     109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,   118,
     4043     119,   120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,
     4044      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     4045      81,    82,    83,    84,    66,    86,    87,    -1,    -1,    -1,
     4046      72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,    81,
     4047      82,    83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,
     4048      -1,    -1,    94,    37,    38,    -1,    40,   118,   119,   120,
     4049     121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,    -1,
     4050      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     4051     122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4052      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4053      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     4054      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4055      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
     4056      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    38094057       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    38104058      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3811       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
    3812       -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
     4059      24,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,
     4060      -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    38134061      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38144062      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3815       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3816       74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3818       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3819       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3820       -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,     7,
    3821        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3822       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3823       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3824       -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3827       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3828       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    3829       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3831       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3832      118,   119,     4,     5,     6,     7,     8,     9,    10,    11,
     4063      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     4064      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     4065      84,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    38334066      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    38344067      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     
    38374070      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38384071      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3839       -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
    3840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3841       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
    3843       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     4,     5,
    3844        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3845       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3846       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3847       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3850       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3853       96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3854       -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    3855       -1,    -1,   118,   119,     4,     5,     6,     7,     8,     9,
    3856       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3857       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3858       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3862       -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
    3863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3864       -1,    -1,    -1,    -1,    94,    -1,    96,    -1,    -1,    -1,
    3865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3866       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3867        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3868       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3869       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3870       -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    3871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3873       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3874       74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3876       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3877       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3878       -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,     7,
    3879        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3880       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3881       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3882       -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3885       -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
    3886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3887       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3889       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3890      118,   119,     4,     5,     6,     7,     8,     9,    10,    11,
    3891       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3892       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3893       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3896       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3897       -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
    3898       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3899       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3900       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    3901       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     4,     5,
    3902        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3903       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3904       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3905       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3908       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3909       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3910       20,    21,    22,    23,    24,    25,    26,    27,    94,    -1,
    3911       30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
    3912       40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    3913       -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,
    3914       -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
    3915       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3916       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3917       -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
    3918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3919       -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
    3920      120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
    3921       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3922       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3923       -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3926       66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3927       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3928       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3930       -1,    -1,    -1,   109,   110,   111,    -1,    -1,    -1,    -1,
    3931       -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
    3932       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3933       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3934       32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
    3935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3937       -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,    -1,
    3938       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3939       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3940       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3941       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3942       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    3943      122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
    3944       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3945       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3946       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3947       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3949       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    3950       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3951       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3953       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3954      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
    3955       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3956       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3957       -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
    3958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3960       -1,    -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,
    3961       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3962       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3963       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3964       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3965       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3966       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3967       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3968       30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
    3969       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3971       -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
    3972       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3973       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3974       -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
    3975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3976       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3977      120,   121,   122,   123,     3,     4,     5,     6,     7,     8,
     4072      -1,    -1,    74,    75,     3,     4,     5,     6,     7,     8,
    39784073       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    39794074      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    39804075      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3981       39,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3982       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3983       26,    27,    28,    -1,    30,    31,    32,    -1,    67,    -1,
    3984       69,    -1,    71,    39,    -1,    74,    75,    -1,    -1,    -1,
    3985       -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3986       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3987       -1,    67,    30,    31,    32,    -1,    72,    -1,    74,    75,
    3988       76,    39,    78,    -1,    -1,   114,    -1,    83,    84,    -1,
    3989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3991       -1,    -1,    -1,    -1,    72,   111,    74,    75,    76,    -1,
    3992       -1,    -1,   118,   119,    -1,    83,    84,    -1,    -1,    -1,
    3993       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     4076      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39944077      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3995       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3996      118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
    3997       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3998       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3999       -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
    4000       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4001       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
    4002       -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    4003       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    4004       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    67,
    4005       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    4006       -1,   109,    -1,   111,    -1,    83,    84,    -1,    -1,    -1,
    4007      118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    4008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4009       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    4010      118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
    4011       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4012       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    4013       -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
    4014       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4015       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
    4016       -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    4017       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    4018       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    67,
    4019       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    4020       -1,   109,    -1,   111,    -1,    83,    84,    -1,    -1,    -1,
    4021      118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    4022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4023       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    4024      118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
    4025       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4026       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    4027       -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
    4028       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4029       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
    4030       -1,    39,    40,    -1,    72,    -1,    74,    75,    -1,    -1,
    4031       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    4032       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    67,
    4033       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
    4034       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    4035      118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    4036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4037       -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,
    4038      118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
    4039       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4040       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    4041       -1,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    4042       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4043       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    67,
    4044       -1,    -1,    39,    40,    -1,    -1,    74,    75,    -1,    -1,
    4045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4046       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    4047       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4048       -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,
    4049      118,   119,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4051       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4052       -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4078      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     4079      69,    -1,    71,    -1,    -1,    74,    75,     4,     5,     6,
     4080       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    40534081      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    40544082      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4055       -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    4056       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4057       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4058       67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4061       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4062       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4063       -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4065       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4066       -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
    4067       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4068       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4069       -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    4070       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4071       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4072       67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4075       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4076       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4077       -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4078       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4079       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4080       -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
    4081       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4082       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4083       -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    4084       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4085       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4086       67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4089       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4090       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4091       -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4092       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4093       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4094       -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
    4095       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4096       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4097       -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    4098       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4099       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4100       67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4103       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    4104       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4105       -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4107       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    4108       -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
    4109       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4110       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4111       -1,    -1,    39,    -1,    -1,     4,     5,     6,     7,     8,
    4112        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4113       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    4114       67,    30,    31,    32,    -1,    -1,    -1,    74,    75,    -1,
    4115       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4116       -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    4118       69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
    4119       -1,   118,   119,    37,    38,    -1,    40,    41,    -1,    43,
    4120       -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    4121       -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,
    4122       64,   110,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4123       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4124       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    4125       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4126       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    4127      114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    4128       -1,    -1,    -1,    -1,   128,    -1,    37,    38,   132,    40,
    4129       41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
    4130       51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
    4131       61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
    4132       -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    4133       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    4134       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    4135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    4136      111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
    4137      121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
    4138       -1,   132,     4,     5,     6,     7,     8,     9,    10,    11,
    4139       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    4140       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    4141       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    37,
    4142       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
    4143       48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
    4144       -1,    -1,    -1,    61,    62,    67,    64,    69,    66,    71,
    4145       -1,    -1,    74,    75,    72,    -1,    -1,    -1,    76,    -1,
    4146       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    4147       -1,    -1,    -1,    -1,    96,    -1,    94,    -1,    -1,    -1,
    4148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4149       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    4150      118,   119,   120,   121,   122,   123,    -1,    -1,    37,    38,
    4151      128,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
    4152       49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
    4153       -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
    4154       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    4155       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    4156       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
    4157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4158      109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,
    4159      119,   120,   121,   122,   123,    -1,    -1,    37,    38,   128,
    4160       40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
    4161       50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
    4162       -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
    4163       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    4164       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    4165       -1,    -1,    -1,    -1,    94,    37,    38,    -1,    40,    -1,
    4166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    4167       -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
    4168      120,   121,   122,   123,    66,    -1,    -1,    -1,   128,    -1,
    4169       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    4170       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    4171       -1,    -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,
    4172       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    4173       -1,    -1,    37,    38,    -1,    40,   118,   119,   120,   121,
    4174      122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4175       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4176       84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,    -1,
    4177       94,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    4178       -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,    94,
    4179       37,    38,    -1,    40,   118,   119,   120,   121,   122,   123,
    4180       -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    37,
    4181       38,    -1,    40,   118,   119,   120,   121,   122,   123,    66,
    4182       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    4183       -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
    4184       87,    -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,
    4185       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    4186       -1,    -1,   109,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    4187       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    4188       -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4189      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    4190        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    4191       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4193       -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    4196       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    4197       -1,    -1,    -1,    -1,    -1,    83,    84,     3,     4,     5,
    4198        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     4083      -1,    -1,    39,    -1,    10,    11,    12,    13,    14,    15,
    41994084      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4200       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    4201       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     4085      26,    27,    -1,    -1,    30,    31,    32,    33,    34,    35,
     4086      67,    -1,    69,    39,    71,    -1,    -1,    74,    75,    -1,
    42024087      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    42034088      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4204       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    4205        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    4206       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    4207       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    4208       -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
    4209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4211       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
    4212       -1,    74,    75,     4,     5,     6,     7,     8,     9,    10,
    4213       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    4214       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    4215       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
    4216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4217       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4218       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    4219       71,    -1,    -1,    74,    75
     4089      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75
    42204090};
    42214091
     
    42284098      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    42294099      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    4230       76,    83,    84,    94,   109,   111,   118,   119,   137,   140,
    4231      149,   198,   212,   213,   214,   215,   216,   217,   218,   219,
    4232      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
    4233      231,   232,   233,   234,   235,   236,   237,   238,   240,   241,
    4234      242,   243,   244,   245,   247,   255,   256,   283,   284,   285,
    4235      293,   296,   302,   303,   305,   307,   308,   314,   319,   323,
    4236      324,   325,   326,   327,   328,   329,   330,   350,   367,   368,
    4237      369,   370,    72,   139,   140,   149,   215,   217,   225,   227,
    4238      237,   241,   243,   284,    82,   109,   312,   313,   314,   312,
    4239      312,    72,    74,    75,    76,   138,   139,   273,   274,   294,
    4240      295,    74,    75,   274,   109,   305,    11,   199,   109,   149,
    4241      319,   324,   325,   326,   328,   329,   330,   112,   134,   111,
    4242      218,   225,   227,   323,   327,   366,   367,   370,   371,   135,
    4243      107,   131,   277,   114,   135,   173,    74,    75,   137,   272,
    4244      135,   135,   135,   116,   135,    74,    75,   109,   149,   309,
    4245      318,   319,   320,   321,   322,   323,   327,   331,   332,   333,
    4246      334,   335,   341,     3,    28,    78,   239,     3,     5,    74,
    4247      111,   149,   217,   228,   232,   235,   244,   285,   323,   327,
    4248      370,   215,   217,   227,   237,   241,   243,   284,   323,   327,
    4249       33,   233,   233,   228,   235,   135,   233,   228,   233,   228,
    4250       75,   109,   114,   274,   285,   114,   274,   233,   228,   116,
    4251      135,   135,     0,   134,   109,   173,   312,   312,   134,   111,
    4252      225,   227,   368,   272,   272,   131,   227,   109,   149,   309,
    4253      319,   323,   111,   149,   370,   306,   230,   314,   109,   290,
    4254      109,   109,    51,   109,    37,    38,    40,    66,    72,    76,
    4255       79,    80,    81,    82,    86,    87,   109,   111,   120,   121,
     4100      76,    83,    84,   109,   111,   119,   137,   140,   197,   211,
     4101     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
     4102     222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
     4103     233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
     4104     244,   246,   254,   255,   282,   283,   284,   292,   295,   301,
     4105     302,   304,   306,   307,   313,   318,   322,   323,   324,   325,
     4106     326,   327,   328,   329,   349,   366,   367,   368,   369,    72,
     4107     119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
     4108     283,    82,   109,   311,   312,   313,   311,   311,    72,    74,
     4109      75,    76,   138,   139,   272,   273,   293,   294,    74,    75,
     4110     273,   109,   304,    11,   198,   109,   119,   318,   323,   324,
     4111     325,   327,   328,   329,   112,   134,   111,   217,   224,   226,
     4112     322,   326,   365,   366,   369,   370,   135,   107,   131,   276,
     4113     114,   135,   172,    74,    75,   137,   271,   135,   135,   135,
     4114     116,   135,    74,    75,   109,   119,   308,   317,   318,   319,
     4115     320,   321,   322,   326,   330,   331,   332,   333,   334,   340,
     4116       3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
     4117     227,   231,   234,   243,   284,   322,   326,   369,   214,   216,
     4118     226,   236,   240,   242,   283,   322,   326,    33,   232,   232,
     4119     227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
     4120     273,   284,   114,   273,   232,   227,   116,   135,   135,     0,
     4121     134,   109,   172,   311,   311,   134,   111,   224,   226,   367,
     4122     271,   271,   226,   131,   109,   119,   308,   318,   322,   111,
     4123     119,   369,   305,   229,   313,   109,   289,   109,   109,    51,
     4124     109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
     4125      82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
    42564126     122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
    42574127     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
    4258      161,   162,   164,   166,   225,   276,   292,   366,   371,   227,
    4259      110,   110,   110,   110,   110,   110,   110,    74,    75,   111,
    4260      225,   272,   350,   368,   111,   118,   149,   164,   217,   218,
    4261      224,   227,   231,   232,   237,   240,   241,   243,   262,   263,
    4262      267,   268,   269,   270,   284,   350,   362,   363,   364,   365,
    4263      370,   371,   112,   109,   323,   327,   370,   109,   116,   132,
    4264      111,   114,   149,   164,   278,   278,   115,   134,   116,   132,
    4265      109,   116,   132,   116,   132,   116,   132,   312,   132,   319,
    4266      320,   321,   322,   332,   333,   334,   335,   227,   318,   331,
    4267       64,   311,   111,   312,   349,   350,   312,   312,   173,   134,
    4268      109,   312,   349,   312,   312,   227,   309,   109,   109,   226,
    4269      227,   225,   227,   112,   134,   225,   366,   371,   173,   134,
    4270      272,   277,   217,   232,   323,   327,   173,   134,   294,   227,
    4271      237,   132,   227,   227,   292,    40,   111,   225,   248,   249,
    4272      250,   251,   366,   370,   246,   258,   274,   257,   227,   294,
    4273      132,   132,   305,   134,   139,   271,     3,   135,   207,   208,
    4274      222,   224,   227,   134,   311,   109,   311,   164,   319,   227,
    4275      109,   134,   272,   114,    33,    34,    35,   225,   286,   287,
    4276      289,   134,   129,   131,   291,   134,   228,   234,   235,   272,
    4277      315,   316,   317,   109,   141,   109,   148,   109,   148,   151,
    4278      109,   148,   109,   109,   148,   148,   111,   164,   169,   173,
    4279      225,   275,   366,   112,   134,    82,    85,    86,    87,   109,
    4280      111,   113,   114,    97,    98,    99,   100,   101,   102,   103,
    4281      104,   105,   106,   131,   168,   151,   151,   118,   124,   125,
    4282      120,   121,    88,    89,    90,    91,   126,   127,    92,    93,
    4283      119,   128,   129,    94,    95,   130,   131,   373,   109,   149,
    4284      345,   346,   347,   348,   349,   110,   116,   109,   349,   350,
    4285      109,   349,   350,   134,   109,   225,   368,   112,   134,   135,
    4286      111,   225,   227,   361,   362,   370,   371,   135,   109,   111,
    4287      149,   319,   336,   337,   338,   339,   340,   341,   342,   343,
    4288      344,   350,   351,   352,   353,   354,   355,   356,   149,   370,
    4289      227,   135,   135,   149,   225,   227,   363,   272,   225,   350,
    4290      363,   272,   109,   134,   134,   134,   112,   134,    72,    80,
    4291      111,   113,   140,   274,   278,   279,   280,   281,   282,   134,
    4292      134,   134,   134,   134,   134,   309,   110,   110,   110,   110,
    4293      110,   110,   110,   318,   331,   109,   277,   112,   207,   134,
    4294      309,   169,   276,   169,   276,   309,   111,   207,   311,   173,
    4295      134,   207,   110,   250,   251,   112,   134,   109,   117,   149,
    4296      252,   254,   318,   319,   331,   349,   357,   358,   359,   360,
    4297      115,   249,   116,   132,   116,   132,   274,   114,   116,   372,
    4298      131,   259,   114,   227,   264,   265,   266,   269,   270,   110,
    4299      116,   173,   134,   118,   164,   134,   224,   227,   263,   362,
    4300      370,   303,   304,   109,   149,   336,   110,   116,   373,   274,
    4301      286,   109,   114,   274,   276,   286,   110,   116,   109,   141,
    4302      110,   117,   275,   275,   275,   111,   139,   145,   164,   276,
    4303      275,   112,   134,   110,   116,   110,   109,   149,   357,   110,
    4304      116,   164,   111,   139,   111,   144,   145,   134,   111,   139,
    4305      144,   164,   164,   151,   151,   151,   152,   152,   153,   153,
    4306      154,   154,   154,   154,   155,   155,   156,   157,   158,   159,
    4307      160,   117,   169,   164,   134,   346,   347,   348,   227,   345,
    4308      312,   312,   164,   276,   134,   271,   134,   225,   350,   363,
    4309      227,   231,   112,   112,   134,   370,   112,   109,   134,   319,
    4310      337,   338,   339,   342,   352,   353,   354,   112,   134,   227,
    4311      336,   340,   351,   109,   312,   355,   373,   312,   312,   373,
    4312      109,   312,   355,   312,   312,   312,   312,   350,   225,   361,
    4313      371,   272,   112,   116,   112,   116,   373,   225,   363,   373,
    4314      260,   261,   262,   263,   260,   260,   272,   164,   134,   111,
    4315      274,   117,   116,   372,   278,    80,   111,   117,   282,    29,
    4316      209,   210,   272,   260,   139,   309,   139,   311,   109,   349,
    4317      350,   109,   349,   350,   141,   350,   173,   264,   110,   110,
    4318      110,   110,   112,   173,   207,   173,   114,   132,   132,   111,
    4319      319,   358,   359,   360,   162,   163,   227,   357,   253,   254,
    4320      253,   312,   312,   274,   312,   248,   274,   115,   163,   258,
    4321      135,   135,   139,   222,   135,   135,   260,   109,   149,   370,
    4322      135,   115,   227,   287,   288,   135,   134,   134,   109,   135,
    4323      110,   316,   169,   170,   117,   132,   111,   141,   200,   201,
    4324      202,   110,   116,   110,   134,   117,   110,   110,   110,   164,
    4325      227,   114,   151,   166,   164,   165,   167,   116,   135,   134,
    4326      134,   110,   116,   164,   134,   115,   162,   117,   264,   110,
    4327      110,   110,   345,   264,   110,   260,   225,   363,   111,   118,
    4328      149,   164,   164,   227,   342,   264,   110,   110,   110,   110,
    4329      110,   110,   110,     7,   227,   336,   340,   351,   134,   134,
    4330      373,   134,   134,   110,   135,   135,   135,   135,   277,   135,
    4331      162,   163,   164,   310,   134,   278,   280,   115,   134,   211,
    4332      274,    40,    41,    43,    46,    47,    48,    49,    50,    51,
    4333       52,    53,    57,    61,    62,    72,   111,   128,   170,   171,
    4334      172,   173,   174,   175,   177,   178,   190,   192,   193,   198,
    4335      212,   308,    29,   135,   131,   277,   134,   134,   110,   135,
    4336      173,   248,   112,   110,   110,   110,   357,   252,   115,   259,
    4337      372,   110,   116,   112,   112,   135,   227,   116,   373,   290,
    4338      110,   286,   215,   217,   225,   298,   299,   300,   301,   292,
    4339      110,   110,   117,   163,   109,   110,   117,   116,   139,   164,
    4340      164,   279,   116,   135,   167,   112,   139,   146,   147,   164,
    4341      145,   135,   146,   162,   166,   135,   109,   349,   350,   135,
    4342      135,   134,   135,   135,   135,   164,   110,   135,   109,   349,
    4343      350,   109,   355,   109,   355,   350,   226,     7,   118,   135,
    4344      164,   264,   264,   263,   267,   267,   268,   116,   116,   110,
    4345      110,   112,    96,   123,   135,   135,   146,   278,   164,   116,
    4346      132,   212,   216,   227,   231,   109,   109,   171,   109,   109,
    4347       72,   132,    72,   132,    72,   118,   170,   109,   173,   165,
    4348      165,   117,   112,   143,   132,   135,   134,   135,   211,   110,
    4349      164,   264,   264,   312,   110,   115,   109,   349,   350,   115,
    4350      134,   110,   134,   135,   309,   115,   134,   135,   135,   110,
    4351      114,   200,   112,   163,   132,   200,   202,   110,   116,   135,
    4352      372,   165,   112,   135,    85,   113,   116,   135,   135,   112,
    4353      135,   110,   134,   110,   110,   112,   112,   112,   135,   110,
    4354      134,   134,   134,   164,   164,   135,   112,   135,   135,   135,
    4355      135,   134,   134,   163,   163,   112,   112,   135,   135,   274,
    4356      227,   169,   169,    47,   169,   134,   132,   132,   132,   169,
    4357      132,   169,    58,    59,    60,   194,   195,   196,   132,    63,
    4358      132,   312,   114,   175,   115,   132,   135,   135,   134,    96,
    4359      269,   270,   110,   299,   116,   132,   116,   132,   115,   297,
    4360      117,   141,   110,   110,   117,   167,   112,   115,   112,   111,
    4361      147,   111,   147,   147,   112,   112,   112,   264,   112,   264,
    4362      264,   264,   135,   135,   112,   112,   110,   110,   112,   116,
    4363       96,   263,    96,   135,   112,   112,   110,   110,   109,   110,
    4364      170,   191,   212,   132,   110,   109,   109,   173,   196,    58,
    4365       59,   164,   171,   144,   110,   110,   264,   114,   134,   134,
    4366      298,   141,   203,   109,   132,   203,   135,   117,   134,   134,
    4367      135,   135,   135,   135,   112,   112,   134,   135,   112,   171,
    4368       44,    45,   114,   181,   182,   183,   169,   171,   135,   110,
    4369      170,   114,   183,    96,   134,    96,   134,   109,   109,   132,
    4370      115,   135,   134,   272,   309,   115,   116,   117,   163,   110,
    4371      112,   164,   146,   146,   110,   110,   110,   110,   267,    42,
    4372      163,   179,   180,   310,   117,   134,   171,   181,   110,   132,
    4373      171,   132,   134,   110,   134,   110,   134,    96,   134,    96,
    4374      134,   132,   110,   298,   141,   139,   204,   110,   132,   117,
    4375      135,   135,   171,    96,   116,   117,   135,   205,   206,   212,
    4376      132,   170,   170,   205,   173,   197,   225,   366,   173,   197,
    4377      110,   134,   110,   134,   115,   110,   116,   164,   112,   112,
    4378      163,   179,   182,   184,   185,   134,   132,   182,   186,   187,
    4379      135,   109,   149,   309,   357,   139,   135,   173,   197,   173,
    4380      197,   109,   132,   139,   171,   176,   115,   182,   212,   170,
    4381       56,   176,   189,   115,   182,   110,   227,   110,   135,   135,
    4382      292,   171,   176,   132,   188,   189,   176,   189,   173,   173,
    4383      110,   110,   110,   188,   135,   135,   173,   173,   135,   135
     4128     161,   163,   165,   224,   275,   291,   365,   370,   226,   110,
     4129     110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
     4130     271,   349,   367,   111,   119,   163,   216,   217,   223,   226,
     4131     230,   231,   236,   239,   240,   242,   261,   262,   266,   267,
     4132     268,   269,   283,   349,   361,   362,   363,   364,   369,   370,
     4133     112,   109,   322,   326,   369,   109,   116,   132,   111,   114,
     4134     119,   163,   277,   277,   115,   134,   116,   132,   109,   116,
     4135     132,   116,   132,   116,   132,   311,   132,   318,   319,   320,
     4136     321,   331,   332,   333,   334,   226,   317,   330,    64,   310,
     4137     111,   311,   348,   349,   311,   311,   172,   134,   109,   311,
     4138     348,   311,   311,   226,   308,   109,   109,   225,   226,   224,
     4139     226,   112,   134,   224,   365,   370,   172,   134,   271,   276,
     4140     216,   231,   322,   326,   172,   134,   293,   226,   236,   132,
     4141     226,   226,   291,    40,   111,   224,   247,   248,   249,   250,
     4142     365,   369,   245,   257,   273,   256,   226,   293,   132,   132,
     4143     304,   134,   139,   270,     3,   135,   206,   207,   221,   223,
     4144     226,   134,   310,   109,   310,   163,   318,   226,   109,   134,
     4145     271,   114,    33,    34,    35,   224,   285,   286,   288,   134,
     4146     129,   131,   290,   134,   227,   233,   234,   271,   314,   315,
     4147     316,   109,   141,   109,   148,   109,   148,   150,   109,   148,
     4148     109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
     4149     274,   365,   112,   134,   150,   150,    82,    85,    86,    87,
     4150     109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
     4151     103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
     4152     121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
     4153     120,   128,   129,    94,    95,   130,   131,   372,   109,   119,
     4154     344,   345,   346,   347,   348,   110,   116,   109,   348,   349,
     4155     109,   348,   349,   134,   109,   224,   367,   112,   134,   111,
     4156     119,   135,   224,   226,   360,   361,   369,   370,   135,   109,
     4157     111,   119,   318,   335,   336,   337,   338,   339,   340,   341,
     4158     342,   343,   349,   350,   351,   352,   353,   354,   355,   119,
     4159     369,   226,   135,   135,   119,   224,   226,   362,   271,   224,
     4160     349,   362,   271,   109,   134,   134,   134,   112,   134,    72,
     4161      80,   111,   113,   140,   273,   277,   278,   279,   280,   281,
     4162     134,   134,   134,   134,   134,   134,   308,   110,   110,   110,
     4163     110,   110,   110,   110,   317,   330,   109,   276,   112,   206,
     4164     134,   308,   168,   275,   168,   275,   308,   111,   206,   310,
     4165     172,   134,   206,   110,   249,   250,   112,   134,   109,   117,
     4166     119,   251,   253,   317,   318,   330,   348,   356,   357,   358,
     4167     359,   115,   248,   116,   132,   116,   132,   273,   114,   116,
     4168     371,   131,   258,   114,   226,   263,   264,   265,   268,   269,
     4169     110,   116,   172,   134,   119,   163,   134,   223,   226,   262,
     4170     361,   369,   302,   303,   109,   119,   335,   110,   116,   372,
     4171     273,   285,   109,   114,   273,   275,   285,   110,   116,   109,
     4172     141,   110,   117,   274,   274,   274,   111,   139,   145,   163,
     4173     275,   274,   112,   134,   110,   116,   110,   109,   119,   356,
     4174     110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
     4175     139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
     4176     152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
     4177     158,   159,   117,   168,   163,   134,   345,   346,   347,   226,
     4178     344,   311,   311,   163,   275,   134,   270,   119,   134,   224,
     4179     349,   362,   226,   230,   112,   134,   112,   369,   112,   109,
     4180     134,   318,   336,   337,   338,   341,   351,   352,   353,   112,
     4181     134,   226,   335,   339,   350,   109,   311,   354,   372,   311,
     4182     311,   372,   109,   311,   354,   311,   311,   311,   311,   349,
     4183     224,   360,   370,   271,   112,   116,   112,   116,   372,   224,
     4184     362,   372,   259,   260,   261,   262,   259,   259,   271,   163,
     4185     134,   111,   273,   117,   116,   371,   277,    80,   111,   117,
     4186     281,    29,   208,   209,   271,   259,   139,   308,   139,   310,
     4187     109,   348,   349,   109,   348,   349,   141,   349,   172,   263,
     4188     110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
     4189     132,   111,   318,   357,   358,   359,   161,   162,   226,   356,
     4190     252,   253,   252,   311,   311,   273,   311,   247,   273,   115,
     4191     162,   257,   135,   135,   139,   221,   135,   135,   259,   109,
     4192     119,   369,   135,   115,   226,   286,   287,   135,   134,   134,
     4193     109,   135,   110,   315,   168,   169,   117,   132,   111,   141,
     4194     199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
     4195     110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
     4196     135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
     4197     263,   110,   110,   110,   344,   263,   110,   259,   224,   362,
     4198     111,   119,   163,   163,   226,   341,   263,   110,   110,   110,
     4199     110,   110,   110,   110,     7,   226,   335,   339,   350,   134,
     4200     134,   372,   134,   134,   110,   135,   135,   135,   135,   276,
     4201     135,   161,   162,   163,   309,   134,   277,   279,   115,   134,
     4202     210,   273,    40,    41,    43,    46,    47,    48,    49,    50,
     4203      51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
     4204     170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
     4205     197,   211,   307,    29,   135,   131,   276,   134,   134,   110,
     4206     135,   172,   247,   112,   110,   110,   110,   356,   251,   115,
     4207     258,   371,   110,   116,   112,   112,   135,   226,   116,   372,
     4208     289,   110,   285,   214,   216,   224,   297,   298,   299,   300,
     4209     291,   110,   110,   117,   162,   109,   110,   117,   116,   139,
     4210     163,   163,   278,   116,   135,   166,   112,   139,   146,   147,
     4211     163,   145,   135,   146,   161,   165,   135,   109,   348,   349,
     4212     135,   135,   134,   135,   135,   135,   163,   110,   135,   109,
     4213     348,   349,   109,   354,   109,   354,   349,   225,     7,   119,
     4214     135,   163,   263,   263,   262,   266,   266,   267,   116,   116,
     4215     110,   110,   112,    96,   123,   135,   135,   146,   277,   163,
     4216     116,   132,   211,   215,   226,   230,   109,   109,   170,   109,
     4217     109,   132,   139,   132,   139,   119,   139,   169,   109,   172,
     4218     164,   164,   112,   143,   117,   132,   135,   134,   135,   210,
     4219     110,   163,   263,   263,   311,   110,   115,   109,   348,   349,
     4220     115,   134,   110,   134,   135,   308,   115,   134,   135,   135,
     4221     110,   114,   199,   112,   162,   132,   199,   201,   110,   116,
     4222     135,   371,   164,   112,   135,    85,   113,   116,   135,   135,
     4223     112,   135,   110,   134,   110,   110,   112,   112,   112,   135,
     4224     110,   134,   134,   134,   163,   163,   135,   112,   135,   135,
     4225     135,   135,   134,   134,   162,   162,   112,   112,   135,   135,
     4226     273,   226,   168,   168,    47,   168,   134,   132,   132,   168,
     4227     132,   132,   168,    58,    59,    60,   193,   194,   195,   132,
     4228      63,   132,   114,   311,   174,   115,   132,   135,   135,   134,
     4229      96,   268,   269,   110,   298,   116,   132,   116,   132,   115,
     4230     296,   117,   141,   110,   110,   117,   166,   112,   115,   112,
     4231     111,   147,   111,   147,   147,   112,   112,   112,   263,   112,
     4232     263,   263,   263,   135,   135,   112,   112,   110,   110,   112,
     4233     116,    96,   262,    96,   135,   112,   112,   110,   110,   109,
     4234     110,   169,   190,   211,   132,   110,   109,   109,   172,   195,
     4235      58,    59,   163,   144,   170,   110,   110,   263,   114,   134,
     4236     134,   297,   141,   202,   109,   132,   202,   135,   117,   134,
     4237     134,   135,   135,   135,   135,   112,   112,   134,   135,   112,
     4238     170,    44,    45,   114,   180,   181,   182,   168,   170,   135,
     4239     110,   169,   114,   182,    96,   134,    96,   134,   109,   109,
     4240     132,   115,   135,   134,   271,   308,   115,   116,   117,   162,
     4241     110,   112,   163,   146,   146,   110,   110,   110,   110,   266,
     4242      42,   162,   178,   179,   309,   117,   134,   170,   180,   110,
     4243     132,   170,   132,   134,   110,   134,   110,   134,    96,   134,
     4244      96,   134,   132,   110,   297,   141,   139,   203,   110,   132,
     4245     117,   135,   135,   170,    96,   116,   117,   135,   204,   205,
     4246     211,   132,   169,   169,   204,   172,   196,   224,   365,   172,
     4247     196,   110,   134,   110,   134,   115,   110,   116,   163,   112,
     4248     112,   162,   178,   181,   183,   184,   134,   132,   181,   185,
     4249     186,   135,   109,   119,   308,   356,   139,   135,   172,   196,
     4250     172,   196,   109,   132,   139,   170,   175,   115,   181,   211,
     4251     169,    56,   175,   188,   115,   181,   110,   226,   110,   135,
     4252     135,   291,   170,   175,   132,   187,   188,   175,   188,   172,
     4253     172,   110,   110,   110,   187,   135,   135,   172,   172,   135,
     4254     135
    43844255};
    43854256
     
    52185089
    52195090/* Line 1806 of yacc.c  */
    5220 #line 290 "parser.yy"
     5091#line 292 "parser.yy"
    52215092    {
    52225093                        typedefTable.enterScope();
     
    52275098
    52285099/* Line 1806 of yacc.c  */
    5229 #line 296 "parser.yy"
     5100#line 298 "parser.yy"
    52305101    {
    52315102                        typedefTable.leaveScope();
     
    52365107
    52375108/* Line 1806 of yacc.c  */
    5238 #line 305 "parser.yy"
     5109#line 307 "parser.yy"
    52395110    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    52405111    break;
     
    52435114
    52445115/* Line 1806 of yacc.c  */
    5245 #line 306 "parser.yy"
     5116#line 308 "parser.yy"
    52465117    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    52475118    break;
     
    52505121
    52515122/* Line 1806 of yacc.c  */
    5252 #line 307 "parser.yy"
     5123#line 309 "parser.yy"
    52535124    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    52545125    break;
     
    52575128
    52585129/* Line 1806 of yacc.c  */
    5259 #line 332 "parser.yy"
     5130#line 334 "parser.yy"
    52605131    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    52615132    break;
     
    52645135
    52655136/* Line 1806 of yacc.c  */
    5266 #line 333 "parser.yy"
     5137#line 335 "parser.yy"
    52675138    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    52685139    break;
    52695140
    52705141  case 18:
    5271 
    5272 /* Line 1806 of yacc.c  */
    5273 #line 340 "parser.yy"
    5274     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    5275     break;
    5276 
    5277   case 19:
    52785142
    52795143/* Line 1806 of yacc.c  */
     
    52825146    break;
    52835147
     5148  case 19:
     5149
     5150/* Line 1806 of yacc.c  */
     5151#line 344 "parser.yy"
     5152    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5153    break;
     5154
    52845155  case 20:
    52855156
    52865157/* Line 1806 of yacc.c  */
    5287 #line 344 "parser.yy"
     5158#line 346 "parser.yy"
    52885159    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    52895160    break;
     
    52925163
    52935164/* Line 1806 of yacc.c  */
    5294 #line 346 "parser.yy"
     5165#line 348 "parser.yy"
    52955166    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    52965167    break;
     
    52995170
    53005171/* Line 1806 of yacc.c  */
    5301 #line 356 "parser.yy"
     5172#line 358 "parser.yy"
    53025173    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    53035174    break;
     
    53065177
    53075178/* Line 1806 of yacc.c  */
    5308 #line 358 "parser.yy"
     5179#line 360 "parser.yy"
    53095180    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    53105181    break;
     
    53135184
    53145185/* Line 1806 of yacc.c  */
    5315 #line 362 "parser.yy"
     5186#line 364 "parser.yy"
    53165187    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    53175188    break;
     
    53205191
    53215192/* Line 1806 of yacc.c  */
    5322 #line 365 "parser.yy"
     5193#line 367 "parser.yy"
    53235194    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    53245195    break;
     
    53275198
    53285199/* Line 1806 of yacc.c  */
    5329 #line 368 "parser.yy"
     5200#line 370 "parser.yy"
    53305201    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    53315202    break;
     
    53345205
    53355206/* Line 1806 of yacc.c  */
    5336 #line 370 "parser.yy"
     5207#line 372 "parser.yy"
    53375208    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    53385209    break;
     
    53415212
    53425213/* Line 1806 of yacc.c  */
    5343 #line 372 "parser.yy"
     5214#line 374 "parser.yy"
    53445215    { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); }
    53455216    break;
     
    53485219
    53495220/* Line 1806 of yacc.c  */
    5350 #line 374 "parser.yy"
     5221#line 376 "parser.yy"
    53515222    {
    53525223                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     
    53585229
    53595230/* Line 1806 of yacc.c  */
    5360 #line 383 "parser.yy"
     5231#line 385 "parser.yy"
    53615232    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    53625233    break;
     
    53655236
    53665237/* Line 1806 of yacc.c  */
    5367 #line 388 "parser.yy"
     5238#line 390 "parser.yy"
    53685239    { (yyval.en) = 0; }
    53695240    break;
     
    53725243
    53735244/* Line 1806 of yacc.c  */
    5374 #line 391 "parser.yy"
     5245#line 393 "parser.yy"
    53755246    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    53765247    break;
     
    53795250
    53805251/* Line 1806 of yacc.c  */
    5381 #line 396 "parser.yy"
     5252#line 398 "parser.yy"
    53825253    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    53835254    break;
     
    53865257
    53875258/* Line 1806 of yacc.c  */
    5388 #line 398 "parser.yy"
     5259#line 400 "parser.yy"
    53895260    { (yyval.en) = (yyvsp[(9) - (9)].en)->set_argName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); }
    53905261    break;
     
    53935264
    53945265/* Line 1806 of yacc.c  */
    5395 #line 403 "parser.yy"
     5266#line 405 "parser.yy"
    53965267    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    53975268    break;
     
    54005271
    54015272/* Line 1806 of yacc.c  */
    5402 #line 408 "parser.yy"
     5273#line 410 "parser.yy"
    54035274    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    54045275    break;
     
    54075278
    54085279/* Line 1806 of yacc.c  */
    5409 #line 412 "parser.yy"
     5280#line 414 "parser.yy"
    54105281    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    54115282    break;
     
    54145285
    54155286/* Line 1806 of yacc.c  */
    5416 #line 414 "parser.yy"
     5287#line 416 "parser.yy"
    54175288    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    54185289    break;
     
    54215292
    54225293/* Line 1806 of yacc.c  */
    5423 #line 416 "parser.yy"
     5294#line 418 "parser.yy"
    54245295    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    54255296    break;
     
    54285299
    54295300/* Line 1806 of yacc.c  */
    5430 #line 418 "parser.yy"
     5301#line 420 "parser.yy"
    54315302    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    54325303    break;
    54335304
    54345305  case 48:
    5435 
    5436 /* Line 1806 of yacc.c  */
    5437 #line 426 "parser.yy"
    5438     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5439     break;
    5440 
    5441   case 49:
    54425306
    54435307/* Line 1806 of yacc.c  */
     
    54465310    break;
    54475311
     5312  case 49:
     5313
     5314/* Line 1806 of yacc.c  */
     5315#line 430 "parser.yy"
     5316    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5317    break;
     5318
    54485319  case 50:
    54495320
    54505321/* Line 1806 of yacc.c  */
    5451 #line 430 "parser.yy"
    5452     { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }
     5322#line 432 "parser.yy"
     5323    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    54535324    break;
    54545325
     
    54565327
    54575328/* Line 1806 of yacc.c  */
    5458 #line 432 "parser.yy"
     5329#line 434 "parser.yy"
     5330    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
     5331    break;
     5332
     5333  case 52:
     5334
     5335/* Line 1806 of yacc.c  */
     5336#line 436 "parser.yy"
     5337    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     5338    break;
     5339
     5340  case 53:
     5341
     5342/* Line 1806 of yacc.c  */
     5343#line 438 "parser.yy"
    54595344    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    54605345    break;
    54615346
    5462   case 52:
    5463 
    5464 /* Line 1806 of yacc.c  */
    5465 #line 437 "parser.yy"
    5466     { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5467     break;
    5468 
    5469   case 53:
    5470 
    5471 /* Line 1806 of yacc.c  */
    5472 #line 439 "parser.yy"
    5473     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    5474     break;
    5475 
    54765347  case 54:
    54775348
    54785349/* Line 1806 of yacc.c  */
    5479 #line 441 "parser.yy"
    5480     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
     5350#line 440 "parser.yy"
     5351    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    54815352    break;
    54825353
     
    54845355
    54855356/* Line 1806 of yacc.c  */
    5486 #line 443 "parser.yy"
     5357#line 442 "parser.yy"
     5358    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
     5359    break;
     5360
     5361  case 56:
     5362
     5363/* Line 1806 of yacc.c  */
     5364#line 448 "parser.yy"
    54875365    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    54885366    break;
    54895367
    5490   case 56:
    5491 
    5492 /* Line 1806 of yacc.c  */
    5493 #line 445 "parser.yy"
     5368  case 57:
     5369
     5370/* Line 1806 of yacc.c  */
     5371#line 450 "parser.yy"
    54945372    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    54955373    break;
    54965374
    5497   case 57:
    5498 
    5499 /* Line 1806 of yacc.c  */
    5500 #line 447 "parser.yy"
     5375  case 58:
     5376
     5377/* Line 1806 of yacc.c  */
     5378#line 452 "parser.yy"
    55015379    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    55025380    break;
    55035381
    5504   case 58:
    5505 
    5506 /* Line 1806 of yacc.c  */
    5507 #line 449 "parser.yy"
     5382  case 59:
     5383
     5384/* Line 1806 of yacc.c  */
     5385#line 454 "parser.yy"
    55085386    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    55095387    break;
    55105388
    5511   case 59:
    5512 
    5513 /* Line 1806 of yacc.c  */
    5514 #line 451 "parser.yy"
     5389  case 60:
     5390
     5391/* Line 1806 of yacc.c  */
     5392#line 456 "parser.yy"
    55155393    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    55165394    break;
    55175395
    5518   case 60:
    5519 
    5520 /* Line 1806 of yacc.c  */
    5521 #line 453 "parser.yy"
     5396  case 61:
     5397
     5398/* Line 1806 of yacc.c  */
     5399#line 458 "parser.yy"
    55225400    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    55235401    break;
    55245402
    5525   case 61:
    5526 
    5527 /* Line 1806 of yacc.c  */
    5528 #line 455 "parser.yy"
     5403  case 62:
     5404
     5405/* Line 1806 of yacc.c  */
     5406#line 460 "parser.yy"
    55295407    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    55305408    break;
    55315409
    5532   case 62:
    5533 
    5534 /* Line 1806 of yacc.c  */
    5535 #line 457 "parser.yy"
     5410  case 63:
     5411
     5412/* Line 1806 of yacc.c  */
     5413#line 462 "parser.yy"
    55365414    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    55375415    break;
    55385416
    5539   case 63:
    5540 
    5541 /* Line 1806 of yacc.c  */
    5542 #line 463 "parser.yy"
    5543     { (yyval.en) = new OperatorNode( OperatorNode::PointTo ); }
    5544     break;
    5545 
    55465417  case 64:
    55475418
    55485419/* Line 1806 of yacc.c  */
    55495420#line 464 "parser.yy"
     5421    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
     5422    break;
     5423
     5424  case 65:
     5425
     5426/* Line 1806 of yacc.c  */
     5427#line 468 "parser.yy"
    55505428    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    55515429    break;
    55525430
    5553   case 65:
    5554 
    5555 /* Line 1806 of yacc.c  */
    5556 #line 466 "parser.yy"
    5557     { (yyval.en) = new OperatorNode( OperatorNode::And ); }
    5558     break;
    5559 
    55605431  case 66:
    55615432
    55625433/* Line 1806 of yacc.c  */
     5434#line 469 "parser.yy"
     5435    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5436    break;
     5437
     5438  case 67:
     5439
     5440/* Line 1806 of yacc.c  */
    55635441#line 470 "parser.yy"
    5564     { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    5565     break;
    5566 
    5567   case 67:
     5442    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5443    break;
     5444
     5445  case 68:
    55685446
    55695447/* Line 1806 of yacc.c  */
    55705448#line 471 "parser.yy"
    5571     { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    5572     break;
    5573 
    5574   case 68:
    5575 
    5576 /* Line 1806 of yacc.c  */
    5577 #line 472 "parser.yy"
    5578     { (yyval.en) = new OperatorNode( OperatorNode::Neg ); }
    5579     break;
    5580 
    5581   case 69:
    5582 
    5583 /* Line 1806 of yacc.c  */
    5584 #line 473 "parser.yy"
    55855449    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
     5450    break;
     5451
     5452  case 70:
     5453
     5454/* Line 1806 of yacc.c  */
     5455#line 477 "parser.yy"
     5456    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    55865457    break;
    55875458
     
    55935464    break;
    55945465
    5595   case 72:
    5596 
    5597 /* Line 1806 of yacc.c  */
    5598 #line 481 "parser.yy"
    5599     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5466  case 73:
     5467
     5468/* Line 1806 of yacc.c  */
     5469#line 485 "parser.yy"
     5470    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56005471    break;
    56015472
     
    56045475/* Line 1806 of yacc.c  */
    56055476#line 487 "parser.yy"
    5606     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5477    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56075478    break;
    56085479
     
    56115482/* Line 1806 of yacc.c  */
    56125483#line 489 "parser.yy"
    5613     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5614     break;
    5615 
    5616   case 76:
    5617 
    5618 /* Line 1806 of yacc.c  */
    5619 #line 491 "parser.yy"
    56205484    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56215485    break;
    56225486
     5487  case 77:
     5488
     5489/* Line 1806 of yacc.c  */
     5490#line 495 "parser.yy"
     5491    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5492    break;
     5493
    56235494  case 78:
    56245495
    56255496/* Line 1806 of yacc.c  */
    56265497#line 497 "parser.yy"
    5627     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5628     break;
    5629 
    5630   case 79:
    5631 
    5632 /* Line 1806 of yacc.c  */
    5633 #line 499 "parser.yy"
    56345498    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56355499    break;
    56365500
     5501  case 80:
     5502
     5503/* Line 1806 of yacc.c  */
     5504#line 503 "parser.yy"
     5505    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5506    break;
     5507
    56375508  case 81:
    56385509
    56395510/* Line 1806 of yacc.c  */
    56405511#line 505 "parser.yy"
    5641     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5642     break;
    5643 
    5644   case 82:
    5645 
    5646 /* Line 1806 of yacc.c  */
    5647 #line 507 "parser.yy"
    56485512    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56495513    break;
    56505514
     5515  case 83:
     5516
     5517/* Line 1806 of yacc.c  */
     5518#line 511 "parser.yy"
     5519    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5520    break;
     5521
    56515522  case 84:
    56525523
    56535524/* Line 1806 of yacc.c  */
    56545525#line 513 "parser.yy"
    5655     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5526    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56565527    break;
    56575528
     
    56605531/* Line 1806 of yacc.c  */
    56615532#line 515 "parser.yy"
    5662     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5533    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56635534    break;
    56645535
     
    56675538/* Line 1806 of yacc.c  */
    56685539#line 517 "parser.yy"
    5669     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5670     break;
    5671 
    5672   case 87:
    5673 
    5674 /* Line 1806 of yacc.c  */
    5675 #line 519 "parser.yy"
    56765540    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56775541    break;
    56785542
     5543  case 88:
     5544
     5545/* Line 1806 of yacc.c  */
     5546#line 523 "parser.yy"
     5547    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5548    break;
     5549
    56795550  case 89:
    56805551
    56815552/* Line 1806 of yacc.c  */
    56825553#line 525 "parser.yy"
    5683     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5684     break;
    5685 
    5686   case 90:
    5687 
    5688 /* Line 1806 of yacc.c  */
    5689 #line 527 "parser.yy"
    56905554    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56915555    break;
    56925556
    5693   case 92:
    5694 
    5695 /* Line 1806 of yacc.c  */
    5696 #line 533 "parser.yy"
     5557  case 91:
     5558
     5559/* Line 1806 of yacc.c  */
     5560#line 531 "parser.yy"
    56975561    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56985562    break;
    56995563
    5700   case 94:
    5701 
    5702 /* Line 1806 of yacc.c  */
    5703 #line 539 "parser.yy"
     5564  case 93:
     5565
     5566/* Line 1806 of yacc.c  */
     5567#line 537 "parser.yy"
    57045568    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57055569    break;
    57065570
    5707   case 96:
    5708 
    5709 /* Line 1806 of yacc.c  */
    5710 #line 545 "parser.yy"
     5571  case 95:
     5572
     5573/* Line 1806 of yacc.c  */
     5574#line 543 "parser.yy"
    57115575    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57125576    break;
    57135577
    5714   case 98:
    5715 
    5716 /* Line 1806 of yacc.c  */
    5717 #line 551 "parser.yy"
     5578  case 97:
     5579
     5580/* Line 1806 of yacc.c  */
     5581#line 549 "parser.yy"
    57185582    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57195583    break;
    57205584
    5721   case 100:
    5722 
    5723 /* Line 1806 of yacc.c  */
    5724 #line 557 "parser.yy"
     5585  case 99:
     5586
     5587/* Line 1806 of yacc.c  */
     5588#line 555 "parser.yy"
    57255589    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57265590    break;
    57275591
     5592  case 101:
     5593
     5594/* Line 1806 of yacc.c  */
     5595#line 561 "parser.yy"
     5596    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5597    break;
     5598
    57285599  case 102:
    57295600
    57305601/* Line 1806 of yacc.c  */
    57315602#line 563 "parser.yy"
     5603    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     5604    break;
     5605
     5606  case 103:
     5607
     5608/* Line 1806 of yacc.c  */
     5609#line 565 "parser.yy"
    57325610    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    57335611    break;
    57345612
    5735   case 103:
    5736 
    5737 /* Line 1806 of yacc.c  */
    5738 #line 565 "parser.yy"
    5739     { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    5740     break;
    5741 
    5742   case 104:
    5743 
    5744 /* Line 1806 of yacc.c  */
    5745 #line 567 "parser.yy"
    5746     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5613  case 106:
     5614
     5615/* Line 1806 of yacc.c  */
     5616#line 576 "parser.yy"
     5617    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57475618    break;
    57485619
     
    57515622/* Line 1806 of yacc.c  */
    57525623#line 578 "parser.yy"
    5753     { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5624    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57545625    break;
    57555626
     
    57585629/* Line 1806 of yacc.c  */
    57595630#line 580 "parser.yy"
    5760     { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5631    { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    57615632    break;
    57625633
     
    57645635
    57655636/* Line 1806 of yacc.c  */
    5766 #line 582 "parser.yy"
    5767     { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5768     break;
    5769 
    5770   case 110:
    5771 
    5772 /* Line 1806 of yacc.c  */
    5773 #line 587 "parser.yy"
     5637#line 585 "parser.yy"
    57745638    { (yyval.en) = new NullExprNode; }
    57755639    break;
    57765640
     5641  case 111:
     5642
     5643/* Line 1806 of yacc.c  */
     5644#line 593 "parser.yy"
     5645    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5646    break;
     5647
    57775648  case 112:
    57785649
    57795650/* Line 1806 of yacc.c  */
    57805651#line 595 "parser.yy"
    5781     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5652    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    57825653    break;
    57835654
     
    57865657/* Line 1806 of yacc.c  */
    57875658#line 597 "parser.yy"
    5788     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
     5659    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    57895660    break;
    57905661
     
    57935664/* Line 1806 of yacc.c  */
    57945665#line 599 "parser.yy"
    5795     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    5796     break;
    5797 
    5798   case 115:
    5799 
    5800 /* Line 1806 of yacc.c  */
    5801 #line 601 "parser.yy"
    58025666    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    58035667    break;
    58045668
     5669  case 116:
     5670
     5671/* Line 1806 of yacc.c  */
     5672#line 605 "parser.yy"
     5673    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5674    break;
     5675
    58055676  case 117:
    58065677
    58075678/* Line 1806 of yacc.c  */
    5808 #line 607 "parser.yy"
    5809     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5679#line 609 "parser.yy"
     5680    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    58105681    break;
    58115682
     
    58135684
    58145685/* Line 1806 of yacc.c  */
     5686#line 610 "parser.yy"
     5687    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5688    break;
     5689
     5690  case 119:
     5691
     5692/* Line 1806 of yacc.c  */
    58155693#line 611 "parser.yy"
    5816     { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    5817     break;
    5818 
    5819   case 119:
     5694    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5695    break;
     5696
     5697  case 120:
    58205698
    58215699/* Line 1806 of yacc.c  */
    58225700#line 612 "parser.yy"
    5823     { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    5824     break;
    5825 
    5826   case 120:
     5701    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5702    break;
     5703
     5704  case 121:
    58275705
    58285706/* Line 1806 of yacc.c  */
    58295707#line 613 "parser.yy"
    5830     { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    5831     break;
    5832 
    5833   case 121:
     5708    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5709    break;
     5710
     5711  case 122:
    58345712
    58355713/* Line 1806 of yacc.c  */
    58365714#line 614 "parser.yy"
    5837     { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    5838     break;
    5839 
    5840   case 122:
     5715    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5716    break;
     5717
     5718  case 123:
    58415719
    58425720/* Line 1806 of yacc.c  */
    58435721#line 615 "parser.yy"
    5844     { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    5845     break;
    5846 
    5847   case 123:
     5722    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5723    break;
     5724
     5725  case 124:
    58485726
    58495727/* Line 1806 of yacc.c  */
    58505728#line 616 "parser.yy"
    5851     { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    5852     break;
    5853 
    5854   case 124:
     5729    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5730    break;
     5731
     5732  case 125:
    58555733
    58565734/* Line 1806 of yacc.c  */
    58575735#line 617 "parser.yy"
    5858     { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    5859     break;
    5860 
    5861   case 125:
     5736    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5737    break;
     5738
     5739  case 126:
    58625740
    58635741/* Line 1806 of yacc.c  */
    58645742#line 618 "parser.yy"
    5865     { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    5866     break;
    5867 
    5868   case 126:
    5869 
    5870 /* Line 1806 of yacc.c  */
    5871 #line 619 "parser.yy"
    5872     { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    5873     break;
    5874 
    5875   case 127:
    5876 
    5877 /* Line 1806 of yacc.c  */
    5878 #line 620 "parser.yy"
    58795743    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    58805744    break;
    58815745
     5746  case 128:
     5747
     5748/* Line 1806 of yacc.c  */
     5749#line 624 "parser.yy"
     5750    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5751    break;
     5752
    58825753  case 129:
    58835754
    58845755/* Line 1806 of yacc.c  */
    5885 #line 626 "parser.yy"
    5886     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5887     break;
    5888 
    5889   case 130:
    5890 
    5891 /* Line 1806 of yacc.c  */
    5892 #line 631 "parser.yy"
     5756#line 629 "parser.yy"
    58935757    { (yyval.en) = 0; }
    58945758    break;
    58955759
    5896   case 134:
    5897 
    5898 /* Line 1806 of yacc.c  */
    5899 #line 640 "parser.yy"
     5760  case 133:
     5761
     5762/* Line 1806 of yacc.c  */
     5763#line 638 "parser.yy"
    59005764    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    59015765    break;
    59025766
    5903   case 140:
    5904 
    5905 /* Line 1806 of yacc.c  */
    5906 #line 647 "parser.yy"
     5767  case 139:
     5768
     5769/* Line 1806 of yacc.c  */
     5770#line 645 "parser.yy"
    59075771    {
    59085772                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
    59095773                        (yyval.sn) = new StatementNode( StatementNode::Exp, new CompositeExprNode( new VarRefNode( fn ),
    5910                                 (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ), 0 );
     5774                                (ExpressionNode *)(new CompositeExprNode( new OperatorNode( OperatorNode::AddressOf ), (yyvsp[(2) - (6)].en) ))->set_link( (yyvsp[(4) - (6)].en) ) ), 0 );
    59115775                }
    59125776    break;
    59135777
    5914   case 141:
    5915 
    5916 /* Line 1806 of yacc.c  */
    5917 #line 657 "parser.yy"
     5778  case 140:
     5779
     5780/* Line 1806 of yacc.c  */
     5781#line 654 "parser.yy"
    59185782    {
    59195783                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    59215785    break;
    59225786
     5787  case 141:
     5788
     5789/* Line 1806 of yacc.c  */
     5790#line 661 "parser.yy"
     5791    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
     5792    break;
     5793
    59235794  case 142:
    59245795
    59255796/* Line 1806 of yacc.c  */
    5926 #line 664 "parser.yy"
    5927     { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    5928     break;
    5929 
    5930   case 143:
    5931 
    5932 /* Line 1806 of yacc.c  */
    5933 #line 671 "parser.yy"
     5797#line 668 "parser.yy"
    59345798    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    59355799    break;
    59365800
     5801  case 144:
     5802
     5803/* Line 1806 of yacc.c  */
     5804#line 674 "parser.yy"
     5805    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
     5806    break;
     5807
    59375808  case 145:
    59385809
    59395810/* Line 1806 of yacc.c  */
    5940 #line 677 "parser.yy"
    5941     { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
     5811#line 679 "parser.yy"
     5812    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    59425813    break;
    59435814
     
    59455816
    59465817/* Line 1806 of yacc.c  */
    5947 #line 682 "parser.yy"
     5818#line 681 "parser.yy"
     5819    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
     5820    break;
     5821
     5822  case 147:
     5823
     5824/* Line 1806 of yacc.c  */
     5825#line 683 "parser.yy"
    59485826    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    59495827    break;
    59505828
    5951   case 147:
    5952 
    5953 /* Line 1806 of yacc.c  */
    5954 #line 684 "parser.yy"
    5955     { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) )/*->set_extension( true )*/; }
    5956     break;
    5957 
    5958   case 148:
    5959 
    5960 /* Line 1806 of yacc.c  */
    5961 #line 686 "parser.yy"
    5962     { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
     5829  case 150:
     5830
     5831/* Line 1806 of yacc.c  */
     5832#line 690 "parser.yy"
     5833    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    59635834    break;
    59645835
     
    59665837
    59675838/* Line 1806 of yacc.c  */
    5968 #line 693 "parser.yy"
    5969     { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
     5839#line 695 "parser.yy"
     5840    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    59705841    break;
    59715842
     
    59735844
    59745845/* Line 1806 of yacc.c  */
    5975 #line 698 "parser.yy"
    5976     { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
     5846#line 701 "parser.yy"
     5847    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    59775848    break;
    59785849
     
    59805851
    59815852/* Line 1806 of yacc.c  */
    5982 #line 704 "parser.yy"
    5983     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5853#line 703 "parser.yy"
     5854    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    59845855    break;
    59855856
     
    59875858
    59885859/* Line 1806 of yacc.c  */
    5989 #line 706 "parser.yy"
    5990     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
     5860#line 705 "parser.yy"
     5861    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    59915862    break;
    59925863
     
    59945865
    59955866/* Line 1806 of yacc.c  */
    5996 #line 708 "parser.yy"
    5997     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5867#line 707 "parser.yy"
     5868    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    59985869    break;
    59995870
     
    60015872
    60025873/* Line 1806 of yacc.c  */
    6003 #line 710 "parser.yy"
    6004     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
     5874#line 712 "parser.yy"
     5875    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    60055876    break;
    60065877
     
    60085879
    60095880/* Line 1806 of yacc.c  */
    6010 #line 715 "parser.yy"
    6011     { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5881#line 714 "parser.yy"
     5882    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    60125883    break;
    60135884
     
    60155886
    60165887/* Line 1806 of yacc.c  */
    6017 #line 717 "parser.yy"
    6018     { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
     5888#line 721 "parser.yy"
     5889    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    60195890    break;
    60205891
     
    60225893
    60235894/* Line 1806 of yacc.c  */
    6024 #line 724 "parser.yy"
    6025     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    6026     break;
    6027 
    6028   case 160:
    6029 
    6030 /* Line 1806 of yacc.c  */
    6031 #line 726 "parser.yy"
     5895#line 723 "parser.yy"
    60325896    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    60335897    break;
    60345898
     5899  case 162:
     5900
     5901/* Line 1806 of yacc.c  */
     5902#line 730 "parser.yy"
     5903    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
     5904    break;
     5905
    60355906  case 163:
    60365907
    60375908/* Line 1806 of yacc.c  */
    6038 #line 733 "parser.yy"
    6039     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
     5909#line 734 "parser.yy"
     5910    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    60405911    break;
    60415912
     
    60435914
    60445915/* Line 1806 of yacc.c  */
    6045 #line 737 "parser.yy"
    6046     { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    6047     break;
    6048 
    6049   case 165:
    6050 
    6051 /* Line 1806 of yacc.c  */
    6052 #line 738 "parser.yy"
     5916#line 735 "parser.yy"
    60535917    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    60545918    break;
    60555919
     5920  case 166:
     5921
     5922/* Line 1806 of yacc.c  */
     5923#line 741 "parser.yy"
     5924    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
     5925    break;
     5926
    60565927  case 167:
    60575928
    60585929/* Line 1806 of yacc.c  */
    6059 #line 744 "parser.yy"
    6060     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
     5930#line 745 "parser.yy"
     5931    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    60615932    break;
    60625933
     
    60645935
    60655936/* Line 1806 of yacc.c  */
    6066 #line 748 "parser.yy"
     5937#line 750 "parser.yy"
     5938    { (yyval.sn) = 0; }
     5939    break;
     5940
     5941  case 170:
     5942
     5943/* Line 1806 of yacc.c  */
     5944#line 756 "parser.yy"
    60675945    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    60685946    break;
    60695947
    6070   case 169:
    6071 
    6072 /* Line 1806 of yacc.c  */
    6073 #line 753 "parser.yy"
     5948  case 171:
     5949
     5950/* Line 1806 of yacc.c  */
     5951#line 758 "parser.yy"
     5952    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     5953    break;
     5954
     5955  case 172:
     5956
     5957/* Line 1806 of yacc.c  */
     5958#line 763 "parser.yy"
    60745959    { (yyval.sn) = 0; }
    60755960    break;
    60765961
    6077   case 171:
    6078 
    6079 /* Line 1806 of yacc.c  */
    6080 #line 759 "parser.yy"
     5962  case 174:
     5963
     5964/* Line 1806 of yacc.c  */
     5965#line 769 "parser.yy"
    60815966    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    60825967    break;
    60835968
    6084   case 172:
    6085 
    6086 /* Line 1806 of yacc.c  */
    6087 #line 761 "parser.yy"
     5969  case 175:
     5970
     5971/* Line 1806 of yacc.c  */
     5972#line 771 "parser.yy"
     5973    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
     5974    break;
     5975
     5976  case 176:
     5977
     5978/* Line 1806 of yacc.c  */
     5979#line 773 "parser.yy"
    60885980    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    60895981    break;
    60905982
    6091   case 173:
    6092 
    6093 /* Line 1806 of yacc.c  */
    6094 #line 766 "parser.yy"
     5983  case 177:
     5984
     5985/* Line 1806 of yacc.c  */
     5986#line 775 "parser.yy"
     5987    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
     5988    break;
     5989
     5990  case 178:
     5991
     5992/* Line 1806 of yacc.c  */
     5993#line 780 "parser.yy"
    60955994    { (yyval.sn) = 0; }
    60965995    break;
    60975996
    6098   case 175:
    6099 
    6100 /* Line 1806 of yacc.c  */
    6101 #line 772 "parser.yy"
    6102     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    6103     break;
    6104 
    6105   case 176:
    6106 
    6107 /* Line 1806 of yacc.c  */
    6108 #line 774 "parser.yy"
    6109     { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    6110     break;
    6111 
    6112   case 177:
    6113 
    6114 /* Line 1806 of yacc.c  */
    6115 #line 776 "parser.yy"
    6116     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    6117     break;
    6118 
    6119   case 178:
    6120 
    6121 /* Line 1806 of yacc.c  */
    6122 #line 778 "parser.yy"
    6123     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
    6124     break;
    6125 
    6126   case 179:
    6127 
    6128 /* Line 1806 of yacc.c  */
    6129 #line 783 "parser.yy"
    6130     { (yyval.sn) = 0; }
     5997  case 180:
     5998
     5999/* Line 1806 of yacc.c  */
     6000#line 785 "parser.yy"
     6001    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    61316002    break;
    61326003
     
    61346005
    61356006/* Line 1806 of yacc.c  */
    6136 #line 788 "parser.yy"
     6007#line 786 "parser.yy"
    61376008    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    61386009    break;
     
    61416012
    61426013/* Line 1806 of yacc.c  */
    6143 #line 789 "parser.yy"
    6144     { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
     6014#line 791 "parser.yy"
     6015    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    61456016    break;
    61466017
     
    61486019
    61496020/* Line 1806 of yacc.c  */
    6150 #line 794 "parser.yy"
    6151     { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     6021#line 793 "parser.yy"
     6022    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    61526023    break;
    61536024
     
    61556026
    61566027/* Line 1806 of yacc.c  */
    6157 #line 796 "parser.yy"
    6158     { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
     6028#line 795 "parser.yy"
     6029    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    61596030    break;
    61606031
     
    61626033
    61636034/* Line 1806 of yacc.c  */
    6164 #line 798 "parser.yy"
    6165     { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
     6035#line 800 "parser.yy"
     6036    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    61666037    break;
    61676038
     
    61696040
    61706041/* Line 1806 of yacc.c  */
    6171 #line 803 "parser.yy"
    6172     { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
     6042#line 802 "parser.yy"
     6043    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    61736044    break;
    61746045
     
    61766047
    61776048/* Line 1806 of yacc.c  */
    6178 #line 805 "parser.yy"
    6179     { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     6049#line 807 "parser.yy"
     6050    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    61806051    break;
    61816052
     
    61836054
    61846055/* Line 1806 of yacc.c  */
    6185 #line 810 "parser.yy"
    6186     { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
     6056#line 811 "parser.yy"
     6057    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    61876058    break;
    61886059
     
    61916062/* Line 1806 of yacc.c  */
    61926063#line 814 "parser.yy"
    6193     { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
     6064    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    61946065    break;
    61956066
     
    61976068
    61986069/* Line 1806 of yacc.c  */
    6199 #line 817 "parser.yy"
    6200     { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
     6070#line 818 "parser.yy"
     6071    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    62016072    break;
    62026073
     
    62056076/* Line 1806 of yacc.c  */
    62066077#line 821 "parser.yy"
    6207     { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
     6078    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    62086079    break;
    62096080
     
    62116082
    62126083/* Line 1806 of yacc.c  */
    6213 #line 824 "parser.yy"
    6214     { (yyval.sn) = new StatementNode( StatementNode::Break ); }
     6084#line 825 "parser.yy"
     6085    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    62156086    break;
    62166087
     
    62186089
    62196090/* Line 1806 of yacc.c  */
    6220 #line 828 "parser.yy"
    6221     { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
     6091#line 827 "parser.yy"
     6092    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    62226093    break;
    62236094
     
    62256096
    62266097/* Line 1806 of yacc.c  */
    6227 #line 830 "parser.yy"
    6228     { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
     6098#line 829 "parser.yy"
     6099    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    62296100    break;
    62306101
     
    62326103
    62336104/* Line 1806 of yacc.c  */
    6234 #line 832 "parser.yy"
     6105#line 833 "parser.yy"
    62356106    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    62366107    break;
     
    62396110
    62406111/* Line 1806 of yacc.c  */
    6241 #line 836 "parser.yy"
    6242     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     6112#line 835 "parser.yy"
     6113    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    62436114    break;
    62446115
     
    62466117
    62476118/* Line 1806 of yacc.c  */
    6248 #line 838 "parser.yy"
    6249     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
     6119#line 842 "parser.yy"
     6120    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    62506121    break;
    62516122
     
    62536124
    62546125/* Line 1806 of yacc.c  */
    6255 #line 845 "parser.yy"
     6126#line 844 "parser.yy"
    62566127    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    62576128    break;
     
    62606131
    62616132/* Line 1806 of yacc.c  */
    6262 #line 847 "parser.yy"
    6263     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6264     break;
    6265 
    6266   case 200:
    6267 
    6268 /* Line 1806 of yacc.c  */
    6269 #line 849 "parser.yy"
     6133#line 846 "parser.yy"
    62706134    {
    62716135                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    62746138    break;
    62756139
     6140  case 201:
     6141
     6142/* Line 1806 of yacc.c  */
     6143#line 857 "parser.yy"
     6144    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
     6145    break;
     6146
    62766147  case 202:
    62776148
    62786149/* Line 1806 of yacc.c  */
    6279 #line 860 "parser.yy"
     6150#line 859 "parser.yy"
     6151    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
     6152    break;
     6153
     6154  case 203:
     6155
     6156/* Line 1806 of yacc.c  */
     6157#line 861 "parser.yy"
    62806158    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    62816159    break;
    62826160
    6283   case 203:
    6284 
    6285 /* Line 1806 of yacc.c  */
    6286 #line 862 "parser.yy"
     6161  case 204:
     6162
     6163/* Line 1806 of yacc.c  */
     6164#line 863 "parser.yy"
    62876165    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    62886166    break;
    62896167
    6290   case 204:
    6291 
    6292 /* Line 1806 of yacc.c  */
    6293 #line 864 "parser.yy"
    6294     { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    6295     break;
    6296 
    62976168  case 205:
    62986169
    62996170/* Line 1806 of yacc.c  */
    6300 #line 866 "parser.yy"
    6301     { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
     6171#line 868 "parser.yy"
     6172    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    63026173    break;
    63036174
     
    63056176
    63066177/* Line 1806 of yacc.c  */
    6307 #line 871 "parser.yy"
     6178#line 870 "parser.yy"
     6179    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
     6180    break;
     6181
     6182  case 207:
     6183
     6184/* Line 1806 of yacc.c  */
     6185#line 872 "parser.yy"
    63086186    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    63096187    break;
    63106188
    6311   case 207:
    6312 
    6313 /* Line 1806 of yacc.c  */
    6314 #line 873 "parser.yy"
     6189  case 208:
     6190
     6191/* Line 1806 of yacc.c  */
     6192#line 874 "parser.yy"
    63156193    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    63166194    break;
    63176195
    6318   case 208:
    6319 
    6320 /* Line 1806 of yacc.c  */
    6321 #line 875 "parser.yy"
    6322     { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    6323     break;
    6324 
    63256196  case 209:
    63266197
    63276198/* Line 1806 of yacc.c  */
    6328 #line 877 "parser.yy"
    6329     { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    6330     break;
    6331 
    6332   case 210:
    6333 
    6334 /* Line 1806 of yacc.c  */
    6335 #line 882 "parser.yy"
     6199#line 879 "parser.yy"
    63366200    {
    63376201                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    63406204    break;
    63416205
    6342   case 212:
    6343 
    6344 /* Line 1806 of yacc.c  */
    6345 #line 896 "parser.yy"
     6206  case 211:
     6207
     6208/* Line 1806 of yacc.c  */
     6209#line 893 "parser.yy"
    63466210    {
    63476211                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63506214    break;
    63516215
     6216  case 212:
     6217
     6218/* Line 1806 of yacc.c  */
     6219#line 898 "parser.yy"
     6220    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     6221    break;
     6222
    63526223  case 213:
    63536224
    63546225/* Line 1806 of yacc.c  */
    6355 #line 901 "parser.yy"
    6356     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    6357     break;
    6358 
    6359   case 214:
    6360 
    6361 /* Line 1806 of yacc.c  */
    6362 #line 903 "parser.yy"
     6226#line 900 "parser.yy"
    63636227    {
    63646228                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63676231    break;
    63686232
     6233  case 215:
     6234
     6235/* Line 1806 of yacc.c  */
     6236#line 909 "parser.yy"
     6237    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
     6238    break;
     6239
    63696240  case 216:
    63706241
    63716242/* Line 1806 of yacc.c  */
    6372 #line 912 "parser.yy"
    6373     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
     6243#line 911 "parser.yy"
     6244    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    63746245    break;
    63756246
     
    63776248
    63786249/* Line 1806 of yacc.c  */
    6379 #line 914 "parser.yy"
    6380     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
     6250#line 913 "parser.yy"
     6251    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    63816252    break;
    63826253
     
    63846255
    63856256/* Line 1806 of yacc.c  */
    6386 #line 916 "parser.yy"
    6387     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
     6257#line 915 "parser.yy"
     6258    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
    63886259    break;
    63896260
     
    63916262
    63926263/* Line 1806 of yacc.c  */
    6393 #line 918 "parser.yy"
    6394     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
     6264#line 917 "parser.yy"
     6265    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); }
    63956266    break;
    63966267
     
    63986269
    63996270/* Line 1806 of yacc.c  */
    6400 #line 920 "parser.yy"
    6401     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); }
     6271#line 922 "parser.yy"
     6272    { (yyval.flag) = false; }
    64026273    break;
    64036274
     
    64056276
    64066277/* Line 1806 of yacc.c  */
    6407 #line 925 "parser.yy"
    6408     { (yyval.flag) = false; }
     6278#line 924 "parser.yy"
     6279    { (yyval.flag) = true; }
    64096280    break;
    64106281
     
    64126283
    64136284/* Line 1806 of yacc.c  */
    6414 #line 927 "parser.yy"
    6415     { (yyval.flag) = true; }
    6416     break;
    6417 
    6418   case 223:
    6419 
    6420 /* Line 1806 of yacc.c  */
    6421 #line 932 "parser.yy"
     6285#line 929 "parser.yy"
    64226286    { (yyval.en) = 0; }
    64236287    break;
    64246288
     6289  case 225:
     6290
     6291/* Line 1806 of yacc.c  */
     6292#line 936 "parser.yy"
     6293    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     6294    break;
     6295
    64256296  case 226:
    64266297
    64276298/* Line 1806 of yacc.c  */
    6428 #line 939 "parser.yy"
    6429     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     6299#line 941 "parser.yy"
     6300    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    64306301    break;
    64316302
     
    64336304
    64346305/* Line 1806 of yacc.c  */
    6435 #line 944 "parser.yy"
    6436     { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
     6306#line 943 "parser.yy"
     6307    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    64376308    break;
    64386309
     
    64406311
    64416312/* Line 1806 of yacc.c  */
    6442 #line 946 "parser.yy"
    6443     { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
     6313#line 948 "parser.yy"
     6314    { (yyval.constant) = 0; }
    64446315    break;
    64456316
     
    64476318
    64486319/* Line 1806 of yacc.c  */
    6449 #line 951 "parser.yy"
    6450     { (yyval.constant) = 0; }
     6320#line 950 "parser.yy"
     6321    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    64516322    break;
    64526323
     
    64546325
    64556326/* Line 1806 of yacc.c  */
    6456 #line 953 "parser.yy"
    6457     { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
     6327#line 952 "parser.yy"
     6328    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    64586329    break;
    64596330
     
    64616332
    64626333/* Line 1806 of yacc.c  */
    6463 #line 955 "parser.yy"
    6464     { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
     6334#line 957 "parser.yy"
     6335    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    64656336    break;
    64666337
     
    64686339
    64696340/* Line 1806 of yacc.c  */
    6470 #line 960 "parser.yy"
    6471     { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
     6341#line 959 "parser.yy"
     6342    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    64726343    break;
    64736344
     
    64756346
    64766347/* Line 1806 of yacc.c  */
    6477 #line 962 "parser.yy"
    6478     { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    6479     break;
    6480 
    6481   case 234:
    6482 
    6483 /* Line 1806 of yacc.c  */
    6484 #line 969 "parser.yy"
     6348#line 966 "parser.yy"
    64856349    { (yyval.decl) = 0; }
    64866350    break;
    64876351
     6352  case 236:
     6353
     6354/* Line 1806 of yacc.c  */
     6355#line 973 "parser.yy"
     6356    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
     6357    break;
     6358
    64886359  case 237:
    64896360
    64906361/* Line 1806 of yacc.c  */
    6491 #line 976 "parser.yy"
     6362#line 978 "parser.yy"
     6363    { (yyval.decl) = 0; }
     6364    break;
     6365
     6366  case 240:
     6367
     6368/* Line 1806 of yacc.c  */
     6369#line 985 "parser.yy"
    64926370    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    64936371    break;
    64946372
    6495   case 238:
    6496 
    6497 /* Line 1806 of yacc.c  */
    6498 #line 981 "parser.yy"
    6499     { (yyval.decl) = 0; }
    6500     break;
    6501 
    6502   case 241:
    6503 
    6504 /* Line 1806 of yacc.c  */
    6505 #line 988 "parser.yy"
    6506     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
     6373  case 245:
     6374
     6375/* Line 1806 of yacc.c  */
     6376#line 999 "parser.yy"
     6377    {}
    65076378    break;
    65086379
     
    65106381
    65116382/* Line 1806 of yacc.c  */
    6512 #line 1002 "parser.yy"
     6383#line 1000 "parser.yy"
    65136384    {}
    65146385    break;
    65156386
    6516   case 247:
    6517 
    6518 /* Line 1806 of yacc.c  */
    6519 #line 1003 "parser.yy"
    6520     {}
    6521     break;
    6522 
    6523   case 255:
    6524 
    6525 /* Line 1806 of yacc.c  */
    6526 #line 1032 "parser.yy"
     6387  case 254:
     6388
     6389/* Line 1806 of yacc.c  */
     6390#line 1029 "parser.yy"
    65276391    {
    65286392                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65316395    break;
    65326396
    6533   case 256:
    6534 
    6535 /* Line 1806 of yacc.c  */
    6536 #line 1039 "parser.yy"
     6397  case 255:
     6398
     6399/* Line 1806 of yacc.c  */
     6400#line 1036 "parser.yy"
    65376401    {
    65386402                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65416405    break;
    65426406
    6543   case 257:
    6544 
    6545 /* Line 1806 of yacc.c  */
    6546 #line 1044 "parser.yy"
     6407  case 256:
     6408
     6409/* Line 1806 of yacc.c  */
     6410#line 1041 "parser.yy"
    65476411    {
    65486412                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    65516415    break;
    65526416
    6553   case 258:
    6554 
    6555 /* Line 1806 of yacc.c  */
    6556 #line 1054 "parser.yy"
     6417  case 257:
     6418
     6419/* Line 1806 of yacc.c  */
     6420#line 1051 "parser.yy"
    65576421    {
    65586422                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    65616425    break;
    65626426
    6563   case 259:
    6564 
    6565 /* Line 1806 of yacc.c  */
    6566 #line 1059 "parser.yy"
     6427  case 258:
     6428
     6429/* Line 1806 of yacc.c  */
     6430#line 1056 "parser.yy"
    65676431    {
    65686432                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    65716435    break;
    65726436
    6573   case 260:
    6574 
    6575 /* Line 1806 of yacc.c  */
    6576 #line 1064 "parser.yy"
     6437  case 259:
     6438
     6439/* Line 1806 of yacc.c  */
     6440#line 1061 "parser.yy"
    65776441    {
    65786442                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    65816445    break;
    65826446
    6583   case 261:
    6584 
    6585 /* Line 1806 of yacc.c  */
    6586 #line 1072 "parser.yy"
     6447  case 260:
     6448
     6449/* Line 1806 of yacc.c  */
     6450#line 1069 "parser.yy"
    65876451    {
    65886452                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65916455    break;
    65926456
    6593   case 262:
    6594 
    6595 /* Line 1806 of yacc.c  */
    6596 #line 1077 "parser.yy"
     6457  case 261:
     6458
     6459/* Line 1806 of yacc.c  */
     6460#line 1074 "parser.yy"
    65976461    {
    65986462                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66016465    break;
    66026466
    6603   case 263:
    6604 
    6605 /* Line 1806 of yacc.c  */
    6606 #line 1082 "parser.yy"
     6467  case 262:
     6468
     6469/* Line 1806 of yacc.c  */
     6470#line 1079 "parser.yy"
    66076471    {
    66086472                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66116475    break;
    66126476
    6613   case 264:
    6614 
    6615 /* Line 1806 of yacc.c  */
    6616 #line 1087 "parser.yy"
     6477  case 263:
     6478
     6479/* Line 1806 of yacc.c  */
     6480#line 1084 "parser.yy"
    66176481    {
    66186482                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66216485    break;
    66226486
    6623   case 265:
    6624 
    6625 /* Line 1806 of yacc.c  */
    6626 #line 1092 "parser.yy"
     6487  case 264:
     6488
     6489/* Line 1806 of yacc.c  */
     6490#line 1089 "parser.yy"
    66276491    {
    66286492                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    66316495    break;
    66326496
    6633   case 266:
    6634 
    6635 /* Line 1806 of yacc.c  */
    6636 #line 1100 "parser.yy"
     6497  case 265:
     6498
     6499/* Line 1806 of yacc.c  */
     6500#line 1097 "parser.yy"
    66376501    {
    66386502                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    66406504    break;
    66416505
    6642   case 267:
    6643 
    6644 /* Line 1806 of yacc.c  */
    6645 #line 1123 "parser.yy"
     6506  case 266:
     6507
     6508/* Line 1806 of yacc.c  */
     6509#line 1120 "parser.yy"
    66466510    {
    66476511                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    66496513    break;
    66506514
    6651   case 268:
    6652 
    6653 /* Line 1806 of yacc.c  */
    6654 #line 1127 "parser.yy"
     6515  case 267:
     6516
     6517/* Line 1806 of yacc.c  */
     6518#line 1124 "parser.yy"
    66556519    {
    66566520                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    66586522    break;
    66596523
     6524  case 268:
     6525
     6526/* Line 1806 of yacc.c  */
     6527#line 1131 "parser.yy"
     6528    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     6529    break;
     6530
    66606531  case 269:
    66616532
    66626533/* Line 1806 of yacc.c  */
    6663 #line 1134 "parser.yy"
    6664     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     6534#line 1135 "parser.yy"
     6535    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    66656536    break;
    66666537
     
    66686539
    66696540/* Line 1806 of yacc.c  */
    6670 #line 1138 "parser.yy"
    6671     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    6672     break;
    6673 
    6674   case 271:
    6675 
    6676 /* Line 1806 of yacc.c  */
    6677 #line 1143 "parser.yy"
     6541#line 1140 "parser.yy"
    66786542    {
    66796543                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66826546    break;
    66836547
    6684   case 272:
    6685 
    6686 /* Line 1806 of yacc.c  */
    6687 #line 1148 "parser.yy"
     6548  case 271:
     6549
     6550/* Line 1806 of yacc.c  */
     6551#line 1145 "parser.yy"
    66886552    {
    66896553                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66926556    break;
    66936557
    6694   case 273:
    6695 
    6696 /* Line 1806 of yacc.c  */
    6697 #line 1153 "parser.yy"
     6558  case 272:
     6559
     6560/* Line 1806 of yacc.c  */
     6561#line 1150 "parser.yy"
    66986562    {
    66996563                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    67026566    break;
    67036567
    6704   case 274:
    6705 
    6706 /* Line 1806 of yacc.c  */
    6707 #line 1164 "parser.yy"
     6568  case 273:
     6569
     6570/* Line 1806 of yacc.c  */
     6571#line 1161 "parser.yy"
    67086572    {
    67096573                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    67126576    break;
    67136577
    6714   case 275:
    6715 
    6716 /* Line 1806 of yacc.c  */
    6717 #line 1169 "parser.yy"
     6578  case 274:
     6579
     6580/* Line 1806 of yacc.c  */
     6581#line 1166 "parser.yy"
    67186582    {
    67196583                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    67226586    break;
    67236587
    6724   case 276:
    6725 
    6726 /* Line 1806 of yacc.c  */
    6727 #line 1174 "parser.yy"
     6588  case 275:
     6589
     6590/* Line 1806 of yacc.c  */
     6591#line 1171 "parser.yy"
    67286592    {
    67296593                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    67326596    break;
    67336597
    6734   case 277:
    6735 
    6736 /* Line 1806 of yacc.c  */
    6737 #line 1179 "parser.yy"
     6598  case 276:
     6599
     6600/* Line 1806 of yacc.c  */
     6601#line 1176 "parser.yy"
    67386602    {
    67396603                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    67426606    break;
    67436607
    6744   case 278:
    6745 
    6746 /* Line 1806 of yacc.c  */
    6747 #line 1184 "parser.yy"
     6608  case 277:
     6609
     6610/* Line 1806 of yacc.c  */
     6611#line 1181 "parser.yy"
    67486612    {
    67496613                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    67526616    break;
    67536617
    6754   case 279:
    6755 
    6756 /* Line 1806 of yacc.c  */
    6757 #line 1193 "parser.yy"
     6618  case 278:
     6619
     6620/* Line 1806 of yacc.c  */
     6621#line 1190 "parser.yy"
    67586622    {
    67596623                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    67626626    break;
    67636627
    6764   case 280:
    6765 
    6766 /* Line 1806 of yacc.c  */
    6767 #line 1198 "parser.yy"
     6628  case 279:
     6629
     6630/* Line 1806 of yacc.c  */
     6631#line 1195 "parser.yy"
    67686632    {
    67696633                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    67726636    break;
    67736637
    6774   case 285:
    6775 
    6776 /* Line 1806 of yacc.c  */
    6777 #line 1215 "parser.yy"
     6638  case 284:
     6639
     6640/* Line 1806 of yacc.c  */
     6641#line 1212 "parser.yy"
    67786642    {
    67796643                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    67826646    break;
    67836647
    6784   case 286:
    6785 
    6786 /* Line 1806 of yacc.c  */
    6787 #line 1220 "parser.yy"
     6648  case 285:
     6649
     6650/* Line 1806 of yacc.c  */
     6651#line 1217 "parser.yy"
    67886652    {
    67896653                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    67926656    break;
    67936657
    6794   case 295:
    6795 
    6796 /* Line 1806 of yacc.c  */
    6797 #line 1242 "parser.yy"
     6658  case 294:
     6659
     6660/* Line 1806 of yacc.c  */
     6661#line 1239 "parser.yy"
    67986662    { (yyval.decl) = 0; }
    67996663    break;
    68006664
    6801   case 298:
    6802 
    6803 /* Line 1806 of yacc.c  */
    6804 #line 1254 "parser.yy"
     6665  case 297:
     6666
     6667/* Line 1806 of yacc.c  */
     6668#line 1251 "parser.yy"
    68056669    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68066670    break;
    68076671
     6672  case 300:
     6673
     6674/* Line 1806 of yacc.c  */
     6675#line 1262 "parser.yy"
     6676    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6677    break;
     6678
    68086679  case 301:
    68096680
    68106681/* Line 1806 of yacc.c  */
    6811 #line 1265 "parser.yy"
    6812     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6682#line 1264 "parser.yy"
     6683    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    68136684    break;
    68146685
     
    68166687
    68176688/* Line 1806 of yacc.c  */
    6818 #line 1267 "parser.yy"
    6819     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
     6689#line 1266 "parser.yy"
     6690    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    68206691    break;
    68216692
     
    68236694
    68246695/* Line 1806 of yacc.c  */
    6825 #line 1269 "parser.yy"
    6826     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
     6696#line 1268 "parser.yy"
     6697    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    68276698    break;
    68286699
     
    68306701
    68316702/* Line 1806 of yacc.c  */
    6832 #line 1271 "parser.yy"
    6833     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
     6703#line 1270 "parser.yy"
     6704    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    68346705    break;
    68356706
     
    68376708
    68386709/* Line 1806 of yacc.c  */
    6839 #line 1273 "parser.yy"
    6840     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    6841     break;
    6842 
    6843   case 306:
    6844 
    6845 /* Line 1806 of yacc.c  */
    6846 #line 1275 "parser.yy"
     6710#line 1272 "parser.yy"
    68476711    {
    68486712                        typedefTable.enterScope();
     
    68506714    break;
    68516715
    6852   case 307:
    6853 
    6854 /* Line 1806 of yacc.c  */
    6855 #line 1279 "parser.yy"
     6716  case 306:
     6717
     6718/* Line 1806 of yacc.c  */
     6719#line 1276 "parser.yy"
    68566720    {
    68576721                        typedefTable.leaveScope();
     
    68606724    break;
    68616725
     6726  case 308:
     6727
     6728/* Line 1806 of yacc.c  */
     6729#line 1285 "parser.yy"
     6730    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6731    break;
     6732
    68626733  case 309:
    68636734
    68646735/* Line 1806 of yacc.c  */
    6865 #line 1288 "parser.yy"
     6736#line 1287 "parser.yy"
     6737    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6738    break;
     6739
     6740  case 311:
     6741
     6742/* Line 1806 of yacc.c  */
     6743#line 1298 "parser.yy"
    68666744    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68676745    break;
    68686746
    6869   case 310:
    6870 
    6871 /* Line 1806 of yacc.c  */
    6872 #line 1290 "parser.yy"
     6747  case 313:
     6748
     6749/* Line 1806 of yacc.c  */
     6750#line 1307 "parser.yy"
     6751    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6752    break;
     6753
     6754  case 314:
     6755
     6756/* Line 1806 of yacc.c  */
     6757#line 1309 "parser.yy"
     6758    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6759    break;
     6760
     6761  case 315:
     6762
     6763/* Line 1806 of yacc.c  */
     6764#line 1311 "parser.yy"
     6765    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6766    break;
     6767
     6768  case 316:
     6769
     6770/* Line 1806 of yacc.c  */
     6771#line 1313 "parser.yy"
     6772    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6773    break;
     6774
     6775  case 317:
     6776
     6777/* Line 1806 of yacc.c  */
     6778#line 1315 "parser.yy"
     6779    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6780    break;
     6781
     6782  case 318:
     6783
     6784/* Line 1806 of yacc.c  */
     6785#line 1317 "parser.yy"
     6786    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6787    break;
     6788
     6789  case 319:
     6790
     6791/* Line 1806 of yacc.c  */
     6792#line 1319 "parser.yy"
     6793    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6794    break;
     6795
     6796  case 320:
     6797
     6798/* Line 1806 of yacc.c  */
     6799#line 1321 "parser.yy"
     6800    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6801    break;
     6802
     6803  case 321:
     6804
     6805/* Line 1806 of yacc.c  */
     6806#line 1326 "parser.yy"
     6807    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     6808    break;
     6809
     6810  case 322:
     6811
     6812/* Line 1806 of yacc.c  */
     6813#line 1328 "parser.yy"
     6814    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6815    break;
     6816
     6817  case 323:
     6818
     6819/* Line 1806 of yacc.c  */
     6820#line 1330 "parser.yy"
     6821    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6822    break;
     6823
     6824  case 324:
     6825
     6826/* Line 1806 of yacc.c  */
     6827#line 1332 "parser.yy"
     6828    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6829    break;
     6830
     6831  case 325:
     6832
     6833/* Line 1806 of yacc.c  */
     6834#line 1334 "parser.yy"
     6835    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6836    break;
     6837
     6838  case 326:
     6839
     6840/* Line 1806 of yacc.c  */
     6841#line 1336 "parser.yy"
     6842    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     6843    break;
     6844
     6845  case 327:
     6846
     6847/* Line 1806 of yacc.c  */
     6848#line 1338 "parser.yy"
     6849    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     6850    break;
     6851
     6852  case 328:
     6853
     6854/* Line 1806 of yacc.c  */
     6855#line 1340 "parser.yy"
     6856    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     6857    break;
     6858
     6859  case 329:
     6860
     6861/* Line 1806 of yacc.c  */
     6862#line 1342 "parser.yy"
     6863    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     6864    break;
     6865
     6866  case 330:
     6867
     6868/* Line 1806 of yacc.c  */
     6869#line 1344 "parser.yy"
     6870    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     6871    break;
     6872
     6873  case 331:
     6874
     6875/* Line 1806 of yacc.c  */
     6876#line 1346 "parser.yy"
     6877    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     6878    break;
     6879
     6880  case 332:
     6881
     6882/* Line 1806 of yacc.c  */
     6883#line 1348 "parser.yy"
     6884    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     6885    break;
     6886
     6887  case 333:
     6888
     6889/* Line 1806 of yacc.c  */
     6890#line 1350 "parser.yy"
     6891    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
     6892    break;
     6893
     6894  case 335:
     6895
     6896/* Line 1806 of yacc.c  */
     6897#line 1357 "parser.yy"
     6898    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6899    break;
     6900
     6901  case 336:
     6902
     6903/* Line 1806 of yacc.c  */
     6904#line 1359 "parser.yy"
     6905    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6906    break;
     6907
     6908  case 337:
     6909
     6910/* Line 1806 of yacc.c  */
     6911#line 1361 "parser.yy"
    68736912    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68746913    break;
    68756914
    6876   case 312:
    6877 
    6878 /* Line 1806 of yacc.c  */
    6879 #line 1301 "parser.yy"
     6915  case 338:
     6916
     6917/* Line 1806 of yacc.c  */
     6918#line 1363 "parser.yy"
     6919    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     6920    break;
     6921
     6922  case 340:
     6923
     6924/* Line 1806 of yacc.c  */
     6925#line 1369 "parser.yy"
     6926    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6927    break;
     6928
     6929  case 342:
     6930
     6931/* Line 1806 of yacc.c  */
     6932#line 1376 "parser.yy"
     6933    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6934    break;
     6935
     6936  case 343:
     6937
     6938/* Line 1806 of yacc.c  */
     6939#line 1378 "parser.yy"
    68806940    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68816941    break;
    68826942
    6883   case 314:
    6884 
    6885 /* Line 1806 of yacc.c  */
    6886 #line 1310 "parser.yy"
    6887     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    6888     break;
    6889 
    6890   case 315:
    6891 
    6892 /* Line 1806 of yacc.c  */
    6893 #line 1312 "parser.yy"
    6894     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    6895     break;
    6896 
    6897   case 316:
    6898 
    6899 /* Line 1806 of yacc.c  */
    6900 #line 1314 "parser.yy"
    6901     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    6902     break;
    6903 
    6904   case 317:
    6905 
    6906 /* Line 1806 of yacc.c  */
    6907 #line 1316 "parser.yy"
    6908     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    6909     break;
    6910 
    6911   case 318:
    6912 
    6913 /* Line 1806 of yacc.c  */
    6914 #line 1318 "parser.yy"
    6915     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    6916     break;
    6917 
    6918   case 319:
    6919 
    6920 /* Line 1806 of yacc.c  */
    6921 #line 1320 "parser.yy"
    6922     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    6923     break;
    6924 
    6925   case 320:
    6926 
    6927 /* Line 1806 of yacc.c  */
    6928 #line 1322 "parser.yy"
    6929     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    6930     break;
    6931 
    6932   case 321:
    6933 
    6934 /* Line 1806 of yacc.c  */
    6935 #line 1324 "parser.yy"
    6936     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    6937     break;
    6938 
    6939   case 322:
    6940 
    6941 /* Line 1806 of yacc.c  */
    6942 #line 1329 "parser.yy"
    6943     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    6944     break;
    6945 
    6946   case 323:
    6947 
    6948 /* Line 1806 of yacc.c  */
    6949 #line 1331 "parser.yy"
    6950     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    6951     break;
    6952 
    6953   case 324:
    6954 
    6955 /* Line 1806 of yacc.c  */
    6956 #line 1333 "parser.yy"
    6957     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    6958     break;
    6959 
    6960   case 325:
    6961 
    6962 /* Line 1806 of yacc.c  */
    6963 #line 1335 "parser.yy"
    6964     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    6965     break;
    6966 
    6967   case 326:
    6968 
    6969 /* Line 1806 of yacc.c  */
    6970 #line 1337 "parser.yy"
    6971     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    6972     break;
    6973 
    6974   case 327:
    6975 
    6976 /* Line 1806 of yacc.c  */
    6977 #line 1339 "parser.yy"
    6978     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    6979     break;
    6980 
    6981   case 328:
    6982 
    6983 /* Line 1806 of yacc.c  */
    6984 #line 1341 "parser.yy"
    6985     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    6986     break;
    6987 
    6988   case 329:
    6989 
    6990 /* Line 1806 of yacc.c  */
    6991 #line 1343 "parser.yy"
    6992     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    6993     break;
    6994 
    6995   case 330:
    6996 
    6997 /* Line 1806 of yacc.c  */
    6998 #line 1345 "parser.yy"
    6999     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    7000     break;
    7001 
    7002   case 331:
    7003 
    7004 /* Line 1806 of yacc.c  */
    7005 #line 1347 "parser.yy"
    7006     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    7007     break;
    7008 
    7009   case 332:
    7010 
    7011 /* Line 1806 of yacc.c  */
    7012 #line 1349 "parser.yy"
    7013     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    7014     break;
    7015 
    7016   case 333:
    7017 
    7018 /* Line 1806 of yacc.c  */
    7019 #line 1351 "parser.yy"
    7020     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    7021     break;
    7022 
    7023   case 334:
    7024 
    7025 /* Line 1806 of yacc.c  */
    7026 #line 1353 "parser.yy"
    7027     { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    7028     break;
    7029 
    7030   case 336:
    7031 
    7032 /* Line 1806 of yacc.c  */
    7033 #line 1360 "parser.yy"
     6943  case 344:
     6944
     6945/* Line 1806 of yacc.c  */
     6946#line 1380 "parser.yy"
     6947    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     6948    break;
     6949
     6950  case 345:
     6951
     6952/* Line 1806 of yacc.c  */
     6953#line 1385 "parser.yy"
     6954    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     6955    break;
     6956
     6957  case 346:
     6958
     6959/* Line 1806 of yacc.c  */
     6960#line 1387 "parser.yy"
     6961    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     6962    break;
     6963
     6964  case 347:
     6965
     6966/* Line 1806 of yacc.c  */
     6967#line 1389 "parser.yy"
     6968    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     6969    break;
     6970
     6971  case 348:
     6972
     6973/* Line 1806 of yacc.c  */
     6974#line 1391 "parser.yy"
     6975    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     6976    break;
     6977
     6978  case 350:
     6979
     6980/* Line 1806 of yacc.c  */
     6981#line 1397 "parser.yy"
    70346982    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70356983    break;
    70366984
    7037   case 337:
    7038 
    7039 /* Line 1806 of yacc.c  */
    7040 #line 1362 "parser.yy"
     6985  case 351:
     6986
     6987/* Line 1806 of yacc.c  */
     6988#line 1399 "parser.yy"
    70416989    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70426990    break;
    70436991
    7044   case 338:
    7045 
    7046 /* Line 1806 of yacc.c  */
    7047 #line 1364 "parser.yy"
     6992  case 352:
     6993
     6994/* Line 1806 of yacc.c  */
     6995#line 1401 "parser.yy"
    70486996    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    70496997    break;
    70506998
    7051   case 339:
    7052 
    7053 /* Line 1806 of yacc.c  */
    7054 #line 1366 "parser.yy"
    7055     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    7056     break;
    7057 
    7058   case 341:
    7059 
    7060 /* Line 1806 of yacc.c  */
    7061 #line 1372 "parser.yy"
    7062     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7063     break;
    7064 
    7065   case 343:
    7066 
    7067 /* Line 1806 of yacc.c  */
    7068 #line 1379 "parser.yy"
     6999  case 354:
     7000
     7001/* Line 1806 of yacc.c  */
     7002#line 1407 "parser.yy"
    70697003    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70707004    break;
    70717005
    7072   case 344:
    7073 
    7074 /* Line 1806 of yacc.c  */
    7075 #line 1381 "parser.yy"
     7006  case 355:
     7007
     7008/* Line 1806 of yacc.c  */
     7009#line 1409 "parser.yy"
    70767010    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70777011    break;
    70787012
    7079   case 345:
    7080 
    7081 /* Line 1806 of yacc.c  */
    7082 #line 1383 "parser.yy"
    7083     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    7084     break;
    7085 
    7086   case 346:
    7087 
    7088 /* Line 1806 of yacc.c  */
    7089 #line 1388 "parser.yy"
    7090     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    7091     break;
    7092 
    7093   case 347:
    7094 
    7095 /* Line 1806 of yacc.c  */
    7096 #line 1390 "parser.yy"
    7097     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    7098     break;
    7099 
    7100   case 348:
    7101 
    7102 /* Line 1806 of yacc.c  */
    7103 #line 1392 "parser.yy"
    7104     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    7105     break;
    7106 
    7107   case 349:
    7108 
    7109 /* Line 1806 of yacc.c  */
    7110 #line 1394 "parser.yy"
    7111     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    7112     break;
    7113 
    7114   case 351:
    7115 
    7116 /* Line 1806 of yacc.c  */
    7117 #line 1400 "parser.yy"
     7013  case 357:
     7014
     7015/* Line 1806 of yacc.c  */
     7016#line 1415 "parser.yy"
    71187017    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    71197018    break;
    71207019
    7121   case 352:
    7122 
    7123 /* Line 1806 of yacc.c  */
    7124 #line 1402 "parser.yy"
     7020  case 358:
     7021
     7022/* Line 1806 of yacc.c  */
     7023#line 1417 "parser.yy"
    71257024    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    71267025    break;
    71277026
    7128   case 353:
    7129 
    7130 /* Line 1806 of yacc.c  */
    7131 #line 1404 "parser.yy"
     7027  case 359:
     7028
     7029/* Line 1806 of yacc.c  */
     7030#line 1419 "parser.yy"
    71327031    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    71337032    break;
    71347033
    7135   case 355:
    7136 
    7137 /* Line 1806 of yacc.c  */
    7138 #line 1410 "parser.yy"
    7139     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7140     break;
    7141 
    7142   case 356:
    7143 
    7144 /* Line 1806 of yacc.c  */
    7145 #line 1412 "parser.yy"
     7034  case 360:
     7035
     7036/* Line 1806 of yacc.c  */
     7037#line 1424 "parser.yy"
     7038    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     7039    break;
     7040
     7041  case 361:
     7042
     7043/* Line 1806 of yacc.c  */
     7044#line 1426 "parser.yy"
     7045    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7046    break;
     7047
     7048  case 362:
     7049
     7050/* Line 1806 of yacc.c  */
     7051#line 1428 "parser.yy"
    71467052    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    71477053    break;
    71487054
    7149   case 358:
    7150 
    7151 /* Line 1806 of yacc.c  */
    7152 #line 1418 "parser.yy"
    7153     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7154     break;
    7155 
    7156   case 359:
    7157 
    7158 /* Line 1806 of yacc.c  */
    7159 #line 1420 "parser.yy"
    7160     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7161     break;
    7162 
    7163   case 360:
    7164 
    7165 /* Line 1806 of yacc.c  */
    7166 #line 1422 "parser.yy"
    7167     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7168     break;
    7169 
    7170   case 361:
    7171 
    7172 /* Line 1806 of yacc.c  */
    7173 #line 1427 "parser.yy"
    7174     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    7175     break;
    7176 
    7177   case 362:
    7178 
    7179 /* Line 1806 of yacc.c  */
    7180 #line 1429 "parser.yy"
    7181     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7182     break;
    7183 
    7184   case 363:
    7185 
    7186 /* Line 1806 of yacc.c  */
    7187 #line 1431 "parser.yy"
    7188     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7055  case 365:
     7056
     7057/* Line 1806 of yacc.c  */
     7058#line 1438 "parser.yy"
     7059    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    71897060    break;
    71907061
     
    71927063
    71937064/* Line 1806 of yacc.c  */
    7194 #line 1441 "parser.yy"
    7195     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    7196     break;
    7197 
    7198   case 367:
    7199 
    7200 /* Line 1806 of yacc.c  */
    7201 #line 1443 "parser.yy"
     7065#line 1440 "parser.yy"
    72027066    {
    72037067                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    72067070    break;
    72077071
     7072  case 367:
     7073
     7074/* Line 1806 of yacc.c  */
     7075#line 1445 "parser.yy"
     7076    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7077    break;
     7078
    72087079  case 368:
    72097080
    72107081/* Line 1806 of yacc.c  */
    7211 #line 1448 "parser.yy"
    7212     { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7082#line 1447 "parser.yy"
     7083    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }
    72137084    break;
    72147085
     
    72167087
    72177088/* Line 1806 of yacc.c  */
    7218 #line 1450 "parser.yy"
    7219     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }
     7089#line 1449 "parser.yy"
     7090    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    72207091    break;
    72217092
     
    72237094
    72247095/* Line 1806 of yacc.c  */
    7225 #line 1452 "parser.yy"
    7226     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
     7096#line 1451 "parser.yy"
     7097    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    72277098    break;
    72287099
     
    72307101
    72317102/* Line 1806 of yacc.c  */
    7232 #line 1454 "parser.yy"
    7233     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7103#line 1456 "parser.yy"
     7104    { (yyval.aggKey) = DeclarationNode::Struct; }
    72347105    break;
    72357106
     
    72377108
    72387109/* Line 1806 of yacc.c  */
    7239 #line 1459 "parser.yy"
    7240     { (yyval.aggKey) = DeclarationNode::Struct; }
     7110#line 1458 "parser.yy"
     7111    { (yyval.aggKey) = DeclarationNode::Union; }
    72417112    break;
    72427113
     
    72447115
    72457116/* Line 1806 of yacc.c  */
    7246 #line 1461 "parser.yy"
    7247     { (yyval.aggKey) = DeclarationNode::Union; }
     7117#line 1463 "parser.yy"
     7118    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    72487119    break;
    72497120
     
    72517122
    72527123/* Line 1806 of yacc.c  */
    7253 #line 1466 "parser.yy"
    7254     { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    7255     break;
    7256 
    7257   case 375:
    7258 
    7259 /* Line 1806 of yacc.c  */
    7260 #line 1468 "parser.yy"
     7124#line 1465 "parser.yy"
    72617125    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    72627126    break;
    72637127
    7264   case 377:
     7128  case 376:
     7129
     7130/* Line 1806 of yacc.c  */
     7131#line 1471 "parser.yy"
     7132    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7133    break;
     7134
     7135  case 378:
    72657136
    72667137/* Line 1806 of yacc.c  */
    72677138#line 1474 "parser.yy"
    7268     { (yyval.decl) = (yyvsp[(2) - (3)].decl)/*->set_extension( true )*/; }
    7269     break;
    7270 
    7271   case 379:
    7272 
    7273 /* Line 1806 of yacc.c  */
    7274 #line 1477 "parser.yy"
    7275     { (yyval.decl) = (yyvsp[(2) - (3)].decl)/*->set_extension( true )*/; }
     7139    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7140    break;
     7141
     7142  case 380:
     7143
     7144/* Line 1806 of yacc.c  */
     7145#line 1480 "parser.yy"
     7146    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    72767147    break;
    72777148
     
    72797150
    72807151/* Line 1806 of yacc.c  */
    7281 #line 1483 "parser.yy"
    7282     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     7152#line 1482 "parser.yy"
     7153    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    72837154    break;
    72847155
     
    72867157
    72877158/* Line 1806 of yacc.c  */
    7288 #line 1485 "parser.yy"
    7289     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     7159#line 1484 "parser.yy"
     7160    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    72907161    break;
    72917162
     
    72937164
    72947165/* Line 1806 of yacc.c  */
    7295 #line 1487 "parser.yy"
    7296     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     7166#line 1489 "parser.yy"
     7167    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72977168    break;
    72987169
     
    73007171
    73017172/* Line 1806 of yacc.c  */
    7302 #line 1492 "parser.yy"
    7303     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7173#line 1491 "parser.yy"
     7174    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    73047175    break;
    73057176
     
    73077178
    73087179/* Line 1806 of yacc.c  */
    7309 #line 1494 "parser.yy"
    7310     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     7180#line 1496 "parser.yy"
     7181    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    73117182    break;
    73127183
     
    73147185
    73157186/* Line 1806 of yacc.c  */
    7316 #line 1499 "parser.yy"
    7317     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7187#line 1498 "parser.yy"
     7188    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    73187189    break;
    73197190
     
    73227193/* Line 1806 of yacc.c  */
    73237194#line 1501 "parser.yy"
    7324     { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
     7195    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    73257196    break;
    73267197
     
    73327203    break;
    73337204
    7334   case 389:
    7335 
    7336 /* Line 1806 of yacc.c  */
    7337 #line 1507 "parser.yy"
    7338     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7205  case 390:
     7206
     7207/* Line 1806 of yacc.c  */
     7208#line 1510 "parser.yy"
     7209    { (yyval.en) = 0; }
    73397210    break;
    73407211
     
    73427213
    73437214/* Line 1806 of yacc.c  */
    7344 #line 1513 "parser.yy"
    7345     { (yyval.en) = 0; }
     7215#line 1512 "parser.yy"
     7216    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    73467217    break;
    73477218
     
    73497220
    73507221/* Line 1806 of yacc.c  */
    7351 #line 1515 "parser.yy"
    7352     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    7353     break;
    7354 
    7355   case 393:
    7356 
    7357 /* Line 1806 of yacc.c  */
    7358 #line 1520 "parser.yy"
     7222#line 1517 "parser.yy"
    73597223    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    73607224    break;
    73617225
     7226  case 394:
     7227
     7228/* Line 1806 of yacc.c  */
     7229#line 1526 "parser.yy"
     7230    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
     7231    break;
     7232
    73627233  case 395:
    73637234
    73647235/* Line 1806 of yacc.c  */
    7365 #line 1529 "parser.yy"
    7366     { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    7367     break;
    7368 
    7369   case 396:
    7370 
    7371 /* Line 1806 of yacc.c  */
    7372 #line 1531 "parser.yy"
     7236#line 1528 "parser.yy"
    73737237    {
    73747238                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    73777241    break;
    73787242
     7243  case 396:
     7244
     7245/* Line 1806 of yacc.c  */
     7246#line 1533 "parser.yy"
     7247    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7248    break;
     7249
    73797250  case 397:
    73807251
    73817252/* Line 1806 of yacc.c  */
    7382 #line 1536 "parser.yy"
    7383     { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7253#line 1535 "parser.yy"
     7254    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    73847255    break;
    73857256
     
    73877258
    73887259/* Line 1806 of yacc.c  */
    7389 #line 1538 "parser.yy"
    7390     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
     7260#line 1540 "parser.yy"
     7261    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    73917262    break;
    73927263
     
    73947265
    73957266/* Line 1806 of yacc.c  */
    7396 #line 1543 "parser.yy"
    7397     { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
     7267#line 1542 "parser.yy"
     7268    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    73987269    break;
    73997270
     
    74017272
    74027273/* Line 1806 of yacc.c  */
    7403 #line 1545 "parser.yy"
    7404     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
     7274#line 1547 "parser.yy"
     7275    { (yyval.en) = 0; }
    74057276    break;
    74067277
     
    74087279
    74097280/* Line 1806 of yacc.c  */
    7410 #line 1550 "parser.yy"
    7411     { (yyval.en) = 0; }
     7281#line 1549 "parser.yy"
     7282    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    74127283    break;
    74137284
     
    74157286
    74167287/* Line 1806 of yacc.c  */
    7417 #line 1552 "parser.yy"
    7418     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7419     break;
    7420 
    7421   case 403:
    7422 
    7423 /* Line 1806 of yacc.c  */
    7424 #line 1559 "parser.yy"
     7288#line 1556 "parser.yy"
    74257289    { (yyval.decl) = 0; }
    74267290    break;
    74277291
     7292  case 406:
     7293
     7294/* Line 1806 of yacc.c  */
     7295#line 1564 "parser.yy"
     7296    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7297    break;
     7298
    74287299  case 407:
    74297300
    74307301/* Line 1806 of yacc.c  */
    7431 #line 1567 "parser.yy"
     7302#line 1566 "parser.yy"
     7303    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7304    break;
     7305
     7306  case 408:
     7307
     7308/* Line 1806 of yacc.c  */
     7309#line 1568 "parser.yy"
     7310    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7311    break;
     7312
     7313  case 410:
     7314
     7315/* Line 1806 of yacc.c  */
     7316#line 1576 "parser.yy"
    74327317    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    74337318    break;
    74347319
    7435   case 408:
    7436 
    7437 /* Line 1806 of yacc.c  */
    7438 #line 1569 "parser.yy"
     7320  case 411:
     7321
     7322/* Line 1806 of yacc.c  */
     7323#line 1578 "parser.yy"
     7324    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7325    break;
     7326
     7327  case 412:
     7328
     7329/* Line 1806 of yacc.c  */
     7330#line 1580 "parser.yy"
     7331    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7332    break;
     7333
     7334  case 414:
     7335
     7336/* Line 1806 of yacc.c  */
     7337#line 1586 "parser.yy"
     7338    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7339    break;
     7340
     7341  case 415:
     7342
     7343/* Line 1806 of yacc.c  */
     7344#line 1591 "parser.yy"
     7345    { (yyval.decl) = 0; }
     7346    break;
     7347
     7348  case 418:
     7349
     7350/* Line 1806 of yacc.c  */
     7351#line 1598 "parser.yy"
    74397352    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    74407353    break;
    74417354
    7442   case 409:
    7443 
    7444 /* Line 1806 of yacc.c  */
    7445 #line 1571 "parser.yy"
    7446     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7447     break;
    7448 
    7449   case 411:
    7450 
    7451 /* Line 1806 of yacc.c  */
    7452 #line 1579 "parser.yy"
     7355  case 421:
     7356
     7357/* Line 1806 of yacc.c  */
     7358#line 1605 "parser.yy"
    74537359    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    74547360    break;
    74557361
    7456   case 412:
    7457 
    7458 /* Line 1806 of yacc.c  */
    7459 #line 1581 "parser.yy"
     7362  case 422:
     7363
     7364/* Line 1806 of yacc.c  */
     7365#line 1607 "parser.yy"
    74607366    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    74617367    break;
    74627368
    7463   case 413:
    7464 
    7465 /* Line 1806 of yacc.c  */
    7466 #line 1583 "parser.yy"
    7467     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7468     break;
    7469 
    7470   case 415:
    7471 
    7472 /* Line 1806 of yacc.c  */
    7473 #line 1589 "parser.yy"
    7474     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7475     break;
    7476 
    7477   case 416:
    7478 
    7479 /* Line 1806 of yacc.c  */
    7480 #line 1594 "parser.yy"
    7481     { (yyval.decl) = 0; }
    7482     break;
    7483 
    7484   case 419:
    7485 
    7486 /* Line 1806 of yacc.c  */
    7487 #line 1601 "parser.yy"
    7488     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7489     break;
    7490 
    7491   case 422:
    7492 
    7493 /* Line 1806 of yacc.c  */
    7494 #line 1608 "parser.yy"
    7495     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7496     break;
    7497 
    7498   case 423:
    7499 
    7500 /* Line 1806 of yacc.c  */
    7501 #line 1610 "parser.yy"
    7502     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7369  case 424:
     7370
     7371/* Line 1806 of yacc.c  */
     7372#line 1616 "parser.yy"
     7373    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    75037374    break;
    75047375
     
    75137384
    75147385/* Line 1806 of yacc.c  */
    7515 #line 1622 "parser.yy"
    7516     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7517     break;
    7518 
    7519   case 427:
    7520 
    7521 /* Line 1806 of yacc.c  */
    7522 #line 1624 "parser.yy"
     7386#line 1621 "parser.yy"
    75237387    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    75247388    break;
    75257389
    7526   case 432:
    7527 
    7528 /* Line 1806 of yacc.c  */
    7529 #line 1634 "parser.yy"
     7390  case 431:
     7391
     7392/* Line 1806 of yacc.c  */
     7393#line 1631 "parser.yy"
    75307394    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75317395    break;
    75327396
    7533   case 434:
    7534 
    7535 /* Line 1806 of yacc.c  */
    7536 #line 1640 "parser.yy"
     7397  case 433:
     7398
     7399/* Line 1806 of yacc.c  */
     7400#line 1637 "parser.yy"
    75377401    {
    75387402                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    75417405    break;
    75427406
    7543   case 435:
    7544 
    7545 /* Line 1806 of yacc.c  */
    7546 #line 1645 "parser.yy"
     7407  case 434:
     7408
     7409/* Line 1806 of yacc.c  */
     7410#line 1642 "parser.yy"
    75477411    {
    75487412                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    75517415    break;
    75527416
     7417  case 436:
     7418
     7419/* Line 1806 of yacc.c  */
     7420#line 1651 "parser.yy"
     7421    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7422    break;
     7423
    75537424  case 437:
    75547425
    75557426/* Line 1806 of yacc.c  */
    7556 #line 1654 "parser.yy"
     7427#line 1660 "parser.yy"
     7428    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
     7429    break;
     7430
     7431  case 438:
     7432
     7433/* Line 1806 of yacc.c  */
     7434#line 1662 "parser.yy"
     7435    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7436    break;
     7437
     7438  case 450:
     7439
     7440/* Line 1806 of yacc.c  */
     7441#line 1687 "parser.yy"
    75577442    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    75587443    break;
    75597444
    7560   case 438:
    7561 
    7562 /* Line 1806 of yacc.c  */
    7563 #line 1663 "parser.yy"
    7564     { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    7565     break;
    7566 
    7567   case 439:
    7568 
    7569 /* Line 1806 of yacc.c  */
    7570 #line 1665 "parser.yy"
    7571     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    7572     break;
    7573 
    7574   case 451:
    7575 
    7576 /* Line 1806 of yacc.c  */
    7577 #line 1690 "parser.yy"
     7445  case 454:
     7446
     7447/* Line 1806 of yacc.c  */
     7448#line 1695 "parser.yy"
    75787449    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    75797450    break;
     
    75827453
    75837454/* Line 1806 of yacc.c  */
    7584 #line 1698 "parser.yy"
    7585     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7455#line 1700 "parser.yy"
     7456    { (yyval.in) = 0; }
    75867457    break;
    75877458
     
    75897460
    75907461/* Line 1806 of yacc.c  */
    7591 #line 1703 "parser.yy"
     7462#line 1702 "parser.yy"
     7463    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7464    break;
     7465
     7466  case 457:
     7467
     7468/* Line 1806 of yacc.c  */
     7469#line 1704 "parser.yy"
     7470    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7471    break;
     7472
     7473  case 458:
     7474
     7475/* Line 1806 of yacc.c  */
     7476#line 1708 "parser.yy"
     7477    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7478    break;
     7479
     7480  case 459:
     7481
     7482/* Line 1806 of yacc.c  */
     7483#line 1709 "parser.yy"
     7484    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7485    break;
     7486
     7487  case 460:
     7488
     7489/* Line 1806 of yacc.c  */
     7490#line 1714 "parser.yy"
    75927491    { (yyval.in) = 0; }
    75937492    break;
    75947493
    7595   case 457:
    7596 
    7597 /* Line 1806 of yacc.c  */
    7598 #line 1705 "parser.yy"
    7599     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7600     break;
    7601 
    7602   case 458:
    7603 
    7604 /* Line 1806 of yacc.c  */
    7605 #line 1707 "parser.yy"
    7606     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    7607     break;
    7608 
    7609   case 459:
    7610 
    7611 /* Line 1806 of yacc.c  */
    7612 #line 1711 "parser.yy"
    7613     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7614     break;
    7615 
    7616   case 460:
    7617 
    7618 /* Line 1806 of yacc.c  */
    7619 #line 1712 "parser.yy"
    7620     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    7621     break;
    7622 
    7623   case 461:
     7494  case 462:
     7495
     7496/* Line 1806 of yacc.c  */
     7497#line 1716 "parser.yy"
     7498    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7499    break;
     7500
     7501  case 463:
    76247502
    76257503/* Line 1806 of yacc.c  */
    76267504#line 1717 "parser.yy"
    7627     { (yyval.in) = 0; }
    7628     break;
    7629 
    7630   case 463:
     7505    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
     7506    break;
     7507
     7508  case 464:
    76317509
    76327510/* Line 1806 of yacc.c  */
    76337511#line 1719 "parser.yy"
    7634     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    7635     break;
    7636 
    7637   case 464:
    7638 
    7639 /* Line 1806 of yacc.c  */
    7640 #line 1720 "parser.yy"
    7641     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    7642     break;
    7643 
    7644   case 465:
    7645 
    7646 /* Line 1806 of yacc.c  */
    7647 #line 1722 "parser.yy"
    76487512    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    76497513    break;
    76507514
    7651   case 467:
    7652 
    7653 /* Line 1806 of yacc.c  */
    7654 #line 1738 "parser.yy"
     7515  case 466:
     7516
     7517/* Line 1806 of yacc.c  */
     7518#line 1735 "parser.yy"
    76557519    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    76567520    break;
    76577521
     7522  case 468:
     7523
     7524/* Line 1806 of yacc.c  */
     7525#line 1741 "parser.yy"
     7526    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7527    break;
     7528
    76587529  case 469:
    76597530
    76607531/* Line 1806 of yacc.c  */
    7661 #line 1744 "parser.yy"
    7662     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7532#line 1749 "parser.yy"
     7533    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    76637534    break;
    76647535
     
    76667537
    76677538/* Line 1806 of yacc.c  */
    7668 #line 1752 "parser.yy"
    7669     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7539#line 1751 "parser.yy"
     7540    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    76707541    break;
    76717542
     
    76747545/* Line 1806 of yacc.c  */
    76757546#line 1754 "parser.yy"
    7676     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
     7547    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    76777548    break;
    76787549
     
    76807551
    76817552/* Line 1806 of yacc.c  */
    7682 #line 1757 "parser.yy"
     7553#line 1756 "parser.yy"
    76837554    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    76847555    break;
     
    76877558
    76887559/* Line 1806 of yacc.c  */
    7689 #line 1759 "parser.yy"
    7690     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7560#line 1758 "parser.yy"
     7561    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    76917562    break;
    76927563
     
    76947565
    76957566/* Line 1806 of yacc.c  */
    7696 #line 1761 "parser.yy"
    7697     { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    7698     break;
    7699 
    7700   case 475:
    7701 
    7702 /* Line 1806 of yacc.c  */
    7703 #line 1763 "parser.yy"
     7567#line 1760 "parser.yy"
    77047568    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    77057569    break;
    77067570
     7571  case 476:
     7572
     7573/* Line 1806 of yacc.c  */
     7574#line 1784 "parser.yy"
     7575    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7576    break;
     7577
    77077578  case 477:
    77087579
    77097580/* Line 1806 of yacc.c  */
    7710 #line 1787 "parser.yy"
     7581#line 1786 "parser.yy"
     7582    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7583    break;
     7584
     7585  case 478:
     7586
     7587/* Line 1806 of yacc.c  */
     7588#line 1788 "parser.yy"
     7589    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7590    break;
     7591
     7592  case 480:
     7593
     7594/* Line 1806 of yacc.c  */
     7595#line 1794 "parser.yy"
    77117596    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    77127597    break;
    77137598
    7714   case 478:
    7715 
    7716 /* Line 1806 of yacc.c  */
    7717 #line 1789 "parser.yy"
     7599  case 481:
     7600
     7601/* Line 1806 of yacc.c  */
     7602#line 1796 "parser.yy"
    77187603    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    77197604    break;
    77207605
    7721   case 479:
    7722 
    7723 /* Line 1806 of yacc.c  */
    7724 #line 1791 "parser.yy"
    7725     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7726     break;
    7727 
    7728   case 481:
    7729 
    7730 /* Line 1806 of yacc.c  */
    7731 #line 1797 "parser.yy"
    7732     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7733     break;
    7734 
    77357606  case 482:
    77367607
    77377608/* Line 1806 of yacc.c  */
    7738 #line 1799 "parser.yy"
    7739     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7740     break;
    7741 
    7742   case 483:
    7743 
    7744 /* Line 1806 of yacc.c  */
    7745 #line 1804 "parser.yy"
     7609#line 1801 "parser.yy"
    77467610    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    77477611    break;
    77487612
     7613  case 484:
     7614
     7615/* Line 1806 of yacc.c  */
     7616#line 1807 "parser.yy"
     7617    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7618    break;
     7619
    77497620  case 485:
    77507621
    77517622/* Line 1806 of yacc.c  */
    7752 #line 1810 "parser.yy"
    7753     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7623#line 1812 "parser.yy"
     7624    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    77547625    break;
    77557626
     
    77577628
    77587629/* Line 1806 of yacc.c  */
    7759 #line 1815 "parser.yy"
    7760     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    7761     break;
    7762 
    7763   case 487:
    7764 
    7765 /* Line 1806 of yacc.c  */
    7766 #line 1817 "parser.yy"
     7630#line 1814 "parser.yy"
    77677631    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    77687632    break;
    77697633
     7634  case 488:
     7635
     7636/* Line 1806 of yacc.c  */
     7637#line 1820 "parser.yy"
     7638    { (yyval.tclass) = DeclarationNode::Type; }
     7639    break;
     7640
    77707641  case 489:
    77717642
    77727643/* Line 1806 of yacc.c  */
    7773 #line 1823 "parser.yy"
    7774     { (yyval.tclass) = DeclarationNode::Type; }
     7644#line 1822 "parser.yy"
     7645    { (yyval.tclass) = DeclarationNode::Ftype; }
    77757646    break;
    77767647
     
    77787649
    77797650/* Line 1806 of yacc.c  */
    7780 #line 1825 "parser.yy"
    7781     { (yyval.tclass) = DeclarationNode::Ftype; }
     7651#line 1824 "parser.yy"
     7652    { (yyval.tclass) = DeclarationNode::Dtype; }
    77827653    break;
    77837654
     
    77857656
    77867657/* Line 1806 of yacc.c  */
    7787 #line 1827 "parser.yy"
    7788     { (yyval.tclass) = DeclarationNode::Dtype; }
     7658#line 1829 "parser.yy"
     7659    { (yyval.decl) = 0; }
    77897660    break;
    77907661
     
    77927663
    77937664/* Line 1806 of yacc.c  */
    7794 #line 1832 "parser.yy"
    7795     { (yyval.decl) = 0; }
     7665#line 1831 "parser.yy"
     7666    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    77967667    break;
    77977668
     
    77997670
    78007671/* Line 1806 of yacc.c  */
    7801 #line 1834 "parser.yy"
    7802     { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7803     break;
    7804 
    7805   case 494:
    7806 
    7807 /* Line 1806 of yacc.c  */
    7808 #line 1839 "parser.yy"
     7672#line 1836 "parser.yy"
    78097673    {
    78107674                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    78137677    break;
    78147678
     7679  case 494:
     7680
     7681/* Line 1806 of yacc.c  */
     7682#line 1841 "parser.yy"
     7683    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7684    break;
     7685
    78157686  case 495:
    78167687
    78177688/* Line 1806 of yacc.c  */
    7818 #line 1844 "parser.yy"
    7819     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7689#line 1843 "parser.yy"
     7690    { (yyval.decl) = 0; }
    78207691    break;
    78217692
     
    78237694
    78247695/* Line 1806 of yacc.c  */
    7825 #line 1846 "parser.yy"
    7826     { (yyval.decl) = 0; }
    7827     break;
    7828 
    7829   case 497:
     7696#line 1848 "parser.yy"
     7697    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7698    break;
     7699
     7700  case 498:
    78307701
    78317702/* Line 1806 of yacc.c  */
    78327703#line 1851 "parser.yy"
    7833     { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7704    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    78347705    break;
    78357706
     
    78377708
    78387709/* Line 1806 of yacc.c  */
    7839 #line 1854 "parser.yy"
    7840     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7710#line 1853 "parser.yy"
     7711    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    78417712    break;
    78427713
     
    78447715
    78457716/* Line 1806 of yacc.c  */
    7846 #line 1856 "parser.yy"
    7847     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     7717#line 1858 "parser.yy"
     7718    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    78487719    break;
    78497720
     
    78517722
    78527723/* Line 1806 of yacc.c  */
    7853 #line 1861 "parser.yy"
    7854     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7724#line 1860 "parser.yy"
     7725    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    78557726    break;
    78567727
     
    78587729
    78597730/* Line 1806 of yacc.c  */
    7860 #line 1863 "parser.yy"
    7861     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7731#line 1862 "parser.yy"
     7732    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    78627733    break;
    78637734
     
    78657736
    78667737/* Line 1806 of yacc.c  */
    7867 #line 1865 "parser.yy"
    7868     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
     7738#line 1867 "parser.yy"
     7739    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    78697740    break;
    78707741
     
    78727743
    78737744/* Line 1806 of yacc.c  */
    7874 #line 1870 "parser.yy"
    7875     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
     7745#line 1869 "parser.yy"
     7746    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    78767747    break;
    78777748
     
    78797750
    78807751/* Line 1806 of yacc.c  */
    7881 #line 1872 "parser.yy"
    7882     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    7883     break;
    7884 
    7885   case 506:
    7886 
    7887 /* Line 1806 of yacc.c  */
    7888 #line 1877 "parser.yy"
     7752#line 1874 "parser.yy"
    78897753    {
    78907754                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    78937757    break;
    78947758
    7895   case 507:
    7896 
    7897 /* Line 1806 of yacc.c  */
    7898 #line 1882 "parser.yy"
     7759  case 506:
     7760
     7761/* Line 1806 of yacc.c  */
     7762#line 1879 "parser.yy"
    78997763    {
    79007764                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    79037767    break;
    79047768
    7905   case 508:
    7906 
    7907 /* Line 1806 of yacc.c  */
    7908 #line 1890 "parser.yy"
     7769  case 507:
     7770
     7771/* Line 1806 of yacc.c  */
     7772#line 1887 "parser.yy"
    79097773    {
    79107774                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    79137777    break;
    79147778
    7915   case 509:
    7916 
    7917 /* Line 1806 of yacc.c  */
    7918 #line 1895 "parser.yy"
     7779  case 508:
     7780
     7781/* Line 1806 of yacc.c  */
     7782#line 1892 "parser.yy"
    79197783    {
    79207784                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    79237787    break;
    79247788
    7925   case 510:
    7926 
    7927 /* Line 1806 of yacc.c  */
    7928 #line 1900 "parser.yy"
     7789  case 509:
     7790
     7791/* Line 1806 of yacc.c  */
     7792#line 1897 "parser.yy"
    79297793    {
    79307794                        typedefTable.leaveTrait();
     
    79347798    break;
    79357799
    7936   case 512:
    7937 
    7938 /* Line 1806 of yacc.c  */
    7939 #line 1910 "parser.yy"
     7800  case 511:
     7801
     7802/* Line 1806 of yacc.c  */
     7803#line 1907 "parser.yy"
    79407804    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    79417805    break;
    79427806
    7943   case 515:
    7944 
    7945 /* Line 1806 of yacc.c  */
    7946 #line 1920 "parser.yy"
     7807  case 514:
     7808
     7809/* Line 1806 of yacc.c  */
     7810#line 1917 "parser.yy"
    79477811    {
    79487812                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    79517815    break;
    79527816
    7953   case 516:
    7954 
    7955 /* Line 1806 of yacc.c  */
    7956 #line 1925 "parser.yy"
     7817  case 515:
     7818
     7819/* Line 1806 of yacc.c  */
     7820#line 1922 "parser.yy"
    79577821    {
    79587822                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    79617825    break;
    79627826
    7963   case 517:
    7964 
    7965 /* Line 1806 of yacc.c  */
    7966 #line 1930 "parser.yy"
     7827  case 516:
     7828
     7829/* Line 1806 of yacc.c  */
     7830#line 1927 "parser.yy"
    79677831    {
    79687832                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    79717835    break;
    79727836
    7973   case 518:
    7974 
    7975 /* Line 1806 of yacc.c  */
    7976 #line 1938 "parser.yy"
     7837  case 517:
     7838
     7839/* Line 1806 of yacc.c  */
     7840#line 1935 "parser.yy"
    79777841    {
    79787842                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    79817845    break;
    79827846
    7983   case 519:
    7984 
    7985 /* Line 1806 of yacc.c  */
    7986 #line 1943 "parser.yy"
     7847  case 518:
     7848
     7849/* Line 1806 of yacc.c  */
     7850#line 1940 "parser.yy"
    79877851    {
    79887852                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    79917855    break;
    79927856
     7857  case 519:
     7858
     7859/* Line 1806 of yacc.c  */
     7860#line 1950 "parser.yy"
     7861    {}
     7862    break;
     7863
    79937864  case 520:
    79947865
    79957866/* Line 1806 of yacc.c  */
    7996 #line 1953 "parser.yy"
    7997     {}
    7998     break;
    7999 
    8000   case 521:
    8001 
    8002 /* Line 1806 of yacc.c  */
    8003 #line 1955 "parser.yy"
     7867#line 1952 "parser.yy"
    80047868    {
    80057869                        if ( theTree ) {
     
    80117875    break;
    80127876
     7877  case 522:
     7878
     7879/* Line 1806 of yacc.c  */
     7880#line 1964 "parser.yy"
     7881    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
     7882    break;
     7883
    80137884  case 523:
    80147885
    80157886/* Line 1806 of yacc.c  */
    8016 #line 1967 "parser.yy"
    8017     { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    8018     break;
    8019 
    8020   case 524:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 1972 "parser.yy"
     7887#line 1969 "parser.yy"
    80247888    { (yyval.decl) = 0; }
    80257889    break;
    80267890
     7891  case 527:
     7892
     7893/* Line 1806 of yacc.c  */
     7894#line 1977 "parser.yy"
     7895    {}
     7896    break;
     7897
    80277898  case 528:
    80287899
    80297900/* Line 1806 of yacc.c  */
    8030 #line 1980 "parser.yy"
    8031     {}
    8032     break;
    8033 
    8034   case 529:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 1982 "parser.yy"
     7901#line 1979 "parser.yy"
    80387902    {
    80397903                        linkageStack.push( linkage );
     
    80427906    break;
    80437907
    8044   case 530:
    8045 
    8046 /* Line 1806 of yacc.c  */
    8047 #line 1987 "parser.yy"
     7908  case 529:
     7909
     7910/* Line 1806 of yacc.c  */
     7911#line 1984 "parser.yy"
    80487912    {
    80497913                        linkage = linkageStack.top();
     
    80537917    break;
    80547918
    8055   case 531:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 1993 "parser.yy"
    8059     { (yyval.decl) = (yyvsp[(2) - (2)].decl)/*->set_extension( true )*/; }
    8060     break;
    8061 
    8062   case 533:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2004 "parser.yy"
     7919  case 530:
     7920
     7921/* Line 1806 of yacc.c  */
     7922#line 1990 "parser.yy"
     7923    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7924    break;
     7925
     7926  case 532:
     7927
     7928/* Line 1806 of yacc.c  */
     7929#line 2000 "parser.yy"
    80667930    {
    80677931                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80717935    break;
    80727936
    8073   case 534:
    8074 
    8075 /* Line 1806 of yacc.c  */
    8076 #line 2010 "parser.yy"
     7937  case 533:
     7938
     7939/* Line 1806 of yacc.c  */
     7940#line 2006 "parser.yy"
    80777941    {
    80787942                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80827946    break;
    80837947
    8084   case 535:
    8085 
    8086 /* Line 1806 of yacc.c  */
    8087 #line 2019 "parser.yy"
     7948  case 534:
     7949
     7950/* Line 1806 of yacc.c  */
     7951#line 2015 "parser.yy"
    80887952    {
    80897953                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80937957    break;
    80947958
    8095   case 536:
    8096 
    8097 /* Line 1806 of yacc.c  */
    8098 #line 2025 "parser.yy"
     7959  case 535:
     7960
     7961/* Line 1806 of yacc.c  */
     7962#line 2021 "parser.yy"
    80997963    {
    81007964                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81047968    break;
    81057969
    8106   case 537:
    8107 
    8108 /* Line 1806 of yacc.c  */
    8109 #line 2031 "parser.yy"
     7970  case 536:
     7971
     7972/* Line 1806 of yacc.c  */
     7973#line 2027 "parser.yy"
    81107974    {
    81117975                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81157979    break;
    81167980
    8117   case 538:
    8118 
    8119 /* Line 1806 of yacc.c  */
    8120 #line 2037 "parser.yy"
     7981  case 537:
     7982
     7983/* Line 1806 of yacc.c  */
     7984#line 2033 "parser.yy"
    81217985    {
    81227986                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81267990    break;
    81277991
    8128   case 539:
    8129 
    8130 /* Line 1806 of yacc.c  */
    8131 #line 2043 "parser.yy"
     7992  case 538:
     7993
     7994/* Line 1806 of yacc.c  */
     7995#line 2039 "parser.yy"
    81327996    {
    81337997                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81378001    break;
    81388002
    8139   case 540:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2051 "parser.yy"
     8003  case 539:
     8004
     8005/* Line 1806 of yacc.c  */
     8006#line 2047 "parser.yy"
    81438007    {
    81448008                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81488012    break;
    81498013
    8150   case 541:
    8151 
    8152 /* Line 1806 of yacc.c  */
    8153 #line 2057 "parser.yy"
     8014  case 540:
     8015
     8016/* Line 1806 of yacc.c  */
     8017#line 2053 "parser.yy"
    81548018    {
    81558019                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81598023    break;
    81608024
    8161   case 542:
    8162 
    8163 /* Line 1806 of yacc.c  */
    8164 #line 2065 "parser.yy"
     8025  case 541:
     8026
     8027/* Line 1806 of yacc.c  */
     8028#line 2061 "parser.yy"
    81658029    {
    81668030                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81708034    break;
    81718035
    8172   case 543:
    8173 
    8174 /* Line 1806 of yacc.c  */
    8175 #line 2071 "parser.yy"
     8036  case 542:
     8037
     8038/* Line 1806 of yacc.c  */
     8039#line 2067 "parser.yy"
    81768040    {
    81778041                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81818045    break;
    81828046
    8183   case 547:
    8184 
    8185 /* Line 1806 of yacc.c  */
    8186 #line 2086 "parser.yy"
     8047  case 546:
     8048
     8049/* Line 1806 of yacc.c  */
     8050#line 2082 "parser.yy"
    81878051    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    81888052    break;
    81898053
    8190   case 550:
    8191 
    8192 /* Line 1806 of yacc.c  */
    8193 #line 2096 "parser.yy"
     8054  case 549:
     8055
     8056/* Line 1806 of yacc.c  */
     8057#line 2092 "parser.yy"
    81948058    { (yyval.decl) = 0; }
    81958059    break;
    81968060
     8061  case 552:
     8062
     8063/* Line 1806 of yacc.c  */
     8064#line 2099 "parser.yy"
     8065    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8066    break;
     8067
    81978068  case 553:
    81988069
    81998070/* Line 1806 of yacc.c  */
    8200 #line 2103 "parser.yy"
    8201     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    8202     break;
    8203 
    8204   case 554:
    8205 
    8206 /* Line 1806 of yacc.c  */
    8207 #line 2109 "parser.yy"
     8071#line 2105 "parser.yy"
    82088072    { (yyval.decl) = 0; }
    82098073    break;
    82108074
     8075  case 559:
     8076
     8077/* Line 1806 of yacc.c  */
     8078#line 2120 "parser.yy"
     8079    {}
     8080    break;
     8081
    82118082  case 560:
    82128083
    82138084/* Line 1806 of yacc.c  */
    8214 #line 2124 "parser.yy"
     8085#line 2121 "parser.yy"
    82158086    {}
    82168087    break;
     
    82198090
    82208091/* Line 1806 of yacc.c  */
    8221 #line 2125 "parser.yy"
     8092#line 2122 "parser.yy"
    82228093    {}
    82238094    break;
     
    82268097
    82278098/* Line 1806 of yacc.c  */
    8228 #line 2126 "parser.yy"
     8099#line 2123 "parser.yy"
    82298100    {}
    82308101    break;
     
    82338104
    82348105/* Line 1806 of yacc.c  */
    8235 #line 2127 "parser.yy"
    8236     {}
    8237     break;
    8238 
    8239   case 564:
    8240 
    8241 /* Line 1806 of yacc.c  */
    8242 #line 2162 "parser.yy"
     8106#line 2158 "parser.yy"
    82438107    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82448108    break;
    82458109
     8110  case 565:
     8111
     8112/* Line 1806 of yacc.c  */
     8113#line 2161 "parser.yy"
     8114    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8115    break;
     8116
    82468117  case 566:
    82478118
    82488119/* Line 1806 of yacc.c  */
    8249 #line 2165 "parser.yy"
     8120#line 2163 "parser.yy"
    82508121    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82518122    break;
     
    82548125
    82558126/* Line 1806 of yacc.c  */
    8256 #line 2167 "parser.yy"
    8257     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8258     break;
    8259 
    8260   case 568:
    8261 
    8262 /* Line 1806 of yacc.c  */
    8263 #line 2172 "parser.yy"
     8127#line 2168 "parser.yy"
    82648128    {
    82658129                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    82688132    break;
    82698133
     8134  case 568:
     8135
     8136/* Line 1806 of yacc.c  */
     8137#line 2173 "parser.yy"
     8138    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8139    break;
     8140
    82708141  case 569:
    82718142
    82728143/* Line 1806 of yacc.c  */
    8273 #line 2177 "parser.yy"
     8144#line 2178 "parser.yy"
     8145    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8146    break;
     8147
     8148  case 570:
     8149
     8150/* Line 1806 of yacc.c  */
     8151#line 2180 "parser.yy"
     8152    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8153    break;
     8154
     8155  case 571:
     8156
     8157/* Line 1806 of yacc.c  */
     8158#line 2182 "parser.yy"
    82748159    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82758160    break;
    82768161
    8277   case 570:
    8278 
    8279 /* Line 1806 of yacc.c  */
    8280 #line 2182 "parser.yy"
    8281     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8282     break;
    8283 
    8284   case 571:
    8285 
    8286 /* Line 1806 of yacc.c  */
    8287 #line 2184 "parser.yy"
    8288     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8289     break;
    8290 
    82918162  case 572:
    82928163
    82938164/* Line 1806 of yacc.c  */
    8294 #line 2186 "parser.yy"
     8165#line 2187 "parser.yy"
     8166    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8167    break;
     8168
     8169  case 573:
     8170
     8171/* Line 1806 of yacc.c  */
     8172#line 2189 "parser.yy"
     8173    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8174    break;
     8175
     8176  case 574:
     8177
     8178/* Line 1806 of yacc.c  */
     8179#line 2191 "parser.yy"
     8180    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8181    break;
     8182
     8183  case 575:
     8184
     8185/* Line 1806 of yacc.c  */
     8186#line 2193 "parser.yy"
    82958187    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82968188    break;
    82978189
    8298   case 573:
    8299 
    8300 /* Line 1806 of yacc.c  */
    8301 #line 2191 "parser.yy"
    8302     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8303     break;
    8304 
    8305   case 574:
    8306 
    8307 /* Line 1806 of yacc.c  */
    8308 #line 2193 "parser.yy"
    8309     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8310     break;
    8311 
    8312   case 575:
    8313 
    8314 /* Line 1806 of yacc.c  */
    8315 #line 2195 "parser.yy"
    8316     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8317     break;
    8318 
    83198190  case 576:
    83208191
    83218192/* Line 1806 of yacc.c  */
    8322 #line 2197 "parser.yy"
     8193#line 2198 "parser.yy"
     8194    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8195    break;
     8196
     8197  case 577:
     8198
     8199/* Line 1806 of yacc.c  */
     8200#line 2200 "parser.yy"
    83238201    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83248202    break;
    83258203
    8326   case 577:
    8327 
    8328 /* Line 1806 of yacc.c  */
    8329 #line 2202 "parser.yy"
    8330     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8331     break;
    8332 
    83338204  case 578:
    83348205
    83358206/* Line 1806 of yacc.c  */
    8336 #line 2204 "parser.yy"
    8337     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8338     break;
    8339 
    8340   case 579:
     8207#line 2210 "parser.yy"
     8208    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8209    break;
     8210
     8211  case 580:
    83418212
    83428213/* Line 1806 of yacc.c  */
     
    83488219
    83498220/* Line 1806 of yacc.c  */
    8350 #line 2216 "parser.yy"
     8221#line 2218 "parser.yy"
     8222    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8223    break;
     8224
     8225  case 582:
     8226
     8227/* Line 1806 of yacc.c  */
     8228#line 2220 "parser.yy"
     8229    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8230    break;
     8231
     8232  case 583:
     8233
     8234/* Line 1806 of yacc.c  */
     8235#line 2222 "parser.yy"
     8236    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8237    break;
     8238
     8239  case 584:
     8240
     8241/* Line 1806 of yacc.c  */
     8242#line 2227 "parser.yy"
     8243    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8244    break;
     8245
     8246  case 585:
     8247
     8248/* Line 1806 of yacc.c  */
     8249#line 2229 "parser.yy"
     8250    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8251    break;
     8252
     8253  case 586:
     8254
     8255/* Line 1806 of yacc.c  */
     8256#line 2231 "parser.yy"
     8257    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8258    break;
     8259
     8260  case 587:
     8261
     8262/* Line 1806 of yacc.c  */
     8263#line 2236 "parser.yy"
     8264    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8265    break;
     8266
     8267  case 588:
     8268
     8269/* Line 1806 of yacc.c  */
     8270#line 2238 "parser.yy"
     8271    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8272    break;
     8273
     8274  case 589:
     8275
     8276/* Line 1806 of yacc.c  */
     8277#line 2240 "parser.yy"
     8278    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8279    break;
     8280
     8281  case 593:
     8282
     8283/* Line 1806 of yacc.c  */
     8284#line 2255 "parser.yy"
     8285    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8286    break;
     8287
     8288  case 594:
     8289
     8290/* Line 1806 of yacc.c  */
     8291#line 2257 "parser.yy"
     8292    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8293    break;
     8294
     8295  case 595:
     8296
     8297/* Line 1806 of yacc.c  */
     8298#line 2259 "parser.yy"
     8299    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8300    break;
     8301
     8302  case 596:
     8303
     8304/* Line 1806 of yacc.c  */
     8305#line 2264 "parser.yy"
     8306    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8307    break;
     8308
     8309  case 597:
     8310
     8311/* Line 1806 of yacc.c  */
     8312#line 2266 "parser.yy"
     8313    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8314    break;
     8315
     8316  case 598:
     8317
     8318/* Line 1806 of yacc.c  */
     8319#line 2268 "parser.yy"
     8320    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8321    break;
     8322
     8323  case 599:
     8324
     8325/* Line 1806 of yacc.c  */
     8326#line 2273 "parser.yy"
     8327    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8328    break;
     8329
     8330  case 600:
     8331
     8332/* Line 1806 of yacc.c  */
     8333#line 2275 "parser.yy"
     8334    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8335    break;
     8336
     8337  case 601:
     8338
     8339/* Line 1806 of yacc.c  */
     8340#line 2277 "parser.yy"
     8341    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8342    break;
     8343
     8344  case 602:
     8345
     8346/* Line 1806 of yacc.c  */
     8347#line 2292 "parser.yy"
    83518348    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83528349    break;
    83538350
    8354   case 582:
    8355 
    8356 /* Line 1806 of yacc.c  */
    8357 #line 2221 "parser.yy"
    8358     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8359     break;
    8360 
    8361   case 583:
    8362 
    8363 /* Line 1806 of yacc.c  */
    8364 #line 2223 "parser.yy"
    8365     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8366     break;
    8367 
    8368   case 584:
    8369 
    8370 /* Line 1806 of yacc.c  */
    8371 #line 2225 "parser.yy"
    8372     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8373     break;
    8374 
    8375   case 585:
    8376 
    8377 /* Line 1806 of yacc.c  */
    8378 #line 2230 "parser.yy"
    8379     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8380     break;
    8381 
    8382   case 586:
    8383 
    8384 /* Line 1806 of yacc.c  */
    8385 #line 2232 "parser.yy"
    8386     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8387     break;
    8388 
    8389   case 587:
    8390 
    8391 /* Line 1806 of yacc.c  */
    8392 #line 2234 "parser.yy"
    8393     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8394     break;
    8395 
    8396   case 588:
    8397 
    8398 /* Line 1806 of yacc.c  */
    8399 #line 2239 "parser.yy"
    8400     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8401     break;
    8402 
    8403   case 589:
    8404 
    8405 /* Line 1806 of yacc.c  */
    8406 #line 2241 "parser.yy"
    8407     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8408     break;
    8409 
    8410   case 590:
    8411 
    8412 /* Line 1806 of yacc.c  */
    8413 #line 2243 "parser.yy"
    8414     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8415     break;
    8416 
    8417   case 594:
    8418 
    8419 /* Line 1806 of yacc.c  */
    8420 #line 2258 "parser.yy"
    8421     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8422     break;
    8423 
    8424   case 595:
    8425 
    8426 /* Line 1806 of yacc.c  */
    8427 #line 2260 "parser.yy"
    8428     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8429     break;
    8430 
    8431   case 596:
    8432 
    8433 /* Line 1806 of yacc.c  */
    8434 #line 2262 "parser.yy"
    8435     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8436     break;
    8437 
    8438   case 597:
    8439 
    8440 /* Line 1806 of yacc.c  */
    8441 #line 2267 "parser.yy"
    8442     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8443     break;
    8444 
    8445   case 598:
    8446 
    8447 /* Line 1806 of yacc.c  */
    8448 #line 2269 "parser.yy"
    8449     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8450     break;
    8451 
    8452   case 599:
    8453 
    8454 /* Line 1806 of yacc.c  */
    8455 #line 2271 "parser.yy"
    8456     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8457     break;
    8458 
    8459   case 600:
    8460 
    8461 /* Line 1806 of yacc.c  */
    8462 #line 2276 "parser.yy"
    8463     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8464     break;
    8465 
    8466   case 601:
    8467 
    8468 /* Line 1806 of yacc.c  */
    8469 #line 2278 "parser.yy"
    8470     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8471     break;
    8472 
    8473   case 602:
    8474 
    8475 /* Line 1806 of yacc.c  */
    8476 #line 2280 "parser.yy"
    8477     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8478     break;
    8479 
    8480   case 603:
     8351  case 604:
    84818352
    84828353/* Line 1806 of yacc.c  */
     
    84888359
    84898360/* Line 1806 of yacc.c  */
    8490 #line 2298 "parser.yy"
     8361#line 2297 "parser.yy"
    84918362    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84928363    break;
    84938364
    8494   case 606:
    8495 
    8496 /* Line 1806 of yacc.c  */
    8497 #line 2300 "parser.yy"
     8365  case 607:
     8366
     8367/* Line 1806 of yacc.c  */
     8368#line 2303 "parser.yy"
     8369    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8370    break;
     8371
     8372  case 608:
     8373
     8374/* Line 1806 of yacc.c  */
     8375#line 2308 "parser.yy"
     8376    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8377    break;
     8378
     8379  case 609:
     8380
     8381/* Line 1806 of yacc.c  */
     8382#line 2310 "parser.yy"
     8383    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8384    break;
     8385
     8386  case 610:
     8387
     8388/* Line 1806 of yacc.c  */
     8389#line 2312 "parser.yy"
     8390    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8391    break;
     8392
     8393  case 611:
     8394
     8395/* Line 1806 of yacc.c  */
     8396#line 2317 "parser.yy"
     8397    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8398    break;
     8399
     8400  case 612:
     8401
     8402/* Line 1806 of yacc.c  */
     8403#line 2319 "parser.yy"
     8404    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8405    break;
     8406
     8407  case 613:
     8408
     8409/* Line 1806 of yacc.c  */
     8410#line 2321 "parser.yy"
     8411    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8412    break;
     8413
     8414  case 614:
     8415
     8416/* Line 1806 of yacc.c  */
     8417#line 2323 "parser.yy"
     8418    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8419    break;
     8420
     8421  case 615:
     8422
     8423/* Line 1806 of yacc.c  */
     8424#line 2328 "parser.yy"
     8425    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8426    break;
     8427
     8428  case 616:
     8429
     8430/* Line 1806 of yacc.c  */
     8431#line 2330 "parser.yy"
     8432    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8433    break;
     8434
     8435  case 617:
     8436
     8437/* Line 1806 of yacc.c  */
     8438#line 2332 "parser.yy"
     8439    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8440    break;
     8441
     8442  case 618:
     8443
     8444/* Line 1806 of yacc.c  */
     8445#line 2342 "parser.yy"
    84988446    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84998447    break;
    85008448
    8501   case 608:
    8502 
    8503 /* Line 1806 of yacc.c  */
    8504 #line 2306 "parser.yy"
    8505     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8506     break;
    8507 
    8508   case 609:
    8509 
    8510 /* Line 1806 of yacc.c  */
    8511 #line 2311 "parser.yy"
    8512     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8513     break;
    8514 
    8515   case 610:
    8516 
    8517 /* Line 1806 of yacc.c  */
    8518 #line 2313 "parser.yy"
    8519     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8520     break;
    8521 
    8522   case 611:
    8523 
    8524 /* Line 1806 of yacc.c  */
    8525 #line 2315 "parser.yy"
    8526     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8527     break;
    8528 
    8529   case 612:
    8530 
    8531 /* Line 1806 of yacc.c  */
    8532 #line 2320 "parser.yy"
    8533     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8534     break;
    8535 
    8536   case 613:
    8537 
    8538 /* Line 1806 of yacc.c  */
    8539 #line 2322 "parser.yy"
    8540     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8541     break;
    8542 
    8543   case 614:
    8544 
    8545 /* Line 1806 of yacc.c  */
    8546 #line 2324 "parser.yy"
    8547     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8548     break;
    8549 
    8550   case 615:
    8551 
    8552 /* Line 1806 of yacc.c  */
    8553 #line 2326 "parser.yy"
    8554     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8555     break;
    8556 
    8557   case 616:
    8558 
    8559 /* Line 1806 of yacc.c  */
    8560 #line 2331 "parser.yy"
    8561     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8562     break;
    8563 
    8564   case 617:
    8565 
    8566 /* Line 1806 of yacc.c  */
    8567 #line 2333 "parser.yy"
    8568     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8569     break;
    8570 
    8571   case 618:
    8572 
    8573 /* Line 1806 of yacc.c  */
    8574 #line 2335 "parser.yy"
    8575     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8576     break;
    8577 
    8578   case 619:
     8449  case 620:
    85798450
    85808451/* Line 1806 of yacc.c  */
     
    85868457
    85878458/* Line 1806 of yacc.c  */
    8588 #line 2348 "parser.yy"
     8459#line 2347 "parser.yy"
    85898460    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85908461    break;
     
    85938464
    85948465/* Line 1806 of yacc.c  */
    8595 #line 2350 "parser.yy"
     8466#line 2352 "parser.yy"
     8467    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8468    break;
     8469
     8470  case 623:
     8471
     8472/* Line 1806 of yacc.c  */
     8473#line 2354 "parser.yy"
     8474    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8475    break;
     8476
     8477  case 624:
     8478
     8479/* Line 1806 of yacc.c  */
     8480#line 2356 "parser.yy"
     8481    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8482    break;
     8483
     8484  case 625:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2361 "parser.yy"
     8488    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8489    break;
     8490
     8491  case 626:
     8492
     8493/* Line 1806 of yacc.c  */
     8494#line 2363 "parser.yy"
     8495    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8496    break;
     8497
     8498  case 627:
     8499
     8500/* Line 1806 of yacc.c  */
     8501#line 2365 "parser.yy"
     8502    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8503    break;
     8504
     8505  case 628:
     8506
     8507/* Line 1806 of yacc.c  */
     8508#line 2367 "parser.yy"
     8509    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8510    break;
     8511
     8512  case 629:
     8513
     8514/* Line 1806 of yacc.c  */
     8515#line 2372 "parser.yy"
     8516    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8517    break;
     8518
     8519  case 630:
     8520
     8521/* Line 1806 of yacc.c  */
     8522#line 2374 "parser.yy"
     8523    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8524    break;
     8525
     8526  case 631:
     8527
     8528/* Line 1806 of yacc.c  */
     8529#line 2376 "parser.yy"
     8530    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8531    break;
     8532
     8533  case 632:
     8534
     8535/* Line 1806 of yacc.c  */
     8536#line 2407 "parser.yy"
    85968537    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85978538    break;
    85988539
    8599   case 623:
    8600 
    8601 /* Line 1806 of yacc.c  */
    8602 #line 2355 "parser.yy"
    8603     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8604     break;
    8605 
    8606   case 624:
    8607 
    8608 /* Line 1806 of yacc.c  */
    8609 #line 2357 "parser.yy"
    8610     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8611     break;
    8612 
    8613   case 625:
    8614 
    8615 /* Line 1806 of yacc.c  */
    8616 #line 2359 "parser.yy"
    8617     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8618     break;
    8619 
    8620   case 626:
    8621 
    8622 /* Line 1806 of yacc.c  */
    8623 #line 2364 "parser.yy"
    8624     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8625     break;
    8626 
    8627   case 627:
    8628 
    8629 /* Line 1806 of yacc.c  */
    8630 #line 2366 "parser.yy"
    8631     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8632     break;
    8633 
    8634   case 628:
    8635 
    8636 /* Line 1806 of yacc.c  */
    8637 #line 2368 "parser.yy"
    8638     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8639     break;
    8640 
    8641   case 629:
    8642 
    8643 /* Line 1806 of yacc.c  */
    8644 #line 2370 "parser.yy"
    8645     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8646     break;
    8647 
    8648   case 630:
    8649 
    8650 /* Line 1806 of yacc.c  */
    8651 #line 2375 "parser.yy"
    8652     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8653     break;
    8654 
    8655   case 631:
    8656 
    8657 /* Line 1806 of yacc.c  */
    8658 #line 2377 "parser.yy"
    8659     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8660     break;
    8661 
    8662   case 632:
    8663 
    8664 /* Line 1806 of yacc.c  */
    8665 #line 2379 "parser.yy"
    8666     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8667     break;
    8668 
    8669   case 633:
     8540  case 634:
    86708541
    86718542/* Line 1806 of yacc.c  */
     
    86778548
    86788549/* Line 1806 of yacc.c  */
    8679 #line 2413 "parser.yy"
     8550#line 2412 "parser.yy"
    86808551    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86818552    break;
     
    86848555
    86858556/* Line 1806 of yacc.c  */
    8686 #line 2415 "parser.yy"
    8687     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8688     break;
    8689 
    8690   case 637:
    8691 
    8692 /* Line 1806 of yacc.c  */
    8693 #line 2420 "parser.yy"
     8557#line 2417 "parser.yy"
    86948558    {
    86958559                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    86988562    break;
    86998563
    8700   case 638:
    8701 
    8702 /* Line 1806 of yacc.c  */
    8703 #line 2425 "parser.yy"
     8564  case 637:
     8565
     8566/* Line 1806 of yacc.c  */
     8567#line 2422 "parser.yy"
    87048568    {
    87058569                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    87088572    break;
    87098573
     8574  case 638:
     8575
     8576/* Line 1806 of yacc.c  */
     8577#line 2430 "parser.yy"
     8578    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8579    break;
     8580
    87108581  case 639:
    87118582
    87128583/* Line 1806 of yacc.c  */
    8713 #line 2433 "parser.yy"
     8584#line 2432 "parser.yy"
     8585    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8586    break;
     8587
     8588  case 640:
     8589
     8590/* Line 1806 of yacc.c  */
     8591#line 2434 "parser.yy"
     8592    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8593    break;
     8594
     8595  case 641:
     8596
     8597/* Line 1806 of yacc.c  */
     8598#line 2439 "parser.yy"
     8599    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8600    break;
     8601
     8602  case 642:
     8603
     8604/* Line 1806 of yacc.c  */
     8605#line 2441 "parser.yy"
     8606    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8607    break;
     8608
     8609  case 643:
     8610
     8611/* Line 1806 of yacc.c  */
     8612#line 2446 "parser.yy"
     8613    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8614    break;
     8615
     8616  case 644:
     8617
     8618/* Line 1806 of yacc.c  */
     8619#line 2448 "parser.yy"
     8620    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8621    break;
     8622
     8623  case 646:
     8624
     8625/* Line 1806 of yacc.c  */
     8626#line 2463 "parser.yy"
     8627    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8628    break;
     8629
     8630  case 647:
     8631
     8632/* Line 1806 of yacc.c  */
     8633#line 2465 "parser.yy"
     8634    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8635    break;
     8636
     8637  case 648:
     8638
     8639/* Line 1806 of yacc.c  */
     8640#line 2470 "parser.yy"
     8641    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8642    break;
     8643
     8644  case 649:
     8645
     8646/* Line 1806 of yacc.c  */
     8647#line 2472 "parser.yy"
     8648    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8649    break;
     8650
     8651  case 650:
     8652
     8653/* Line 1806 of yacc.c  */
     8654#line 2474 "parser.yy"
    87148655    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    87158656    break;
    87168657
    8717   case 640:
    8718 
    8719 /* Line 1806 of yacc.c  */
    8720 #line 2435 "parser.yy"
     8658  case 651:
     8659
     8660/* Line 1806 of yacc.c  */
     8661#line 2476 "parser.yy"
    87218662    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87228663    break;
    87238664
    8724   case 641:
    8725 
    8726 /* Line 1806 of yacc.c  */
    8727 #line 2437 "parser.yy"
     8665  case 652:
     8666
     8667/* Line 1806 of yacc.c  */
     8668#line 2478 "parser.yy"
    87288669    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87298670    break;
    87308671
    8731   case 642:
    8732 
    8733 /* Line 1806 of yacc.c  */
    8734 #line 2442 "parser.yy"
     8672  case 654:
     8673
     8674/* Line 1806 of yacc.c  */
     8675#line 2484 "parser.yy"
     8676    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8677    break;
     8678
     8679  case 655:
     8680
     8681/* Line 1806 of yacc.c  */
     8682#line 2486 "parser.yy"
     8683    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8684    break;
     8685
     8686  case 656:
     8687
     8688/* Line 1806 of yacc.c  */
     8689#line 2488 "parser.yy"
     8690    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8691    break;
     8692
     8693  case 657:
     8694
     8695/* Line 1806 of yacc.c  */
     8696#line 2493 "parser.yy"
     8697    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8698    break;
     8699
     8700  case 658:
     8701
     8702/* Line 1806 of yacc.c  */
     8703#line 2495 "parser.yy"
     8704    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8705    break;
     8706
     8707  case 659:
     8708
     8709/* Line 1806 of yacc.c  */
     8710#line 2497 "parser.yy"
     8711    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8712    break;
     8713
     8714  case 660:
     8715
     8716/* Line 1806 of yacc.c  */
     8717#line 2503 "parser.yy"
     8718    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8719    break;
     8720
     8721  case 661:
     8722
     8723/* Line 1806 of yacc.c  */
     8724#line 2505 "parser.yy"
     8725    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8726    break;
     8727
     8728  case 663:
     8729
     8730/* Line 1806 of yacc.c  */
     8731#line 2511 "parser.yy"
     8732    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8733    break;
     8734
     8735  case 664:
     8736
     8737/* Line 1806 of yacc.c  */
     8738#line 2513 "parser.yy"
     8739    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8740    break;
     8741
     8742  case 665:
     8743
     8744/* Line 1806 of yacc.c  */
     8745#line 2515 "parser.yy"
     8746    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8747    break;
     8748
     8749  case 666:
     8750
     8751/* Line 1806 of yacc.c  */
     8752#line 2517 "parser.yy"
     8753    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8754    break;
     8755
     8756  case 668:
     8757
     8758/* Line 1806 of yacc.c  */
     8759#line 2532 "parser.yy"
     8760    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8761    break;
     8762
     8763  case 669:
     8764
     8765/* Line 1806 of yacc.c  */
     8766#line 2534 "parser.yy"
     8767    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8768    break;
     8769
     8770  case 670:
     8771
     8772/* Line 1806 of yacc.c  */
     8773#line 2539 "parser.yy"
     8774    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8775    break;
     8776
     8777  case 671:
     8778
     8779/* Line 1806 of yacc.c  */
     8780#line 2541 "parser.yy"
     8781    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8782    break;
     8783
     8784  case 672:
     8785
     8786/* Line 1806 of yacc.c  */
     8787#line 2543 "parser.yy"
     8788    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8789    break;
     8790
     8791  case 673:
     8792
     8793/* Line 1806 of yacc.c  */
     8794#line 2545 "parser.yy"
     8795    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8796    break;
     8797
     8798  case 674:
     8799
     8800/* Line 1806 of yacc.c  */
     8801#line 2547 "parser.yy"
     8802    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8803    break;
     8804
     8805  case 676:
     8806
     8807/* Line 1806 of yacc.c  */
     8808#line 2553 "parser.yy"
     8809    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8810    break;
     8811
     8812  case 677:
     8813
     8814/* Line 1806 of yacc.c  */
     8815#line 2555 "parser.yy"
     8816    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8817    break;
     8818
     8819  case 678:
     8820
     8821/* Line 1806 of yacc.c  */
     8822#line 2557 "parser.yy"
     8823    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8824    break;
     8825
     8826  case 679:
     8827
     8828/* Line 1806 of yacc.c  */
     8829#line 2562 "parser.yy"
     8830    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8831    break;
     8832
     8833  case 680:
     8834
     8835/* Line 1806 of yacc.c  */
     8836#line 2564 "parser.yy"
     8837    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8838    break;
     8839
     8840  case 681:
     8841
     8842/* Line 1806 of yacc.c  */
     8843#line 2566 "parser.yy"
     8844    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8845    break;
     8846
     8847  case 683:
     8848
     8849/* Line 1806 of yacc.c  */
     8850#line 2573 "parser.yy"
    87358851    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87368852    break;
    87378853
    8738   case 643:
    8739 
    8740 /* Line 1806 of yacc.c  */
    8741 #line 2444 "parser.yy"
     8854  case 685:
     8855
     8856/* Line 1806 of yacc.c  */
     8857#line 2584 "parser.yy"
     8858    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8859    break;
     8860
     8861  case 686:
     8862
     8863/* Line 1806 of yacc.c  */
     8864#line 2587 "parser.yy"
     8865    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8866    break;
     8867
     8868  case 687:
     8869
     8870/* Line 1806 of yacc.c  */
     8871#line 2589 "parser.yy"
     8872    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     8873    break;
     8874
     8875  case 688:
     8876
     8877/* Line 1806 of yacc.c  */
     8878#line 2592 "parser.yy"
     8879    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8880    break;
     8881
     8882  case 689:
     8883
     8884/* Line 1806 of yacc.c  */
     8885#line 2594 "parser.yy"
     8886    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8887    break;
     8888
     8889  case 690:
     8890
     8891/* Line 1806 of yacc.c  */
     8892#line 2596 "parser.yy"
     8893    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     8894    break;
     8895
     8896  case 692:
     8897
     8898/* Line 1806 of yacc.c  */
     8899#line 2610 "parser.yy"
     8900    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8901    break;
     8902
     8903  case 693:
     8904
     8905/* Line 1806 of yacc.c  */
     8906#line 2612 "parser.yy"
     8907    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8908    break;
     8909
     8910  case 694:
     8911
     8912/* Line 1806 of yacc.c  */
     8913#line 2617 "parser.yy"
     8914    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8915    break;
     8916
     8917  case 695:
     8918
     8919/* Line 1806 of yacc.c  */
     8920#line 2619 "parser.yy"
     8921    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8922    break;
     8923
     8924  case 696:
     8925
     8926/* Line 1806 of yacc.c  */
     8927#line 2621 "parser.yy"
     8928    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8929    break;
     8930
     8931  case 697:
     8932
     8933/* Line 1806 of yacc.c  */
     8934#line 2623 "parser.yy"
     8935    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8936    break;
     8937
     8938  case 698:
     8939
     8940/* Line 1806 of yacc.c  */
     8941#line 2625 "parser.yy"
     8942    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8943    break;
     8944
     8945  case 700:
     8946
     8947/* Line 1806 of yacc.c  */
     8948#line 2631 "parser.yy"
    87428949    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87438950    break;
    87448951
    8745   case 644:
    8746 
    8747 /* Line 1806 of yacc.c  */
    8748 #line 2449 "parser.yy"
    8749     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8750     break;
    8751 
    8752   case 645:
    8753 
    8754 /* Line 1806 of yacc.c  */
    8755 #line 2451 "parser.yy"
     8952  case 701:
     8953
     8954/* Line 1806 of yacc.c  */
     8955#line 2633 "parser.yy"
     8956    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8957    break;
     8958
     8959  case 702:
     8960
     8961/* Line 1806 of yacc.c  */
     8962#line 2635 "parser.yy"
     8963    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8964    break;
     8965
     8966  case 703:
     8967
     8968/* Line 1806 of yacc.c  */
     8969#line 2640 "parser.yy"
    87568970    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87578971    break;
    87588972
    8759   case 647:
    8760 
    8761 /* Line 1806 of yacc.c  */
    8762 #line 2466 "parser.yy"
    8763     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8764     break;
    8765 
    8766   case 648:
    8767 
    8768 /* Line 1806 of yacc.c  */
    8769 #line 2468 "parser.yy"
    8770     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8771     break;
    8772 
    8773   case 649:
    8774 
    8775 /* Line 1806 of yacc.c  */
    8776 #line 2473 "parser.yy"
    8777     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8778     break;
    8779 
    8780   case 650:
    8781 
    8782 /* Line 1806 of yacc.c  */
    8783 #line 2475 "parser.yy"
    8784     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8785     break;
    8786 
    8787   case 651:
    8788 
    8789 /* Line 1806 of yacc.c  */
    8790 #line 2477 "parser.yy"
    8791     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8792     break;
    8793 
    8794   case 652:
    8795 
    8796 /* Line 1806 of yacc.c  */
    8797 #line 2479 "parser.yy"
    8798     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8799     break;
    8800 
    8801   case 653:
    8802 
    8803 /* Line 1806 of yacc.c  */
    8804 #line 2481 "parser.yy"
     8973  case 704:
     8974
     8975/* Line 1806 of yacc.c  */
     8976#line 2642 "parser.yy"
    88058977    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88068978    break;
    88078979
    8808   case 655:
    8809 
    8810 /* Line 1806 of yacc.c  */
    8811 #line 2487 "parser.yy"
    8812     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8813     break;
    8814 
    8815   case 656:
    8816 
    8817 /* Line 1806 of yacc.c  */
    8818 #line 2489 "parser.yy"
    8819     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8820     break;
    8821 
    8822   case 657:
    8823 
    8824 /* Line 1806 of yacc.c  */
    8825 #line 2491 "parser.yy"
    8826     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8827     break;
    8828 
    8829   case 658:
    8830 
    8831 /* Line 1806 of yacc.c  */
    8832 #line 2496 "parser.yy"
    8833     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8834     break;
    8835 
    8836   case 659:
    8837 
    8838 /* Line 1806 of yacc.c  */
    8839 #line 2498 "parser.yy"
    8840     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8841     break;
    8842 
    8843   case 660:
    8844 
    8845 /* Line 1806 of yacc.c  */
    8846 #line 2500 "parser.yy"
    8847     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8848     break;
    8849 
    8850   case 661:
    8851 
    8852 /* Line 1806 of yacc.c  */
    8853 #line 2506 "parser.yy"
    8854     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8855     break;
    8856 
    8857   case 662:
    8858 
    8859 /* Line 1806 of yacc.c  */
    8860 #line 2508 "parser.yy"
    8861     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8862     break;
    8863 
    8864   case 664:
    8865 
    8866 /* Line 1806 of yacc.c  */
    8867 #line 2514 "parser.yy"
    8868     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8869     break;
    8870 
    8871   case 665:
    8872 
    8873 /* Line 1806 of yacc.c  */
    8874 #line 2516 "parser.yy"
    8875     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8876     break;
    8877 
    8878   case 666:
    8879 
    8880 /* Line 1806 of yacc.c  */
    8881 #line 2518 "parser.yy"
    8882     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8883     break;
    8884 
    8885   case 667:
    8886 
    8887 /* Line 1806 of yacc.c  */
    8888 #line 2520 "parser.yy"
    8889     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8890     break;
    8891 
    8892   case 669:
    8893 
    8894 /* Line 1806 of yacc.c  */
    8895 #line 2535 "parser.yy"
    8896     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8897     break;
    8898 
    8899   case 670:
    8900 
    8901 /* Line 1806 of yacc.c  */
    8902 #line 2537 "parser.yy"
    8903     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8904     break;
    8905 
    8906   case 671:
    8907 
    8908 /* Line 1806 of yacc.c  */
    8909 #line 2542 "parser.yy"
    8910     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8911     break;
    8912 
    8913   case 672:
    8914 
    8915 /* Line 1806 of yacc.c  */
    8916 #line 2544 "parser.yy"
    8917     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8918     break;
    8919 
    8920   case 673:
    8921 
    8922 /* Line 1806 of yacc.c  */
    8923 #line 2546 "parser.yy"
    8924     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8925     break;
    8926 
    8927   case 674:
    8928 
    8929 /* Line 1806 of yacc.c  */
    8930 #line 2548 "parser.yy"
    8931     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8932     break;
    8933 
    8934   case 675:
    8935 
    8936 /* Line 1806 of yacc.c  */
    8937 #line 2550 "parser.yy"
    8938     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8939     break;
    8940 
    8941   case 677:
    8942 
    8943 /* Line 1806 of yacc.c  */
    8944 #line 2556 "parser.yy"
    8945     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8946     break;
    8947 
    8948   case 678:
    8949 
    8950 /* Line 1806 of yacc.c  */
    8951 #line 2558 "parser.yy"
    8952     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8953     break;
    8954 
    8955   case 679:
    8956 
    8957 /* Line 1806 of yacc.c  */
    8958 #line 2560 "parser.yy"
    8959     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8960     break;
    8961 
    8962   case 680:
    8963 
    8964 /* Line 1806 of yacc.c  */
    8965 #line 2565 "parser.yy"
    8966     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8967     break;
    8968 
    8969   case 681:
    8970 
    8971 /* Line 1806 of yacc.c  */
    8972 #line 2567 "parser.yy"
    8973     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8974     break;
    8975 
    8976   case 682:
    8977 
    8978 /* Line 1806 of yacc.c  */
    8979 #line 2569 "parser.yy"
    8980     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8981     break;
    8982 
    8983   case 684:
    8984 
    8985 /* Line 1806 of yacc.c  */
    8986 #line 2576 "parser.yy"
    8987     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8988     break;
    8989 
    8990   case 686:
    8991 
    8992 /* Line 1806 of yacc.c  */
    8993 #line 2587 "parser.yy"
    8994     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8995     break;
    8996 
    8997   case 687:
    8998 
    8999 /* Line 1806 of yacc.c  */
    9000 #line 2590 "parser.yy"
     8980  case 707:
     8981
     8982/* Line 1806 of yacc.c  */
     8983#line 2652 "parser.yy"
     8984    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8985    break;
     8986
     8987  case 710:
     8988
     8989/* Line 1806 of yacc.c  */
     8990#line 2662 "parser.yy"
     8991    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8992    break;
     8993
     8994  case 711:
     8995
     8996/* Line 1806 of yacc.c  */
     8997#line 2664 "parser.yy"
     8998    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8999    break;
     9000
     9001  case 712:
     9002
     9003/* Line 1806 of yacc.c  */
     9004#line 2666 "parser.yy"
     9005    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9006    break;
     9007
     9008  case 713:
     9009
     9010/* Line 1806 of yacc.c  */
     9011#line 2668 "parser.yy"
     9012    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9013    break;
     9014
     9015  case 714:
     9016
     9017/* Line 1806 of yacc.c  */
     9018#line 2670 "parser.yy"
     9019    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9020    break;
     9021
     9022  case 715:
     9023
     9024/* Line 1806 of yacc.c  */
     9025#line 2672 "parser.yy"
     9026    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9027    break;
     9028
     9029  case 716:
     9030
     9031/* Line 1806 of yacc.c  */
     9032#line 2679 "parser.yy"
     9033    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9034    break;
     9035
     9036  case 717:
     9037
     9038/* Line 1806 of yacc.c  */
     9039#line 2681 "parser.yy"
     9040    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9041    break;
     9042
     9043  case 718:
     9044
     9045/* Line 1806 of yacc.c  */
     9046#line 2683 "parser.yy"
     9047    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9048    break;
     9049
     9050  case 719:
     9051
     9052/* Line 1806 of yacc.c  */
     9053#line 2685 "parser.yy"
     9054    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9055    break;
     9056
     9057  case 720:
     9058
     9059/* Line 1806 of yacc.c  */
     9060#line 2687 "parser.yy"
     9061    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9062    break;
     9063
     9064  case 721:
     9065
     9066/* Line 1806 of yacc.c  */
     9067#line 2689 "parser.yy"
     9068    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9069    break;
     9070
     9071  case 722:
     9072
     9073/* Line 1806 of yacc.c  */
     9074#line 2691 "parser.yy"
     9075    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9076    break;
     9077
     9078  case 723:
     9079
     9080/* Line 1806 of yacc.c  */
     9081#line 2693 "parser.yy"
     9082    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9083    break;
     9084
     9085  case 724:
     9086
     9087/* Line 1806 of yacc.c  */
     9088#line 2695 "parser.yy"
     9089    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9090    break;
     9091
     9092  case 725:
     9093
     9094/* Line 1806 of yacc.c  */
     9095#line 2697 "parser.yy"
     9096    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9097    break;
     9098
     9099  case 726:
     9100
     9101/* Line 1806 of yacc.c  */
     9102#line 2702 "parser.yy"
    90019103    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    90029104    break;
    90039105
    9004   case 688:
    9005 
    9006 /* Line 1806 of yacc.c  */
    9007 #line 2592 "parser.yy"
    9008     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    9009     break;
    9010 
    9011   case 689:
    9012 
    9013 /* Line 1806 of yacc.c  */
    9014 #line 2595 "parser.yy"
     9106  case 727:
     9107
     9108/* Line 1806 of yacc.c  */
     9109#line 2704 "parser.yy"
    90159110    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    90169111    break;
    90179112
    9018   case 690:
    9019 
    9020 /* Line 1806 of yacc.c  */
    9021 #line 2597 "parser.yy"
    9022     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    9023     break;
    9024 
    9025   case 691:
    9026 
    9027 /* Line 1806 of yacc.c  */
    9028 #line 2599 "parser.yy"
    9029     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    9030     break;
    9031 
    9032   case 693:
    9033 
    9034 /* Line 1806 of yacc.c  */
    9035 #line 2613 "parser.yy"
    9036     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    9037     break;
    9038 
    9039   case 694:
    9040 
    9041 /* Line 1806 of yacc.c  */
    9042 #line 2615 "parser.yy"
    9043     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    9044     break;
    9045 
    9046   case 695:
    9047 
    9048 /* Line 1806 of yacc.c  */
    9049 #line 2620 "parser.yy"
    9050     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    9051     break;
    9052 
    9053   case 696:
    9054 
    9055 /* Line 1806 of yacc.c  */
    9056 #line 2622 "parser.yy"
    9057     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    9058     break;
    9059 
    9060   case 697:
    9061 
    9062 /* Line 1806 of yacc.c  */
    9063 #line 2624 "parser.yy"
    9064     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    9065     break;
    9066 
    9067   case 698:
    9068 
    9069 /* Line 1806 of yacc.c  */
    9070 #line 2626 "parser.yy"
    9071     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    9072     break;
    9073 
    9074   case 699:
    9075 
    9076 /* Line 1806 of yacc.c  */
    9077 #line 2628 "parser.yy"
    9078     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    9079     break;
    9080 
    9081   case 701:
    9082 
    9083 /* Line 1806 of yacc.c  */
    9084 #line 2634 "parser.yy"
    9085     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    9086     break;
    9087 
    9088   case 702:
    9089 
    9090 /* Line 1806 of yacc.c  */
    9091 #line 2636 "parser.yy"
    9092     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    9093     break;
    9094 
    9095   case 703:
    9096 
    9097 /* Line 1806 of yacc.c  */
    9098 #line 2638 "parser.yy"
    9099     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    9100     break;
    9101 
    9102   case 704:
    9103 
    9104 /* Line 1806 of yacc.c  */
    9105 #line 2643 "parser.yy"
    9106     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    9107     break;
    9108 
    9109   case 705:
    9110 
    9111 /* Line 1806 of yacc.c  */
    9112 #line 2645 "parser.yy"
    9113     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    9114     break;
    9115 
    9116   case 708:
    9117 
    9118 /* Line 1806 of yacc.c  */
    9119 #line 2655 "parser.yy"
     9113  case 728:
     9114
     9115/* Line 1806 of yacc.c  */
     9116#line 2709 "parser.yy"
     9117    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     9118    break;
     9119
     9120  case 729:
     9121
     9122/* Line 1806 of yacc.c  */
     9123#line 2711 "parser.yy"
     9124    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     9125    break;
     9126
     9127  case 731:
     9128
     9129/* Line 1806 of yacc.c  */
     9130#line 2738 "parser.yy"
    91209131    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    91219132    break;
    91229133
    9123   case 711:
    9124 
    9125 /* Line 1806 of yacc.c  */
    9126 #line 2665 "parser.yy"
     9134  case 735:
     9135
     9136/* Line 1806 of yacc.c  */
     9137#line 2749 "parser.yy"
    91279138    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91289139    break;
    91299140
    9130   case 712:
    9131 
    9132 /* Line 1806 of yacc.c  */
    9133 #line 2667 "parser.yy"
     9141  case 736:
     9142
     9143/* Line 1806 of yacc.c  */
     9144#line 2751 "parser.yy"
    91349145    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91359146    break;
    91369147
    9137   case 713:
    9138 
    9139 /* Line 1806 of yacc.c  */
    9140 #line 2669 "parser.yy"
     9148  case 737:
     9149
     9150/* Line 1806 of yacc.c  */
     9151#line 2753 "parser.yy"
    91419152    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91429153    break;
    91439154
    9144   case 714:
    9145 
    9146 /* Line 1806 of yacc.c  */
    9147 #line 2671 "parser.yy"
     9155  case 738:
     9156
     9157/* Line 1806 of yacc.c  */
     9158#line 2755 "parser.yy"
    91489159    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91499160    break;
    91509161
    9151   case 715:
    9152 
    9153 /* Line 1806 of yacc.c  */
    9154 #line 2673 "parser.yy"
     9162  case 739:
     9163
     9164/* Line 1806 of yacc.c  */
     9165#line 2757 "parser.yy"
    91559166    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91569167    break;
    91579168
    9158   case 716:
    9159 
    9160 /* Line 1806 of yacc.c  */
    9161 #line 2675 "parser.yy"
     9169  case 740:
     9170
     9171/* Line 1806 of yacc.c  */
     9172#line 2759 "parser.yy"
    91629173    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91639174    break;
    91649175
    9165   case 717:
    9166 
    9167 /* Line 1806 of yacc.c  */
    9168 #line 2682 "parser.yy"
     9176  case 741:
     9177
     9178/* Line 1806 of yacc.c  */
     9179#line 2766 "parser.yy"
    91699180    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91709181    break;
    91719182
    9172   case 718:
    9173 
    9174 /* Line 1806 of yacc.c  */
    9175 #line 2684 "parser.yy"
     9183  case 742:
     9184
     9185/* Line 1806 of yacc.c  */
     9186#line 2768 "parser.yy"
     9187    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9188    break;
     9189
     9190  case 743:
     9191
     9192/* Line 1806 of yacc.c  */
     9193#line 2770 "parser.yy"
    91769194    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91779195    break;
    91789196
    9179   case 719:
    9180 
    9181 /* Line 1806 of yacc.c  */
    9182 #line 2686 "parser.yy"
     9197  case 744:
     9198
     9199/* Line 1806 of yacc.c  */
     9200#line 2772 "parser.yy"
     9201    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9202    break;
     9203
     9204  case 745:
     9205
     9206/* Line 1806 of yacc.c  */
     9207#line 2774 "parser.yy"
    91839208    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91849209    break;
    91859210
    9186   case 720:
    9187 
    9188 /* Line 1806 of yacc.c  */
    9189 #line 2688 "parser.yy"
    9190     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9191     break;
    9192 
    9193   case 721:
    9194 
    9195 /* Line 1806 of yacc.c  */
    9196 #line 2690 "parser.yy"
     9211  case 746:
     9212
     9213/* Line 1806 of yacc.c  */
     9214#line 2776 "parser.yy"
    91979215    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91989216    break;
    91999217
    9200   case 722:
    9201 
    9202 /* Line 1806 of yacc.c  */
    9203 #line 2692 "parser.yy"
    9204     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9205     break;
    9206 
    9207   case 723:
    9208 
    9209 /* Line 1806 of yacc.c  */
    9210 #line 2694 "parser.yy"
    9211     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9212     break;
    9213 
    9214   case 724:
    9215 
    9216 /* Line 1806 of yacc.c  */
    9217 #line 2696 "parser.yy"
    9218     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9219     break;
    9220 
    9221   case 725:
    9222 
    9223 /* Line 1806 of yacc.c  */
    9224 #line 2698 "parser.yy"
    9225     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9226     break;
    9227 
    9228   case 726:
    9229 
    9230 /* Line 1806 of yacc.c  */
    9231 #line 2700 "parser.yy"
    9232     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9233     break;
    9234 
    9235   case 727:
    9236 
    9237 /* Line 1806 of yacc.c  */
    9238 #line 2705 "parser.yy"
    9239     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    9240     break;
    9241 
    9242   case 728:
    9243 
    9244 /* Line 1806 of yacc.c  */
    9245 #line 2707 "parser.yy"
    9246     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    9247     break;
    9248 
    9249   case 729:
    9250 
    9251 /* Line 1806 of yacc.c  */
    9252 #line 2712 "parser.yy"
    9253     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9254     break;
    9255 
    9256   case 730:
    9257 
    9258 /* Line 1806 of yacc.c  */
    9259 #line 2714 "parser.yy"
    9260     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    9261     break;
    9262 
    9263   case 732:
    9264 
    9265 /* Line 1806 of yacc.c  */
    9266 #line 2741 "parser.yy"
    9267     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9268     break;
    9269 
    9270   case 736:
    9271 
    9272 /* Line 1806 of yacc.c  */
    9273 #line 2752 "parser.yy"
    9274     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9275     break;
    9276 
    9277   case 737:
    9278 
    9279 /* Line 1806 of yacc.c  */
    9280 #line 2754 "parser.yy"
    9281     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9282     break;
    9283 
    9284   case 738:
    9285 
    9286 /* Line 1806 of yacc.c  */
    9287 #line 2756 "parser.yy"
    9288     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9289     break;
    9290 
    9291   case 739:
    9292 
    9293 /* Line 1806 of yacc.c  */
    9294 #line 2758 "parser.yy"
    9295     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9296     break;
    9297 
    9298   case 740:
    9299 
    9300 /* Line 1806 of yacc.c  */
    9301 #line 2760 "parser.yy"
    9302     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9303     break;
    9304 
    9305   case 741:
    9306 
    9307 /* Line 1806 of yacc.c  */
    9308 #line 2762 "parser.yy"
    9309     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9310     break;
    9311 
    9312   case 742:
    9313 
    9314 /* Line 1806 of yacc.c  */
    9315 #line 2769 "parser.yy"
    9316     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9317     break;
    9318 
    9319   case 743:
    9320 
    9321 /* Line 1806 of yacc.c  */
    9322 #line 2771 "parser.yy"
    9323     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9324     break;
    9325 
    9326   case 744:
    9327 
    9328 /* Line 1806 of yacc.c  */
    9329 #line 2773 "parser.yy"
    9330     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9331     break;
    9332 
    9333   case 745:
    9334 
    9335 /* Line 1806 of yacc.c  */
    9336 #line 2775 "parser.yy"
    9337     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9338     break;
    9339 
    9340   case 746:
    9341 
    9342 /* Line 1806 of yacc.c  */
    9343 #line 2777 "parser.yy"
    9344     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9345     break;
    9346 
    93479218  case 747:
    93489219
    93499220/* Line 1806 of yacc.c  */
    9350 #line 2779 "parser.yy"
    9351     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9221#line 2781 "parser.yy"
     9222    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    93529223    break;
    93539224
     
    93559226
    93569227/* Line 1806 of yacc.c  */
    9357 #line 2784 "parser.yy"
    9358     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     9228#line 2786 "parser.yy"
     9229    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    93599230    break;
    93609231
     
    93629233
    93639234/* Line 1806 of yacc.c  */
    9364 #line 2789 "parser.yy"
    9365     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
     9235#line 2788 "parser.yy"
     9236    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    93669237    break;
    93679238
     
    93699240
    93709241/* Line 1806 of yacc.c  */
    9371 #line 2791 "parser.yy"
     9242#line 2790 "parser.yy"
    93729243    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    93739244    break;
    93749245
    9375   case 751:
    9376 
    9377 /* Line 1806 of yacc.c  */
    9378 #line 2793 "parser.yy"
    9379     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     9246  case 753:
     9247
     9248/* Line 1806 of yacc.c  */
     9249#line 2814 "parser.yy"
     9250    { (yyval.en) = 0; }
    93809251    break;
    93819252
     
    93839254
    93849255/* Line 1806 of yacc.c  */
    9385 #line 2817 "parser.yy"
    9386     { (yyval.en) = 0; }
    9387     break;
    9388 
    9389   case 755:
    9390 
    9391 /* Line 1806 of yacc.c  */
    9392 #line 2819 "parser.yy"
     9256#line 2816 "parser.yy"
    93939257    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    93949258    break;
     
    93979261
    93989262/* Line 1806 of yacc.c  */
    9399 #line 9400 "Parser/parser.cc"
     9263#line 9264 "Parser/parser.cc"
    94009264      default: break;
    94019265    }
     
    96289492
    96299493/* Line 2067 of yacc.c  */
    9630 #line 2822 "parser.yy"
     9494#line 2819 "parser.yy"
    96319495
    96329496// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.