Changeset d0ffed1


Ignore:
Timestamp:
Feb 28, 2017, 3:24:28 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
f37147b
Parents:
7823bf0
Message:

generate syntax error for SUE declarations in restricted scopes

Location:
src/Parser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r7823bf0 rd0ffed1  
    626626
    627627/* YYFINAL -- State number of the termination state.  */
    628 #define YYFINAL  238
     628#define YYFINAL  240
    629629/* YYLAST -- Last index in YYTABLE.  */
    630 #define YYLAST   11059
     630#define YYLAST   11898
    631631
    632632/* YYNTOKENS -- Number of terminals.  */
    633633#define YYNTOKENS  138
    634634/* YYNNTS -- Number of nonterminals.  */
    635 #define YYNNTS  242
     635#define YYNNTS  249
    636636/* YYNRULES -- Number of rules.  */
    637 #define YYNRULES  756
     637#define YYNRULES  775
    638638/* YYNRULES -- Number of states.  */
    639 #define YYNSTATES  1556
     639#define YYNSTATES  1582
    640640
    641641/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    723723    1028,  1033,  1037,  1042,  1047,  1055,  1060,  1064,  1068,  1072,
    724724    1076,  1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,
    725     1100,  1102,  1104,  1107,  1109,  1111,  1113,  1115,  1117,  1119,
    726     1121,  1122,  1128,  1130,  1133,  1137,  1139,  1142,  1144,  1146,
    727     1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,
     725    1101,  1103,  1105,  1107,  1109,  1111,  1113,  1115,  1116,  1118,
     726    1120,  1123,  1125,  1127,  1129,  1131,  1133,  1135,  1137,  1138,
     727    1144,  1146,  1149,  1153,  1155,  1158,  1160,  1162,  1164,  1166,
    728728    1168,  1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,
    729     1188,  1190,  1193,  1196,  1200,  1204,  1206,  1210,  1212,  1215,
    730     1218,  1221,  1226,  1231,  1236,  1241,  1243,  1246,  1249,  1253,
    731     1255,  1258,  1261,  1263,  1266,  1269,  1273,  1275,  1278,  1281,
    732     1283,  1285,  1291,  1295,  1296,  1304,  1313,  1317,  1319,  1321,
    733     1322,  1325,  1328,  1332,  1336,  1341,  1343,  1346,  1350,  1353,
    734     1355,  1360,  1361,  1363,  1366,  1369,  1371,  1372,  1374,  1377,
    735     1384,  1388,  1389,  1398,  1401,  1406,  1407,  1410,  1411,  1413,
    736     1415,  1417,  1423,  1429,  1435,  1437,  1443,  1449,  1459,  1461,
    737     1467,  1468,  1470,  1472,  1478,  1480,  1482,  1488,  1494,  1496,
    738     1500,  1504,  1509,  1511,  1513,  1515,  1517,  1520,  1522,  1526,
    739     1530,  1533,  1537,  1539,  1543,  1545,  1547,  1549,  1551,  1553,
    740     1555,  1557,  1559,  1561,  1563,  1565,  1568,  1570,  1572,  1573,
    741     1576,  1579,  1581,  1586,  1587,  1589,  1592,  1596,  1601,  1604,
    742     1607,  1609,  1612,  1615,  1621,  1627,  1635,  1642,  1644,  1647,
    743     1650,  1654,  1656,  1659,  1662,  1667,  1670,  1675,  1676,  1681,
    744     1684,  1686,  1688,  1690,  1692,  1693,  1696,  1702,  1708,  1722,
    745     1724,  1726,  1730,  1734,  1737,  1741,  1745,  1748,  1753,  1755,
    746     1762,  1772,  1773,  1785,  1787,  1791,  1795,  1799,  1801,  1803,
    747     1809,  1812,  1818,  1819,  1821,  1823,  1827,  1828,  1830,  1832,
    748     1834,  1840,  1841,  1848,  1851,  1853,  1856,  1861,  1864,  1868,
    749     1872,  1876,  1881,  1887,  1893,  1899,  1906,  1908,  1910,  1912,
    750     1916,  1917,  1923,  1924,  1926,  1928,  1931,  1938,  1940,  1944,
    751     1945,  1947,  1952,  1954,  1956,  1958,  1960,  1963,  1965,  1968,
    752     1971,  1973,  1977,  1980,  1984,  1989,  1992,  1997,  2002,  2006,
    753     2015,  2019,  2022,  2024,  2027,  2034,  2043,  2047,  2050,  2054,
    754     2058,  2063,  2068,  2072,  2074,  2076,  2078,  2083,  2092,  2096,
    755     2099,  2103,  2107,  2112,  2117,  2121,  2124,  2126,  2129,  2132,
    756     2134,  2138,  2141,  2145,  2150,  2153,  2158,  2163,  2167,  2174,
    757     2183,  2187,  2190,  2192,  2195,  2198,  2201,  2205,  2210,  2213,
    758     2218,  2223,  2227,  2234,  2243,  2247,  2250,  2252,  2255,  2258,
    759     2260,  2262,  2265,  2269,  2274,  2277,  2282,  2289,  2298,  2300,
    760     2303,  2306,  2308,  2311,  2314,  2318,  2323,  2325,  2330,  2335,
    761     2339,  2345,  2354,  2358,  2361,  2365,  2367,  2373,  2379,  2386,
    762     2393,  2395,  2398,  2401,  2403,  2406,  2409,  2413,  2418,  2420,
    763     2425,  2430,  2434,  2440,  2449,  2453,  2455,  2458,  2460,  2463,
    764     2470,  2476,  2483,  2491,  2499,  2501,  2504,  2507,  2509,  2512,
    765     2515,  2519,  2524,  2526,  2531,  2536,  2540,  2549,  2553,  2555,
    766     2557,  2560,  2562,  2564,  2567,  2571,  2574,  2578,  2581,  2585,
    767     2589,  2592,  2597,  2601,  2604,  2608,  2611,  2616,  2620,  2623,
    768     2630,  2637,  2644,  2652,  2654,  2657,  2659,  2661,  2663,  2666,
    769     2670,  2673,  2677,  2680,  2684,  2688,  2693,  2696,  2700,  2705,
    770     2708,  2714,  2721,  2728,  2729,  2731,  2732
     729    1188,  1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,
     730    1209,  1212,  1216,  1220,  1222,  1226,  1228,  1231,  1234,  1237,
     731    1242,  1247,  1252,  1257,  1259,  1262,  1265,  1269,  1271,  1274,
     732    1277,  1279,  1282,  1285,  1289,  1291,  1294,  1297,  1299,  1302,
     733    1305,  1309,  1311,  1314,  1317,  1319,  1321,  1323,  1325,  1331,
     734    1332,  1340,  1349,  1351,  1355,  1359,  1361,  1363,  1364,  1367,
     735    1370,  1374,  1378,  1383,  1385,  1388,  1392,  1395,  1397,  1402,
     736    1403,  1405,  1408,  1411,  1413,  1414,  1416,  1419,  1426,  1427,
     737    1436,  1438,  1442,  1445,  1450,  1451,  1454,  1455,  1457,  1459,
     738    1461,  1467,  1473,  1479,  1481,  1487,  1493,  1503,  1505,  1511,
     739    1512,  1514,  1516,  1522,  1524,  1526,  1532,  1538,  1540,  1544,
     740    1548,  1553,  1555,  1557,  1559,  1561,  1564,  1566,  1570,  1574,
     741    1577,  1581,  1583,  1587,  1589,  1591,  1593,  1595,  1597,  1599,
     742    1601,  1603,  1605,  1607,  1609,  1612,  1614,  1616,  1617,  1620,
     743    1623,  1625,  1630,  1631,  1633,  1636,  1640,  1645,  1648,  1651,
     744    1653,  1656,  1659,  1665,  1671,  1679,  1686,  1688,  1691,  1694,
     745    1698,  1700,  1703,  1706,  1711,  1714,  1719,  1720,  1725,  1728,
     746    1730,  1732,  1734,  1736,  1737,  1740,  1746,  1752,  1766,  1768,
     747    1770,  1774,  1778,  1781,  1785,  1789,  1792,  1797,  1799,  1806,
     748    1816,  1817,  1829,  1831,  1835,  1839,  1843,  1845,  1847,  1853,
     749    1856,  1862,  1863,  1865,  1867,  1871,  1872,  1874,  1876,  1878,
     750    1884,  1885,  1892,  1895,  1897,  1900,  1905,  1908,  1912,  1916,
     751    1920,  1925,  1931,  1937,  1943,  1950,  1952,  1954,  1956,  1960,
     752    1961,  1967,  1968,  1970,  1972,  1975,  1982,  1984,  1988,  1989,
     753    1991,  1996,  1998,  2000,  2002,  2004,  2007,  2009,  2012,  2015,
     754    2017,  2021,  2024,  2028,  2033,  2036,  2041,  2046,  2050,  2059,
     755    2063,  2066,  2068,  2071,  2078,  2087,  2091,  2094,  2098,  2102,
     756    2107,  2112,  2116,  2118,  2120,  2122,  2127,  2136,  2140,  2143,
     757    2147,  2151,  2156,  2161,  2165,  2168,  2170,  2173,  2176,  2178,
     758    2182,  2185,  2189,  2194,  2197,  2202,  2207,  2211,  2218,  2227,
     759    2231,  2234,  2236,  2239,  2242,  2245,  2249,  2254,  2257,  2262,
     760    2267,  2271,  2278,  2287,  2291,  2294,  2296,  2299,  2302,  2304,
     761    2306,  2309,  2313,  2318,  2321,  2326,  2333,  2342,  2344,  2347,
     762    2350,  2352,  2355,  2358,  2362,  2367,  2369,  2374,  2379,  2383,
     763    2389,  2398,  2402,  2405,  2409,  2411,  2417,  2423,  2430,  2437,
     764    2439,  2442,  2445,  2447,  2450,  2453,  2457,  2462,  2464,  2469,
     765    2474,  2478,  2484,  2493,  2497,  2499,  2502,  2504,  2507,  2514,
     766    2520,  2527,  2535,  2543,  2545,  2548,  2551,  2553,  2556,  2559,
     767    2563,  2568,  2570,  2575,  2580,  2584,  2593,  2597,  2599,  2601,
     768    2604,  2606,  2608,  2611,  2615,  2618,  2622,  2625,  2629,  2633,
     769    2636,  2641,  2645,  2648,  2652,  2655,  2660,  2664,  2667,  2674,
     770    2681,  2688,  2696,  2698,  2701,  2703,  2705,  2707,  2710,  2714,
     771    2717,  2721,  2724,  2728,  2732,  2737,  2740,  2744,  2749,  2752,
     772    2758,  2765,  2772,  2773,  2775,  2776
    771773};
    772774
     
    774776static const yytype_int16 yyrhs[] =
    775777{
    776      308,     0,    -1,    -1,    -1,    82,    -1,    85,    -1,    86,
     778     315,     0,    -1,    -1,    -1,    82,    -1,    85,    -1,    86,
    777779      -1,    87,    -1,    83,    -1,    75,    -1,    79,    -1,   145,
    778780      -1,    75,    -1,    79,    -1,    75,    -1,   145,    -1,    88,
     
    784786     149,    86,    -1,   149,    90,   144,    -1,   149,    90,   116,
    785787     139,   152,   140,   117,    -1,   149,    91,    -1,   149,    92,
    786       -1,   114,   281,   115,   119,   285,   378,   120,    -1,   149,
     788      -1,   114,   288,   115,   119,   292,   385,   120,    -1,   149,
    787789     119,   150,   120,    -1,   151,    -1,   150,   121,   151,    -1,
    788790      -1,   172,    -1,   153,    -1,   152,   121,   153,    -1,   154,
     
    794796     141,    -1,   146,    -1,    43,   159,    -1,   157,   159,    -1,
    795797     158,   159,    -1,    91,   156,    -1,    92,   156,    -1,    40,
    796      156,    -1,    40,   114,   281,   115,    -1,    69,   156,    -1,
    797       69,   114,   281,   115,    -1,    41,   114,   281,   121,   144,
     798     156,    -1,    40,   114,   288,   115,    -1,    69,   156,    -1,
     799      69,   114,   288,   115,    -1,    41,   114,   288,   121,   144,
    798800     115,    -1,    79,    -1,    79,   114,   151,   115,    -1,    79,
    799      114,   282,   115,    -1,   122,    -1,   123,    -1,   124,    -1,
    800      125,    -1,   126,    -1,   127,    -1,   156,    -1,   114,   281,
     801     114,   289,   115,    -1,   122,    -1,   123,    -1,   124,    -1,
     802     125,    -1,   126,    -1,   127,    -1,   156,    -1,   114,   288,
    801803     115,   159,    -1,   159,    -1,   160,   122,   159,    -1,   160,
    802804     128,   159,    -1,   160,   129,   159,    -1,   160,    -1,   161,
     
    818820      -1,   177,    -1,   180,    -1,   181,    -1,   185,    -1,   186,
    819821      -1,   198,    -1,   200,    -1,   201,    -1,   206,    -1,   132,
    820      149,   119,   150,   120,   137,    -1,   278,   135,   318,   179,
     822     149,   119,   150,   120,   137,    -1,   285,   135,   325,   179,
    821823      -1,   119,   120,    -1,   119,   139,   139,   217,   182,   140,
    822824     120,    -1,   183,    -1,   182,   139,   183,    -1,   220,    -1,
    823       43,   220,    -1,   314,    -1,    43,   314,    -1,   179,   140,
     825      43,   220,    -1,   321,    -1,    43,   321,    -1,   179,   140,
    824826      -1,   179,    -1,   184,   179,    -1,   178,   137,    -1,    44,
    825827     114,   177,   115,   179,    -1,    44,   114,   177,   115,   179,
     
    828830     114,   177,   115,   191,    -1,    56,   114,   177,   115,   119,
    829831     139,   213,   194,   120,    -1,   171,    -1,   171,   101,   171,
    830       -1,   316,    -1,   187,    -1,   188,   121,   187,    -1,    47,
     832      -1,   323,    -1,   187,    -1,   188,   121,   187,    -1,    47,
    831833     188,   135,    -1,    48,   135,    -1,   189,    -1,   190,   189,
    832834      -1,   190,   179,    -1,    -1,   193,    -1,   190,   184,    -1,
     
    837839     114,   177,   115,   137,    -1,    51,   114,   139,   199,   115,
    838840     179,    -1,   178,   140,   137,   178,   137,   178,    -1,   220,
    839      178,   137,   178,    -1,    54,   278,   137,    -1,    54,   122,
    840      177,   137,    -1,    53,   137,    -1,    53,   278,   137,    -1,
    841       52,   137,    -1,    52,   278,   137,    -1,    55,   178,   137,
     841     178,   137,   178,    -1,    54,   285,   137,    -1,    54,   122,
     842     177,   137,    -1,    53,   137,    -1,    53,   285,   137,    -1,
     843      52,   137,    -1,    52,   285,   137,    -1,    55,   178,   137,
    842844      -1,    64,   173,   137,    -1,    65,   173,   137,    -1,    65,
    843845     173,    66,   172,   137,    -1,    60,   181,   202,    -1,    60,
     
    850852     139,   205,   140,   115,   181,   140,    -1,   203,    62,   114,
    851853     139,   139,   205,   140,   115,   181,   140,    -1,    63,   181,
    852       -1,   233,    -1,   233,   315,    -1,   233,   363,    -1,   372,
    853      144,    -1,   372,    -1,    67,   207,   114,   146,   115,   137,
     854      -1,   235,    -1,   235,   322,    -1,   235,   370,    -1,   379,
     855     144,    -1,   379,    -1,    67,   207,   114,   146,   115,   137,
    854856      -1,    67,   207,   114,   146,   135,   208,   115,   137,    -1,
    855857      67,   207,   114,   146,   135,   208,   135,   208,   115,   137,
     
    863865      -1,   220,    -1,   214,   139,   220,    -1,   140,    -1,   216,
    864866      -1,   230,    -1,   216,   139,   230,    -1,    -1,   218,    -1,
    865       31,   219,   137,    -1,   218,    31,   219,   137,    -1,   280,
    866       -1,   219,   121,   280,    -1,   221,    -1,   230,    -1,   222,
     867      31,   219,   137,    -1,   218,    31,   219,   137,    -1,   287,
     868      -1,   219,   121,   287,    -1,   221,    -1,   230,    -1,   222,
    867869     140,   137,    -1,   227,   140,   137,    -1,   224,   140,   137,
    868       -1,   299,   140,   137,    -1,   302,   140,   137,    -1,   223,
    869      283,    -1,   239,   223,   283,    -1,   222,   140,   121,   139,
    870      278,   283,    -1,   373,   278,   317,    -1,   376,   278,   317,
    871       -1,   235,   376,   278,   317,    -1,   225,    -1,   235,   225,
    872       -1,   239,   225,    -1,   239,   235,   225,    -1,   224,   140,
    873      121,   139,   278,    -1,   376,   278,   114,   139,   266,   140,
    874      115,    -1,   226,   278,   114,   139,   266,   140,   115,    -1,
    875      116,   139,   268,   140,   117,    -1,   116,   139,   268,   140,
    876      121,   139,   269,   140,   117,    -1,     3,   223,    -1,     3,
    877      225,    -1,   227,   140,   121,   139,   144,    -1,     3,   233,
    878      315,    -1,   228,   140,   121,   139,   315,    -1,   235,     3,
    879      233,   315,    -1,   233,     3,   315,    -1,   233,     3,   235,
    880      315,    -1,     3,   144,   136,   172,    -1,   229,   140,   121,
     870      -1,   306,   140,   137,    -1,   309,   140,   137,    -1,   223,
     871     290,    -1,   241,   223,   290,    -1,   222,   140,   121,   139,
     872     285,   290,    -1,   380,   285,   324,    -1,   383,   285,   324,
     873      -1,   237,   383,   285,   324,    -1,   225,    -1,   237,   225,
     874      -1,   241,   225,    -1,   241,   237,   225,    -1,   224,   140,
     875     121,   139,   285,    -1,   383,   285,   114,   139,   273,   140,
     876     115,    -1,   226,   285,   114,   139,   273,   140,   115,    -1,
     877     116,   139,   275,   140,   117,    -1,   116,   139,   275,   140,
     878     121,   139,   276,   140,   117,    -1,     3,   223,    -1,     3,
     879     225,    -1,   227,   140,   121,   139,   144,    -1,     3,   234,
     880     322,    -1,   228,   140,   121,   139,   322,    -1,   237,     3,
     881     234,   322,    -1,   234,     3,   322,    -1,   234,     3,   237,
     882     322,    -1,     3,   144,   136,   172,    -1,   229,   140,   121,
    881883     139,   144,   136,   172,    -1,   232,   231,   140,   137,    -1,
    882      228,   140,   137,    -1,   229,   140,   137,    -1,   247,   140,
    883      137,    -1,   315,   317,   283,    -1,   231,   121,   318,   315,
    884      317,   283,    -1,   243,    -1,   247,    -1,   249,    -1,   289,
    885       -1,   244,    -1,   248,    -1,   250,    -1,   290,    -1,    -1,
    886      235,    -1,   236,    -1,   235,   236,    -1,   237,    -1,   320,
    887       -1,    10,    -1,    12,    -1,    11,    -1,    14,    -1,    70,
    888       -1,    -1,    13,   114,   238,   292,   115,    -1,   240,    -1,
    889      235,   240,    -1,   239,   235,   240,    -1,   241,    -1,   240,
    890      241,    -1,     5,    -1,     7,    -1,     4,    -1,     6,    -1,
    891        8,    -1,     9,    -1,    72,    -1,    74,    -1,    16,    -1,
    892       21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,    -1,
    893       22,    -1,    23,    -1,    15,    -1,    27,    -1,    28,    -1,
    894       29,    -1,    26,    -1,    24,    -1,    25,    -1,   244,    -1,
    895      239,   244,    -1,   243,   241,    -1,   243,   241,   235,    -1,
    896      243,   241,   244,    -1,   245,    -1,   234,   246,   234,    -1,
    897      242,    -1,   235,   242,    -1,   245,   236,    -1,   245,   242,
    898       -1,    30,   114,   282,   115,    -1,    30,   114,   177,   115,
    899       -1,    81,   114,   282,   115,    -1,    81,   114,   177,   115,
    900       -1,   248,    -1,   239,   248,    -1,   247,   241,    -1,   247,
    901      241,   235,    -1,   251,    -1,   235,   251,    -1,   248,   236,
    902       -1,   250,    -1,   239,   250,    -1,   249,   241,    -1,   249,
    903      241,   235,    -1,    77,    -1,   235,    77,    -1,   250,   236,
    904       -1,   252,    -1,   262,    -1,   254,   318,   119,   255,   120,
    905       -1,   254,   318,   280,    -1,    -1,   254,   318,   280,   253,
    906      119,   255,   120,    -1,   254,   318,   114,   298,   115,   119,
    907      255,   120,    -1,   254,   318,   291,    -1,    33,    -1,    34,
    908       -1,    -1,   255,   256,    -1,   257,   137,    -1,    43,   257,
    909      137,    -1,   233,   258,   137,    -1,    43,   233,   258,   137,
    910       -1,   372,    -1,   372,   280,    -1,   257,   121,   280,    -1,
    911      257,   121,    -1,   259,    -1,   258,   121,   318,   259,    -1,
    912       -1,   261,    -1,   324,   260,    -1,   337,   260,    -1,   363,
    913       -1,    -1,   261,    -1,   135,   171,    -1,    32,   318,   119,
    914      264,   378,   120,    -1,    32,   318,   280,    -1,    -1,    32,
    915      318,   280,   263,   119,   264,   378,   120,    -1,   280,   265,
    916       -1,   264,   121,   280,   265,    -1,    -1,   136,   171,    -1,
    917       -1,   267,    -1,   269,    -1,   268,    -1,   268,   140,   121,
    918      139,   269,    -1,   269,   140,   121,   139,   101,    -1,   268,
    919      140,   121,   139,   101,    -1,   273,    -1,   269,   140,   121,
    920      139,   273,    -1,   268,   140,   121,   139,   273,    -1,   268,
    921      140,   121,   139,   269,   140,   121,   139,   273,    -1,   274,
    922       -1,   269,   140,   121,   139,   274,    -1,    -1,   271,    -1,
    923      272,    -1,   272,   140,   121,   139,   101,    -1,   276,    -1,
    924      275,    -1,   272,   140,   121,   139,   276,    -1,   272,   140,
    925      121,   139,   275,    -1,   275,    -1,   368,   278,   379,    -1,
    926      376,   278,   379,    -1,   235,   376,   278,   379,    -1,   225,
    927       -1,   276,    -1,   368,    -1,   376,    -1,   235,   376,    -1,
    928      377,    -1,   232,   342,   379,    -1,   232,   346,   379,    -1,
    929      232,   379,    -1,   232,   357,   379,    -1,   144,    -1,   277,
    930      121,   144,    -1,   142,    -1,    77,    -1,    78,    -1,   143,
    931       -1,    77,    -1,    78,    -1,   144,    -1,    77,    -1,    78,
    932       -1,   372,    -1,   233,    -1,   233,   351,    -1,   281,    -1,
    933      377,    -1,    -1,   136,   284,    -1,   112,   284,    -1,   172,
    934       -1,   119,   285,   378,   120,    -1,    -1,   284,    -1,   286,
    935      284,    -1,   285,   121,   284,    -1,   285,   121,   286,   284,
    936       -1,   287,   135,    -1,   280,   135,    -1,   288,    -1,   287,
    937      288,    -1,   118,   280,    -1,   116,   139,   172,   140,   117,
    938       -1,   116,   139,   316,   140,   117,    -1,   116,   139,   171,
    939      101,   171,   140,   117,    -1,   118,   116,   139,   152,   140,
    940      117,    -1,   290,    -1,   239,   290,    -1,   289,   241,    -1,
    941      289,   241,   235,    -1,   291,    -1,   235,   291,    -1,   290,
    942      236,    -1,    78,   114,   298,   115,    -1,   293,   379,    -1,
    943      292,   121,   293,   379,    -1,    -1,   295,   280,   294,   296,
    944       -1,   233,   342,    -1,    35,    -1,    37,    -1,    36,    -1,
    945       38,    -1,    -1,   296,   297,    -1,   133,   280,   114,   298,
    946      115,    -1,   133,   119,   139,   304,   120,    -1,   133,   114,
    947      139,   292,   140,   115,   119,   139,   304,   120,   114,   298,
    948      115,    -1,   282,    -1,   172,    -1,   298,   121,   282,    -1,
    949      298,   121,   172,    -1,    35,   300,    -1,   240,    35,   300,
    950       -1,   299,   121,   300,    -1,   301,   296,    -1,   301,   296,
    951      136,   282,    -1,   280,    -1,   279,   114,   139,   292,   140,
    952      115,    -1,    39,   280,   114,   139,   292,   140,   115,   119,
    953      120,    -1,    -1,    39,   280,   114,   139,   292,   140,   115,
    954      119,   303,   304,   120,    -1,   305,    -1,   304,   139,   305,
    955       -1,   306,   140,   137,    -1,   307,   140,   137,    -1,   223,
    956       -1,   225,    -1,   306,   140,   121,   139,   278,    -1,   233,
    957      315,    -1,   307,   140,   121,   139,   315,    -1,    -1,   309,
    958       -1,   311,    -1,   309,   139,   311,    -1,    -1,   309,    -1,
    959      220,    -1,   313,    -1,    67,   114,   146,   115,   137,    -1,
    960       -1,     5,    84,   312,   119,   310,   120,    -1,    43,   311,
    961       -1,   314,    -1,   329,   181,    -1,   333,   139,   215,   181,
    962       -1,   224,   181,    -1,   232,   329,   181,    -1,   235,   329,
    963      181,    -1,   239,   329,   181,    -1,   239,   235,   329,   181,
    964       -1,   232,   333,   139,   215,   181,    -1,   235,   333,   139,
    965      215,   181,    -1,   239,   333,   139,   215,   181,    -1,   239,
    966      235,   333,   139,   215,   181,    -1,   324,    -1,   337,    -1,
    967      329,    -1,   171,   127,   171,    -1,    -1,    67,   114,   146,
    968      115,   318,    -1,    -1,   319,    -1,   320,    -1,   319,   320,
    969       -1,    42,   114,   114,   321,   115,   115,    -1,   322,    -1,
    970      321,   121,   322,    -1,    -1,   323,    -1,   323,   114,   150,
    971      115,    -1,    75,    -1,    77,    -1,    78,    -1,    10,    -1,
    972      325,   318,    -1,   326,    -1,   327,   318,    -1,   328,   318,
    973       -1,   142,    -1,   114,   325,   115,    -1,   157,   324,    -1,
    974      157,   235,   324,    -1,   114,   326,   115,   318,    -1,   325,
    975      355,    -1,   114,   326,   115,   355,    -1,   114,   327,   115,
    976      356,    -1,   114,   327,   115,    -1,   114,   326,   115,   114,
    977      139,   270,   140,   115,    -1,   114,   328,   115,    -1,   330,
    978      318,    -1,   331,    -1,   332,   318,    -1,   325,   114,   139,
    979      270,   140,   115,    -1,   114,   331,   115,   114,   139,   270,
    980      140,   115,    -1,   114,   330,   115,    -1,   157,   329,    -1,
    981      157,   235,   329,    -1,   114,   331,   115,    -1,   114,   331,
    982      115,   355,    -1,   114,   332,   115,   356,    -1,   114,   332,
    983      115,    -1,   334,    -1,   335,    -1,   336,    -1,   325,   114,
    984      277,   115,    -1,   114,   335,   115,   114,   139,   270,   140,
    985      115,    -1,   114,   334,   115,    -1,   157,   333,    -1,   157,
    986      235,   333,    -1,   114,   335,   115,    -1,   114,   335,   115,
    987      355,    -1,   114,   336,   115,   356,    -1,   114,   336,   115,
    988       -1,   338,   318,    -1,   339,    -1,   340,   318,    -1,   341,
    989      318,    -1,   347,    -1,   114,   338,   115,    -1,   157,   337,
    990       -1,   157,   235,   337,    -1,   114,   339,   115,   318,    -1,
    991      338,   355,    -1,   114,   339,   115,   355,    -1,   114,   340,
    992      115,   356,    -1,   114,   340,   115,    -1,   338,   114,   139,
    993      270,   140,   115,    -1,   114,   339,   115,   114,   139,   270,
    994      140,   115,    -1,   114,   341,   115,    -1,   325,   318,    -1,
    995      343,    -1,   344,   318,    -1,   345,   318,    -1,   157,   342,
    996       -1,   157,   235,   342,    -1,   114,   343,   115,   318,    -1,
    997      325,   361,    -1,   114,   343,   115,   355,    -1,   114,   344,
    998      115,   356,    -1,   114,   344,   115,    -1,   325,   114,   139,
    999      270,   140,   115,    -1,   114,   343,   115,   114,   139,   270,
    1000      140,   115,    -1,   114,   345,   115,    -1,   347,   318,    -1,
    1001      348,    -1,   349,   318,    -1,   350,   318,    -1,    77,    -1,
    1002       78,    -1,   157,   346,    -1,   157,   235,   346,    -1,   114,
    1003      348,   115,   318,    -1,   347,   361,    -1,   114,   348,   115,
    1004      361,    -1,   347,   114,   139,   270,   140,   115,    -1,   114,
    1005      348,   115,   114,   139,   270,   140,   115,    -1,   352,    -1,
    1006      353,   318,    -1,   354,   318,    -1,   157,    -1,   157,   235,
    1007       -1,   157,   351,    -1,   157,   235,   351,    -1,   114,   352,
    1008      115,   318,    -1,   355,    -1,   114,   352,   115,   355,    -1,
    1009      114,   353,   115,   356,    -1,   114,   353,   115,    -1,   114,
    1010      139,   270,   140,   115,    -1,   114,   352,   115,   114,   139,
    1011      270,   140,   115,    -1,   114,   354,   115,    -1,   116,   117,
    1012       -1,   116,   117,   356,    -1,   356,    -1,   116,   139,   172,
    1013      140,   117,    -1,   116,   139,   122,   140,   117,    -1,   356,
    1014      116,   139,   172,   140,   117,    -1,   356,   116,   139,   122,
    1015      140,   117,    -1,   358,    -1,   359,   318,    -1,   360,   318,
    1016       -1,   157,    -1,   157,   235,    -1,   157,   357,    -1,   157,
    1017      235,   357,    -1,   114,   358,   115,   318,    -1,   361,    -1,
    1018      114,   358,   115,   361,    -1,   114,   359,   115,   356,    -1,
    1019      114,   359,   115,    -1,   114,   139,   270,   140,   115,    -1,
    1020      114,   358,   115,   114,   139,   270,   140,   115,    -1,   114,
    1021      360,   115,    -1,   362,    -1,   362,   356,    -1,   356,    -1,
    1022      116,   117,    -1,   116,   139,   235,   122,   140,   117,    -1,
    1023      116,   139,   235,   140,   117,    -1,   116,   139,   235,   172,
    1024      140,   117,    -1,   116,   139,     7,   234,   172,   140,   117,
    1025       -1,   116,   139,   235,     7,   172,   140,   117,    -1,   364,
    1026       -1,   365,   318,    -1,   366,   318,    -1,   157,    -1,   157,
    1027      235,    -1,   157,   363,    -1,   157,   235,   363,    -1,   114,
    1028      364,   115,   318,    -1,   355,    -1,   114,   364,   115,   355,
    1029       -1,   114,   365,   115,   356,    -1,   114,   365,   115,    -1,
    1030      114,   364,   115,   114,   139,   270,   140,   115,    -1,   114,
    1031      366,   115,    -1,   368,    -1,   376,    -1,   235,   376,    -1,
    1032      369,    -1,   370,    -1,   157,   233,    -1,   235,   157,   233,
    1033       -1,   157,   377,    -1,   235,   157,   377,    -1,   157,   367,
    1034       -1,   235,   157,   367,    -1,   116,   117,   233,    -1,   371,
    1035      233,    -1,   116,   117,   356,   233,    -1,   371,   356,   233,
    1036       -1,   356,   233,    -1,   116,   117,   369,    -1,   371,   369,
    1037       -1,   116,   117,   356,   369,    -1,   371,   356,   369,    -1,
    1038      356,   369,    -1,   116,   139,   235,   122,   140,   117,    -1,
    1039      116,   139,   235,   172,   140,   117,    -1,   116,   139,   239,
    1040      172,   140,   117,    -1,   116,   139,   239,   235,   172,   140,
    1041      117,    -1,   376,    -1,   235,   376,    -1,   373,    -1,   374,
    1042       -1,   375,    -1,   157,   233,    -1,   235,   157,   233,    -1,
    1043      157,   377,    -1,   235,   157,   377,    -1,   157,   372,    -1,
    1044      235,   157,   372,    -1,   116,   117,   233,    -1,   116,   117,
    1045      356,   233,    -1,   356,   233,    -1,   116,   117,   374,    -1,
    1046      116,   117,   356,   374,    -1,   356,   374,    -1,   116,   139,
    1047      269,   140,   117,    -1,   376,   114,   139,   266,   140,   115,
    1048       -1,   226,   114,   139,   266,   140,   115,    -1,    -1,   121,
    1049       -1,    -1,   136,   172,    -1
     884     228,   140,   137,    -1,   229,   140,   137,    -1,   249,   140,
     885     137,    -1,   322,   324,   290,    -1,   231,   121,   325,   322,
     886     324,   290,    -1,   245,    -1,   249,    -1,   253,    -1,   296,
     887      -1,   245,    -1,   251,    -1,   253,    -1,   296,    -1,   246,
     888      -1,   250,    -1,   254,    -1,   297,    -1,   246,    -1,   252,
     889      -1,   254,    -1,   297,    -1,    -1,   237,    -1,   238,    -1,
     890     237,   238,    -1,   239,    -1,   327,    -1,    10,    -1,    12,
     891      -1,    11,    -1,    14,    -1,    70,    -1,    -1,    13,   114,
     892     240,   299,   115,    -1,   242,    -1,   237,   242,    -1,   241,
     893     237,   242,    -1,   243,    -1,   242,   243,    -1,     5,    -1,
     894       7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,
     895      72,    -1,    74,    -1,    16,    -1,    21,    -1,    20,    -1,
     896      18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,
     897      15,    -1,    27,    -1,    28,    -1,    29,    -1,    26,    -1,
     898      24,    -1,    25,    -1,   246,    -1,   241,   246,    -1,   245,
     899     243,    -1,   245,   243,   237,    -1,   245,   243,   246,    -1,
     900     247,    -1,   236,   248,   236,    -1,   244,    -1,   237,   244,
     901      -1,   247,   238,    -1,   247,   244,    -1,    30,   114,   289,
     902     115,    -1,    30,   114,   177,   115,    -1,    81,   114,   289,
     903     115,    -1,    81,   114,   177,   115,    -1,   250,    -1,   241,
     904     250,    -1,   249,   243,    -1,   249,   243,   237,    -1,   255,
     905      -1,   237,   255,    -1,   250,   238,    -1,   252,    -1,   241,
     906     252,    -1,   251,   243,    -1,   251,   243,   237,    -1,   256,
     907      -1,   237,   256,    -1,   252,   238,    -1,   254,    -1,   241,
     908     254,    -1,   253,   243,    -1,   253,   243,   237,    -1,    77,
     909      -1,   237,    77,    -1,   254,   238,    -1,   257,    -1,   268,
     910      -1,   259,    -1,   270,    -1,   260,   325,   119,   261,   120,
     911      -1,    -1,   260,   325,   287,   258,   119,   261,   120,    -1,
     912     260,   325,   114,   305,   115,   119,   261,   120,    -1,   259,
     913      -1,   260,   325,   287,    -1,   260,   325,   298,    -1,    33,
     914      -1,    34,    -1,    -1,   261,   262,    -1,   263,   137,    -1,
     915      43,   263,   137,    -1,   234,   264,   137,    -1,    43,   234,
     916     264,   137,    -1,   379,    -1,   379,   287,    -1,   263,   121,
     917     287,    -1,   263,   121,    -1,   265,    -1,   264,   121,   325,
     918     265,    -1,    -1,   267,    -1,   331,   266,    -1,   344,   266,
     919      -1,   370,    -1,    -1,   267,    -1,   135,   171,    -1,    32,
     920     325,   119,   271,   385,   120,    -1,    -1,    32,   325,   287,
     921     269,   119,   271,   385,   120,    -1,   270,    -1,    32,   325,
     922     287,    -1,   287,   272,    -1,   271,   121,   287,   272,    -1,
     923      -1,   136,   171,    -1,    -1,   274,    -1,   276,    -1,   275,
     924      -1,   275,   140,   121,   139,   276,    -1,   276,   140,   121,
     925     139,   101,    -1,   275,   140,   121,   139,   101,    -1,   280,
     926      -1,   276,   140,   121,   139,   280,    -1,   275,   140,   121,
     927     139,   280,    -1,   275,   140,   121,   139,   276,   140,   121,
     928     139,   280,    -1,   281,    -1,   276,   140,   121,   139,   281,
     929      -1,    -1,   278,    -1,   279,    -1,   279,   140,   121,   139,
     930     101,    -1,   283,    -1,   282,    -1,   279,   140,   121,   139,
     931     283,    -1,   279,   140,   121,   139,   282,    -1,   282,    -1,
     932     375,   285,   386,    -1,   383,   285,   386,    -1,   237,   383,
     933     285,   386,    -1,   225,    -1,   283,    -1,   375,    -1,   383,
     934      -1,   237,   383,    -1,   384,    -1,   233,   349,   386,    -1,
     935     233,   353,   386,    -1,   233,   386,    -1,   233,   364,   386,
     936      -1,   144,    -1,   284,   121,   144,    -1,   142,    -1,    77,
     937      -1,    78,    -1,   143,    -1,    77,    -1,    78,    -1,   144,
     938      -1,    77,    -1,    78,    -1,   379,    -1,   234,    -1,   234,
     939     358,    -1,   288,    -1,   384,    -1,    -1,   136,   291,    -1,
     940     112,   291,    -1,   172,    -1,   119,   292,   385,   120,    -1,
     941      -1,   291,    -1,   293,   291,    -1,   292,   121,   291,    -1,
     942     292,   121,   293,   291,    -1,   294,   135,    -1,   287,   135,
     943      -1,   295,    -1,   294,   295,    -1,   118,   287,    -1,   116,
     944     139,   172,   140,   117,    -1,   116,   139,   323,   140,   117,
     945      -1,   116,   139,   171,   101,   171,   140,   117,    -1,   118,
     946     116,   139,   152,   140,   117,    -1,   297,    -1,   241,   297,
     947      -1,   296,   243,    -1,   296,   243,   237,    -1,   298,    -1,
     948     237,   298,    -1,   297,   238,    -1,    78,   114,   305,   115,
     949      -1,   300,   386,    -1,   299,   121,   300,   386,    -1,    -1,
     950     302,   287,   301,   303,    -1,   234,   349,    -1,    35,    -1,
     951      37,    -1,    36,    -1,    38,    -1,    -1,   303,   304,    -1,
     952     133,   287,   114,   305,   115,    -1,   133,   119,   139,   311,
     953     120,    -1,   133,   114,   139,   299,   140,   115,   119,   139,
     954     311,   120,   114,   305,   115,    -1,   289,    -1,   172,    -1,
     955     305,   121,   289,    -1,   305,   121,   172,    -1,    35,   307,
     956      -1,   242,    35,   307,    -1,   306,   121,   307,    -1,   308,
     957     303,    -1,   308,   303,   136,   289,    -1,   287,    -1,   286,
     958     114,   139,   299,   140,   115,    -1,    39,   287,   114,   139,
     959     299,   140,   115,   119,   120,    -1,    -1,    39,   287,   114,
     960     139,   299,   140,   115,   119,   310,   311,   120,    -1,   312,
     961      -1,   311,   139,   312,    -1,   313,   140,   137,    -1,   314,
     962     140,   137,    -1,   223,    -1,   225,    -1,   313,   140,   121,
     963     139,   285,    -1,   234,   322,    -1,   314,   140,   121,   139,
     964     322,    -1,    -1,   316,    -1,   318,    -1,   316,   139,   318,
     965      -1,    -1,   316,    -1,   220,    -1,   320,    -1,    67,   114,
     966     146,   115,   137,    -1,    -1,     5,    84,   319,   119,   317,
     967     120,    -1,    43,   318,    -1,   321,    -1,   336,   181,    -1,
     968     340,   139,   215,   181,    -1,   224,   181,    -1,   232,   336,
     969     181,    -1,   237,   336,   181,    -1,   241,   336,   181,    -1,
     970     241,   237,   336,   181,    -1,   232,   340,   139,   215,   181,
     971      -1,   237,   340,   139,   215,   181,    -1,   241,   340,   139,
     972     215,   181,    -1,   241,   237,   340,   139,   215,   181,    -1,
     973     331,    -1,   344,    -1,   336,    -1,   171,   127,   171,    -1,
     974      -1,    67,   114,   146,   115,   325,    -1,    -1,   326,    -1,
     975     327,    -1,   326,   327,    -1,    42,   114,   114,   328,   115,
     976     115,    -1,   329,    -1,   328,   121,   329,    -1,    -1,   330,
     977      -1,   330,   114,   150,   115,    -1,    75,    -1,    77,    -1,
     978      78,    -1,    10,    -1,   332,   325,    -1,   333,    -1,   334,
     979     325,    -1,   335,   325,    -1,   142,    -1,   114,   332,   115,
     980      -1,   157,   331,    -1,   157,   237,   331,    -1,   114,   333,
     981     115,   325,    -1,   332,   362,    -1,   114,   333,   115,   362,
     982      -1,   114,   334,   115,   363,    -1,   114,   334,   115,    -1,
     983     114,   333,   115,   114,   139,   277,   140,   115,    -1,   114,
     984     335,   115,    -1,   337,   325,    -1,   338,    -1,   339,   325,
     985      -1,   332,   114,   139,   277,   140,   115,    -1,   114,   338,
     986     115,   114,   139,   277,   140,   115,    -1,   114,   337,   115,
     987      -1,   157,   336,    -1,   157,   237,   336,    -1,   114,   338,
     988     115,    -1,   114,   338,   115,   362,    -1,   114,   339,   115,
     989     363,    -1,   114,   339,   115,    -1,   341,    -1,   342,    -1,
     990     343,    -1,   332,   114,   284,   115,    -1,   114,   342,   115,
     991     114,   139,   277,   140,   115,    -1,   114,   341,   115,    -1,
     992     157,   340,    -1,   157,   237,   340,    -1,   114,   342,   115,
     993      -1,   114,   342,   115,   362,    -1,   114,   343,   115,   363,
     994      -1,   114,   343,   115,    -1,   345,   325,    -1,   346,    -1,
     995     347,   325,    -1,   348,   325,    -1,   354,    -1,   114,   345,
     996     115,    -1,   157,   344,    -1,   157,   237,   344,    -1,   114,
     997     346,   115,   325,    -1,   345,   362,    -1,   114,   346,   115,
     998     362,    -1,   114,   347,   115,   363,    -1,   114,   347,   115,
     999      -1,   345,   114,   139,   277,   140,   115,    -1,   114,   346,
     1000     115,   114,   139,   277,   140,   115,    -1,   114,   348,   115,
     1001      -1,   332,   325,    -1,   350,    -1,   351,   325,    -1,   352,
     1002     325,    -1,   157,   349,    -1,   157,   237,   349,    -1,   114,
     1003     350,   115,   325,    -1,   332,   368,    -1,   114,   350,   115,
     1004     362,    -1,   114,   351,   115,   363,    -1,   114,   351,   115,
     1005      -1,   332,   114,   139,   277,   140,   115,    -1,   114,   350,
     1006     115,   114,   139,   277,   140,   115,    -1,   114,   352,   115,
     1007      -1,   354,   325,    -1,   355,    -1,   356,   325,    -1,   357,
     1008     325,    -1,    77,    -1,    78,    -1,   157,   353,    -1,   157,
     1009     237,   353,    -1,   114,   355,   115,   325,    -1,   354,   368,
     1010      -1,   114,   355,   115,   368,    -1,   354,   114,   139,   277,
     1011     140,   115,    -1,   114,   355,   115,   114,   139,   277,   140,
     1012     115,    -1,   359,    -1,   360,   325,    -1,   361,   325,    -1,
     1013     157,    -1,   157,   237,    -1,   157,   358,    -1,   157,   237,
     1014     358,    -1,   114,   359,   115,   325,    -1,   362,    -1,   114,
     1015     359,   115,   362,    -1,   114,   360,   115,   363,    -1,   114,
     1016     360,   115,    -1,   114,   139,   277,   140,   115,    -1,   114,
     1017     359,   115,   114,   139,   277,   140,   115,    -1,   114,   361,
     1018     115,    -1,   116,   117,    -1,   116,   117,   363,    -1,   363,
     1019      -1,   116,   139,   172,   140,   117,    -1,   116,   139,   122,
     1020     140,   117,    -1,   363,   116,   139,   172,   140,   117,    -1,
     1021     363,   116,   139,   122,   140,   117,    -1,   365,    -1,   366,
     1022     325,    -1,   367,   325,    -1,   157,    -1,   157,   237,    -1,
     1023     157,   364,    -1,   157,   237,   364,    -1,   114,   365,   115,
     1024     325,    -1,   368,    -1,   114,   365,   115,   368,    -1,   114,
     1025     366,   115,   363,    -1,   114,   366,   115,    -1,   114,   139,
     1026     277,   140,   115,    -1,   114,   365,   115,   114,   139,   277,
     1027     140,   115,    -1,   114,   367,   115,    -1,   369,    -1,   369,
     1028     363,    -1,   363,    -1,   116,   117,    -1,   116,   139,   237,
     1029     122,   140,   117,    -1,   116,   139,   237,   140,   117,    -1,
     1030     116,   139,   237,   172,   140,   117,    -1,   116,   139,     7,
     1031     236,   172,   140,   117,    -1,   116,   139,   237,     7,   172,
     1032     140,   117,    -1,   371,    -1,   372,   325,    -1,   373,   325,
     1033      -1,   157,    -1,   157,   237,    -1,   157,   370,    -1,   157,
     1034     237,   370,    -1,   114,   371,   115,   325,    -1,   362,    -1,
     1035     114,   371,   115,   362,    -1,   114,   372,   115,   363,    -1,
     1036     114,   372,   115,    -1,   114,   371,   115,   114,   139,   277,
     1037     140,   115,    -1,   114,   373,   115,    -1,   375,    -1,   383,
     1038      -1,   237,   383,    -1,   376,    -1,   377,    -1,   157,   235,
     1039      -1,   237,   157,   235,    -1,   157,   384,    -1,   237,   157,
     1040     384,    -1,   157,   374,    -1,   237,   157,   374,    -1,   116,
     1041     117,   235,    -1,   378,   235,    -1,   116,   117,   363,   235,
     1042      -1,   378,   363,   235,    -1,   363,   235,    -1,   116,   117,
     1043     376,    -1,   378,   376,    -1,   116,   117,   363,   376,    -1,
     1044     378,   363,   376,    -1,   363,   376,    -1,   116,   139,   237,
     1045     122,   140,   117,    -1,   116,   139,   237,   172,   140,   117,
     1046      -1,   116,   139,   241,   172,   140,   117,    -1,   116,   139,
     1047     241,   237,   172,   140,   117,    -1,   383,    -1,   237,   383,
     1048      -1,   380,    -1,   381,    -1,   382,    -1,   157,   234,    -1,
     1049     237,   157,   234,    -1,   157,   384,    -1,   237,   157,   384,
     1050      -1,   157,   379,    -1,   237,   157,   379,    -1,   116,   117,
     1051     234,    -1,   116,   117,   363,   234,    -1,   363,   234,    -1,
     1052     116,   117,   381,    -1,   116,   117,   363,   381,    -1,   363,
     1053     381,    -1,   116,   139,   276,   140,   117,    -1,   383,   114,
     1054     139,   273,   140,   115,    -1,   226,   114,   139,   273,   140,
     1055     115,    -1,    -1,   121,    -1,    -1,   136,   172,    -1
    10501056};
    10511057
     
    10741080     892,   897,   899,   904,   906,   910,   913,   917,   920,   924,
    10751081     926,   928,   930,   935,   937,   939,   944,   946,   948,   950,
    1076      952,   957,   959,   961,   963,   968,   980,   981,   986,   988,
    1077      993,   997,   999,  1001,  1003,  1005,  1011,  1012,  1018,  1019,
    1078     1023,  1024,  1029,  1031,  1037,  1038,  1040,  1046,  1051,  1061,
    1079     1063,  1067,  1068,  1073,  1075,  1079,  1080,  1084,  1086,  1090,
    1080     1091,  1095,  1096,  1100,  1101,  1116,  1117,  1118,  1119,  1120,
    1081     1124,  1129,  1136,  1146,  1151,  1156,  1164,  1169,  1174,  1179,
    1082     1184,  1214,  1219,  1226,  1228,  1235,  1240,  1245,  1256,  1261,
    1083     1266,  1271,  1276,  1285,  1290,  1320,  1324,  1325,  1326,  1332,
    1084     1337,  1345,  1346,  1347,  1348,  1352,  1353,  1354,  1355,  1360,
    1085     1361,  1370,  1371,  1376,  1377,  1381,  1383,  1385,  1387,  1389,
    1086     1392,  1391,  1403,  1404,  1406,  1416,  1417,  1422,  1424,  1426,
    1087     1428,  1430,  1433,  1435,  1438,  1443,  1445,  1447,  1449,  1451,
    1088     1453,  1455,  1457,  1459,  1461,  1463,  1465,  1467,  1469,  1471,
    1089     1477,  1478,  1480,  1482,  1484,  1489,  1490,  1496,  1497,  1499,
    1090     1501,  1506,  1508,  1510,  1512,  1517,  1518,  1520,  1522,  1527,
    1091     1528,  1530,  1535,  1536,  1538,  1540,  1545,  1547,  1549,  1554,
    1092     1555,  1559,  1561,  1567,  1566,  1570,  1572,  1577,  1579,  1585,
    1093     1586,  1591,  1592,  1597,  1600,  1608,  1609,  1611,  1613,  1618,
    1094     1619,  1625,  1626,  1628,  1631,  1634,  1639,  1640,  1645,  1650,
    1095     1652,  1658,  1657,  1664,  1666,  1672,  1673,  1681,  1682,  1686,
    1096     1687,  1688,  1690,  1692,  1699,  1700,  1702,  1704,  1709,  1710,
    1097     1716,  1717,  1721,  1722,  1727,  1728,  1729,  1731,  1739,  1740,
    1098     1742,  1745,  1747,  1751,  1752,  1753,  1755,  1757,  1761,  1766,
    1099     1774,  1776,  1785,  1787,  1792,  1793,  1794,  1798,  1799,  1800,
    1100     1804,  1805,  1806,  1810,  1811,  1812,  1817,  1818,  1823,  1824,
    1101     1826,  1831,  1832,  1837,  1838,  1839,  1840,  1841,  1856,  1857,
    1102     1862,  1863,  1869,  1871,  1874,  1876,  1878,  1901,  1902,  1904,
    1103     1906,  1911,  1912,  1914,  1919,  1924,  1925,  1931,  1930,  1934,
    1104     1938,  1940,  1942,  1944,  1950,  1951,  1956,  1961,  1963,  1968,
    1105     1970,  1971,  1973,  1978,  1980,  1982,  1987,  1989,  1994,  1999,
    1106     2007,  2013,  2012,  2026,  2027,  2032,  2033,  2037,  2042,  2047,
    1107     2055,  2060,  2071,  2072,  2077,  2078,  2084,  2085,  2089,  2090,
    1108     2091,  2096,  2095,  2106,  2114,  2120,  2126,  2135,  2141,  2147,
    1109     2153,  2159,  2167,  2173,  2181,  2187,  2196,  2197,  2198,  2202,
    1110     2208,  2209,  2219,  2220,  2224,  2225,  2230,  2235,  2236,  2242,
    1111     2243,  2245,  2250,  2251,  2252,  2253,  2288,  2290,  2291,  2293,
    1112     2298,  2303,  2308,  2310,  2312,  2317,  2319,  2321,  2323,  2328,
    1113     2330,  2339,  2341,  2342,  2347,  2349,  2351,  2356,  2358,  2360,
    1114     2365,  2367,  2369,  2381,  2382,  2383,  2387,  2389,  2391,  2396,
    1115     2398,  2400,  2405,  2407,  2409,  2424,  2426,  2427,  2429,  2434,
    1116     2435,  2440,  2442,  2444,  2449,  2451,  2453,  2455,  2460,  2462,
    1117     2464,  2474,  2476,  2477,  2479,  2484,  2486,  2488,  2493,  2495,
    1118     2497,  2499,  2504,  2506,  2508,  2521,  2523,  2524,  2526,  2531,
    1119     2536,  2544,  2546,  2548,  2553,  2555,  2560,  2562,  2579,  2580,
    1120     2582,  2587,  2589,  2591,  2593,  2595,  2600,  2601,  2603,  2605,
    1121     2610,  2612,  2614,  2620,  2622,  2624,  2628,  2630,  2632,  2634,
    1122     2668,  2669,  2671,  2676,  2678,  2680,  2682,  2684,  2689,  2690,
    1123     2692,  2694,  2699,  2701,  2703,  2709,  2710,  2712,  2721,  2724,
    1124     2726,  2729,  2731,  2733,  2747,  2748,  2750,  2755,  2757,  2759,
    1125     2761,  2763,  2768,  2769,  2771,  2773,  2778,  2780,  2788,  2789,
    1126     2790,  2795,  2796,  2800,  2802,  2804,  2806,  2808,  2810,  2817,
    1127     2819,  2821,  2823,  2825,  2828,  2830,  2832,  2834,  2836,  2841,
    1128     2843,  2845,  2850,  2876,  2877,  2879,  2883,  2884,  2888,  2890,
    1129     2892,  2894,  2896,  2898,  2905,  2907,  2909,  2911,  2913,  2915,
    1130     2920,  2927,  2929,  2947,  2949,  2954,  2955
     1082     952,   957,   959,   961,   963,   968,   976,   977,   982,   984,
     1083     989,   993,   995,   997,   999,  1001,  1007,  1008,  1014,  1015,
     1084    1019,  1020,  1025,  1027,  1033,  1034,  1036,  1042,  1047,  1057,
     1085    1059,  1063,  1064,  1069,  1071,  1075,  1076,  1080,  1082,  1086,
     1086    1087,  1091,  1092,  1096,  1097,  1112,  1113,  1114,  1115,  1116,
     1087    1120,  1125,  1132,  1142,  1147,  1152,  1160,  1165,  1170,  1175,
     1088    1180,  1210,  1215,  1222,  1224,  1231,  1236,  1241,  1252,  1257,
     1089    1262,  1267,  1272,  1281,  1286,  1316,  1320,  1321,  1322,  1328,
     1090    1333,  1341,  1342,  1343,  1344,  1353,  1354,  1355,  1356,  1360,
     1091    1361,  1362,  1363,  1372,  1373,  1374,  1375,  1380,  1381,  1390,
     1092    1391,  1396,  1397,  1401,  1403,  1405,  1407,  1409,  1412,  1411,
     1093    1423,  1424,  1426,  1436,  1437,  1442,  1444,  1446,  1448,  1450,
     1094    1453,  1455,  1458,  1463,  1465,  1467,  1469,  1471,  1473,  1475,
     1095    1477,  1479,  1481,  1483,  1485,  1487,  1489,  1491,  1497,  1498,
     1096    1500,  1502,  1504,  1509,  1510,  1516,  1517,  1519,  1521,  1526,
     1097    1528,  1530,  1532,  1537,  1538,  1540,  1542,  1547,  1548,  1550,
     1098    1555,  1556,  1558,  1560,  1565,  1566,  1568,  1573,  1574,  1576,
     1099    1578,  1583,  1585,  1587,  1592,  1593,  1597,  1598,  1602,  1605,
     1100    1604,  1608,  1610,  1614,  1619,  1624,  1626,  1632,  1633,  1638,
     1101    1639,  1644,  1647,  1655,  1656,  1658,  1660,  1665,  1666,  1672,
     1102    1673,  1675,  1678,  1681,  1686,  1687,  1692,  1697,  1700,  1699,
     1103    1703,  1707,  1715,  1717,  1723,  1724,  1732,  1733,  1737,  1738,
     1104    1739,  1741,  1743,  1750,  1751,  1753,  1755,  1760,  1761,  1767,
     1105    1768,  1772,  1773,  1778,  1779,  1780,  1782,  1790,  1791,  1793,
     1106    1796,  1798,  1802,  1803,  1804,  1806,  1808,  1813,  1818,  1826,
     1107    1828,  1837,  1839,  1844,  1845,  1846,  1850,  1851,  1852,  1856,
     1108    1857,  1858,  1862,  1863,  1864,  1869,  1870,  1875,  1876,  1878,
     1109    1883,  1884,  1889,  1890,  1891,  1892,  1893,  1908,  1909,  1914,
     1110    1915,  1921,  1923,  1926,  1928,  1930,  1953,  1954,  1956,  1958,
     1111    1963,  1964,  1966,  1971,  1976,  1977,  1983,  1982,  1986,  1990,
     1112    1992,  1994,  1996,  2002,  2003,  2008,  2013,  2015,  2020,  2022,
     1113    2023,  2025,  2030,  2032,  2034,  2039,  2041,  2046,  2051,  2059,
     1114    2065,  2064,  2078,  2079,  2084,  2085,  2089,  2094,  2099,  2107,
     1115    2112,  2123,  2124,  2129,  2130,  2136,  2137,  2141,  2142,  2143,
     1116    2148,  2147,  2158,  2166,  2172,  2178,  2187,  2193,  2199,  2205,
     1117    2211,  2219,  2225,  2233,  2239,  2248,  2249,  2250,  2254,  2260,
     1118    2261,  2271,  2272,  2276,  2277,  2282,  2287,  2288,  2294,  2295,
     1119    2297,  2302,  2303,  2304,  2305,  2340,  2342,  2343,  2345,  2350,
     1120    2355,  2360,  2362,  2364,  2369,  2371,  2373,  2375,  2380,  2382,
     1121    2391,  2393,  2394,  2399,  2401,  2403,  2408,  2410,  2412,  2417,
     1122    2419,  2421,  2433,  2434,  2435,  2439,  2441,  2443,  2448,  2450,
     1123    2452,  2457,  2459,  2461,  2476,  2478,  2479,  2481,  2486,  2487,
     1124    2492,  2494,  2496,  2501,  2503,  2505,  2507,  2512,  2514,  2516,
     1125    2526,  2528,  2529,  2531,  2536,  2538,  2540,  2545,  2547,  2549,
     1126    2551,  2556,  2558,  2560,  2573,  2575,  2576,  2578,  2583,  2588,
     1127    2596,  2598,  2600,  2605,  2607,  2612,  2614,  2631,  2632,  2634,
     1128    2639,  2641,  2643,  2645,  2647,  2652,  2653,  2655,  2657,  2662,
     1129    2664,  2666,  2672,  2674,  2676,  2680,  2682,  2684,  2686,  2720,
     1130    2721,  2723,  2728,  2730,  2732,  2734,  2736,  2741,  2742,  2744,
     1131    2746,  2751,  2753,  2755,  2761,  2762,  2764,  2773,  2776,  2778,
     1132    2781,  2783,  2785,  2799,  2800,  2802,  2807,  2809,  2811,  2813,
     1133    2815,  2820,  2821,  2823,  2825,  2830,  2832,  2840,  2841,  2842,
     1134    2847,  2848,  2853,  2855,  2857,  2859,  2861,  2863,  2870,  2872,
     1135    2874,  2876,  2878,  2881,  2883,  2885,  2887,  2889,  2894,  2896,
     1136    2898,  2903,  2929,  2930,  2932,  2936,  2937,  2941,  2943,  2945,
     1137    2947,  2949,  2951,  2958,  2960,  2962,  2964,  2966,  2968,  2973,
     1138    2980,  2982,  3000,  3002,  3007,  3008
    11311139};
    11321140#endif
     
    11891197  "cfa_function_return", "cfa_typedef_declaration", "typedef_declaration",
    11901198  "typedef_expression", "c_declaration", "declaring_list",
    1191   "declaration_specifier", "type_specifier", "type_qualifier_list_opt",
     1199  "declaration_specifier", "declaration_specifier_nobody",
     1200  "type_specifier", "type_specifier_nobody", "type_qualifier_list_opt",
    11921201  "type_qualifier_list", "type_qualifier", "type_qualifier_name", "$@1",
    11931202  "declaration_qualifier_list", "storage_class_list", "storage_class",
    11941203  "basic_type_name", "basic_declaration_specifier", "basic_type_specifier",
    11951204  "direct_type_name", "indirect_type_name", "sue_declaration_specifier",
    1196   "sue_type_specifier", "typedef_declaration_specifier",
    1197   "typedef_type_specifier", "elaborated_type", "aggregate_type", "$@2",
    1198   "aggregate_key", "field_declaration_list", "field_declaration",
     1205  "sue_type_specifier", "sue_declaration_specifier_nobody",
     1206  "sue_type_specifier_nobody", "typedef_declaration_specifier",
     1207  "typedef_type_specifier", "elaborated_type", "elaborated_type_nobody",
     1208  "aggregate_type", "$@2", "aggregate_type_nobody", "aggregate_key",
     1209  "field_declaration_list", "field_declaration",
    11991210  "cfa_field_declaring_list", "field_declaring_list", "field_declarator",
    12001211  "bit_subrange_size_opt", "bit_subrange_size", "enum_type", "$@3",
    1201   "enumerator_list", "enumerator_value_opt", "cfa_parameter_type_list_opt",
    1202   "cfa_parameter_type_list", "cfa_parameter_list",
    1203   "cfa_abstract_parameter_list", "parameter_type_list_opt",
    1204   "parameter_type_list", "parameter_list", "cfa_parameter_declaration",
    1205   "cfa_abstract_parameter_declaration", "parameter_declaration",
    1206   "abstract_parameter_declaration", "identifier_list",
    1207   "identifier_or_type_name", "no_01_identifier_or_type_name",
    1208   "no_attr_identifier_or_type_name", "type_name_no_function", "type_name",
    1209   "initializer_opt", "initializer", "initializer_list", "designation",
    1210   "designator_list", "designator", "typegen_declaration_specifier",
    1211   "typegen_type_specifier", "typegen_name", "type_parameter_list",
    1212   "type_parameter", "$@4", "type_class", "assertion_list_opt", "assertion",
    1213   "type_name_list", "type_declaring_list", "type_declarator",
    1214   "type_declarator_name", "trait_specifier", "$@5",
    1215   "trait_declaration_list", "trait_declaration",
     1212  "enum_type_nobody", "enumerator_list", "enumerator_value_opt",
     1213  "cfa_parameter_type_list_opt", "cfa_parameter_type_list",
     1214  "cfa_parameter_list", "cfa_abstract_parameter_list",
     1215  "parameter_type_list_opt", "parameter_type_list", "parameter_list",
     1216  "cfa_parameter_declaration", "cfa_abstract_parameter_declaration",
     1217  "parameter_declaration", "abstract_parameter_declaration",
     1218  "identifier_list", "identifier_or_type_name",
     1219  "no_01_identifier_or_type_name", "no_attr_identifier_or_type_name",
     1220  "type_name_no_function", "type_name", "initializer_opt", "initializer",
     1221  "initializer_list", "designation", "designator_list", "designator",
     1222  "typegen_declaration_specifier", "typegen_type_specifier",
     1223  "typegen_name", "type_parameter_list", "type_parameter", "$@4",
     1224  "type_class", "assertion_list_opt", "assertion", "type_name_list",
     1225  "type_declaring_list", "type_declarator", "type_declarator_name",
     1226  "trait_specifier", "$@5", "trait_declaration_list", "trait_declaration",
    12161227  "cfa_trait_declaring_list", "trait_declaring_list", "translation_unit",
    12171228  "external_definition_list", "external_definition_list_opt",
     
    13021313     228,   228,   228,   229,   229,   230,   230,   230,   230,   231,
    13031314     231,   232,   232,   232,   232,   233,   233,   233,   233,   234,
    1304      234,   235,   235,   236,   236,   237,   237,   237,   237,   237,
    1305      238,   237,   239,   239,   239,   240,   240,   241,   241,   241,
    1306      241,   241,   241,   241,   241,   242,   242,   242,   242,   242,
    1307      242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
    1308      243,   243,   243,   243,   243,   244,   244,   245,   245,   245,
    1309      245,   246,   246,   246,   246,   247,   247,   247,   247,   248,
    1310      248,   248,   249,   249,   249,   249,   250,   250,   250,   251,
    1311      251,   252,   252,   253,   252,   252,   252,   254,   254,   255,
    1312      255,   256,   256,   256,   256,   257,   257,   257,   257,   258,
    1313      258,   259,   259,   259,   259,   259,   260,   260,   261,   262,
    1314      262,   263,   262,   264,   264,   265,   265,   266,   266,   267,
    1315      267,   267,   267,   267,   268,   268,   268,   268,   269,   269,
    1316      270,   270,   271,   271,   272,   272,   272,   272,   273,   273,
    1317      273,   273,   273,   274,   274,   274,   274,   274,   275,   275,
    1318      276,   276,   277,   277,   278,   278,   278,   279,   279,   279,
    1319      280,   280,   280,   281,   281,   281,   282,   282,   283,   283,
    1320      283,   284,   284,   285,   285,   285,   285,   285,   286,   286,
    1321      287,   287,   288,   288,   288,   288,   288,   289,   289,   289,
    1322      289,   290,   290,   290,   291,   292,   292,   294,   293,   293,
    1323      295,   295,   295,   295,   296,   296,   297,   297,   297,   298,
    1324      298,   298,   298,   299,   299,   299,   300,   300,   301,   301,
    1325      302,   303,   302,   304,   304,   305,   305,   306,   306,   306,
    1326      307,   307,   308,   308,   309,   309,   310,   310,   311,   311,
    1327      311,   312,   311,   311,   313,   313,   313,   314,   314,   314,
    1328      314,   314,   314,   314,   314,   314,   315,   315,   315,   316,
    1329      317,   317,   318,   318,   319,   319,   320,   321,   321,   322,
    1330      322,   322,   323,   323,   323,   323,   324,   324,   324,   324,
    1331      325,   325,   326,   326,   326,   327,   327,   327,   327,   328,
    1332      328,   329,   329,   329,   330,   330,   330,   331,   331,   331,
    1333      332,   332,   332,   333,   333,   333,   334,   334,   334,   335,
    1334      335,   335,   336,   336,   336,   337,   337,   337,   337,   338,
    1335      338,   339,   339,   339,   340,   340,   340,   340,   341,   341,
    1336      341,   342,   342,   342,   342,   343,   343,   343,   344,   344,
    1337      344,   344,   345,   345,   345,   346,   346,   346,   346,   347,
    1338      347,   348,   348,   348,   349,   349,   350,   350,   351,   351,
    1339      351,   352,   352,   352,   352,   352,   353,   353,   353,   353,
    1340      354,   354,   354,   355,   355,   355,   356,   356,   356,   356,
    1341      357,   357,   357,   358,   358,   358,   358,   358,   359,   359,
    1342      359,   359,   360,   360,   360,   361,   361,   361,   362,   362,
    1343      362,   362,   362,   362,   363,   363,   363,   364,   364,   364,
    1344      364,   364,   365,   365,   365,   365,   366,   366,   367,   367,
    1345      367,   368,   368,   369,   369,   369,   369,   369,   369,   370,
    1346      370,   370,   370,   370,   370,   370,   370,   370,   370,   371,
    1347      371,   371,   371,   372,   372,   372,   373,   373,   374,   374,
    1348      374,   374,   374,   374,   375,   375,   375,   375,   375,   375,
    1349      376,   377,   377,   378,   378,   379,   379
     1315     234,   234,   234,   235,   235,   235,   235,   236,   236,   237,
     1316     237,   238,   238,   239,   239,   239,   239,   239,   240,   239,
     1317     241,   241,   241,   242,   242,   243,   243,   243,   243,   243,
     1318     243,   243,   243,   244,   244,   244,   244,   244,   244,   244,
     1319     244,   244,   244,   244,   244,   244,   244,   244,   245,   245,
     1320     245,   245,   245,   246,   246,   247,   247,   247,   247,   248,
     1321     248,   248,   248,   249,   249,   249,   249,   250,   250,   250,
     1322     251,   251,   251,   251,   252,   252,   252,   253,   253,   253,
     1323     253,   254,   254,   254,   255,   255,   256,   256,   257,   258,
     1324     257,   257,   257,   259,   259,   260,   260,   261,   261,   262,
     1325     262,   262,   262,   263,   263,   263,   263,   264,   264,   265,
     1326     265,   265,   265,   265,   266,   266,   267,   268,   269,   268,
     1327     268,   270,   271,   271,   272,   272,   273,   273,   274,   274,
     1328     274,   274,   274,   275,   275,   275,   275,   276,   276,   277,
     1329     277,   278,   278,   279,   279,   279,   279,   280,   280,   280,
     1330     280,   280,   281,   281,   281,   281,   281,   282,   282,   283,
     1331     283,   284,   284,   285,   285,   285,   286,   286,   286,   287,
     1332     287,   287,   288,   288,   288,   289,   289,   290,   290,   290,
     1333     291,   291,   292,   292,   292,   292,   292,   293,   293,   294,
     1334     294,   295,   295,   295,   295,   295,   296,   296,   296,   296,
     1335     297,   297,   297,   298,   299,   299,   301,   300,   300,   302,
     1336     302,   302,   302,   303,   303,   304,   304,   304,   305,   305,
     1337     305,   305,   306,   306,   306,   307,   307,   308,   308,   309,
     1338     310,   309,   311,   311,   312,   312,   313,   313,   313,   314,
     1339     314,   315,   315,   316,   316,   317,   317,   318,   318,   318,
     1340     319,   318,   318,   320,   320,   320,   321,   321,   321,   321,
     1341     321,   321,   321,   321,   321,   322,   322,   322,   323,   324,
     1342     324,   325,   325,   326,   326,   327,   328,   328,   329,   329,
     1343     329,   330,   330,   330,   330,   331,   331,   331,   331,   332,
     1344     332,   333,   333,   333,   334,   334,   334,   334,   335,   335,
     1345     336,   336,   336,   337,   337,   337,   338,   338,   338,   339,
     1346     339,   339,   340,   340,   340,   341,   341,   341,   342,   342,
     1347     342,   343,   343,   343,   344,   344,   344,   344,   345,   345,
     1348     346,   346,   346,   347,   347,   347,   347,   348,   348,   348,
     1349     349,   349,   349,   349,   350,   350,   350,   351,   351,   351,
     1350     351,   352,   352,   352,   353,   353,   353,   353,   354,   354,
     1351     355,   355,   355,   356,   356,   357,   357,   358,   358,   358,
     1352     359,   359,   359,   359,   359,   360,   360,   360,   360,   361,
     1353     361,   361,   362,   362,   362,   363,   363,   363,   363,   364,
     1354     364,   364,   365,   365,   365,   365,   365,   366,   366,   366,
     1355     366,   367,   367,   367,   368,   368,   368,   369,   369,   369,
     1356     369,   369,   369,   370,   370,   370,   371,   371,   371,   371,
     1357     371,   372,   372,   372,   372,   373,   373,   374,   374,   374,
     1358     375,   375,   376,   376,   376,   376,   376,   376,   377,   377,
     1359     377,   377,   377,   377,   377,   377,   377,   377,   378,   378,
     1360     378,   378,   379,   379,   379,   380,   380,   381,   381,   381,
     1361     381,   381,   381,   382,   382,   382,   382,   382,   382,   383,
     1362     384,   384,   385,   385,   386,   386
    13501363};
    13511364
     
    13821395       5,     7,     7,     5,     9,     2,     2,     5,     3,     5,
    13831396       4,     3,     4,     4,     7,     4,     3,     3,     3,     3,
    1384        6,     1,     1,     1,     1,     1,     1,     1,     1,     0,
    1385        1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
    1386        0,     5,     1,     2,     3,     1,     2,     1,     1,     1,
     1397       6,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1398       1,     1,     1,     1,     1,     1,     1,     0,     1,     1,
     1399       2,     1,     1,     1,     1,     1,     1,     1,     0,     5,
     1400       1,     2,     3,     1,     2,     1,     1,     1,     1,     1,
    13871401       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1388        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1389        1,     2,     2,     3,     3,     1,     3,     1,     2,     2,
    1390        2,     4,     4,     4,     4,     1,     2,     2,     3,     1,
    1391        2,     2,     1,     2,     2,     3,     1,     2,     2,     1,
    1392        1,     5,     3,     0,     7,     8,     3,     1,     1,     0,
    1393        2,     2,     3,     3,     4,     1,     2,     3,     2,     1,
    1394        4,     0,     1,     2,     2,     1,     0,     1,     2,     6,
    1395        3,     0,     8,     2,     4,     0,     2,     0,     1,     1,
    1396        1,     5,     5,     5,     1,     5,     5,     9,     1,     5,
    1397        0,     1,     1,     5,     1,     1,     5,     5,     1,     3,
    1398        3,     4,     1,     1,     1,     1,     2,     1,     3,     3,
    1399        2,     3,     1,     3,     1,     1,     1,     1,     1,     1,
    1400        1,     1,     1,     1,     1,     2,     1,     1,     0,     2,
    1401        2,     1,     4,     0,     1,     2,     3,     4,     2,     2,
    1402        1,     2,     2,     5,     5,     7,     6,     1,     2,     2,
    1403        3,     1,     2,     2,     4,     2,     4,     0,     4,     2,
    1404        1,     1,     1,     1,     0,     2,     5,     5,    13,     1,
    1405        1,     3,     3,     2,     3,     3,     2,     4,     1,     6,
    1406        9,     0,    11,     1,     3,     3,     3,     1,     1,     5,
    1407        2,     5,     0,     1,     1,     3,     0,     1,     1,     1,
    1408        5,     0,     6,     2,     1,     2,     4,     2,     3,     3,
    1409        3,     4,     5,     5,     5,     6,     1,     1,     1,     3,
    1410        0,     5,     0,     1,     1,     2,     6,     1,     3,     0,
    1411        1,     4,     1,     1,     1,     1,     2,     1,     2,     2,
    1412        1,     3,     2,     3,     4,     2,     4,     4,     3,     8,
    1413        3,     2,     1,     2,     6,     8,     3,     2,     3,     3,
    1414        4,     4,     3,     1,     1,     1,     4,     8,     3,     2,
    1415        3,     3,     4,     4,     3,     2,     1,     2,     2,     1,
    1416        3,     2,     3,     4,     2,     4,     4,     3,     6,     8,
    1417        3,     2,     1,     2,     2,     2,     3,     4,     2,     4,
    1418        4,     3,     6,     8,     3,     2,     1,     2,     2,     1,
    1419        1,     2,     3,     4,     2,     4,     6,     8,     1,     2,
    1420        2,     1,     2,     2,     3,     4,     1,     4,     4,     3,
    1421        5,     8,     3,     2,     3,     1,     5,     5,     6,     6,
    1422        1,     2,     2,     1,     2,     2,     3,     4,     1,     4,
    1423        4,     3,     5,     8,     3,     1,     2,     1,     2,     6,
    1424        5,     6,     7,     7,     1,     2,     2,     1,     2,     2,
    1425        3,     4,     1,     4,     4,     3,     8,     3,     1,     1,
    1426        2,     1,     1,     2,     3,     2,     3,     2,     3,     3,
    1427        2,     4,     3,     2,     3,     2,     4,     3,     2,     6,
    1428        6,     6,     7,     1,     2,     1,     1,     1,     2,     3,
    1429        2,     3,     2,     3,     3,     4,     2,     3,     4,     2,
    1430        5,     6,     6,     0,     1,     0,     2
     1402       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
     1403       2,     3,     3,     1,     3,     1,     2,     2,     2,     4,
     1404       4,     4,     4,     1,     2,     2,     3,     1,     2,     2,
     1405       1,     2,     2,     3,     1,     2,     2,     1,     2,     2,
     1406       3,     1,     2,     2,     1,     1,     1,     1,     5,     0,
     1407       7,     8,     1,     3,     3,     1,     1,     0,     2,     2,
     1408       3,     3,     4,     1,     2,     3,     2,     1,     4,     0,
     1409       1,     2,     2,     1,     0,     1,     2,     6,     0,     8,
     1410       1,     3,     2,     4,     0,     2,     0,     1,     1,     1,
     1411       5,     5,     5,     1,     5,     5,     9,     1,     5,     0,
     1412       1,     1,     5,     1,     1,     5,     5,     1,     3,     3,
     1413       4,     1,     1,     1,     1,     2,     1,     3,     3,     2,
     1414       3,     1,     3,     1,     1,     1,     1,     1,     1,     1,
     1415       1,     1,     1,     1,     2,     1,     1,     0,     2,     2,
     1416       1,     4,     0,     1,     2,     3,     4,     2,     2,     1,
     1417       2,     2,     5,     5,     7,     6,     1,     2,     2,     3,
     1418       1,     2,     2,     4,     2,     4,     0,     4,     2,     1,
     1419       1,     1,     1,     0,     2,     5,     5,    13,     1,     1,
     1420       3,     3,     2,     3,     3,     2,     4,     1,     6,     9,
     1421       0,    11,     1,     3,     3,     3,     1,     1,     5,     2,
     1422       5,     0,     1,     1,     3,     0,     1,     1,     1,     5,
     1423       0,     6,     2,     1,     2,     4,     2,     3,     3,     3,
     1424       4,     5,     5,     5,     6,     1,     1,     1,     3,     0,
     1425       5,     0,     1,     1,     2,     6,     1,     3,     0,     1,
     1426       4,     1,     1,     1,     1,     2,     1,     2,     2,     1,
     1427       3,     2,     3,     4,     2,     4,     4,     3,     8,     3,
     1428       2,     1,     2,     6,     8,     3,     2,     3,     3,     4,
     1429       4,     3,     1,     1,     1,     4,     8,     3,     2,     3,
     1430       3,     4,     4,     3,     2,     1,     2,     2,     1,     3,
     1431       2,     3,     4,     2,     4,     4,     3,     6,     8,     3,
     1432       2,     1,     2,     2,     2,     3,     4,     2,     4,     4,
     1433       3,     6,     8,     3,     2,     1,     2,     2,     1,     1,
     1434       2,     3,     4,     2,     4,     6,     8,     1,     2,     2,
     1435       1,     2,     2,     3,     4,     1,     4,     4,     3,     5,
     1436       8,     3,     2,     3,     1,     5,     5,     6,     6,     1,
     1437       2,     2,     1,     2,     2,     3,     4,     1,     4,     4,
     1438       3,     5,     8,     3,     1,     2,     1,     2,     6,     5,
     1439       6,     7,     7,     1,     2,     2,     1,     2,     2,     3,
     1440       4,     1,     4,     4,     3,     8,     3,     1,     1,     2,
     1441       1,     1,     2,     3,     2,     3,     2,     3,     3,     2,
     1442       4,     3,     2,     3,     2,     4,     3,     2,     6,     6,
     1443       6,     7,     1,     2,     1,     1,     1,     2,     3,     2,
     1444       3,     2,     3,     3,     4,     2,     3,     4,     2,     5,
     1445       6,     6,     0,     1,     0,     2
    14311446};
    14321447
     
    14361451static const yytype_uint16 yydefact[] =
    14371452{
    1438      299,   299,   319,   317,   320,   318,   321,   322,   305,   307,
    1439      306,     0,   308,   333,   325,   330,   328,   329,   327,   326,
    1440      331,   332,   338,   339,   337,   334,   335,   336,   552,   377,
    1441      378,     0,     0,     0,   299,     0,   309,   323,   324,     9,
    1442      366,     0,    10,    16,    17,     0,     2,    72,    73,   570,
    1443       11,   299,   528,   253,     3,   458,     3,   266,     0,     3,
    1444        3,     3,   254,     0,     0,     0,   300,   301,   303,   299,
    1445      312,   315,   347,   291,   340,   345,   292,   355,   293,   362,
    1446      359,   369,   552,   370,   294,   477,   481,     3,     3,     0,
    1447        2,   524,   529,   534,   304,     0,     0,   552,   582,   552,
    1448        2,   593,   594,   595,   299,     0,   736,   737,     0,    14,
    1449        0,    15,   299,   275,   276,     0,   300,   295,   296,   297,
    1450      298,   531,   310,     0,   553,   554,    14,   451,   452,    13,
    1451      447,   450,     0,   508,   503,   494,   451,   452,     0,     0,
    1452      533,     0,   299,     0,     0,     0,     0,     0,     0,     0,
    1453        0,   299,   299,     0,   738,   300,   587,   599,   742,   735,
    1454      733,   740,     0,     0,     0,   260,     2,     0,   537,   445,
    1455      446,   444,     0,     0,     0,     0,   639,   640,     0,     0,
    1456        3,   550,   546,   552,   567,   552,   552,   548,     2,   547,
    1457      552,   606,   552,   552,   609,     0,     0,     0,   299,   299,
    1458      317,   367,     2,   299,   267,   302,   313,   348,   360,   482,
    1459        0,     2,     0,   458,   268,   300,   341,   356,   363,   478,
    1460        0,     2,     0,   316,   342,   349,   350,     0,   357,   361,
    1461      364,   368,     0,   479,   483,     0,     0,     0,     1,   299,
    1462        2,   535,   581,   583,   299,     2,   746,   300,   749,   550,
    1463      550,     0,   300,     0,     0,   278,   552,   548,     2,   299,
    1464        0,     0,   299,     0,   400,   555,     2,   506,     2,   559,
    1465       19,     0,    18,     0,     0,     0,     0,    21,    69,     4,
    1466        8,     5,     6,     7,     0,     0,   299,     2,    74,    75,
    1467       76,    77,    57,    22,    58,    26,    56,    78,   299,     0,
    1468       80,    84,    87,    90,    95,    98,   100,   102,   104,   106,
    1469      108,   112,   500,    23,   454,   456,   499,     0,   453,   457,
    1470        0,   571,   586,   589,   592,   598,   601,   604,     2,   744,
    1471      299,   747,     2,    72,   299,     3,   432,     0,   755,   300,
    1472      299,   312,   340,   292,   355,   362,     3,     3,   414,   418,
    1473      428,   433,   477,   299,   434,   711,   712,   299,   435,   437,
    1474        2,   588,   600,   734,     2,     2,   255,     2,   463,     0,
    1475      461,   460,   459,   146,     2,     2,   257,     2,     2,   256,
     1453     307,   307,   327,   325,   328,   326,   329,   330,   313,   315,
     1454     314,     0,   316,   341,   333,   338,   336,   337,   335,   334,
     1455     339,   340,   346,   347,   345,   342,   343,   344,   571,   395,
     1456     396,     0,     0,     0,   307,     0,   317,   331,   332,     9,
     1457     381,     0,    10,    16,    17,     0,     2,    72,    73,   589,
     1458      11,   307,   547,   253,     3,   477,     3,   266,     0,     3,
     1459       3,     3,   254,     0,     0,     0,   308,   309,   311,   307,
     1460     320,   323,   355,   291,   348,   353,   292,   363,   293,   377,
     1461     367,   384,   392,   571,   385,   420,   294,   496,   500,     3,
     1462       3,     0,     2,   543,   548,   553,   312,     0,     0,   571,
     1463     601,   571,     2,   612,   613,   614,   307,     0,   755,   756,
     1464       0,    14,     0,    15,   307,   275,   276,     0,   308,   299,
     1465     300,   301,   302,   550,   318,     0,   572,   573,    14,   470,
     1466     471,    13,   466,   469,     0,   527,   522,   513,   470,   471,
     1467       0,     0,   552,     0,   307,     0,     0,     0,     0,     0,
     1468       0,     0,     0,   307,   307,     0,   757,   308,   606,   618,
     1469     761,   754,   752,   759,     0,     0,     0,   260,     2,     0,
     1470     556,   464,   465,   463,     0,     0,     0,     0,   658,   659,
     1471       0,     0,     3,   569,   565,   571,   586,   571,   571,   567,
     1472       2,   566,   571,   625,   571,   571,   628,     0,     0,     0,
     1473     307,   307,   325,   382,     2,   307,   267,   310,   321,   356,
     1474     368,   501,     0,     2,     0,   477,   268,   308,   349,   364,
     1475     378,   497,     0,     2,     0,   324,   350,   357,   358,     0,
     1476     365,   369,   379,   383,     0,   498,   502,     0,     0,     0,
     1477       1,   307,     2,   554,   600,   602,   307,     2,   765,   308,
     1478     768,   569,   569,     0,   308,     0,     0,   278,   571,   567,
     1479       2,   307,     0,     0,   307,     0,   421,   574,     2,   525,
     1480       2,   578,    19,     0,    18,     0,     0,     0,     0,    21,
     1481      69,     4,     8,     5,     6,     7,     0,     0,   307,     2,
     1482      74,    75,    76,    77,    57,    22,    58,    26,    56,    78,
     1483     307,     0,    80,    84,    87,    90,    95,    98,   100,   102,
     1484     104,   106,   108,   112,   519,    23,   473,   475,   518,     0,
     1485     472,   476,     0,   590,   605,   608,   611,   617,   620,   623,
     1486       2,   763,   307,   766,   571,     2,    72,   307,     3,   451,
     1487       0,   774,   308,   307,   320,   295,   348,   296,   370,   297,
     1488     377,   374,   386,   571,   387,     3,     3,   433,   437,   447,
     1489     452,   298,   496,   307,   453,   730,   731,   307,   454,   456,
     1490       2,   607,   619,   753,     2,     2,   255,     2,   482,     0,
     1491     480,   479,   478,   146,     2,     2,   257,     2,     2,   256,
    14761492       2,   286,     2,   287,     0,     0,     0,     0,     0,     0,
    1477        0,     0,     0,   572,   611,   552,     0,     0,   458,     2,
    1478      566,   575,   665,   568,   569,   538,   299,     2,   605,   614,
    1479      607,   608,     0,   281,   299,   299,   346,   300,     0,   300,
    1480      299,   739,   743,   741,   539,   299,   550,   261,   269,   314,
    1481        0,     2,   540,   299,   504,   343,   344,   288,   358,   365,
    1482      452,   299,   379,   372,   376,   480,   505,   258,   259,   525,
    1483      299,   442,     0,   299,   243,     0,     2,   245,     0,   300,
    1484        0,   263,     2,   264,   283,     0,     0,     2,   299,   550,
    1485      299,   490,   492,   491,   493,     0,     0,   755,     0,   753,
    1486      405,     0,   299,     0,   299,   495,   299,   565,   562,   563,
    1487      564,     0,   557,   560,     0,    20,   299,    64,   299,    78,
    1488       59,   299,    66,   299,   299,    62,    63,     2,   132,     0,
    1489        0,     0,   733,   299,    31,     0,    34,    35,    40,     2,
    1490        0,    40,   118,   119,   120,   121,   122,   123,   124,   125,
    1491      126,   127,   117,   116,     0,    60,    61,     0,     0,     0,
    1492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1493        0,     0,     0,     0,     0,     0,     2,   651,   455,   648,
    1494      552,   552,   656,   484,   299,     2,   590,   591,     2,   602,
    1495      603,     0,   745,   748,   299,   299,     0,   713,   300,   717,
    1496      708,   709,   715,     0,     2,     2,     0,   673,   552,   755,
    1497      622,   552,   552,   755,   552,   636,   552,   552,   687,   755,
    1498      670,   552,   552,   678,   685,   440,   299,   436,   300,     0,
    1499        0,   299,   723,   300,   728,   755,   720,   299,   725,   755,
    1500      299,   299,     0,     0,    21,     2,     0,    22,     0,   464,
    1501      753,     0,     0,   470,   247,     0,   299,     0,     0,     0,
    1502      552,   578,   580,   610,   552,   617,   620,   573,   612,     0,
    1503      285,     0,   289,   663,     0,   299,   282,     0,     0,     0,
    1504        0,   280,     2,     0,   265,   541,   299,     0,     0,   299,
    1505        0,   300,     3,   421,     3,   425,   424,   596,     0,   536,
    1506      299,    72,     3,   299,   755,   300,     3,   434,   435,     2,
    1507        0,     0,     0,   489,   311,   299,   485,   487,   754,     0,
    1508        0,   403,     0,     3,     2,     2,     0,   507,     3,     0,
    1509      559,    40,   530,     0,     2,     0,     0,     0,    41,     0,
    1510        0,   299,    24,     0,    25,     0,   114,     3,     2,    32,
    1511        0,    38,     0,     2,    29,     0,   113,    81,    82,    83,
    1512       85,    86,    88,    89,    93,    94,    91,    92,    96,    97,
    1513       99,   101,   103,   105,   107,     0,     0,   299,     0,     0,
    1514        0,   652,   653,   649,   650,   502,   501,   299,   299,   719,
    1515      299,   724,   300,   299,   667,   710,   666,     2,   299,     0,
    1516        0,     0,     0,     0,     0,     0,     0,   688,     0,   756,
    1517      674,   625,   641,   675,     2,   621,   628,   438,   623,   624,
    1518      439,     2,   635,   644,   637,   638,   441,   671,   672,   686,
    1519      714,   718,   716,   755,   273,     2,   750,     2,   429,   722,
    1520      727,   430,     3,   408,     3,     3,     3,   458,     0,     0,
    1521        2,   472,   469,   754,     0,   465,     2,   468,   471,     0,
    1522      299,   248,   270,     3,   277,   279,     0,     2,   574,   576,
    1523      577,     2,   613,   615,   616,   550,     0,   664,   542,     3,
    1524      352,   351,   354,   353,   299,   543,     0,   544,     0,   299,
    1525      371,   391,   380,     0,   385,   379,     0,     0,   443,   246,
    1526        0,     0,     3,     2,   673,   436,     0,   532,     0,   755,
    1527      494,   405,   399,   111,   406,   753,     0,   299,   299,   299,
    1528        0,   556,   558,     0,    65,   299,     0,    67,    70,    71,
    1529        0,   133,   463,    79,   115,   130,     3,   114,     0,    28,
    1530       40,     3,     0,    37,   110,     0,     3,   552,   659,   662,
    1531      654,     3,     3,   721,   726,     2,    72,   299,     3,     3,
    1532      300,     0,     3,   552,   631,   634,   552,   552,   681,   684,
    1533      299,     3,   626,   642,   676,   299,   299,   431,   299,   299,
    1534        0,     0,     0,     0,   262,   111,     0,     3,     3,     0,
    1535      466,     0,   462,     0,     0,   251,   299,     0,     0,   134,
    1536        0,     0,     0,     0,     0,   134,     0,     0,   114,   114,
    1537      226,    21,   366,   446,    69,     0,    22,   135,     0,     3,
    1538      136,   137,     2,   148,   138,   139,   140,   141,   142,   143,
    1539      150,     0,   152,     0,     0,     0,   299,   299,   458,   552,
    1540        0,   545,   379,   391,     0,     0,     0,   697,     0,   389,
    1541      392,   396,   552,   396,   702,   395,   694,   552,   552,   388,
    1542      381,   386,   299,   584,     2,   669,   668,     0,   674,     2,
    1543      486,   488,   404,     0,   509,     3,   517,   518,     0,     2,
    1544      513,     3,     3,     0,     0,   561,     0,   753,   114,     0,
    1545        3,    54,     0,    54,    54,     3,    42,    44,    39,     0,
    1546        3,   109,     0,     2,   655,   657,   658,     0,     0,   299,
    1547        0,     0,     0,     3,   552,     0,     2,   627,   629,   630,
    1548        2,   643,   645,     2,   677,   679,   680,     0,     0,    72,
    1549        0,     3,     3,     3,     3,   416,   415,   419,   752,     2,
    1550        2,   751,     0,     0,     0,     0,     3,   467,     3,     0,
    1551      249,   151,   153,     0,     0,     0,     0,     2,   197,     0,
    1552      195,     0,     0,     0,     0,     0,     0,     0,     0,   227,
    1553        0,     0,   157,   154,   299,     0,   552,     0,   272,   284,
    1554        3,     3,   290,   551,   618,   299,     0,   382,     0,     0,
    1555        0,     0,   398,   698,   699,   552,   383,   393,   397,   394,
    1556      695,   696,   387,   374,   299,   271,   299,   402,     0,   520,
    1557      497,   299,     0,     0,   496,   511,    68,     0,   131,   128,
    1558        0,    51,     2,    45,    52,    53,     0,     0,     0,     0,
    1559       27,     0,   660,   299,   585,   597,   729,   730,   731,     0,
    1560      682,   299,   299,   299,     3,     3,     0,   690,     0,     0,
    1561        0,     0,   299,   299,     3,   549,   473,   474,     0,   252,
    1562        0,     0,     0,     0,   299,   198,   196,     0,   193,   199,
    1563        0,     0,     0,     0,   203,   206,   204,   200,     0,   201,
    1564        0,     0,    40,   149,   147,   134,   250,     0,     0,   375,
    1565      384,   552,   705,   707,   700,   391,   423,   427,   426,     0,
    1566      514,     2,   515,     2,   516,   510,   299,    36,   129,    55,
    1567        0,    43,    33,     2,    49,     2,    47,    30,     3,   732,
    1568        3,     3,     3,     0,     0,   689,   691,   632,   646,   274,
    1569        2,   413,     3,   412,     0,   476,   134,     0,     0,   134,
    1570        3,     0,   134,     3,   300,   299,   194,     0,     2,     2,
    1571      215,   205,     0,     0,     0,     0,     0,     0,   145,   579,
    1572      619,     2,   701,   703,   704,   390,     2,     0,     0,     2,
    1573        3,     0,     0,     0,     0,     0,     0,   692,   693,   299,
    1574        0,   475,   158,     0,     0,     2,   171,   134,   160,     0,
    1575      188,     0,   134,     0,   300,     2,   162,     0,     2,     0,
    1576        2,     2,     2,   202,     0,     0,   228,    37,   299,   299,
    1577      519,   521,   512,     0,     3,     3,   661,   633,   647,   683,
    1578      417,   134,   164,   167,     0,   166,   170,     3,   173,   172,
    1579        0,   134,   190,   134,     3,     0,   299,     0,   299,     0,
    1580        2,     0,     2,     0,   221,     0,     0,     0,   229,   230,
    1581      144,     3,     2,    46,     0,     0,   159,     0,     0,   169,
    1582      239,   174,     2,   241,   189,     0,   192,   178,   207,     3,
    1583      216,   220,   209,     3,     0,   299,     0,   299,   228,     0,
    1584        0,     0,   228,     0,     0,     0,    50,    48,   165,   168,
    1585      134,     0,   175,   299,   134,   134,     0,   179,     0,     0,
    1586      697,   217,   218,   219,     0,   208,     3,   210,     3,     0,
    1587        0,     0,   222,     0,   231,   706,   299,   155,   176,   161,
    1588      134,   242,   191,   186,   184,   180,   163,   134,     0,   698,
    1589        0,     0,     0,   234,     0,   232,     0,   234,     0,   156,
    1590      177,   187,   181,   185,   184,   182,     3,     3,     0,     0,
    1591      235,     0,     0,   223,     0,   498,   183,   211,   213,     3,
    1592        3,     0,     0,     0,     0,   212,   214,   236,   237,     0,
    1593      233,   224,     0,     0,   225,   238
     1493       0,     0,     0,   591,   630,   571,     0,     0,   477,     2,
     1494     585,   594,   684,   587,   588,   557,   307,     2,   624,   633,
     1495     626,   627,     0,   281,   307,   307,   354,   308,     0,   308,
     1496     307,   758,   762,   760,   558,   307,   569,   261,   269,   322,
     1497       0,     2,   559,   307,   523,   351,   352,   288,   366,   380,
     1498     471,   307,   397,   393,   394,   499,   524,   258,   259,   544,
     1499     307,   461,     0,   307,   243,     0,     2,   245,     0,   308,
     1500     307,     0,   263,     2,   264,   283,     0,     0,     2,   307,
     1501     569,   307,   509,   511,   510,   512,     0,     0,   774,     0,
     1502     772,   424,     0,   307,     0,   307,   514,   307,   584,   581,
     1503     582,   583,     0,   576,   579,     0,    20,   307,    64,   307,
     1504      78,    59,   307,    66,   307,   307,    62,    63,     2,   132,
     1505       0,     0,     0,   752,   307,    31,     0,    34,    35,    40,
     1506       2,     0,    40,   118,   119,   120,   121,   122,   123,   124,
     1507     125,   126,   127,   117,   116,     0,    60,    61,     0,     0,
     1508       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1509       0,     0,     0,     0,     0,     0,     0,     2,   670,   474,
     1510     667,   571,   571,   675,   503,   307,     2,   609,   610,     2,
     1511     621,   622,     0,   764,   767,     0,   307,   307,     0,   732,
     1512     308,   303,   304,   305,   306,   736,   727,   728,   734,     0,
     1513       2,     2,     0,   692,   571,   774,   641,   571,   571,   774,
     1514     571,   655,   571,   571,   706,   774,   689,   571,   571,   697,
     1515     704,   459,   307,   375,   455,   308,   371,   372,   376,     0,
     1516       0,     0,   307,   742,   308,   747,   774,   739,   307,   744,
     1517     774,   307,   307,     0,     0,    21,     2,     0,    22,     0,
     1518     483,   772,     0,     0,   489,   247,     0,   307,     0,     0,
     1519       0,   571,   597,   599,   629,   571,   636,   639,   592,   631,
     1520       0,   285,     0,   289,   682,     0,   307,   282,     0,     0,
     1521       0,     0,   280,     2,     0,   265,   560,   307,     0,     0,
     1522     307,     0,   308,     3,   440,     3,   444,   443,   615,     0,
     1523     555,   307,   308,    72,     3,   307,   774,   308,     3,   453,
     1524     454,     2,     0,     0,     0,   508,   319,   307,   504,   506,
     1525     773,     0,     0,   422,     0,     3,     2,     2,     0,   526,
     1526       3,     0,   578,    40,   549,     0,     2,     0,     0,     0,
     1527      41,     0,     0,   307,    24,     0,    25,     0,   114,     3,
     1528       2,    32,     0,    38,     0,     2,    29,     0,   113,    81,
     1529      82,    83,    85,    86,    88,    89,    93,    94,    91,    92,
     1530      96,    97,    99,   101,   103,   105,   107,     0,     0,   307,
     1531       0,     0,     0,   671,   672,   668,   669,   521,   520,   307,
     1532     307,   421,   738,   307,   743,   308,   307,   686,   729,   685,
     1533       2,   307,     0,     0,     0,     0,     0,     0,     0,     0,
     1534     707,     0,   775,   693,   644,   660,   694,     2,   640,   647,
     1535     457,   642,   643,   458,     2,   654,   663,   656,   657,   460,
     1536     690,   691,   705,   733,   737,   735,   774,   373,   393,   273,
     1537       2,   769,     2,   448,   741,   746,   449,     3,   427,     3,
     1538       3,     3,   477,     0,     0,     2,   491,   488,   773,     0,
     1539     484,     2,   487,   490,     0,   307,   248,   270,     3,   277,
     1540     279,     0,     2,   593,   595,   596,     2,   632,   634,   635,
     1541     569,     0,   683,   561,     3,   360,   359,   362,   361,   307,
     1542     562,     0,   563,     0,   307,   388,   409,   398,     0,   403,
     1543     397,     0,     0,   462,   246,     0,     0,     3,     2,   692,
     1544     455,     0,   551,     0,   774,   513,   424,   417,   111,   425,
     1545     772,     0,   307,   307,   307,     0,   575,   577,     0,    65,
     1546     307,     0,    67,    70,    71,     0,   133,   482,    79,   115,
     1547     130,     3,   114,     0,    28,    40,     3,     0,    37,   110,
     1548       0,     3,   571,   678,   681,   673,     3,     3,   740,   745,
     1549       2,    72,   307,     3,     3,   308,     0,     3,   571,   650,
     1550     653,   571,   571,   700,   703,   307,     3,   645,   661,   695,
     1551     307,   307,   450,   307,   307,     0,     0,     0,     0,   262,
     1552     111,     0,     3,     3,     0,   485,     0,   481,     0,     0,
     1553     251,   307,     0,     0,   134,     0,     0,     0,     0,     0,
     1554     134,     0,     0,   114,   114,   226,    21,   381,   465,    69,
     1555       0,    22,   135,     0,     3,   136,   137,     2,   148,   138,
     1556     139,   140,   141,   142,   143,   150,     0,   152,     0,     0,
     1557       0,   307,   307,   477,   571,     0,   564,   397,   409,     0,
     1558       0,     0,   716,     0,   407,   410,   414,   571,   414,   721,
     1559     413,   713,   571,   571,   406,   399,   404,   307,   603,     2,
     1560     688,   687,     0,   693,     2,   505,   507,   423,     0,   528,
     1561       3,   536,   537,     0,     2,   532,     3,     3,     0,     0,
     1562     580,     0,   772,   114,     0,     3,    54,     0,    54,    54,
     1563       3,    42,    44,    39,     0,     3,   109,     0,     2,   674,
     1564     676,   677,     0,     0,   307,     0,     0,     0,     3,   571,
     1565       0,     2,   646,   648,   649,     2,   662,   664,     2,   696,
     1566     698,   699,     0,     0,    72,     0,     3,     3,     3,     3,
     1567     435,   434,   438,   771,     2,     2,   770,     0,     0,     0,
     1568       0,     3,   486,     3,     0,   249,   151,   153,     0,     0,
     1569       0,     0,     2,   197,     0,   195,     0,     0,     0,     0,
     1570       0,     0,     0,     0,   227,     0,     0,   157,   154,   307,
     1571       0,   571,     0,   272,   284,     3,     3,   290,   570,   637,
     1572     307,     0,   400,     0,     0,     0,     0,   416,   717,   718,
     1573     571,   401,   411,   415,   412,   714,   715,   405,   390,   307,
     1574     271,   307,   419,     0,   539,   516,   307,     0,     0,   515,
     1575     530,    68,     0,   131,   128,     0,    51,     2,    45,    52,
     1576      53,     0,     0,     0,     0,    27,     0,   679,   307,   604,
     1577     616,   748,   749,   750,     0,   701,   307,   307,   307,     3,
     1578       3,     0,   709,     0,     0,     0,     0,   307,   307,     3,
     1579     568,   492,   493,     0,   252,     0,     0,     0,     0,   307,
     1580     198,   196,     0,   193,   199,     0,     0,     0,     0,   203,
     1581     206,   204,   200,     0,   201,     0,     0,    40,   149,   147,
     1582     134,   250,     0,     0,   391,   402,   571,   724,   726,   719,
     1583     409,   442,   446,   445,     0,   533,     2,   534,     2,   535,
     1584     529,   307,    36,   129,    55,     0,    43,    33,     2,    49,
     1585       2,    47,    30,     3,   751,     3,     3,     3,     0,     0,
     1586     708,   710,   651,   665,   274,     2,   432,     3,   431,     0,
     1587     495,   134,     0,     0,   134,     3,     0,   134,     3,   308,
     1588     307,   194,     0,     2,     2,   215,   205,     0,     0,     0,
     1589       0,     0,     0,   145,   598,   638,     2,   720,   722,   723,
     1590     408,     2,     0,     0,     2,     3,     0,     0,     0,     0,
     1591       0,     0,   711,   712,   307,     0,   494,   158,     0,     0,
     1592       2,   171,   134,   160,     0,   188,     0,   134,     0,   308,
     1593       2,   162,     0,     2,     0,     2,     2,     2,   202,     0,
     1594       0,   228,    37,   307,   307,   538,   540,   531,     0,     3,
     1595       3,   680,   652,   666,   702,   436,   134,   164,   167,     0,
     1596     166,   170,     3,   173,   172,     0,   134,   190,   134,     3,
     1597       0,   307,     0,   307,     0,     2,     0,     2,     0,   221,
     1598       0,     0,     0,   229,   230,   144,     3,     2,    46,     0,
     1599       0,   159,     0,     0,   169,   239,   174,     2,   241,   189,
     1600       0,   192,   178,   207,     3,   216,   308,   220,   209,     3,
     1601       0,   307,     0,   307,   228,     0,     0,     0,   228,     0,
     1602       0,     0,    50,    48,   165,   168,   134,     0,   175,   307,
     1603     134,   134,     0,   179,     0,     0,   716,   217,   218,   219,
     1604       0,   208,     3,   210,     3,     0,     0,     0,   222,     0,
     1605     231,   725,   307,   155,   176,   161,   134,   242,   191,   186,
     1606     184,   180,   163,   134,     0,   717,     0,     0,     0,   234,
     1607       0,   232,     0,   234,     0,   156,   177,   187,   181,   185,
     1608     184,   182,     3,     3,     0,     0,   235,     0,     0,   223,
     1609       0,   517,   183,   211,   213,     3,     3,     0,     0,     0,
     1610       0,   212,   214,   236,   237,     0,   233,   224,     0,     0,
     1611     225,   238
    15941612};
    15951613
     
    15971615static const yytype_int16 yydefgoto[] =
    15981616{
    1599       -1,   778,   454,   292,    49,   130,   131,   293,   294,   272,
    1600      295,   296,   730,   731,  1075,  1076,  1077,  1201,   297,   369,
    1601      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
    1602      309,   310,   311,   966,   508,   915,   534,   313,   916,   997,
    1603      998,  1497,  1000,  1001,  1002,  1003,  1498,  1004,  1005,  1403,
    1604     1404,  1366,  1367,  1368,  1471,  1472,  1476,  1477,  1522,  1523,
    1605     1006,  1321,  1007,  1008,  1254,  1255,  1256,  1449,  1009,  1150,
    1606     1427,  1428,  1429,  1531,  1549,  1441,  1442,   455,   456,   840,
    1607      841,   974,    52,    53,    54,    55,    56,   336,   153,    59,
    1608       60,    61,    62,   180,   338,    64,    65,   252,    67,    68,
    1609      262,   340,   341,    71,    72,    73,   117,    75,   198,   343,
    1610      118,    78,   119,    80,    81,   670,    82,   669,   872,   873,
    1611     1028,  1029,  1177,  1030,    83,   481,   479,   701,   822,   823,
    1612      346,   347,   672,   673,   674,   348,   349,   675,   351,   452,
    1613     1011,   132,   133,   315,   316,   165,   629,   630,   631,   632,
    1614      633,    84,   120,    86,   476,   477,   890,   478,   267,   485,
    1615      317,    87,   134,   135,    88,  1286,  1059,  1060,  1061,  1062,
    1616       89,    90,   690,    91,   261,    92,    93,   181,   968,   664,
    1617      400,   124,    94,   491,   492,   493,   182,   256,   184,   185,
    1618      186,   257,    97,    98,    99,   100,   101,   102,   103,   189,
    1619      190,   191,   192,   193,   791,   590,   591,   592,   593,   194,
    1620      595,   596,   597,   558,   559,   560,   561,  1034,   104,   599,
    1621      600,   601,   602,   603,   604,  1035,  1036,  1037,  1038,   579,
    1622      354,   355,   356,   357,   318,   159,   106,   107,   108,   359,
    1623      699,   605
     1617      -1,   801,   464,   294,    49,   132,   133,   295,   296,   274,
     1618     297,   298,   752,   753,  1100,  1101,  1102,  1226,   299,   379,
     1619     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     1620     311,   312,   313,   991,   519,   940,   545,   315,   941,  1022,
     1621    1023,  1523,  1025,  1026,  1027,  1028,  1524,  1029,  1030,  1428,
     1622    1429,  1391,  1392,  1393,  1497,  1498,  1502,  1503,  1548,  1549,
     1623    1031,  1346,  1032,  1033,  1279,  1280,  1281,  1474,  1034,  1175,
     1624    1452,  1453,  1454,  1557,  1575,  1466,  1467,   465,   466,   865,
     1625     866,   999,    52,    53,    54,    55,    56,   339,   155,    59,
     1626      60,    61,    62,   182,   468,   341,    64,  1475,    65,   254,
     1627      67,    68,   264,   343,   344,    71,    72,   345,   119,    75,
     1628     200,    76,   120,   347,   348,   349,   121,    80,   351,    81,
     1629     691,    82,    83,   690,   897,   898,  1053,  1054,  1202,  1055,
     1630      84,   492,    85,   490,   723,   847,   848,   355,   356,   693,
     1631     694,   695,   357,   358,   696,   360,   462,  1036,   134,   135,
     1632     317,   318,   167,   650,   651,   652,   653,   654,   361,   122,
     1633      88,   487,   488,   915,   489,   269,   496,   319,    89,   136,
     1634     137,    90,  1311,  1084,  1085,  1086,  1087,    91,    92,   712,
     1635      93,   263,    94,    95,   183,   993,   685,   410,   126,    96,
     1636     502,   503,   504,   184,   258,   186,   187,   188,   259,    99,
     1637     100,   101,   102,   103,   104,   105,   191,   192,   193,   194,
     1638     195,   814,   606,   607,   608,   609,   196,   611,   612,   613,
     1639     569,   570,   571,   572,  1059,   106,   615,   616,   617,   618,
     1640     619,   620,  1060,  1061,  1062,  1063,   595,   364,   365,   366,
     1641     367,   320,   161,   108,   109,   110,   369,   721,   621
    16241642};
    16251643
    16261644/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    16271645   STATE-NUM.  */
    1628 #define YYPACT_NINF -1330
     1646#define YYPACT_NINF -1346
    16291647static const yytype_int16 yypact[] =
    16301648{
    1631     6225,  5848, -1330,    41, -1330, -1330, -1330, -1330, -1330, -1330,
    1632    -1330,    44, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1633    -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,   160, -1330,
    1634    -1330,  1888,  1143,   152,  7885,   161, -1330, -1330, -1330, -1330,
    1635    -1330,   267, -1330, -1330, -1330,   930,   170, -1330, -1330, -1330,
    1636    -1330,  3147, -1330, -1330, -1330,    75,   301, -1330,  1958, -1330,
    1637    -1330, -1330, -1330,  1627,   423,    40,  8006, -1330, -1330,  3147,
    1638      760, -1330, -1330,   725,   435,  4274,  1756,   809,   725,   987,
    1639    -1330, -1330,   160, -1330,   725,  1086, -1330,   265, -1330,   447,
    1640      450, -1330, -1330, -1330, -1330,   351,   301,   160, -1330,   160,
    1641    -1330, -1330, -1330, -1330,  8356,  1958, -1330, -1330,  1958, -1330,
    1642      337, -1330,  8476, -1330, -1330,  1743,  9451, -1330,  1134,  1134,
    1643     1134, -1330, -1330,   862,   160, -1330,   432,   459,   482, -1330,
    1644    -1330, -1330,   487, -1330, -1330, -1330, -1330, -1330,   511,   519,
    1645    -1330,   413,  9017,  2489,   116,   434,   446,   525,   537,   556,
    1646      561,  9526,  7391,   567, -1330,  3761, -1330, -1330, -1330, -1330,
    1647      570, -1330,   105,  5159,  5159, -1330,   586,   266, -1330, -1330,
    1648    -1330, -1330,   601,   369,   380,   402, -1330, -1330,  1627,  1992,
    1649      603,   654, -1330,    56, -1330,   160,   160,   301, -1330, -1330,
    1650       68, -1330,   160,   160, -1330,  2640,   630,   635,  1134,  6918,
    1651    -1330, -1330, -1330,  3147, -1330, -1330,   725, -1330, -1330, -1330,
    1652      301, -1330,  1958,    75, -1330,  8202, -1330,  1134,  1134,  1134,
    1653      301, -1330,  1888, -1330,  3470, -1330, -1330,   610,  1134, -1330,
    1654     1134, -1330,  1182,  1134, -1330,  1888,   619,   624, -1330,  7885,
    1655      540, -1330, -1330, -1330,  9378, -1330, -1330,  3910, -1330,   654,
    1656       53, 10308,  9451,  1743,  2640, -1330,    69, -1330, -1330,  8476,
    1657     1958,   656, 10981,  1143,   666, -1330, -1330,   383, -1330,   453,
    1658    -1330,   692,   757, 10367,   729, 10308, 10426, -1330,   743, -1330,
    1659    -1330, -1330, -1330, -1330, 10485, 10485,  8781,   170, -1330, -1330,
    1660    -1330, -1330, -1330, -1330, -1330, -1330,  1854,  1766,  9017, 10308,
    1661    -1330,   571,   562,   733,   403,   661,   742,   720,   772,   811,
    1662       80, -1330, -1330, -1330,   587, -1330, -1330,   242, -1330, -1330,
    1663     2489, -1330, -1330,    52,   795, -1330,   295,   795, -1330, -1330,
    1664     8356, -1330,   800,   803,  9135, -1330, -1330,  1159,  2129,  8562,
    1665     6918,   725, -1330,   725,  1134,  1134, -1330, -1330, -1330, -1330,
    1666    -1330, -1330,  1134,  8356,  1958, -1330, -1330,  9526,  1829, -1330,
    1667    -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,  5097, 10308,
    1668    -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1669    -1330, -1330, -1330, -1330,   701,   806,   813,   817,   776,   819,
    1670      827,   839,  1992, -1330, -1330,   160,   787,   812,    75,   849,
    1671    -1330, -1330,   851, -1330, -1330, -1330,  9378, -1330, -1330, -1330,
    1672    -1330, -1330,  2640, -1330,  9017,  9017, -1330,  1134,  1743,  7053,
    1673     8637, -1330, -1330, -1330, -1330,  9378,    53, -1330, -1330,   725,
    1674      301, -1330, -1330,  9378, -1330,  4136, -1330, -1330,  1134,  1134,
    1675      267,  9017, -1330,   856, -1330,  1134, -1330, -1330, -1330, -1330,
    1676     9719, -1330,   334, 10721, -1330,   301,   858, -1330,  1743, 10761,
    1677    10544, -1330, -1330, -1330, -1330,   873,  2640, -1330,  8637,   654,
    1678     7764, -1330, -1330, -1330, -1330,  1408,   393,   834,  1143,   864,
    1679      855,   874, 10981,  1547,  8476, -1330, 10981, -1330, -1330, -1330,
    1680    -1330,   596, -1330,   881,   859, -1330,  8781, -1330,  9566, -1330,
    1681    -1330,  8781, -1330,  8899,  8781, -1330, -1330,   170, -1330,   598,
    1682      889,   892, -1330,  7143, -1330,    85, -1330, -1330, 10308, -1330,
    1683      542, 10308, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1684    -1330, -1330, -1330, -1330, 10308, -1330, -1330, 10308, 10308, 10308,
    1685    10308, 10308, 10308, 10308, 10308, 10308, 10308, 10308, 10308, 10308,
    1686    10308, 10308, 10308, 10308, 10308,  3975,   587,   600, -1330, -1330,
    1687      160,   160, -1330, -1330,  9017, -1330, -1330,   851, -1330, -1330,
    1688      851, 10603, -1330, -1330,  9526,  7143,   893, -1330,  9451, -1330,
    1689    -1330,   570, -1330,   895,   566,   904, 10308,  2075,    76,   834,
    1690    -1330,   160,   160,   834,   202, -1330,   160,   160,   851,   834,
    1691    -1330,   160,   160, -1330,   795, -1330,  9599,  1958, 10912,   173,
    1692      526,  9599, -1330,  3910, -1330,   834, -1330,  8356, -1330,    55,
    1693     6359,  6359,  1958, 10190,   891, -1330,   960,   896,   899, -1330,
    1694      909,  5159,   408, -1330,  1005,  1958,  6359,   540,  1743,   540,
    1695      209,   795, -1330, -1330,   275,   795, -1330, -1330, -1330,  1743,
    1696    -1330,   413, -1330,   795,   301,  9719, -1330,   621,   926,   622,
    1697      928, -1330,   800,   301, -1330, -1330,  9378,   301,   631,  2873,
    1698      927, 10912, -1330, -1330,   935, -1330, -1330, -1330,   540, -1330,
    1699    10837,   803, -1330,  6359,   543,  8562, -1330, -1330,   570,   925,
    1700      934,  1408,  2646, -1330, -1330, 10981, -1330, -1330,  1143,   936,
    1701    10308, -1330,  1143,   938, -1330, -1330,   946, -1330,   938,   947,
    1702      453, 10308, -1330,   950,   170,   949,   952,   953, -1330,   959,
    1703      963,  7143, -1330, 10308, -1330, 10249, 10308,   966, -1330, -1330,
    1704      633, -1330, 10308, -1330, -1330,   683, -1330, -1330, -1330, -1330,
    1705      571,   571,   562,   562,   733,   733,   733,   733,   403,   403,
    1706      661,   742,   720,   772,   811, 10308,   164,  9719,   965,   976,
    1707      977,   600, -1330, -1330, -1330, -1330, -1330,  9719,  9719, -1330,
    1708     8356, -1330,  7515,  9253, -1330, -1330, -1330,   566,  9719,   901,
    1709      979,   980,   986,   990,   996,  1001,  1004, -1330,  5001, -1330,
    1710     2075, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1711    -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,   851,
    1712    -1330, -1330, -1330,   834, -1330, -1330, -1330, -1330, -1330, -1330,
    1713    -1330, -1330, -1330, -1330,  1008,  1010, -1330,    75,   966, 10190,
    1714    -1330, -1330, -1330,  5097,   982, -1330, -1330, -1330, -1330,  1143,
    1715     6749,  1096, -1330, -1330, -1330, -1330,   994, -1330, -1330, -1330,
    1716      851, -1330, -1330, -1330,   851,   654,  1019,   851, -1330, -1330,
    1717    -1330, -1330, -1330, -1330,  7391, -1330,   301, -1330,  1023,  9566,
    1718    -1330,  1424, -1330,   421,  1143, -1330,  1035,  1030, -1330, -1330,
    1719     1036,  1040, -1330,   822,  1684, -1330,   552, -1330,  2646,   834,
    1720    -1330,   855, -1330, -1330, -1330,   864,  1046, 10981,  8476,  9017,
    1721     1050, -1330, -1330,   665,  1039,  7391,   540,  1039, -1330, -1330,
    1722     1039, -1330,  5097, -1330, -1330, -1330,  1045, 10308,  1051, -1330,
    1723    10308, -1330,  1051, -1330, -1330, 10308, -1330,   305,   795, -1330,
    1724    -1330, -1330, -1330, -1330, -1330, -1330,   803,  9135, -1330, -1330,
    1725     7639,  1055, -1330,   308,   795, -1330,   311,   328,   795, -1330,
    1726     1134,  6615, -1330, -1330, -1330,  9719,  9719, -1330,  8637,  8637,
    1727     1062,  1058,  1060,  1067, -1330,   655,   304,   966, -1330,  1051,
    1728    -1330,  5159, -1330, 10308,   426, -1330,  7019,  1057,  1073, 10131,
    1729     1074,  1075,   885,  1043,   501, 10308,  1077,   301, 10308, 10308,
    1730     1185,  1065,  1066,   267,   113,   637,  1068,  1072,  1082, -1330,
    1731    -1330, -1330,  1085, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1732    -1330,  1076, -1330,  1143,  1095, 10308,  9719,  9719,    75,   160,
    1733     1097, -1330, -1330,  1424,   427,  2325, 10308,  2260,   431, -1330,
    1734    -1330,  1079,    72,  1079, -1330, -1330, -1330,   160,   160,  1143,
    1735    -1330, -1330,  3323, -1330, -1330, -1330, -1330,  1110,  1684, -1330,
    1736    -1330,  1094, -1330,  1108, -1330,   938, -1330, -1330,  1743,  1109,
    1737    -1330, -1330, -1330,   673,  1116, -1330,  1125,   909, 10308,  1126,
    1738     1045, -1330,  1167, -1330, -1330,  1132, -1330,   146, -1330,  1127,
    1739     1132, -1330,  1149, -1330, -1330, -1330,   851,  1152,  1161,  7267,
    1740     1157,  1160,  1163, -1330,   160,  1169, -1330, -1330, -1330,   851,
    1741    -1330, -1330, -1330, -1330, -1330, -1330,   851, 10308, 10308,   803,
    1742     1165, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1743    -1330, -1330, 10308, 10308,  1168,  1171,  1132, -1330, -1330,  1143,
    1744    -1330, -1330, -1330, 10308, 10308,  1236, 10308, -1330, -1330,  1154,
    1745    -1330,  1158, 10308,  1162,  1166, 10308,  1123,  1172,    38, -1330,
    1746       82,  1907, -1330, -1330,  6749,  1174,   160,   448, -1330, -1330,
    1747    -1330, -1330, -1330, -1330, -1330,  9411,   460, -1330,   762,  1183,
    1748     1187,  1191, -1330,  2260, -1330,   160, -1330, -1330, -1330, -1330,
    1749    -1330, -1330, -1330, -1330,  9947, -1330,  8637, -1330,  1195, -1330,
    1750    -1330,  8476,   462,   471, -1330,  1192, -1330,  1193, -1330, -1330,
    1751     1204,  1240, -1330, -1330,  1240,  1240,  1051,  1210,  1516,  1643,
    1752    -1330,  1212, -1330,  9719, -1330, -1330, -1330, -1330, -1330,  1214,
    1753    -1330,  9719,  9719,  9719, -1330, -1330,  1216, -1330,  1218,  1229,
    1754     1230,   679,  8322,  8442, -1330, -1330, -1330, -1330,  1232, -1330,
    1755      690,   693,  1239,   710,  6884, -1330, -1330,   513, -1330, -1330,
    1756      723,  1241,  1243,   301,  1287,   825, -1330, -1330, 10308, -1330,
    1757     1246,   413, 10308, -1330, -1330, 10131, -1330,  1247,  1251, -1330,
    1758    -1330,   439,   795, -1330, -1330,  1424, -1330, -1330, -1330,  1235,
    1759    -1330, -1330, -1330, -1330, -1330, -1330,  8476, -1330, -1330, -1330,
    1760     1051, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330,
    1761    -1330, -1330, -1330,  1244,  1253, -1330, -1330, -1330, -1330, -1330,
    1762    -1330, -1330,  1256, -1330,  1257, -1330, 10131,   102, 10308, 10131,
    1763    -1330,  1260, 10308, -1330,  6149,  8476, -1330,   386,  1275,  1280,
    1764    -1330, -1330,  1268,  1269,  1252,   413,   197,   763, -1330, -1330,
    1765    -1330, -1330, -1330, -1330,   851, -1330, -1330,  1958,  1743,  1264,
    1766     1132,  1051,  1051,  1276,  1278,  1279,  1282, -1330, -1330,  8637,
    1767     1274, -1330,  1354, 10308,  1267, -1330, -1330, 10041, -1330,   727,
    1768    -1330,  1266, 10131,  1270,  8712, -1330, -1330,  1290, -1330,  1291,
    1769    -1330,  1307,  1309, -1330,  1277,  1281,   195,  1283,  9719,  8476,
    1770    -1330, -1330, -1330,  1294,  1132,  1132, -1330, -1330, -1330, -1330,
    1771    -1330, 10131,   314, -1330,   327, -1330, -1330,  6528, -1330, -1330,
    1772     1284, 10308, -1330, 10308,  6528,   301,  9566,   301,  9566,  1298,
    1773    -1330,  1299, -1330,  1292, -1330, 10308,  1302,   237,  1305, -1330,
    1774    -1330, -1330,  1310, -1330,  1312,  1314, -1330, 10308, 10308, -1330,
    1775    -1330,   847,    86, -1330, -1330,  1296, -1330,   847, -1330, -1330,
    1776     2447,   540, -1330, -1330,   301,  9566,   301,  9566,   195,  1318,
    1777    10308,  1301,   195,   195,  1326,  1330, -1330, -1330, -1330, -1330,
    1778    10041,  1334,   847,  8127, 10308,  9951,  1336,   847,  1331,  2447,
    1779     2348, -1330, -1330, -1330,  1344, -1330, -1330, -1330, -1330,  1325,
    1780      413,  1347, -1330,   273, -1330, -1330,  9017, -1330,  9813, -1330,
    1781    10041, -1330, -1330,  1328,  9723, -1330, -1330,  9951,   301,  2348,
    1782      301,  1348,  1352,   413,  1355, -1330,  1335,   413,   738, -1330,
    1783     9813, -1330, -1330, -1330,  9723, -1330, -1330, -1330,   301,   301,
    1784    -1330,   485, 10308, -1330,   740, -1330, -1330, -1330, -1330, -1330,
    1785    -1330,   413,   540,  1353,  1337, -1330, -1330, -1330, -1330,   755,
    1786    -1330, -1330,  1339,   540, -1330, -1330
     1649    7080, 10336, -1346,    65, -1346, -1346, -1346, -1346, -1346, -1346,
     1650   -1346,    62, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,
     1651   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,   140, -1346,
     1652   -1346,  1135,  1743,    79,  8505,   107, -1346, -1346, -1346, -1346,
     1653   -1346,   187, -1346, -1346, -1346,  1055,   192, -1346, -1346, -1346,
     1654   -1346, 10182, -1346, -1346, -1346,   118,   227, -1346,  1650, -1346,
     1655   -1346, -1346, -1346,  2245,   362,    74,  8626, -1346, -1346, 10182,
     1656    1874, -1346, -1346,  1963,   424,  3845,  1754,   831,  1963,  1126,
     1657   -1346, -1346, -1346,   140, -1346, -1346,  1963,  1440, -1346,   315,
     1658   -1346,   449,   497, -1346, -1346, -1346, -1346,   340,   227,   140,
     1659   -1346,   140, -1346, -1346, -1346, -1346,  6995,  1650, -1346, -1346,
     1660    1650, -1346,   379, -1346,  9247, -1346, -1346,  2348, 10491, -1346,
     1661     797,   797,   797, -1346, -1346,  1229,   140, -1346,   431,   468,
     1662     505, -1346, -1346, -1346,   517, -1346, -1346, -1346, -1346, -1346,
     1663     536,   569, -1346,   522,  9788,  2012,   153,   486,   556,   589,
     1664     592,   600,   612, 10524,  8132,   576, -1346, 10222, -1346, -1346,
     1665   -1346, -1346,   587, -1346,   216,  3873,  3873, -1346,   616,   454,
     1666   -1346, -1346, -1346, -1346,   636,   467,   478,   540, -1346, -1346,
     1667    2245,  2715,   640,   713, -1346,    42, -1346,   140,   140,   227,
     1668   -1346, -1346,    80, -1346,   140,   140, -1346,  2887,   679,   692,
     1669     797,  7794, -1346, -1346, -1346, 10182, -1346, -1346,  1963, -1346,
     1670   -1346, -1346,   227, -1346,  1650,   118, -1346,  8898, -1346,   797,
     1671     797,   797,   227, -1346,  1135, -1346,  7163, -1346, -1346,   691,
     1672     797, -1346,   797, -1346,   993,   797, -1346,  1135,   700,   717,
     1673   -1346,  8505,   606, -1346, -1346, -1346, 10149, -1346, -1346,  4159,
     1674   -1346,   713,    16,  5182, 10491,  2348,  2887, -1346,    92, -1346,
     1675   -1346,  9247,  1650,   697, 11820,  1743,   800, -1346, -1346,    59,
     1676   -1346,   509, -1346,   765,   838,  5241,   819,  5182,  5622, -1346,
     1677     821, -1346, -1346, -1346, -1346, -1346,  6113,  6113,  9552,   192,
     1678   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,  1842,  2541,
     1679    9788,  5182, -1346,   385,   290,   801,   638,   472,   837,   833,
     1680     835,   879,    26, -1346, -1346, -1346,   733, -1346, -1346,   223,
     1681   -1346, -1346,  2012, -1346, -1346,   432,   865, -1346,   659,   865,
     1682   -1346, -1346,  6995, -1346,   140,   874,   876,  9906, -1346, -1346,
     1683     878,  1713,  9333,  7918,  1963,  1963, -1346,  1963,   797,  1963,
     1684     797, -1346, -1346,   140, -1346, -1346, -1346, -1346, -1346, -1346,
     1685   -1346,  1963,   797, 10609,  1650, -1346, -1346, 10642,  1324, -1346,
     1686   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,  3398,  5182,
     1687   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,
     1688   -1346, -1346, -1346, -1346,   921,   880,   906,   909,   944,   914,
     1689     916,   918,  2715, -1346, -1346,   140,   902,   935,   118,   934,
     1690   -1346, -1346,   949, -1346, -1346, -1346, 10149, -1346, -1346, -1346,
     1691   -1346, -1346,  2887, -1346,  9788,  9788, -1346,   797,  2348,  8042,
     1692    9408, -1346, -1346, -1346, -1346, 10149,    16, -1346, -1346,  1963,
     1693     227, -1346, -1346, 10149, -1346,  7659, -1346, -1346,   797,   797,
     1694     187,  9788, -1346,   954, -1346,   797, -1346, -1346, -1346, -1346,
     1695   10950, -1346,   397, 11485, -1346,   227,   960, -1346,  2348, 11525,
     1696    7794,  6374, -1346, -1346, -1346, -1346,   980,  2887, -1346,  9408,
     1697     713,  7345, -1346, -1346, -1346, -1346,  1499,   420,   951,  1743,
     1698     969,   967,   990, 11820,  1343,  9247, -1346, 11820, -1346, -1346,
     1699   -1346, -1346,   422, -1346,   996,   976, -1346,  9552, -1346, 10682,
     1700   -1346, -1346,  9552, -1346,  9670,  9552, -1346, -1346,   192, -1346,
     1701     452,  1006,  1007, -1346,  7884, -1346,   532, -1346, -1346,  5182,
     1702   -1346,   763,  5182, -1346, -1346, -1346, -1346, -1346, -1346, -1346,
     1703   -1346, -1346, -1346, -1346, -1346,  5182, -1346, -1346,  5182,  5182,
     1704    5182,  5182,  5182,  5182,  5182,  5182,  5182,  5182,  5182,  5182,
     1705    5182,  5182,  5182,  5182,  5182,  5182,  3194,   733,   674, -1346,
     1706   -1346,   140,   140, -1346, -1346,  9788, -1346, -1346,   949, -1346,
     1707   -1346,   949,  6559, -1346, -1346,  1743, 10642,  7884,  1002, -1346,
     1708   10757, -1346,   797,   797,   797, -1346, -1346,   587, -1346,  1011,
     1709     953,  1016,  5182,  2260,   168,   951, -1346,   140,   140,   951,
     1710     211, -1346,   140,   140,   949,   951, -1346,   140,   140, -1346,
     1711     865, -1346, 10797, -1346,  1650, 11676,   797,   797, -1346,  1953,
     1712     266,   729, 10797, -1346,  7263, -1346,   951, -1346, 10609, -1346,
     1713     193,  9018,  9018,  1650,  4710,   989, -1346,   550,  1010,  1012,
     1714   -1346,  1021,  3873,   390, -1346,  1117,  1650,  9018,   606,  2348,
     1715     606,   235,   865, -1346, -1346,   274,   865, -1346, -1346, -1346,
     1716    2348, -1346,   522, -1346,   865,   227, 10950, -1346,   487,  1045,
     1717     620,  1049, -1346,   874,   227, -1346, -1346, 10149,   227,   633,
     1718    6712,  1046, 11676, -1346, -1346,  1051, -1346, -1346, -1346,   606,
     1719   -1346, 11601, 11751,   876, -1346,  9018,   518,  9333, -1346, -1346,
     1720     587,  1047,  1050,  1499,  2494, -1346, -1346, 11820, -1346, -1346,
     1721    1743,  1052,  5182, -1346,  1743,  1053, -1346, -1346,  1057, -1346,
     1722    1053,  1060,   509,  5182, -1346,  1061,   192,  1063,  1072,  1073,
     1723   -1346,  1076,  1077,  7884, -1346,  5182, -1346,  5073,  5182,  1068,
     1724   -1346, -1346,   657, -1346,  5182, -1346, -1346,   828, -1346, -1346,
     1725   -1346, -1346,   385,   385,   290,   290,   801,   801,   801,   801,
     1726     638,   638,   472,   837,   833,   835,   879,  5182,   327, 10950,
     1727    1084,  1085,  1086,   674, -1346, -1346, -1346, -1346, -1346, 10950,
     1728   10950, -1346, -1346, 10609, -1346,  8256, 10024, -1346, -1346, -1346,
     1729     953, 10950,   985,  1089,  1093,  1107,  1110,  1115,  1120,  1124,
     1730   -1346,  4610, -1346,  2260, -1346, -1346, -1346, -1346, -1346, -1346,
     1731   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,
     1732   -1346, -1346,   949, -1346, -1346, -1346,   951,   797, -1346, -1346,
     1733   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,  1127,
     1734    1130, -1346,   118,  1068,  4710, -1346, -1346, -1346,  3398,  1123,
     1735   -1346, -1346, -1346, -1346,  1743,  7483,  1215, -1346, -1346, -1346,
     1736   -1346,  1116, -1346, -1346, -1346,   949, -1346, -1346, -1346,   949,
     1737     713,  1136,   949, -1346, -1346, -1346, -1346, -1346, -1346,  8132,
     1738   -1346,   227, -1346,  1142, 10682, -1346,  2205, -1346,   542,  1743,
     1739   -1346,  1152,  1157, -1346, -1346,  1156,  1162, -1346,   775,  1004,
     1740   -1346,   751, -1346,  2494,   951, -1346,   967, -1346, -1346, -1346,
     1741     969,  1165, 11820,  9247,  9788,  1168, -1346, -1346,   677,  1169,
     1742    8132,   606,  1169, -1346, -1346,  1169, -1346,  3398, -1346, -1346,
     1743   -1346,  1163,  5182,  1278, -1346,  5182, -1346,  1278, -1346, -1346,
     1744    5182, -1346,   317,   865, -1346, -1346, -1346, -1346, -1346, -1346,
     1745   -1346,   876,  9906, -1346, -1346,  8380,  1174, -1346,   318,   865,
     1746   -1346,   324,   376,   865, -1346,   797,  4908, -1346, -1346, -1346,
     1747   10950, 10950, -1346,  9408,  9408,  1177,  1176,  1184,  1186, -1346,
     1748     793,    61,  1068, -1346,  1278, -1346,  3873, -1346,  5182,   543,
     1749   -1346,  7760,  1195,  1198, 11362,  1199,  1200,  1074,  1128,  1197,
     1750    5182,  1209,   227,  5182,  5182,  1300,  1189,  1193,   187,   182,
     1751     688,  1196,  1212,  1214, -1346, -1346, -1346,  1217, -1346, -1346,
     1752   -1346, -1346, -1346, -1346, -1346, -1346,  1219, -1346,  1743,  1234,
     1753    5182, 10950, 10950,   118,   140,  1237, -1346, -1346,  2205,   575,
     1754    1180,  5182,  2333,   588, -1346, -1346,  1222,    54,  1222, -1346,
     1755   -1346, -1346,   140,   140,  1743, -1346, -1346, 10376, -1346, -1346,
     1756   -1346, -1346,  1255,  1004, -1346, -1346,  1238, -1346,  1254, -1346,
     1757    1053, -1346, -1346,  2348,  1259, -1346, -1346, -1346,   708,  1256,
     1758   -1346,  1266,  1021,  5182,  1265,  1163, -1346,   818, -1346, -1346,
     1759    1264, -1346,    23, -1346,  1270,  1264, -1346,  1275, -1346, -1346,
     1760   -1346,   949,  1276,  1280,  8008,  1287,  1288,  1291, -1346,   140,
     1761    1294, -1346, -1346, -1346,   949, -1346, -1346, -1346, -1346, -1346,
     1762   -1346,   949,  5182,  5182,   876,  1298, -1346, -1346, -1346, -1346,
     1763   -1346, -1346, -1346, -1346, -1346, -1346, -1346,  5182,  5182,  1306,
     1764    1307,  1264, -1346, -1346,  1743, -1346, -1346, -1346,  5182,  5182,
     1765    1361,  5182, -1346, -1346,  1296, -1346,  1297,  5182,  1302,  1303,
     1766    5182,  1094,  1304,    -2, -1346,    55,  1896, -1346, -1346,  7483,
     1767    1273,   140,   608, -1346, -1346, -1346, -1346, -1346, -1346, -1346,
     1768   10451,   618, -1346,   858,  1310,  1313,  1329, -1346,  2333, -1346,
     1769     140, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 11178,
     1770   -1346,  9408, -1346,  1330, -1346, -1346,  9247,   621,   664, -1346,
     1771    1328, -1346,  1336, -1346, -1346,  1347,  1331, -1346, -1346,  1331,
     1772    1331,  1278,  1349,   897,  1631, -1346,  1350, -1346, 10950, -1346,
     1773   -1346, -1346, -1346, -1346,  1355, -1346, 10950, 10950, 10950, -1346,
     1774   -1346,  1357, -1346,  1359,  1345,  1365,   815,  9093,  9213, -1346,
     1775   -1346, -1346, -1346,  1362, -1346,   710,   712,  1344,   754,  7625,
     1776   -1346, -1346,   698, -1346, -1346,   761,  1371,  1376,   227,  1429,
     1777     937, -1346, -1346,  5182, -1346,  1379,   522,  5182, -1346, -1346,
     1778   11362, -1346,  1384,  1385, -1346, -1346,   416,   865, -1346, -1346,
     1779    2205, -1346, -1346, -1346,  1375, -1346, -1346, -1346, -1346, -1346,
     1780   -1346,  9247, -1346, -1346, -1346,  1278, -1346, -1346, -1346, -1346,
     1781   -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,  1387,  1390,
     1782   -1346, -1346, -1346, -1346, -1346, -1346, -1346,  1396, -1346,  1397,
     1783   -1346, 11362,    52,  5182, 11362, -1346,  1400,  5182, -1346,  8823,
     1784    9247, -1346,   242,  1401,  1418, -1346, -1346,  1406,  1407,  1388,
     1785     522,   291,   885, -1346, -1346, -1346, -1346, -1346, -1346,   949,
     1786   -1346, -1346,  1650,  2348,  1409,  1264,  1278,  1278,  1416,  1417,
     1787    1421,  1425, -1346, -1346,  9408,  1420, -1346,  1497,  5182,  1412,
     1788   -1346, -1346, 11272, -1346,   794, -1346,  1415, 11362,  1424,  9483,
     1789   -1346, -1346,  1439, -1346,  1442, -1346,  1454,  1461, -1346,  1431,
     1790    1427,   210,  1430, 10950,  9247, -1346, -1346, -1346,  1455,  1264,
     1791    1264, -1346, -1346, -1346, -1346, -1346, 11362,    76, -1346,   476,
     1792   -1346, -1346,  5498, -1346, -1346,  1443,  5182, -1346,  5182,  5498,
     1793     227, 10830,   227, 10830,  1462, -1346,  1467, -1346,  1457, -1346,
     1794    5182,  1480,   308,  1475, -1346, -1346, -1346,  1479, -1346,  1483,
     1795    1485, -1346,  5182,  5182, -1346, -1346,   963,    96, -1346, -1346,
     1796    1471, -1346,   963, -1346, -1346,  1784, 10757,   606, -1346, -1346,
     1797     227, 10830,   227, 10830,   210,  1487,  5182,  1477,   210,   210,
     1798    1500,  1502, -1346, -1346, -1346, -1346, 11272,  1498,   963,  8747,
     1799    5182, 11182,  1503,   963,  1510,  1784,  2509, -1346, -1346, -1346,
     1800    1512, -1346, -1346, -1346, -1346,  1493,   522,  1516, -1346,   358,
     1801   -1346, -1346,  9788, -1346, 11044, -1346, 11272, -1346, -1346,  1501,
     1802   10954, -1346, -1346, 11182,   227,  2509,   227,  1519,  1520,   522,
     1803    1522, -1346,  1509,   522,   809, -1346, 11044, -1346, -1346, -1346,
     1804   10954, -1346, -1346, -1346,   227,   227, -1346,   568,  5182, -1346,
     1805     824, -1346, -1346, -1346, -1346, -1346, -1346,   522,   606,  1533,
     1806    1514, -1346, -1346, -1346, -1346,   843, -1346, -1346,  1518,   606,
     1807   -1346, -1346
    17871808};
    17881809
     
    17901811static const yytype_int16 yypgoto[] =
    17911812{
    1792    -1330,  4602,  1553, -1330,  2208, -1330,     7,     0,   -94, -1330,
    1793    -1330,   478,  -507,  -466,  -839,  -847, -1330,  -174,  5285,   694,
    1794    -1330,    66,   362,   365,   538,   366,   931,   937,   940,   924,
    1795      939, -1330,   320,  -636,  4424,  -882, -1330, -1330,   578,  -177,
    1796     -942,  -361, -1330,   120, -1330,   354, -1077, -1330, -1330,    67,
    1797    -1330, -1071, -1040,   183, -1330, -1330, -1330, -1330,    -9, -1090,
    1798    -1330, -1330, -1330, -1330, -1330, -1330,   262, -1329, -1330, -1330,
    1799     -798, -1330,    54,     4, -1330,   109, -1330,  -306, -1330, -1330,
    1800    -1330,   512,  -805, -1330, -1330,     3, -1131,   270,   704, -1330,
    1801    -1330, -1330,  -145, -1330,   250,  1286,  -188,  2355,  4289, -1330,
    1802    -1330,    18,  1452,   993,  1681, -1330,  2638, -1330, -1330,   112,
    1803     2990, -1330,  3232,  1709, -1330, -1330, -1330,  -833, -1330,   658,
    1804      505,   257,   500,  -445, -1330, -1330,   837,   645,  -484, -1330,
    1805     -489,  -339,  -560, -1330, -1330,  -919,  -900,  -129,  1056, -1330,
    1806      240, -1330,   970,  -170,  -275,  -200,  -136,   629,   717, -1330,
    1807      911, -1330,  3561,  1374,  -401,   857, -1330, -1330,   664, -1330,
    1808     -432, -1330,   316, -1330, -1330, -1330, -1224,   360, -1330, -1330,
    1809    -1330,  1091, -1330,    23, -1330, -1330,  -799,  -109, -1287,  -148,
    1810     5540, -1330,  5415, -1330,   845, -1330,  -100,    90,  -175,  -171,
    1811     -162,     2,   -40,   -34,   -30,   493,    15,    22,    32,   -92,
    1812     -161,  -159,  -157,  -156,  -314,  -467,  -462,  -442,  -512,  -313,
    1813     -534, -1330, -1330,  -503,  1006,  1011,  1014,  1751,  5167,  -538,
    1814     -510,  -504,  -500,  -533, -1330,  -939, -1005,  -999,  -995,  -568,
    1815     -305,  -309, -1330, -1330,   392,   502,   -58, -1330,  3974,   -39,
    1816     -574,  -222
     1813   -1346,  4712,  1583, -1346,  1844, -1346,     7,     0,   257, -1346,
     1814   -1346,   637,  -508,  -460,  -702, -1047, -1346,   -72,  1640,  1181,
     1815   -1346,   368,   492,   531,   498,   557,  1092,  1099,  1100,  1106,
     1816    1091, -1346,  -277,  -697,  5286,  -774, -1346, -1346,   722,   565,
     1817    -972,   603, -1346,   111, -1346,   496, -1130, -1346, -1346,   208,
     1818   -1346, -1322,  -943,   325, -1346, -1346, -1346, -1346,   128, -1151,
     1819   -1346, -1346, -1346, -1346, -1346, -1346,   400, -1046, -1346, -1346,
     1820    -544, -1346,   196,   138, -1346,   243, -1346,  -329, -1346, -1346,
     1821   -1346,   648,  -823, -1346, -1346,     5, -1137,   564,   270, -1346,
     1822   -1346, -1346,  -130, -1346,    18,  -452,    47,  -213,  -191,  2570,
     1823    4418, -1346, -1346,   131,   355,   744,  1341,    39,  2331, -1346,
     1824   -1346, -1346,   276, -1346,   365,   201,  2987,    15,  -227, -1346,
     1825   -1346,  5549,  5788,  -872, -1346,   795,   639,   391,   634,  -919,
     1826   -1346, -1346,  6180,   970,   781,  -314, -1346,   -52,  -391,   770,
     1827   -1346, -1346,  -927,  -863,   -63,   -19, -1346,  1233, -1346,  1364,
     1828     -99,  -296,  -180,  -136,   762,   840, -1346,  1048,   405,  3462,
     1829    1523,  -417,   986, -1346, -1346,   792, -1346,  -436, -1346,   -73,
     1830   -1346, -1346, -1346, -1262,   494, -1346, -1346, -1346,  1230, -1346,
     1831       6, -1346, -1346,  -803,  -107, -1345,  -150,  6282, -1346,  3941,
     1832   -1346,   982, -1346,   -18,   212,  -176,  -173,  -169,     2,   -42,
     1833     -40,   -32,   586,    10,    22,    49,    50,  -166,  -163,  -160,
     1834    -158,  -318,  -540,  -528,  -480,  -587,  -304,  -556, -1346, -1346,
     1835    -509,  1145,  1154,  1155,  1813,  5019,  -577,  -507,  -497,  -488,
     1836    -468, -1346,  -925, -1029, -1004, -1003,  -581,  -252,  -244, -1346,
     1837   -1346,   169,    77,   -45, -1346,  3860,   -39,  -632,   147
    18171838};
    18181839
     
    18201841   positive, shift that token.  If negative, reduce the rule which
    18211842   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1822 #define YYTABLE_NINF -528
     1843#define YYTABLE_NINF -547
    18231844static const yytype_int16 yytable[] =
    18241845{
    1825       50,   111,    96,   385,   113,   145,   255,   386,   110,   668,
    1826      416,   146,   161,   427,   735,   147,   387,   388,    69,   389,
    1827     1169,   390,   391,   350,   589,   594,  1170,   371,   372,   580,
    1828     1171,   111,   111,   398,    50,  1010,    96,   717,   811,  1115,
    1829     1116,  1012,  1042,  1144,   614,    50,   248,   271,   618,   793,
    1830      783,    50,    69,   156,   762,   796,   834,   140,    50,  1117,
    1831      148,   803,  1349,    50,   894,   187,    50,   149,   210,    50,
    1832      196,   220,   213,   161,   784,   792,  1405,   150,   385,   393,
    1833      785,   703,   386,  1080,   786,   708,   413,   394,  1174,  1453,
    1834       95,   387,   388,   331,   389,   859,   390,   391,    33,   457,
    1835      654,   461,   463,   319,  1258,    50,  1147,  1148,    50,   509,
    1836       33,    33,    76,  1323,    33,    50,   511,   780,    33,   663,
    1837      397,   197,   781,   111,    95,   121,  1486,   667,  1488,   686,
    1838     1126,   824,   824,  -240,  -240,   144,  1260,   826,   145,   658,
    1839      660,    95,   782,    50,   146,   156,    76,   824,   147,  1363,
    1840     1364,  1405,   843,   183,   393,    50,    95,   361,   122,    95,
    1841      109,   693,   394,   687,   423,  1432,   565,   462,   399,   462,
    1842      240,  1131,   399,    43,    44,  1259,   168,  1132,    50,    50,
    1843      554,   156,   407,   467,   399,   399,  1198,   163,   399,  1165,
    1844      794,   586,   585,   148,   824,    50,  1261,   926,   652,   882,
    1845      149,   728,    33,    50,   903,   156,  -240,   931,   932,   707,
    1846      150,   164,    50,   145,   555,    50,   241,   430,   942,   146,
    1847      423,  1365,   111,   147,   780,  1203,   365,   503,   719,   781,
    1848      240,   321,   111,    95,  1274,   111,  1208,   657,   659,    50,
    1849      111,    96,   366,   941,    33,    95,   796,   451,   -10,   782,
    1850       63,    33,   954,    50,    50,   696,   156,    69,   930,   161,
    1851       50,   457,   449,   111,  1209,   771,   139,   784,   384,   183,
    1852       57,   114,   573,   785,   594,   141,  1323,   786,   953,   270,
    1853      457,   825,   825,  1323,    63,   723,  1117,   151,   457,   766,
    1854      814,   350,   647,    95,   815,   582,  1409,   825,   172,   925,
    1855      648,   580,  1320,   656,    57,    95,   580,   405,   820,   661,
    1856      780,  1425,  1385,  1115,  1116,   781,   801,    33,   585,   509,
    1857       50,  1053,   361,   847,   509,   399,   713,   509,   715,    95,
    1858      424,   716,  1386,  1117,   720,   782,   204,    50,    50,   214,
    1859      432,   500,  1323,   465,   825,   249,   793,    33,   250,  1010,
    1860       33,    76,  1461,    33,    50,  1012,    76,   563,    50,  1291,
    1861      866,  1294,  1296,   564,   535,   536,   647,   797,   627,   811,
    1862       33,   800,  1462,   784,   648,   319,   319,   806,   756,   785,
    1863     1373,   142,   686,   786,   350,  1505,   235,   375,  1516,   851,
    1864     1172,   399,    50,   818,   361,  1112,  1113,   821,  1504,  1409,
    1865      535,  1470,   319,   376,  1409,  1122,   510,  1475,  1517,   568,
    1866       95,   399,    50,  1102,  1105,  1437,   687,  1525,    50,  1083,
    1867      166,   399,  1096,  1520,   399,  1100,   195,   585,   588,  1409,
    1868     1524,  1123,  1500,  1363,  1364,   535,  1409,  1507,  -295,  1322,
    1869     1400,  1123,  1103,   158,   585,   319,   350,   238,  1438,   677,
    1870     -523,  1350,   426,   111,  1078,   678,  1160,  1161,    50,  1117,
    1871      110,   934,  1439,   487,   319,   240,    50,  1063,   361,  1445,
    1872       50,  1446,    96,   251,  1169,    50,   952,   594,   111,   999,
    1873     1170,    33,   183,   111,  1171,   428,  1234,  1235,    69,    63,
    1874      378,   350,   350,  1197,   458,   835,  1055,   270,   544,   545,
    1875      469,   380,   105,   105,   158,  1375,   379,   350,   694,    57,
    1876      954,  1482,  1394,  1395,   695,   111,   483,   381,    76,   484,
    1877      111,   457,   729,   382,   836,   319,   626,   734,   488,   845,
    1878      489,   490,  1502,   546,   547,   879,   105,    76,   434,   383,
    1879      855,  1174,  1039,   837,   157,    76,   -12,  1129,  1039,   322,
    1880      665,   446,  1175,  1341,   350,   399,   188,   856,  1040,   211,
    1881       95,   323,   221,  1130,  1167,   588,   686,   812,  1176,  1129,
    1882     1274,   105,   582,  -448,   952,   679,    39,   172,   169,   170,
    1883       42,  1175,    76,  1281,    50,  1266,  1178,    50,  1178,    43,
    1884       44,   957,  1283,   773,   615,   422,  -449,  1270,   619,  1282,
    1885      687,   266,  1443,   737,   738,   739,  1541,    50,  1284,  1443,
    1886        8,     9,    10,    11,    12,   109,   510,   109,  1135,  1114,
    1887     1542,   510,    50,  1142,   510,   268,   111,   964,    43,    44,
    1888       43,    44,   580,   269,   723,    50,   157,   111,    50,   111,
    1889      324,    39,    33,   816,   844,    42,   846,   817,   362,    50,
    1890     1326,   422,   325,  1298,    43,    44,   458,   883,   733,   585,
    1891     1489,  1300,  1301,  1302,  1493,    47,    48,  1050,  1501,   816,
    1892       36,   326,   157,  1049,   779,   458,   327,   588,   111,   586,
    1893      777,   360,   585,   458,   364,   878,   540,   541,    47,    48,
    1894      158,    50,    50,   537,    51,   112,   157,   970,   111,   538,
    1895      539,   556,   111,   399,    58,    58,   373,  1018,   431,    47,
    1896       48,   709,   277,   722,   556,   377,   399,   710,   684,   723,
    1897       63,   397,    47,    48,   395,    43,    44,  1402,    51,     2,
    1898      200,     4,     5,     6,     7,   350,   860,   862,    58,   143,
    1899       57,   105,   723,   723,   414,    51,   868,   437,   919,   415,
    1900      686,   504,   564,   367,   920,  1337,   447,   179,   548,   549,
    1901      203,   448,  1107,    51,     2,   200,     4,     5,     6,     7,
    1902       58,  1031,  -112,    58,   858,   470,  -112,    50,    76,  1033,
    1903     1065,   779,   588,   865,   687,  -401,   920,   867,  1194,  1459,
    1904       50,   913,    76,   999,   564,   222,  1309,    37,   112,    38,
    1905     1310,  1468,  1402,   923,   920,  1316,   112,   494,  1317,   254,
    1906      259,   723,  -296,   362,   723,   240,   321,   399,  1162,     8,
    1907        9,    10,    11,    12,  1491,  1319,   542,   543,  1431,   350,
    1908      350,   723,    37,   627,    38,  1127,   298,   143,  1327,   111,
    1909      996,   495,  1410,   498,   723,   112,   334,   813,   723,   203,
    1910      385,    33,   551,  1535,   386,  1544,   337,   503,    69,   564,
    1911      319,  1541,   827,   387,   388,   550,   389,   779,   390,   391,
    1912     1552,    50,   179,   179,   111,   842,  1553,   321,   399,    36,
    1913      588,   687,   773,  1387,   920,   362,  1332,  1333,    50,   254,
    1914      407,   643,   399,  1312,  1363,  1364,  1543,    51,   812,  1204,
    1915     1205,  1056,   740,   741,  1338,   552,   111,   742,   743,   203,
    1916      553,   328,   627,  1066,   748,   749,   458,   574,   111,    58,
    1917       -3,   640,   111,  1031,   650,  1074,   651,   393,   641,  1074,
    1918      458,  1033,   642,    51,   644,   394,   883,   109,   585,   136,
    1919      137,   259,   645,    58,    47,    48,   259,   254,   254,  1189,
    1920       43,    44,    76,   112,   646,  1362,  1240,  1241,  1370,  1243,
    1921       39,  1032,   169,   170,    42,  1247,   653,   245,  1250,   111,
    1922      586,   684,   105,    43,    44,  -373,  1074,  -244,   588,   996,
    1923      298,   263,    50,    50,    50,   698,  1021,   467,   321,   399,
    1924     -297,   700,   298,   702,    69,   711,   712,     8,     9,    10,
    1925       11,    12,   138,   535,   724,    39,  1408,   725,   557,    42,
    1926      774,  1412,   776,   111,   143,   794,   321,   585,    43,    44,
    1927      893,   787,  1138,    50,   112,    50,   -14,    50,   334,    33,
    1928      833,   -15,   587,   606,   832,   109,   839,   136,   137,   111,
    1929     1436,   861,   500,   863,    45,  -527,   875,   611,    43,    44,
    1930     -422,   611,    47,    48,   887,  1277,   892,    36,    50,   695,
    1931      899,   874,   901,   223,  1518,   904,   224,   907,   908,   228,
    1932      906,   230,   111,   647,   909,   924,   830,   233,   910,  1074,
    1933      927,   648,   744,   745,   746,   747,   179,   917,    76,  -298,
    1934       63,   928,   929,   264,   943,   944,     8,     9,    10,    11,
    1935       12,   945,   972,   350,   350,   946,   254,  1146,   298,   298,
    1936       57,   947,   254,  1032,   611,  1168,   948,  1032,    39,   949,
    1937      169,   170,    42,  -410,   337,  -409,   109,  1013,    33,   111,
    1938     1015,    43,    44,  1071,  1019,   298,  1072,  1519,  1073,    43,
    1939       44,  1369,  1022,  1519,     8,     9,    10,    11,    12,   965,
    1940     1043,  1044,   254,  1045,   996,   684,    36,  1046,   912,  1519,
    1941      254,  1054,   611,  1519,    51,  1064,  1068,  1336,  1057,   692,
    1942     1094,  1133,    69,    50,    58,  1031,    33,  1118,   112,  1119,
    1943     1140,  1120,  1121,  1033,  1251,  1252,  1253,  1134,  1136,  1137,
    1944      298,  1145,   112,   723,  1056,   298,  1149,   298,   298,   223,
    1945       -9,  -445,   443,   -11,    36,    -3,   111,   334,   111,   111,
    1946     1158,  1156,  1164,  1074,  1026,  1074,  1074,   337,   109,  1152,
    1947      136,   137,  1139,  1141,  1143,  1185,    63,   483,  1187,  1190,
    1948      350,    43,    44,   480,    39,  1195,   169,   170,    42,  1391,
    1949     1196,  1384,   109,  1199,  1210,  1081,    57,    43,    44,  1071,
    1950      557,   557,  1072,  1206,  1073,    43,    44,   109,   298,   136,
    1951      440,   874,  1325,  1032,  1212,   996,    76,  1214,   611,   334,
    1952       43,    44,   606,   360,  1216,    50,  1215,  1217,   587,   337,
    1953     1218,   587,  1227,  1202,  1220,  1236,  1242,   115,  1237,  1056,
    1954      111,  1245,  1426,   965,  1264,  1246,   441,  1074,  1271,  1248,
    1955      611,   442,  1272,  1249,   385,   611,  1273,   606,   386,  1257,
    1956     1279,   611,  1285,  1287,   611,   611,   996,   387,   388,   996,
    1957      389,  1288,   390,   391,   337,   337,  1289,  1292,   213,  1297,
    1958      611,  1299,   254,  1305,   223,  1306,   228,   154,   628,   684,
    1959      337,  1481,   105,   254,  1307,  1308,   893,    50,    50,  1315,
    1960     1253,   111,   111,  1318,  1346,  1328,    76,  1329,  1074,  1074,
    1961     1335,  1357,  1339,   112,  1426,  1032,  1340,   996,  1426,  1426,
    1962     1358,  -411,   996,  1330,  1361,  1372,  1377,   611,   884,   606,
    1963      393,  1379,  1381,  1382,  1392,   692,   692,   337,   394,  1383,
    1964      246,  1396,  1056,  1397,  1398,  1310,  1514,  1399,   154,  1401,
    1965      105,   996,  1406,  1411,    63,  1415,  1417,  1413,  1419,   647,
    1966     1421,  1433,  1423,  1454,  1456,   334,  1460,   648,  1424,  1530,
    1967     1430,  1444,   223,  1530,    57,  1325,  1463,  1458,   314,  1466,
    1968     1465,  1467,  1325,  1474,   874,  1490,   684,   329,  1492,   145,
    1969      209,  1495,   893,   893,  1496,   146,  1508,  1547,   697,   147,
    1970       50,   111,    70,   706,  1499,   557,  1506,   319,  1483,  1510,
    1971     1513,  1057,  1515,  1528,   611,  1521,   937,  1529,  1550,  1532,
    1972      996,   587,  1533,  1151,  1551,   996,  1554,   753,   105,    50,
    1973       50,   750,   156,    39,   587,   418,    70,    42,   751,   421,
    1974      209,  1325,   752,   754,   458,  1070,    43,    44,   996,    39,
    1975      996,   176,   177,    42,   996,  1469,   676,   996,  1263,    50,
    1976     1376,   361,    43,    44,    57,  1536,  1331,  1494,   206,    76,
    1977      996,  1534,   691,  1447,   996,  1157,    76,  1024,  1166,   209,
    1978       47,    48,  1345,  1179,   298,  1448,  1052,  1452,  1025,   895,
    1979      399,  1067,   111,   838,    58,   421,    47,    48,   475,  1548,
    1980      971,  1280,   889,   111,  1051,   902,  1057,   874,   334,  1026,
    1981     1555,   689,   758,   112,     0,  1027,     0,   759,   337,   465,
    1982      760,     0,   314,     0,  1485,     0,  1487,   884,   884,     0,
    1983        0,     0,   692,     0,   154,    76,     0,  1390,     0,   209,
    1984        0,   109,   112,   298,   204,   214,   831,     0,  1071,   334,
    1985        0,  1072,    58,  1073,    43,    44,   444,   162,     0,   167,
    1986        0,     0,   173,   174,   175,     0,   572,     0,     0,     0,
    1987      577,   209,   109,     0,   136,   137,   209,     0,  1526,   227,
    1988     1527,   334,  1293,     0,     0,    43,    44,     0,     0,   612,
    1989      236,   237,     0,   616,   428,     0,     0,     0,  1539,  1540,
    1990        0,     0,   611,   611,     0,     0,   105,   458,     0,  1057,
    1991        0,   704,   337,   337,   458,     0,   705,   429,   891,     0,
    1992      298,     0,   480,     0,     0,     0,     0,    57,     0,     0,
    1993       58,     0,     0,   893,    57,     0,     0,     0,     0,     0,
    1994        0,    70,     0,   105,     8,     9,    10,    11,    12,     0,
    1995      314,   314,    39,     0,   176,   177,    42,     0,     0,     0,
    1996        0,   676,     0,   209,     0,    43,    44,  1027,   109,  1027,
    1997        0,  1027,     0,   458,     0,  1071,    33,   314,  1072,     0,
    1998     1073,    43,    44,   396,     0,     0,   112,     0,     0,   115,
    1999        0,   178,   884,    57,     0,   893,   105,   207,     0,    47,
    2000       48,     0,   254,     0,    36,     0,   226,   893,   893,  1295,
    2001        2,   200,     4,     5,     6,     7,     0,     0,   475,     0,
    2002      314,     0,   475,     0,     0,   208,     0,     0,     0,     0,
    2003      893,     0,   314,   334,   314,     0,     0,   314,   105,   314,
    2004      314,   206,     0,   209,     0,     0,     0,   207,   883,     0,
    2005      585,     0,     0,   628,     0,     0,    47,    48,  1451,   975,
    2006     1451,     0,     0,   676,     0,     0,     0,     0,    39,     0,
    2007      176,   177,    42,   676,   676,   208,     0,   105,    37,     0,
    2008       38,    43,    44,   209,   676,     0,   207,     0,     0,     0,
    2009        0,     0,     0,     0,  1041,     0,     0,  1451,   298,  1451,
    2010      314,     0,   893,     0,     0,     0,     0,   253,    58,   112,
    2011      769,     0,     0,     0,   208,    47,    48,  1027,   522,   523,
    2012      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    2013      611,     0,   628,     0,     0,   112,   576,     0,   583,     0,
    2014        0,   105,   810,    -3,     0,    58,   207,   577,     0,   609,
    2015      610,     0,   533,   819,    39,     0,   169,   170,    42,   105,
    2016        0,   206,     0,     0,     0,     0,   105,    43,    44,     0,
    2017        0,     0,    70,     0,   208,     0,   611,   611,   207,     0,
    2018        0,     0,     0,   207,   401,     0,   337,   337,   298,     0,
    2019      514,   409,     0,   364,   515,   516,   517,     0,    58,     0,
    2020        0,     0,   209,     0,     0,   871,   208,     0,     0,     0,
    2021        0,   208,     0,   126,     0,   127,   128,   129,   518,  1027,
    2022      519,     0,   520,   521,     0,   105,    43,    44,     0,     0,
    2023      112,   475,   209,   975,     0,     0,     0,   209,     0,     0,
    2024       58,     0,     0,   514,     0,     0,     0,   515,   516,   517,
    2025        0,     0,     8,     9,    10,    11,    12,   401,     0,  1182,
    2026        0,   676,   676,     0,     0,     0,     0,     0,   259,   112,
    2027      207,   518,     0,   519,     0,   520,  1262,     0,    58,    58,
    2028        0,     0,     0,    39,    33,   169,   170,    42,     0,     0,
    2029        0,     0,   254,     0,     0,   209,    43,    44,   208,     0,
    2030        0,     0,     0,   611,     0,     0,   933,     0,     0,   209,
    2031      429,     0,    36,   337,     0,   562,     0,    39,   259,   176,
    2032      177,    42,   676,   676,   566,     0,     0,   569,    58,     0,
    2033       43,    44,     0,   112,     0,     8,     9,    10,    11,    12,
    2034        0,     0,     0,    58,     0,     0,     0,     0,     0,  1239,
    2035      207,   112,     0,     0,     0,     0,   178,     0,   112,     0,
    2036      112,    58,   112,     0,    47,    48,   207,    33,    58,     0,
    2037        0,     0,     0,   206,     0,     0,     0,     0,   208,     0,
    2038        0,     0,     0,     0,     0,   401,     0,   206,     0,   409,
    2039      207,     0,     0,     0,  1480,    36,   209,     0,     0,   112,
    2040       39,   112,   176,   177,    42,  1023,     0,     0,     0,     0,
    2041        0,     0,     0,    43,    44,     0,     0,   112,   208,     0,
    2042        0,     0,     0,  1480,  1480,     0,     0,    58,     0,     0,
    2043        0,     0,     0,   475,  1058,   314,     0,     0,     0,   584,
    2044      298,   585,     0,     0,     0,     0,     0,    47,    48,     0,
    2045        0,     0,     0,  1480,    39,     0,   176,   177,    42,     0,
    2046        0,     0,     0,     0,     0,     0,   401,    43,    44,     0,
    2047        0,     0,     0,   810,   206,   876,     0,   877,     0,     0,
    2048        0,     0,     0,     0,   880,   881,     0,     0,     0,   886,
    2049     1278,     0,     0,   584,     0,   585,     0,     0,     0,     0,
    2050        0,    47,    48,     0,     0,     0,   896,     0,     0,   207,
    2051        0,   900,     0,     0,     0,   586,   171,     0,     0,   676,
    2052        8,     9,    10,    11,    12,     0,     0,   676,   676,   676,
    2053      583,     0,     0,     0,     0,     0,     0,   208,     0,   207,
    2054        0,     0,    70,     0,   207,     0,     0,     0,     0,     0,
    2055        0,     0,    33,     0,     0,     0,     0,   562,   562,     0,
    2056        0,     0,     0,   171,   209,     0,   171,   208,     0,     0,
    2057        0,     0,   208,     0,     0,     0,     0,     0,   871,     0,
    2058       36,     0,     0,     0,     0,    39,     0,   176,   177,    42,
    2059        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
    2060        0,     0,   207,     0,     0,    66,   116,     0,     8,     9,
    2061       10,    11,    12,     0,     0,     0,   207,     0,     0,     0,
    2062        0,     0,     0,     0,  1025,   960,   399,   961,   962,   963,
    2063      208,     0,    47,    48,     0,     0,     0,     0,     0,    66,
    2064       33,   849,   429,     0,   208,   853,  1014,     0,     0,     0,
    2065       39,     0,   176,   177,    42,     0,   155,     0,     0,     0,
    2066        0,     0,  1020,    43,    44,     0,     0,     0,    36,     0,
    2067      171,     0,     0,    39,   215,   176,   177,    42,    70,     0,
    2068        0,     0,     0,     0,     0,  1047,    43,    44,     0,  1025,
    2069        0,   399,     0,     0,   676,     0,     0,    47,    48,     0,
    2070        0,   871,     0,   207,     0,     0,     0,     0,     0,   247,
    2071        0,     0,  1479,     0,   399,     0,     0,     0,   171,  1069,
    2072       47,    48,     0,     0,  1079,     0,     0,  1058,     0,  1082,
    2073        0,   208,     0,     0,  1087,  1088,     0,     0,     0,  1090,
    2074        0,  1091,  1092,     0,     0,  1095,     0,     0,   320,     8,
    2075        9,    10,    11,    12,  1110,     0,   247,   339,     0,     0,
    2076        0,     0,   562,     0,     0,     0,     0,     0,     0,     0,
    2077     1124,  1125,    39,     0,   176,   177,    42,     0,     0,     0,
    2078        0,    33,     0,     0,   392,    43,    44,     0,     0,     0,
    2079        0,     0,     0,     0,     0,   171,     0,     0,     0,     0,
    2080      412,     0,  1153,   417,   419,  1155,     0,     0,   155,    36,
    2081        0,  1479,   171,   399,    39,     0,   171,     0,    42,    47,
    2082       48,     0,  1058,     0,     0,     0,     0,    43,    44,   435,
    2083        0,     0,     0,   438,     0,   439,     0,     0,   445,     0,
    2084        0,     0,     0,     0,    66,     0,     0,     0,     0,   459,
    2085        0,     0,     0,    45,     0,     0,    70,     0,  1188,   466,
    2086        0,    47,    48,     0,  1192,  1193,     0,   419,     0,     0,
    2087        0,   207,     0,  1200,     0,     0,     0,     0,  1207,     0,
    2088        0,     0,     0,  1211,     0,     0,     0,     0,    74,     0,
    2089        0,     0,     0,     0,     0,     0,  1219,     0,     0,   208,
    2090        8,     9,    10,    11,    12,     0,     8,     9,    10,    11,
    2091       12,     0,  1226,     0,  1228,  1229,  1230,  1231,     0,     0,
    2092        0,     0,    74,     0,     0,  1058,     0,     0,  1085,  1238,
    2093        0,  1124,    33,     0,     0,   247,     0,     0,    33,   578,
    2094        0,     0,     0,     0,  1098,   608,    70,     0,   209,     0,
    2095        0,     0,  1450,     0,  1450,     0,     0,   216,   613,     0,
    2096       36,     0,   613,  1267,  1268,    39,    36,   176,   177,    42,
    2097        0,    39,     0,     0,     0,    42,     0,     0,    43,    44,
    2098        0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
    2099        0,  1450,     0,  1450,     0,     0,     0,     0,   209,     0,
    2100        0,     0,     0,     0,   253,     0,     0,     0,     0,     0,
    2101      691,   459,    47,    48,     0,     0,     0,     0,    47,    48,
    2102        0,     0,     0,     0,     0,   339,   206,  1303,  1304,     0,
    2103      459,     0,   314,   401,     0,     0,     0,  1314,   459,     0,
    2104      342,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2105        0,     0,     0,     0,     0,   671,     0,     0,   419,     0,
    2106        0,     0,     0,     0,     0,   171,     0,     0,     0,     0,
    2107        0,     0,     0,   685,     0,    66,   429,     0,     0,     0,
    2108      171,     0,     0,     0,     0,     0,     0,   419,     0,     0,
    2109        0,   419,     0,   171,     0,     0,     0,     0,     0,     0,
    2110        0,  1353,     0,  1354,  1355,  1356,     0,     0,     0,    70,
    2111        0,     0,   436,     0,     0,  1360,    70,     0,   339,     0,
    2112        0,     0,     0,  1371,     0,     0,   167,    74,     0,     0,
    2113        0,     0,    74,     8,     9,    10,    11,    12,    13,    14,
    2114       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2115       25,    26,    27,  1393,     0,    28,    29,    30,     0,     0,
    2116        0,     0,   761,     0,     0,    33,   869,     0,     0,   401,
    2117        0,     0,     0,     0,     0,    70,     0,     0,     0,   613,
    2118      772,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2119        0,     0,   790,    36,     0,     0,     0,  1434,  1435,     0,
    2120       40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
    2121     1440,   578,     0,     0,     0,     0,   578,  1440,     0,     0,
    2122        0,     0,   613,     0,     0,   339,   339,     0,   216,     0,
    2123        0,     0,     0,     0,  1464,     0,     0,     0,     0,   714,
    2124       77,   339,     0,   870,     0,    47,    48,     0,     0,     0,
    2125        0,     0,  1478,     0,     0,   207,  1484,     0,     0,     0,
    2126      671,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2127        0,   459,  1343,     0,    77,     0,     0,     0,     0,     0,
    2128        0,     0,     0,   208,     0,   459,     0,     0,   339,  1511,
    2129        0,  1512,     0,     0,    74,     0,     0,   888,   171,     0,
    2130      419,     0,     0,     0,     0,   207,     0,     0,   342,   217,
    2131        0,     0,     0,    74,     0,     0,     0,     0,     0,     0,
    2132        0,    74,     0,     0,     0,     0,   685,     0,     0,  1537,
    2133     1538,     0,     0,   208,     0,     0,     0,     0,   342,     0,
    2134        0,     0,  1545,  1546,     0,     0,     0,     0,     0,     0,
    2135        0,     0,     0,     0,     0,     0,   342,     0,    74,     0,
    2136        0,     0,   671,     0,     0,     0,     0,     0,     0,     0,
    2137        0,     0,   671,   671,     0,   613,     0,     0,   940,     0,
    2138        0,     0,     0,   671,     0,     0,     0,     0,     0,     0,
    2139        0,     0,   344,   951,     0,     0,     0,     0,     0,     0,
    2140        0,   342,     0,     0,     0,     0,     0,     8,     9,    10,
    2141       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2142       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2143       29,    30,     0,     0,     0,     0,     0,   171,     0,    33,
    2144      171,   171,   171,     0,     0,    66,     0,     0,     0,     0,
    2145        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2146        0,     0,     0,   342,     0,     0,     0,    36,     0,   772,
    2147        0,     0,    39,     0,    40,    41,    42,     0,     0,    77,
    2148        0,     0,    79,     0,    77,    43,    44,     0,     0,  1048,
    2149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2150        0,     0,   419,   116,     0,     0,     0,     0,   342,   342,
    2151      685,    45,     0,    46,     0,     0,    79,     0,     0,    47,
    2152       48,     0,     0,     0,   342,     0,     0,     0,     0,     0,
    2153        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2154        0,     0,   578,   342,     0,     0,     0,     0,     0,     0,
    2155        0,   218,     0,     0,    74,   417,     0,     0,     0,     0,
    2156      671,   671,     0,   339,   339,     0,     0,     0,    74,     0,
    2157        0,   342,     0,     0,     0,     0,     0,     0,     0,     0,
    2158      217,    66,     0,     8,     9,    10,    11,    12,    13,    14,
    2159       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2160       25,    26,    27,     0,     0,    28,    29,    30,     0,   342,
    2161        0,     0,   171,     0,     0,    33,   869,     0,     0,     0,
    2162        0,   671,   671,     0,     0,     0,     0,     0,     0,     0,
    2163        0,     0,  1173,     0,   345,     0,     0,     0,     0,     0,
    2164        0,     0,     0,    36,     0,   342,    77,     0,     0,     0,
    2165       40,    41,     0,     0,     0,   342,   342,     0,     0,     0,
    2166      344,   216,     0,     0,     0,    77,   342,     0,     0,     0,
    2167        0,     0,     0,    77,     0,     0,     0,     0,     0,     0,
    2168        0,     0,     0,     0,     0,     0,     0,     0,     0,   714,
    2169      344,     0,     0,  1183,   685,    47,    48,     0,     0,     0,
    2170        0,     0,     0,     0,     0,     0,     0,     0,   344,     0,
    2171       77,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2172        0,    79,     0,   171,     0,     0,    79,     0,    74,     0,
     1846      50,   113,    98,   147,   395,   148,   115,   396,   112,   426,
     1847     257,   397,   163,   149,   398,   689,   815,   399,    63,   859,
     1848     400,  1194,   401,   605,   757,   919,   816,   706,  1067,   381,
     1849     382,   113,   113,   408,    50,   437,    98,   610,  1169,    73,
     1850     142,   834,  1035,  1430,   806,    50,  1195,  1196,   117,  1374,
     1851    1228,    50,    63,   158,   739,   150,  1140,  1141,    50,   784,
     1852     803,   250,  1037,    50,  1283,   189,    50,   151,   212,    50,
     1853    1434,   222,   804,    73,   215,   163,   725,   107,   107,   395,
     1854     730,   210,   396,   407,    33,   596,   397,   675,   708,   398,
     1855     423,   359,   399,   807,   152,   400,    33,   401,   156,  1388,
     1856    1389,   472,   474,   808,   198,   321,   684,    50,   333,  1285,
     1857      50,   107,   809,  1233,   688,   623,   467,    50,  1430,   635,
     1858     805,  1142,    33,   639,   589,   113,   565,  1199,   679,   681,
     1859     473,    69,  1348,   210,    33,  1284,   819,  1203,   147,  1203,
     1860     148,  1234,   826,  -240,  -240,    50,   107,   158,   149,   123,
     1861     633,   444,  1457,   248,   637,   199,   242,    50,   409,   371,
     1862     566,   156,  1147,   403,   456,    69,   433,   170,   715,  1286,
     1863     409,  1390,   210,   803,  1434,  1190,   124,  1462,  1156,  1434,
     1864      50,    50,    33,   158,  1316,   804,  1319,  1321,  1148,   522,
     1865     150,   316,   494,   141,   417,   495,   409,    50,  1157,   729,
     1866     331,    78,   151,  1148,  1434,    50,   478,   158,   409,   243,
     1867      33,  1434,    97,   147,    50,   148,  -240,    50,   741,   440,
     1868     160,   143,   433,   149,   113,   928,   978,   709,   673,   152,
     1869     165,   404,   210,   805,   113,    78,   979,   113,   403,  1172,
     1870    1173,    50,   113,    98,   966,  1105,    97,   459,   428,   461,
     1871     850,   850,   431,    33,   166,    50,    50,   146,   158,    63,
     1872     803,   163,    50,    97,   210,   113,   850,   242,   323,   210,
     1873      58,    58,   804,  1299,   955,   185,    77,    33,    97,   788,
     1874      73,    97,   817,   160,   601,    73,   467,   584,  1078,  1388,
     1875    1389,   706,  1151,   807,   272,  1348,   514,  1345,   598,   610,
     1876     415,   144,  1348,   808,    58,   467,   404,   473,   431,   153,
     1877      77,   486,   809,   467,   850,   677,    33,   -10,   107,  1223,
     1878     805,   682,    50,   434,   371,   824,  1450,   601,   851,   602,
     1879    1140,  1141,   816,   442,   819,   316,    58,   375,   574,    58,
     1880      50,    50,   794,   868,   575,   219,   168,   156,  1142,   872,
     1881    1531,   409,   708,   376,  1197,    70,  1035,    97,   891,    33,
     1882      33,  1400,  1348,   623,    50,   197,    33,   359,    50,    97,
     1883     596,  1530,    69,   792,   432,  1398,  1037,   470,   648,   583,
     1884     596,   834,  1551,   839,   668,   321,   321,   840,   876,    70,
     1885     409,   907,   394,   185,   845,  1142,  1546,  1479,   623,   521,
     1886     273,   807,    50,  1550,   371,    86,  1410,   623,   735,   833,
     1887     737,   808,   321,   738,   551,   552,   742,    97,    33,   589,
     1888     809,   208,    50,  1487,   340,   844,  1411,  -299,    50,    97,
     1889     432,  1108,  1121,   409,   409,  1512,   237,  1514,  1125,    86,
     1890     601,   697,    78,  1488,   210,   918,  1347,    78,   745,   240,
     1891    1259,  1260,   669,    97,   242,    73,   321,  1425,    33,   668,
     1892    1222,   359,   950,   113,  1470,   623,  1471,   476,    50,   160,
     1893     112,   316,   316,  1542,    73,   321,  1194,    50,   706,   371,
     1894     623,    50,    73,    98,   210,  1103,    50,    58,  1088,   113,
     1895    1128,   709,   601,  1543,   113,   977,   979,  -542,   316,    63,
     1896     949,  1195,  1196,  1127,  1130,  1080,   861,   548,   647,   610,
     1897     117,    58,   698,   549,   550,   253,   860,    77,   699,   498,
     1898      73,  1142,    77,  1496,   359,   862,   113,   669,  1528,  1501,
     1899    1366,   113,   409,   751,    97,   716,   321,   731,   756,   708,
     1900     486,   717,   316,   732,   486,   -12,   576,   470,   409,   959,
     1901    1508,   686,   870,   604,   316,  1526,   316,   467,   107,   316,
     1902    1533,   316,   316,   880,    57,   116,   470,   744,   623,   559,
     1903     560,   904,   439,   745,   470,   385,   700,   990,   359,   359,
     1904     958,  1199,  -467,   835,   499,   113,   500,   501,   388,   849,
     1905     849,   386,  1139,   598,   359,   977,    70,  1463,    57,   390,
     1906      50,   324,   885,    50,   389,   849,   272,   111,   745,  1468,
     1907    1299,  1464,    69,  1375,   185,   391,  1468,    78,   521,  -468,
     1908      43,    44,   316,   521,    50,   111,   521,   138,   139,   113,
     1909     206,   268,   908,   216,   601,   718,    78,   159,    43,    44,
     1910      47,    48,   359,    50,    78,   511,    86,   113,   750,   190,
     1911     270,    86,   213,   849,   602,   223,    50,   697,   113,    50,
     1912     113,   392,   706,  1064,  1154,   869,   855,   871,   546,   547,
     1913      50,   325,   989,  1106,  1419,  1420,  1527,   393,   709,  1065,
     1914    1155,   111,    78,   271,     8,     9,    10,    11,    12,  1567,
     1915     370,  1427,    77,    97,    43,    44,  1064,   208,   604,   113,
     1916     340,   374,   592,  1568,   326,   546,   903,   327,   626,  1200,
     1917     596,    77,  1192,    50,    50,   328,    33,   210,   796,    77,
     1918     113,   990,   995,   708,   113,  1201,    73,   329,   592,  1154,
     1919    1043,   159,   592,   555,   556,   887,   383,   896,   623,  1200,
     1920      73,   745,  1306,   372,    36,  1291,   219,   546,   893,   833,
     1921     387,    58,   820,  1485,   575,  1295,   823,    77,  1307,   706,
     1922     697,   405,   829,   279,   486,  1494,  1427,   159,   557,   558,
     1923     697,   697,   944,   579,   918,   409,    43,    44,   945,  1362,
     1924     407,   438,   697,   843,  1132,  1308,   883,   846,   567,  1517,
     1925     409,   159,  1090,   424,   340,   890,    47,    48,   945,   892,
     1926      50,  1309,   515,   441,   377,    57,   425,     8,     9,    10,
     1927      11,    12,   802,    50,   225,   604,   481,   226,   470,   745,
     1928     230,    86,   232,  1219,   208,  1341,   359,  1342,   447,   575,
     1929     235,   745,   470,   745,  -300,  1351,    70,   457,   111,    33,
     1930      86,     8,     9,    10,    11,    12,   841,   567,    86,   409,
     1931     842,    43,    44,   520,   458,    47,    48,   340,   648,   899,
     1932    1152,  1569,   709,  1187,   113,  1021,  1337,    36,   841,  1344,
     1933     918,   918,  1074,    33,   395,   745,  1352,   396,  1056,   755,
     1934     505,   397,   745,    63,   398,   321,    86,   399,    78,   908,
     1935     400,   601,   401,   111,   553,   554,    50,    47,    48,   113,
     1936    1096,    36,    78,  1097,    73,  1098,    43,    44,   372,  1435,
     1937    -112,   340,   340,    50,  -112,   745,   759,   760,   761,  -418,
     1938     359,   359,   506,   835,  1561,   802,   604,   340,  1081,   881,
     1939     575,   113,  1334,   509,  1227,   514,  1335,   648,  1091,  1570,
     1940    1515,  1048,   107,   113,  1519,  1567,  1058,   113,   948,   945,
     1941    1099,   592,   225,    39,  1099,   171,   172,    42,  1578,   709,
     1942     561,   697,   697,    77,  1579,   562,    43,    44,   563,   486,
     1943    1083,   316,   111,   323,   409,   340,  1214,    77,   564,  1096,
     1944     439,   330,  1097,   982,  1098,    43,    44,   592,   372,   678,
     1945     680,   586,   370,    -3,   113,   661,    69,   592,  1357,  1358,
     1946     107,  1099,  1046,   592,  1021,  1412,   945,    50,    50,    50,
     1947    1388,  1389,   802,  1318,     8,     9,    10,    11,    12,    63,
     1948     796,   662,   697,   697,   663,   604,  1229,  1230,    39,   665,
     1949    1056,   666,    42,   667,   403,   242,   323,   409,   113,   671,
     1950      73,    43,    44,   762,   763,    57,    33,   208,    50,   672,
     1951      50,   674,    50,   766,   767,   768,   769,   439,   417,   664,
     1952     409,  1075,   208,   899,   113,   247,    78,   800,   111,   601,
     1953     138,   450,   520,  -389,    36,    47,    48,   520,   107,  -244,
     1954     520,    43,    44,    50,   764,   765,  1544,   602,   225,   226,
     1955     720,   627,    86,   232,   478,   323,   409,   113,  1058,   817,
     1956     323,   601,   404,   722,  1099,   235,    86,   451,  1057,   724,
     1957     733,   918,   452,   734,   896,   938,   770,   771,   908,   797,
     1958     601,   746,   747,  1171,   -14,   604,    47,    48,   799,  -301,
     1959      39,   778,    69,   810,    42,    58,     8,     9,    10,    11,
     1960      12,    77,   858,    43,    44,   -15,  1302,   857,   864,    39,
     1961     208,   171,   172,    42,   113,  1276,  1277,  1278,   592,   340,
     1962     886,   626,    43,    44,   888,   900,  -441,  -546,    33,    45,
     1963     912,   924,   917,   918,   717,   926,   929,    47,    48,  1021,
     1964     668,    51,   114,   225,   931,   918,   918,   932,   933,   942,
     1965    1303,   934,   935,    58,   359,   359,    36,    63,    50,   952,
     1966     953,   954,    78,    39,   968,   171,   172,    42,   969,   918,
     1967     128,  1163,   129,   130,   131,    51,    43,    44,    73,   697,
     1968      70,  1081,   970,    43,    44,   971,   145,   697,   697,   697,
     1969     972,   113,    51,   113,   113,   973,   899,   896,  1099,   974,
     1970    1099,  1099,  -429,   997,   181,  -428,  1038,   205,   669,   623,
     1971      51,  1044,  1040,   340,   340,    39,   107,   178,   179,    42,
     1972    1057,  1047,  1193,  1083,  1057,  1165,  1416,  1068,    43,    44,
     1973      86,    58,    39,  1070,   171,   172,    42,    77,  1069,  1071,
     1974    1079,   918,  1056,  1089,  1093,    43,    44,   114,   937,  1119,
     1975    1021,   174,  1143,   107,  1050,   114,   409,  1144,   256,   261,
     1976      50,  1146,    47,    48,   111,  1145,   138,   139,    73,  1158,
     1977      69,  1174,  1159,  1161,  1162,   113,  1081,    43,    44,  1167,
     1978     439,   359,  1099,  1170,    -9,   300,   145,   592,  -464,   395,
     1979     546,   -11,   396,   745,   114,   337,   397,    -3,   205,   398,
     1980     251,  1021,   399,   252,  1021,   400,   107,   401,   265,  1183,
     1981    1058,  1177,  1189,   111,  1181,   215,    70,  1051,  1083,   899,
     1982    1096,   181,   181,  1097,   210,  1098,    43,    44,  1507,   511,
     1983    1210,   494,    50,    50,  1212,  1220,   113,   113,   256,  1215,
     1984      78,  1221,  1224,  1099,  1099,  1231,    51,  1235,   107,  1355,
     1985    1237,  1239,  1021,  1289,   697,  1240,   140,  1021,   205,    39,
     1986    1350,   171,   172,    42,  1241,  1242,    86,   209,  1243,  1245,
     1987    1057,  1267,    43,    44,   210,  1252,   228,  1314,   111,  1081,
     1988     138,   139,    51,  1261,  1262,  1296,  1021,   107,  1297,    57,
     1989     261,    43,    44,  1270,  1271,   261,   256,   256,   374,  1273,
     1990    1274,  1282,   114,  -302,  1298,  1304,   884,   436,  1310,    58,
     1991       8,     9,    10,    11,    12,    77,  1312,   726,  1343,   209,
     1992    1332,  1083,   727,   147,  1313,   148,  1317,  1322,  1024,   300,
     1993      78,    73,  1324,   149,  1330,    50,  1331,   113,    73,  1340,
     1994    1333,   300,    33,   321,  1509,  1353,    58,  1082,   403,   266,
     1995    1354,   107,  1278,  1360,  1371,   480,  1021,   568,   209,  1364,
     1996    1365,  1021,  1402,   145,  1382,    50,    50,  1383,   158,   107,
     1997      36,  -430,  1057,   114,  1386,  1397,   107,   668,   337,  1404,
     1998    1406,  1407,   603,   622,  1021,  1408,  1021,   340,   340,  1417,
     1999    1021,  1421,  1422,  1021,    70,    50,  1423,   371,    73,    58,
     2000    1424,  1335,  1426,  1361,   632,    77,  1021,  1431,   632,   951,
     2001    1021,  1473,  1436,  1478,  1440,  1444,   404,  1442,   209,   956,
     2002     957,  1438,  1446,  1350,  1449,    57,  1448,  1455,   113,   316,
     2003    1350,   967,  1458,   174,    39,  1574,   107,  1480,    42,   113,
     2004    1469,    58,  1482,   181,    86,   669,  1581,    43,    44,   211,
     2005     209,  1511,  1484,  1513,  1486,   209,  1489,   636,   453,  1491,
     2006    1492,   640,  1493,   256,  1516,   300,   300,  1160,  1500,   256,
     2007    1477,   632,  1477,   713,  1518,  1521,  1522,  1409,  1525,    58,
     2008      58,    47,    48,  1532,    70,  1534,   219,  1536,  1539,   491,
     2009    1350,  1541,   300,    78,  1554,  1555,  1558,   164,  1547,   169,
     2010      78,   211,   175,   176,   177,  1552,  1559,  1553,  1576,   256,
     2011    1477,  1577,  1477,   772,   340,  1580,   776,  1176,   256,   229,
     2012     632,   773,    51,   774,  1095,  1565,  1566,   714,  1451,    58,
     2013     775,  1495,   238,   239,    86,  1288,   114,  1401,  1562,  1356,
     2014     211,  1560,  1472,   209,    58,  1520,  1182,  1191,   300,  1049,
     2015     114,  1370,  1204,   300,   920,   300,   300,  1077,   996,  1092,
     2016      78,   863,    58,   914,   208,   337,   111,  1076,    77,    58,
     2017    1305,   711,   780,  1096,   927,    77,  1097,   476,  1098,    43,
     2018      44,   781,   782,  1265,  1266,    39,  1268,   171,   172,    42,
     2019       0,     0,  1272,     0,     0,  1275,     0,     0,    43,    44,
     2020     211,  1451,   649,    57,     0,  1451,  1451,  1320,   568,   568,
     2021    1137,  1138,     0,     0,   439,     0,   300,   454,     2,   202,
     2022       4,     5,     6,     7,     0,   406,     0,   632,   337,    58,
     2023     209,   622,   211,  1540,     0,    77,     0,   211,     0,     0,
     2024    1082,   603,  1024,     0,   603,     0,   209,    70,    39,     0,
     2025     178,   179,    42,     0,    70,     0,  1556,     0,     0,     0,
     2026    1556,    43,    44,   632,     0,     0,   592,     0,   592,     0,
     2027     209,  1185,  1186,   632,     0,   622,     0,     0,   111,   632,
     2028     138,   139,   632,   632,  1573,     0,    37,   600,    38,   601,
     2029       0,    43,    44,    57,     0,    47,    48,    86,   632,     0,
     2030     256,     0,     0,     0,    86,     0,   592,     0,   592,   602,
     2031       0,   256,     0,   719,    70,     0,     0,   836,   728,    39,
     2032       0,   178,   179,    42,     0,   211,     0,     0,     0,     0,
     2033       0,   114,    43,    44,     0,  1082,   852,     0,     2,   202,
     2034       4,     5,     6,     7,     0,     0,   632,   909,   622,   867,
     2035       0,    -3,     0,  1363,   714,   714,     0,     0,  1505,     0,
     2036     409,     0,   173,     0,    86,     0,    47,    48,  1394,   224,
     2037       0,     0,     0,   206,   216,   508,     0,   510,   513,   588,
     2038       0,   599,     0,     0,   337,     0,   516,   517,   525,     0,
     2039       0,   209,   526,   527,   528,     0,     0,     0,   630,   631,
     2040     510,   510,     0,     0,  1387,     0,    37,  1395,    38,   791,
     2041       0,   173,   211,     0,   173,     0,   529,     0,   530,     0,
     2042     531,   532,     0,   438,   568,     0,   209,     2,   202,     4,
     2043       5,     6,     7,     0,   632,   209,   962,   510,  1082,     0,
     2044       0,   603,   525,     0,     0,     0,   526,   527,   528,     0,
     2045       0,     0,   211,   838,   603,  1433,    57,     0,   411,     0,
     2046    1437,     0,     0,    57,     0,   419,     0,     0,  1323,     0,
     2047     529,   856,   530,     0,   531,  1287,  1325,  1326,  1327,   510,
     2048       0,     0,     8,     9,    10,    11,    12,     0,   111,  1461,
     2049     138,   450,     0,   209,     0,    37,     0,    38,     0,     0,
     2050       0,    43,    44,   209,     0,     0,   300,     0,   209,     0,
     2051       0,     0,     0,     0,    33,     0,     0,     0,   173,     0,
     2052       0,     0,     0,    57,     0,     0,     0,     0,     0,     0,
     2053     337,   411,     0,     0,     0,   114,     0,  1052,     0,     0,
     2054       0,     0,    36,     0,   916,     0,     0,    39,   491,   909,
     2055     909,    42,     0,     0,   714,     0,     0,     0,     0,     0,
     2056      43,    44,     0,     0,   114,   300,   173,     0,     0,     0,
     2057       0,   337,     0,   211,     0,     0,     0,     0,     0,     0,
     2058       0,     0,     0,     0,     0,     0,    45,  1545,     0,   573,
     2059       0,     0,     0,  1545,    47,    48,   209,     0,   577,     0,
     2060       0,   580,     0,   337,     0,     0,     0,     0,   211,  1545,
     2061       0,     0,   454,  1545,     0,     0,     0,   211,     0,     0,
     2062       0,     0,     0,     0,   632,   632,     0,     0,     0,     0,
     2063       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2064       0,     0,   300,  1456,   173,     0,     0,     0,   510,   510,
     2065     510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
     2066     510,   510,   510,   510,   510,   510,     0,   411,   173,     0,
     2067       0,   419,   173,     0,     0,   211,     0,     0,     0,     0,
     2068       0,     0,   649,     0,     0,   211,     0,     0,  1000,  1052,
     2069     211,  1052,     0,  1052,     0,     0,     0,     0,     0,     0,
     2070    1164,  1166,  1168,     0,     0,     0,     0,     0,   114,     0,
     2071       0,     0,     0,     0,   909,     0,     0,     0,     0,     0,
     2072       0,     0,     0,  1066,   256,     0,     0,     0,     0,     0,
     2073       8,     9,    10,    11,    12,     0,   901,     0,   902,     0,
     2074      39,     0,   178,   179,    42,     0,   905,   906,     0,   411,
     2075       0,   911,     0,    43,    44,   337,     0,     0,     0,     0,
     2076       0,   649,    33,     0,     0,     0,   209,     0,   921,     0,
     2077       0,     0,     0,   925,     0,     0,     0,     0,   211,  1050,
     2078      39,   409,   178,   179,    42,     0,     0,    47,    48,     0,
     2079      36,    74,   599,    43,    44,    39,     0,   178,   179,    42,
     2080    1051,     0,     0,     8,     9,    10,    11,    12,    43,    44,
     2081       0,     0,     0,     0,     0,     0,     0,     0,     0,   180,
     2082     300,     0,   510,     0,     0,    74,     0,    47,    48,     0,
     2083       0,   114,     0,     0,   600,    33,   601,     0,     0,  1052,
     2084     573,   573,    47,    48,     0,     0,     0,   510,     0,     0,
     2085       0,     0,   632,     0,     0,     0,     0,   114,     0,     0,
     2086     218,     0,  1000,    36,     0,     0,     0,     0,    39,     0,
     2087     178,   179,    42,     0,     0,     0,     0,   510,     0,     0,
     2088       0,    43,    44,    39,     0,   178,   179,    42,  1207,     0,
     2089     985,     0,   986,   987,   988,     0,    43,    44,   632,   632,
     2090       0,     0,     0,     0,     0,     0,     0,  1050,     0,   409,
     2091     300,  1039,     0,     0,     0,    47,    48,     0,     0,     0,
     2092       0,     0,   255,     0,     0,     0,     0,  1045,   173,     0,
     2093      47,    48,     0,     0,   874,     0,     0,     0,   878,     0,
     2094       0,  1052,     0,     0,     0,   346,     0,   173,   211,     0,
     2095    1072,     0,   114,     0,     0,     0,     0,     0,     0,     0,
     2096     173,     0,     0,     0,     8,     9,    10,    11,    12,     0,
     2097       0,     0,     0,     0,     0,     0,     0,     0,  1264,     8,
     2098       9,    10,    11,    12,  1094,     0,     0,     0,     0,  1104,
     2099     261,   114,     0,     0,  1107,     0,    33,     0,     0,  1112,
     2100    1113,     0,     0,     0,  1115,     0,  1116,  1117,     0,     0,
     2101    1120,    33,     0,     0,   256,     0,     0,   446,     0,  1135,
     2102       0,     0,     0,     0,    36,   632,     0,     0,     0,    39,
     2103      66,   118,    74,    42,     0,  1149,  1150,    74,     0,    36,
     2104     261,     0,    43,    44,    39,     0,   178,   179,    42,     0,
     2105     510,     0,     0,     0,     0,   114,   573,    43,    44,     0,
     2106       0,     0,   510,     0,    66,  1415,     0,  1178,   713,     0,
     2107    1180,     0,     0,   114,     0,     0,    47,    48,     0,     0,
     2108     114,   157,   114,  1505,   114,   409,     0,     0,     0,     0,
     2109       0,    47,    48,     0,     0,     0,     0,     0,     0,   217,
     2110       0,   510,     0,   533,   534,   535,   536,   537,   538,   539,
     2111     540,   541,   542,   543,     0,     0,  1506,   261,     0,     0,
     2112       0,     0,   114,  1213,   114,     0,     0,     0,   591,  1217,
     2113    1218,     0,     0,     0,   218,     0,   249,   544,  1225,     0,
     2114     114,     0,     0,  1232,     0,     0,  1506,  1506,  1236,     0,
     2115     209,   510,     0,     0,   591,     0,     0,     0,   591,     0,
     2116       0,  1244,     0,   300,     0,     0,     0,     0,     0,   173,
     2117       0,     0,     0,     0,     0,   322,  1506,  1251,     0,  1253,
     2118    1254,  1255,  1256,   249,   342,     8,     9,    10,    11,    12,
     2119       0,     0,     0,     0,  1263,     0,  1149,     0,     0,     0,
     2120     209,     0,     0,     0,     0,     0,     0,    74,     0,     0,
     2121       0,   402,     0,     0,     0,     0,     0,    33,     0,     0,
     2122       0,   346,     0,     0,     0,  1110,    74,   422,  1292,  1293,
     2123     427,   429,     0,     0,    74,   157,     0,     0,     0,     0,
     2124       0,  1123,     0,     0,     0,    36,     0,   510,   510,     0,
     2125      39,   346,   178,   179,    42,     0,   445,     0,     0,     0,
     2126     448,   218,   449,    43,    44,   455,     0,     0,     0,     0,
     2127     346,    66,    74,     0,     0,     0,   469,   209,     0,     0,
     2128       0,     0,     0,     0,     0,     0,   477,     0,     0,   180,
     2129       0,     0,  1328,  1329,   429,     0,     0,    47,    48,     0,
     2130       0,     0,  1339,     0,     0,     0,     0,     0,   173,     0,
     2131       0,   173,   173,   173,     0,   346,     0,     0,     0,     0,
     2132       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2133     411,     0,   211,     0,     0,     0,     0,     0,     0,     0,
     2134       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2135       0,     0,     0,     0,     0,     0,     0,     8,     9,    10,
     2136      11,    12,   249,     0,     0,     0,  1378,   590,  1379,  1380,
     2137    1381,     0,     0,   625,     0,     0,     0,   591,   346,     0,
     2138    1385,     0,   211,     0,     0,     0,     0,     0,  1396,    33,
     2139       0,   169,     0,   634,     0,     0,     0,   634,     0,     0,
     2140       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2141       0,     0,     0,   591,     0,     0,     0,    36,  1418,     0,
     2142       0,     0,    39,   591,   178,   179,    42,     0,     0,   591,
     2143       0,     0,   346,   346,     0,    43,    44,     0,     0,     0,
     2144       0,     0,     0,     0,     0,     0,   469,    79,   346,     0,
     2145       0,     0,     0,     0,     0,     0,     0,     0,     0,   211,
     2146     342,   255,  1459,  1460,     0,   469,   411,   346,     0,    47,
     2147      48,     0,     0,   469,     0,  1465,     0,     0,    74,     0,
     2148       0,    79,  1465,   173,     0,     0,     0,     0,   510,     0,
     2149     692,     0,    74,   429,     0,     0,   346,     0,     0,  1490,
     2150     702,     0,     0,     0,     0,     0,     0,     0,     0,   707,
     2151       0,    66,     0,     0,     0,     0,   220,  1504,     0,     0,
     2152       0,     0,  1510,   429,     0,     0,     0,   429,     0,     0,
     2153       0,     0,     0,     0,   346,     0,     0,     0,     0,     0,
     2154       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2155     510,     0,     0,     0,   342,  1537,     0,  1538,     0,     0,
     2156       0,     0,   510,   510,     0,     0,     0,     0,     0,  1368,
     2157     346,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2158     346,   346,     0,     0,   591,     0,   510,   218,     0,     0,
     2159       0,     0,   346,     0,   173,  1563,  1564,     0,   783,     0,
     2160       0,   350,     0,     0,     0,     0,     0,     0,  1571,  1572,
     2161       0,     0,     0,     0,     0,     0,   634,   795,     0,     0,
     2162       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2163       0,     0,     0,   813,     0,     0,     0,     0,     0,     0,
     2164       0,     0,     0,     0,     0,   173,     0,     0,   173,     0,
     2165       0,     0,   590,     0,     0,     0,    74,   837,   510,     0,
     2166       0,     0,   590,     0,     0,     0,     0,     0,   634,     0,
     2167       0,   342,   342,     0,     0,     0,   173,     0,     0,     0,
     2168     346,     0,     0,     0,     0,     0,     0,   342,    79,     0,
     2169       0,     0,     0,    79,   275,   276,   173,   277,     0,     0,
     2170       0,   173,     0,     0,     0,     0,   692,     0,     0,     0,
     2171       0,     0,     0,     0,     0,     0,     0,   469,     0,     0,
     2172       0,   346,     0,   278,     0,     0,     0,     0,     0,   279,
     2173     173,   469,     0,   280,     0,   342,   281,   282,   272,   283,
     2174     284,   285,    43,    44,   913,   286,   287,   429,     0,     0,
     2175       0,     0,     0,   591,     0,     0,     0,     0,     0,     0,
     2176       0,     0,     0,     0,     0,     0,     0,     0,   288,     0,
     2177     377,   346,   346,   707,   346,   346,    47,    48,   290,   291,
     2178     292,   293,     0,     0,   593,     0,     0,     0,     0,   777,
     2179     220,     0,    74,     0,     0,     0,     0,     0,     0,     0,
     2180     173,     0,     0,     0,     0,   173,     0,     0,     0,   692,
     2181     593,     0,     0,     0,   593,     0,     0,     0,     0,   692,
     2182     692,     0,     0,   634,     0,     0,   965,     0,   173,     0,
     2183     173,   692,   346,   346,   173,     0,     0,   173,     0,     0,
     2184       0,   976,     0,     0,     0,     0,     0,     0,     0,     0,
     2185     173,     0,     0,     0,   173,     0,     0,     0,     0,     0,
     2186       0,     0,     0,    79,     0,     0,     0,     0,     0,     0,
     2187       0,     0,     0,     0,     0,     0,     0,   350,     0,     0,
     2188       0,     0,    79,     0,     0,     0,     0,     0,     0,     0,
     2189      79,     0,     0,     0,     0,    66,     0,     0,   275,   276,
     2190       0,   277,     0,     0,     0,   346,     0,   350,     0,     0,
     2191       0,     0,     0,     0,     0,     0,     0,   220,     0,   795,
     2192       0,     0,    87,     0,     0,     0,   350,   278,    79,     0,
     2193       0,     0,     0,   645,     0,   138,   139,   280,     0,  1073,
     2194     281,   282,   272,   283,   284,   285,    43,    44,     0,   286,
     2195     287,     0,   429,   118,     0,     0,    87,     0,     0,     0,
     2196     707,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2197      74,   350,   288,     0,   646,     0,   647,   378,     0,     0,
     2198      47,    48,   290,   291,   292,   293,     0,     0,     0,     0,
     2199       0,   221,   590,     0,     0,     0,     0,     0,     0,     0,
     2200     346,     0,   346,     0,     0,   427,     0,     0,     0,     0,
     2201     692,   692,     0,   342,   342,     0,     0,     0,     0,     0,
     2202       0,     0,     0,     0,     0,     0,     0,     0,     0,   346,
     2203       0,    66,     0,   593,   350,     0,     0,   346,   346,   346,
     2204       0,     0,     0,     0,     0,     0,     0,     0,   346,   346,
     2205       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2206      74,     0,     0,     0,     0,     0,     0,     0,     0,   593,
     2207       0,   692,   692,     0,     0,     0,   362,     0,     0,   593,
     2208       0,     0,  1198,     0,     0,   593,     0,     0,   350,   350,
     2209       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2210       0,     0,     0,     0,   350,     0,     0,     0,     0,     0,
     2211       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2212       0,     0,     0,   350,     0,     0,     0,     0,     0,     0,
     2213       0,     0,     0,     0,    79,     0,     0,     0,     0,     0,
     2214       0,   218,     0,     0,   707,     0,     0,     0,    79,     0,
     2215       0,     0,   350,     0,     0,     0,     0,     0,     0,     0,
     2216       0,     0,     0,    87,     0,     0,     0,     0,    87,     0,
     2217       0,     0,     0,     0,     0,   346,     0,     0,     0,     0,
     2218       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2219     350,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2220       0,     0,     0,     0,   346,     0,     0,     0,     0,    66,
     2221       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2222       0,     0,     0,    74,     0,     0,   350,     0,     0,     0,
     2223      74,     0,   591,     0,   591,     0,   350,   350,     0,   692,
     2224     593,   707,     0,   220,     0,     0,   118,     0,   350,     0,
     2225       0,     0,     0,     0,     0,     0,     0,     0,     0,   594,
     2226       0,     0,     0,     0,     0,   221,     0,     0,   692,     0,
     2227       0,     0,   591,     0,   591,     0,   692,   692,   692,     0,
     2228       0,     0,     0,     0,     0,   594,     0,   342,   342,   594,
     2229      74,     0,     0,     0,     0,     0,     0,     0,     0,  1349,
     2230       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2231       0,     0,    79,     0,     0,     8,     9,    10,    11,    12,
     2232      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2233      23,    24,    25,    26,    27,     0,   350,     0,    87,     0,
     2234       0,   118,     0,     0,     0,     0,     0,    33,     0,     0,
     2235       0,     0,   362,     0,     0,     0,     0,    87,     0,     0,
     2236       0,     0,     0,     0,     0,    87,     0,     0,     0,     0,
     2237       0,   162,     0,   275,   276,    36,   277,   350,     0,     0,
     2238    1399,     0,   362,     0,     0,     0,   214,     0,     0,     0,
     2239       0,     0,   221,     0,     0,     0,     0,     0,     0,     0,
     2240       0,   362,   278,    87,     0,     0,     0,     0,   279,   593,
     2241       0,     0,   280,     0,   342,   281,   282,   272,   283,   284,
     2242     285,    43,    44,     0,   286,   287,     0,   350,   350,   127,
     2243     350,   350,     0,     0,   162,     0,     0,     0,   262,     0,
     2244       0,     0,     0,   692,   118,     0,   362,   288,    79,   377,
     2245       0,     0,   378,     0,     0,    47,    48,   290,   291,   292,
     2246     293,     0,  1349,     0,   162,     0,     0,     0,     0,  1349,
     2247       0,  1476,     0,  1476,   368,     0,     0,   373,     0,     0,
     2248       0,     0,     0,     0,   127,     0,     0,     0,   350,   350,
     2249       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2250     127,     0,   127,     0,     0,     0,     0,     0,   594,   362,
     2251       0,  1476,     0,  1476,     0,     0,     0,     0,     0,     0,
     2252       0,     0,     0,     0,     0,   162,     0,   267,     0,  1349,
     2253       0,     0,     0,     0,     0,     0,  1535,   214,     0,     0,
     2254       0,     0,     0,     0,   594,     0,     0,     0,     0,     0,
     2255       0,     0,     0,     0,   594,     0,     0,     0,     0,     0,
     2256     594,   350,     0,   362,   362,     0,     0,     0,     0,     0,
     2257       0,     0,     0,     0,   373,     0,     0,     0,     0,   362,
     2258       0,   162,     0,     0,     0,     0,   127,     0,   127,   127,
     2259       0,     0,     0,   127,     0,   127,   127,     0,   362,     0,
     2260       0,     0,     0,     0,     0,     0,     0,     0,   523,    87,
     2261       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2262     162,     0,     0,    87,     0,     0,    79,   362,     0,     8,
     2263       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2264      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2265       0,    28,    29,    30,     0,     0,   350,   597,   350,   127,
     2266       0,    33,   624,     0,     0,   362,     0,     0,     0,     0,
     2267       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2268       0,     0,     0,     0,     0,   350,     0,     0,     0,    36,
     2269       0,     0,     0,   350,   350,   350,   203,    41,     0,     0,
     2270       0,   362,     0,     0,   350,   350,     0,     0,     0,     0,
     2271       0,   362,   362,     0,     0,   594,    79,     0,   221,     0,
     2272       0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
     2273       0,     0,     0,     0,     0,   127,     0,     0,     0,     0,
     2274       0,    47,    48,     0,   162,   162,     0,     0,     0,     0,
     2275     368,     0,     0,     0,   127,     0,     0,     0,     0,     0,
     2276       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2277       0,   162,     0,     0,     0,     0,     0,     0,     0,     0,
     2278       0,     0,     0,     0,     0,     0,     0,    87,     0,     0,
     2279       0,     0,     0,     0,     0,     0,     0,   220,     0,   710,
     2280       0,     0,     0,     0,     0,     0,   127,     0,     0,     0,
     2281       0,   362,     0,     0,     0,   162,     0,     0,     0,     0,
     2282       0,     0,     0,     0,     0,     0,     0,   523,     0,   523,
     2283       0,   350,   523,     0,   162,   523,     0,     0,     0,     0,
     2284       0,     0,     0,     0,   368,     0,     0,     0,     0,     0,
     2285       0,     0,   362,     0,     0,     0,     0,     0,     0,     0,
     2286     350,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2287       0,     0,     0,     0,     0,     0,     0,     0,     0,    79,
     2288       0,     0,     0,     0,   594,     0,    79,     0,   593,     0,
     2289     593,     0,     0,     0,     0,   162,     0,     0,     0,     0,
     2290       0,     0,   362,   362,     0,   362,   362,   368,     0,     0,
     2291     798,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2292       0,     0,     0,    87,     0,     0,     0,     0,   593,     0,
     2293     593,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2294       0,     0,   597,     0,   207,     0,    79,     0,     0,     0,
     2295       0,     0,   597,   227,     0,   231,     0,   233,     0,     0,
     2296       0,   368,   368,   362,   362,   236,     0,     0,     0,     0,
     2297       0,     0,   127,   127,     0,     0,     0,   368,     0,     0,
     2298       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2299       0,     0,     0,     0,     0,     0,   207,     0,   231,   233,
     2300     236,     0,     0,     0,     0,   127,     0,     0,   127,   127,
     2301     523,   127,     0,   127,   127,     0,     0,     0,   127,   127,
     2302       0,     0,     0,     0,     0,   368,     0,   910,     0,     0,
     2303       0,     0,     0,     0,     0,   207,   362,     0,     0,     0,
     2304       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2305       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2306       0,     0,   127,   710,     0,     0,   127,     0,     0,     0,
     2307       0,     0,     0,     0,     0,     0,     0,   975,     0,     0,
     2308       8,     9,    10,    11,    12,     0,     0,     0,     0,     0,
     2309       0,     0,     0,     0,     0,   207,     0,   231,   233,   236,
     2310       0,    87,     0,     0,     0,     0,     0,     0,     0,     0,
     2311     275,   276,    33,   277,     0,   624,     0,     0,     0,     0,
     2312       0,     0,     0,     0,     0,     0,     0,   207,     0,     0,
     2313       0,   362,   207,   362,     0,     0,     0,     0,     0,   278,
     2314      36,     0,     0,     0,     0,   279,     0,     0,     0,   280,
     2315       0,     0,   281,   282,   272,   283,   284,   285,    43,    44,
     2316     362,   286,   287,     0,     0,     0,     0,     0,   362,   362,
     2317     362,     0,     0,     0,     0,     0,     0,     0,     0,   362,
     2318     362,     0,     0,     0,   288,     0,   377,     0,     0,     0,
     2319       0,    87,   336,    48,   290,   291,   292,   293,     0,     0,
     2320     207,     0,     0,     0,     0,     0,     0,     0,     0,   368,
     2321     275,   276,     0,   277,   523,     0,     0,     0,   154,     0,
     2322     207,     0,     0,     0,     0,     0,   628,     0,   233,     0,
     2323       0,     0,     0,     0,     0,     0,     0,     0,     0,   278,
     2324     236,     0,     0,     0,   162,   279,     0,     0,     0,   280,
     2325     710,     0,   281,   282,   272,   283,   284,   285,    43,    44,
     2326       0,   286,   287,     0,   241,     0,     0,     0,     0,     0,
     2327       0,     0,   221,     0,   246,     0,     0,     0,     0,     0,
     2328     207,     0,   597,     0,   288,     0,   377,     0,     0,     0,
     2329       0,   748,    47,    48,   290,   291,   292,   293,     0,     0,
     2330     207,     0,     0,   368,   368,   207,   362,   207,     0,     0,
     2331       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2332       0,     0,     0,   207,     0,     0,   207,   207,     0,     0,
     2333       0,     0,     0,   207,     0,   362,     0,     0,     0,     0,
     2334     384,     0,     0,     0,     0,     0,     0,   207,     0,     0,
     2335       0,     0,     0,   127,    87,   207,     0,     0,     0,     0,
     2336       0,    87,   416,   594,     0,   594,     0,     0,     0,   127,
     2337       0,     0,   127,   127,     0,  1133,   430,     0,     8,     9,
     2338      10,    11,    12,     0,     0,   435,     0,   523,     0,     0,
     2339       0,     0,     0,     0,     0,   443,     0,     0,     0,     0,
     2340       0,     0,     0,   594,     0,   594,     0,     0,   275,   276,
     2341      33,   277,     0,     0,   460,     0,     0,     0,     0,   471,
     2342       0,    87,     0,     0,     0,     0,     0,     0,     0,     0,
     2343       0,     0,   479,     0,   710,     0,     0,   278,    36,     0,
     2344     493,     0,   497,   279,     0,   127,     0,   280,     0,     0,
     2345     281,   282,   272,   283,   284,   285,    43,    44,   127,   286,
     2346     287,   524,     0,   127,   127,     0,     0,     0,   207,     0,
     2347     628,   233,   236,     0,     0,     0,     0,     0,     0,     0,
     2348       0,     0,   288,     0,   377,     0,     0,     0,     0,     0,
     2349    1134,    48,   290,   291,   292,   293,     0,     0,     0,     0,
     2350       0,     0,   582,   207,   628,     0,     0,   587,     0,     0,
     2351     523,     0,   207,     0,     0,     0,     0,     0,     0,     0,
     2352     127,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2353       0,   710,     0,     0,     0,     0,     0,     0,     0,     0,
     2354       0,     0,   641,     0,     0,     0,   642,   643,     0,   644,
     2355       0,     0,     0,     0,     0,     0,   655,   656,     0,   657,
     2356     658,     0,   659,     0,   660,     0,     0,     0,     0,     0,
     2357     207,     0,     0,   275,   276,     0,   277,   368,   368,     0,
     2358     207,   582,   127,     0,     0,   207,     0,     0,     0,   676,
     2359       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2360       0,   127,   278,     0,     0,     0,     0,     0,   279,     0,
     2361       0,     0,   280,   687,     0,   281,   282,   272,   283,   284,
     2362     285,    43,    44,     0,   286,   287,     0,     0,     0,     0,
     2363       0,     0,   332,   363,     0,     0,     0,     0,   701,     0,
     2364       0,     0,     0,     0,     0,   705,     0,   288,     0,   377,
     2365     460,     0,   937,     0,     0,    47,    48,   290,   291,   292,
     2366     293,   207,     0,     0,   412,     0,     0,     0,     0,   214,
     2367       0,   412,     0,   207,     0,     0,     0,     0,     0,     0,
     2368       0,     0,   275,   276,     0,   277,     0,     0,     0,     0,
     2369     743,   207,     0,     0,     0,     0,     0,   127,     0,     0,
     2370       0,     0,   754,     0,   368,     0,     0,     0,     0,     0,
     2371       0,   278,     0,     0,     0,   207,     0,   279,     0,   214,
     2372       0,   280,     0,     0,   281,   282,   272,   283,   284,   285,
     2373      43,    44,     0,   286,   287,     0,     0,   412,     0,   779,
     2374       0,   275,   276,     0,   277,     0,     0,     0,   789,     0,
     2375       0,   790,     0,     0,     0,     0,   288,     0,   377,     0,
     2376       0,   523,     0,   523,    47,    48,   290,   291,   292,   293,
     2377     278,     0,     0,   811,     0,     0,   279,     0,     0,     0,
     2378     280,     0,     0,   281,   282,   272,   283,   284,   285,    43,
     2379      44,   207,   286,   287,     0,   412,   373,     0,     0,     0,
     2380       0,   523,     0,   523,   412,   578,     0,   412,   581,     0,
     2381       0,     0,     0,     0,     0,   507,   363,   377,   854,     0,
     2382     614,     0,     0,    47,    48,   290,   291,   292,   293,     0,
     2383       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2384       0,     0,   162,   207,     0,     0,   638,     0,     0,     0,
     2385       0,     0,     0,     0,   207,   889,     0,     0,     0,     0,
     2386       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2387       0,     0,     0,   412,     0,     0,     0,   412,     0,     0,
     2388       0,     0,     0,   241,     0,     0,     0,     0,     0,     0,
     2389     314,     0,     0,     0,     0,     0,     0,     0,   922,   923,
     2390     338,     0,     0,     0,     0,     0,     0,     0,   930,   363,
     2391       0,   380,   380,     0,     0,     0,     0,     0,     0,     0,
     2392       0,     0,   943,     0,     0,     0,     0,   947,     0,     0,
     2393       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2394       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2395       0,   207,     0,     0,     0,   412,     0,     0,   363,     0,
     2396       0,     1,     2,   202,     4,     5,     6,     7,     8,     9,
     2397      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2398      20,    21,    22,    23,    24,    25,    26,    27,  -307,   980,
     2399      28,    29,    30,    31,     0,     0,   981,    32,     0,   475,
     2400      33,     0,     0,   363,     0,     0,     0,     0,     0,     0,
     2401       0,     0,   983,     0,   984,     0,     0,     0,     0,     0,
     2402       0,     0,     0,     0,     0,     0,     0,   994,    36,     0,
     2403      37,     0,    38,   998,     0,    40,    41,     0,     0,  -307,
     2404       0,     0,     0,     0,  1041,     0,   412,   412,  1042,     0,
     2405       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,     0,     0,   793,   363,     0,     0,     0,
     2407       0,     0,     0,     0,    46,     0,   207,     0,     0,   614,
     2408      47,    48,   614,   614,     0,     0,     0,     0,     0,   614,
     2409       0,     0,     0,     0,     0,     0,     0,     0,     0,   832,
     2410       0,   363,     0,     0,     0,     0,     0,     0,     0,     0,
     2411       0,   363,     0,     0,     0,     0,     0,     0,     0,     0,
     2412     363,   363,   275,   276,   380,   277,     0,     0,     0,     0,
     2413       0,     0,  1114,     0,     0,     0,   363,     0,     0,     0,
     2414     412,   875,     0,     0,   412,   879,     0,     0,     0,     0,
     2415       0,   278,     0,   882,     0,     0,     0,   279,     0,     0,
     2416       0,   280,     0,   352,   281,   282,   272,   283,   284,   285,
     2417      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
     2418       0,     0,     0,     0,   363,   614,     0,     0,     0,     0,
     2419       0,     0,     0,     0,     0,     0,   512,   314,   377,  1179,
     2420       0,     0,     0,     0,    47,    48,   290,   291,   292,   293,
     2421       0,     0,     0,     0,     0,     0,     0,   704,     0,     0,
     2422       0,     0,   363,     0,     0,     0,     0,   207,     0,     0,
     2423       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2424       0,  1209,     0,     0,     0,     0,  1211,     0,     0,     0,
     2425       0,     0,     0,     0,     0,     0,  1216,     0,     0,     0,
     2426     740,     0,   412,     0,     0,     0,     0,     0,     0,     0,
     2427     749,     0,     0,     0,     0,   740,     0,   207,   740,   614,
     2428    1238,   614,     0,     0,     0,     0,     0,     0,     0,     0,
     2429       0,   758,   614,  1246,     0,     0,     0,  1247,     0,     0,
     2430    1248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2431       0,     0,     0,     0,     0,     0,  1257,  1258,     0,     0,
     2432       0,   787,     0,     0,     0,     0,     0,     0,   338,     0,
     2433       0,     0,     0,   749,  1269,     0,     0,     0,     0,     0,
     2434       0,     0,     0,     0,     0,     0,   352,     0,   812,     0,
     2435       0,   352,   352,     0,   207,     0,     0,     0,     0,     0,
     2436       0,     0,     0,     0,     0,     0,     0,     0,   363,     0,
     2437       0,     0,   352,     0,     0,   412,   352,     0,     0,     0,
     2438       0,     0,     0,     0,     0,     0,     0,   614,   614,     0,
     2439     853,     0,     0,     0,     0,     0,     0,     0,   380,  1315,
     2440       0,     0,   353,     0,     0,     0,     0,     0,     0,   363,
     2441       0,     0,     0,   207,     0,     0,     0,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2443       0,   412,  1111,     0,     0,     0,     0,     0,     0,   352,
     2444       0,   363,     0,     0,     0,     0,     0,   412,  1124,     0,
     2445     614,   614,  1131,     0,     0,     0,     0,     0,     0,     0,
     2446       0,     0,   363,   363,     0,     0,     0,     0,     0,   352,
     2447       0,     0,     0,     0,     0,     0,     0,     0,  1372,   740,
     2448    1373,     0,     0,     0,     0,     0,     0,     0,   352,   749,
     2449    1376,   936,  1377,     0,   939,     0,     0,     0,     0,     0,
     2450     946,     0,     0,     0,     0,     0,     0,  1384,     0,     0,
     2451       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2452       0,     0,     0,     0,     0,  1403,  1405,   412,     0,   412,
     2453       0,   412,     0,   352,     0,     0,   412,     0,  1413,     0,
     2454       0,   963,   964,  1414,     0,     0,  1216,     0,     0,     0,
     2455       0,     0,   614,     0,     0,     0,     0,   338,     0,     0,
     2456       0,     0,  1432,     0,     0,     0,     0,     0,     0,     0,
     2457       0,     0,  1439,     0,     0,  1441,     0,  1443,  1445,  1447,
     2458       0,     0,     0,     0,     0,   353,     0,     0,     0,     0,
     2459     353,   353,     0,   363,     0,   352,   352,     0,     0,   352,
     2460     992,     0,     0,     0,   380,     0,     0,     0,     0,     0,
     2461       0,   353,     0,   275,   276,   353,   277,  1481,     0,  1483,
     2462       0,     0,     0,     0,     0,     0,     0,     0,     0,  1216,
     2463       0,   352,     0,     0,   352,   338,     0,     0,     0,  1499,
     2464       0,   352,   278,   352,     0,     0,     0,   352,   279,     0,
     2465     352,   352,   280,     0,     0,   281,   282,   272,   283,   284,
     2466     285,    43,    44,     0,   286,   287,   352,     0,     0,     0,
     2467     314,     0,   412,     0,     0,     0,   338,   412,   353,     0,
     2468       0,     0,     0,   380,     0,   352,     0,   515,   939,   377,
     2469     363,   740,     0,     0,     0,    47,    48,   290,   291,   292,
     2470     293,   352,     0,     0,     0,     0,     0,     0,   353,     0,
     2471       0,  1118,     0,     0,   352,     0,   352,     0,     0,     0,
     2472       0,     0,  1136,     0,     0,     0,     0,   353,     0,     0,
     2473       0,     0,     0,     0,     0,     0,   363,   363,     0,     0,
     2474       0,     0,   380,     0,  1153,     0,     0,     0,     0,     0,
     2475       0,     0,   352,     0,     0,     0,     0,     0,     0,   939,
     2476     939,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2477     125,     0,   353,     0,     0,   412,  1369,     0,     0,   412,
     2478       0,     0,     0,     0,     0,     0,  1184,     0,   352,     0,
     2479       0,     0,     0,     0,   354,     0,     0,     0,   352,   352,
     2480       0,     0,   352,     0,   352,   352,     0,     0,     0,     0,
     2481     352,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2482       0,     0,     0,     0,     0,   234,     0,     0,     0,     0,
     2483       0,     0,     0,     0,   353,   353,     0,     0,   353,   939,
     2484       0,   244,     0,   245,     0,     0,     0,     0,     0,     0,
     2485       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2486     853,     0,     0,   363,     0,     0,     0,     0,     0,     0,
     2487     353,     0,     0,   353,   275,   276,     0,   277,  1249,  1250,
     2488     353,     0,   353,     0,     0,     0,   353,     0,     0,   353,
     2489     353,     0,     0,     0,     0,     0,     0,     0,   352,     0,
     2490       0,     0,     0,   278,     0,   353,     0,     0,     0,   279,
     2491       0,     0,     0,   280,     0,     0,   281,   282,   272,   283,
     2492     284,   285,    43,    44,   353,   286,   287,     0,     0,   413,
     2493     414,     0,     0,     0,   418,     0,   420,   421,     0,   352,
     2494     353,     0,     0,     0,     0,     0,     0,     0,   288,     0,
     2495     377,     0,     0,   353,   412,   353,   703,    48,   290,   291,
     2496     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2497       0,   352,     0,     0,   352,     0,     0,   354,     0,     0,
     2498       0,     0,   354,   354,   412,   412,     0,     0,     0,   352,
     2499     352,   353,   352,   352,     0,     0,     0,     0,     0,     0,
     2500       0,     0,     0,   354,     0,     0,     0,   354,     0,     0,
     2501       0,     0,     0,     0,   412,     0,     0,     0,     0,     0,
     2502       0,     0,     0,     0,     0,     0,     0,   353,     0,  1359,
     2503       0,     0,     0,   740,     0,     0,     0,   353,   353,     0,
     2504       0,   353,     0,   353,   353,     0,     0,     0,     0,   353,
     2505     352,   352,     0,     0,     0,     0,     0,     0,     0,   275,
     2506     276,     0,   277,     0,     0,     0,     0,     0,     0,     0,
     2507     354,     0,     0,     0,     0,     0,   585,     0,     0,     0,
     2508       0,     0,     0,     0,     0,     0,     0,     0,   278,     0,
     2509       0,     0,     0,     0,   279,   629,     0,     0,   280,     0,
     2510     354,   281,   282,   272,   283,   284,   285,    43,    44,     0,
     2511     286,   287,     0,     0,     0,     0,     0,     0,     0,   354,
     2512       0,     0,     0,   352,     0,     0,     0,     0,     0,     0,
     2513       0,     0,     0,   288,     0,   377,     0,   353,     0,     0,
     2514       0,   336,    48,   290,   291,   292,   293,   670,     0,     0,
     2515       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2516       0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
     2517       0,     0,     0,     0,     0,     0,     0,     0,   353,     0,
     2518       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2519      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2520      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2521     353,     0,     0,   353,    33,   894,     0,     0,   352,     0,
     2522     352,     0,     0,     0,     0,     0,   354,   354,   353,   353,
     2523     354,   353,   353,     0,     0,     0,     0,     0,     0,     0,
     2524       0,     0,    36,     0,     0,     0,     0,   352,     0,    40,
     2525      41,     0,     0,     0,     0,   352,   352,   352,     0,     0,
     2526       0,     0,   354,     0,     0,   354,   352,   352,   314,     0,
     2527       0,     0,   354,     0,   354,     0,     0,     0,   354,     0,
     2528       0,   354,   354,     0,     0,     0,     0,     0,   736,   353,
     2529     353,     0,   895,     0,    47,    48,     0,   354,     0,     0,
     2530       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2531       0,     0,     0,   785,   786,     0,   354,     0,     0,     0,
     2532       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2533       0,     0,   354,     0,     0,     0,     0,     0,     0,     0,
     2534       0,     0,     0,     0,     0,   354,   818,   354,     0,   821,
     2535     822,     0,   825,     0,   827,   828,     0,     0,     0,   830,
     2536     831,     0,   353,     0,     0,     0,     0,     0,     0,     0,
     2537       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2538       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2539       0,     0,     0,   352,     0,     0,     0,     0,     0,     0,
     2540       0,     0,     0,   873,     0,     0,     0,   877,     0,     0,
     2541       0,     0,     0,     0,     0,     0,     0,     0,     0,   354,
     2542       0,     0,   352,     0,     0,     0,     0,     0,     0,   354,
     2543     354,     0,     0,   354,     0,   354,   354,     0,     0,     0,
     2544       0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
     2545     352,     0,   352,     0,     0,     0,     0,   353,     0,   353,
     2546       0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2547      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2548      23,    24,    25,    26,    27,   352,   353,    28,    29,    30,
     2549     352,     0,   352,     0,   353,   353,   353,    33,     0,     0,
     2550       0,     0,     0,     0,     0,   353,   353,     0,     0,     0,
     2551       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2552       0,     0,     0,     0,     0,    36,     0,     0,     0,   354,
     2553       0,     0,    40,    41,     0,     0,     0,     0,     0,     0,
     2554    -541,     0,     0,     1,     2,     3,     4,     5,     6,     7,
    21732555       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    21742556      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2175     -299,     0,   342,   344,     0,     0,     0,     0,     0,    66,
    2176        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
    2177        0,     0,     0,     0,   171,     0,     0,   171,     0,     0,
    2178        0,     0,     0,     0,     0,     0,     0,     0,     0,   671,
    2179       36,   685,     0,   342,     0,     0,   116,     0,     0,     0,
    2180        0,  -299,     0,     0,     0,   171,     0,     0,     0,     0,
    2181        0,    85,     0,     0,     0,   344,     0,     0,   671,     0,
    2182        0,     0,   218,     0,     0,   171,   671,   671,   671,     0,
    2183      171,     0,     0,     0,     0,     0,     0,   339,   339,     0,
    2184        0,     0,     0,   342,   342,    85,   342,   342,     0,  1324,
    2185        0,     0,     0,     0,     0,     0,     0,     0,     0,   171,
    2186      344,   344,     0,     0,    74,     0,     0,     0,     0,     0,
    2187        0,     0,     0,     0,     0,     0,   344,     0,     0,     0,
    2188      219,     0,     0,     0,     0,     0,     0,     0,    79,     0,
    2189        0,   116,     0,     0,     0,   344,     0,     0,     0,     0,
    2190        0,     0,   345,     0,   342,   342,    77,    79,     0,     0,
    2191        0,     0,     0,     0,     0,    79,     0,     0,     0,     0,
    2192       77,     0,     0,   344,     0,     0,     0,     0,   171,     0,
    2193     1374,     0,   345,   171,     0,     0,     0,     0,     0,     0,
    2194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2195      345,     0,    79,     0,     0,     0,   171,     0,   171,     0,
    2196        0,   344,   171,   352,   339,   171,     0,     0,     0,     0,
    2197        0,     0,     0,     0,     0,     0,     0,   342,   171,     0,
    2198        0,     0,   171,     0,     0,     0,     0,     0,     0,     0,
    2199        0,     0,     0,   671,   116,   345,     0,   344,     0,     0,
    2200        0,     0,     0,     0,     0,     0,     0,   344,   344,     0,
    2201        0,     0,  1324,   217,     0,     0,     0,     0,   344,  1324,
    2202        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2203       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2204       27,     0,    74,    28,    29,    30,     0,     0,     0,     0,
    2205       85,     0,     0,    33,     0,    85,     0,   345,     0,     0,
    2206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2207        0,     0,   342,     0,   342,     0,     0,     0,  1324,     0,
    2208       77,    36,     0,     0,     0,  1509,    39,     0,   201,    41,
    2209       42,     0,     0,     0,     0,     0,     0,     0,     0,    43,
    2210       44,   342,   345,   345,   344,     0,     0,     0,     0,   342,
    2211      342,   342,     0,     0,     0,     0,     0,     0,   345,     0,
    2212      342,   342,     0,     0,     0,    45,     0,   258,     0,     0,
    2213        0,     0,    74,    47,    48,     0,     0,   345,     0,     0,
    2214        0,     0,     0,     0,     0,   344,     0,     0,    79,     0,
    2215        0,   219,     0,     0,     0,     0,     0,     0,     0,     0,
    2216        0,     0,    79,     0,     0,   345,     0,     0,     0,     0,
     2557     354,   247,    28,    29,    30,    31,     0,    47,    48,    32,
     2558       0,     0,    33,    34,     0,     0,     0,     0,     0,     0,
     2559       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2560       0,     0,   354,     0,     0,   354,     0,    35,     0,     0,
     2561      36,     0,    37,     0,    38,    39,     0,    40,    41,    42,
     2562     354,   354,     0,   354,   354,     0,     0,     0,    43,    44,
     2563       0,     0,   353,     8,     9,    10,    11,    12,    13,    14,
     2564      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2565      25,    26,    27,  -307,    45,     0,    46,     0,     0,     0,
     2566       0,   353,    47,    48,     0,    33,     0,     0,     0,     0,
     2567       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2568       0,   354,   354,     0,     0,     0,     0,     0,     0,   353,
     2569       0,   353,     0,    36,  1109,     0,     0,     0,     0,     0,
     2570       0,     0,     0,     0,  -307,     0,     0,     0,     0,     0,
     2571    1122,     0,     0,  1126,  1129,     0,     0,     0,     0,     0,
     2572       0,     0,     0,     0,   353,     0,     0,     0,     0,   353,
     2573       0,   353,     0,     8,     9,    10,    11,    12,    13,    14,
     2574      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2575      25,    26,    27,     0,   354,   334,    29,    30,     0,     0,
     2576       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2577       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2578       0,     0,     0,     0,     0,     0,  1188,     0,     0,     0,
     2579       0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
     2580     203,    41,     0,     0,  1205,  1206,     0,     0,     1,     2,
     2581       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2582      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2583      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2584      31,     0,     0,     0,    32,    47,    48,    33,    34,   354,
     2585       0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
     2586       0,  1126,     0,     0,     0,     0,     0,     0,     0,     0,
     2587       0,     0,    35,     0,     0,    36,     0,    37,   354,    38,
     2588      39,     0,    40,    41,    42,     0,   354,   354,   354,     0,
     2589       0,     0,     0,    43,    44,     0,     0,   354,   354,     0,
     2590       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2591       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
     2592       0,    46,     0,  1290,     0,  -545,     0,    47,    48,     0,
     2593       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2594       0,     0,  1300,     0,     0,     0,     1,     2,   202,     4,
     2595       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2596      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2597      25,    26,    27,     0,     0,    28,    29,    30,    31,     0,
     2598       0,     0,    32,   275,   276,    33,  1001,  1002,     0,  1003,
     2599       0,     0,  1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,
     2600       0,     0,     0,  1012,     0,     0,     0,  1013,  1014,     0,
     2601    1015,     0,   278,    36,     0,    37,     0,    38,  1016,     0,
     2602    1017,  1018,  1019,     0,   354,   281,   282,   272,   283,   284,
     2603     285,    43,    44,     0,   286,   287,     0,     0,  1367,     0,
     2604       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2605       0,     0,     0,   354,     0,     0,     0,   288,     0,   289,
     2606       0,     0,   168,     0,     0,    47,    48,   290,   291,   292,
     2607     293,     0,     0,     0,     0,  1020,     0,     0,     0,     0,
     2608    -134,   354,     0,   354,     0,     0,     0,     0,     1,     2,
     2609     202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2610      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2611      23,    24,    25,    26,    27,     0,   354,    28,    29,    30,
     2612      31,   354,     0,   354,    32,   275,   276,    33,   277,     8,
     2613       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2614      19,    20,    21,    22,    23,    24,    25,    26,    27,  -308,
     2615       0,     0,     0,     0,   278,    36,     0,    37,     0,    38,
     2616     279,    33,    40,    41,   280,     0,     0,   281,   282,   272,
     2617     283,   284,   285,    43,    44,     0,   286,   287,     0,     0,
     2618       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2619       0,     0,     0,     0,     0,     0,     0,     0,     0,   288,
     2620    -308,   289,     0,     0,     0,     0,     0,    47,    48,   290,
     2621     291,   292,   293,     0,     0,     0,     0,     0,     0,     0,
     2622       0,     0,  -134,     1,     2,   202,     4,     5,     6,     7,
    22172623       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    22182624      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2219        0,     0,    28,    29,    30,   344,   344,     0,   344,   344,
    2220        0,     0,    33,   345,     0,     0,     0,     0,     0,     0,
    2221        0,     0,     0,   216,     0,     0,    77,    85,     0,     0,
    2222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2223       36,   352,     0,     0,     0,     0,    85,   201,    41,   345,
    2224        0,     0,     0,     0,    85,     0,     0,   342,     0,   345,
    2225      345,     0,     0,     0,     0,   218,   344,   344,     0,     0,
    2226      345,   352,     0,     0,     0,   273,   274,     0,   275,     0,
    2227        0,     0,     0,     0,     0,   160,   342,     0,     0,   352,
    2228        0,    85,    47,    48,     0,     0,     0,     0,     0,     0,
    2229      212,     0,     0,     0,   276,    74,     0,     0,     0,     0,
    2230      277,     0,    74,     0,   278,     0,     0,   279,   280,   270,
    2231      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2232        0,     0,    79,     0,   352,     0,     0,     0,     0,   344,
    2233        0,     0,     0,     0,     0,     0,   160,     0,     0,   286,
    2234      260,   367,     0,     0,     0,     0,   345,    47,    48,   288,
    2235      289,   290,   291,     0,     0,     0,     0,     0,     0,     0,
    2236      755,    74,     0,     0,     0,     0,   160,     0,     0,     0,
    2237        0,     0,     0,     0,     0,     0,   358,     0,     0,   363,
    2238        0,     0,     0,     0,     0,     0,   352,   345,     0,     0,
    2239        0,     0,     0,     0,    77,     0,     8,     9,    10,    11,
    2240       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2241       22,    23,    24,    25,    26,    27,  -300,     0,     0,     0,
    2242        0,     0,     0,     0,   344,     0,   344,   160,    33,     0,
    2243        0,   352,   352,     0,     0,     0,     0,   345,   345,   212,
    2244      345,   345,     0,     0,     0,     0,     0,   352,     0,     0,
    2245        0,     0,     0,   344,     0,     0,    36,     0,    79,     0,
    2246        0,   344,   344,   344,     0,     0,   352,  -300,     0,     0,
    2247        0,     0,   344,   344,     0,     0,   363,    85,     0,     0,
    2248        0,     0,     0,   160,    77,     0,     0,     0,     0,     0,
    2249        0,    85,     0,     0,   352,     0,     0,     0,   345,   345,
    2250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2251      512,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2252        0,     0,   160,     0,     0,     0,     0,     0,     0,     0,
    2253        0,     0,   352,     0,     8,     9,    10,    11,    12,    13,
     2625       0,     0,    28,    29,    30,    31,     0,     0,     0,    32,
     2626     275,   276,    33,   277,     8,     9,    10,    11,    12,    13,
    22542627      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2255       24,    25,    26,    27,     0,     0,     0,     0,   581,     0,
    2256        0,     0,     0,   607,     0,   217,    33,     0,   352,     0,
    2257        0,   345,     0,     0,     0,     0,     0,     0,   352,   352,
    2258        0,     0,     0,     0,   219,     0,     0,     0,     0,   352,
    2259        0,     0,     0,     0,    36,     0,     0,     0,     0,   344,
    2260        0,     0,     0,     0,     0,   205,     0,     0,     0,     0,
    2261        0,     0,     0,     0,   225,     0,   229,     0,   231,     0,
    2262        0,     0,     0,     0,   234,     0,     0,     0,   344,     0,
    2263        0,     0,     0,     0,     0,     0,    79,     0,   160,   160,
    2264        0,     0,     0,     0,   358,     0,     0,    77,     0,     0,
    2265        0,    85,     0,     0,    77,   205,     0,   229,   231,   234,
    2266        0,     0,     0,     0,     0,   160,   345,     0,   345,     0,
    2267        0,     0,     0,     0,     0,   352,     0,     0,     0,     0,
    2268        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2269        0,     0,   688,     0,   205,   345,     0,     0,     0,     0,
    2270        0,     0,     0,   345,   345,   345,     0,     0,   160,     0,
    2271        0,     0,     0,    77,   345,   345,   352,     0,     0,     0,
    2272      512,     0,   512,     0,     0,   512,    79,   160,   512,     0,
    2273        0,     0,     0,     0,     0,     0,     0,   358,     0,     0,
    2274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2275        0,     0,     0,     0,   205,     0,   229,   231,   234,     0,
    2276        0,     0,     0,     0,     0,     0,   352,   352,     0,   352,
    2277      352,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2278        0,     0,     0,     0,     0,     0,   205,    85,   160,     0,
    2279        0,   205,     0,     0,     0,     0,     0,     0,     0,   358,
    2280        0,     0,   775,     0,     0,     0,     0,   218,     0,     0,
    2281        0,     0,     0,     0,     0,     0,   312,     0,     0,     0,
    2282        0,     0,     0,     0,     0,     0,   335,   352,   352,     0,
    2283      581,     0,     0,     0,     0,   581,     0,   370,   370,     0,
    2284        0,   345,     0,     0,   358,   358,     0,     0,     0,     0,
    2285        0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
    2286      358,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2287      345,     0,     0,     0,     0,     0,     0,     0,   205,     0,
    2288        0,     0,     0,   229,   231,     0,     0,     0,     0,    79,
    2289        0,   234,     0,   512,     0,     0,    79,     0,   152,     0,
    2290      352,     0,     0,     0,     0,     0,     0,   358,     0,   885,
    2291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,   464,     0,     0,     0,     0,
    2293        0,   205,     0,     0,     0,     0,     0,     0,     0,     0,
    2294        0,     0,   239,     0,     0,   688,     0,     0,     0,     0,
    2295        0,   205,   244,     0,     0,    79,   205,     0,   205,     0,
    2296        0,     0,     0,     0,     0,    85,     0,     0,     0,     0,
    2297        0,     0,     0,     0,   205,     0,     0,   205,   205,     0,
    2298        0,     0,     0,     0,   205,     0,     0,     0,     0,     0,
    2299        0,     0,     0,     0,     0,   352,   607,   352,   205,     0,
    2300        0,     0,     0,     0,     0,   205,     0,     0,     0,     0,
    2301        0,     0,     0,     0,     0,     0,     0,     0,   374,     0,
    2302        0,     0,     0,     0,   352,     0,     0,     0,     0,     0,
    2303        0,     0,   352,   352,   352,     0,     0,     0,     0,     0,
    2304      406,     0,   370,   352,   352,     0,     0,     0,     0,     0,
    2305        0,     0,     0,     0,   420,    85,     0,     0,     0,     0,
    2306        0,     0,     0,   425,     0,     0,     0,     0,     0,     0,
    2307        0,     0,     0,   433,     0,     0,     0,     0,     0,     0,
    2308        0,     0,     0,     0,     0,     0,     0,     0,   358,     0,
    2309        0,     0,   450,   512,     0,     0,     0,   460,     0,     0,
    2310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2311      468,     0,     0,     0,     0,   312,     0,   205,   482,     0,
    2312      486,     0,     0,   160,     0,     0,     0,     0,     0,   688,
    2313        0,     0,     0,     0,   682,     0,   219,     0,     0,   513,
    2314        0,     0,     0,     0,     0,     0,     0,   205,     0,     0,
    2315        0,     0,   205,     0,     0,     0,     0,     0,     0,     0,
    2316        0,   581,     0,     0,     0,     0,     0,     0,     0,     0,
    2317      352,     0,     0,     0,     0,     0,     0,   718,     0,     0,
    2318      571,     0,   358,   358,   575,     0,     0,   727,     0,     0,
    2319        0,     0,   718,     0,     0,   718,     0,     0,     0,   352,
    2320        0,     0,     0,     0,     0,     0,     0,     0,   736,     0,
    2321      205,     0,   620,     0,     0,     0,   621,   622,    85,   623,
    2322        0,     0,     0,     0,   205,    85,   634,   635,     0,   636,
    2323      637,     0,   638,     0,   639,     0,     0,     0,   765,     0,
    2324        0,     0,     0,     0,     0,   335,     0,     0,     0,   727,
    2325        0,   571,     0,     0,     0,     0,     0,     0,   950,   655,
    2326      789,     8,     9,    10,    11,    12,   512,     0,     0,     0,
    2327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2328        0,     0,     0,   666,    85,     0,     0,     0,     0,     0,
    2329        0,   273,   274,    33,   275,     0,     0,   828,     0,     0,
    2330      205,     0,     0,     0,     0,   370,     0,     0,   680,     0,
    2331        0,   205,     0,   688,   683,     0,     0,     0,     0,   450,
    2332      276,    36,     0,     0,     0,     0,   277,     0,     0,   205,
    2333      278,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2334       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2335        0,     0,     0,     0,     0,     0,     0,     0,     0,   721,
    2336        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2337        0,   732,     0,   333,    48,   288,   289,   290,   291,     0,
    2338        0,     0,     0,     0,     0,   718,     0,   273,   274,   512,
    2339      275,     0,     0,     0,     0,   727,     0,   911,     0,     0,
    2340      914,     0,     0,     0,     0,     0,   921,     0,   757,     0,
    2341      688,     0,     0,     0,     0,     0,   276,   767,     0,     0,
    2342      768,     0,   624,     0,   136,   137,   278,   205,     0,   279,
    2343      280,   270,   281,   282,   283,    43,    44,   788,   284,   285,
    2344        0,     0,     0,     0,     0,     0,   938,   939,     0,   273,
    2345      274,     0,   275,     0,     0,     0,   358,   358,     0,     0,
    2346        0,   286,   335,   625,     0,   626,   368,     0,     0,    47,
    2347       48,   288,   289,   290,   291,     0,     0,   829,   276,   205,
    2348        0,     0,     0,     0,   277,     0,     0,     0,   278,     0,
    2349      205,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2350      284,   285,     0,   967,     0,     0,     0,   370,     0,     0,
    2351        0,     0,     0,     0,   864,     0,     0,     0,     0,     0,
    2352        0,     0,     0,   286,     0,   367,     0,     0,   368,     0,
    2353        0,    47,    48,   288,   289,   290,   291,     0,   335,     0,
    2354        0,   239,     0,     0,     0,     0,     0,     0,   212,     0,
    2355        0,     0,     0,     0,     0,     0,   897,   898,     0,     0,
    2356        0,     0,     0,     0,     0,     0,   905,     0,   330,   353,
    2357        0,     0,     0,   312,     0,     0,     0,     0,     0,   335,
    2358      918,     0,     0,   358,     0,   922,   370,   205,     0,     0,
    2359        0,   914,     0,     0,   718,     0,     0,     0,   212,     0,
    2360      402,     0,     0,     0,     0,     0,     0,   402,     0,     0,
    2361        0,     0,     0,     0,  1093,     0,     0,     0,     0,     0,
    2362        0,     0,     0,     0,     0,  1111,     0,     0,     0,     0,
    2363        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2364      512,     0,   512,     0,     0,   370,   955,  1128,     0,     0,
    2365        0,     0,     0,   956,     0,     0,     0,     0,     0,     0,
    2366        0,     0,   914,   914,     0,     0,     0,   958,     0,   959,
    2367        0,     0,     0,   402,     0,     0,     0,     0,     0,   512,
    2368        0,   512,   969,     0,     0,     0,     0,     0,   973,  1159,
    2369        0,     0,     0,   125,     0,     0,     0,     0,     0,  1016,
    2370        0,     0,     0,  1017,     0,     0,     0,     0,     0,     0,
    2371        0,     0,   205,     0,     0,     0,     0,     0,     0,     0,
    2372      160,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2373        0,   402,     0,     0,     0,     0,     0,     0,     0,     0,
    2374      402,   567,   914,   402,   570,     0,     0,   125,     0,     0,
    2375        0,   353,     0,     0,     0,   598,     0,     0,     0,     0,
    2376        0,     0,   125,   828,   125,     0,     0,     0,     0,     0,
    2377        0,     0,     0,     0,   617,     0,     0,     0,     0,     0,
    2378        0,  1224,  1225,     0,     0,     0,     0,  1089,     0,   265,
    2379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2380        0,   402,     0,     0,     0,   402,     0,     0,   497,     0,
    2381      499,   502,     0,     0,     0,     0,     0,     0,   123,   505,
    2382      506,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2383        0,     0,     0,   499,   499,     0,     0,   353,     0,     0,
    2384        0,     0,     0,     0,     0,     0,     0,     0,   125,     0,
    2385      125,   125,     0,     0,  1154,   125,     0,   125,   125,     0,
    2386        0,     0,     0,   205,     0,     0,     0,     0,     0,   499,
    2387        0,     0,   232,     0,     0,     0,     0,     0,     0,     0,
    2388        0,     0,   402,     0,     0,   353,     0,   242,     0,   243,
    2389        0,     0,     0,     0,     0,     0,  1184,     0,     0,     0,
    2390        0,  1186,     0,     0,   499,     0,     0,     0,     0,     0,
    2391        0,  1191,     0,   205,     0,     0,     0,     0,     0,     0,
    2392        0,   125,     0,     0,     0,     0,     0,     0,     0,     0,
    2393      353,     0,  1334,     0,     0,  1213,   718,     0,     0,     0,
    2394        0,     0,     0,     0,     0,     0,     0,     0,  1221,     0,
    2395        0,     0,  1222,     0,     0,  1223,     0,     0,     0,     0,
    2396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2397        0,  1232,  1233,   402,   402,   403,   404,     0,     0,     0,
    2398      408,     0,   410,   411,     0,     0,     0,     0,     0,  1244,
    2399        0,   770,   353,     0,     0,     0,     0,     0,     0,     0,
    2400        0,   598,     0,     0,   598,   598,     0,     0,     0,     0,
    2401        0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
    2402        0,   809,     0,   353,     0,     0,     0,     0,   353,     0,
    2403        0,     0,     0,     0,     0,     0,     0,   353,   353,     0,
    2404        0,     0,     0,     0,     0,     0,     0,     0,   205,     0,
    2405        0,     0,     0,   353,  1290,     0,     0,   402,   850,     0,
    2406      125,   402,   854,     0,     0,     0,     0,     0,     0,     0,
    2407      857,     0,   499,   499,   499,   499,   499,   499,   499,   499,
    2408      499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
    2409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2410      353,   598,     0,     0,     0,     0,     0,     0,     8,     9,
     2628      24,    25,    26,    27,     0,     0,    28,    29,    30,   278,
     2629      36,     0,    37,     0,    38,   279,    33,    40,    41,   280,
     2630       0,     0,   281,   282,   272,   283,   284,   285,    43,    44,
     2631       0,   286,   287,     0,     0,     0,     0,     0,     0,     0,
     2632       0,     0,     0,     0,    36,     0,     0,     0,     0,     0,
     2633       0,    40,    41,     0,   288,     0,   289,     0,     0,     0,
     2634       0,     0,    47,    48,   290,   291,   292,   293,     2,   202,
     2635       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2636      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2637      24,    25,    26,    27,     0,     0,   334,    29,    30,     0,
     2638       0,     0,     0,     0,   275,   276,    33,   277,     8,     9,
    24112639      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    24122640      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2413       28,    29,    30,  1347,     0,  1348,     0,     0,   353,     0,
    2414       33,     0,     0,     0,     0,  1351,     0,  1352,     0,     0,
    2415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2416        0,     0,  1359,     0,     0,     0,     0,     0,    36,     0,
    2417      312,     0,     0,   109,     0,    40,    41,     0,   402,     0,
    2418     1378,  1380,     0,     0,     0,   649,    43,    44,     0,     0,
    2419        0,     0,     0,  1388,   598,     0,   598,     0,  1389,     0,
    2420        0,  1191,     0,     0,     0,     0,     0,   598,     0,     0,
    2421        0,     0,     0,     0,    46,     0,     0,  1407,     0,     0,
    2422       47,    48,     0,     0,     0,   125,   125,  1414,     0,     0,
    2423     1416,     0,  1418,  1420,  1422,   499,     0,     0,     0,     0,
    2424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2425        0,     0,     0,   125,     0,     0,   125,   125,     0,   125,
    2426      499,   125,   125,     0,     0,     0,   125,   125,     0,     0,
    2427        0,     0,  1455,     0,  1457,     0,     0,     0,     0,     0,
    2428        0,   353,     0,     0,  1191,     0,     0,     0,   402,     0,
    2429      499,     0,     0,     0,  1473,     0,     0,     0,     0,     0,
    2430      598,   598,     0,     0,     0,   125,     0,     0,     0,   125,
    2431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2432        0,     0,   353,     0,     0,     0,     0,     0,     0,     0,
    2433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2434        0,     0,     0,     0,   402,  1086,     0,     0,     0,     0,
    2435      763,   764,     0,     0,   353,     0,     0,     0,     0,     0,
    2436      402,  1099,     0,   598,   598,  1106,     0,     0,     0,     0,
    2437        0,     0,     0,     0,     0,   353,   353,     0,   795,     0,
    2438        0,   798,   799,     0,   802,     0,   804,   805,     0,     0,
    2439        0,   807,   808,     0,     0,     0,     0,     0,     0,     0,
    2440        0,     0,   199,     2,   200,     4,     5,     6,     7,     8,
    2441        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2442       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2443      848,    28,    29,    30,   852,     0,     0,     0,     0,     0,
    2444      402,    33,   402,     0,   402,     0,     0,     0,     0,   402,
    2445        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2446      499,     0,     0,     0,     0,   598,     0,     0,     0,    36,
    2447        0,    37,   499,    38,     0,  -522,   201,    41,     1,     2,
    2448        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2449       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2450       23,    24,    25,    26,    27,     0,   353,    28,    29,    30,
    2451       31,   499,     0,     0,    32,   202,     0,    33,    34,     0,
    2452        0,    47,    48,     0,     0,     0,     0,     0,     0,     0,
    2453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2454        0,     0,    35,     0,     0,    36,     0,    37,     0,    38,
    2455       39,     0,    40,    41,    42,     0,     0,     0,     0,     0,
    2456        0,   499,     0,    43,    44,     0,     0,     0,     0,     0,
    2457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2458        0,     0,     0,     0,     0,   402,     0,     0,     0,    45,
    2459      402,    46,   125,     0,     0,     0,     0,    47,    48,     0,
    2460        0,     0,     0,   353,     0,     0,     0,     0,   125,     0,
    2461        0,   125,   125,     2,   200,     4,     5,     6,     7,     8,
    2462        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2463       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2464        0,    28,    29,    30,     0,     0,     0,     0,     0,   353,
    2465      353,    33,     0,     0,     0,     0,     0,   499,   499,     0,
    2466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2467        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2468        0,    37,     0,    38,   125,     0,    40,    41,   402,  1344,
    2469        0,     0,   402,     0,     0,     0,     0,   125,     0,     0,
    2470        0,     0,   125,   125,     0,     0,     0,     0,     0,     0,
    2471        0,     0,     0,     0,     0,     0,     0,  1084,     0,     0,
    2472        0,     0,     0,     0,  -407,   662,     0,     0,     0,     0,
    2473        0,    47,    48,  1097,     0,     0,  1101,  1104,     0,     0,
    2474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2475        0,     0,     0,     0,     0,     0,     0,     0,     0,   125,
    2476        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2477        0,     0,     0,     0,     0,     0,   353,     0,     0,     0,
    2478        0,     1,     2,   200,     4,     5,     6,     7,     8,     9,
    2479       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2480       20,    21,    22,    23,    24,    25,    26,    27,  -299,  1163,
    2481       28,    29,    30,    31,     0,     0,     0,    32,     0,     0,
    2482       33,   125,     0,     0,     0,     0,     0,  1180,  1181,     0,
    2483        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2484      125,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2485       37,     0,    38,     0,     0,    40,    41,     0,     0,  -299,
    2486        0,     0,     0,     0,     0,     0,     0,   402,     0,     0,
    2487        0,     0,  1108,     0,     0,     8,     9,    10,    11,    12,
    2488        0,     0,     0,     0,  1101,     0,     0,     0,     0,     0,
    2489        0,     0,     0,     0,    46,     0,   402,   402,   499,     0,
    2490       47,    48,     0,     0,     0,   273,   274,    33,   275,     0,
    2491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2492        0,     0,     0,     0,     0,     0,   402,     0,     0,     0,
    2493        0,     0,     0,     0,   276,    36,   125,     0,     0,     0,
    2494      277,     0,     0,     0,   278,     0,  1265,   279,   280,   270,
    2495      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2496      499,     0,     0,     0,     0,  1275,     0,     0,     0,     0,
    2497        0,     0,   499,   499,     0,     0,     0,     0,     0,   286,
    2498        0,   367,     0,     0,     0,     0,     0,  1109,    48,   288,
    2499      289,   290,   291,     0,     0,   499,     0,     0,     0,     0,
    2500        0,     0,     1,     2,   200,     4,     5,     6,     7,     8,
    2501        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2502       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2503        0,    28,    29,    30,    31,     0,     0,     0,    32,   273,
    2504      274,    33,   976,   977,     0,   978,     0,     0,   979,   980,
    2505      981,   982,   983,   984,   985,   986,     0,     0,     0,   987,
    2506        0,  1342,     0,   988,   989,     0,   990,   499,   276,    36,
    2507        0,    37,     0,    38,   991,     0,   992,   993,   994,     0,
    2508        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2509      284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
    2510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2511        0,     0,     0,   286,     0,   287,     0,     0,   166,     0,
    2512        0,    47,    48,   288,   289,   290,   291,     0,     0,     0,
    2513        0,   995,     0,     0,     0,     0,  -134,     1,     2,   200,
    2514        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2515       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2516       24,    25,    26,    27,     0,     0,    28,    29,    30,    31,
    2517        0,     0,     0,    32,   273,   274,    33,   275,     8,     9,
     2641     334,    29,    30,   278,    36,     0,    37,     0,    38,   279,
     2642      33,    40,    41,   280,     0,     0,   281,   282,   272,   283,
     2643     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
     2644       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2645       0,     0,     0,     0,     0,    40,    41,     0,   288,     0,
     2646     335,     0,     0,     0,     0,   748,   336,    48,   290,   291,
     2647     292,   293,     2,   202,     4,     5,     6,     7,     8,     9,
    25182648      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    25192649      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2520       28,    29,    30,   276,    36,     0,    37,     0,    38,   277,
    2521       33,    40,    41,   278,     0,     0,   279,   280,   270,   281,
    2522      282,   283,    43,    44,     0,   284,   285,     0,     0,     0,
    2523        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2524        0,     0,     0,     0,     0,    40,    41,     0,   286,     0,
    2525      287,     0,     0,     0,     0,     0,    47,    48,   288,   289,
    2526      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
    2527        0,  -134,     1,     2,   200,     4,     5,     6,     7,     8,
    2528        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2529       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2530        0,    28,    29,    30,    31,     0,     0,     0,    32,   273,
    2531      274,    33,   275,     8,     9,    10,    11,    12,    13,    14,
    2532       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2533       25,    26,    27,     0,     0,    28,    29,    30,   276,    36,
    2534        0,    37,     0,    38,   277,    33,    40,    41,   278,     0,
    2535        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2536      284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
    2537        0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
    2538      201,    41,     0,   286,     0,   287,     0,     0,     0,     0,
    2539        0,    47,    48,   288,   289,   290,   291,     2,   200,     4,
    2540        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2541       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2542       25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
    2543        0,     0,     0,   273,   274,    33,   275,     0,     0,     0,
    2544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2546        0,     0,   276,    36,     0,    37,     0,    38,   277,     0,
    2547       40,    41,   278,     0,     0,   279,   280,   270,   281,   282,
    2548      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2550        0,     0,     0,     0,     0,     0,     0,   286,     0,   332,
    2551        0,     0,     0,     0,   726,   333,    48,   288,   289,   290,
    2552      291,     2,   200,     4,     5,     6,     7,     8,     9,    10,
    2553       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2554       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2555       29,    30,     0,     0,     0,     0,     0,   273,   274,    33,
    2556      275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2558        0,     0,     0,     0,     0,     0,   276,    36,     0,    37,
    2559        0,    38,   277,     0,    40,    41,   278,     0,     0,   279,
    2560      280,   270,   281,   282,   283,    43,    44,     0,   284,   285,
    2561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2563        0,   286,     0,   332,     0,     0,     0,     0,   726,    47,
    2564       48,   288,   289,   290,   291,     2,   200,     4,     5,     6,
    2565        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2566       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2567       27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2568        0,   273,   274,    33,   275,     0,     0,     0,     0,     0,
    2569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2571      276,    36,     0,    37,     0,    38,   277,     0,    40,    41,
    2572      278,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2573       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2575        0,     0,     0,     0,     0,   286,     0,   332,     0,     0,
    2576        0,     0,     0,   333,    48,   288,   289,   290,   291,     2,
    2577      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2578       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2579       23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2580        0,     0,     0,     0,     0,   273,   274,    33,   275,     0,
    2581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2583        0,     0,     0,     0,   276,    36,     0,    37,     0,    38,
    2584      277,     0,   201,    41,   278,     0,     0,   279,   280,   270,
    2585      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2587        0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
    2588        0,   935,     0,     0,     0,     0,     0,   936,    48,   288,
    2589      289,   290,   291,     2,   200,     4,     5,     6,     7,     8,
    2590        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2591       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2592        0,    28,    29,    30,     0,     0,     0,     0,     0,   273,
    2593      274,    33,   275,     0,     0,     0,     0,     0,     0,     0,
    2594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2595        0,     0,     0,     0,     0,     0,     0,     0,   276,    36,
    2596        0,    37,     0,    38,   277,     0,   201,    41,   278,     0,
    2597        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2598      284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
    2599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2600        0,     0,     0,   286,     0,   367,     0,     0,     0,     0,
    2601        0,    47,    48,   288,   289,   290,   291,     1,     2,     3,
    2602        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2603       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2604       24,    25,    26,    27,     0,     0,    28,    29,    30,    31,
    2605        0,     0,     0,    32,     0,     0,    33,    34,     0,     0,
    2606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2608        0,    35,     0,     0,    36,     0,    37,     0,    38,    39,
    2609        0,    40,    41,    42,     0,     0,     0,     0,     0,     0,
    2610        0,     0,    43,    44,     0,     0,     0,     0,     0,     0,
    2611        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2612        0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
    2613       46,     0,     0,     0,  -526,     0,    47,    48,     1,     2,
     2650     334,    29,    30,     0,     0,     0,     0,     0,   275,   276,
     2651      33,   277,     8,     9,    10,    11,    12,    13,    14,    15,
     2652      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2653      26,    27,     0,     0,    28,    29,    30,   278,    36,     0,
     2654      37,     0,    38,   279,    33,    40,    41,   280,     0,     0,
     2655     281,   282,   272,   283,   284,   285,    43,    44,     0,   286,
     2656     287,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2657       0,     0,    36,     0,     0,     0,     0,     0,     0,   203,
     2658      41,     0,   288,     0,   335,     0,     0,     0,     0,   748,
     2659      47,    48,   290,   291,   292,   293,     2,   202,     4,     5,
     2660       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2661      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2662      26,    27,     0,     0,   334,    29,    30,     0,     0,     0,
     2663       0,     0,   275,   276,    33,   277,     0,     0,     0,     0,
     2664       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2665       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2666       0,   278,    36,     0,    37,     0,    38,   279,     0,    40,
     2667      41,   280,     0,     0,   281,   282,   272,   283,   284,   285,
     2668      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
     2669       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2670       0,     0,     0,     0,     0,     0,   288,     0,   335,     0,
     2671       0,     0,     0,     0,   336,    48,   290,   291,   292,   293,
     2672       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
     2673      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2674      22,    23,    24,    25,    26,    27,     0,     0,   334,    29,
     2675      30,     0,     0,     0,     0,     0,   275,   276,    33,   277,
     2676       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2677       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2678       0,     0,     0,     0,     0,   278,    36,     0,    37,     0,
     2679      38,   279,     0,   203,    41,   280,     0,     0,   281,   282,
     2680     272,   283,   284,   285,    43,    44,     0,   286,   287,     0,
     2681       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2682       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2683     288,     0,   960,     0,     0,     0,     0,     0,   961,    48,
     2684     290,   291,   292,   293,     2,   202,     4,     5,     6,     7,
     2685       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2686      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2687       0,     0,   334,    29,    30,     0,     0,     0,     0,     0,
     2688     275,   276,    33,   277,     0,     0,     0,     0,     0,     0,
     2689       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2690       0,     0,     0,     0,     0,     0,     0,     0,     0,   278,
     2691      36,     0,    37,     0,    38,   279,     0,   203,    41,   280,
     2692       0,     0,   281,   282,   272,   283,   284,   285,    43,    44,
     2693       0,   286,   287,     0,     0,     0,     0,     0,     0,     0,
     2694       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2695       0,     0,     0,     0,   288,     0,   377,     0,     0,     0,
     2696       0,     0,    47,    48,   290,   291,   292,   293,     1,     2,
    26142697       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    26152698      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     
    26232706       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26242707       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
    2625        0,    46,     0,     0,     0,     0,     0,    47,    48,   199,
    2626        2,   200,     4,     5,     6,     7,     8,     9,    10,    11,
     2708       0,    46,     0,     0,     0,     0,     0,    47,    48,   201,
     2709       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    26272710      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    26282711      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     
    26312714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26322715       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
    2633       38,    39,     0,   201,    41,    42,     0,     0,     0,     0,
     2716      38,    39,     0,   203,    41,    42,     0,     0,     0,     0,
    26342717       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
    26352718       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26362719       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2637       45,     0,   202,     0,     0,     0,     0,     0,    47,    48,
    2638        1,     2,   200,     4,     5,     6,     7,     8,     9,    10,
     2720      45,     0,   204,     0,     0,     0,     0,     0,    47,    48,
     2721       1,     2,   202,     4,     5,     6,     7,     8,     9,    10,
    26392722      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    26402723      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     
    26432726       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26442727       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
    2645        0,    38,     0,     0,    40,    41,     2,   200,     4,     5,
    2646        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2728       0,    38,     0,     0,    40,    41,   201,     2,   202,     4,
     2729       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2730      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2731      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2732       0,     0,     0,    46,     0,    33,     0,     0,     0,    47,
     2733      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2734       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2735       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2736     203,    41,     2,   202,     4,     5,     6,     7,     8,     9,
     2737      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2738      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2739      28,    29,    30,     0,     0,     0,     0,     0,     0,   204,
     2740      33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2741       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2742       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2743      37,     0,    38,    39,     0,   203,    41,    42,     0,     0,
     2744       0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
     2745       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2746       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2747       0,     0,    45,     0,   204,     0,     0,     0,     0,     0,
     2748      47,    48,     2,   202,     4,     5,     6,     7,     8,     9,
     2749      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2750      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2751     334,    29,    30,     0,     0,     0,     0,     0,     0,     0,
     2752      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2753       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2754       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2755      37,     0,    38,     0,     0,    40,    41,     2,   202,     4,
     2756       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2757      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2758      25,    26,    27,     0,     0,   334,    29,    30,     0,     0,
     2759       0,     0,     0,  -426,   683,    33,     0,     0,     0,     0,
     2760      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2761       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2762       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2763      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
     2764       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2765       0,     0,     0,     0,  1336,     0,     0,     0,     0,     0,
     2766       0,     0,     0,     0,     0,     0,     0,     0,     0,   683,
     2767       0,     0,     0,     0,     0,    47,    48,     2,   202,     4,
     2768       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2769      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2770      25,    26,    27,     0,     0,   334,    29,    30,     0,     0,
     2771       0,     0,     0,     0,     0,    33,     0,     8,     9,    10,
     2772      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2773      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2774      29,    30,     0,    36,     0,    37,     0,    38,     0,    33,
     2775      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
     2776       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2777       0,     0,     0,     0,  1338,     0,     0,    36,     0,     0,
     2778       0,     0,     0,     0,    40,    41,     0,     0,     0,   683,
     2779       0,     0,     0,     0,     0,    47,    48,     2,   202,     4,
     2780       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2781      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2782      25,    26,    27,    46,     0,   334,    29,    30,     0,    47,
     2783      48,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2784       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2785       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2786       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2787     203,    41,     2,   202,     4,     5,     6,     7,     8,     9,
     2788      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2789      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2790     334,    29,    30,     0,     0,     0,     0,     0,     0,   260,
     2791      33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2792       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2793       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2794      37,     0,    38,     0,     0,    40,    41,     2,   202,     4,
     2795       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2796      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2797      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2798       0,     0,     0,     0,   683,    33,     0,     0,     0,     0,
     2799      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2800       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2801       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2802     203,    41,     8,     9,    10,    11,    12,    13,    14,    15,
    26472803      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    26482804      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2649        0,     0,     0,    46,    33,     0,     0,     0,     0,    47,
    2650       48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2652        0,     0,    36,     0,    37,     0,    38,    39,     0,   201,
    2653       41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
     2805       0,     0,   275,   276,    33,   277,     0,     0,     0,   204,
     2806       0,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2807       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2808       0,   278,    36,     0,     0,     0,     0,   279,     0,    40,
     2809      41,   280,     0,     0,   281,   282,   272,   283,   284,   285,
     2810      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
     2811       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2812       0,     0,     0,     0,     0,     0,   288,     0,   518,     0,
     2813       0,   168,     0,     0,    47,    48,   290,   291,   292,   293,
     2814       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2815      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2816       0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
     2817     275,   276,    33,   277,     0,     0,     0,     0,     0,     0,
     2818       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2819       0,     0,     0,     0,     0,     0,     0,     0,     0,   278,
     2820      36,     0,     0,     0,     0,   279,     0,    40,    41,   280,
     2821       0,     0,   281,   282,   272,   283,   284,   285,    43,    44,
     2822       0,   286,   287,     0,     0,     0,     0,     0,     0,     0,
     2823       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2824       0,     0,     0,     0,   288,   -40,   289,     0,     0,     0,
     2825       0,     0,    47,    48,   290,   291,   292,   293,     8,     9,
     2826      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2827      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2828      28,    29,    30,     0,     0,     0,     0,     0,   275,   276,
     2829      33,   277,     0,     0,     0,     0,     0,     0,     0,     0,
     2830       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2831       0,     0,     0,     0,     0,     0,     0,   278,    36,     0,
     2832       0,     0,     0,   279,     0,    40,    41,   280,     0,     0,
     2833     281,   282,   272,   283,   284,   285,    43,    44,     0,   286,
     2834     287,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2835       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2836       0,     0,   288,     0,   289,     0,     0,     0,     0,     0,
     2837      47,    48,   290,   291,   292,   293,     8,     9,    10,    11,
     2838      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2839      22,    23,    24,    25,    26,    27,     0,     0,   334,    29,
     2840      30,     0,     0,     0,     0,     0,   275,   276,    33,   277,
     2841       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2842       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2843       0,     0,     0,     0,     0,   278,    36,     0,     0,     0,
     2844       0,   279,     0,    40,    41,   280,     0,     0,   281,   282,
     2845     272,   283,   284,   285,    43,    44,     0,   286,   287,     0,
     2846       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2847       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2848     288,     0,   335,     0,     0,     0,     0,     0,    47,    48,
     2849     290,   291,   292,   293,     8,     9,    10,    11,    12,    13,
     2850      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2851      24,    25,    26,    27,     0,     0,   334,    29,    30,     0,
     2852       0,     0,     0,     0,   275,   276,    33,   277,     0,     0,
     2853       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2854       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2855       0,     0,     0,   278,    36,     0,     0,     0,     0,   279,
     2856       0,    40,    41,   280,     0,     0,   281,   282,   272,   283,
     2857     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
     2858       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2859       0,     0,     0,     0,     0,     0,     0,     0,   288,     0,
     2860     377,     0,     0,     0,     0,     0,    47,    48,   290,   291,
     2861     292,   293,   463,     2,   202,     4,     5,     6,     7,     8,
     2862       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2863      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2864       0,    28,    29,    30,     0,     0,     0,     0,     0,     0,
     2865       0,    33,     8,     9,    10,    11,    12,    13,    14,    15,
     2866      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2867      26,    27,     0,     0,    28,    29,    30,     0,     0,    36,
     2868       0,    37,     0,    38,    33,     0,    40,    41,     0,     0,
     2869       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2870      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2871      26,    27,    36,     0,    28,    29,    30,    39,     0,    40,
     2872      41,    42,     0,     0,    33,     0,     0,     0,    -3,     0,
    26542873      43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
    26552874       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2656        0,     0,     0,     0,     0,     0,    45,     0,   202,     0,
    2657        0,     0,     0,     0,    47,    48,     2,   200,     4,     5,
    2658        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2659       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2660       26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2661        0,     0,     0,     0,    33,     0,     8,     9,    10,    11,
     2875       0,     0,    36,     0,     0,     0,    45,    39,    46,   203,
     2876      41,    42,     0,     0,    47,    48,     0,     0,     0,     0,
     2877      43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
     2878       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2879       0,     0,     0,     0,     0,     0,    45,     0,   260,     0,
     2880       0,     0,     0,     0,    47,    48,     8,     9,    10,    11,
    26622881      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    26632882      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2664       30,     0,    36,     0,    37,     0,    38,     0,    33,    40,
    2665       41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2667        0,     0,     0,  1311,     0,     0,    36,     0,     0,     0,
    2668        0,     0,     0,    40,    41,     0,     0,     0,   662,     0,
    2669        0,     0,     0,     0,    47,    48,     2,   200,     4,     5,
    2670        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2671       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2672       26,    27,   245,     0,    28,    29,    30,     0,    47,    48,
    2673        0,     0,     0,     0,    33,     0,     8,     9,    10,    11,
     2883      30,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2884       0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    26742885      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2675       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2676       30,     0,    36,     0,    37,     0,    38,     0,    33,    40,
    2677       41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2678        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2679        0,     0,     0,  1313,     0,     0,    36,     0,     0,     0,
    2680        0,     0,     0,    40,    41,     0,     0,     0,   662,     0,
    2681        0,     0,     0,     0,    47,    48,     2,   200,     4,     5,
    2682        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2683       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2684       26,    27,    46,     0,    28,    29,    30,     0,    47,    48,
    2685        0,     0,     0,     0,    33,     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,     0,    36,     0,    37,     0,    38,     0,     0,   201,
    2689       41,     2,   200,     4,     5,     6,     7,     8,     9,    10,
    2690       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2691       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2692       29,    30,     0,     0,     0,     0,     0,     0,   258,    33,
    2693        0,     0,     0,     0,    47,    48,     0,     0,     0,     0,
    2694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2695        0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
    2696        0,    38,     0,     0,    40,    41,     2,   200,     4,     5,
    2697        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2698       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2699       26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2700        0,     0,     0,   662,    33,     0,     0,     0,     0,    47,
    2701       48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2703        0,     0,    36,     0,    37,     0,    38,     0,     0,   201,
    2704       41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2886      22,    23,    24,    25,    26,    27,    36,     0,    28,    29,
     2887      30,   111,     0,    40,    41,     0,     0,     0,    33,   894,
     2888       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
     2889       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2890       0,     0,     0,     0,     0,     0,    36,     0,     0,     0,
     2891       0,     0,    46,    40,    41,     0,     0,     0,    47,    48,
     2892       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27052893      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    27062894      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2707        0,   273,   274,    33,   275,     0,     0,     0,   202,     0,
    2708        0,     0,     0,     0,    47,    48,     0,     0,     0,     0,
    2709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2710      276,    36,     0,     0,     0,     0,   277,     0,    40,    41,
    2711      278,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2712       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2714        0,     0,     0,     0,     0,   286,     0,   507,     0,     0,
    2715      166,     0,     0,    47,    48,   288,   289,   290,   291,     8,
    2716        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2717       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2718        0,    28,    29,    30,     0,     0,     0,     0,     0,   273,
    2719      274,    33,   275,     0,     0,     0,     0,     0,     0,     0,
    2720        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2721        0,     0,     0,     0,     0,     0,     0,     0,   276,    36,
    2722        0,     0,     0,     0,   277,     0,    40,    41,   278,     0,
    2723        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2724      284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
    2725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2726        0,     0,     0,   286,   -40,   287,     0,     0,     0,     0,
    2727        0,    47,    48,   288,   289,   290,   291,     8,     9,    10,
    2728       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2729       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2730       29,    30,     0,     0,     0,     0,     0,   273,   274,    33,
    2731      275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2732        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2733        0,     0,     0,     0,     0,     0,   276,    36,     0,     0,
    2734        0,     0,   277,     0,    40,    41,   278,     0,     0,   279,
    2735      280,   270,   281,   282,   283,    43,    44,     0,   284,   285,
    2736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2738        0,   286,     0,   287,     0,     0,     0,     0,     0,    47,
    2739       48,   288,   289,   290,   291,     8,     9,    10,    11,    12,
    2740       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2741       23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2742        0,     0,     0,     0,     0,   273,   274,    33,   275,     0,
    2743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2745        0,     0,     0,     0,   276,    36,     0,     0,     0,     0,
    2746      277,     0,    40,    41,   278,     0,     0,   279,   280,   270,
    2747      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2749        0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
    2750        0,   332,     0,     0,     0,     0,     0,    47,    48,   288,
    2751      289,   290,   291,     8,     9,    10,    11,    12,    13,    14,
    2752       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2753       25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
    2754        0,     0,     0,   273,   274,    33,   275,     0,     0,     0,
    2755        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2757        0,     0,   276,    36,     0,     0,     0,     0,   277,     0,
    2758       40,    41,   278,     0,     0,   279,   280,   270,   281,   282,
    2759      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2761        0,     0,     0,     0,     0,     0,     0,   286,     0,   367,
    2762        0,     0,     0,     0,     0,    47,    48,   288,   289,   290,
    2763      291,   453,     2,   200,     4,     5,     6,     7,     8,     9,
    2764       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2765       20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2766       28,    29,    30,     0,     0,     0,     0,     0,     0,     0,
    2767       33,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2768       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2769       27,     0,     0,    28,    29,    30,     0,     0,    36,     0,
    2770       37,     0,    38,    33,   869,    40,    41,     0,     0,     0,
     2895       0,     0,   736,    33,   894,     0,  1208,     0,    47,    48,
    27712896       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27722897      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    27732898      27,    36,     0,    28,    29,    30,     0,     0,    40,    41,
    2774        0,     0,     0,    33,     0,     0,     0,    -3,     0,     0,
    2775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2777        0,    36,     0,     0,     0,     0,     0,   714,   201,    41,
    2778        0,  1269,     0,    47,    48,     0,     8,     9,    10,    11,
    2779       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2780       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2781       30,     0,     0,     0,     0,     0,     0,   258,    33,     0,
    2782        0,     0,     0,    47,    48,     0,     8,     9,    10,    11,
    2783       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2784       22,    23,    24,    25,    26,    27,    36,     0,    28,    29,
    2785       30,     0,     0,    40,    41,     0,     0,     0,    33,     8,
     2899       0,     0,     0,    33,     8,     9,    10,    11,    12,    13,
     2900      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2901      24,    25,    26,    27,     0,     0,    28,    29,    30,     0,
     2902       0,    36,     0,     0,     0,     0,    33,   736,   203,    41,
     2903       0,  1294,     0,    47,    48,     0,     0,     0,     0,     0,
     2904       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2905       0,     0,     0,     0,    36,     0,     0,     0,     0,     0,
     2906       0,    40,    41,     0,     0,     0,     0,   260,     0,     0,
     2907       0,     0,     0,    47,    48,     0,     0,     0,     0,     8,
    27862908       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    27872909      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2788        0,    28,    29,    30,     0,     0,    36,     0,     0,     0,
    2789        0,    33,   328,    40,    41,     0,     0,     0,    47,    48,
    2790        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2791        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2792        0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
    2793        0,     0,   714,     0,     0,     0,     0,     0,    47,    48,
    2794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2796        0,     0,     0,     0,     0,   662,     0,     0,     0,     0,
    2797        0,    47,    48,     2,   200,     4,     5,     6,     7,     8,
    2798        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2799       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2800        0,    28,    29,    30,     0,     0,     0,     0,     0,     0,
    2801        0,    33,     0,   273,   274,     0,   275,   977,     0,   978,
    2802        0,     0,   979,   980,   981,   982,   983,   984,   985,   986,
    2803        0,     0,  1503,   987,     0,     0,     0,   988,   989,    36,
    2804      990,    37,   276,    38,     0,     0,    40,    41,   991,     0,
    2805      169,   170,   994,     0,     0,   279,   280,   270,   281,   282,
    2806      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2807        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2808        0,     0,     0,     0,  -420,     0,     0,   286,     0,   367,
    2809        0,     0,   166,     0,     0,    47,    48,   288,   289,   290,
    2810      291,     0,     0,   273,   274,   995,   275,   977,     0,   978,
    2811     -134,     0,   979,   980,   981,   982,   983,   984,   985,   986,
    2812        0,     0,     0,   987,     0,     0,     0,   988,   989,     0,
    2813      990,     0,   276,     0,     0,     0,     0,     0,   991,     0,
    2814      169,   170,   994,     0,     0,   279,   280,   270,   281,   282,
    2815      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2817        0,     0,     0,     0,     0,     0,     0,   286,     0,   367,
    2818        0,     0,   166,     0,     0,    47,    48,   288,   289,   290,
    2819      291,     0,     0,     0,     0,   995,     0,     0,     0,     0,
    2820     -134,     2,   200,     4,     5,     6,     7,     8,     9,    10,
     2910     330,   334,    29,    30,     0,     0,    47,    48,     0,     0,
     2911       0,    33,     8,     9,    10,    11,    12,    13,    14,    15,
     2912      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2913      26,    27,     0,     0,   334,    29,    30,     0,     0,    36,
     2914       0,     0,     0,     0,    33,     0,    40,    41,     0,     0,
     2915       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2916      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2917      26,    27,    36,     0,    28,    29,    30,     0,     0,    40,
     2918      41,     0,     0,     0,    33,   247,     0,     0,     0,     0,
     2919       0,    47,    48,     0,     0,     0,     0,     0,     0,     0,
     2920       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2921       0,     0,    36,     0,     0,     0,     0,     0,   330,    40,
     2922      41,     0,     0,     0,    47,    48,     0,     8,     9,    10,
    28212923      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2822       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2823       29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
    2824        0,   273,   274,     0,   275,   977,     0,   978,  1363,  1364,
    2825      979,   980,   981,   982,   983,   984,   985,   986,     0,     0,
    2826     1503,   987,     0,     0,     0,   988,   989,    36,   990,    37,
    2827      276,    38,     0,     0,    40,    41,   991,     0,   169,   170,
    2828      994,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2829       44,     0,   284,   285,     0,     0,     0,     0,  1276,     0,
    2830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2831        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2832      166,     0,     0,    47,    48,   288,   289,   290,   291,     0,
    2833        0,   273,   274,   995,   275,   977,     0,   978,  1363,  1364,
    2834      979,   980,   981,   982,   983,   984,   985,   986,     0,     0,
    2835        0,   987,     0,     0,     0,   988,   989,     0,   990,     0,
    2836      276,     0,     0,     0,     0,     0,   991,     0,   169,   170,
    2837      994,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2838       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2840        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2841      166,     0,     0,    47,    48,   288,   289,   290,   291,     0,
    2842        0,   273,   274,   995,   275,   977,     0,   978,     0,     0,
    2843      979,   980,   981,   982,   983,   984,   985,   986,     0,     0,
    2844        0,   987,     0,     0,     0,   988,   989,     0,   990,     0,
    2845      276,     0,     0,     0,     0,     0,   991,     0,   169,   170,
    2846      994,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2847       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2848      273,   274,     0,   275,     0,     0,     0,     0,     0,     0,
    2849        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2850      166,     0,     0,    47,    48,   288,   289,   290,   291,   276,
    2851        0,     0,     0,   995,     0,   277,     0,     0,     0,   278,
    2852        0,     0,   279,   280,   270,   281,   282,   283,    43,    44,
    2853        0,   284,   285,     0,     0,     0,     0,     0,     0,   273,
    2854      274,     0,   275,     0,     0,     0,     0,     0,     0,     0,
    2855        0,     0,     0,     0,   286,     0,   367,     0,     0,     0,
    2856        0,   726,    47,    48,   288,   289,   290,   291,   276,     0,
    2857        0,     0,     0,     0,   277,     0,     0,     0,   278,     0,
    2858        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2859      284,   285,     0,     0,     0,     0,     0,     0,   273,   274,
    2860        0,   275,     0,     0,     0,     0,     0,     0,     0,     0,
    2861        0,     0,     0,   286,     0,   367,     0,     0,   912,     0,
    2862        0,    47,    48,   288,   289,   290,   291,   276,     0,     0,
    2863        0,     0,     0,   277,     0,     0,     0,   278,     0,     0,
    2864      279,   280,   270,   281,   282,   283,    43,    44,     0,   284,
    2865      285,     0,     0,     0,     0,     0,     0,   273,   274,     0,
    2866      275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2867        0,     0,   286,     0,   367,     0,     0,     0,     0,     0,
    2868       47,    48,   288,   289,   290,   291,   276,     0,     0,     0,
    2869        0,     0,   277,     0,     0,     0,   278,     0,     0,   279,
    2870      280,   270,   281,   282,   283,    43,    44,     0,   284,   285,
    2871        0,     0,     0,     0,     0,     0,   273,   274,     0,   275,
    2872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2873        0,   496,     0,   367,     0,     0,     0,     0,     0,    47,
    2874       48,   288,   289,   290,   291,   276,     0,     0,     0,     0,
    2875        0,   277,     0,     0,     0,   278,     0,     0,   279,   280,
    2876      270,   281,   282,   283,    43,    44,     0,   284,   285,     0,
    2877        0,     0,     0,     0,     0,   273,   274,     0,   275,     0,
    2878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2879      501,     0,   367,     0,     0,     0,     0,     0,    47,    48,
    2880      288,   289,   290,   291,   276,     0,     0,     0,     0,     0,
    2881      277,     0,     0,     0,   278,     0,     0,   279,   280,   270,
    2882      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2883        0,     0,     0,     0,   273,   274,     0,   275,     0,     0,
    2884        0,     0,     0,     0,     0,     0,     0,     0,     0,   504,
    2885        0,   367,     0,     0,     0,     0,     0,    47,    48,   288,
    2886      289,   290,   291,   276,     0,     0,     0,     0,     0,   277,
    2887        0,     0,     0,   278,     0,     0,   279,   280,   270,   281,
    2888      282,   283,    43,    44,     0,   284,   285,     0,     0,     0,
    2889        0,     0,     0,   273,   274,     0,   275,     0,     0,     0,
    2890        0,     0,     0,     0,     0,     0,     0,     0,   286,     0,
    2891      367,     0,     0,     0,     0,     0,   681,    48,   288,   289,
    2892      290,   291,   276,     0,     0,     0,     0,     0,   277,     0,
    2893        0,     0,   278,     0,     0,   279,   280,   270,   281,   282,
    2894      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2895        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2896        0,     0,     0,     0,     0,     0,     0,   286,     0,   367,
    2897        0,     0,     0,     0,     0,   333,    48,   288,   289,   290,
    2898      291,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2924      21,    22,    23,    24,    25,    26,    27,     0,     0,   334,
     2925      29,    30,     0,     0,     0,     0,     0,     0,   736,    33,
     2926       0,     0,     0,     0,    47,    48,     0,     8,     9,    10,
     2927      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2928      21,    22,    23,    24,    25,    26,    27,    36,     0,   334,
     2929      29,    30,     0,     0,   203,    41,     0,     0,     0,    33,
     2930       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2931      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2932       0,     0,   334,    29,    30,     0,     0,    36,     0,     0,
     2933       0,     0,    33,   260,    40,    41,     0,     0,     0,    47,
     2934      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2935       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2936      36,     0,     0,     0,     0,     0,     0,    40,    41,     0,
     2937       0,     0,     0,   683,     0,     0,     0,     0,     0,    47,
     2938      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2939       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2940       0,     0,     0,     0,     0,     0,   736,     0,     0,     0,
     2941       0,     0,    47,    48,     2,   202,     4,     5,     6,     7,
     2942       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2943      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2944       0,     0,   334,    29,    30,     0,     0,     0,     0,     0,
     2945       0,     0,    33,     0,   275,   276,     0,   277,  1002,     0,
     2946    1003,     0,     0,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
     2947    1011,     0,     0,  1529,  1012,     0,     0,     0,  1013,  1014,
     2948      36,  1015,    37,   278,    38,     0,     0,    40,    41,  1016,
     2949       0,   171,   172,  1019,     0,     0,   281,   282,   272,   283,
     2950     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
     2951       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2952       0,     0,     0,     0,     0,  -439,     0,     0,   288,     0,
     2953     377,     0,     0,   168,     0,     0,    47,    48,   290,   291,
     2954     292,   293,     0,     0,   275,   276,  1020,   277,  1002,     0,
     2955    1003,  -134,     0,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
     2956    1011,     0,     0,     0,  1012,     0,     0,     0,  1013,  1014,
     2957       0,  1015,     0,   278,     0,     0,     0,     0,     0,  1016,
     2958       0,   171,   172,  1019,     0,     0,   281,   282,   272,   283,
     2959     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
     2960       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2961       0,     0,     0,     0,     0,     0,     0,     0,   288,     0,
     2962     377,     0,     0,   168,     0,     0,    47,    48,   290,   291,
     2963     292,   293,     0,     0,     0,     0,  1020,     0,     0,     0,
     2964       0,  -134,     2,   202,     4,     5,     6,     7,     8,     9,
     2965      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2966      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2967     334,    29,    30,     0,     0,     0,     0,     0,     0,     0,
     2968      33,     0,   275,   276,     0,   277,  1002,     0,  1003,  1388,
     2969    1389,  1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,     0,
     2970       0,  1529,  1012,     0,     0,     0,  1013,  1014,    36,  1015,
     2971      37,   278,    38,     0,     0,    40,    41,  1016,     0,   171,
     2972     172,  1019,     0,     0,   281,   282,   272,   283,   284,   285,
     2973      43,    44,     0,   286,   287,     0,     0,     0,     0,  1301,
     2974       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2975       0,     0,     0,     0,     0,     0,   288,     0,   377,     0,
     2976       0,   168,     0,     0,    47,    48,   290,   291,   292,   293,
     2977       0,     0,   275,   276,  1020,   277,  1002,     0,  1003,  1388,
     2978    1389,  1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,     0,
     2979       0,     0,  1012,     0,     0,     0,  1013,  1014,     0,  1015,
     2980       0,   278,     0,     0,     0,     0,     0,  1016,     0,   171,
     2981     172,  1019,     0,     0,   281,   282,   272,   283,   284,   285,
     2982      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
     2983       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2984       0,     0,     0,     0,     0,     0,   288,     0,   377,     0,
     2985       0,   168,     0,     0,    47,    48,   290,   291,   292,   293,
     2986       0,     0,   275,   276,  1020,   277,  1002,     0,  1003,     0,
     2987       0,  1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,     0,
     2988       0,     0,  1012,     0,     0,     0,  1013,  1014,     0,  1015,
     2989       0,   278,     0,     0,     0,     0,     0,  1016,     0,   171,
     2990     172,  1019,     0,     0,   281,   282,   272,   283,   284,   285,
     2991      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
     2992       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2993       0,     0,     0,     0,     0,     0,   288,     0,   377,     0,
     2994       0,   168,     0,     0,    47,    48,   290,   291,   292,   293,
     2995       0,     0,     0,     0,  1020,     8,     9,    10,    11,    12,
     2996      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2997      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2998       0,     0,     0,     0,     0,     0,     0,    33,   201,     2,
     2999     202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3000      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3001      23,    24,    25,    26,    27,    36,     0,    28,    29,    30,
     3002     111,     0,    40,    41,     0,     0,     0,    33,     0,     0,
     3003       0,     0,     0,    43,    44,     0,     0,     0,     0,     0,
     3004       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3005       0,     0,     0,     0,     0,    36,     0,    37,     0,    38,
     3006       0,     0,   203,    41,   463,     2,   202,     4,     5,     6,
     3007       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    28993008      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    29003009      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2901        0,     0,     0,    33,   199,     2,   200,     4,     5,     6,
     3010       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     3011       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3012       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3013       0,    36,     0,    37,     0,    38,     0,     0,    40,    41,
     3014       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
     3015      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3016      22,    23,    24,    25,    26,    27,     0,     0,   334,    29,
     3017      30,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     3018       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3019       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3020       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
     3021      38,     0,     0,   203,    41,     2,   202,     4,     5,     6,
    29023022       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    29033023      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2904       27,    36,     0,    28,    29,    30,   109,     0,    40,    41,
    2905        0,     0,     0,    33,     0,     0,     0,     0,     0,    43,
    2906       44,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2908        0,    36,     0,    37,     0,    38,     0,     0,   201,    41,
    2909      453,     2,   200,     4,     5,     6,     7,     8,     9,    10,
     3024      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
     3025       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     3026       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3027       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3028       0,    36,     0,    37,     0,    38,     0,     0,   203,    41,
     3029       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3030      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3031       0,     0,    28,    29,    30,   482,   483,   484,   485,     0,
     3032       0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
     3033       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3034       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3035      36,     0,     0,     0,     0,     0,     0,    40,    41
     3036};
     3037
     3038#define yypact_value_is_default(yystate) \
     3039  ((yystate) == (-1346))
     3040
     3041#define yytable_value_is_error(yytable_value) \
     3042  YYID (0)
     3043
     3044static const yytype_int16 yycheck[] =
     3045{
     3046       0,     1,     0,    45,   180,    45,     1,   180,     1,   200,
     3047     117,   180,    51,    45,   180,   451,   603,   180,     0,   651,
     3048     180,  1050,   180,   341,   532,   722,   603,   479,   900,   165,
     3049     166,    31,    32,   183,    34,   215,    34,   341,  1010,     0,
     3050      34,   622,   865,  1388,   600,    45,  1050,  1050,     1,  1311,
     3051    1097,    51,    34,    51,   514,    45,   983,   984,    58,   568,
     3052     600,   106,   865,    63,    66,    63,    66,    45,    66,    69,
     3053    1392,    69,   600,    34,    69,   114,   493,     0,     1,   255,
     3054     497,    66,   255,    67,    42,   337,   255,   416,   479,   255,
     3055     197,   154,   255,   600,    45,   255,    42,   255,    51,    47,
     3056      48,   251,   252,   600,    30,   144,   435,   107,   153,    54,
     3057     110,    34,   600,    90,   443,   342,   246,   117,  1463,   363,
     3058     600,   984,    42,   367,   337,   125,   100,  1052,   424,   425,
     3059     114,     0,  1269,   118,    42,   137,   604,  1056,   180,  1058,
     3060     180,   118,   610,    47,    48,   145,    69,   145,   180,    84,
     3061     363,   224,  1414,   106,   367,    81,   114,   157,   116,   157,
     3062     134,   114,   101,   181,   237,    34,   205,    56,   486,   114,
     3063     116,   119,   157,   713,  1496,  1047,   114,   101,  1001,  1501,
     3064     180,   181,    42,   181,  1231,   713,  1233,  1234,   127,   288,
     3065     180,   144,   133,   114,   114,   136,   116,   197,  1001,   495,
     3066     153,     0,   180,   127,  1526,   205,   114,   205,   116,    98,
     3067      42,  1533,     0,   255,   214,   255,   120,   217,   514,   217,
     3068      51,   114,   261,   255,   224,   733,   813,   479,   408,   180,
     3069     112,   181,   217,   713,   234,    34,   813,   237,   256,  1013,
     3070    1014,   241,   242,   241,   800,   947,    34,   241,   201,   242,
     3071     641,   642,   205,    42,   136,   255,   256,    45,   256,   241,
     3072     800,   300,   262,    51,   249,   265,   657,   114,   115,   254,
     3073       0,     1,   800,  1198,   783,    63,     0,    42,    66,   575,
     3074     241,    69,   114,   114,   116,   246,   416,   332,   920,    47,
     3075      48,   743,   994,   800,    84,  1432,   114,  1269,   337,   603,
     3076     189,   114,  1439,   800,    34,   435,   256,   114,   261,   117,
     3077      34,   264,   800,   443,   705,   422,    42,   135,   241,  1093,
     3078     800,   428,   322,   212,   322,   114,   116,   116,   642,   136,
     3079    1257,  1258,   909,   222,   802,   288,    66,   121,   115,    69,
     3080     340,   341,   586,   657,   121,    69,   119,   300,  1211,   114,
     3081    1501,   116,   743,   137,  1051,     0,  1179,   145,   687,    42,
     3082      42,   119,  1499,   590,   364,     3,    42,   430,   368,   157,
     3083     622,  1501,   241,   586,   205,  1347,  1179,   246,   378,   332,
     3084     632,   962,  1533,   117,   402,   424,   425,   121,   114,    34,
     3085     116,   705,   180,   181,   638,  1258,  1526,  1443,   625,   288,
     3086     143,   908,   402,  1533,   402,     0,   115,   634,   507,   622,
     3087     509,   908,   451,   512,   124,   125,   515,   205,    42,   632,
     3088     908,    66,   422,   115,   154,   638,   135,     3,   428,   217,
     3089     261,   114,   114,   116,   116,  1481,   121,  1483,   114,    34,
     3090     116,   460,   241,   135,   429,   722,  1269,   246,   121,     0,
     3091    1147,  1148,   402,   241,   114,   416,   495,  1384,    42,   477,
     3092    1092,   524,   135,   463,  1436,   692,  1438,   255,   468,   300,
     3093     463,   424,   425,   115,   435,   514,  1505,   477,   930,   477,
     3094     707,   481,   443,   481,   469,   945,   486,   217,   924,   489,
     3095     114,   743,   116,   135,   494,   813,  1073,     0,   451,   481,
     3096     777,  1505,  1505,   971,   972,   922,   116,   122,   118,   813,
     3097     463,   241,   115,   128,   129,   136,   652,   241,   121,    10,
     3098     481,  1384,   246,  1466,   587,   135,   526,   477,  1500,  1472,
     3099     114,   531,   116,   526,   322,   115,   575,   115,   531,   930,
     3100     493,   121,   495,   121,   497,   114,   114,   416,   116,   793,
     3101    1475,   440,   659,   341,   507,  1498,   509,   687,   481,   512,
     3102    1503,   514,   515,   670,     0,     1,   435,   115,   795,    97,
     3103      98,   701,   217,   121,   443,   121,   465,   854,   641,   642,
     3104     793,  1506,   114,   622,    75,   585,    77,    78,   121,   641,
     3105     642,   137,   983,   632,   657,   913,   241,   121,    34,   121,
     3106     600,   115,   115,   603,   137,   657,    84,    75,   121,  1432,
     3107    1535,   135,   481,  1315,   402,   137,  1439,   416,   507,   114,
     3108      88,    89,   575,   512,   624,    75,   515,    77,    78,   629,
     3109      66,   114,   114,    69,   116,   488,   435,    51,    88,    89,
     3110     122,   123,   705,   643,   443,   277,   241,   647,   116,    63,
     3111     114,   246,    66,   705,   136,    69,   656,   676,   658,   659,
     3112     660,   121,  1114,   121,   121,   658,   116,   660,   300,   301,
     3113     670,   115,   852,   950,  1376,  1377,  1499,   137,   930,   137,
     3114     137,    75,   481,   114,    10,    11,    12,    13,    14,   121,
     3115     114,  1388,   416,   481,    88,    89,   121,   342,   486,   699,
     3116     430,   114,   337,   135,   115,   337,   699,   115,   343,   121,
     3117     962,   435,   137,   713,   714,   115,    42,   702,   587,   443,
     3118     720,   998,   858,  1114,   724,   137,   687,   115,   363,   121,
     3119     880,   145,   367,    95,    96,   115,   120,   690,   965,   121,
     3120     701,   121,   121,   157,    70,   137,   470,   379,   115,   962,
     3121     114,   481,   605,  1450,   121,   137,   609,   481,   137,  1211,
     3122     779,   121,   615,    75,   717,  1462,  1463,   181,   130,   131,
     3123     789,   790,   115,   114,  1051,   116,    88,    89,   121,  1287,
     3124      67,   217,   801,   636,   975,   121,   675,   640,   114,  1486,
     3125     116,   205,   115,   114,   524,   684,   122,   123,   121,   688,
     3126     800,   137,   114,   217,   116,   241,   114,    10,    11,    12,
     3127      13,    14,   600,   813,    70,   603,   119,    73,   687,   121,
     3128      76,   416,    78,   115,   469,   115,   889,   115,   137,   121,
     3129      86,   121,   701,   121,     3,   137,   481,   137,    75,    42,
     3130     435,    10,    11,    12,    13,    14,   117,   114,   443,   116,
     3131     121,    88,    89,   288,   137,   122,   123,   587,   858,   690,
     3132     996,  1558,  1114,  1043,   864,   865,  1257,    70,   117,   115,
     3133    1147,  1148,   121,    42,  1050,   121,   115,  1050,   896,   116,
     3134     115,  1050,   121,   865,  1050,   924,   481,  1050,   687,   114,
     3135    1050,   116,  1050,    75,    93,    94,   896,   122,   123,   899,
     3136      82,    70,   701,    85,   865,    87,    88,    89,   322,   115,
     3137     117,   641,   642,   913,   121,   121,   548,   549,   550,   119,
     3138     983,   984,    84,   962,   115,   713,   714,   657,   923,   672,
     3139     121,   931,   117,   114,   116,   114,   121,   937,   931,   115,
     3140    1484,   894,   865,   943,  1488,   121,   896,   947,   120,   121,
     3141     943,   586,   208,    75,   947,    77,    78,    79,   115,  1211,
     3142     123,   980,   981,   687,   121,   132,    88,    89,   133,   922,
     3143     923,   924,    75,   115,   116,   705,  1083,   701,    99,    82,
     3144     625,   116,    85,   836,    87,    88,    89,   622,   402,   424,
     3145     425,   117,   114,   117,   994,   115,   865,   632,    61,    62,
     3146     923,   994,   891,   638,  1004,   120,   121,  1007,  1008,  1009,
     3147      47,    48,   800,   116,    10,    11,    12,    13,    14,  1001,
     3148     889,   115,  1041,  1042,   115,   813,  1098,  1099,    75,   115,
     3149    1048,   115,    79,   115,  1052,   114,   115,   116,  1038,   137,
     3150    1001,    88,    89,   551,   552,   481,    42,   692,  1048,   114,
     3151    1050,   117,  1052,   555,   556,   557,   558,   702,   114,   115,
     3152     116,   914,   707,   894,  1064,   116,   865,   114,    75,   116,
     3153      77,    78,   507,   119,    70,   122,   123,   512,  1001,   119,
     3154     515,    88,    89,  1083,   553,   554,  1522,   136,   344,   345,
     3155     121,   347,   687,   349,   114,   115,   116,  1097,  1048,   114,
     3156     115,   116,  1052,   136,  1097,   361,   701,   114,   896,   119,
     3157     114,  1388,   119,   137,  1067,   747,   559,   560,   114,   117,
     3158     116,   115,   115,  1012,   135,   913,   122,   123,   117,     3,
     3159      75,   566,  1001,   117,    79,   865,    10,    11,    12,    13,
     3160      14,   865,   121,    88,    89,   135,  1209,   135,    31,    75,
     3161     795,    77,    78,    79,  1154,    61,    62,    63,   793,   889,
     3162     115,   796,    88,    89,   115,   119,   115,   120,    42,   114,
     3163     120,   114,   120,  1450,   121,   115,   115,   122,   123,  1179,
     3164    1198,     0,     1,   439,   121,  1462,  1463,   115,   115,   121,
     3165    1209,   115,   115,   923,  1257,  1258,    70,  1179,  1198,   115,
     3166     115,   115,  1001,    75,   115,    77,    78,    79,   115,  1486,
     3167      75,   137,    77,    78,    79,    34,    88,    89,  1179,  1238,
     3168     865,  1216,   115,    88,    89,   115,    45,  1246,  1247,  1248,
     3169     115,  1231,    51,  1233,  1234,   115,  1067,  1190,  1231,   115,
     3170    1233,  1234,   115,   120,    63,   115,    31,    66,  1198,  1476,
     3171      69,   115,   136,   983,   984,    75,  1179,    77,    78,    79,
     3172    1048,   119,  1050,  1216,  1052,   137,  1373,   115,    88,    89,
     3173     865,  1001,    75,   117,    77,    78,    79,  1001,   121,   117,
     3174     115,  1558,  1300,   115,   121,    88,    89,   106,   119,   115,
     3175    1290,    58,   115,  1216,   114,   114,   116,   121,   117,   118,
     3176    1300,   115,   122,   123,    75,   121,    77,    78,  1269,   114,
     3177    1179,    11,   114,   114,   114,  1315,  1311,    88,    89,   122,
     3178     965,  1384,  1315,   114,   135,   144,   145,   962,   135,  1505,
     3179     962,   135,  1505,   121,   153,   154,  1505,   120,   157,  1505,
     3180     107,  1341,  1505,   110,  1344,  1505,  1269,  1505,   119,   115,
     3181    1300,   137,   115,    75,   135,  1350,  1001,   135,  1311,  1190,
     3182      82,   180,   181,    85,  1349,    87,    88,    89,  1475,  1001,
     3183     115,   133,  1372,  1373,   120,   119,  1376,  1377,   197,   120,
     3184    1179,   115,   117,  1376,  1377,   121,   205,   117,  1311,  1278,
     3185     115,   115,  1392,   120,  1413,   115,    32,  1397,   217,    75,
     3186    1269,    77,    78,    79,   117,   117,  1001,    66,   117,   115,
     3187    1198,    50,    88,    89,  1399,   117,    75,    86,    75,  1414,
     3188      77,    78,   241,   117,   117,   115,  1426,  1350,   115,   865,
     3189     249,    88,    89,   137,   137,   254,   255,   256,   114,   137,
     3190     137,   137,   261,     3,   115,   115,   676,   214,   120,  1179,
     3191      10,    11,    12,    13,    14,  1179,   120,   114,   114,   118,
     3192     115,  1414,   119,  1505,   117,  1505,   117,   117,   865,   288,
     3193    1269,  1432,   117,  1505,   117,  1475,   117,  1477,  1439,   117,
     3194     115,   300,    42,  1522,  1477,   114,  1216,   923,  1506,   125,
     3195     114,  1414,    63,   114,   119,   262,  1496,   316,   157,   115,
     3196     115,  1501,   101,   322,   117,  1505,  1506,   117,  1506,  1432,
     3197      70,   115,  1300,   332,   117,   115,  1439,  1535,   337,   101,
     3198     114,   114,   341,   342,  1524,   137,  1526,  1257,  1258,   120,
     3199    1530,   115,   115,  1533,  1179,  1535,   115,  1535,  1499,  1269,
     3200     115,   121,    45,  1286,   363,  1269,  1546,   135,   367,   779,
     3201    1550,  1440,   137,  1442,   115,   101,  1506,   115,   217,   789,
     3202     790,   137,   101,  1432,   137,  1001,   135,   137,  1568,  1522,
     3203    1439,   801,   117,   340,    75,  1568,  1499,   115,    79,  1579,
     3204     137,  1311,   115,   402,  1179,  1535,  1579,    88,    89,    66,
     3205     249,  1480,   135,  1482,   114,   254,   121,   364,   234,   120,
     3206     117,   368,   117,   422,   117,   424,   425,  1004,   137,   428,
     3207    1441,   430,  1443,   114,   137,   115,   114,  1360,   120,  1349,
     3208    1350,   122,   123,   120,  1269,   115,  1350,   115,   135,   265,
     3209    1499,   115,   451,  1432,   115,   115,   114,    54,   137,    56,
     3210    1439,   118,    59,    60,    61,  1534,   137,  1536,   115,   468,
     3211    1481,   137,  1483,   561,  1384,   137,   565,  1020,   477,    76,
     3212     479,   562,   481,   563,   942,  1554,  1555,   486,  1411,  1399,
     3213     564,  1463,    89,    90,  1269,  1179,   495,  1352,  1550,  1279,
     3214     157,  1543,  1439,   342,  1414,  1489,  1038,  1048,   507,   894,
     3215     509,  1300,  1058,   512,   724,   514,   515,   916,   858,   937,
     3216    1499,   653,  1432,   717,  1349,   524,    75,   915,  1432,  1439,
     3217    1216,   481,   567,    82,   732,  1439,    85,  1505,    87,    88,
     3218      89,   567,   567,  1158,  1159,    75,  1161,    77,    78,    79,
     3219      -1,    -1,  1167,    -1,    -1,  1170,    -1,    -1,    88,    89,
     3220     217,  1484,   378,  1179,    -1,  1488,  1489,   116,   567,   568,
     3221     980,   981,    -1,    -1,  1399,    -1,   575,   234,     4,     5,
     3222       6,     7,     8,     9,    -1,   182,    -1,   586,   587,  1499,
     3223     429,   590,   249,  1516,    -1,  1499,    -1,   254,    -1,    -1,
     3224    1216,   600,  1179,    -1,   603,    -1,   445,  1432,    75,    -1,
     3225      77,    78,    79,    -1,  1439,    -1,  1539,    -1,    -1,    -1,
     3226    1543,    88,    89,   622,    -1,    -1,  1441,    -1,  1443,    -1,
     3227     469,  1041,  1042,   632,    -1,   634,    -1,    -1,    75,   638,
     3228      77,    78,   641,   642,  1567,    -1,    72,   114,    74,   116,
     3229      -1,    88,    89,  1269,    -1,   122,   123,  1432,   657,    -1,
     3230     659,    -1,    -1,    -1,  1439,    -1,  1481,    -1,  1483,   136,
     3231      -1,   670,    -1,   489,  1499,    -1,    -1,   624,   494,    75,
     3232      -1,    77,    78,    79,    -1,   342,    -1,    -1,    -1,    -1,
     3233      -1,   690,    88,    89,    -1,  1311,   643,    -1,     4,     5,
     3234       6,     7,     8,     9,    -1,    -1,   705,   706,   707,   656,
     3235      -1,   137,    -1,  1290,   713,   714,    -1,    -1,   114,    -1,
     3236     116,    -1,    58,    -1,  1499,    -1,   122,   123,  1343,    35,
     3237      -1,    -1,    -1,  1349,  1350,   275,    -1,   277,   278,   336,
     3238      -1,   338,    -1,    -1,   743,    -1,   286,   287,    86,    -1,
     3239      -1,   590,    90,    91,    92,    -1,    -1,    -1,   355,   356,
     3240     300,   301,    -1,    -1,  1341,    -1,    72,  1344,    74,   585,
     3241      -1,   107,   429,    -1,   110,    -1,   114,    -1,   116,    -1,
     3242     118,   119,    -1,  1399,   783,    -1,   625,     4,     5,     6,
     3243       7,     8,     9,    -1,   793,   634,   795,   337,  1414,    -1,
     3244      -1,   800,    86,    -1,    -1,    -1,    90,    91,    92,    -1,
     3245      -1,    -1,   469,   629,   813,  1392,  1432,    -1,   185,    -1,
     3246    1397,    -1,    -1,  1439,    -1,   192,    -1,    -1,  1238,    -1,
     3247     114,   647,   116,    -1,   118,   119,  1246,  1247,  1248,   379,
     3248      -1,    -1,    10,    11,    12,    13,    14,    -1,    75,  1426,
     3249      77,    78,    -1,   692,    -1,    72,    -1,    74,    -1,    -1,
     3250      -1,    88,    89,   702,    -1,    -1,   865,    -1,   707,    -1,
     3251      -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,   214,    -1,
     3252      -1,    -1,    -1,  1499,    -1,    -1,    -1,    -1,    -1,    -1,
     3253     889,   258,    -1,    -1,    -1,   894,    -1,   896,    -1,    -1,
     3254      -1,    -1,    70,    -1,   720,    -1,    -1,    75,   724,   908,
     3255     909,    79,    -1,    -1,   913,    -1,    -1,    -1,    -1,    -1,
     3256      88,    89,    -1,    -1,   923,   924,   262,    -1,    -1,    -1,
     3257      -1,   930,    -1,   590,    -1,    -1,    -1,    -1,    -1,    -1,
     3258      -1,    -1,    -1,    -1,    -1,    -1,   114,  1524,    -1,   316,
     3259      -1,    -1,    -1,  1530,   122,   123,   795,    -1,   325,    -1,
     3260      -1,   328,    -1,   962,    -1,    -1,    -1,    -1,   625,  1546,
     3261      -1,    -1,   629,  1550,    -1,    -1,    -1,   634,    -1,    -1,
     3262      -1,    -1,    -1,    -1,   983,   984,    -1,    -1,    -1,    -1,
     3263      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3264      -1,    -1,  1001,  1413,   340,    -1,    -1,    -1,   548,   549,
     3265     550,   551,   552,   553,   554,   555,   556,   557,   558,   559,
     3266     560,   561,   562,   563,   564,   565,    -1,   394,   364,    -1,
     3267      -1,   398,   368,    -1,    -1,   692,    -1,    -1,    -1,    -1,
     3268      -1,    -1,   858,    -1,    -1,   702,    -1,    -1,   864,  1048,
     3269     707,  1050,    -1,  1052,    -1,    -1,    -1,    -1,    -1,    -1,
     3270    1007,  1008,  1009,    -1,    -1,    -1,    -1,    -1,  1067,    -1,
     3271      -1,    -1,    -1,    -1,  1073,    -1,    -1,    -1,    -1,    -1,
     3272      -1,    -1,    -1,   899,  1083,    -1,    -1,    -1,    -1,    -1,
     3273      10,    11,    12,    13,    14,    -1,   693,    -1,   695,    -1,
     3274      75,    -1,    77,    78,    79,    -1,   703,   704,    -1,   476,
     3275      -1,   708,    -1,    88,    89,  1114,    -1,    -1,    -1,    -1,
     3276      -1,   937,    42,    -1,    -1,    -1,   965,    -1,   725,    -1,
     3277      -1,    -1,    -1,   730,    -1,    -1,    -1,    -1,   795,   114,
     3278      75,   116,    77,    78,    79,    -1,    -1,   122,   123,    -1,
     3279      70,     0,   749,    88,    89,    75,    -1,    77,    78,    79,
     3280     135,    -1,    -1,    10,    11,    12,    13,    14,    88,    89,
     3281      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3282    1179,    -1,   722,    -1,    -1,    34,    -1,   122,   123,    -1,
     3283      -1,  1190,    -1,    -1,   114,    42,   116,    -1,    -1,  1198,
     3284     567,   568,   122,   123,    -1,    -1,    -1,   747,    -1,    -1,
     3285      -1,    -1,  1211,    -1,    -1,    -1,    -1,  1216,    -1,    -1,
     3286      69,    -1,  1038,    70,    -1,    -1,    -1,    -1,    75,    -1,
     3287      77,    78,    79,    -1,    -1,    -1,    -1,   777,    -1,    -1,
     3288      -1,    88,    89,    75,    -1,    77,    78,    79,  1064,    -1,
     3289     847,    -1,   849,   850,   851,    -1,    88,    89,  1257,  1258,
     3290      -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
     3291    1269,   868,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3292      -1,    -1,   114,    -1,    -1,    -1,    -1,   884,   624,    -1,
     3293     122,   123,    -1,    -1,   661,    -1,    -1,    -1,   665,    -1,
     3294      -1,  1300,    -1,    -1,    -1,   154,    -1,   643,   965,    -1,
     3295     907,    -1,  1311,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3296     656,    -1,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3297      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1154,    10,
     3298      11,    12,    13,    14,   941,    -1,    -1,    -1,    -1,   946,
     3299    1349,  1350,    -1,    -1,   951,    -1,    42,    -1,    -1,   956,
     3300     957,    -1,    -1,    -1,   961,    -1,   963,   964,    -1,    -1,
     3301     967,    42,    -1,    -1,  1373,    -1,    -1,   226,    -1,   976,
     3302      -1,    -1,    -1,    -1,    70,  1384,    -1,    -1,    -1,    75,
     3303       0,     1,   241,    79,    -1,   992,   993,   246,    -1,    70,
     3304    1399,    -1,    88,    89,    75,    -1,    77,    78,    79,    -1,
     3305     950,    -1,    -1,    -1,    -1,  1414,   783,    88,    89,    -1,
     3306      -1,    -1,   962,    -1,    34,  1372,    -1,  1024,   114,    -1,
     3307    1027,    -1,    -1,  1432,    -1,    -1,   122,   123,    -1,    -1,
     3308    1439,    51,  1441,   114,  1443,   116,    -1,    -1,    -1,    -1,
     3309      -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3310      -1,  1001,    -1,   102,   103,   104,   105,   106,   107,   108,
     3311     109,   110,   111,   112,    -1,    -1,  1475,  1476,    -1,    -1,
     3312      -1,    -1,  1481,  1080,  1483,    -1,    -1,    -1,   337,  1086,
     3313    1087,    -1,    -1,    -1,   343,    -1,   106,   136,  1095,    -1,
     3314    1499,    -1,    -1,  1100,    -1,    -1,  1505,  1506,  1105,    -1,
     3315    1349,  1051,    -1,    -1,   363,    -1,    -1,    -1,   367,    -1,
     3316      -1,  1118,    -1,  1522,    -1,    -1,    -1,    -1,    -1,   865,
     3317      -1,    -1,    -1,    -1,    -1,   145,  1535,  1134,    -1,  1136,
     3318    1137,  1138,  1139,   153,   154,    10,    11,    12,    13,    14,
     3319      -1,    -1,    -1,    -1,  1151,    -1,  1153,    -1,    -1,    -1,
     3320    1399,    -1,    -1,    -1,    -1,    -1,    -1,   416,    -1,    -1,
     3321      -1,   181,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,
     3322      -1,   430,    -1,    -1,    -1,   952,   435,   197,  1185,  1186,
     3323     200,   201,    -1,    -1,   443,   205,    -1,    -1,    -1,    -1,
     3324      -1,   968,    -1,    -1,    -1,    70,    -1,  1147,  1148,    -1,
     3325      75,   460,    77,    78,    79,    -1,   226,    -1,    -1,    -1,
     3326     230,   470,   232,    88,    89,   235,    -1,    -1,    -1,    -1,
     3327     479,   241,   481,    -1,    -1,    -1,   246,  1476,    -1,    -1,
     3328      -1,    -1,    -1,    -1,    -1,    -1,   256,    -1,    -1,   114,
     3329      -1,    -1,  1249,  1250,   264,    -1,    -1,   122,   123,    -1,
     3330      -1,    -1,  1259,    -1,    -1,    -1,    -1,    -1,  1004,    -1,
     3331      -1,  1007,  1008,  1009,    -1,   524,    -1,    -1,    -1,    -1,
     3332      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3333    1057,    -1,  1349,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3334      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3335      -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
     3336      13,    14,   332,    -1,    -1,    -1,  1323,   337,  1325,  1326,
     3337    1327,    -1,    -1,   343,    -1,    -1,    -1,   586,   587,    -1,
     3338    1337,    -1,  1399,    -1,    -1,    -1,    -1,    -1,  1345,    42,
     3339      -1,  1348,    -1,   363,    -1,    -1,    -1,   367,    -1,    -1,
     3340      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3341      -1,    -1,    -1,   622,    -1,    -1,    -1,    70,  1375,    -1,
     3342      -1,    -1,    75,   632,    77,    78,    79,    -1,    -1,   638,
     3343      -1,    -1,   641,   642,    -1,    88,    89,    -1,    -1,    -1,
     3344      -1,    -1,    -1,    -1,    -1,    -1,   416,     0,   657,    -1,
     3345      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1476,
     3346     430,   114,  1419,  1420,    -1,   435,  1193,   676,    -1,   122,
     3347     123,    -1,    -1,   443,    -1,  1432,    -1,    -1,   687,    -1,
     3348      -1,    34,  1439,  1179,    -1,    -1,    -1,    -1,  1388,    -1,
     3349     460,    -1,   701,   463,    -1,    -1,   705,    -1,    -1,  1456,
     3350     470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   479,
     3351      -1,   481,    -1,    -1,    -1,    -1,    69,  1474,    -1,    -1,
     3352      -1,    -1,  1479,   493,    -1,    -1,    -1,   497,    -1,    -1,
     3353      -1,    -1,    -1,    -1,   743,    -1,    -1,    -1,    -1,    -1,
     3354      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3355    1450,    -1,    -1,    -1,   524,  1512,    -1,  1514,    -1,    -1,
     3356      -1,    -1,  1462,  1463,    -1,    -1,    -1,    -1,    -1,  1296,
     3357     779,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3358     789,   790,    -1,    -1,   793,    -1,  1486,   796,    -1,    -1,
     3359      -1,    -1,   801,    -1,  1290,  1552,  1553,    -1,   568,    -1,
     3360      -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,  1565,  1566,
     3361      -1,    -1,    -1,    -1,    -1,    -1,   586,   587,    -1,    -1,
     3362      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3363      -1,    -1,    -1,   603,    -1,    -1,    -1,    -1,    -1,    -1,
     3364      -1,    -1,    -1,    -1,    -1,  1341,    -1,    -1,  1344,    -1,
     3365      -1,    -1,   622,    -1,    -1,    -1,   865,   627,  1558,    -1,
     3366      -1,    -1,   632,    -1,    -1,    -1,    -1,    -1,   638,    -1,
     3367      -1,   641,   642,    -1,    -1,    -1,  1372,    -1,    -1,    -1,
     3368     889,    -1,    -1,    -1,    -1,    -1,    -1,   657,   241,    -1,
     3369      -1,    -1,    -1,   246,    40,    41,  1392,    43,    -1,    -1,
     3370      -1,  1397,    -1,    -1,    -1,    -1,   676,    -1,    -1,    -1,
     3371      -1,    -1,    -1,    -1,    -1,    -1,    -1,   687,    -1,    -1,
     3372      -1,   930,    -1,    69,    -1,    -1,    -1,    -1,    -1,    75,
     3373    1426,   701,    -1,    79,    -1,   705,    82,    83,    84,    85,
     3374      86,    87,    88,    89,   714,    91,    92,   717,    -1,    -1,
     3375      -1,    -1,    -1,   962,    -1,    -1,    -1,    -1,    -1,    -1,
     3376      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
     3377     116,   980,   981,   743,   983,   984,   122,   123,   124,   125,
     3378     126,   127,    -1,    -1,   337,    -1,    -1,    -1,    -1,   135,
     3379     343,    -1,  1001,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3380    1496,    -1,    -1,    -1,    -1,  1501,    -1,    -1,    -1,   779,
     3381     363,    -1,    -1,    -1,   367,    -1,    -1,    -1,    -1,   789,
     3382     790,    -1,    -1,   793,    -1,    -1,   796,    -1,  1524,    -1,
     3383    1526,   801,  1041,  1042,  1530,    -1,    -1,  1533,    -1,    -1,
     3384      -1,   811,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3385    1546,    -1,    -1,    -1,  1550,    -1,    -1,    -1,    -1,    -1,
     3386      -1,    -1,    -1,   416,    -1,    -1,    -1,    -1,    -1,    -1,
     3387      -1,    -1,    -1,    -1,    -1,    -1,    -1,   430,    -1,    -1,
     3388      -1,    -1,   435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3389     443,    -1,    -1,    -1,    -1,   865,    -1,    -1,    40,    41,
     3390      -1,    43,    -1,    -1,    -1,  1114,    -1,   460,    -1,    -1,
     3391      -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,   889,
     3392      -1,    -1,     0,    -1,    -1,    -1,   479,    69,   481,    -1,
     3393      -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,   909,
     3394      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
     3395      92,    -1,   922,   923,    -1,    -1,    34,    -1,    -1,    -1,
     3396     930,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3397    1179,   524,   114,    -1,   116,    -1,   118,   119,    -1,    -1,
     3398     122,   123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,
     3399      -1,    69,   962,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3400    1209,    -1,  1211,    -1,    -1,   975,    -1,    -1,    -1,    -1,
     3401     980,   981,    -1,   983,   984,    -1,    -1,    -1,    -1,    -1,
     3402      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1238,
     3403      -1,  1001,    -1,   586,   587,    -1,    -1,  1246,  1247,  1248,
     3404      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1257,  1258,
     3405      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3406    1269,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,
     3407      -1,  1041,  1042,    -1,    -1,    -1,   154,    -1,    -1,   632,
     3408      -1,    -1,  1052,    -1,    -1,   638,    -1,    -1,   641,   642,
     3409      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,    -1,    -1,   657,    -1,    -1,    -1,    -1,    -1,
     3411      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3412      -1,    -1,    -1,   676,    -1,    -1,    -1,    -1,    -1,    -1,
     3413      -1,    -1,    -1,    -1,   687,    -1,    -1,    -1,    -1,    -1,
     3414      -1,  1350,    -1,    -1,  1114,    -1,    -1,    -1,   701,    -1,
     3415      -1,    -1,   705,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3416      -1,    -1,    -1,   241,    -1,    -1,    -1,    -1,   246,    -1,
     3417      -1,    -1,    -1,    -1,    -1,  1384,    -1,    -1,    -1,    -1,
     3418      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3419     743,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3420      -1,    -1,    -1,    -1,  1413,    -1,    -1,    -1,    -1,  1179,
     3421      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3422      -1,    -1,    -1,  1432,    -1,    -1,   779,    -1,    -1,    -1,
     3423    1439,    -1,  1441,    -1,  1443,    -1,   789,   790,    -1,  1209,
     3424     793,  1211,    -1,   796,    -1,    -1,  1216,    -1,   801,    -1,
     3425      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     3426      -1,    -1,    -1,    -1,    -1,   343,    -1,    -1,  1238,    -1,
     3427      -1,    -1,  1481,    -1,  1483,    -1,  1246,  1247,  1248,    -1,
     3428      -1,    -1,    -1,    -1,    -1,   363,    -1,  1257,  1258,   367,
     3429    1499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1269,
     3430      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3431      -1,    -1,   865,    -1,    -1,    10,    11,    12,    13,    14,
     3432      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3433      25,    26,    27,    28,    29,    -1,   889,    -1,   416,    -1,
     3434      -1,  1311,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,
     3435      -1,    -1,   430,    -1,    -1,    -1,    -1,   435,    -1,    -1,
     3436      -1,    -1,    -1,    -1,    -1,   443,    -1,    -1,    -1,    -1,
     3437      -1,    51,    -1,    40,    41,    70,    43,   930,    -1,    -1,
     3438    1350,    -1,   460,    -1,    -1,    -1,    66,    -1,    -1,    -1,
     3439      -1,    -1,   470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3440      -1,   479,    69,   481,    -1,    -1,    -1,    -1,    75,   962,
     3441      -1,    -1,    79,    -1,  1384,    82,    83,    84,    85,    86,
     3442      87,    88,    89,    -1,    91,    92,    -1,   980,   981,    28,
     3443     983,   984,    -1,    -1,   114,    -1,    -1,    -1,   118,    -1,
     3444      -1,    -1,    -1,  1413,  1414,    -1,   524,   114,  1001,   116,
     3445      -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
     3446     127,    -1,  1432,    -1,   144,    -1,    -1,    -1,    -1,  1439,
     3447      -1,  1441,    -1,  1443,   154,    -1,    -1,   157,    -1,    -1,
     3448      -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,  1041,  1042,
     3449      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3450      99,    -1,   101,    -1,    -1,    -1,    -1,    -1,   586,   587,
     3451      -1,  1481,    -1,  1483,    -1,    -1,    -1,    -1,    -1,    -1,
     3452      -1,    -1,    -1,    -1,    -1,   205,    -1,   126,    -1,  1499,
     3453      -1,    -1,    -1,    -1,    -1,    -1,  1506,   217,    -1,    -1,
     3454      -1,    -1,    -1,    -1,   622,    -1,    -1,    -1,    -1,    -1,
     3455      -1,    -1,    -1,    -1,   632,    -1,    -1,    -1,    -1,    -1,
     3456     638,  1114,    -1,   641,   642,    -1,    -1,    -1,    -1,    -1,
     3457      -1,    -1,    -1,    -1,   254,    -1,    -1,    -1,    -1,   657,
     3458      -1,   261,    -1,    -1,    -1,    -1,   185,    -1,   187,   188,
     3459      -1,    -1,    -1,   192,    -1,   194,   195,    -1,   676,    -1,
     3460      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,   687,
     3461      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3462     300,    -1,    -1,   701,    -1,    -1,  1179,   705,    -1,    10,
    29103463      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2911       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2912       29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
    2913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2915        0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
    2916        0,    38,     0,     0,    40,    41,     2,   200,     4,     5,
     3464      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3465      -1,    32,    33,    34,    -1,    -1,  1209,   337,  1211,   258,
     3466      -1,    42,   342,    -1,    -1,   743,    -1,    -1,    -1,    -1,
     3467      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3468      -1,    -1,    -1,    -1,    -1,  1238,    -1,    -1,    -1,    70,
     3469      -1,    -1,    -1,  1246,  1247,  1248,    77,    78,    -1,    -1,
     3470      -1,   779,    -1,    -1,  1257,  1258,    -1,    -1,    -1,    -1,
     3471      -1,   789,   790,    -1,    -1,   793,  1269,    -1,   796,    -1,
     3472      -1,    -1,    -1,   801,    -1,    -1,    -1,    -1,    -1,    -1,
     3473      -1,    -1,    -1,    -1,    -1,   334,    -1,    -1,    -1,    -1,
     3474      -1,   122,   123,    -1,   424,   425,    -1,    -1,    -1,    -1,
     3475     430,    -1,    -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,
     3476      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3477      -1,   451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3478      -1,    -1,    -1,    -1,    -1,    -1,    -1,   865,    -1,    -1,
     3479      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1350,    -1,   479,
     3480      -1,    -1,    -1,    -1,    -1,    -1,   405,    -1,    -1,    -1,
     3481      -1,   889,    -1,    -1,    -1,   495,    -1,    -1,    -1,    -1,
     3482      -1,    -1,    -1,    -1,    -1,    -1,    -1,   507,    -1,   509,
     3483      -1,  1384,   512,    -1,   514,   515,    -1,    -1,    -1,    -1,
     3484      -1,    -1,    -1,    -1,   524,    -1,    -1,    -1,    -1,    -1,
     3485      -1,    -1,   930,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3486    1413,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3487      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1432,
     3488      -1,    -1,    -1,    -1,   962,    -1,  1439,    -1,  1441,    -1,
     3489    1443,    -1,    -1,    -1,    -1,   575,    -1,    -1,    -1,    -1,
     3490      -1,    -1,   980,   981,    -1,   983,   984,   587,    -1,    -1,
     3491     590,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3492      -1,    -1,    -1,  1001,    -1,    -1,    -1,    -1,  1481,    -1,
     3493    1483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,   622,    -1,    66,    -1,  1499,    -1,    -1,    -1,
     3495      -1,    -1,   632,    75,    -1,    77,    -1,    79,    -1,    -1,
     3496      -1,   641,   642,  1041,  1042,    87,    -1,    -1,    -1,    -1,
     3497      -1,    -1,   571,   572,    -1,    -1,    -1,   657,    -1,    -1,
     3498      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3499      -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,   120,   121,
     3500     122,    -1,    -1,    -1,    -1,   604,    -1,    -1,   607,   608,
     3501     690,   610,    -1,   612,   613,    -1,    -1,    -1,   617,   618,
     3502      -1,    -1,    -1,    -1,    -1,   705,    -1,   707,    -1,    -1,
     3503      -1,    -1,    -1,    -1,    -1,   157,  1114,    -1,    -1,    -1,
     3504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3506      -1,    -1,   661,   743,    -1,    -1,   665,    -1,    -1,    -1,
     3507      -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,
     3508      10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
     3509      -1,    -1,    -1,    -1,    -1,   217,    -1,   219,   220,   221,
     3510      -1,  1179,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3511      40,    41,    42,    43,    -1,   795,    -1,    -1,    -1,    -1,
     3512      -1,    -1,    -1,    -1,    -1,    -1,    -1,   249,    -1,    -1,
     3513      -1,  1209,   254,  1211,    -1,    -1,    -1,    -1,    -1,    69,
     3514      70,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,
     3515      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3516    1238,    91,    92,    -1,    -1,    -1,    -1,    -1,  1246,  1247,
     3517    1248,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1257,
     3518    1258,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3519      -1,  1269,   122,   123,   124,   125,   126,   127,    -1,    -1,
     3520     322,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   889,
     3521      40,    41,    -1,    43,   894,    -1,    -1,    -1,    46,    -1,
     3522     342,    -1,    -1,    -1,    -1,    -1,   348,    -1,   350,    -1,
     3523      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3524     362,    -1,    -1,    -1,   924,    75,    -1,    -1,    -1,    79,
     3525     930,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3526      -1,    91,    92,    -1,    92,    -1,    -1,    -1,    -1,    -1,
     3527      -1,    -1,  1350,    -1,   102,    -1,    -1,    -1,    -1,    -1,
     3528     402,    -1,   962,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3529      -1,   121,   122,   123,   124,   125,   126,   127,    -1,    -1,
     3530     422,    -1,    -1,   983,   984,   427,  1384,   429,    -1,    -1,
     3531      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3532      -1,    -1,    -1,   445,    -1,    -1,   448,   449,    -1,    -1,
     3533      -1,    -1,    -1,   455,    -1,  1413,    -1,    -1,    -1,    -1,
     3534     168,    -1,    -1,    -1,    -1,    -1,    -1,   469,    -1,    -1,
     3535      -1,    -1,    -1,   952,  1432,   477,    -1,    -1,    -1,    -1,
     3536      -1,  1439,   190,  1441,    -1,  1443,    -1,    -1,    -1,   968,
     3537      -1,    -1,   971,   972,    -1,     7,   204,    -1,    10,    11,
     3538      12,    13,    14,    -1,    -1,   213,    -1,  1067,    -1,    -1,
     3539      -1,    -1,    -1,    -1,    -1,   223,    -1,    -1,    -1,    -1,
     3540      -1,    -1,    -1,  1481,    -1,  1483,    -1,    -1,    40,    41,
     3541      42,    43,    -1,    -1,   242,    -1,    -1,    -1,    -1,   247,
     3542      -1,  1499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3543      -1,    -1,   260,    -1,  1114,    -1,    -1,    69,    70,    -1,
     3544     268,    -1,   270,    75,    -1,  1044,    -1,    79,    -1,    -1,
     3545      82,    83,    84,    85,    86,    87,    88,    89,  1057,    91,
     3546      92,   289,    -1,  1062,  1063,    -1,    -1,    -1,   590,    -1,
     3547     592,   593,   594,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3548      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     3549     122,   123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,
     3550      -1,    -1,   330,   625,   626,    -1,    -1,   335,    -1,    -1,
     3551    1190,    -1,   634,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3552    1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3553      -1,  1211,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3554      -1,    -1,   370,    -1,    -1,    -1,   374,   375,    -1,   377,
     3555      -1,    -1,    -1,    -1,    -1,    -1,   384,   385,    -1,   387,
     3556     388,    -1,   390,    -1,   392,    -1,    -1,    -1,    -1,    -1,
     3557     692,    -1,    -1,    40,    41,    -1,    43,  1257,  1258,    -1,
     3558     702,   409,  1181,    -1,    -1,   707,    -1,    -1,    -1,   417,
     3559      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3560      -1,  1200,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,
     3561      -1,    -1,    79,   441,    -1,    82,    83,    84,    85,    86,
     3562      87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
     3563      -1,    -1,   153,   154,    -1,    -1,    -1,    -1,   466,    -1,
     3564      -1,    -1,    -1,    -1,    -1,   473,    -1,   114,    -1,   116,
     3565     478,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
     3566     127,   783,    -1,    -1,   185,    -1,    -1,    -1,    -1,  1349,
     3567      -1,   192,    -1,   795,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    -1,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,
     3569     518,   813,    -1,    -1,    -1,    -1,    -1,  1296,    -1,    -1,
     3570      -1,    -1,   530,    -1,  1384,    -1,    -1,    -1,    -1,    -1,
     3571      -1,    69,    -1,    -1,    -1,   837,    -1,    75,    -1,  1399,
     3572      -1,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     3573      88,    89,    -1,    91,    92,    -1,    -1,   258,    -1,   567,
     3574      -1,    40,    41,    -1,    43,    -1,    -1,    -1,   576,    -1,
     3575      -1,   579,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     3576      -1,  1441,    -1,  1443,   122,   123,   124,   125,   126,   127,
     3577      69,    -1,    -1,   601,    -1,    -1,    75,    -1,    -1,    -1,
     3578      79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
     3579      89,   913,    91,    92,    -1,   316,  1476,    -1,    -1,    -1,
     3580      -1,  1481,    -1,  1483,   325,   326,    -1,   328,   329,    -1,
     3581      -1,    -1,    -1,    -1,    -1,   114,   337,   116,   646,    -1,
     3582     341,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
     3583      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3584      -1,    -1,  1522,   965,    -1,    -1,   367,    -1,    -1,    -1,
     3585      -1,    -1,    -1,    -1,   976,   683,    -1,    -1,    -1,    -1,
     3586      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3587      -1,    -1,    -1,   394,    -1,    -1,    -1,   398,    -1,    -1,
     3588      -1,    -1,    -1,   711,    -1,    -1,    -1,    -1,    -1,    -1,
     3589     144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   726,   727,
     3590     154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   736,   430,
     3591      -1,   165,   166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3592      -1,    -1,   750,    -1,    -1,    -1,    -1,   755,    -1,    -1,
     3593      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3594      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3595      -1,  1073,    -1,    -1,    -1,   476,    -1,    -1,   479,    -1,
     3596      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3597      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3598      22,    23,    24,    25,    26,    27,    28,    29,    30,   817,
     3599      32,    33,    34,    35,    -1,    -1,   824,    39,    -1,   253,
     3600      42,    -1,    -1,   524,    -1,    -1,    -1,    -1,    -1,    -1,
     3601      -1,    -1,   840,    -1,   842,    -1,    -1,    -1,    -1,    -1,
     3602      -1,    -1,    -1,    -1,    -1,    -1,    -1,   855,    70,    -1,
     3603      72,    -1,    74,   861,    -1,    77,    78,    -1,    -1,    81,
     3604      -1,    -1,    -1,    -1,   872,    -1,   567,   568,   876,    -1,
     3605      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3606      -1,    -1,    -1,    -1,    -1,   586,   587,    -1,    -1,    -1,
     3607      -1,    -1,    -1,    -1,   116,    -1,  1198,    -1,    -1,   600,
     3608     122,   123,   603,   604,    -1,    -1,    -1,    -1,    -1,   610,
     3609      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   620,
     3610      -1,   622,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3611      -1,   632,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3612     641,   642,    40,    41,   378,    43,    -1,    -1,    -1,    -1,
     3613      -1,    -1,   960,    -1,    -1,    -1,   657,    -1,    -1,    -1,
     3614     661,   662,    -1,    -1,   665,   666,    -1,    -1,    -1,    -1,
     3615      -1,    69,    -1,   674,    -1,    -1,    -1,    75,    -1,    -1,
     3616      -1,    79,    -1,   154,    82,    83,    84,    85,    86,    87,
     3617      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
     3618      -1,    -1,    -1,    -1,   705,   706,    -1,    -1,    -1,    -1,
     3619      -1,    -1,    -1,    -1,    -1,    -1,   114,   451,   116,  1027,
     3620      -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
     3621      -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,
     3622      -1,    -1,   743,    -1,    -1,    -1,    -1,  1349,    -1,    -1,
     3623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3624      -1,  1069,    -1,    -1,    -1,    -1,  1074,    -1,    -1,    -1,
     3625      -1,    -1,    -1,    -1,    -1,    -1,  1084,    -1,    -1,    -1,
     3626     514,    -1,   783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3627     524,    -1,    -1,    -1,    -1,   529,    -1,  1399,   532,   800,
     3628    1108,   802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3629      -1,   545,   813,  1121,    -1,    -1,    -1,  1125,    -1,    -1,
     3630    1128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3631      -1,    -1,    -1,    -1,    -1,    -1,  1144,  1145,    -1,    -1,
     3632      -1,   575,    -1,    -1,    -1,    -1,    -1,    -1,   582,    -1,
     3633      -1,    -1,    -1,   587,  1162,    -1,    -1,    -1,    -1,    -1,
     3634      -1,    -1,    -1,    -1,    -1,    -1,   337,    -1,   602,    -1,
     3635      -1,   342,   343,    -1,  1476,    -1,    -1,    -1,    -1,    -1,
     3636      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   889,    -1,
     3637      -1,    -1,   363,    -1,    -1,   896,   367,    -1,    -1,    -1,
     3638      -1,    -1,    -1,    -1,    -1,    -1,    -1,   908,   909,    -1,
     3639     644,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,  1227,
     3640      -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,   930,
     3641      -1,    -1,    -1,  1535,    -1,    -1,    -1,    -1,    -1,    -1,
     3642      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3643      -1,   952,   953,    -1,    -1,    -1,    -1,    -1,    -1,   430,
     3644      -1,   962,    -1,    -1,    -1,    -1,    -1,   968,   969,    -1,
     3645     971,   972,   973,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3646      -1,    -1,   983,   984,    -1,    -1,    -1,    -1,    -1,   460,
     3647      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1306,   733,
     3648    1308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   479,   743,
     3649    1318,   745,  1320,    -1,   748,    -1,    -1,    -1,    -1,    -1,
     3650     754,    -1,    -1,    -1,    -1,    -1,    -1,  1335,    -1,    -1,
     3651      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3652      -1,    -1,    -1,    -1,    -1,  1353,  1354,  1048,    -1,  1050,
     3653      -1,  1052,    -1,   524,    -1,    -1,  1057,    -1,  1366,    -1,
     3654      -1,   795,   796,  1371,    -1,    -1,  1374,    -1,    -1,    -1,
     3655      -1,    -1,  1073,    -1,    -1,    -1,    -1,   811,    -1,    -1,
     3656      -1,    -1,  1390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3657      -1,    -1,  1400,    -1,    -1,  1403,    -1,  1405,  1406,  1407,
     3658      -1,    -1,    -1,    -1,    -1,   337,    -1,    -1,    -1,    -1,
     3659     342,   343,    -1,  1114,    -1,   586,   587,    -1,    -1,   590,
     3660     854,    -1,    -1,    -1,   858,    -1,    -1,    -1,    -1,    -1,
     3661      -1,   363,    -1,    40,    41,   367,    43,  1445,    -1,  1447,
     3662      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1457,
     3663      -1,   622,    -1,    -1,   625,   889,    -1,    -1,    -1,  1467,
     3664      -1,   632,    69,   634,    -1,    -1,    -1,   638,    75,    -1,
     3665     641,   642,    79,    -1,    -1,    82,    83,    84,    85,    86,
     3666      87,    88,    89,    -1,    91,    92,   657,    -1,    -1,    -1,
     3667     924,    -1,  1193,    -1,    -1,    -1,   930,  1198,   430,    -1,
     3668      -1,    -1,    -1,   937,    -1,   676,    -1,   114,   942,   116,
     3669    1211,   945,    -1,    -1,    -1,   122,   123,   124,   125,   126,
     3670     127,   692,    -1,    -1,    -1,    -1,    -1,    -1,   460,    -1,
     3671      -1,   965,    -1,    -1,   705,    -1,   707,    -1,    -1,    -1,
     3672      -1,    -1,   976,    -1,    -1,    -1,    -1,   479,    -1,    -1,
     3673      -1,    -1,    -1,    -1,    -1,    -1,  1257,  1258,    -1,    -1,
     3674      -1,    -1,   996,    -1,   998,    -1,    -1,    -1,    -1,    -1,
     3675      -1,    -1,   743,    -1,    -1,    -1,    -1,    -1,    -1,  1013,
     3676    1014,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3677      28,    -1,   524,    -1,    -1,  1296,  1297,    -1,    -1,  1300,
     3678      -1,    -1,    -1,    -1,    -1,    -1,  1040,    -1,   779,    -1,
     3679      -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,   789,   790,
     3680      -1,    -1,   793,    -1,   795,   796,    -1,    -1,    -1,    -1,
     3681     801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3682      -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
     3683      -1,    -1,    -1,    -1,   586,   587,    -1,    -1,   590,  1093,
     3684      -1,    99,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     3685      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3686    1114,    -1,    -1,  1384,    -1,    -1,    -1,    -1,    -1,    -1,
     3687     622,    -1,    -1,   625,    40,    41,    -1,    43,  1132,  1133,
     3688     632,    -1,   634,    -1,    -1,    -1,   638,    -1,    -1,   641,
     3689     642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   889,    -1,
     3690      -1,    -1,    -1,    69,    -1,   657,    -1,    -1,    -1,    75,
     3691      -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
     3692      86,    87,    88,    89,   676,    91,    92,    -1,    -1,   187,
     3693     188,    -1,    -1,    -1,   192,    -1,   194,   195,    -1,   930,
     3694     692,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
     3695     116,    -1,    -1,   705,  1475,   707,   122,   123,   124,   125,
     3696     126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3697      -1,   962,    -1,    -1,   965,    -1,    -1,   337,    -1,    -1,
     3698      -1,    -1,   342,   343,  1505,  1506,    -1,    -1,    -1,   980,
     3699     981,   743,   983,   984,    -1,    -1,    -1,    -1,    -1,    -1,
     3700      -1,    -1,    -1,   363,    -1,    -1,    -1,   367,    -1,    -1,
     3701      -1,    -1,    -1,    -1,  1535,    -1,    -1,    -1,    -1,    -1,
     3702      -1,    -1,    -1,    -1,    -1,    -1,    -1,   779,    -1,  1283,
     3703      -1,    -1,    -1,  1287,    -1,    -1,    -1,   789,   790,    -1,
     3704      -1,   793,    -1,   795,   796,    -1,    -1,    -1,    -1,   801,
     3705    1041,  1042,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
     3706      41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3707     430,    -1,    -1,    -1,    -1,    -1,   334,    -1,    -1,    -1,
     3708      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
     3709      -1,    -1,    -1,    -1,    75,   353,    -1,    -1,    79,    -1,
     3710     460,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3711      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   479,
     3712      -1,    -1,    -1,  1114,    -1,    -1,    -1,    -1,    -1,    -1,
     3713      -1,    -1,    -1,   114,    -1,   116,    -1,   889,    -1,    -1,
     3714      -1,   122,   123,   124,   125,   126,   127,   405,    -1,    -1,
     3715      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3716      -1,    -1,    -1,    -1,   524,    -1,    -1,    -1,    -1,    -1,
     3717      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   930,    -1,
     3718      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3719      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3720      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3721     962,    -1,    -1,   965,    42,    43,    -1,    -1,  1209,    -1,
     3722    1211,    -1,    -1,    -1,    -1,    -1,   586,   587,   980,   981,
     3723     590,   983,   984,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3724      -1,    -1,    70,    -1,    -1,    -1,    -1,  1238,    -1,    77,
     3725      78,    -1,    -1,    -1,    -1,  1246,  1247,  1248,    -1,    -1,
     3726      -1,    -1,   622,    -1,    -1,   625,  1257,  1258,  1522,    -1,
     3727      -1,    -1,   632,    -1,   634,    -1,    -1,    -1,   638,    -1,
     3728      -1,   641,   642,    -1,    -1,    -1,    -1,    -1,   116,  1041,
     3729    1042,    -1,   120,    -1,   122,   123,    -1,   657,    -1,    -1,
     3730      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3731      -1,    -1,    -1,   571,   572,    -1,   676,    -1,    -1,    -1,
     3732      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3733      -1,    -1,   692,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    -1,    -1,    -1,   705,   604,   707,    -1,   607,
     3735     608,    -1,   610,    -1,   612,   613,    -1,    -1,    -1,   617,
     3736     618,    -1,  1114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3737      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3738      -1,    -1,    -1,   743,    -1,    -1,    -1,    -1,    -1,    -1,
     3739      -1,    -1,    -1,  1384,    -1,    -1,    -1,    -1,    -1,    -1,
     3740      -1,    -1,    -1,   661,    -1,    -1,    -1,   665,    -1,    -1,
     3741      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   779,
     3742      -1,    -1,  1413,    -1,    -1,    -1,    -1,    -1,    -1,   789,
     3743     790,    -1,    -1,   793,    -1,   795,   796,    -1,    -1,    -1,
     3744      -1,   801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3745    1441,    -1,  1443,    -1,    -1,    -1,    -1,  1209,    -1,  1211,
     3746      -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3747      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3748      25,    26,    27,    28,    29,  1476,  1238,    32,    33,    34,
     3749    1481,    -1,  1483,    -1,  1246,  1247,  1248,    42,    -1,    -1,
     3750      -1,    -1,    -1,    -1,    -1,  1257,  1258,    -1,    -1,    -1,
     3751      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3752      -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,   889,
     3753      -1,    -1,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,
     3754       0,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
     3755      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3756      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3757     930,   116,    32,    33,    34,    35,    -1,   122,   123,    39,
     3758      -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     3759      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3760      -1,    -1,   962,    -1,    -1,   965,    -1,    67,    -1,    -1,
     3761      70,    -1,    72,    -1,    74,    75,    -1,    77,    78,    79,
     3762     980,   981,    -1,   983,   984,    -1,    -1,    -1,    88,    89,
     3763      -1,    -1,  1384,    10,    11,    12,    13,    14,    15,    16,
     3764      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3765      27,    28,    29,    30,   114,    -1,   116,    -1,    -1,    -1,
     3766      -1,  1413,   122,   123,    -1,    42,    -1,    -1,    -1,    -1,
     3767      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3768      -1,  1041,  1042,    -1,    -1,    -1,    -1,    -1,    -1,  1441,
     3769      -1,  1443,    -1,    70,   952,    -1,    -1,    -1,    -1,    -1,
     3770      -1,    -1,    -1,    -1,    81,    -1,    -1,    -1,    -1,    -1,
     3771     968,    -1,    -1,   971,   972,    -1,    -1,    -1,    -1,    -1,
     3772      -1,    -1,    -1,    -1,  1476,    -1,    -1,    -1,    -1,  1481,
     3773      -1,  1483,    -1,    10,    11,    12,    13,    14,    15,    16,
     3774      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3775      27,    28,    29,    -1,  1114,    32,    33,    34,    -1,    -1,
     3776      -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,
     3777      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3778      -1,    -1,    -1,    -1,    -1,    -1,  1044,    -1,    -1,    -1,
     3779      -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
     3780      77,    78,    -1,    -1,  1062,  1063,    -1,    -1,     3,     4,
     3781       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3782      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3783      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3784      35,    -1,    -1,    -1,    39,   122,   123,    42,    43,  1209,
     3785      -1,  1211,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3786      -1,  1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3787      -1,    -1,    67,    -1,    -1,    70,    -1,    72,  1238,    74,
     3788      75,    -1,    77,    78,    79,    -1,  1246,  1247,  1248,    -1,
     3789      -1,    -1,    -1,    88,    89,    -1,    -1,  1257,  1258,    -1,
     3790      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3791      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3792      -1,   116,    -1,  1181,    -1,   120,    -1,   122,   123,    -1,
     3793      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3794      -1,    -1,  1200,    -1,    -1,    -1,     3,     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,    28,    29,    -1,    -1,    32,    33,    34,    35,    -1,
     3798      -1,    -1,    39,    40,    41,    42,    43,    44,    -1,    46,
     3799      -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
     3800      -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,    -1,
     3801      67,    -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,
     3802      77,    78,    79,    -1,  1384,    82,    83,    84,    85,    86,
     3803      87,    88,    89,    -1,    91,    92,    -1,    -1,  1296,    -1,
     3804      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3805      -1,    -1,    -1,  1413,    -1,    -1,    -1,   114,    -1,   116,
     3806      -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
     3807     127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,
     3808     137,  1441,    -1,  1443,    -1,    -1,    -1,    -1,     3,     4,
     3809       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3810      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3811      25,    26,    27,    28,    29,    -1,  1476,    32,    33,    34,
     3812      35,  1481,    -1,  1483,    39,    40,    41,    42,    43,    10,
     3813      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3814      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
     3815      -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,    74,
     3816      75,    42,    77,    78,    79,    -1,    -1,    82,    83,    84,
     3817      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
     3818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
     3819      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3820      81,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
     3821     125,   126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3822      -1,    -1,   137,     3,     4,     5,     6,     7,     8,     9,
     3823      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3824      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3825      -1,    -1,    32,    33,    34,    35,    -1,    -1,    -1,    39,
     3826      40,    41,    42,    43,    10,    11,    12,    13,    14,    15,
     3827      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3828      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    69,
     3829      70,    -1,    72,    -1,    74,    75,    42,    77,    78,    79,
     3830      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3831      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3832      -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
     3833      -1,    77,    78,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3834      -1,    -1,   122,   123,   124,   125,   126,   127,     4,     5,
    29173835       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    29183836      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2919       26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2920        0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    2921        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2923        0,     0,    36,     0,    37,     0,    38,     0,     0,   201,
    2924       41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2925       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2926       27,     0,     0,    28,    29,    30,   471,   472,   473,   474,
    2927        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    2928        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2930        0,    36,     0,     0,     0,     0,     0,     0,    40,    41
    2931 };
    2932 
    2933 #define yypact_value_is_default(yystate) \
    2934   ((yystate) == (-1330))
    2935 
    2936 #define yytable_value_is_error(yytable_value) \
    2937   YYID (0)
    2938 
    2939 static const yytype_int16 yycheck[] =
    2940 {
    2941        0,     1,     0,   178,     1,    45,   115,   178,     1,   441,
    2942      198,    45,    51,   213,   521,    45,   178,   178,     0,   178,
    2943     1025,   178,   178,   152,   338,   338,  1025,   163,   164,   334,
    2944     1025,    31,    32,   181,    34,   840,    34,   503,   606,   958,
    2945      959,   840,   875,   985,   353,    45,   104,   141,   357,   587,
    2946      584,    51,    34,    51,   557,   588,   630,    34,    58,   959,
    2947       45,   594,  1286,    63,   700,    63,    66,    45,    66,    69,
    2948       30,    69,    69,   112,   584,   587,  1363,    45,   253,   179,
    2949      584,   482,   253,   922,   584,   486,   195,   179,  1027,  1418,
    2950        0,   253,   253,   151,   253,   655,   253,   253,    42,   244,
    2951      406,   249,   250,   142,    66,   105,   988,   989,   108,   286,
    2952       42,    42,     0,  1244,    42,   115,   286,   584,    42,   425,
    2953       67,    81,   584,   123,    34,    84,  1455,   433,  1457,   468,
    2954      969,   620,   621,    47,    48,    45,    54,   621,   178,   414,
    2955      415,    51,   584,   143,   178,   143,    34,   636,   178,    47,
    2956       48,  1438,   636,    63,   254,   155,    66,   155,   114,    69,
    2957       75,   475,   254,   468,   203,  1389,   114,   114,   116,   114,
    2958      114,   976,   116,    88,    89,   137,    56,   976,   178,   179,
    2959      100,   179,   114,   114,   116,   116,  1068,   112,   116,  1022,
    2960      114,   136,   116,   178,   683,   195,   114,   757,   398,   683,
    2961      178,   116,    42,   203,   711,   203,   120,   767,   768,   484,
    2962      178,   136,   212,   253,   134,   215,    96,   215,   778,   253,
    2963      259,   119,   222,   253,   691,  1072,   121,   114,   503,   691,
    2964      114,   115,   232,   143,  1173,   235,    90,   414,   415,   239,
    2965      240,   239,   137,   777,    42,   155,   779,   240,   135,   691,
    2966        0,    42,   790,   253,   254,   477,   254,   239,   761,   298,
    2967      260,   406,   239,   263,   118,   574,   114,   777,   178,   179,
    2968        0,     1,   330,   777,   587,   114,  1407,   777,   790,    84,
    2969      425,   620,   621,  1414,    34,   121,  1186,   117,   433,   564,
    2970      117,   420,   392,   203,   121,   334,  1367,   636,    58,   135,
    2971      392,   606,  1244,   412,    34,   215,   611,   187,   617,   418,
    2972      777,   116,   115,  1232,  1233,   777,   114,    42,   116,   496,
    2973      320,   895,   320,   114,   501,   116,   496,   504,   498,   239,
    2974      210,   501,   135,  1233,   504,   777,    66,   337,   338,    69,
    2975      220,   275,  1473,   253,   683,   105,   884,    42,   108,  1154,
    2976       42,   239,   115,    42,   354,  1154,   244,   115,   358,  1206,
    2977      666,  1208,  1209,   121,   298,   299,   466,   589,   368,   937,
    2978       42,   593,   135,   883,   466,   414,   415,   599,   555,   883,
    2979     1322,   114,   721,   883,   513,  1475,   121,   121,   115,   114,
    2980     1026,   116,   392,   615,   392,   955,   956,   619,  1475,  1470,
    2981      334,  1441,   441,   137,  1475,   101,   286,  1447,   135,   114,
    2982      320,   116,   412,   946,   947,   101,   721,  1507,   418,   114,
    2983      119,   116,   114,  1500,   116,   114,     3,   116,   338,  1500,
    2984     1507,   127,  1472,    47,    48,   369,  1507,  1477,     3,  1244,
    2985     1359,   127,   114,    51,   116,   484,   575,     0,   121,   115,
    2986        0,  1290,   212,   453,   920,   121,  1016,  1017,   458,  1359,
    2987      453,   770,   135,    10,   503,   114,   466,   899,   466,  1411,
    2988      470,  1413,   470,   136,  1479,   475,   790,   790,   478,   840,
    2989     1479,    42,   392,   483,  1479,   215,  1122,  1123,   470,   239,
    2990      121,   620,   621,  1067,   244,   631,   897,    84,    95,    96,
    2991      260,   121,     0,     1,   112,   119,   137,   636,   115,   239,
    2992     1048,  1450,  1351,  1352,   121,   515,   133,   137,   406,   136,
    2993      520,   666,   515,   121,   116,   564,   118,   520,    75,   638,
    2994       77,    78,  1474,   130,   131,   680,    34,   425,   222,   137,
    2995      649,  1480,   121,   135,    51,   433,   114,   121,   121,   115,
    2996      430,   235,   121,   114,   683,   116,    63,   651,   137,    66,
    2997      470,   115,    69,   137,   137,   475,   905,   606,   137,   121,
    2998     1509,    69,   611,   114,   888,   455,    75,   337,    77,    78,
    2999       79,   121,   470,   121,   584,   137,  1031,   587,  1033,    88,
    3000       89,   813,   121,   575,   354,   203,   114,   137,   358,   137,
    3001      905,   114,  1407,   537,   538,   539,   121,   607,   137,  1414,
    3002       10,    11,    12,    13,    14,    75,   496,    75,   979,   958,
    3003      135,   501,   622,   122,   504,   114,   626,   827,    88,    89,
    3004       88,    89,   937,   114,   121,   635,   143,   637,   638,   639,
    3005      115,    75,    42,   117,   637,    79,   639,   121,   155,   649,
    3006      137,   259,   115,  1213,    88,    89,   406,   114,   116,   116,
    3007     1458,  1221,  1222,  1223,  1462,   122,   123,   889,  1473,   117,
    3008       70,   115,   179,   121,   584,   425,   115,   587,   678,   136,
    3009      114,   114,   116,   433,   114,   678,   124,   125,   122,   123,
    3010      298,   691,   692,   122,     0,     1,   203,   833,   698,   128,
    3011      129,   114,   702,   116,     0,     1,   120,   855,   215,   122,
    3012      123,   115,    75,   115,   114,   114,   116,   121,   468,   121,
    3013      470,    67,   122,   123,   121,    88,    89,  1363,    34,     4,
    3014        5,     6,     7,     8,     9,   864,   115,   115,    34,    45,
    3015      470,   239,   121,   121,   114,    51,   115,   137,   115,   114,
    3016     1089,   114,   121,   116,   121,  1262,   137,    63,    97,    98,
    3017       66,   137,   950,    69,     4,     5,     6,     7,     8,     9,
    3018       66,   871,   117,    69,   654,   119,   121,   777,   666,   871,
    3019      115,   691,   692,   663,  1089,   119,   121,   667,   115,  1425,
    3020      790,   725,   680,  1154,   121,    35,   117,    72,   104,    74,
    3021      121,  1437,  1438,   120,   121,   115,   112,   115,   115,   115,
    3022      116,   121,     3,   320,   121,   114,   115,   116,  1018,    10,
    3023       11,    12,    13,    14,  1460,   115,    93,    94,  1388,   958,
    3024      959,   121,    72,   833,    74,   971,   142,   143,   115,   839,
    3025      840,    84,   115,   114,   121,   151,   152,   607,   121,   155,
    3026     1025,    42,   132,   115,  1025,   115,   152,   114,   840,   121,
    3027      899,   121,   622,  1025,  1025,   123,  1025,   777,  1025,  1025,
    3028      115,   871,   178,   179,   874,   635,   121,   115,   116,    70,
    3029      790,  1186,   864,   120,   121,   392,    61,    62,   888,   195,
    3030      114,   115,   116,  1232,    47,    48,  1532,   203,   937,  1073,
    3031     1074,   898,   540,   541,  1265,   133,   906,   542,   543,   215,
    3032       99,   116,   912,   906,   548,   549,   666,   117,   918,   215,
    3033      117,   115,   922,  1023,   137,   918,   114,  1027,   115,   922,
    3034      680,  1023,   115,   239,   115,  1027,   114,    75,   116,    77,
    3035       78,   247,   115,   239,   122,   123,   252,   253,   254,  1058,
    3036       88,    89,   840,   259,   115,  1316,  1133,  1134,  1319,  1136,
    3037       75,   871,    77,    78,    79,  1142,   117,   116,  1145,   969,
    3038      136,   721,   470,    88,    89,   119,   969,   119,   888,   979,
    3039      286,   119,   982,   983,   984,   121,   866,   114,   115,   116,
    3040        3,   136,   298,   119,   976,   114,   137,    10,    11,    12,
    3041       13,    14,    32,   937,   115,    75,  1367,   115,   314,    79,
    3042      117,  1372,   117,  1013,   320,   114,   115,   116,    88,    89,
    3043      700,   117,   137,  1023,   330,  1025,   135,  1027,   334,    42,
    3044      121,   135,   338,   339,   135,    75,    31,    77,    78,  1039,
    3045     1401,   115,   976,   115,   114,   120,   119,   353,    88,    89,
    3046      115,   357,   122,   123,   120,  1184,   120,    70,  1058,   121,
    3047      114,   669,   115,    70,  1496,   115,    73,   115,   115,    76,
    3048      121,    78,  1072,  1173,   115,   755,   116,    84,   115,  1072,
    3049      115,  1173,   544,   545,   546,   547,   392,   121,   976,     3,
    3050      840,   115,   115,   123,   115,   115,    10,    11,    12,    13,
    3051       14,   115,   120,  1232,  1233,   115,   412,   987,   414,   415,
    3052      840,   115,   418,  1023,   420,  1025,   115,  1027,    75,   115,
    3053       77,    78,    79,   115,   420,   115,    75,    31,    42,  1129,
    3054      136,    88,    89,    82,   115,   441,    85,  1498,    87,    88,
    3055       89,  1318,   119,  1504,    10,    11,    12,    13,    14,   829,
    3056      115,   121,   458,   117,  1154,   905,    70,   117,   119,  1520,
    3057      466,   115,   468,  1524,   470,   115,   121,  1261,   898,   475,
    3058      115,   114,  1154,  1173,   470,  1275,    42,   115,   484,   121,
    3059      137,   121,   115,  1275,    61,    62,    63,   114,   114,   114,
    3060      496,   114,   498,   121,  1191,   501,    11,   503,   504,   206,
    3061      135,   135,   232,   135,    70,   120,  1206,   513,  1208,  1209,
    3062      115,   135,   115,  1206,   135,  1208,  1209,   513,    75,   137,
    3063       77,    78,   982,   983,   984,   115,   976,   133,   120,   120,
    3064     1359,    88,    89,   263,    75,   119,    77,    78,    79,  1348,
    3065      115,  1335,    75,   117,   117,   925,   976,    88,    89,    82,
    3066      556,   557,    85,   121,    87,    88,    89,    75,   564,    77,
    3067       78,   869,  1244,  1173,   115,  1265,  1154,   115,   574,   575,
    3068       88,    89,   578,   114,   117,  1275,   115,   117,   584,   575,
    3069      117,   587,   117,   116,   115,   117,    50,     1,   117,  1286,
    3070     1290,   137,  1386,   973,   120,   137,   114,  1290,   115,   137,
    3071      606,   119,   115,   137,  1479,   611,   115,   613,  1479,   137,
    3072      115,   617,   120,   120,   620,   621,  1316,  1479,  1479,  1319,
    3073     1479,   117,  1479,  1479,   620,   621,    86,   117,  1325,   117,
    3074      636,   117,   638,   117,   341,   117,   343,    51,   368,  1089,
    3075      636,  1450,   840,   649,   115,   115,  1026,  1347,  1348,   117,
    3076       63,  1351,  1352,   114,   119,   114,  1244,   114,  1351,  1352,
    3077      114,   117,   115,   669,  1458,  1275,   115,  1367,  1462,  1463,
    3078      117,   115,  1372,  1253,   117,   115,   101,   683,   684,   685,
    3079     1480,   101,   114,   114,   120,   691,   692,   683,  1480,   137,
    3080      104,   115,  1389,   115,   115,   121,  1490,   115,   112,    45,
    3081      898,  1401,   135,   137,  1154,   115,   115,   137,   101,  1509,
    3082      101,   117,   135,   115,   115,   721,   114,  1509,   137,  1513,
    3083      137,   137,   429,  1517,  1154,  1407,   121,   135,   142,   117,
    3084      120,   117,  1414,   137,  1042,   117,  1186,   151,   137,  1479,
    3085       66,   115,  1122,  1123,   114,  1479,   115,  1541,   478,  1479,
    3086     1450,  1451,     0,   483,   120,   761,   120,  1496,  1451,   115,
    3087      135,  1191,   115,   115,   770,   137,   772,   115,   115,   114,
    3088     1470,   777,   137,   995,   137,  1475,   137,   553,   976,  1479,
    3089     1480,   550,  1480,    75,   790,   199,    34,    79,   551,   203,
    3090      116,  1473,   552,   554,  1244,   917,    88,    89,  1498,    75,
    3091     1500,    77,    78,    79,  1504,  1438,   450,  1507,  1154,  1509,
    3092     1327,  1509,    88,    89,  1244,  1524,  1254,  1463,    66,  1407,
    3093     1520,  1517,   114,  1414,  1524,  1013,  1414,   869,  1023,   155,
    3094      122,   123,  1275,  1033,   840,  1415,   891,  1417,   114,   702,
    3095      116,   912,  1542,   632,   840,   259,   122,   123,   262,  1542,
    3096      833,  1191,   695,  1553,   890,   710,  1286,  1165,   864,   135,
    3097     1553,   470,   556,   869,    -1,   871,    -1,   556,   864,  1479,
    3098      556,    -1,   286,    -1,  1454,    -1,  1456,   883,   884,    -1,
    3099       -1,    -1,   888,    -1,   298,  1473,    -1,  1347,    -1,   215,
    3100       -1,    75,   898,   899,  1324,  1325,   626,    -1,    82,   905,
    3101       -1,    85,   898,    87,    88,    89,   232,    54,    -1,    56,
    3102       -1,    -1,    59,    60,    61,    -1,   330,    -1,    -1,    -1,
    3103      334,   247,    75,    -1,    77,    78,   252,    -1,  1508,    76,
    3104     1510,   937,   116,    -1,    -1,    88,    89,    -1,    -1,   353,
    3105       87,    88,    -1,   357,  1374,    -1,    -1,    -1,  1528,  1529,
    3106       -1,    -1,   958,   959,    -1,    -1,  1154,  1407,    -1,  1389,
    3107       -1,   114,   958,   959,  1414,    -1,   119,   215,   698,    -1,
    3108      976,    -1,   702,    -1,    -1,    -1,    -1,  1407,    -1,    -1,
    3109      976,    -1,    -1,  1363,  1414,    -1,    -1,    -1,    -1,    -1,
    3110       -1,   239,    -1,  1191,    10,    11,    12,    13,    14,    -1,
    3111      414,   415,    75,    -1,    77,    78,    79,    -1,    -1,    -1,
    3112       -1,   655,    -1,   339,    -1,    88,    89,  1023,    75,  1025,
    3113       -1,  1027,    -1,  1473,    -1,    82,    42,   441,    85,    -1,
    3114       87,    88,    89,   180,    -1,    -1,  1042,    -1,    -1,   453,
    3115       -1,   114,  1048,  1473,    -1,  1425,  1244,    66,    -1,   122,
    3116      123,    -1,  1058,    -1,    70,    -1,    75,  1437,  1438,   116,
    3117        4,     5,     6,     7,     8,     9,    -1,    -1,   482,    -1,
    3118      484,    -1,   486,    -1,    -1,    66,    -1,    -1,    -1,    -1,
    3119     1460,    -1,   496,  1089,   498,    -1,    -1,   501,  1286,   503,
    3120      504,   339,    -1,   419,    -1,    -1,    -1,   116,   114,    -1,
    3121      116,    -1,    -1,   833,    -1,    -1,   122,   123,  1416,   839,
    3122     1418,    -1,    -1,   757,    -1,    -1,    -1,    -1,    75,    -1,
    3123       77,    78,    79,   767,   768,   116,    -1,  1325,    72,    -1,
    3124       74,    88,    89,   459,   778,    -1,   155,    -1,    -1,    -1,
    3125       -1,    -1,    -1,    -1,   874,    -1,    -1,  1455,  1154,  1457,
    3126      564,    -1,  1532,    -1,    -1,    -1,    -1,   114,  1154,  1165,
    3127      574,    -1,    -1,    -1,   155,   122,   123,  1173,   102,   103,
    3128      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
    3129     1186,    -1,   912,    -1,    -1,  1191,   333,    -1,   335,    -1,
    3130       -1,  1389,   606,   137,    -1,  1191,   215,   611,    -1,   346,
    3131      347,    -1,   136,   617,    75,    -1,    77,    78,    79,  1407,
    3132       -1,   459,    -1,    -1,    -1,    -1,  1414,    88,    89,    -1,
    3133       -1,    -1,   470,    -1,   215,    -1,  1232,  1233,   247,    -1,
    3134       -1,    -1,    -1,   252,   183,    -1,  1232,  1233,  1244,    -1,
    3135       86,   190,    -1,   114,    90,    91,    92,    -1,  1244,    -1,
    3136       -1,    -1,   578,    -1,    -1,   669,   247,    -1,    -1,    -1,
    3137       -1,   252,    -1,    75,    -1,    77,    78,    79,   114,  1275,
    3138      116,    -1,   118,   119,    -1,  1473,    88,    89,    -1,    -1,
    3139     1286,   695,   608,  1013,    -1,    -1,    -1,   613,    -1,    -1,
    3140     1286,    -1,    -1,    86,    -1,    -1,    -1,    90,    91,    92,
    3141       -1,    -1,    10,    11,    12,    13,    14,   256,    -1,  1039,
    3142       -1,   955,   956,    -1,    -1,    -1,    -1,    -1,  1324,  1325,
    3143      339,   114,    -1,   116,    -1,   118,   119,    -1,  1324,  1325,
    3144       -1,    -1,    -1,    75,    42,    77,    78,    79,    -1,    -1,
    3145       -1,    -1,  1348,    -1,    -1,   671,    88,    89,   339,    -1,
    3146       -1,    -1,    -1,  1359,    -1,    -1,   770,    -1,    -1,   685,
    3147      608,    -1,    70,  1359,    -1,   314,    -1,    75,  1374,    77,
    3148       78,    79,  1016,  1017,   323,    -1,    -1,   326,  1374,    -1,
    3149       88,    89,    -1,  1389,    -1,    10,    11,    12,    13,    14,
    3150       -1,    -1,    -1,  1389,    -1,    -1,    -1,    -1,    -1,  1129,
    3151      419,  1407,    -1,    -1,    -1,    -1,   114,    -1,  1414,    -1,
    3152     1416,  1407,  1418,    -1,   122,   123,   435,    42,  1414,    -1,
    3153       -1,    -1,    -1,   671,    -1,    -1,    -1,    -1,   419,    -1,
    3154       -1,    -1,    -1,    -1,    -1,   384,    -1,   685,    -1,   388,
    3155      459,    -1,    -1,    -1,  1450,    70,   772,    -1,    -1,  1455,
    3156       75,  1457,    77,    78,    79,   869,    -1,    -1,    -1,    -1,
    3157       -1,    -1,    -1,    88,    89,    -1,    -1,  1473,   459,    -1,
    3158       -1,    -1,    -1,  1479,  1480,    -1,    -1,  1473,    -1,    -1,
    3159       -1,    -1,    -1,   897,   898,   899,    -1,    -1,    -1,   114,
    3160     1496,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,    -1,
    3161       -1,    -1,    -1,  1509,    75,    -1,    77,    78,    79,    -1,
    3162       -1,    -1,    -1,    -1,    -1,    -1,   465,    88,    89,    -1,
    3163       -1,    -1,    -1,   937,   772,   672,    -1,   674,    -1,    -1,
    3164       -1,    -1,    -1,    -1,   681,   682,    -1,    -1,    -1,   686,
    3165     1184,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3166       -1,   122,   123,    -1,    -1,    -1,   703,    -1,    -1,   578,
    3167       -1,   708,    -1,    -1,    -1,   136,    58,    -1,    -1,  1213,
    3168       10,    11,    12,    13,    14,    -1,    -1,  1221,  1222,  1223,
    3169      727,    -1,    -1,    -1,    -1,    -1,    -1,   578,    -1,   608,
    3170       -1,    -1,   840,    -1,   613,    -1,    -1,    -1,    -1,    -1,
    3171       -1,    -1,    42,    -1,    -1,    -1,    -1,   556,   557,    -1,
    3172       -1,    -1,    -1,   105,   940,    -1,   108,   608,    -1,    -1,
    3173       -1,    -1,   613,    -1,    -1,    -1,    -1,    -1,  1042,    -1,
    3174       70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,
    3175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
    3176       -1,    -1,   671,    -1,    -1,     0,     1,    -1,    10,    11,
    3177       12,    13,    14,    -1,    -1,    -1,   685,    -1,    -1,    -1,
    3178       -1,    -1,    -1,    -1,   114,   822,   116,   824,   825,   826,
    3179      671,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    34,
    3180       42,   640,   940,    -1,   685,   644,   843,    -1,    -1,    -1,
    3181       75,    -1,    77,    78,    79,    -1,    51,    -1,    -1,    -1,
    3182       -1,    -1,   859,    88,    89,    -1,    -1,    -1,    70,    -1,
    3183      212,    -1,    -1,    75,    69,    77,    78,    79,   976,    -1,
    3184       -1,    -1,    -1,    -1,    -1,   882,    88,    89,    -1,   114,
    3185       -1,   116,    -1,    -1,  1388,    -1,    -1,   122,   123,    -1,
    3186       -1,  1165,    -1,   772,    -1,    -1,    -1,    -1,    -1,   104,
    3187       -1,    -1,   114,    -1,   116,    -1,    -1,    -1,   260,   916,
    3188      122,   123,    -1,    -1,   921,    -1,    -1,  1191,    -1,   926,
    3189       -1,   772,    -1,    -1,   931,   932,    -1,    -1,    -1,   936,
    3190       -1,   938,   939,    -1,    -1,   942,    -1,    -1,   143,    10,
    3191       11,    12,    13,    14,   951,    -1,   151,   152,    -1,    -1,
    3192       -1,    -1,   761,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3193      967,   968,    75,    -1,    77,    78,    79,    -1,    -1,    -1,
    3194       -1,    42,    -1,    -1,   179,    88,    89,    -1,    -1,    -1,
    3195       -1,    -1,    -1,    -1,    -1,   337,    -1,    -1,    -1,    -1,
    3196      195,    -1,   999,   198,   199,  1002,    -1,    -1,   203,    70,
    3197       -1,   114,   354,   116,    75,    -1,   358,    -1,    79,   122,
    3198      123,    -1,  1286,    -1,    -1,    -1,    -1,    88,    89,   224,
    3199       -1,    -1,    -1,   228,    -1,   230,    -1,    -1,   233,    -1,
    3200       -1,    -1,    -1,    -1,   239,    -1,    -1,    -1,    -1,   244,
    3201       -1,    -1,    -1,   114,    -1,    -1,  1154,    -1,  1055,   254,
    3202       -1,   122,   123,    -1,  1061,  1062,    -1,   262,    -1,    -1,
    3203       -1,   940,    -1,  1070,    -1,    -1,    -1,    -1,  1075,    -1,
    3204       -1,    -1,    -1,  1080,    -1,    -1,    -1,    -1,     0,    -1,
    3205       -1,    -1,    -1,    -1,    -1,    -1,  1093,    -1,    -1,   940,
    3206       10,    11,    12,    13,    14,    -1,    10,    11,    12,    13,
    3207       14,    -1,  1109,    -1,  1111,  1112,  1113,  1114,    -1,    -1,
    3208       -1,    -1,    34,    -1,    -1,  1389,    -1,    -1,   927,  1126,
    3209       -1,  1128,    42,    -1,    -1,   330,    -1,    -1,    42,   334,
    3210       -1,    -1,    -1,    -1,   943,   340,  1244,    -1,  1324,    -1,
    3211       -1,    -1,  1416,    -1,  1418,    -1,    -1,    69,   353,    -1,
    3212       70,    -1,   357,  1160,  1161,    75,    70,    77,    78,    79,
    3213       -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    88,    89,
    3214       -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,
    3215       -1,  1455,    -1,  1457,    -1,    -1,    -1,    -1,  1374,    -1,
    3216       -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,
    3217      114,   406,   122,   123,    -1,    -1,    -1,    -1,   122,   123,
    3218       -1,    -1,    -1,    -1,    -1,   420,  1324,  1224,  1225,    -1,
    3219      425,    -1,  1496,  1032,    -1,    -1,    -1,  1234,   433,    -1,
    3220      152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3221       -1,    -1,    -1,    -1,    -1,   450,    -1,    -1,   453,    -1,
    3222       -1,    -1,    -1,    -1,    -1,   607,    -1,    -1,    -1,    -1,
    3223       -1,    -1,    -1,   468,    -1,   470,  1374,    -1,    -1,    -1,
    3224      622,    -1,    -1,    -1,    -1,    -1,    -1,   482,    -1,    -1,
    3225       -1,   486,    -1,   635,    -1,    -1,    -1,    -1,    -1,    -1,
    3226       -1,  1298,    -1,  1300,  1301,  1302,    -1,    -1,    -1,  1407,
    3227       -1,    -1,   224,    -1,    -1,  1312,  1414,    -1,   513,    -1,
    3228       -1,    -1,    -1,  1320,    -1,    -1,  1323,   239,    -1,    -1,
    3229       -1,    -1,   244,    10,    11,    12,    13,    14,    15,    16,
    3230       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3231       27,    28,    29,  1350,    -1,    32,    33,    34,    -1,    -1,
    3232       -1,    -1,   557,    -1,    -1,    42,    43,    -1,    -1,  1168,
    3233       -1,    -1,    -1,    -1,    -1,  1473,    -1,    -1,    -1,   574,
    3234      575,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3235       -1,    -1,   587,    70,    -1,    -1,    -1,  1394,  1395,    -1,
    3236       77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3237     1407,   606,    -1,    -1,    -1,    -1,   611,  1414,    -1,    -1,
    3238       -1,    -1,   617,    -1,    -1,   620,   621,    -1,   340,    -1,
    3239       -1,    -1,    -1,    -1,  1431,    -1,    -1,    -1,    -1,   116,
    3240        0,   636,    -1,   120,    -1,   122,   123,    -1,    -1,    -1,
    3241       -1,    -1,  1449,    -1,    -1,  1324,  1453,    -1,    -1,    -1,
    3242      655,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3243       -1,   666,  1271,    -1,    34,    -1,    -1,    -1,    -1,    -1,
    3244       -1,    -1,    -1,  1324,    -1,   680,    -1,    -1,   683,  1486,
    3245       -1,  1488,    -1,    -1,   406,    -1,    -1,   692,   840,    -1,
    3246      695,    -1,    -1,    -1,    -1,  1374,    -1,    -1,   420,    69,
    3247       -1,    -1,    -1,   425,    -1,    -1,    -1,    -1,    -1,    -1,
    3248       -1,   433,    -1,    -1,    -1,    -1,   721,    -1,    -1,  1526,
    3249     1527,    -1,    -1,  1374,    -1,    -1,    -1,    -1,   450,    -1,
    3250       -1,    -1,  1539,  1540,    -1,    -1,    -1,    -1,    -1,    -1,
    3251       -1,    -1,    -1,    -1,    -1,    -1,   468,    -1,   470,    -1,
    3252       -1,    -1,   757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3253       -1,    -1,   767,   768,    -1,   770,    -1,    -1,   773,    -1,
    3254       -1,    -1,    -1,   778,    -1,    -1,    -1,    -1,    -1,    -1,
    3255       -1,    -1,   152,   788,    -1,    -1,    -1,    -1,    -1,    -1,
    3256       -1,   513,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
    3257       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3258       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3259       33,    34,    -1,    -1,    -1,    -1,    -1,   979,    -1,    42,
    3260      982,   983,   984,    -1,    -1,   840,    -1,    -1,    -1,    -1,
    3261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3262       -1,    -1,    -1,   575,    -1,    -1,    -1,    70,    -1,   864,
    3263       -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,   239,
    3264       -1,    -1,     0,    -1,   244,    88,    89,    -1,    -1,   884,
    3265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3266       -1,    -1,   897,   898,    -1,    -1,    -1,    -1,   620,   621,
    3267      905,   114,    -1,   116,    -1,    -1,    34,    -1,    -1,   122,
    3268      123,    -1,    -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,
    3269       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3270       -1,    -1,   937,   655,    -1,    -1,    -1,    -1,    -1,    -1,
    3271       -1,    69,    -1,    -1,   666,   950,    -1,    -1,    -1,    -1,
    3272      955,   956,    -1,   958,   959,    -1,    -1,    -1,   680,    -1,
    3273       -1,   683,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3274      340,   976,    -1,    10,    11,    12,    13,    14,    15,    16,
    3275       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3276       27,    28,    29,    -1,    -1,    32,    33,    34,    -1,   721,
    3277       -1,    -1,  1154,    -1,    -1,    42,    43,    -1,    -1,    -1,
    3278       -1,  1016,  1017,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3279       -1,    -1,  1027,    -1,   152,    -1,    -1,    -1,    -1,    -1,
    3280       -1,    -1,    -1,    70,    -1,   757,   406,    -1,    -1,    -1,
    3281       77,    78,    -1,    -1,    -1,   767,   768,    -1,    -1,    -1,
    3282      420,   773,    -1,    -1,    -1,   425,   778,    -1,    -1,    -1,
    3283       -1,    -1,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
    3284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,
    3285      450,    -1,    -1,   120,  1089,   122,   123,    -1,    -1,    -1,
    3286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,    -1,
    3287      470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3288       -1,   239,    -1,  1265,    -1,    -1,   244,    -1,   840,    -1,
    3289       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3290       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3291       30,    -1,   864,   513,    -1,    -1,    -1,    -1,    -1,  1154,
    3292       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3293       -1,    -1,    -1,    -1,  1316,    -1,    -1,  1319,    -1,    -1,
    3294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,
    3295       70,  1186,    -1,   905,    -1,    -1,  1191,    -1,    -1,    -1,
    3296       -1,    81,    -1,    -1,    -1,  1347,    -1,    -1,    -1,    -1,
    3297       -1,     0,    -1,    -1,    -1,   575,    -1,    -1,  1213,    -1,
    3298       -1,    -1,   340,    -1,    -1,  1367,  1221,  1222,  1223,    -1,
    3299     1372,    -1,    -1,    -1,    -1,    -1,    -1,  1232,  1233,    -1,
    3300       -1,    -1,    -1,   955,   956,    34,   958,   959,    -1,  1244,
    3301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1401,
    3302      620,   621,    -1,    -1,   976,    -1,    -1,    -1,    -1,    -1,
    3303       -1,    -1,    -1,    -1,    -1,    -1,   636,    -1,    -1,    -1,
    3304       69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   406,    -1,
    3305       -1,  1286,    -1,    -1,    -1,   655,    -1,    -1,    -1,    -1,
    3306       -1,    -1,   420,    -1,  1016,  1017,   666,   425,    -1,    -1,
    3307       -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,    -1,
    3308      680,    -1,    -1,   683,    -1,    -1,    -1,    -1,  1470,    -1,
    3309     1325,    -1,   450,  1475,    -1,    -1,    -1,    -1,    -1,    -1,
    3310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3311      468,    -1,   470,    -1,    -1,    -1,  1498,    -1,  1500,    -1,
    3312       -1,   721,  1504,   152,  1359,  1507,    -1,    -1,    -1,    -1,
    3313       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1089,  1520,    -1,
    3314       -1,    -1,  1524,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3315       -1,    -1,    -1,  1388,  1389,   513,    -1,   757,    -1,    -1,
    3316       -1,    -1,    -1,    -1,    -1,    -1,    -1,   767,   768,    -1,
    3317       -1,    -1,  1407,   773,    -1,    -1,    -1,    -1,   778,  1414,
    3318       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3319       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3320       29,    -1,  1154,    32,    33,    34,    -1,    -1,    -1,    -1,
    3321      239,    -1,    -1,    42,    -1,   244,    -1,   575,    -1,    -1,
    3322       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3323       -1,    -1,  1184,    -1,  1186,    -1,    -1,    -1,  1473,    -1,
    3324      840,    70,    -1,    -1,    -1,  1480,    75,    -1,    77,    78,
    3325       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
    3326       89,  1213,   620,   621,   864,    -1,    -1,    -1,    -1,  1221,
    3327     1222,  1223,    -1,    -1,    -1,    -1,    -1,    -1,   636,    -1,
    3328     1232,  1233,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3329       -1,    -1,  1244,   122,   123,    -1,    -1,   655,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,   905,    -1,    -1,   666,    -1,
    3331       -1,   340,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3332       -1,    -1,   680,    -1,    -1,   683,    -1,    -1,    -1,    -1,
    3333       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3334       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3335       -1,    -1,    32,    33,    34,   955,   956,    -1,   958,   959,
    3336       -1,    -1,    42,   721,    -1,    -1,    -1,    -1,    -1,    -1,
    3337       -1,    -1,    -1,  1325,    -1,    -1,   976,   406,    -1,    -1,
    3338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3339       70,   420,    -1,    -1,    -1,    -1,   425,    77,    78,   757,
    3340       -1,    -1,    -1,    -1,   433,    -1,    -1,  1359,    -1,   767,
    3341      768,    -1,    -1,    -1,    -1,   773,  1016,  1017,    -1,    -1,
    3342      778,   450,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,
    3343       -1,    -1,    -1,    -1,    -1,    51,  1388,    -1,    -1,   468,
    3344       -1,   470,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
    3345       66,    -1,    -1,    -1,    69,  1407,    -1,    -1,    -1,    -1,
    3346       75,    -1,  1414,    -1,    79,    -1,    -1,    82,    83,    84,
    3347       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3348       -1,    -1,   840,    -1,   513,    -1,    -1,    -1,    -1,  1089,
    3349       -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,    -1,   114,
    3350      116,   116,    -1,    -1,    -1,    -1,   864,   122,   123,   124,
    3351      125,   126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3352      135,  1473,    -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,
    3353       -1,    -1,    -1,    -1,    -1,    -1,   152,    -1,    -1,   155,
    3354       -1,    -1,    -1,    -1,    -1,    -1,   575,   905,    -1,    -1,
    3355       -1,    -1,    -1,    -1,  1154,    -1,    10,    11,    12,    13,
    3356       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3357       24,    25,    26,    27,    28,    29,    30,    -1,    -1,    -1,
    3358       -1,    -1,    -1,    -1,  1184,    -1,  1186,   203,    42,    -1,
    3359       -1,   620,   621,    -1,    -1,    -1,    -1,   955,   956,   215,
    3360      958,   959,    -1,    -1,    -1,    -1,    -1,   636,    -1,    -1,
    3361       -1,    -1,    -1,  1213,    -1,    -1,    70,    -1,   976,    -1,
    3362       -1,  1221,  1222,  1223,    -1,    -1,   655,    81,    -1,    -1,
    3363       -1,    -1,  1232,  1233,    -1,    -1,   252,   666,    -1,    -1,
    3364       -1,    -1,    -1,   259,  1244,    -1,    -1,    -1,    -1,    -1,
    3365       -1,   680,    -1,    -1,   683,    -1,    -1,    -1,  1016,  1017,
    3366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3367      286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3368       -1,    -1,   298,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3369       -1,    -1,   721,    -1,    10,    11,    12,    13,    14,    15,
    3370       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3371       26,    27,    28,    29,    -1,    -1,    -1,    -1,   334,    -1,
    3372       -1,    -1,    -1,   339,    -1,  1325,    42,    -1,   757,    -1,
    3373       -1,  1089,    -1,    -1,    -1,    -1,    -1,    -1,   767,   768,
    3374       -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,   778,
    3375       -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,  1359,
    3376       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
    3377       -1,    -1,    -1,    -1,    75,    -1,    77,    -1,    79,    -1,
    3378       -1,    -1,    -1,    -1,    85,    -1,    -1,    -1,  1388,    -1,
    3379       -1,    -1,    -1,    -1,    -1,    -1,  1154,    -1,   414,   415,
    3380       -1,    -1,    -1,    -1,   420,    -1,    -1,  1407,    -1,    -1,
    3381       -1,   840,    -1,    -1,  1414,   116,    -1,   118,   119,   120,
    3382       -1,    -1,    -1,    -1,    -1,   441,  1184,    -1,  1186,    -1,
    3383       -1,    -1,    -1,    -1,    -1,   864,    -1,    -1,    -1,    -1,
    3384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3385       -1,    -1,   468,    -1,   155,  1213,    -1,    -1,    -1,    -1,
    3386       -1,    -1,    -1,  1221,  1222,  1223,    -1,    -1,   484,    -1,
    3387       -1,    -1,    -1,  1473,  1232,  1233,   905,    -1,    -1,    -1,
    3388      496,    -1,   498,    -1,    -1,   501,  1244,   503,   504,    -1,
    3389       -1,    -1,    -1,    -1,    -1,    -1,    -1,   513,    -1,    -1,
    3390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3391       -1,    -1,    -1,    -1,   215,    -1,   217,   218,   219,    -1,
    3392       -1,    -1,    -1,    -1,    -1,    -1,   955,   956,    -1,   958,
    3393      959,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3394       -1,    -1,    -1,    -1,    -1,    -1,   247,   976,   564,    -1,
    3395       -1,   252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   575,
    3396       -1,    -1,   578,    -1,    -1,    -1,    -1,  1325,    -1,    -1,
    3397       -1,    -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,
    3398       -1,    -1,    -1,    -1,    -1,    -1,   152,  1016,  1017,    -1,
    3399      606,    -1,    -1,    -1,    -1,   611,    -1,   163,   164,    -1,
    3400       -1,  1359,    -1,    -1,   620,   621,    -1,    -1,    -1,    -1,
    3401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   320,
    3402      636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3403     1388,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,    -1,
    3404       -1,    -1,    -1,   344,   345,    -1,    -1,    -1,    -1,  1407,
    3405       -1,   352,    -1,   669,    -1,    -1,  1414,    -1,    46,    -1,
    3406     1089,    -1,    -1,    -1,    -1,    -1,    -1,   683,    -1,   685,
    3407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3408       -1,    -1,    -1,    -1,    -1,   251,    -1,    -1,    -1,    -1,
    3409       -1,   392,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3410       -1,    -1,    90,    -1,    -1,   721,    -1,    -1,    -1,    -1,
    3411       -1,   412,   100,    -1,    -1,  1473,   417,    -1,   419,    -1,
    3412       -1,    -1,    -1,    -1,    -1,  1154,    -1,    -1,    -1,    -1,
    3413       -1,    -1,    -1,    -1,   435,    -1,    -1,   438,   439,    -1,
    3414       -1,    -1,    -1,    -1,   445,    -1,    -1,    -1,    -1,    -1,
    3415       -1,    -1,    -1,    -1,    -1,  1184,   772,  1186,   459,    -1,
    3416       -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,    -1,    -1,
    3417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   166,    -1,
    3418       -1,    -1,    -1,    -1,  1213,    -1,    -1,    -1,    -1,    -1,
    3419       -1,    -1,  1221,  1222,  1223,    -1,    -1,    -1,    -1,    -1,
    3420      188,    -1,   368,  1232,  1233,    -1,    -1,    -1,    -1,    -1,
    3421       -1,    -1,    -1,    -1,   202,  1244,    -1,    -1,    -1,    -1,
    3422       -1,    -1,    -1,   211,    -1,    -1,    -1,    -1,    -1,    -1,
    3423       -1,    -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,    -1,
    3424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   864,    -1,
    3425       -1,    -1,   240,   869,    -1,    -1,    -1,   245,    -1,    -1,
    3426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3427      258,    -1,    -1,    -1,    -1,   441,    -1,   578,   266,    -1,
    3428      268,    -1,    -1,   899,    -1,    -1,    -1,    -1,    -1,   905,
    3429       -1,    -1,    -1,    -1,   460,    -1,  1325,    -1,    -1,   287,
    3430       -1,    -1,    -1,    -1,    -1,    -1,    -1,   608,    -1,    -1,
    3431       -1,    -1,   613,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3432       -1,   937,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3433     1359,    -1,    -1,    -1,    -1,    -1,    -1,   503,    -1,    -1,
    3434      328,    -1,   958,   959,   332,    -1,    -1,   513,    -1,    -1,
    3435       -1,    -1,   518,    -1,    -1,   521,    -1,    -1,    -1,  1388,
    3436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   534,    -1,
    3437      671,    -1,   360,    -1,    -1,    -1,   364,   365,  1407,   367,
    3438       -1,    -1,    -1,    -1,   685,  1414,   374,   375,    -1,   377,
    3439      378,    -1,   380,    -1,   382,    -1,    -1,    -1,   564,    -1,
    3440       -1,    -1,    -1,    -1,    -1,   571,    -1,    -1,    -1,   575,
    3441       -1,   399,    -1,    -1,    -1,    -1,    -1,    -1,     7,   407,
    3442      586,    10,    11,    12,    13,    14,  1042,    -1,    -1,    -1,
    3443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3444       -1,    -1,    -1,   431,  1473,    -1,    -1,    -1,    -1,    -1,
    3445       -1,    40,    41,    42,    43,    -1,    -1,   623,    -1,    -1,
    3446      761,    -1,    -1,    -1,    -1,   631,    -1,    -1,   456,    -1,
    3447       -1,   772,    -1,  1089,   462,    -1,    -1,    -1,    -1,   467,
    3448       69,    70,    -1,    -1,    -1,    -1,    75,    -1,    -1,   790,
    3449       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3450       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   507,
    3452       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3453       -1,   519,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3454       -1,    -1,    -1,    -1,    -1,   711,    -1,    40,    41,  1165,
    3455       43,    -1,    -1,    -1,    -1,   721,    -1,   723,    -1,    -1,
    3456      726,    -1,    -1,    -1,    -1,    -1,   732,    -1,   556,    -1,
    3457     1186,    -1,    -1,    -1,    -1,    -1,    69,   565,    -1,    -1,
    3458      568,    -1,    75,    -1,    77,    78,    79,   888,    -1,    82,
    3459       83,    84,    85,    86,    87,    88,    89,   585,    91,    92,
    3460       -1,    -1,    -1,    -1,    -1,    -1,   772,   773,    -1,    40,
    3461       41,    -1,    43,    -1,    -1,    -1,  1232,  1233,    -1,    -1,
    3462       -1,   114,   788,   116,    -1,   118,   119,    -1,    -1,   122,
    3463      123,   124,   125,   126,   127,    -1,    -1,   625,    69,   940,
    3464       -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
    3465      951,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3466       91,    92,    -1,   829,    -1,    -1,    -1,   833,    -1,    -1,
    3467       -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,
    3468       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3469       -1,   122,   123,   124,   125,   126,   127,    -1,   864,    -1,
    3470       -1,   689,    -1,    -1,    -1,    -1,    -1,    -1,  1324,    -1,
    3471       -1,    -1,    -1,    -1,    -1,    -1,   704,   705,    -1,    -1,
    3472       -1,    -1,    -1,    -1,    -1,    -1,   714,    -1,   151,   152,
    3473       -1,    -1,    -1,   899,    -1,    -1,    -1,    -1,    -1,   905,
    3474      728,    -1,    -1,  1359,    -1,   733,   912,  1048,    -1,    -1,
    3475       -1,   917,    -1,    -1,   920,    -1,    -1,    -1,  1374,    -1,
    3476      183,    -1,    -1,    -1,    -1,    -1,    -1,   190,    -1,    -1,
    3477       -1,    -1,    -1,    -1,   940,    -1,    -1,    -1,    -1,    -1,
    3478       -1,    -1,    -1,    -1,    -1,   951,    -1,    -1,    -1,    -1,
    3479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3480     1416,    -1,  1418,    -1,    -1,   971,   794,   973,    -1,    -1,
    3481       -1,    -1,    -1,   801,    -1,    -1,    -1,    -1,    -1,    -1,
    3482       -1,    -1,   988,   989,    -1,    -1,    -1,   815,    -1,   817,
    3483       -1,    -1,    -1,   256,    -1,    -1,    -1,    -1,    -1,  1455,
    3484       -1,  1457,   830,    -1,    -1,    -1,    -1,    -1,   836,  1015,
    3485       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,   847,
    3486       -1,    -1,    -1,   851,    -1,    -1,    -1,    -1,    -1,    -1,
    3487       -1,    -1,  1173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3488     1496,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3489       -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3490      323,   324,  1068,   326,   327,    -1,    -1,    82,    -1,    -1,
    3491       -1,   334,    -1,    -1,    -1,   338,    -1,    -1,    -1,    -1,
    3492       -1,    -1,    97,  1089,    99,    -1,    -1,    -1,    -1,    -1,
    3493       -1,    -1,    -1,    -1,   357,    -1,    -1,    -1,    -1,    -1,
    3494       -1,  1107,  1108,    -1,    -1,    -1,    -1,   935,    -1,   124,
    3495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3496       -1,   384,    -1,    -1,    -1,   388,    -1,    -1,   273,    -1,
    3497      275,   276,    -1,    -1,    -1,    -1,    -1,    -1,    28,   284,
    3498      285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3499       -1,    -1,    -1,   298,   299,    -1,    -1,   420,    -1,    -1,
    3500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   183,    -1,
    3501      185,   186,    -1,    -1,  1002,   190,    -1,   192,   193,    -1,
    3502       -1,    -1,    -1,  1324,    -1,    -1,    -1,    -1,    -1,   334,
    3503       -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3504       -1,    -1,   465,    -1,    -1,   468,    -1,    97,    -1,    99,
    3505       -1,    -1,    -1,    -1,    -1,    -1,  1044,    -1,    -1,    -1,
    3506       -1,  1049,    -1,    -1,   369,    -1,    -1,    -1,    -1,    -1,
    3507       -1,  1059,    -1,  1374,    -1,    -1,    -1,    -1,    -1,    -1,
    3508       -1,   256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3509      513,    -1,  1258,    -1,    -1,  1083,  1262,    -1,    -1,    -1,
    3510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1096,    -1,
    3511       -1,    -1,  1100,    -1,    -1,  1103,    -1,    -1,    -1,    -1,
    3512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3513       -1,  1119,  1120,   556,   557,   185,   186,    -1,    -1,    -1,
    3514      190,    -1,   192,   193,    -1,    -1,    -1,    -1,    -1,  1137,
    3515       -1,   574,   575,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3516       -1,   584,    -1,    -1,   587,   588,    -1,    -1,    -1,    -1,
    3517       -1,   594,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3518       -1,   604,    -1,   606,    -1,    -1,    -1,    -1,   611,    -1,
    3519       -1,    -1,    -1,    -1,    -1,    -1,    -1,   620,   621,    -1,
    3520       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1509,    -1,
    3521       -1,    -1,    -1,   636,  1202,    -1,    -1,   640,   641,    -1,
    3522      395,   644,   645,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3523      653,    -1,   537,   538,   539,   540,   541,   542,   543,   544,
    3524      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
    3525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3526      683,   684,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,
    3527       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3528       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3529       32,    33,    34,  1281,    -1,  1283,    -1,    -1,   721,    -1,
    3530       42,    -1,    -1,    -1,    -1,  1293,    -1,  1295,    -1,    -1,
    3531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3532       -1,    -1,  1310,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3533     1496,    -1,    -1,    75,    -1,    77,    78,    -1,   761,    -1,
    3534     1328,  1329,    -1,    -1,    -1,   395,    88,    89,    -1,    -1,
    3535       -1,    -1,    -1,  1341,   777,    -1,   779,    -1,  1346,    -1,
    3536       -1,  1349,    -1,    -1,    -1,    -1,    -1,   790,    -1,    -1,
    3537       -1,    -1,    -1,    -1,   116,    -1,    -1,  1365,    -1,    -1,
    3538      122,   123,    -1,    -1,    -1,   560,   561,  1375,    -1,    -1,
    3539     1378,    -1,  1380,  1381,  1382,   700,    -1,    -1,    -1,    -1,
    3540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3541       -1,    -1,    -1,   588,    -1,    -1,   591,   592,    -1,   594,
    3542      725,   596,   597,    -1,    -1,    -1,   601,   602,    -1,    -1,
    3543       -1,    -1,  1420,    -1,  1422,    -1,    -1,    -1,    -1,    -1,
    3544       -1,   864,    -1,    -1,  1432,    -1,    -1,    -1,   871,    -1,
    3545      755,    -1,    -1,    -1,  1442,    -1,    -1,    -1,    -1,    -1,
    3546      883,   884,    -1,    -1,    -1,   640,    -1,    -1,    -1,   644,
    3547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3548       -1,    -1,   905,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3550       -1,    -1,    -1,    -1,   927,   928,    -1,    -1,    -1,    -1,
    3551      560,   561,    -1,    -1,   937,    -1,    -1,    -1,    -1,    -1,
    3552      943,   944,    -1,   946,   947,   948,    -1,    -1,    -1,    -1,
    3553       -1,    -1,    -1,    -1,    -1,   958,   959,    -1,   588,    -1,
    3554       -1,   591,   592,    -1,   594,    -1,   596,   597,    -1,    -1,
    3555       -1,   601,   602,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3556       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3557       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3558       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3559      640,    32,    33,    34,   644,    -1,    -1,    -1,    -1,    -1,
    3560     1023,    42,  1025,    -1,  1027,    -1,    -1,    -1,    -1,  1032,
    3561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3562      925,    -1,    -1,    -1,    -1,  1048,    -1,    -1,    -1,    70,
    3563       -1,    72,   937,    74,    -1,     0,    77,    78,     3,     4,
    3564        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3565       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3566       25,    26,    27,    28,    29,    -1,  1089,    32,    33,    34,
    3567       35,   976,    -1,    -1,    39,   116,    -1,    42,    43,    -1,
    3568       -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3570       -1,    -1,    67,    -1,    -1,    70,    -1,    72,    -1,    74,
    3571       75,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
    3572       -1,  1026,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3573       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3574       -1,    -1,    -1,    -1,    -1,  1168,    -1,    -1,    -1,   114,
    3575     1173,   116,   927,    -1,    -1,    -1,    -1,   122,   123,    -1,
    3576       -1,    -1,    -1,  1186,    -1,    -1,    -1,    -1,   943,    -1,
    3577       -1,   946,   947,     4,     5,     6,     7,     8,     9,    10,
    3578       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3579       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3580       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,  1232,
    3581     1233,    42,    -1,    -1,    -1,    -1,    -1,  1122,  1123,    -1,
    3582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
    3584       -1,    72,    -1,    74,  1019,    -1,    77,    78,  1271,  1272,
    3585       -1,    -1,  1275,    -1,    -1,    -1,    -1,  1032,    -1,    -1,
    3586       -1,    -1,  1037,  1038,    -1,    -1,    -1,    -1,    -1,    -1,
    3587       -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,    -1,    -1,
    3588       -1,    -1,    -1,    -1,   115,   116,    -1,    -1,    -1,    -1,
    3589       -1,   122,   123,   943,    -1,    -1,   946,   947,    -1,    -1,
    3590       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1094,
    3592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3593       -1,    -1,    -1,    -1,    -1,    -1,  1359,    -1,    -1,    -1,
    3594       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3595       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3596       22,    23,    24,    25,    26,    27,    28,    29,    30,  1019,
    3597       32,    33,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,
    3598       42,  1156,    -1,    -1,    -1,    -1,    -1,  1037,  1038,    -1,
    3599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3600     1175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3601       72,    -1,    74,    -1,    -1,    77,    78,    -1,    -1,    81,
    3602       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1450,    -1,    -1,
    3603       -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
    3604       -1,    -1,    -1,    -1,  1094,    -1,    -1,    -1,    -1,    -1,
    3605       -1,    -1,    -1,    -1,   116,    -1,  1479,  1480,  1363,    -1,
    3606      122,   123,    -1,    -1,    -1,    40,    41,    42,    43,    -1,
    3607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3608       -1,    -1,    -1,    -1,    -1,    -1,  1509,    -1,    -1,    -1,
    3609       -1,    -1,    -1,    -1,    69,    70,  1271,    -1,    -1,    -1,
    3610       75,    -1,    -1,    -1,    79,    -1,  1156,    82,    83,    84,
    3611       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3612     1425,    -1,    -1,    -1,    -1,  1175,    -1,    -1,    -1,    -1,
    3613       -1,    -1,  1437,  1438,    -1,    -1,    -1,    -1,    -1,   114,
    3614       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    3615      125,   126,   127,    -1,    -1,  1460,    -1,    -1,    -1,    -1,
    3616       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3617       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3618       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3619       -1,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
    3620       41,    42,    43,    44,    -1,    46,    -1,    -1,    49,    50,
    3621       51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    60,
    3622       -1,  1271,    -1,    64,    65,    -1,    67,  1532,    69,    70,
    3623       -1,    72,    -1,    74,    75,    -1,    77,    78,    79,    -1,
    3624       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3625       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3627       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3628       -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    -1,
    3629       -1,   132,    -1,    -1,    -1,    -1,   137,     3,     4,     5,
    3630        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3631       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3632       26,    27,    28,    29,    -1,    -1,    32,    33,    34,    35,
    3633       -1,    -1,    -1,    39,    40,    41,    42,    43,    10,    11,
     3837      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     3838      -1,    -1,    -1,    -1,    40,    41,    42,    43,    10,    11,
    36343839      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    36353840      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     
    36393844      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    36403845      -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,    -1,
    3641      116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
    3642      126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3643       -1,   137,     3,     4,     5,     6,     7,     8,     9,    10,
    3644       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3645       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3646       -1,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
    3647       41,    42,    43,    10,    11,    12,    13,    14,    15,    16,
    3648       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3649       27,    28,    29,    -1,    -1,    32,    33,    34,    69,    70,
    3650       -1,    72,    -1,    74,    75,    42,    77,    78,    79,    -1,
    3651       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3652       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3653       -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
    3654       77,    78,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3655       -1,   122,   123,   124,   125,   126,   127,     4,     5,     6,
    3656        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3657       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3658       27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
    3659       -1,    -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,
    3660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3662       -1,    -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,
    3663       77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3664       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3665       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3666       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3667       -1,    -1,    -1,    -1,   121,   122,   123,   124,   125,   126,
    3668      127,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3669       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3670       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3671       33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
    3672       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3673       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3674       -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,
    3675       -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,    82,
    3676       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    3677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3678       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3679       -1,   114,    -1,   116,    -1,    -1,    -1,    -1,   121,   122,
    3680      123,   124,   125,   126,   127,     4,     5,     6,     7,     8,
    3681        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3682       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3683       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3684       -1,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
    3685       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3687       69,    70,    -1,    72,    -1,    74,    75,    -1,    77,    78,
    3688       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3689       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3691       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3692       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,     4,
    3693        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3694       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3695       25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3696       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,    -1,
    3697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3699       -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,    74,
    3700       75,    -1,    77,    78,    79,    -1,    -1,    82,    83,    84,
    3701       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
    3704       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    3705      125,   126,   127,     4,     5,     6,     7,     8,     9,    10,
    3706       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3707       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3708       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,
    3709       41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
    3712       -1,    72,    -1,    74,    75,    -1,    77,    78,    79,    -1,
    3713       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3714       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3716       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3717       -1,   122,   123,   124,   125,   126,   127,     3,     4,     5,
    3718        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3719       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3720       26,    27,    28,    29,    -1,    -1,    32,    33,    34,    35,
    3721       -1,    -1,    -1,    39,    -1,    -1,    42,    43,    -1,    -1,
    3722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3724       -1,    67,    -1,    -1,    70,    -1,    72,    -1,    74,    75,
    3725       -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,
    3726       -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    3727       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    3729      116,    -1,    -1,    -1,   120,    -1,   122,   123,     3,     4,
     3846     116,    -1,    -1,    -1,    -1,   121,   122,   123,   124,   125,
     3847     126,   127,     4,     5,     6,     7,     8,     9,    10,    11,
     3848      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3849      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3850      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,
     3851      42,    43,    10,    11,    12,    13,    14,    15,    16,    17,
     3852      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3853      28,    29,    -1,    -1,    32,    33,    34,    69,    70,    -1,
     3854      72,    -1,    74,    75,    42,    77,    78,    79,    -1,    -1,
     3855      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
     3856      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3857      -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
     3858      78,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,   121,
     3859     122,   123,   124,   125,   126,   127,     4,     5,     6,     7,
     3860       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3861      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3862      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3863      -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,    -1,
     3864      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3865      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3866      -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,    77,
     3867      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     3868      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
     3869      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3870      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     3871      -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
     3872       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3873      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3874      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     3875      34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,
     3876      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3877      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3878      -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,
     3879      74,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
     3880      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
     3881      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3882      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3883     114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
     3884     124,   125,   126,   127,     4,     5,     6,     7,     8,     9,
     3885      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3886      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3887      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
     3888      40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     3889      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3890      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3891      70,    -1,    72,    -1,    74,    75,    -1,    77,    78,    79,
     3892      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3893      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3894      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3895      -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3896      -1,    -1,   122,   123,   124,   125,   126,   127,     3,     4,
    37303897       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    37313898      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    37593926      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37603927      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
    3761       -1,    74,    -1,    -1,    77,    78,     4,     5,     6,     7,
    3762        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3928      -1,    74,    -1,    -1,    77,    78,     3,     4,     5,     6,
     3929       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3930      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3931      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3932      -1,    -1,    -1,   116,    -1,    42,    -1,    -1,    -1,   122,
     3933     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3934      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3935      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3936      77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
     3937      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3938      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3939      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3940      42,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3941      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3942      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3943      72,    -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,
     3944      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,
     3945      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3946      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3947      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     3948     122,   123,     4,     5,     6,     7,     8,     9,    10,    11,
     3949      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3950      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3951      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3952      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3953      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3954      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3955      72,    -1,    74,    -1,    -1,    77,    78,     4,     5,     6,
     3956       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3957      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3958      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3959      -1,    -1,    -1,   115,   116,    42,    -1,    -1,    -1,    -1,
     3960     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3961      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3962      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3963      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3964      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3965      -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,
     3966      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3967      -1,    -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,
     3968       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3969      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3970      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3971      -1,    -1,    -1,    -1,    -1,    42,    -1,    10,    11,    12,
     3972      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3973      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3974      33,    34,    -1,    70,    -1,    72,    -1,    74,    -1,    42,
     3975      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3976      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3977      -1,    -1,    -1,    -1,   101,    -1,    -1,    70,    -1,    -1,
     3978      -1,    -1,    -1,    -1,    77,    78,    -1,    -1,    -1,   116,
     3979      -1,    -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,
     3980       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3981      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3982      27,    28,    29,   116,    -1,    32,    33,    34,    -1,   122,
     3983     123,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,
     3984      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3985      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3986      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3987      77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
     3988      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3989      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3990      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3991      42,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3992      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3993      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3994      72,    -1,    74,    -1,    -1,    77,    78,     4,     5,     6,
     3995       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3996      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3997      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3998      -1,    -1,    -1,    -1,   116,    42,    -1,    -1,    -1,    -1,
     3999     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4000      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4001      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     4002      77,    78,    10,    11,    12,    13,    14,    15,    16,    17,
    37634003      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    37644004      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    3765       -1,    -1,    -1,   116,    42,    -1,    -1,    -1,    -1,   122,
    3766      123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3767       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3768       -1,    -1,    70,    -1,    72,    -1,    74,    75,    -1,    77,
    3769       78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3770       88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4005      -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,   116,
     4006      -1,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     4007      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4008      -1,    69,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,
     4009      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     4010      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
    37714011      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37724012      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    3773       -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,     7,
    3774        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3775       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3776       28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    3777       -1,    -1,    -1,    -1,    42,    -1,    10,    11,    12,    13,
     4013      -1,   119,    -1,    -1,   122,   123,   124,   125,   126,   127,
     4014      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4015      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     4016      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
     4017      40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     4018      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4019      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     4020      70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,
     4021      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     4022      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4023      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4024      -1,    -1,    -1,    -1,   114,   115,   116,    -1,    -1,    -1,
     4025      -1,    -1,   122,   123,   124,   125,   126,   127,    10,    11,
     4026      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4027      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     4028      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,
     4029      42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4030      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4031      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,
     4032      -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,
     4033      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
     4034      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4035      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4036      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     4037     122,   123,   124,   125,   126,   127,    10,    11,    12,    13,
    37784038      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    37794039      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3780       34,    -1,    70,    -1,    72,    -1,    74,    -1,    42,    77,
    3781       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3783       -1,    -1,    -1,   101,    -1,    -1,    70,    -1,    -1,    -1,
    3784       -1,    -1,    -1,    77,    78,    -1,    -1,    -1,   116,    -1,
    3785       -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,     7,
    3786        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     4040      34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,
     4041      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4042      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4043      -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    -1,    -1,
     4044      -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
     4045      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
     4046      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4047      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4048     114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
     4049     124,   125,   126,   127,    10,    11,    12,    13,    14,    15,
     4050      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4051      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     4052      -1,    -1,    -1,    -1,    40,    41,    42,    43,    -1,    -1,
     4053      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4054      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4055      -1,    -1,    -1,    69,    70,    -1,    -1,    -1,    -1,    75,
     4056      -1,    77,    78,    79,    -1,    -1,    82,    83,    84,    85,
     4057      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
     4058      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4059      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
     4060     116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
     4061     126,   127,     3,     4,     5,     6,     7,     8,     9,    10,
     4062      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     4063      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     4064      -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
     4065      -1,    42,    10,    11,    12,    13,    14,    15,    16,    17,
    37874066      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3788       28,    29,   116,    -1,    32,    33,    34,    -1,   122,   123,
    3789       -1,    -1,    -1,    -1,    42,    -1,    10,    11,    12,    13,
     4067      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    70,
     4068      -1,    72,    -1,    74,    42,    -1,    77,    78,    -1,    -1,
     4069      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     4070      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4071      28,    29,    70,    -1,    32,    33,    34,    75,    -1,    77,
     4072      78,    79,    -1,    -1,    42,    -1,    -1,    -1,   119,    -1,
     4073      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4074      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4075      -1,    -1,    70,    -1,    -1,    -1,   114,    75,   116,    77,
     4076      78,    79,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
     4077      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4078      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4079      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     4080      -1,    -1,    -1,    -1,   122,   123,    10,    11,    12,    13,
    37904081      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    37914082      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3792       34,    -1,    70,    -1,    72,    -1,    74,    -1,    42,    77,
    3793       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3795       -1,    -1,    -1,   101,    -1,    -1,    70,    -1,    -1,    -1,
    3796       -1,    -1,    -1,    77,    78,    -1,    -1,    -1,   116,    -1,
    3797       -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,     7,
    3798        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     4083      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
     4084      -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     4085      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     4086      24,    25,    26,    27,    28,    29,    70,    -1,    32,    33,
     4087      34,    75,    -1,    77,    78,    -1,    -1,    -1,    42,    43,
     4088      -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,
     4089      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4090      -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,
     4091      -1,    -1,   116,    77,    78,    -1,    -1,    -1,   122,   123,
     4092      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4093      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     4094      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     4095      -1,    -1,   116,    42,    43,    -1,   120,    -1,   122,   123,
     4096      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4097      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     4098      29,    70,    -1,    32,    33,    34,    -1,    -1,    77,    78,
     4099      -1,    -1,    -1,    42,    10,    11,    12,    13,    14,    15,
     4100      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4101      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     4102      -1,    70,    -1,    -1,    -1,    -1,    42,   116,    77,    78,
     4103      -1,   120,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,
     4104      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4105      -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
     4106      -1,    77,    78,    -1,    -1,    -1,    -1,   116,    -1,    -1,
     4107      -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    10,
     4108      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     4109      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     4110     116,    32,    33,    34,    -1,    -1,   122,   123,    -1,    -1,
     4111      -1,    42,    10,    11,    12,    13,    14,    15,    16,    17,
    37994112      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3800       28,    29,   116,    -1,    32,    33,    34,    -1,   122,   123,
    3801       -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,
    3802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3804       -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
    3805       78,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     4113      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    70,
     4114      -1,    -1,    -1,    -1,    42,    -1,    77,    78,    -1,    -1,
     4115      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     4116      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4117      28,    29,    70,    -1,    32,    33,    34,    -1,    -1,    77,
     4118      78,    -1,    -1,    -1,    42,   116,    -1,    -1,    -1,    -1,
     4119      -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4120      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4121      -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,   116,    77,
     4122      78,    -1,    -1,    -1,   122,   123,    -1,    10,    11,    12,
    38064123      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    38074124      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    38084125      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,    42,
    3809       -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
    3810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
    3812       -1,    74,    -1,    -1,    77,    78,     4,     5,     6,     7,
    3813        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3814       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3815       28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    3816       -1,    -1,    -1,   116,    42,    -1,    -1,    -1,    -1,   122,
     4126      -1,    -1,    -1,    -1,   122,   123,    -1,    10,    11,    12,
     4127      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     4128      23,    24,    25,    26,    27,    28,    29,    70,    -1,    32,
     4129      33,    34,    -1,    -1,    77,    78,    -1,    -1,    -1,    42,
     4130      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4131      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     4132      -1,    -1,    32,    33,    34,    -1,    -1,    70,    -1,    -1,
     4133      -1,    -1,    42,   116,    77,    78,    -1,    -1,    -1,   122,
    38174134     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38184135      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3819       -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
    3820       78,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3821       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3822       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3823       -1,    40,    41,    42,    43,    -1,    -1,    -1,   116,    -1,
    3824       -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
    3825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3826       69,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
    3827       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3828       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3830       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3831      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    10,
    3832       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3833       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3834       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,
    3835       41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
    3838       -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
    3839       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3840       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3842       -1,    -1,    -1,   114,   115,   116,    -1,    -1,    -1,    -1,
    3843       -1,   122,   123,   124,   125,   126,   127,    10,    11,    12,
    3844       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3845       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3846       33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
    3847       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3849       -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    -1,
    3850       -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,
    3851       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    3852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3854       -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3855      123,   124,   125,   126,   127,    10,    11,    12,    13,    14,
    3856       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3857       25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3858       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,    -1,
    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,    69,    70,    -1,    -1,    -1,    -1,
    3862       75,    -1,    77,    78,    79,    -1,    -1,    82,    83,    84,
    3863       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
    3866       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    3867      125,   126,   127,    10,    11,    12,    13,    14,    15,    16,
    3868       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3869       27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
    3870       -1,    -1,    -1,    40,    41,    42,    43,    -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,    69,    70,    -1,    -1,    -1,    -1,    75,    -1,
    3874       77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3875       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3877       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3878       -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
    3879      127,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     4136      70,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,
     4137      -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     4138     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4139      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4140      -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,
     4141      -1,    -1,   122,   123,     4,     5,     6,     7,     8,     9,
     4142      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4143      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     4144      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
     4145      -1,    -1,    42,    -1,    40,    41,    -1,    43,    44,    -1,
     4146      46,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
     4147      56,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,    65,
     4148      70,    67,    72,    69,    74,    -1,    -1,    77,    78,    75,
     4149      -1,    77,    78,    79,    -1,    -1,    82,    83,    84,    85,
     4150      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
     4151      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4152      -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,   114,    -1,
     4153     116,    -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,
     4154     126,   127,    -1,    -1,    40,    41,   132,    43,    44,    -1,
     4155      46,   137,    -1,    49,    50,    51,    52,    53,    54,    55,
     4156      56,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,
     4157      -1,    67,    -1,    69,    -1,    -1,    -1,    -1,    -1,    75,
     4158      -1,    77,    78,    79,    -1,    -1,    82,    83,    84,    85,
     4159      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
     4160      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4161      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
     4162     116,    -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,
     4163     126,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,
     4164      -1,   137,     4,     5,     6,     7,     8,     9,    10,    11,
    38804165      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    38814166      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    38824167      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3883       42,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4168      42,    -1,    40,    41,    -1,    43,    44,    -1,    46,    47,
     4169      48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
     4170      -1,    59,    60,    -1,    -1,    -1,    64,    65,    70,    67,
     4171      72,    69,    74,    -1,    -1,    77,    78,    75,    -1,    77,
     4172      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     4173      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,   101,
     4174      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4175      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     4176      -1,   119,    -1,    -1,   122,   123,   124,   125,   126,   127,
     4177      -1,    -1,    40,    41,   132,    43,    44,    -1,    46,    47,
     4178      48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
     4179      -1,    -1,    60,    -1,    -1,    -1,    64,    65,    -1,    67,
     4180      -1,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    77,
     4181      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     4182      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
     4183      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4184      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     4185      -1,   119,    -1,    -1,   122,   123,   124,   125,   126,   127,
     4186      -1,    -1,    40,    41,   132,    43,    44,    -1,    46,    -1,
     4187      -1,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
     4188      -1,    -1,    60,    -1,    -1,    -1,    64,    65,    -1,    67,
     4189      -1,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    77,
     4190      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     4191      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
     4192      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4193      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     4194      -1,   119,    -1,    -1,   122,   123,   124,   125,   126,   127,
     4195      -1,    -1,    -1,    -1,   132,    10,    11,    12,    13,    14,
     4196      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     4197      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     4198      -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,     3,     4,
     4199       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     4200      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     4201      25,    26,    27,    28,    29,    70,    -1,    32,    33,    34,
     4202      75,    -1,    77,    78,    -1,    -1,    -1,    42,    -1,    -1,
     4203      -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
     4204      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4205      -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,    74,
     4206      -1,    -1,    77,    78,     3,     4,     5,     6,     7,     8,
     4207       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    38844208      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3885       29,    -1,    -1,    32,    33,    34,    -1,    -1,    70,    -1,
    3886       72,    -1,    74,    42,    43,    77,    78,    -1,    -1,    -1,
    3887       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3888       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3889       29,    70,    -1,    32,    33,    34,    -1,    -1,    77,    78,
    3890       -1,    -1,    -1,    42,    -1,    -1,    -1,   119,    -1,    -1,
    3891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3893       -1,    70,    -1,    -1,    -1,    -1,    -1,   116,    77,    78,
    3894       -1,   120,    -1,   122,   123,    -1,    10,    11,    12,    13,
     4209      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     4210      -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
     4211      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4212      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4213      -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,
     4214       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    38954215      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    38964216      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3897       34,    -1,    -1,    -1,    -1,    -1,    -1,   116,    42,    -1,
    3898       -1,    -1,    -1,   122,   123,    -1,    10,    11,    12,    13,
    3899       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3900       24,    25,    26,    27,    28,    29,    70,    -1,    32,    33,
    3901       34,    -1,    -1,    77,    78,    -1,    -1,    -1,    42,    10,
    3902       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3903       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3904       -1,    32,    33,    34,    -1,    -1,    70,    -1,    -1,    -1,
    3905       -1,    42,   116,    77,    78,    -1,    -1,    -1,   122,   123,
    3906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
    3908       -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,    -1,
    3909       -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
    3910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3912       -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,
    3913       -1,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3914       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3915       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3916       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
    3917       -1,    42,    -1,    40,    41,    -1,    43,    44,    -1,    46,
    3918       -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
    3919       -1,    -1,    59,    60,    -1,    -1,    -1,    64,    65,    70,
    3920       67,    72,    69,    74,    -1,    -1,    77,    78,    75,    -1,
    3921       77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3922       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3924       -1,    -1,    -1,    -1,   115,    -1,    -1,   114,    -1,   116,
    3925       -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
    3926      127,    -1,    -1,    40,    41,   132,    43,    44,    -1,    46,
    3927      137,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
    3928       -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,    -1,
    3929       67,    -1,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,
    3930       77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3931       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3933       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3934       -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
    3935      127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,
    3936      137,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3937       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3938       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3939       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
    3940       -1,    40,    41,    -1,    43,    44,    -1,    46,    47,    48,
    3941       49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
    3942       59,    60,    -1,    -1,    -1,    64,    65,    70,    67,    72,
    3943       69,    74,    -1,    -1,    77,    78,    75,    -1,    77,    78,
    3944       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3945       89,    -1,    91,    92,    -1,    -1,    -1,    -1,   101,    -1,
    3946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3947       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3948      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3949       -1,    40,    41,   132,    43,    44,    -1,    46,    47,    48,
    3950       49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
    3951       -1,    60,    -1,    -1,    -1,    64,    65,    -1,    67,    -1,
    3952       69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
    3953       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3954       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3956       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3957      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3958       -1,    40,    41,   132,    43,    44,    -1,    46,    -1,    -1,
    3959       49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
    3960       -1,    60,    -1,    -1,    -1,    64,    65,    -1,    67,    -1,
    3961       69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
    3962       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3963       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3964       40,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
    3965       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3966      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    69,
    3967       -1,    -1,    -1,   132,    -1,    75,    -1,    -1,    -1,    79,
    3968       -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
    3969       -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    40,
    3970       41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3971       -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
    3972       -1,   121,   122,   123,   124,   125,   126,   127,    69,    -1,
    3973       -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
    3974       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3975       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
    3976       -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3977       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3978       -1,   122,   123,   124,   125,   126,   127,    69,    -1,    -1,
    3979       -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,
    3980       82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
    3981       92,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,
    3982       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3983       -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
    3984      122,   123,   124,   125,   126,   127,    69,    -1,    -1,    -1,
    3985       -1,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
    3986       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    3987       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,
    3988       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3989       -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3990      123,   124,   125,   126,   127,    69,    -1,    -1,    -1,    -1,
    3991       -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
    3992       84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    3993       -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,
    3994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3995      114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
    3996      124,   125,   126,   127,    69,    -1,    -1,    -1,    -1,    -1,
    3997       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
    3998       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3999       -1,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,    -1,
    4000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
    4001       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    4002      125,   126,   127,    69,    -1,    -1,    -1,    -1,    -1,    75,
    4003       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
    4004       86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
    4005       -1,    -1,    -1,    40,    41,    -1,    43,    -1,    -1,    -1,
    4006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    4007      116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
    4008      126,   127,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,
    4009       -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,    86,
    4010       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    4011       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4012       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    4013       -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
    4014      127,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4217      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
     4218      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4219      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4220      -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,
     4221      74,    -1,    -1,    77,    78,     4,     5,     6,     7,     8,
     4222       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    40154223      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    40164224      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    4017       -1,    -1,    -1,    42,     3,     4,     5,     6,     7,     8,
    4018        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4019       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    4020       29,    70,    -1,    32,    33,    34,    75,    -1,    77,    78,
    4021       -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    88,
    4022       89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4225      -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
     4226      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40234227      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40244228      -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,
    4025        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    4026       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    4027       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    4028       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
    4029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4030       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
    4032       -1,    74,    -1,    -1,    77,    78,     4,     5,     6,     7,
    4033        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    4034       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4035       28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    4036       -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,
    4037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4039       -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
    4040       78,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4041       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    4042       29,    -1,    -1,    32,    33,    34,    35,    36,    37,    38,
    4043       -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
    4044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4046       -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78
     4229      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4230      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     4231      -1,    -1,    32,    33,    34,    35,    36,    37,    38,    -1,
     4232      -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4233      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4234      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4235      70,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78
    40474236};
    40484237
     
    40574246      77,    78,    79,    88,    89,   114,   116,   122,   123,   142,
    40584247     145,   157,   220,   221,   222,   223,   224,   225,   226,   227,
    4059      228,   229,   230,   232,   233,   234,   235,   236,   237,   239,
    4060      240,   241,   242,   243,   244,   245,   247,   248,   249,   250,
    4061      251,   252,   254,   262,   289,   290,   291,   299,   302,   308,
    4062      309,   311,   313,   314,   320,   325,   329,   330,   331,   332,
    4063      333,   334,   335,   336,   356,   373,   374,   375,   376,    75,
    4064      144,   145,   157,   223,   225,   233,   235,   244,   248,   250,
    4065      290,    84,   114,   318,   319,   320,    75,    77,    78,    79,
    4066      143,   144,   279,   280,   300,   301,    77,    78,   280,   114,
    4067      311,   114,   114,   157,   325,   330,   331,   332,   334,   335,
    4068      336,   117,   139,   226,   233,   235,   329,   333,   372,   373,
    4069      376,   377,   140,   112,   136,   283,   119,   140,   181,    77,
    4070       78,   142,   278,   140,   140,   140,    77,    78,   114,   157,
    4071      231,   315,   324,   325,   326,   327,   328,   329,   333,   337,
    4072      338,   339,   340,   341,   347,     3,    30,    81,   246,     3,
    4073        5,    77,   116,   157,   225,   236,   240,   242,   251,   291,
    4074      329,   333,   376,   223,   225,   235,   244,   248,   250,   290,
    4075      329,   333,    35,   241,   241,   236,   242,   140,   241,   236,
    4076      241,   236,   318,   241,   236,   121,   140,   140,     0,   139,
    4077      114,   181,   318,   318,   139,   116,   233,   235,   374,   278,
    4078      278,   136,   235,   114,   157,   315,   325,   329,   116,   157,
    4079      376,   312,   238,   119,   280,   320,   114,   296,   114,   114,
    4080       84,   146,   147,    40,    41,    43,    69,    75,    79,    82,
    4081       83,    85,    86,    87,    91,    92,   114,   116,   124,   125,
    4082      126,   127,   141,   145,   146,   148,   149,   156,   157,   158,
    4083      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
    4084      169,   170,   172,   175,   233,   281,   282,   298,   372,   377,
    4085      235,   115,   115,   115,   115,   115,   115,   115,   116,   233,
    4086      356,   374,   116,   122,   157,   172,   225,   226,   232,   235,
    4087      239,   240,   244,   247,   248,   250,   268,   269,   273,   274,
    4088      275,   276,   290,   356,   368,   369,   370,   371,   376,   377,
    4089      114,   329,   333,   376,   114,   121,   137,   116,   119,   157,
    4090      172,   284,   284,   120,   139,   121,   137,   114,   121,   137,
    4091      121,   137,   121,   137,   325,   326,   327,   328,   338,   339,
    4092      340,   341,   235,   324,   337,   121,   140,    67,   317,   116,
    4093      318,   355,   356,   318,   318,   181,   139,   114,   318,   355,
    4094      318,   318,   235,   315,   114,   114,   234,   235,   233,   235,
    4095      139,   233,   372,   377,   181,   139,   278,   283,   225,   240,
    4096      329,   333,   181,   139,   300,   235,   244,   137,   235,   235,
    4097       78,   114,   119,   280,   291,   235,   300,   137,   137,   311,
    4098      139,   144,   277,     3,   140,   215,   216,   230,   232,   235,
    4099      139,   317,   114,   317,   172,   325,   235,   114,   139,   278,
    4100      119,    35,    36,    37,    38,   233,   292,   293,   295,   264,
    4101      280,   263,   139,   133,   136,   297,   139,    10,    75,    77,
    4102       78,   321,   322,   323,   115,    84,   114,   156,   114,   156,
    4103      159,   114,   156,   114,   114,   156,   156,   116,   172,   177,
    4104      181,   281,   376,   139,    86,    90,    91,    92,   114,   116,
    4105      118,   119,   102,   103,   104,   105,   106,   107,   108,   109,
    4106      110,   111,   112,   136,   174,   159,   159,   122,   128,   129,
    4107      124,   125,    93,    94,    95,    96,   130,   131,    97,    98,
    4108      123,   132,   133,    99,   100,   134,   114,   157,   351,   352,
    4109      353,   354,   355,   115,   121,   114,   355,   356,   114,   355,
    4110      356,   139,   233,   374,   117,   139,   140,   233,   235,   367,
    4111      368,   376,   377,   140,   114,   116,   136,   157,   325,   342,
    4112      343,   344,   345,   346,   347,   348,   349,   350,   356,   357,
    4113      358,   359,   360,   361,   362,   379,   157,   376,   235,   140,
    4114      140,   157,   233,   235,   369,   278,   233,   356,   369,   278,
    4115      139,   139,   139,   139,    75,   116,   118,   145,   280,   284,
    4116      285,   286,   287,   288,   139,   139,   139,   139,   139,   139,
    4117      115,   115,   115,   115,   115,   115,   115,   324,   337,   318,
    4118      137,   114,   283,   117,   215,   139,   315,   177,   282,   177,
    4119      282,   315,   116,   215,   317,   181,   139,   215,   298,   255,
    4120      253,   235,   270,   271,   272,   275,   276,   115,   121,   181,
    4121      139,   122,   172,   139,   232,   235,   269,   368,   376,   309,
    4122      310,   114,   157,   342,   115,   121,   379,   280,   121,   378,
    4123      136,   265,   119,   292,   114,   119,   280,   282,   292,   115,
    4124      121,   114,   137,   281,   116,   281,   281,   151,   172,   282,
    4125      281,   139,   115,   121,   115,   115,   121,   172,   116,   144,
    4126      150,   151,   139,   116,   144,   150,   172,   159,   159,   159,
    4127      160,   160,   161,   161,   162,   162,   162,   162,   163,   163,
    4128      164,   165,   166,   167,   168,   135,   177,   139,   352,   353,
    4129      354,   235,   351,   318,   318,   172,   282,   139,   139,   233,
    4130      356,   369,   235,   239,   117,   376,   117,   114,   139,   325,
    4131      343,   344,   345,   348,   358,   359,   360,   117,   139,   172,
    4132      235,   342,   346,   357,   114,   318,   361,   379,   318,   318,
    4133      379,   114,   318,   361,   318,   318,   379,   318,   318,   356,
    4134      233,   367,   377,   278,   117,   121,   117,   121,   379,   233,
    4135      369,   379,   266,   267,   268,   269,   266,   278,   172,   139,
    4136      116,   280,   135,   121,   378,   284,   116,   135,   288,    31,
    4137      217,   218,   278,   266,   144,   315,   144,   114,   318,   355,
    4138      356,   114,   318,   355,   356,   315,   146,   356,   181,   270,
    4139      115,   115,   115,   115,   139,   181,   215,   181,   115,    43,
    4140      120,   233,   256,   257,   372,   119,   140,   140,   144,   230,
    4141      140,   140,   266,   114,   157,   376,   140,   120,   235,   293,
    4142      294,   280,   120,   170,   171,   264,   140,   139,   139,   114,
    4143      140,   115,   322,   150,   115,   139,   121,   115,   115,   115,
    4144      115,   172,   119,   159,   172,   173,   176,   121,   139,   115,
    4145      121,   172,   139,   120,   170,   135,   270,   115,   115,   115,
    4146      351,   270,   270,   233,   369,   116,   122,   157,   172,   172,
    4147      235,   348,   270,   115,   115,   115,   115,   115,   115,   115,
    4148        7,   235,   342,   346,   357,   139,   139,   379,   139,   139,
    4149      140,   140,   140,   140,   283,   170,   171,   172,   316,   139,
    4150      284,   286,   120,   139,   219,   280,    43,    44,    46,    49,
    4151       50,    51,    52,    53,    54,    55,    56,    60,    64,    65,
    4152       67,    75,    77,    78,    79,   132,   145,   177,   178,   179,
    4153      180,   181,   182,   183,   185,   186,   198,   200,   201,   206,
    4154      220,   278,   314,    31,   140,   136,   139,   139,   317,   115,
    4155      140,   181,   119,   233,   257,   114,   135,   157,   258,   259,
    4156      261,   324,   325,   337,   355,   363,   364,   365,   366,   121,
    4157      137,   280,   255,   115,   121,   117,   117,   140,   235,   121,
    4158      379,   296,   265,   378,   115,   292,   223,   225,   233,   304,
    4159      305,   306,   307,   298,   115,   115,   144,   285,   121,   140,
    4160      176,    82,    85,    87,   144,   152,   153,   154,   151,   140,
    4161      152,   170,   140,   114,   318,   355,   356,   140,   140,   139,
    4162      140,   140,   140,   172,   115,   140,   114,   318,   355,   356,
    4163      114,   318,   361,   114,   318,   361,   356,   234,     7,   122,
    4164      140,   172,   270,   270,   269,   273,   273,   274,   115,   121,
    4165      121,   115,   101,   127,   140,   140,   152,   284,   172,   121,
    4166      137,   220,   314,   114,   114,   179,   114,   114,   137,   278,
    4167      137,   278,   122,   278,   178,   114,   181,   173,   173,    11,
    4168      207,   149,   137,   140,   139,   140,   135,   219,   115,   172,
    4169      270,   270,   283,   318,   115,   255,   258,   137,   325,   364,
    4170      365,   366,   171,   235,   363,   121,   137,   260,   261,   260,
    4171      318,   318,   280,   120,   139,   115,   139,   120,   140,   315,
    4172      120,   139,   140,   140,   115,   119,   115,   378,   173,   117,
    4173      140,   155,   116,   153,   155,   155,   121,   140,    90,   118,
    4174      117,   140,   115,   139,   115,   115,   117,   117,   117,   140,
    4175      115,   139,   139,   139,   172,   172,   140,   117,   140,   140,
    4176      140,   140,   139,   139,   171,   171,   117,   117,   140,   280,
    4177      177,   177,    50,   177,   139,   137,   137,   177,   137,   137,
    4178      177,    61,    62,    63,   202,   203,   204,   137,    66,   137,
    4179       54,   114,   119,   183,   120,   318,   137,   140,   140,   120,
    4180      137,   115,   115,   115,   363,   318,   101,   275,   276,   115,
    4181      305,   121,   137,   121,   137,   120,   303,   120,   117,    86,
    4182      139,   153,   117,   116,   153,   116,   153,   117,   270,   117,
    4183      270,   270,   270,   140,   140,   117,   117,   115,   115,   117,
    4184      121,   101,   269,   101,   140,   117,   115,   115,   114,   115,
    4185      178,   199,   220,   224,   235,   239,   137,   115,   114,   114,
    4186      181,   204,    61,    62,   172,   114,   146,   150,   179,   115,
    4187      115,   114,   318,   355,   356,   259,   119,   139,   139,   304,
    4188      152,   139,   139,   140,   140,   140,   140,   117,   117,   139,
    4189      140,   117,   179,    47,    48,   119,   189,   190,   191,   177,
    4190      179,   140,   115,   178,   235,   119,   191,   101,   139,   101,
    4191      139,   114,   114,   137,   146,   115,   135,   120,   139,   139,
    4192      278,   315,   120,   140,   152,   152,   115,   115,   115,   115,
    4193      273,    45,   171,   187,   188,   316,   135,   139,   179,   189,
    4194      115,   137,   179,   137,   139,   115,   139,   115,   139,   101,
    4195      139,   101,   139,   135,   137,   116,   146,   208,   209,   210,
    4196      137,   270,   304,   117,   140,   140,   179,   101,   121,   135,
    4197      140,   213,   214,   220,   137,   178,   178,   213,   181,   205,
    4198      233,   372,   181,   205,   115,   139,   115,   139,   135,   171,
    4199      114,   115,   135,   121,   140,   120,   117,   117,   171,   187,
    4200      190,   192,   193,   139,   137,   190,   194,   195,   140,   114,
    4201      157,   315,   363,   144,   140,   181,   205,   181,   205,   208,
    4202      117,   171,   137,   208,   210,   115,   114,   179,   184,   120,
    4203      190,   220,   178,    59,   184,   197,   120,   190,   115,   235,
    4204      115,   140,   140,   135,   146,   115,   115,   135,   298,   179,
    4205      184,   137,   196,   197,   184,   197,   181,   181,   115,   115,
    4206      146,   211,   114,   137,   211,   115,   196,   140,   140,   181,
    4207      181,   121,   135,   171,   115,   140,   140,   146,   144,   212,
    4208      115,   137,   115,   121,   137,   144
     4248     228,   229,   230,   232,   234,   236,   237,   238,   239,   241,
     4249     242,   243,   244,   245,   246,   247,   249,   250,   253,   254,
     4250     255,   257,   259,   260,   268,   270,   296,   297,   298,   306,
     4251     309,   315,   316,   318,   320,   321,   327,   332,   336,   337,
     4252     338,   339,   340,   341,   342,   343,   363,   380,   381,   382,
     4253     383,    75,   144,   145,   157,   223,   225,   234,   237,   246,
     4254     250,   254,   297,    84,   114,   325,   326,   327,    75,    77,
     4255      78,    79,   143,   144,   286,   287,   307,   308,    77,    78,
     4256     287,   114,   318,   114,   114,   157,   332,   337,   338,   339,
     4257     341,   342,   343,   117,   139,   226,   234,   237,   336,   340,
     4258     379,   380,   383,   384,   140,   112,   136,   290,   119,   140,
     4259     181,    77,    78,   142,   285,   140,   140,   140,    77,    78,
     4260     114,   157,   231,   322,   331,   332,   333,   334,   335,   336,
     4261     340,   344,   345,   346,   347,   348,   354,     3,    30,    81,
     4262     248,     3,     5,    77,   116,   157,   225,   238,   242,   244,
     4263     255,   298,   336,   340,   383,   223,   225,   237,   246,   250,
     4264     254,   297,   336,   340,    35,   243,   243,   238,   244,   140,
     4265     243,   238,   243,   238,   325,   243,   238,   121,   140,   140,
     4266       0,   139,   114,   181,   325,   325,   139,   116,   234,   237,
     4267     381,   285,   285,   136,   237,   114,   157,   322,   332,   336,
     4268     116,   157,   383,   319,   240,   119,   287,   327,   114,   303,
     4269     114,   114,    84,   146,   147,    40,    41,    43,    69,    75,
     4270      79,    82,    83,    85,    86,    87,    91,    92,   114,   116,
     4271     124,   125,   126,   127,   141,   145,   146,   148,   149,   156,
     4272     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
     4273     167,   168,   169,   170,   172,   175,   234,   288,   289,   305,
     4274     379,   384,   237,   115,   115,   115,   115,   115,   115,   115,
     4275     116,   234,   363,   381,    32,   116,   122,   157,   172,   225,
     4276     226,   233,   237,   241,   242,   245,   246,   251,   252,   253,
     4277     254,   256,   259,   260,   270,   275,   276,   280,   281,   282,
     4278     283,   296,   297,   363,   375,   376,   377,   378,   383,   384,
     4279     114,   336,   340,   383,   114,   121,   137,   116,   119,   157,
     4280     172,   291,   291,   120,   139,   121,   137,   114,   121,   137,
     4281     121,   137,   121,   137,   332,   333,   334,   335,   345,   346,
     4282     347,   348,   237,   331,   344,   121,   140,    67,   324,   116,
     4283     325,   362,   363,   325,   325,   181,   139,   114,   325,   362,
     4284     325,   325,   237,   322,   114,   114,   236,   237,   234,   237,
     4285     139,   234,   379,   384,   181,   139,   285,   290,   225,   242,
     4286     336,   340,   181,   139,   307,   237,   246,   137,   237,   237,
     4287      78,   114,   119,   287,   298,   237,   307,   137,   137,   318,
     4288     139,   144,   284,     3,   140,   215,   216,   230,   232,   237,
     4289     241,   139,   324,   114,   324,   172,   332,   237,   114,   139,
     4290     285,   119,    35,    36,    37,    38,   234,   299,   300,   302,
     4291     271,   287,   269,   139,   133,   136,   304,   139,    10,    75,
     4292      77,    78,   328,   329,   330,   115,    84,   114,   156,   114,
     4293     156,   159,   114,   156,   114,   114,   156,   156,   116,   172,
     4294     177,   181,   288,   383,   139,    86,    90,    91,    92,   114,
     4295     116,   118,   119,   102,   103,   104,   105,   106,   107,   108,
     4296     109,   110,   111,   112,   136,   174,   159,   159,   122,   128,
     4297     129,   124,   125,    93,    94,    95,    96,   130,   131,    97,
     4298      98,   123,   132,   133,    99,   100,   134,   114,   157,   358,
     4299     359,   360,   361,   362,   115,   121,   114,   362,   363,   114,
     4300     362,   363,   139,   234,   381,   325,   117,   139,   140,   235,
     4301     237,   246,   252,   254,   297,   374,   375,   383,   384,   140,
     4302     114,   116,   136,   157,   332,   349,   350,   351,   352,   353,
     4303     354,   355,   356,   357,   363,   364,   365,   366,   367,   368,
     4304     369,   386,   157,   256,   383,   237,   252,   243,   238,   325,
     4305     140,   140,   157,   235,   237,   376,   285,   235,   363,   376,
     4306     285,   139,   139,   139,   139,    75,   116,   118,   145,   287,
     4307     291,   292,   293,   294,   295,   139,   139,   139,   139,   139,
     4308     139,   115,   115,   115,   115,   115,   115,   115,   331,   344,
     4309     325,   137,   114,   290,   117,   215,   139,   322,   177,   289,
     4310     177,   289,   322,   116,   215,   324,   181,   139,   215,   305,
     4311     261,   258,   237,   277,   278,   279,   282,   283,   115,   121,
     4312     181,   139,   237,   122,   172,   139,   233,   237,   276,   375,
     4313     383,   316,   317,   114,   157,   349,   115,   121,   386,   287,
     4314     121,   385,   136,   272,   119,   299,   114,   119,   287,   289,
     4315     299,   115,   121,   114,   137,   288,   116,   288,   288,   151,
     4316     172,   289,   288,   139,   115,   121,   115,   115,   121,   172,
     4317     116,   144,   150,   151,   139,   116,   144,   150,   172,   159,
     4318     159,   159,   160,   160,   161,   161,   162,   162,   162,   162,
     4319     163,   163,   164,   165,   166,   167,   168,   135,   177,   139,
     4320     359,   360,   361,   237,   358,   325,   325,   172,   289,   139,
     4321     139,   287,   235,   363,   376,   237,   241,   117,   383,   117,
     4322     114,   139,   332,   350,   351,   352,   355,   365,   366,   367,
     4323     117,   139,   172,   237,   349,   353,   364,   114,   325,   368,
     4324     386,   325,   325,   386,   114,   325,   368,   325,   325,   386,
     4325     325,   325,   363,   235,   374,   384,   285,   237,   287,   117,
     4326     121,   117,   121,   386,   235,   376,   386,   273,   274,   275,
     4327     276,   273,   285,   172,   139,   116,   287,   135,   121,   385,
     4328     291,   116,   135,   295,    31,   217,   218,   285,   273,   144,
     4329     322,   144,   114,   325,   362,   363,   114,   325,   362,   363,
     4330     322,   146,   363,   181,   277,   115,   115,   115,   115,   139,
     4331     181,   215,   181,   115,    43,   120,   234,   262,   263,   379,
     4332     119,   140,   140,   144,   230,   140,   140,   273,   114,   157,
     4333     383,   140,   120,   237,   300,   301,   287,   120,   170,   171,
     4334     271,   140,   139,   139,   114,   140,   115,   329,   150,   115,
     4335     139,   121,   115,   115,   115,   115,   172,   119,   159,   172,
     4336     173,   176,   121,   139,   115,   121,   172,   139,   120,   170,
     4337     135,   277,   115,   115,   115,   358,   277,   277,   235,   376,
     4338     116,   122,   157,   172,   172,   237,   355,   277,   115,   115,
     4339     115,   115,   115,   115,   115,     7,   237,   349,   353,   364,
     4340     139,   139,   386,   139,   139,   140,   140,   140,   140,   290,
     4341     170,   171,   172,   323,   139,   291,   293,   120,   139,   219,
     4342     287,    43,    44,    46,    49,    50,    51,    52,    53,    54,
     4343      55,    56,    60,    64,    65,    67,    75,    77,    78,    79,
     4344     132,   145,   177,   178,   179,   180,   181,   182,   183,   185,
     4345     186,   198,   200,   201,   206,   220,   285,   321,    31,   140,
     4346     136,   139,   139,   324,   115,   140,   181,   119,   234,   263,
     4347     114,   135,   157,   264,   265,   267,   331,   332,   344,   362,
     4348     370,   371,   372,   373,   121,   137,   287,   261,   115,   121,
     4349     117,   117,   140,   237,   121,   386,   303,   272,   385,   115,
     4350     299,   223,   225,   234,   311,   312,   313,   314,   305,   115,
     4351     115,   144,   292,   121,   140,   176,    82,    85,    87,   144,
     4352     152,   153,   154,   151,   140,   152,   170,   140,   114,   325,
     4353     362,   363,   140,   140,   139,   140,   140,   140,   172,   115,
     4354     140,   114,   325,   362,   363,   114,   325,   368,   114,   325,
     4355     368,   363,   236,     7,   122,   140,   172,   277,   277,   276,
     4356     280,   280,   281,   115,   121,   121,   115,   101,   127,   140,
     4357     140,   152,   291,   172,   121,   137,   220,   321,   114,   114,
     4358     179,   114,   114,   137,   285,   137,   285,   122,   285,   178,
     4359     114,   181,   173,   173,    11,   207,   149,   137,   140,   139,
     4360     140,   135,   219,   115,   172,   277,   277,   290,   325,   115,
     4361     261,   264,   137,   332,   371,   372,   373,   171,   237,   370,
     4362     121,   137,   266,   267,   266,   325,   325,   287,   120,   139,
     4363     115,   139,   120,   140,   322,   120,   139,   140,   140,   115,
     4364     119,   115,   385,   173,   117,   140,   155,   116,   153,   155,
     4365     155,   121,   140,    90,   118,   117,   140,   115,   139,   115,
     4366     115,   117,   117,   117,   140,   115,   139,   139,   139,   172,
     4367     172,   140,   117,   140,   140,   140,   140,   139,   139,   171,
     4368     171,   117,   117,   140,   287,   177,   177,    50,   177,   139,
     4369     137,   137,   177,   137,   137,   177,    61,    62,    63,   202,
     4370     203,   204,   137,    66,   137,    54,   114,   119,   183,   120,
     4371     325,   137,   140,   140,   120,   137,   115,   115,   115,   370,
     4372     325,   101,   282,   283,   115,   312,   121,   137,   121,   137,
     4373     120,   310,   120,   117,    86,   139,   153,   117,   116,   153,
     4374     116,   153,   117,   277,   117,   277,   277,   277,   140,   140,
     4375     117,   117,   115,   115,   117,   121,   101,   276,   101,   140,
     4376     117,   115,   115,   114,   115,   178,   199,   220,   224,   237,
     4377     241,   137,   115,   114,   114,   181,   204,    61,    62,   172,
     4378     114,   146,   150,   179,   115,   115,   114,   325,   362,   363,
     4379     265,   119,   139,   139,   311,   152,   139,   139,   140,   140,
     4380     140,   140,   117,   117,   139,   140,   117,   179,    47,    48,
     4381     119,   189,   190,   191,   177,   179,   140,   115,   178,   237,
     4382     119,   191,   101,   139,   101,   139,   114,   114,   137,   146,
     4383     115,   135,   120,   139,   139,   285,   322,   120,   140,   152,
     4384     152,   115,   115,   115,   115,   280,    45,   171,   187,   188,
     4385     323,   135,   139,   179,   189,   115,   137,   179,   137,   139,
     4386     115,   139,   115,   139,   101,   139,   101,   139,   135,   137,
     4387     116,   146,   208,   209,   210,   137,   277,   311,   117,   140,
     4388     140,   179,   101,   121,   135,   140,   213,   214,   220,   137,
     4389     178,   178,   213,   181,   205,   235,   237,   379,   181,   205,
     4390     115,   139,   115,   139,   135,   171,   114,   115,   135,   121,
     4391     140,   120,   117,   117,   171,   187,   190,   192,   193,   139,
     4392     137,   190,   194,   195,   140,   114,   157,   322,   370,   144,
     4393     140,   181,   205,   181,   205,   208,   117,   171,   137,   208,
     4394     210,   115,   114,   179,   184,   120,   190,   220,   178,    59,
     4395     184,   197,   120,   190,   115,   237,   115,   140,   140,   135,
     4396     146,   115,   115,   135,   305,   179,   184,   137,   196,   197,
     4397     184,   197,   181,   181,   115,   115,   146,   211,   114,   137,
     4398     211,   115,   196,   140,   140,   181,   181,   121,   135,   171,
     4399     115,   140,   140,   146,   144,   212,   115,   137,   115,   121,
     4400     137,   144
    42094401};
    42104402
     
    62446436
    62456437/* Line 1806 of yacc.c  */
    6246 #line 982 "parser.yy"
     6438#line 978 "parser.yy"
    62476439    {
    62486440                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62546446
    62556447/* Line 1806 of yacc.c  */
    6256 #line 987 "parser.yy"
     6448#line 983 "parser.yy"
    62576449    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    62586450    break;
     
    62616453
    62626454/* Line 1806 of yacc.c  */
    6263 #line 989 "parser.yy"
     6455#line 985 "parser.yy"
    62646456    {
    62656457                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62716463
    62726464/* Line 1806 of yacc.c  */
     6465#line 994 "parser.yy"
     6466    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); }
     6467    break;
     6468
     6469  case 222:
     6470
     6471/* Line 1806 of yacc.c  */
     6472#line 996 "parser.yy"
     6473    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); }
     6474    break;
     6475
     6476  case 223:
     6477
     6478/* Line 1806 of yacc.c  */
    62736479#line 998 "parser.yy"
    6274     { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); }
    6275     break;
    6276 
    6277   case 222:
     6480    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); }
     6481    break;
     6482
     6483  case 224:
    62786484
    62796485/* Line 1806 of yacc.c  */
    62806486#line 1000 "parser.yy"
    6281     { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); }
    6282     break;
    6283 
    6284   case 223:
     6487    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); }
     6488    break;
     6489
     6490  case 225:
    62856491
    62866492/* Line 1806 of yacc.c  */
    62876493#line 1002 "parser.yy"
    6288     { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); }
    6289     break;
    6290 
    6291   case 224:
    6292 
    6293 /* Line 1806 of yacc.c  */
    6294 #line 1004 "parser.yy"
    6295     { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); }
    6296     break;
    6297 
    6298   case 225:
    6299 
    6300 /* Line 1806 of yacc.c  */
    6301 #line 1006 "parser.yy"
    63026494    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); }
    63036495    break;
     
    63066498
    63076499/* Line 1806 of yacc.c  */
    6308 #line 1011 "parser.yy"
     6500#line 1007 "parser.yy"
    63096501    { (yyval.flag) = false; }
    63106502    break;
     
    63136505
    63146506/* Line 1806 of yacc.c  */
    6315 #line 1013 "parser.yy"
     6507#line 1009 "parser.yy"
    63166508    { (yyval.flag) = true; }
    63176509    break;
     
    63206512
    63216513/* Line 1806 of yacc.c  */
    6322 #line 1018 "parser.yy"
     6514#line 1014 "parser.yy"
    63236515    { (yyval.en) = nullptr; }
    63246516    break;
     
    63276519
    63286520/* Line 1806 of yacc.c  */
    6329 #line 1025 "parser.yy"
     6521#line 1021 "parser.yy"
    63306522    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    63316523    break;
     
    63346526
    63356527/* Line 1806 of yacc.c  */
    6336 #line 1030 "parser.yy"
     6528#line 1026 "parser.yy"
    63376529    { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }
    63386530    break;
     
    63416533
    63426534/* Line 1806 of yacc.c  */
    6343 #line 1032 "parser.yy"
     6535#line 1028 "parser.yy"
    63446536    { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); }
    63456537    break;
     
    63486540
    63496541/* Line 1806 of yacc.c  */
    6350 #line 1037 "parser.yy"
     6542#line 1033 "parser.yy"
    63516543    { (yyval.en) = nullptr; }
    63526544    break;
     
    63556547
    63566548/* Line 1806 of yacc.c  */
    6357 #line 1039 "parser.yy"
     6549#line 1035 "parser.yy"
    63586550    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    63596551    break;
     
    63626554
    63636555/* Line 1806 of yacc.c  */
    6364 #line 1042 "parser.yy"
     6556#line 1038 "parser.yy"
    63656557    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }
    63666558    break;
     
    63696561
    63706562/* Line 1806 of yacc.c  */
    6371 #line 1047 "parser.yy"
     6563#line 1043 "parser.yy"
    63726564    {
    63736565                        (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) );
     
    63796571
    63806572/* Line 1806 of yacc.c  */
    6381 #line 1052 "parser.yy"
     6573#line 1048 "parser.yy"
    63826574    {
    63836575                        (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) );
     
    63896581
    63906582/* Line 1806 of yacc.c  */
    6391 #line 1062 "parser.yy"
     6583#line 1058 "parser.yy"
    63926584    { (yyval.decl) = nullptr; }
    63936585    break;
     
    63966588
    63976589/* Line 1806 of yacc.c  */
    6398 #line 1069 "parser.yy"
     6590#line 1065 "parser.yy"
    63996591    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    64006592    break;
     
    64036595
    64046596/* Line 1806 of yacc.c  */
    6405 #line 1074 "parser.yy"
     6597#line 1070 "parser.yy"
    64066598    { (yyval.decl) = nullptr; }
    64076599    break;
     
    64106602
    64116603/* Line 1806 of yacc.c  */
    6412 #line 1081 "parser.yy"
     6604#line 1077 "parser.yy"
    64136605    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    64146606    break;
     
    64176609
    64186610/* Line 1806 of yacc.c  */
    6419 #line 1095 "parser.yy"
     6611#line 1091 "parser.yy"
    64206612    {}
    64216613    break;
     
    64246616
    64256617/* Line 1806 of yacc.c  */
    6426 #line 1096 "parser.yy"
     6618#line 1092 "parser.yy"
    64276619    {}
    64286620    break;
     
    64316623
    64326624/* Line 1806 of yacc.c  */
    6433 #line 1125 "parser.yy"
     6625#line 1121 "parser.yy"
    64346626    {
    64356627                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64416633
    64426634/* Line 1806 of yacc.c  */
    6443 #line 1132 "parser.yy"
     6635#line 1128 "parser.yy"
    64446636    {
    64456637                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64516643
    64526644/* Line 1806 of yacc.c  */
    6453 #line 1137 "parser.yy"
     6645#line 1133 "parser.yy"
    64546646    {
    64556647                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    64616653
    64626654/* Line 1806 of yacc.c  */
    6463 #line 1147 "parser.yy"
     6655#line 1143 "parser.yy"
    64646656    {
    64656657                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64716663
    64726664/* Line 1806 of yacc.c  */
    6473 #line 1152 "parser.yy"
     6665#line 1148 "parser.yy"
    64746666    {
    64756667                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64816673
    64826674/* Line 1806 of yacc.c  */
    6483 #line 1157 "parser.yy"
     6675#line 1153 "parser.yy"
    64846676    {
    64856677                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    64916683
    64926684/* Line 1806 of yacc.c  */
    6493 #line 1165 "parser.yy"
     6685#line 1161 "parser.yy"
    64946686    {
    64956687                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65016693
    65026694/* Line 1806 of yacc.c  */
    6503 #line 1170 "parser.yy"
     6695#line 1166 "parser.yy"
    65046696    {
    65056697                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65116703
    65126704/* Line 1806 of yacc.c  */
    6513 #line 1175 "parser.yy"
     6705#line 1171 "parser.yy"
    65146706    {
    65156707                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65216713
    65226714/* Line 1806 of yacc.c  */
    6523 #line 1180 "parser.yy"
     6715#line 1176 "parser.yy"
    65246716    {
    65256717                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65316723
    65326724/* Line 1806 of yacc.c  */
    6533 #line 1185 "parser.yy"
     6725#line 1181 "parser.yy"
    65346726    {
    65356727                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    65416733
    65426734/* Line 1806 of yacc.c  */
    6543 #line 1216 "parser.yy"
     6735#line 1212 "parser.yy"
    65446736    {
    65456737                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    65506742
    65516743/* Line 1806 of yacc.c  */
    6552 #line 1220 "parser.yy"
     6744#line 1216 "parser.yy"
    65536745    {
    65546746                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    65596751
    65606752/* Line 1806 of yacc.c  */
     6753#line 1223 "parser.yy"
     6754    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     6755    break;
     6756
     6757  case 274:
     6758
     6759/* Line 1806 of yacc.c  */
    65616760#line 1227 "parser.yy"
    6562     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    6563     break;
    6564 
    6565   case 274:
    6566 
    6567 /* Line 1806 of yacc.c  */
    6568 #line 1231 "parser.yy"
    65696761    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    65706762    break;
     
    65736765
    65746766/* Line 1806 of yacc.c  */
    6575 #line 1236 "parser.yy"
     6767#line 1232 "parser.yy"
    65766768    {
    65776769                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65836775
    65846776/* Line 1806 of yacc.c  */
    6585 #line 1241 "parser.yy"
     6777#line 1237 "parser.yy"
    65866778    {
    65876779                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65936785
    65946786/* Line 1806 of yacc.c  */
    6595 #line 1246 "parser.yy"
     6787#line 1242 "parser.yy"
    65966788    {
    65976789                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    66036795
    66046796/* Line 1806 of yacc.c  */
    6605 #line 1257 "parser.yy"
     6797#line 1253 "parser.yy"
    66066798    {
    66076799                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66136805
    66146806/* Line 1806 of yacc.c  */
    6615 #line 1262 "parser.yy"
     6807#line 1258 "parser.yy"
    66166808    {
    66176809                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66236815
    66246816/* Line 1806 of yacc.c  */
    6625 #line 1267 "parser.yy"
     6817#line 1263 "parser.yy"
    66266818    {
    66276819                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66336825
    66346826/* Line 1806 of yacc.c  */
    6635 #line 1272 "parser.yy"
     6827#line 1268 "parser.yy"
    66366828    {
    66376829                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66436835
    66446836/* Line 1806 of yacc.c  */
    6645 #line 1277 "parser.yy"
     6837#line 1273 "parser.yy"
    66466838    {
    66476839                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66536845
    66546846/* Line 1806 of yacc.c  */
    6655 #line 1286 "parser.yy"
     6847#line 1282 "parser.yy"
    66566848    {
    66576849                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    66636855
    66646856/* Line 1806 of yacc.c  */
    6665 #line 1291 "parser.yy"
     6857#line 1287 "parser.yy"
    66666858    {
    66676859                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    66736865
    66746866/* Line 1806 of yacc.c  */
    6675 #line 1321 "parser.yy"
     6867#line 1317 "parser.yy"
    66766868    {
    66776869                        (yyval.decl) = distAttr( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].decl) );
     
    66826874
    66836875/* Line 1806 of yacc.c  */
    6684 #line 1333 "parser.yy"
     6876#line 1329 "parser.yy"
    66856877    {
    66866878                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66926884
    66936885/* Line 1806 of yacc.c  */
    6694 #line 1338 "parser.yy"
     6886#line 1334 "parser.yy"
    66956887    {
    66966888                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66996891    break;
    67006892
    6701   case 299:
    6702 
    6703 /* Line 1806 of yacc.c  */
    6704 #line 1360 "parser.yy"
     6893  case 307:
     6894
     6895/* Line 1806 of yacc.c  */
     6896#line 1380 "parser.yy"
    67056897    { (yyval.decl) = nullptr; }
    67066898    break;
    67076899
    6708   case 302:
    6709 
    6710 /* Line 1806 of yacc.c  */
    6711 #line 1372 "parser.yy"
     6900  case 310:
     6901
     6902/* Line 1806 of yacc.c  */
     6903#line 1392 "parser.yy"
    67126904    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67136905    break;
    67146906
    6715   case 305:
    6716 
    6717 /* Line 1806 of yacc.c  */
    6718 #line 1382 "parser.yy"
     6907  case 313:
     6908
     6909/* Line 1806 of yacc.c  */
     6910#line 1402 "parser.yy"
    67196911    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    67206912    break;
    67216913
    6722   case 306:
    6723 
    6724 /* Line 1806 of yacc.c  */
    6725 #line 1384 "parser.yy"
     6914  case 314:
     6915
     6916/* Line 1806 of yacc.c  */
     6917#line 1404 "parser.yy"
    67266918    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    67276919    break;
    67286920
    6729   case 307:
    6730 
    6731 /* Line 1806 of yacc.c  */
    6732 #line 1386 "parser.yy"
     6921  case 315:
     6922
     6923/* Line 1806 of yacc.c  */
     6924#line 1406 "parser.yy"
    67336925    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    67346926    break;
    67356927
    6736   case 308:
    6737 
    6738 /* Line 1806 of yacc.c  */
    6739 #line 1388 "parser.yy"
     6928  case 316:
     6929
     6930/* Line 1806 of yacc.c  */
     6931#line 1408 "parser.yy"
    67406932    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    67416933    break;
    67426934
    6743   case 309:
    6744 
    6745 /* Line 1806 of yacc.c  */
    6746 #line 1390 "parser.yy"
     6935  case 317:
     6936
     6937/* Line 1806 of yacc.c  */
     6938#line 1410 "parser.yy"
    67476939    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    67486940    break;
    67496941
    6750   case 310:
    6751 
    6752 /* Line 1806 of yacc.c  */
    6753 #line 1392 "parser.yy"
     6942  case 318:
     6943
     6944/* Line 1806 of yacc.c  */
     6945#line 1412 "parser.yy"
    67546946    {
    67556947                        typedefTable.enterScope();
     
    67576949    break;
    67586950
    6759   case 311:
    6760 
    6761 /* Line 1806 of yacc.c  */
    6762 #line 1396 "parser.yy"
     6951  case 319:
     6952
     6953/* Line 1806 of yacc.c  */
     6954#line 1416 "parser.yy"
    67636955    {
    67646956                        typedefTable.leaveScope();
     
    67676959    break;
    67686960
    6769   case 313:
    6770 
    6771 /* Line 1806 of yacc.c  */
    6772 #line 1405 "parser.yy"
     6961  case 321:
     6962
     6963/* Line 1806 of yacc.c  */
     6964#line 1425 "parser.yy"
    67736965    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67746966    break;
    67756967
    6776   case 314:
    6777 
    6778 /* Line 1806 of yacc.c  */
    6779 #line 1407 "parser.yy"
     6968  case 322:
     6969
     6970/* Line 1806 of yacc.c  */
     6971#line 1427 "parser.yy"
    67806972    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67816973    break;
    67826974
    6783   case 316:
    6784 
    6785 /* Line 1806 of yacc.c  */
    6786 #line 1418 "parser.yy"
     6975  case 324:
     6976
     6977/* Line 1806 of yacc.c  */
     6978#line 1438 "parser.yy"
    67876979    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67886980    break;
    67896981
    6790   case 317:
    6791 
    6792 /* Line 1806 of yacc.c  */
    6793 #line 1423 "parser.yy"
     6982  case 325:
     6983
     6984/* Line 1806 of yacc.c  */
     6985#line 1443 "parser.yy"
    67946986    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    67956987    break;
    67966988
    6797   case 318:
    6798 
    6799 /* Line 1806 of yacc.c  */
    6800 #line 1425 "parser.yy"
     6989  case 326:
     6990
     6991/* Line 1806 of yacc.c  */
     6992#line 1445 "parser.yy"
    68016993    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    68026994    break;
    68036995
    6804   case 319:
    6805 
    6806 /* Line 1806 of yacc.c  */
    6807 #line 1427 "parser.yy"
     6996  case 327:
     6997
     6998/* Line 1806 of yacc.c  */
     6999#line 1447 "parser.yy"
    68087000    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    68097001    break;
    68107002
    6811   case 320:
    6812 
    6813 /* Line 1806 of yacc.c  */
    6814 #line 1429 "parser.yy"
     7003  case 328:
     7004
     7005/* Line 1806 of yacc.c  */
     7006#line 1449 "parser.yy"
    68157007    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    68167008    break;
    68177009
    6818   case 321:
    6819 
    6820 /* Line 1806 of yacc.c  */
    6821 #line 1432 "parser.yy"
     7010  case 329:
     7011
     7012/* Line 1806 of yacc.c  */
     7013#line 1452 "parser.yy"
    68227014    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; }
    68237015    break;
    68247016
    6825   case 322:
    6826 
    6827 /* Line 1806 of yacc.c  */
    6828 #line 1434 "parser.yy"
     7017  case 330:
     7018
     7019/* Line 1806 of yacc.c  */
     7020#line 1454 "parser.yy"
    68297021    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    68307022    break;
    68317023
    6832   case 323:
    6833 
    6834 /* Line 1806 of yacc.c  */
    6835 #line 1437 "parser.yy"
     7024  case 331:
     7025
     7026/* Line 1806 of yacc.c  */
     7027#line 1457 "parser.yy"
    68367028    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; }
    68377029    break;
    68387030
    6839   case 324:
    6840 
    6841 /* Line 1806 of yacc.c  */
    6842 #line 1439 "parser.yy"
     7031  case 332:
     7032
     7033/* Line 1806 of yacc.c  */
     7034#line 1459 "parser.yy"
    68437035    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    68447036    break;
    68457037
    6846   case 325:
    6847 
    6848 /* Line 1806 of yacc.c  */
    6849 #line 1444 "parser.yy"
     7038  case 333:
     7039
     7040/* Line 1806 of yacc.c  */
     7041#line 1464 "parser.yy"
    68507042    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    68517043    break;
    68527044
    6853   case 326:
    6854 
    6855 /* Line 1806 of yacc.c  */
    6856 #line 1446 "parser.yy"
     7045  case 334:
     7046
     7047/* Line 1806 of yacc.c  */
     7048#line 1466 "parser.yy"
    68577049    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    68587050    break;
    68597051
    6860   case 327:
    6861 
    6862 /* Line 1806 of yacc.c  */
    6863 #line 1448 "parser.yy"
     7052  case 335:
     7053
     7054/* Line 1806 of yacc.c  */
     7055#line 1468 "parser.yy"
    68647056    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    68657057    break;
    68667058
    6867   case 328:
    6868 
    6869 /* Line 1806 of yacc.c  */
    6870 #line 1450 "parser.yy"
     7059  case 336:
     7060
     7061/* Line 1806 of yacc.c  */
     7062#line 1470 "parser.yy"
    68717063    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    68727064    break;
    68737065
    6874   case 329:
    6875 
    6876 /* Line 1806 of yacc.c  */
    6877 #line 1452 "parser.yy"
     7066  case 337:
     7067
     7068/* Line 1806 of yacc.c  */
     7069#line 1472 "parser.yy"
    68787070    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); }
    68797071    break;
    68807072
    6881   case 330:
    6882 
    6883 /* Line 1806 of yacc.c  */
    6884 #line 1454 "parser.yy"
     7073  case 338:
     7074
     7075/* Line 1806 of yacc.c  */
     7076#line 1474 "parser.yy"
    68857077    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); }
    68867078    break;
    68877079
    6888   case 331:
    6889 
    6890 /* Line 1806 of yacc.c  */
    6891 #line 1456 "parser.yy"
     7080  case 339:
     7081
     7082/* Line 1806 of yacc.c  */
     7083#line 1476 "parser.yy"
    68927084    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); }
    68937085    break;
    68947086
    6895   case 332:
    6896 
    6897 /* Line 1806 of yacc.c  */
    6898 #line 1458 "parser.yy"
     7087  case 340:
     7088
     7089/* Line 1806 of yacc.c  */
     7090#line 1478 "parser.yy"
    68997091    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); }
    69007092    break;
    69017093
    6902   case 333:
    6903 
    6904 /* Line 1806 of yacc.c  */
    6905 #line 1460 "parser.yy"
     7094  case 341:
     7095
     7096/* Line 1806 of yacc.c  */
     7097#line 1480 "parser.yy"
    69067098    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    69077099    break;
    69087100
    6909   case 334:
    6910 
    6911 /* Line 1806 of yacc.c  */
    6912 #line 1462 "parser.yy"
     7101  case 342:
     7102
     7103/* Line 1806 of yacc.c  */
     7104#line 1482 "parser.yy"
    69137105    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    69147106    break;
    69157107
    6916   case 335:
    6917 
    6918 /* Line 1806 of yacc.c  */
    6919 #line 1464 "parser.yy"
     7108  case 343:
     7109
     7110/* Line 1806 of yacc.c  */
     7111#line 1484 "parser.yy"
    69207112    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); }
    69217113    break;
    69227114
    6923   case 336:
    6924 
    6925 /* Line 1806 of yacc.c  */
    6926 #line 1466 "parser.yy"
     7115  case 344:
     7116
     7117/* Line 1806 of yacc.c  */
     7118#line 1486 "parser.yy"
    69277119    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }
    69287120    break;
    69297121
    6930   case 337:
    6931 
    6932 /* Line 1806 of yacc.c  */
    6933 #line 1468 "parser.yy"
     7122  case 345:
     7123
     7124/* Line 1806 of yacc.c  */
     7125#line 1488 "parser.yy"
    69347126    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    69357127    break;
    69367128
    6937   case 338:
    6938 
    6939 /* Line 1806 of yacc.c  */
    6940 #line 1470 "parser.yy"
     7129  case 346:
     7130
     7131/* Line 1806 of yacc.c  */
     7132#line 1490 "parser.yy"
    69417133    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }
    69427134    break;
    69437135
    6944   case 339:
    6945 
    6946 /* Line 1806 of yacc.c  */
    6947 #line 1472 "parser.yy"
     7136  case 347:
     7137
     7138/* Line 1806 of yacc.c  */
     7139#line 1492 "parser.yy"
    69487140    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::One ); }
    69497141    break;
    69507142
    6951   case 341:
    6952 
    6953 /* Line 1806 of yacc.c  */
    6954 #line 1479 "parser.yy"
     7143  case 349:
     7144
     7145/* Line 1806 of yacc.c  */
     7146#line 1499 "parser.yy"
    69557147    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69567148    break;
    69577149
    6958   case 342:
    6959 
    6960 /* Line 1806 of yacc.c  */
    6961 #line 1481 "parser.yy"
     7150  case 350:
     7151
     7152/* Line 1806 of yacc.c  */
     7153#line 1501 "parser.yy"
    69627154    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69637155    break;
    69647156
    6965   case 343:
    6966 
    6967 /* Line 1806 of yacc.c  */
    6968 #line 1483 "parser.yy"
     7157  case 351:
     7158
     7159/* Line 1806 of yacc.c  */
     7160#line 1503 "parser.yy"
    69697161    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69707162    break;
    69717163
    6972   case 344:
    6973 
    6974 /* Line 1806 of yacc.c  */
    6975 #line 1485 "parser.yy"
     7164  case 352:
     7165
     7166/* Line 1806 of yacc.c  */
     7167#line 1505 "parser.yy"
    69767168    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    69777169    break;
    69787170
    6979   case 346:
    6980 
    6981 /* Line 1806 of yacc.c  */
    6982 #line 1491 "parser.yy"
     7171  case 354:
     7172
     7173/* Line 1806 of yacc.c  */
     7174#line 1511 "parser.yy"
    69837175    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69847176    break;
    69857177
    6986   case 348:
    6987 
    6988 /* Line 1806 of yacc.c  */
    6989 #line 1498 "parser.yy"
     7178  case 356:
     7179
     7180/* Line 1806 of yacc.c  */
     7181#line 1518 "parser.yy"
    69907182    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69917183    break;
    69927184
    6993   case 349:
    6994 
    6995 /* Line 1806 of yacc.c  */
    6996 #line 1500 "parser.yy"
     7185  case 357:
     7186
     7187/* Line 1806 of yacc.c  */
     7188#line 1520 "parser.yy"
    69977189    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69987190    break;
    69997191
    7000   case 350:
    7001 
    7002 /* Line 1806 of yacc.c  */
    7003 #line 1502 "parser.yy"
     7192  case 358:
     7193
     7194/* Line 1806 of yacc.c  */
     7195#line 1522 "parser.yy"
    70047196    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    70057197    break;
    70067198
    7007   case 351:
    7008 
    7009 /* Line 1806 of yacc.c  */
    7010 #line 1507 "parser.yy"
     7199  case 359:
     7200
     7201/* Line 1806 of yacc.c  */
     7202#line 1527 "parser.yy"
    70117203    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    70127204    break;
    70137205
    7014   case 352:
    7015 
    7016 /* Line 1806 of yacc.c  */
    7017 #line 1509 "parser.yy"
     7206  case 360:
     7207
     7208/* Line 1806 of yacc.c  */
     7209#line 1529 "parser.yy"
    70187210    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    70197211    break;
    70207212
    7021   case 353:
    7022 
    7023 /* Line 1806 of yacc.c  */
    7024 #line 1511 "parser.yy"
     7213  case 361:
     7214
     7215/* Line 1806 of yacc.c  */
     7216#line 1531 "parser.yy"
    70257217    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    70267218    break;
    70277219
    7028   case 354:
    7029 
    7030 /* Line 1806 of yacc.c  */
    7031 #line 1513 "parser.yy"
     7220  case 362:
     7221
     7222/* Line 1806 of yacc.c  */
     7223#line 1533 "parser.yy"
    70327224    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    70337225    break;
    70347226
    7035   case 356:
    7036 
    7037 /* Line 1806 of yacc.c  */
    7038 #line 1519 "parser.yy"
     7227  case 364:
     7228
     7229/* Line 1806 of yacc.c  */
     7230#line 1539 "parser.yy"
    70397231    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70407232    break;
    70417233
    7042   case 357:
    7043 
    7044 /* Line 1806 of yacc.c  */
    7045 #line 1521 "parser.yy"
     7234  case 365:
     7235
     7236/* Line 1806 of yacc.c  */
     7237#line 1541 "parser.yy"
    70467238    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70477239    break;
    70487240
    7049   case 358:
    7050 
    7051 /* Line 1806 of yacc.c  */
    7052 #line 1523 "parser.yy"
     7241  case 366:
     7242
     7243/* Line 1806 of yacc.c  */
     7244#line 1543 "parser.yy"
    70537245    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    70547246    break;
    70557247
    7056   case 360:
    7057 
    7058 /* Line 1806 of yacc.c  */
    7059 #line 1529 "parser.yy"
     7248  case 368:
     7249
     7250/* Line 1806 of yacc.c  */
     7251#line 1549 "parser.yy"
    70607252    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70617253    break;
    70627254
    7063   case 361:
    7064 
    7065 /* Line 1806 of yacc.c  */
    7066 #line 1531 "parser.yy"
     7255  case 369:
     7256
     7257/* Line 1806 of yacc.c  */
     7258#line 1551 "parser.yy"
    70677259    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70687260    break;
    70697261
    7070   case 363:
    7071 
    7072 /* Line 1806 of yacc.c  */
    7073 #line 1537 "parser.yy"
     7262  case 371:
     7263
     7264/* Line 1806 of yacc.c  */
     7265#line 1557 "parser.yy"
    70747266    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70757267    break;
    70767268
    7077   case 364:
    7078 
    7079 /* Line 1806 of yacc.c  */
    7080 #line 1539 "parser.yy"
     7269  case 372:
     7270
     7271/* Line 1806 of yacc.c  */
     7272#line 1559 "parser.yy"
    70817273    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70827274    break;
    70837275
    7084   case 365:
    7085 
    7086 /* Line 1806 of yacc.c  */
    7087 #line 1541 "parser.yy"
     7276  case 373:
     7277
     7278/* Line 1806 of yacc.c  */
     7279#line 1561 "parser.yy"
    70887280    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    70897281    break;
    70907282
    7091   case 366:
    7092 
    7093 /* Line 1806 of yacc.c  */
    7094 #line 1546 "parser.yy"
     7283  case 375:
     7284
     7285/* Line 1806 of yacc.c  */
     7286#line 1567 "parser.yy"
     7287    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7288    break;
     7289
     7290  case 376:
     7291
     7292/* Line 1806 of yacc.c  */
     7293#line 1569 "parser.yy"
     7294    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7295    break;
     7296
     7297  case 378:
     7298
     7299/* Line 1806 of yacc.c  */
     7300#line 1575 "parser.yy"
     7301    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7302    break;
     7303
     7304  case 379:
     7305
     7306/* Line 1806 of yacc.c  */
     7307#line 1577 "parser.yy"
     7308    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7309    break;
     7310
     7311  case 380:
     7312
     7313/* Line 1806 of yacc.c  */
     7314#line 1579 "parser.yy"
     7315    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7316    break;
     7317
     7318  case 381:
     7319
     7320/* Line 1806 of yacc.c  */
     7321#line 1584 "parser.yy"
    70957322    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    70967323    break;
    70977324
    7098   case 367:
    7099 
    7100 /* Line 1806 of yacc.c  */
    7101 #line 1548 "parser.yy"
     7325  case 382:
     7326
     7327/* Line 1806 of yacc.c  */
     7328#line 1586 "parser.yy"
    71027329    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    71037330    break;
    71047331
    7105   case 368:
    7106 
    7107 /* Line 1806 of yacc.c  */
    7108 #line 1550 "parser.yy"
     7332  case 383:
     7333
     7334/* Line 1806 of yacc.c  */
     7335#line 1588 "parser.yy"
    71097336    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    71107337    break;
    71117338
    7112   case 371:
    7113 
    7114 /* Line 1806 of yacc.c  */
    7115 #line 1560 "parser.yy"
     7339  case 388:
     7340
     7341/* Line 1806 of yacc.c  */
     7342#line 1603 "parser.yy"
    71167343    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), nullptr, nullptr, (yyvsp[(4) - (5)].decl), true )->addQualifiers( (yyvsp[(2) - (5)].decl) ); }
    71177344    break;
    71187345
    7119   case 372:
    7120 
    7121 /* Line 1806 of yacc.c  */
    7122 #line 1562 "parser.yy"
     7346  case 389:
     7347
     7348/* Line 1806 of yacc.c  */
     7349#line 1605 "parser.yy"
     7350    { typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); }
     7351    break;
     7352
     7353  case 390:
     7354
     7355/* Line 1806 of yacc.c  */
     7356#line 1607 "parser.yy"
     7357    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(3) - (7)].tok), nullptr, (yyvsp[(6) - (7)].decl), true )->addQualifiers( (yyvsp[(2) - (7)].decl) ); }
     7358    break;
     7359
     7360  case 391:
     7361
     7362/* Line 1806 of yacc.c  */
     7363#line 1609 "parser.yy"
     7364    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (8)].aggKey), nullptr, (yyvsp[(4) - (8)].en), (yyvsp[(7) - (8)].decl), false )->addQualifiers( (yyvsp[(2) - (8)].decl) ); }
     7365    break;
     7366
     7367  case 393:
     7368
     7369/* Line 1806 of yacc.c  */
     7370#line 1615 "parser.yy"
    71237371    {
    71247372                        typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) );
     
    71277375    break;
    71287376
    7129   case 373:
    7130 
    7131 /* Line 1806 of yacc.c  */
    7132 #line 1567 "parser.yy"
    7133     { typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); }
    7134     break;
    7135 
    7136   case 374:
    7137 
    7138 /* Line 1806 of yacc.c  */
    7139 #line 1569 "parser.yy"
    7140     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(3) - (7)].tok), nullptr, (yyvsp[(6) - (7)].decl), true )->addQualifiers( (yyvsp[(2) - (7)].decl) ); }
    7141     break;
    7142 
    7143   case 375:
    7144 
    7145 /* Line 1806 of yacc.c  */
    7146 #line 1571 "parser.yy"
    7147     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (8)].aggKey), nullptr, (yyvsp[(4) - (8)].en), (yyvsp[(7) - (8)].decl), false )->addQualifiers( (yyvsp[(2) - (8)].decl) ); }
    7148     break;
    7149 
    7150   case 376:
    7151 
    7152 /* Line 1806 of yacc.c  */
    7153 #line 1573 "parser.yy"
     7377  case 394:
     7378
     7379/* Line 1806 of yacc.c  */
     7380#line 1620 "parser.yy"
    71547381    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) ); }
    71557382    break;
    71567383
    7157   case 377:
    7158 
    7159 /* Line 1806 of yacc.c  */
    7160 #line 1578 "parser.yy"
     7384  case 395:
     7385
     7386/* Line 1806 of yacc.c  */
     7387#line 1625 "parser.yy"
    71617388    { (yyval.aggKey) = DeclarationNode::Struct; }
    71627389    break;
    71637390
    7164   case 378:
    7165 
    7166 /* Line 1806 of yacc.c  */
    7167 #line 1580 "parser.yy"
     7391  case 396:
     7392
     7393/* Line 1806 of yacc.c  */
     7394#line 1627 "parser.yy"
    71687395    { (yyval.aggKey) = DeclarationNode::Union; }
    71697396    break;
    71707397
    7171   case 379:
    7172 
    7173 /* Line 1806 of yacc.c  */
    7174 #line 1585 "parser.yy"
     7398  case 397:
     7399
     7400/* Line 1806 of yacc.c  */
     7401#line 1632 "parser.yy"
    71757402    { (yyval.decl) = nullptr; }
    71767403    break;
    71777404
    7178   case 380:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1587 "parser.yy"
     7405  case 398:
     7406
     7407/* Line 1806 of yacc.c  */
     7408#line 1634 "parser.yy"
    71827409    { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    71837410    break;
    71847411
    7185   case 382:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1593 "parser.yy"
     7412  case 400:
     7413
     7414/* Line 1806 of yacc.c  */
     7415#line 1640 "parser.yy"
    71897416    {
    71907417                        distExt( (yyvsp[(2) - (3)].decl) );                                                             // mark all fields in list
     
    71937420    break;
    71947421
    7195   case 383:
    7196 
    7197 /* Line 1806 of yacc.c  */
    7198 #line 1598 "parser.yy"
     7422  case 401:
     7423
     7424/* Line 1806 of yacc.c  */
     7425#line 1645 "parser.yy"
    71997426    {
    72007427                        (yyval.decl) = distAttr( (yyvsp[(1) - (3)].decl), (yyvsp[(2) - (3)].decl) ); }
    72017428    break;
    72027429
    7203   case 384:
    7204 
    7205 /* Line 1806 of yacc.c  */
    7206 #line 1601 "parser.yy"
     7430  case 402:
     7431
     7432/* Line 1806 of yacc.c  */
     7433#line 1648 "parser.yy"
    72077434    {
    72087435                        distExt( (yyvsp[(3) - (4)].decl) );                                                             // mark all fields in list
     
    72117438    break;
    72127439
    7213   case 386:
    7214 
    7215 /* Line 1806 of yacc.c  */
    7216 #line 1610 "parser.yy"
     7440  case 404:
     7441
     7442/* Line 1806 of yacc.c  */
     7443#line 1657 "parser.yy"
    72177444    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    72187445    break;
    72197446
    7220   case 387:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1612 "parser.yy"
     7447  case 405:
     7448
     7449/* Line 1806 of yacc.c  */
     7450#line 1659 "parser.yy"
    72247451    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    72257452    break;
    72267453
    7227   case 388:
    7228 
    7229 /* Line 1806 of yacc.c  */
    7230 #line 1614 "parser.yy"
     7454  case 406:
     7455
     7456/* Line 1806 of yacc.c  */
     7457#line 1661 "parser.yy"
    72317458    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    72327459    break;
    72337460
    7234   case 390:
    7235 
    7236 /* Line 1806 of yacc.c  */
    7237 #line 1620 "parser.yy"
     7461  case 408:
     7462
     7463/* Line 1806 of yacc.c  */
     7464#line 1667 "parser.yy"
    72387465    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(4) - (4)].decl)->addQualifiers( (yyvsp[(3) - (4)].decl) ) ); }
    72397466    break;
    72407467
    7241   case 391:
    7242 
    7243 /* Line 1806 of yacc.c  */
    7244 #line 1625 "parser.yy"
     7468  case 409:
     7469
     7470/* Line 1806 of yacc.c  */
     7471#line 1672 "parser.yy"
    72457472    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    72467473    break;
    72477474
    7248   case 392:
    7249 
    7250 /* Line 1806 of yacc.c  */
    7251 #line 1627 "parser.yy"
     7475  case 410:
     7476
     7477/* Line 1806 of yacc.c  */
     7478#line 1674 "parser.yy"
    72527479    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    72537480    break;
    72547481
    7255   case 393:
    7256 
    7257 /* Line 1806 of yacc.c  */
    7258 #line 1630 "parser.yy"
     7482  case 411:
     7483
     7484/* Line 1806 of yacc.c  */
     7485#line 1677 "parser.yy"
    72597486    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    72607487    break;
    72617488
    7262   case 394:
    7263 
    7264 /* Line 1806 of yacc.c  */
    7265 #line 1633 "parser.yy"
     7489  case 412:
     7490
     7491/* Line 1806 of yacc.c  */
     7492#line 1680 "parser.yy"
    72667493    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    72677494    break;
    72687495
    7269   case 396:
    7270 
    7271 /* Line 1806 of yacc.c  */
    7272 #line 1639 "parser.yy"
     7496  case 414:
     7497
     7498/* Line 1806 of yacc.c  */
     7499#line 1686 "parser.yy"
    72737500    { (yyval.en) = nullptr; }
    72747501    break;
    72757502
    7276   case 397:
    7277 
    7278 /* Line 1806 of yacc.c  */
    7279 #line 1641 "parser.yy"
     7503  case 415:
     7504
     7505/* Line 1806 of yacc.c  */
     7506#line 1688 "parser.yy"
    72807507    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    72817508    break;
    72827509
    7283   case 398:
    7284 
    7285 /* Line 1806 of yacc.c  */
    7286 #line 1646 "parser.yy"
     7510  case 416:
     7511
     7512/* Line 1806 of yacc.c  */
     7513#line 1693 "parser.yy"
    72877514    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72887515    break;
    72897516
    7290   case 399:
    7291 
    7292 /* Line 1806 of yacc.c  */
    7293 #line 1651 "parser.yy"
     7517  case 417:
     7518
     7519/* Line 1806 of yacc.c  */
     7520#line 1698 "parser.yy"
    72947521    { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(4) - (6)].decl), true )->addQualifiers( (yyvsp[(2) - (6)].decl) ); }
    72957522    break;
    72967523
    7297   case 400:
    7298 
    7299 /* Line 1806 of yacc.c  */
    7300 #line 1653 "parser.yy"
     7524  case 418:
     7525
     7526/* Line 1806 of yacc.c  */
     7527#line 1700 "parser.yy"
     7528    { typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); }
     7529    break;
     7530
     7531  case 419:
     7532
     7533/* Line 1806 of yacc.c  */
     7534#line 1702 "parser.yy"
     7535    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(3) - (8)].tok), (yyvsp[(6) - (8)].decl), true )->addQualifiers( (yyvsp[(2) - (8)].decl) ); }
     7536    break;
     7537
     7538  case 421:
     7539
     7540/* Line 1806 of yacc.c  */
     7541#line 1708 "parser.yy"
    73017542    {
    73027543                        typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) );
     
    73057546    break;
    73067547
    7307   case 401:
    7308 
    7309 /* Line 1806 of yacc.c  */
    7310 #line 1658 "parser.yy"
    7311     { typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); }
    7312     break;
    7313 
    7314   case 402:
    7315 
    7316 /* Line 1806 of yacc.c  */
    7317 #line 1660 "parser.yy"
    7318     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(3) - (8)].tok), (yyvsp[(6) - (8)].decl), true )->addQualifiers( (yyvsp[(2) - (8)].decl) ); }
    7319     break;
    7320 
    7321   case 403:
    7322 
    7323 /* Line 1806 of yacc.c  */
    7324 #line 1665 "parser.yy"
     7548  case 422:
     7549
     7550/* Line 1806 of yacc.c  */
     7551#line 1716 "parser.yy"
    73257552    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    73267553    break;
    73277554
    7328   case 404:
    7329 
    7330 /* Line 1806 of yacc.c  */
    7331 #line 1667 "parser.yy"
     7555  case 423:
     7556
     7557/* Line 1806 of yacc.c  */
     7558#line 1718 "parser.yy"
    73327559    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    73337560    break;
    73347561
    7335   case 405:
    7336 
    7337 /* Line 1806 of yacc.c  */
    7338 #line 1672 "parser.yy"
     7562  case 424:
     7563
     7564/* Line 1806 of yacc.c  */
     7565#line 1723 "parser.yy"
    73397566    { (yyval.en) = nullptr; }
    73407567    break;
    73417568
    7342   case 406:
    7343 
    7344 /* Line 1806 of yacc.c  */
    7345 #line 1674 "parser.yy"
     7569  case 425:
     7570
     7571/* Line 1806 of yacc.c  */
     7572#line 1725 "parser.yy"
    73467573    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    73477574    break;
    73487575
    7349   case 407:
    7350 
    7351 /* Line 1806 of yacc.c  */
    7352 #line 1681 "parser.yy"
     7576  case 426:
     7577
     7578/* Line 1806 of yacc.c  */
     7579#line 1732 "parser.yy"
    73537580    { (yyval.decl) = nullptr; }
    73547581    break;
    73557582
    7356   case 411:
    7357 
    7358 /* Line 1806 of yacc.c  */
    7359 #line 1689 "parser.yy"
     7583  case 430:
     7584
     7585/* Line 1806 of yacc.c  */
     7586#line 1740 "parser.yy"
    73607587    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73617588    break;
    73627589
    7363   case 412:
    7364 
    7365 /* Line 1806 of yacc.c  */
    7366 #line 1691 "parser.yy"
     7590  case 431:
     7591
     7592/* Line 1806 of yacc.c  */
     7593#line 1742 "parser.yy"
    73677594    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73687595    break;
    73697596
    7370   case 413:
    7371 
    7372 /* Line 1806 of yacc.c  */
    7373 #line 1693 "parser.yy"
     7597  case 432:
     7598
     7599/* Line 1806 of yacc.c  */
     7600#line 1744 "parser.yy"
    73747601    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73757602    break;
    73767603
    7377   case 415:
    7378 
    7379 /* Line 1806 of yacc.c  */
    7380 #line 1701 "parser.yy"
     7604  case 434:
     7605
     7606/* Line 1806 of yacc.c  */
     7607#line 1752 "parser.yy"
    73817608    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73827609    break;
    73837610
    7384   case 416:
    7385 
    7386 /* Line 1806 of yacc.c  */
    7387 #line 1703 "parser.yy"
     7611  case 435:
     7612
     7613/* Line 1806 of yacc.c  */
     7614#line 1754 "parser.yy"
    73887615    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73897616    break;
    73907617
    7391   case 417:
    7392 
    7393 /* Line 1806 of yacc.c  */
    7394 #line 1705 "parser.yy"
     7618  case 436:
     7619
     7620/* Line 1806 of yacc.c  */
     7621#line 1756 "parser.yy"
    73957622    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    73967623    break;
    73977624
    7398   case 419:
    7399 
    7400 /* Line 1806 of yacc.c  */
    7401 #line 1711 "parser.yy"
     7625  case 438:
     7626
     7627/* Line 1806 of yacc.c  */
     7628#line 1762 "parser.yy"
    74027629    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    74037630    break;
    74047631
    7405   case 420:
    7406 
    7407 /* Line 1806 of yacc.c  */
    7408 #line 1716 "parser.yy"
     7632  case 439:
     7633
     7634/* Line 1806 of yacc.c  */
     7635#line 1767 "parser.yy"
    74097636    { (yyval.decl) = nullptr; }
    74107637    break;
    74117638
    7412   case 423:
    7413 
    7414 /* Line 1806 of yacc.c  */
    7415 #line 1723 "parser.yy"
     7639  case 442:
     7640
     7641/* Line 1806 of yacc.c  */
     7642#line 1774 "parser.yy"
    74167643    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    74177644    break;
    74187645
    7419   case 426:
    7420 
    7421 /* Line 1806 of yacc.c  */
    7422 #line 1730 "parser.yy"
     7646  case 445:
     7647
     7648/* Line 1806 of yacc.c  */
     7649#line 1781 "parser.yy"
    74237650    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    74247651    break;
    74257652
    7426   case 427:
    7427 
    7428 /* Line 1806 of yacc.c  */
    7429 #line 1732 "parser.yy"
     7653  case 446:
     7654
     7655/* Line 1806 of yacc.c  */
     7656#line 1783 "parser.yy"
    74307657    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    74317658    break;
    74327659
    7433   case 429:
    7434 
    7435 /* Line 1806 of yacc.c  */
    7436 #line 1741 "parser.yy"
     7660  case 448:
     7661
     7662/* Line 1806 of yacc.c  */
     7663#line 1792 "parser.yy"
    74377664    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    74387665    break;
    74397666
    7440   case 430:
    7441 
    7442 /* Line 1806 of yacc.c  */
    7443 #line 1744 "parser.yy"
     7667  case 449:
     7668
     7669/* Line 1806 of yacc.c  */
     7670#line 1795 "parser.yy"
    74447671    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    74457672    break;
    74467673
    7447   case 431:
    7448 
    7449 /* Line 1806 of yacc.c  */
    7450 #line 1746 "parser.yy"
     7674  case 450:
     7675
     7676/* Line 1806 of yacc.c  */
     7677#line 1797 "parser.yy"
    74517678    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    74527679    break;
    74537680
    7454   case 436:
    7455 
    7456 /* Line 1806 of yacc.c  */
    7457 #line 1756 "parser.yy"
     7681  case 455:
     7682
     7683/* Line 1806 of yacc.c  */
     7684#line 1807 "parser.yy"
    74587685    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74597686    break;
    74607687
    7461   case 438:
    7462 
    7463 /* Line 1806 of yacc.c  */
    7464 #line 1762 "parser.yy"
     7688  case 457:
     7689
     7690/* Line 1806 of yacc.c  */
     7691#line 1814 "parser.yy"
    74657692    {
    74667693                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74697696    break;
    74707697
    7471   case 439:
    7472 
    7473 /* Line 1806 of yacc.c  */
    7474 #line 1767 "parser.yy"
     7698  case 458:
     7699
     7700/* Line 1806 of yacc.c  */
     7701#line 1819 "parser.yy"
    74757702    {
    74767703                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74797706    break;
    74807707
    7481   case 440:
    7482 
    7483 /* Line 1806 of yacc.c  */
    7484 #line 1775 "parser.yy"
     7708  case 459:
     7709
     7710/* Line 1806 of yacc.c  */
     7711#line 1827 "parser.yy"
    74857712    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].en) ? new InitializerNode( (yyvsp[(2) - (2)].en) ) : nullptr ); }
    74867713    break;
    74877714
    7488   case 441:
    7489 
    7490 /* Line 1806 of yacc.c  */
    7491 #line 1777 "parser.yy"
     7715  case 460:
     7716
     7717/* Line 1806 of yacc.c  */
     7718#line 1829 "parser.yy"
    74927719    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].en) ? new InitializerNode( (yyvsp[(3) - (3)].en) ) : nullptr ); }
    74937720    break;
    74947721
    7495   case 442:
    7496 
    7497 /* Line 1806 of yacc.c  */
    7498 #line 1786 "parser.yy"
     7722  case 461:
     7723
     7724/* Line 1806 of yacc.c  */
     7725#line 1838 "parser.yy"
    74997726    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    75007727    break;
    75017728
    7502   case 443:
    7503 
    7504 /* Line 1806 of yacc.c  */
    7505 #line 1788 "parser.yy"
     7729  case 462:
     7730
     7731/* Line 1806 of yacc.c  */
     7732#line 1840 "parser.yy"
    75067733    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    75077734    break;
    75087735
    7509   case 455:
    7510 
    7511 /* Line 1806 of yacc.c  */
    7512 #line 1813 "parser.yy"
     7736  case 474:
     7737
     7738/* Line 1806 of yacc.c  */
     7739#line 1865 "parser.yy"
    75137740    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    75147741    break;
    75157742
    7516   case 458:
    7517 
    7518 /* Line 1806 of yacc.c  */
    7519 #line 1823 "parser.yy"
     7743  case 477:
     7744
     7745/* Line 1806 of yacc.c  */
     7746#line 1875 "parser.yy"
    75207747    { (yyval.in) = nullptr; }
    75217748    break;
    75227749
    7523   case 459:
    7524 
    7525 /* Line 1806 of yacc.c  */
    7526 #line 1825 "parser.yy"
     7750  case 478:
     7751
     7752/* Line 1806 of yacc.c  */
     7753#line 1877 "parser.yy"
    75277754    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    75287755    break;
    75297756
    7530   case 460:
    7531 
    7532 /* Line 1806 of yacc.c  */
    7533 #line 1827 "parser.yy"
     7757  case 479:
     7758
     7759/* Line 1806 of yacc.c  */
     7760#line 1879 "parser.yy"
    75347761    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    75357762    break;
    75367763
    7537   case 461:
    7538 
    7539 /* Line 1806 of yacc.c  */
    7540 #line 1831 "parser.yy"
     7764  case 480:
     7765
     7766/* Line 1806 of yacc.c  */
     7767#line 1883 "parser.yy"
    75417768    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    75427769    break;
    75437770
    7544   case 462:
    7545 
    7546 /* Line 1806 of yacc.c  */
    7547 #line 1832 "parser.yy"
     7771  case 481:
     7772
     7773/* Line 1806 of yacc.c  */
     7774#line 1884 "parser.yy"
    75487775    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    75497776    break;
    75507777
    7551   case 463:
    7552 
    7553 /* Line 1806 of yacc.c  */
    7554 #line 1837 "parser.yy"
     7778  case 482:
     7779
     7780/* Line 1806 of yacc.c  */
     7781#line 1889 "parser.yy"
    75557782    { (yyval.in) = nullptr; }
    75567783    break;
    75577784
    7558   case 465:
    7559 
    7560 /* Line 1806 of yacc.c  */
    7561 #line 1839 "parser.yy"
     7785  case 484:
     7786
     7787/* Line 1806 of yacc.c  */
     7788#line 1891 "parser.yy"
    75627789    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    75637790    break;
    75647791
    7565   case 466:
    7566 
    7567 /* Line 1806 of yacc.c  */
    7568 #line 1840 "parser.yy"
     7792  case 485:
     7793
     7794/* Line 1806 of yacc.c  */
     7795#line 1892 "parser.yy"
    75697796    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    75707797    break;
    75717798
    7572   case 467:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1842 "parser.yy"
     7799  case 486:
     7800
     7801/* Line 1806 of yacc.c  */
     7802#line 1894 "parser.yy"
    75767803    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    75777804    break;
    75787805
    7579   case 469:
    7580 
    7581 /* Line 1806 of yacc.c  */
    7582 #line 1858 "parser.yy"
     7806  case 488:
     7807
     7808/* Line 1806 of yacc.c  */
     7809#line 1910 "parser.yy"
    75837810    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    75847811    break;
    75857812
    7586   case 471:
    7587 
    7588 /* Line 1806 of yacc.c  */
    7589 #line 1864 "parser.yy"
     7813  case 490:
     7814
     7815/* Line 1806 of yacc.c  */
     7816#line 1916 "parser.yy"
    75907817    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
    75917818    break;
    75927819
    7593   case 472:
    7594 
    7595 /* Line 1806 of yacc.c  */
    7596 #line 1870 "parser.yy"
     7820  case 491:
     7821
     7822/* Line 1806 of yacc.c  */
     7823#line 1922 "parser.yy"
    75977824    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    75987825    break;
    75997826
    7600   case 473:
    7601 
    7602 /* Line 1806 of yacc.c  */
    7603 #line 1873 "parser.yy"
     7827  case 492:
     7828
     7829/* Line 1806 of yacc.c  */
     7830#line 1925 "parser.yy"
    76047831    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    76057832    break;
    76067833
    7607   case 474:
    7608 
    7609 /* Line 1806 of yacc.c  */
    7610 #line 1875 "parser.yy"
     7834  case 493:
     7835
     7836/* Line 1806 of yacc.c  */
     7837#line 1927 "parser.yy"
    76117838    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    76127839    break;
    76137840
    7614   case 475:
    7615 
    7616 /* Line 1806 of yacc.c  */
    7617 #line 1877 "parser.yy"
     7841  case 494:
     7842
     7843/* Line 1806 of yacc.c  */
     7844#line 1929 "parser.yy"
    76187845    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    76197846    break;
    76207847
    7621   case 476:
    7622 
    7623 /* Line 1806 of yacc.c  */
    7624 #line 1879 "parser.yy"
     7848  case 495:
     7849
     7850/* Line 1806 of yacc.c  */
     7851#line 1931 "parser.yy"
    76257852    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    76267853    break;
    76277854
    7628   case 478:
    7629 
    7630 /* Line 1806 of yacc.c  */
    7631 #line 1903 "parser.yy"
     7855  case 497:
     7856
     7857/* Line 1806 of yacc.c  */
     7858#line 1955 "parser.yy"
    76327859    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    76337860    break;
    76347861
    7635   case 479:
    7636 
    7637 /* Line 1806 of yacc.c  */
    7638 #line 1905 "parser.yy"
     7862  case 498:
     7863
     7864/* Line 1806 of yacc.c  */
     7865#line 1957 "parser.yy"
    76397866    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    76407867    break;
    76417868
    7642   case 480:
    7643 
    7644 /* Line 1806 of yacc.c  */
    7645 #line 1907 "parser.yy"
     7869  case 499:
     7870
     7871/* Line 1806 of yacc.c  */
     7872#line 1959 "parser.yy"
    76467873    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    76477874    break;
    76487875
    7649   case 482:
    7650 
    7651 /* Line 1806 of yacc.c  */
    7652 #line 1913 "parser.yy"
     7876  case 501:
     7877
     7878/* Line 1806 of yacc.c  */
     7879#line 1965 "parser.yy"
    76537880    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    76547881    break;
    76557882
    7656   case 483:
    7657 
    7658 /* Line 1806 of yacc.c  */
    7659 #line 1915 "parser.yy"
     7883  case 502:
     7884
     7885/* Line 1806 of yacc.c  */
     7886#line 1967 "parser.yy"
    76607887    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    76617888    break;
    76627889
    7663   case 484:
    7664 
    7665 /* Line 1806 of yacc.c  */
    7666 #line 1920 "parser.yy"
     7890  case 503:
     7891
     7892/* Line 1806 of yacc.c  */
     7893#line 1972 "parser.yy"
    76677894    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    76687895    break;
    76697896
    7670   case 486:
    7671 
    7672 /* Line 1806 of yacc.c  */
    7673 #line 1926 "parser.yy"
     7897  case 505:
     7898
     7899/* Line 1806 of yacc.c  */
     7900#line 1978 "parser.yy"
    76747901    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    76757902    break;
    76767903
    7677   case 487:
    7678 
    7679 /* Line 1806 of yacc.c  */
    7680 #line 1931 "parser.yy"
     7904  case 506:
     7905
     7906/* Line 1806 of yacc.c  */
     7907#line 1983 "parser.yy"
    76817908    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    76827909    break;
    76837910
    7684   case 488:
    7685 
    7686 /* Line 1806 of yacc.c  */
    7687 #line 1933 "parser.yy"
     7911  case 507:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 1985 "parser.yy"
    76887915    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    76897916    break;
    76907917
    7691   case 490:
    7692 
    7693 /* Line 1806 of yacc.c  */
    7694 #line 1939 "parser.yy"
     7918  case 509:
     7919
     7920/* Line 1806 of yacc.c  */
     7921#line 1991 "parser.yy"
    76957922    { (yyval.tclass) = DeclarationNode::Otype; }
    76967923    break;
    76977924
    7698   case 491:
    7699 
    7700 /* Line 1806 of yacc.c  */
    7701 #line 1941 "parser.yy"
     7925  case 510:
     7926
     7927/* Line 1806 of yacc.c  */
     7928#line 1993 "parser.yy"
    77027929    { (yyval.tclass) = DeclarationNode::Dtype; }
    77037930    break;
    77047931
    7705   case 492:
    7706 
    7707 /* Line 1806 of yacc.c  */
    7708 #line 1943 "parser.yy"
     7932  case 511:
     7933
     7934/* Line 1806 of yacc.c  */
     7935#line 1995 "parser.yy"
    77097936    { (yyval.tclass) = DeclarationNode::Ftype; }
    77107937    break;
    77117938
    7712   case 493:
    7713 
    7714 /* Line 1806 of yacc.c  */
    7715 #line 1945 "parser.yy"
     7939  case 512:
     7940
     7941/* Line 1806 of yacc.c  */
     7942#line 1997 "parser.yy"
    77167943    { (yyval.tclass) = DeclarationNode::Ttype; }
    77177944    break;
    77187945
    7719   case 494:
    7720 
    7721 /* Line 1806 of yacc.c  */
    7722 #line 1950 "parser.yy"
     7946  case 513:
     7947
     7948/* Line 1806 of yacc.c  */
     7949#line 2002 "parser.yy"
    77237950    { (yyval.decl) = nullptr; }
    77247951    break;
    77257952
    7726   case 495:
    7727 
    7728 /* Line 1806 of yacc.c  */
    7729 #line 1952 "parser.yy"
     7953  case 514:
     7954
     7955/* Line 1806 of yacc.c  */
     7956#line 2004 "parser.yy"
    77307957    { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    77317958    break;
    77327959
    7733   case 496:
    7734 
    7735 /* Line 1806 of yacc.c  */
    7736 #line 1957 "parser.yy"
     7960  case 515:
     7961
     7962/* Line 1806 of yacc.c  */
     7963#line 2009 "parser.yy"
    77377964    {
    77387965                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    77417968    break;
    77427969
    7743   case 497:
    7744 
    7745 /* Line 1806 of yacc.c  */
    7746 #line 1962 "parser.yy"
     7970  case 516:
     7971
     7972/* Line 1806 of yacc.c  */
     7973#line 2014 "parser.yy"
    77477974    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    77487975    break;
    77497976
    7750   case 498:
    7751 
    7752 /* Line 1806 of yacc.c  */
    7753 #line 1964 "parser.yy"
     7977  case 517:
     7978
     7979/* Line 1806 of yacc.c  */
     7980#line 2016 "parser.yy"
    77547981    { (yyval.decl) = nullptr; }
    77557982    break;
    77567983
    7757   case 499:
    7758 
    7759 /* Line 1806 of yacc.c  */
    7760 #line 1969 "parser.yy"
     7984  case 518:
     7985
     7986/* Line 1806 of yacc.c  */
     7987#line 2021 "parser.yy"
    77617988    { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    77627989    break;
    77637990
    7764   case 501:
    7765 
    7766 /* Line 1806 of yacc.c  */
    7767 #line 1972 "parser.yy"
     7991  case 520:
     7992
     7993/* Line 1806 of yacc.c  */
     7994#line 2024 "parser.yy"
    77687995    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
    77697996    break;
    77707997
    7771   case 502:
    7772 
    7773 /* Line 1806 of yacc.c  */
    7774 #line 1974 "parser.yy"
     7998  case 521:
     7999
     8000/* Line 1806 of yacc.c  */
     8001#line 2026 "parser.yy"
    77758002    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    77768003    break;
    77778004
    7778   case 503:
    7779 
    7780 /* Line 1806 of yacc.c  */
    7781 #line 1979 "parser.yy"
     8005  case 522:
     8006
     8007/* Line 1806 of yacc.c  */
     8008#line 2031 "parser.yy"
    77828009    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    77838010    break;
    77848011
    7785   case 504:
    7786 
    7787 /* Line 1806 of yacc.c  */
    7788 #line 1981 "parser.yy"
     8012  case 523:
     8013
     8014/* Line 1806 of yacc.c  */
     8015#line 2033 "parser.yy"
    77898016    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    77908017    break;
    77918018
    7792   case 505:
    7793 
    7794 /* Line 1806 of yacc.c  */
    7795 #line 1983 "parser.yy"
     8019  case 524:
     8020
     8021/* Line 1806 of yacc.c  */
     8022#line 2035 "parser.yy"
    77968023    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    77978024    break;
    77988025
    7799   case 506:
    7800 
    7801 /* Line 1806 of yacc.c  */
    7802 #line 1988 "parser.yy"
     8026  case 525:
     8027
     8028/* Line 1806 of yacc.c  */
     8029#line 2040 "parser.yy"
    78038030    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    78048031    break;
    78058032
    7806   case 507:
    7807 
    7808 /* Line 1806 of yacc.c  */
    7809 #line 1990 "parser.yy"
     8033  case 526:
     8034
     8035/* Line 1806 of yacc.c  */
     8036#line 2042 "parser.yy"
    78108037    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    78118038    break;
    78128039
    7813   case 508:
    7814 
    7815 /* Line 1806 of yacc.c  */
    7816 #line 1995 "parser.yy"
     8040  case 527:
     8041
     8042/* Line 1806 of yacc.c  */
     8043#line 2047 "parser.yy"
    78178044    {
    78188045                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    78218048    break;
    78228049
    7823   case 509:
    7824 
    7825 /* Line 1806 of yacc.c  */
    7826 #line 2000 "parser.yy"
     8050  case 528:
     8051
     8052/* Line 1806 of yacc.c  */
     8053#line 2052 "parser.yy"
    78278054    {
    78288055                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    78318058    break;
    78328059
    7833   case 510:
    7834 
    7835 /* Line 1806 of yacc.c  */
    7836 #line 2008 "parser.yy"
     8060  case 529:
     8061
     8062/* Line 1806 of yacc.c  */
     8063#line 2060 "parser.yy"
    78378064    {
    78388065                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    78418068    break;
    78428069
    7843   case 511:
    7844 
    7845 /* Line 1806 of yacc.c  */
    7846 #line 2013 "parser.yy"
     8070  case 530:
     8071
     8072/* Line 1806 of yacc.c  */
     8073#line 2065 "parser.yy"
    78478074    {
    78488075                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    78518078    break;
    78528079
    7853   case 512:
    7854 
    7855 /* Line 1806 of yacc.c  */
    7856 #line 2018 "parser.yy"
     8080  case 531:
     8081
     8082/* Line 1806 of yacc.c  */
     8083#line 2070 "parser.yy"
    78578084    {
    78588085                        typedefTable.leaveTrait();
     
    78628089    break;
    78638090
    7864   case 514:
    7865 
    7866 /* Line 1806 of yacc.c  */
    7867 #line 2028 "parser.yy"
     8091  case 533:
     8092
     8093/* Line 1806 of yacc.c  */
     8094#line 2080 "parser.yy"
    78688095    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    78698096    break;
    78708097
    7871   case 517:
    7872 
    7873 /* Line 1806 of yacc.c  */
    7874 #line 2038 "parser.yy"
     8098  case 536:
     8099
     8100/* Line 1806 of yacc.c  */
     8101#line 2090 "parser.yy"
    78758102    {
    78768103                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78798106    break;
    78808107
    7881   case 518:
    7882 
    7883 /* Line 1806 of yacc.c  */
    7884 #line 2043 "parser.yy"
     8108  case 537:
     8109
     8110/* Line 1806 of yacc.c  */
     8111#line 2095 "parser.yy"
    78858112    {
    78868113                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78898116    break;
    78908117
    7891   case 519:
    7892 
    7893 /* Line 1806 of yacc.c  */
    7894 #line 2048 "parser.yy"
     8118  case 538:
     8119
     8120/* Line 1806 of yacc.c  */
     8121#line 2100 "parser.yy"
    78958122    {
    78968123                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    78998126    break;
    79008127
    7901   case 520:
    7902 
    7903 /* Line 1806 of yacc.c  */
    7904 #line 2056 "parser.yy"
     8128  case 539:
     8129
     8130/* Line 1806 of yacc.c  */
     8131#line 2108 "parser.yy"
    79058132    {
    79068133                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    79098136    break;
    79108137
    7911   case 521:
    7912 
    7913 /* Line 1806 of yacc.c  */
    7914 #line 2061 "parser.yy"
     8138  case 540:
     8139
     8140/* Line 1806 of yacc.c  */
     8141#line 2113 "parser.yy"
    79158142    {
    79168143                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    79198146    break;
    79208147
    7921   case 522:
    7922 
    7923 /* Line 1806 of yacc.c  */
    7924 #line 2071 "parser.yy"
     8148  case 541:
     8149
     8150/* Line 1806 of yacc.c  */
     8151#line 2123 "parser.yy"
    79258152    {}
    79268153    break;
    79278154
    7928   case 523:
    7929 
    7930 /* Line 1806 of yacc.c  */
    7931 #line 2073 "parser.yy"
     8155  case 542:
     8156
     8157/* Line 1806 of yacc.c  */
     8158#line 2125 "parser.yy"
    79328159    { parseTree = parseTree ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl);       }
    79338160    break;
    79348161
    7935   case 525:
    7936 
    7937 /* Line 1806 of yacc.c  */
    7938 #line 2079 "parser.yy"
     8162  case 544:
     8163
     8164/* Line 1806 of yacc.c  */
     8165#line 2131 "parser.yy"
    79398166    { (yyval.decl) = (yyvsp[(1) - (3)].decl) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    79408167    break;
    79418168
    7942   case 526:
    7943 
    7944 /* Line 1806 of yacc.c  */
    7945 #line 2084 "parser.yy"
     8169  case 545:
     8170
     8171/* Line 1806 of yacc.c  */
     8172#line 2136 "parser.yy"
    79468173    { (yyval.decl) = nullptr; }
    79478174    break;
    79488175
    7949   case 530:
    7950 
    7951 /* Line 1806 of yacc.c  */
    7952 #line 2092 "parser.yy"
     8176  case 549:
     8177
     8178/* Line 1806 of yacc.c  */
     8179#line 2144 "parser.yy"
    79538180    {
    79548181                        (yyval.decl) = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, (yyvsp[(3) - (5)].constant), 0 ) ) );
     
    79568183    break;
    79578184
    7958   case 531:
    7959 
    7960 /* Line 1806 of yacc.c  */
    7961 #line 2096 "parser.yy"
     8185  case 550:
     8186
     8187/* Line 1806 of yacc.c  */
     8188#line 2148 "parser.yy"
    79628189    {
    79638190                        linkageStack.push( linkage );                           // handle nested extern "C"/"Cforall"
     
    79668193    break;
    79678194
    7968   case 532:
    7969 
    7970 /* Line 1806 of yacc.c  */
    7971 #line 2101 "parser.yy"
     8195  case 551:
     8196
     8197/* Line 1806 of yacc.c  */
     8198#line 2153 "parser.yy"
    79728199    {
    79738200                        linkage = linkageStack.top();
     
    79778204    break;
    79788205
    7979   case 533:
    7980 
    7981 /* Line 1806 of yacc.c  */
    7982 #line 2107 "parser.yy"
     8206  case 552:
     8207
     8208/* Line 1806 of yacc.c  */
     8209#line 2159 "parser.yy"
    79838210    {
    79848211                        distExt( (yyvsp[(2) - (2)].decl) );                                                             // mark all fields in list
     
    79878214    break;
    79888215
    7989   case 535:
    7990 
    7991 /* Line 1806 of yacc.c  */
    7992 #line 2121 "parser.yy"
     8216  case 554:
     8217
     8218/* Line 1806 of yacc.c  */
     8219#line 2173 "parser.yy"
    79938220    {
    79948221                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79988225    break;
    79998226
    8000   case 536:
    8001 
    8002 /* Line 1806 of yacc.c  */
    8003 #line 2127 "parser.yy"
     8227  case 555:
     8228
     8229/* Line 1806 of yacc.c  */
     8230#line 2179 "parser.yy"
    80048231    {
    80058232                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80098236    break;
    80108237
    8011   case 537:
    8012 
    8013 /* Line 1806 of yacc.c  */
    8014 #line 2136 "parser.yy"
     8238  case 556:
     8239
     8240/* Line 1806 of yacc.c  */
     8241#line 2188 "parser.yy"
    80158242    {
    80168243                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80208247    break;
    80218248
    8022   case 538:
    8023 
    8024 /* Line 1806 of yacc.c  */
    8025 #line 2142 "parser.yy"
     8249  case 557:
     8250
     8251/* Line 1806 of yacc.c  */
     8252#line 2194 "parser.yy"
    80268253    {
    80278254                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80318258    break;
    80328259
    8033   case 539:
    8034 
    8035 /* Line 1806 of yacc.c  */
    8036 #line 2148 "parser.yy"
     8260  case 558:
     8261
     8262/* Line 1806 of yacc.c  */
     8263#line 2200 "parser.yy"
    80378264    {
    80388265                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80428269    break;
    80438270
    8044   case 540:
    8045 
    8046 /* Line 1806 of yacc.c  */
    8047 #line 2154 "parser.yy"
     8271  case 559:
     8272
     8273/* Line 1806 of yacc.c  */
     8274#line 2206 "parser.yy"
    80488275    {
    80498276                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80538280    break;
    80548281
    8055   case 541:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2160 "parser.yy"
     8282  case 560:
     8283
     8284/* Line 1806 of yacc.c  */
     8285#line 2212 "parser.yy"
    80598286    {
    80608287                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80648291    break;
    80658292
    8066   case 542:
    8067 
    8068 /* Line 1806 of yacc.c  */
    8069 #line 2168 "parser.yy"
     8293  case 561:
     8294
     8295/* Line 1806 of yacc.c  */
     8296#line 2220 "parser.yy"
    80708297    {
    80718298                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80758302    break;
    80768303
    8077   case 543:
    8078 
    8079 /* Line 1806 of yacc.c  */
    8080 #line 2174 "parser.yy"
     8304  case 562:
     8305
     8306/* Line 1806 of yacc.c  */
     8307#line 2226 "parser.yy"
    80818308    {
    80828309                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80868313    break;
    80878314
    8088   case 544:
    8089 
    8090 /* Line 1806 of yacc.c  */
    8091 #line 2182 "parser.yy"
     8315  case 563:
     8316
     8317/* Line 1806 of yacc.c  */
     8318#line 2234 "parser.yy"
    80928319    {
    80938320                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80978324    break;
    80988325
    8099   case 545:
    8100 
    8101 /* Line 1806 of yacc.c  */
    8102 #line 2188 "parser.yy"
     8326  case 564:
     8327
     8328/* Line 1806 of yacc.c  */
     8329#line 2240 "parser.yy"
    81038330    {
    81048331                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    81088335    break;
    81098336
    8110   case 549:
    8111 
    8112 /* Line 1806 of yacc.c  */
    8113 #line 2203 "parser.yy"
     8337  case 568:
     8338
     8339/* Line 1806 of yacc.c  */
     8340#line 2255 "parser.yy"
    81148341    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    81158342    break;
    81168343
    8117   case 550:
    8118 
    8119 /* Line 1806 of yacc.c  */
    8120 #line 2208 "parser.yy"
     8344  case 569:
     8345
     8346/* Line 1806 of yacc.c  */
     8347#line 2260 "parser.yy"
    81218348    { (yyval.decl) = nullptr; }
    81228349    break;
    81238350
    8124   case 551:
    8125 
    8126 /* Line 1806 of yacc.c  */
    8127 #line 2210 "parser.yy"
     8351  case 570:
     8352
     8353/* Line 1806 of yacc.c  */
     8354#line 2262 "parser.yy"
    81288355    {
    81298356                        DeclarationNode * name = new DeclarationNode();
     
    81338360    break;
    81348361
    8135   case 552:
    8136 
    8137 /* Line 1806 of yacc.c  */
    8138 #line 2219 "parser.yy"
     8362  case 571:
     8363
     8364/* Line 1806 of yacc.c  */
     8365#line 2271 "parser.yy"
    81398366    { (yyval.decl) = nullptr; }
    81408367    break;
    81418368
    8142   case 555:
    8143 
    8144 /* Line 1806 of yacc.c  */
    8145 #line 2226 "parser.yy"
     8369  case 574:
     8370
     8371/* Line 1806 of yacc.c  */
     8372#line 2278 "parser.yy"
    81468373    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    81478374    break;
    81488375
    8149   case 556:
    8150 
    8151 /* Line 1806 of yacc.c  */
    8152 #line 2231 "parser.yy"
     8376  case 575:
     8377
     8378/* Line 1806 of yacc.c  */
     8379#line 2283 "parser.yy"
    81538380    { (yyval.decl) = (yyvsp[(4) - (6)].decl); }
    81548381    break;
    81558382
    8156   case 558:
    8157 
    8158 /* Line 1806 of yacc.c  */
    8159 #line 2237 "parser.yy"
     8383  case 577:
     8384
     8385/* Line 1806 of yacc.c  */
     8386#line 2289 "parser.yy"
    81608387    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    81618388    break;
    81628389
    8163   case 559:
    8164 
    8165 /* Line 1806 of yacc.c  */
    8166 #line 2242 "parser.yy"
     8390  case 578:
     8391
     8392/* Line 1806 of yacc.c  */
     8393#line 2294 "parser.yy"
    81678394    { (yyval.decl) = nullptr; }
    81688395    break;
    81698396
    8170   case 560:
    8171 
    8172 /* Line 1806 of yacc.c  */
    8173 #line 2244 "parser.yy"
     8397  case 579:
     8398
     8399/* Line 1806 of yacc.c  */
     8400#line 2296 "parser.yy"
    81748401    { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (1)].tok) ); }
    81758402    break;
    81768403
    8177   case 561:
    8178 
    8179 /* Line 1806 of yacc.c  */
    8180 #line 2246 "parser.yy"
     8404  case 580:
     8405
     8406/* Line 1806 of yacc.c  */
     8407#line 2298 "parser.yy"
    81818408    { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    81828409    break;
    81838410
    8184   case 565:
    8185 
    8186 /* Line 1806 of yacc.c  */
    8187 #line 2254 "parser.yy"
     8411  case 584:
     8412
     8413/* Line 1806 of yacc.c  */
     8414#line 2306 "parser.yy"
    81888415    { (yyval.tok) = Token{ new string( "__const__" ) }; }
    81898416    break;
    81908417
    8191   case 566:
    8192 
    8193 /* Line 1806 of yacc.c  */
    8194 #line 2289 "parser.yy"
     8418  case 585:
     8419
     8420/* Line 1806 of yacc.c  */
     8421#line 2341 "parser.yy"
    81958422    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81968423    break;
    81978424
    8198   case 568:
    8199 
    8200 /* Line 1806 of yacc.c  */
    8201 #line 2292 "parser.yy"
     8425  case 587:
     8426
     8427/* Line 1806 of yacc.c  */
     8428#line 2344 "parser.yy"
    82028429    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82038430    break;
    82048431
    8205   case 569:
    8206 
    8207 /* Line 1806 of yacc.c  */
    8208 #line 2294 "parser.yy"
     8432  case 588:
     8433
     8434/* Line 1806 of yacc.c  */
     8435#line 2346 "parser.yy"
    82098436    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82108437    break;
    82118438
    8212   case 570:
    8213 
    8214 /* Line 1806 of yacc.c  */
    8215 #line 2299 "parser.yy"
     8439  case 589:
     8440
     8441/* Line 1806 of yacc.c  */
     8442#line 2351 "parser.yy"
    82168443    {
    82178444                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    82208447    break;
    82218448
    8222   case 571:
    8223 
    8224 /* Line 1806 of yacc.c  */
    8225 #line 2304 "parser.yy"
     8449  case 590:
     8450
     8451/* Line 1806 of yacc.c  */
     8452#line 2356 "parser.yy"
    82268453    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82278454    break;
    82288455
    8229   case 572:
    8230 
    8231 /* Line 1806 of yacc.c  */
    8232 #line 2309 "parser.yy"
     8456  case 591:
     8457
     8458/* Line 1806 of yacc.c  */
     8459#line 2361 "parser.yy"
    82338460    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82348461    break;
    82358462
    8236   case 573:
    8237 
    8238 /* Line 1806 of yacc.c  */
    8239 #line 2311 "parser.yy"
     8463  case 592:
     8464
     8465/* Line 1806 of yacc.c  */
     8466#line 2363 "parser.yy"
    82408467    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82418468    break;
    82428469
    8243   case 574:
    8244 
    8245 /* Line 1806 of yacc.c  */
    8246 #line 2313 "parser.yy"
     8470  case 593:
     8471
     8472/* Line 1806 of yacc.c  */
     8473#line 2365 "parser.yy"
    82478474    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    82488475    break;
    82498476
    8250   case 575:
    8251 
    8252 /* Line 1806 of yacc.c  */
    8253 #line 2318 "parser.yy"
     8477  case 594:
     8478
     8479/* Line 1806 of yacc.c  */
     8480#line 2370 "parser.yy"
    82548481    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    82558482    break;
    82568483
    8257   case 576:
    8258 
    8259 /* Line 1806 of yacc.c  */
    8260 #line 2320 "parser.yy"
     8484  case 595:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2372 "parser.yy"
    82618488    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82628489    break;
    82638490
    8264   case 577:
    8265 
    8266 /* Line 1806 of yacc.c  */
    8267 #line 2322 "parser.yy"
     8491  case 596:
     8492
     8493/* Line 1806 of yacc.c  */
     8494#line 2374 "parser.yy"
    82688495    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82698496    break;
    82708497
    8271   case 578:
    8272 
    8273 /* Line 1806 of yacc.c  */
    8274 #line 2324 "parser.yy"
     8498  case 597:
     8499
     8500/* Line 1806 of yacc.c  */
     8501#line 2376 "parser.yy"
    82758502    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82768503    break;
    82778504
    8278   case 579:
    8279 
    8280 /* Line 1806 of yacc.c  */
    8281 #line 2329 "parser.yy"
     8505  case 598:
     8506
     8507/* Line 1806 of yacc.c  */
     8508#line 2381 "parser.yy"
    82828509    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82838510    break;
    82848511
    8285   case 580:
    8286 
    8287 /* Line 1806 of yacc.c  */
    8288 #line 2331 "parser.yy"
     8512  case 599:
     8513
     8514/* Line 1806 of yacc.c  */
     8515#line 2383 "parser.yy"
    82898516    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82908517    break;
    82918518
    8292   case 581:
    8293 
    8294 /* Line 1806 of yacc.c  */
    8295 #line 2340 "parser.yy"
     8519  case 600:
     8520
     8521/* Line 1806 of yacc.c  */
     8522#line 2392 "parser.yy"
    82968523    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82978524    break;
    82988525
    8299   case 583:
    8300 
    8301 /* Line 1806 of yacc.c  */
    8302 #line 2343 "parser.yy"
     8526  case 602:
     8527
     8528/* Line 1806 of yacc.c  */
     8529#line 2395 "parser.yy"
    83038530    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83048531    break;
    83058532
    8306   case 584:
    8307 
    8308 /* Line 1806 of yacc.c  */
    8309 #line 2348 "parser.yy"
     8533  case 603:
     8534
     8535/* Line 1806 of yacc.c  */
     8536#line 2400 "parser.yy"
    83108537    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83118538    break;
    83128539
    8313   case 585:
    8314 
    8315 /* Line 1806 of yacc.c  */
    8316 #line 2350 "parser.yy"
     8540  case 604:
     8541
     8542/* Line 1806 of yacc.c  */
     8543#line 2402 "parser.yy"
    83178544    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83188545    break;
    83198546
    8320   case 586:
    8321 
    8322 /* Line 1806 of yacc.c  */
    8323 #line 2352 "parser.yy"
     8547  case 605:
     8548
     8549/* Line 1806 of yacc.c  */
     8550#line 2404 "parser.yy"
    83248551    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83258552    break;
    83268553
    8327   case 587:
    8328 
    8329 /* Line 1806 of yacc.c  */
    8330 #line 2357 "parser.yy"
     8554  case 606:
     8555
     8556/* Line 1806 of yacc.c  */
     8557#line 2409 "parser.yy"
    83318558    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83328559    break;
    83338560
    8334   case 588:
    8335 
    8336 /* Line 1806 of yacc.c  */
    8337 #line 2359 "parser.yy"
     8561  case 607:
     8562
     8563/* Line 1806 of yacc.c  */
     8564#line 2411 "parser.yy"
    83388565    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83398566    break;
    83408567
    8341   case 589:
    8342 
    8343 /* Line 1806 of yacc.c  */
    8344 #line 2361 "parser.yy"
     8568  case 608:
     8569
     8570/* Line 1806 of yacc.c  */
     8571#line 2413 "parser.yy"
    83458572    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83468573    break;
    83478574
    8348   case 590:
    8349 
    8350 /* Line 1806 of yacc.c  */
    8351 #line 2366 "parser.yy"
     8575  case 609:
     8576
     8577/* Line 1806 of yacc.c  */
     8578#line 2418 "parser.yy"
    83528579    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83538580    break;
    83548581
    8355   case 591:
    8356 
    8357 /* Line 1806 of yacc.c  */
    8358 #line 2368 "parser.yy"
     8582  case 610:
     8583
     8584/* Line 1806 of yacc.c  */
     8585#line 2420 "parser.yy"
    83598586    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83608587    break;
    83618588
    8362   case 592:
    8363 
    8364 /* Line 1806 of yacc.c  */
    8365 #line 2370 "parser.yy"
     8589  case 611:
     8590
     8591/* Line 1806 of yacc.c  */
     8592#line 2422 "parser.yy"
    83668593    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83678594    break;
    83688595
    8369   case 596:
    8370 
    8371 /* Line 1806 of yacc.c  */
    8372 #line 2388 "parser.yy"
     8596  case 615:
     8597
     8598/* Line 1806 of yacc.c  */
     8599#line 2440 "parser.yy"
    83738600    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    83748601    break;
    83758602
    8376   case 597:
    8377 
    8378 /* Line 1806 of yacc.c  */
    8379 #line 2390 "parser.yy"
     8603  case 616:
     8604
     8605/* Line 1806 of yacc.c  */
     8606#line 2442 "parser.yy"
    83808607    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83818608    break;
    83828609
    8383   case 598:
    8384 
    8385 /* Line 1806 of yacc.c  */
    8386 #line 2392 "parser.yy"
     8610  case 617:
     8611
     8612/* Line 1806 of yacc.c  */
     8613#line 2444 "parser.yy"
    83878614    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83888615    break;
    83898616
    8390   case 599:
    8391 
    8392 /* Line 1806 of yacc.c  */
    8393 #line 2397 "parser.yy"
     8617  case 618:
     8618
     8619/* Line 1806 of yacc.c  */
     8620#line 2449 "parser.yy"
    83948621    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83958622    break;
    83968623
    8397   case 600:
    8398 
    8399 /* Line 1806 of yacc.c  */
    8400 #line 2399 "parser.yy"
     8624  case 619:
     8625
     8626/* Line 1806 of yacc.c  */
     8627#line 2451 "parser.yy"
    84018628    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84028629    break;
    84038630
    8404   case 601:
    8405 
    8406 /* Line 1806 of yacc.c  */
    8407 #line 2401 "parser.yy"
     8631  case 620:
     8632
     8633/* Line 1806 of yacc.c  */
     8634#line 2453 "parser.yy"
    84088635    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84098636    break;
    84108637
    8411   case 602:
    8412 
    8413 /* Line 1806 of yacc.c  */
    8414 #line 2406 "parser.yy"
     8638  case 621:
     8639
     8640/* Line 1806 of yacc.c  */
     8641#line 2458 "parser.yy"
    84158642    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84168643    break;
    84178644
    8418   case 603:
    8419 
    8420 /* Line 1806 of yacc.c  */
    8421 #line 2408 "parser.yy"
     8645  case 622:
     8646
     8647/* Line 1806 of yacc.c  */
     8648#line 2460 "parser.yy"
    84228649    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84238650    break;
    84248651
    8425   case 604:
    8426 
    8427 /* Line 1806 of yacc.c  */
    8428 #line 2410 "parser.yy"
     8652  case 623:
     8653
     8654/* Line 1806 of yacc.c  */
     8655#line 2462 "parser.yy"
    84298656    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84308657    break;
    84318658
    8432   case 605:
    8433 
    8434 /* Line 1806 of yacc.c  */
    8435 #line 2425 "parser.yy"
     8659  case 624:
     8660
     8661/* Line 1806 of yacc.c  */
     8662#line 2477 "parser.yy"
    84368663    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84378664    break;
    84388665
    8439   case 607:
    8440 
    8441 /* Line 1806 of yacc.c  */
    8442 #line 2428 "parser.yy"
    8443     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8444     break;
    8445 
    8446   case 608:
    8447 
    8448 /* Line 1806 of yacc.c  */
    8449 #line 2430 "parser.yy"
    8450     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8451     break;
    8452 
    8453   case 610:
    8454 
    8455 /* Line 1806 of yacc.c  */
    8456 #line 2436 "parser.yy"
    8457     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8458     break;
    8459 
    8460   case 611:
    8461 
    8462 /* Line 1806 of yacc.c  */
    8463 #line 2441 "parser.yy"
    8464     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8465     break;
    8466 
    8467   case 612:
    8468 
    8469 /* Line 1806 of yacc.c  */
    8470 #line 2443 "parser.yy"
    8471     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8472     break;
    8473 
    8474   case 613:
    8475 
    8476 /* Line 1806 of yacc.c  */
    8477 #line 2445 "parser.yy"
    8478     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    8479     break;
    8480 
    8481   case 614:
    8482 
    8483 /* Line 1806 of yacc.c  */
    8484 #line 2450 "parser.yy"
    8485     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8486     break;
    8487 
    8488   case 615:
    8489 
    8490 /* Line 1806 of yacc.c  */
    8491 #line 2452 "parser.yy"
    8492     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8493     break;
    8494 
    8495   case 616:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2454 "parser.yy"
    8499     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8500     break;
    8501 
    8502   case 617:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2456 "parser.yy"
    8506     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8507     break;
    8508 
    8509   case 618:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2461 "parser.yy"
    8513     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8514     break;
    8515 
    8516   case 619:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2463 "parser.yy"
    8520     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8521     break;
    8522 
    8523   case 620:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2465 "parser.yy"
    8527     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8528     break;
    8529 
    8530   case 621:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2475 "parser.yy"
    8534     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8535     break;
    8536 
    8537   case 623:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2478 "parser.yy"
    8541     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8542     break;
    8543 
    8544   case 624:
     8666  case 626:
    85458667
    85468668/* Line 1806 of yacc.c  */
     
    85498671    break;
    85508672
    8551   case 625:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2485 "parser.yy"
     8673  case 627:
     8674
     8675/* Line 1806 of yacc.c  */
     8676#line 2482 "parser.yy"
     8677    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8678    break;
     8679
     8680  case 629:
     8681
     8682/* Line 1806 of yacc.c  */
     8683#line 2488 "parser.yy"
     8684    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8685    break;
     8686
     8687  case 630:
     8688
     8689/* Line 1806 of yacc.c  */
     8690#line 2493 "parser.yy"
    85558691    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85568692    break;
    85578693
    8558   case 626:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2487 "parser.yy"
     8694  case 631:
     8695
     8696/* Line 1806 of yacc.c  */
     8697#line 2495 "parser.yy"
    85628698    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85638699    break;
    85648700
    8565   case 627:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2489 "parser.yy"
     8701  case 632:
     8702
     8703/* Line 1806 of yacc.c  */
     8704#line 2497 "parser.yy"
    85698705    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    85708706    break;
    85718707
    8572   case 628:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2494 "parser.yy"
     8708  case 633:
     8709
     8710/* Line 1806 of yacc.c  */
     8711#line 2502 "parser.yy"
    85768712    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    85778713    break;
    85788714
    8579   case 629:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2496 "parser.yy"
     8715  case 634:
     8716
     8717/* Line 1806 of yacc.c  */
     8718#line 2504 "parser.yy"
    85838719    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85848720    break;
    85858721
    8586   case 630:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2498 "parser.yy"
     8722  case 635:
     8723
     8724/* Line 1806 of yacc.c  */
     8725#line 2506 "parser.yy"
    85908726    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85918727    break;
    85928728
    8593   case 631:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2500 "parser.yy"
     8729  case 636:
     8730
     8731/* Line 1806 of yacc.c  */
     8732#line 2508 "parser.yy"
    85978733    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85988734    break;
    85998735
    8600   case 632:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2505 "parser.yy"
     8736  case 637:
     8737
     8738/* Line 1806 of yacc.c  */
     8739#line 2513 "parser.yy"
    86048740    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    86058741    break;
    86068742
    8607   case 633:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2507 "parser.yy"
     8743  case 638:
     8744
     8745/* Line 1806 of yacc.c  */
     8746#line 2515 "parser.yy"
    86118747    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86128748    break;
    86138749
    8614   case 634:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2509 "parser.yy"
     8750  case 639:
     8751
     8752/* Line 1806 of yacc.c  */
     8753#line 2517 "parser.yy"
    86188754    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86198755    break;
    86208756
    8621   case 635:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2522 "parser.yy"
    8625     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8626     break;
    8627 
    8628   case 637:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2525 "parser.yy"
    8632     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8633     break;
    8634 
    8635   case 638:
     8757  case 640:
    86368758
    86378759/* Line 1806 of yacc.c  */
     
    86408762    break;
    86418763
    8642   case 639:
     8764  case 642:
     8765
     8766/* Line 1806 of yacc.c  */
     8767#line 2530 "parser.yy"
     8768    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8769    break;
     8770
     8771  case 643:
    86438772
    86448773/* Line 1806 of yacc.c  */
    86458774#line 2532 "parser.yy"
     8775    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8776    break;
     8777
     8778  case 644:
     8779
     8780/* Line 1806 of yacc.c  */
     8781#line 2537 "parser.yy"
     8782    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8783    break;
     8784
     8785  case 645:
     8786
     8787/* Line 1806 of yacc.c  */
     8788#line 2539 "parser.yy"
     8789    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8790    break;
     8791
     8792  case 646:
     8793
     8794/* Line 1806 of yacc.c  */
     8795#line 2541 "parser.yy"
     8796    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
     8797    break;
     8798
     8799  case 647:
     8800
     8801/* Line 1806 of yacc.c  */
     8802#line 2546 "parser.yy"
     8803    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8804    break;
     8805
     8806  case 648:
     8807
     8808/* Line 1806 of yacc.c  */
     8809#line 2548 "parser.yy"
     8810    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8811    break;
     8812
     8813  case 649:
     8814
     8815/* Line 1806 of yacc.c  */
     8816#line 2550 "parser.yy"
     8817    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8818    break;
     8819
     8820  case 650:
     8821
     8822/* Line 1806 of yacc.c  */
     8823#line 2552 "parser.yy"
     8824    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8825    break;
     8826
     8827  case 651:
     8828
     8829/* Line 1806 of yacc.c  */
     8830#line 2557 "parser.yy"
     8831    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8832    break;
     8833
     8834  case 652:
     8835
     8836/* Line 1806 of yacc.c  */
     8837#line 2559 "parser.yy"
     8838    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8839    break;
     8840
     8841  case 653:
     8842
     8843/* Line 1806 of yacc.c  */
     8844#line 2561 "parser.yy"
     8845    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8846    break;
     8847
     8848  case 654:
     8849
     8850/* Line 1806 of yacc.c  */
     8851#line 2574 "parser.yy"
     8852    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8853    break;
     8854
     8855  case 656:
     8856
     8857/* Line 1806 of yacc.c  */
     8858#line 2577 "parser.yy"
     8859    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8860    break;
     8861
     8862  case 657:
     8863
     8864/* Line 1806 of yacc.c  */
     8865#line 2579 "parser.yy"
     8866    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8867    break;
     8868
     8869  case 658:
     8870
     8871/* Line 1806 of yacc.c  */
     8872#line 2584 "parser.yy"
    86468873    {
    86478874                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    86508877    break;
    86518878
    8652   case 640:
    8653 
    8654 /* Line 1806 of yacc.c  */
    8655 #line 2537 "parser.yy"
     8879  case 659:
     8880
     8881/* Line 1806 of yacc.c  */
     8882#line 2589 "parser.yy"
    86568883    {
    86578884                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    86608887    break;
    86618888
    8662   case 641:
    8663 
    8664 /* Line 1806 of yacc.c  */
    8665 #line 2545 "parser.yy"
     8889  case 660:
     8890
     8891/* Line 1806 of yacc.c  */
     8892#line 2597 "parser.yy"
    86668893    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86678894    break;
    86688895
    8669   case 642:
    8670 
    8671 /* Line 1806 of yacc.c  */
    8672 #line 2547 "parser.yy"
     8896  case 661:
     8897
     8898/* Line 1806 of yacc.c  */
     8899#line 2599 "parser.yy"
    86738900    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86748901    break;
    86758902
    8676   case 643:
    8677 
    8678 /* Line 1806 of yacc.c  */
    8679 #line 2549 "parser.yy"
     8903  case 662:
     8904
     8905/* Line 1806 of yacc.c  */
     8906#line 2601 "parser.yy"
    86808907    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    86818908    break;
    86828909
    8683   case 644:
    8684 
    8685 /* Line 1806 of yacc.c  */
    8686 #line 2554 "parser.yy"
     8910  case 663:
     8911
     8912/* Line 1806 of yacc.c  */
     8913#line 2606 "parser.yy"
    86878914    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    86888915    break;
    86898916
    8690   case 645:
    8691 
    8692 /* Line 1806 of yacc.c  */
    8693 #line 2556 "parser.yy"
     8917  case 664:
     8918
     8919/* Line 1806 of yacc.c  */
     8920#line 2608 "parser.yy"
    86948921    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86958922    break;
    86968923
    8697   case 646:
    8698 
    8699 /* Line 1806 of yacc.c  */
    8700 #line 2561 "parser.yy"
     8924  case 665:
     8925
     8926/* Line 1806 of yacc.c  */
     8927#line 2613 "parser.yy"
    87018928    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    87028929    break;
    87038930
    8704   case 647:
    8705 
    8706 /* Line 1806 of yacc.c  */
    8707 #line 2563 "parser.yy"
     8931  case 666:
     8932
     8933/* Line 1806 of yacc.c  */
     8934#line 2615 "parser.yy"
    87088935    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87098936    break;
    87108937
    8711   case 649:
    8712 
    8713 /* Line 1806 of yacc.c  */
    8714 #line 2581 "parser.yy"
     8938  case 668:
     8939
     8940/* Line 1806 of yacc.c  */
     8941#line 2633 "parser.yy"
    87158942    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87168943    break;
    87178944
    8718   case 650:
    8719 
    8720 /* Line 1806 of yacc.c  */
    8721 #line 2583 "parser.yy"
     8945  case 669:
     8946
     8947/* Line 1806 of yacc.c  */
     8948#line 2635 "parser.yy"
    87228949    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87238950    break;
    87248951
    8725   case 651:
    8726 
    8727 /* Line 1806 of yacc.c  */
    8728 #line 2588 "parser.yy"
     8952  case 670:
     8953
     8954/* Line 1806 of yacc.c  */
     8955#line 2640 "parser.yy"
    87298956    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    87308957    break;
    87318958
    8732   case 652:
    8733 
    8734 /* Line 1806 of yacc.c  */
    8735 #line 2590 "parser.yy"
     8959  case 671:
     8960
     8961/* Line 1806 of yacc.c  */
     8962#line 2642 "parser.yy"
    87368963    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    87378964    break;
    87388965
    8739   case 653:
    8740 
    8741 /* Line 1806 of yacc.c  */
    8742 #line 2592 "parser.yy"
     8966  case 672:
     8967
     8968/* Line 1806 of yacc.c  */
     8969#line 2644 "parser.yy"
    87438970    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    87448971    break;
    87458972
    8746   case 654:
    8747 
    8748 /* Line 1806 of yacc.c  */
    8749 #line 2594 "parser.yy"
     8973  case 673:
     8974
     8975/* Line 1806 of yacc.c  */
     8976#line 2646 "parser.yy"
    87508977    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87518978    break;
    87528979
    8753   case 655:
    8754 
    8755 /* Line 1806 of yacc.c  */
    8756 #line 2596 "parser.yy"
     8980  case 674:
     8981
     8982/* Line 1806 of yacc.c  */
     8983#line 2648 "parser.yy"
    87578984    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    87588985    break;
    87598986
    8760   case 657:
    8761 
    8762 /* Line 1806 of yacc.c  */
    8763 #line 2602 "parser.yy"
     8987  case 676:
     8988
     8989/* Line 1806 of yacc.c  */
     8990#line 2654 "parser.yy"
    87648991    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87658992    break;
    87668993
    8767   case 658:
    8768 
    8769 /* Line 1806 of yacc.c  */
    8770 #line 2604 "parser.yy"
     8994  case 677:
     8995
     8996/* Line 1806 of yacc.c  */
     8997#line 2656 "parser.yy"
    87718998    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87728999    break;
    87739000
    8774   case 659:
    8775 
    8776 /* Line 1806 of yacc.c  */
    8777 #line 2606 "parser.yy"
     9001  case 678:
     9002
     9003/* Line 1806 of yacc.c  */
     9004#line 2658 "parser.yy"
    87789005    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87799006    break;
    87809007
    8781   case 660:
    8782 
    8783 /* Line 1806 of yacc.c  */
    8784 #line 2611 "parser.yy"
     9008  case 679:
     9009
     9010/* Line 1806 of yacc.c  */
     9011#line 2663 "parser.yy"
    87859012    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    87869013    break;
    87879014
    8788   case 661:
    8789 
    8790 /* Line 1806 of yacc.c  */
    8791 #line 2613 "parser.yy"
     9015  case 680:
     9016
     9017/* Line 1806 of yacc.c  */
     9018#line 2665 "parser.yy"
    87929019    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87939020    break;
    87949021
    8795   case 662:
    8796 
    8797 /* Line 1806 of yacc.c  */
    8798 #line 2615 "parser.yy"
     9022  case 681:
     9023
     9024/* Line 1806 of yacc.c  */
     9025#line 2667 "parser.yy"
    87999026    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88009027    break;
    88019028
    8802   case 663:
    8803 
    8804 /* Line 1806 of yacc.c  */
    8805 #line 2621 "parser.yy"
     9029  case 682:
     9030
     9031/* Line 1806 of yacc.c  */
     9032#line 2673 "parser.yy"
    88069033    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    88079034    break;
    88089035
    8809   case 664:
    8810 
    8811 /* Line 1806 of yacc.c  */
    8812 #line 2623 "parser.yy"
     9036  case 683:
     9037
     9038/* Line 1806 of yacc.c  */
     9039#line 2675 "parser.yy"
    88139040    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    88149041    break;
    88159042
    8816   case 666:
    8817 
    8818 /* Line 1806 of yacc.c  */
    8819 #line 2629 "parser.yy"
     9043  case 685:
     9044
     9045/* Line 1806 of yacc.c  */
     9046#line 2681 "parser.yy"
    88209047    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    88219048    break;
    88229049
    8823   case 667:
    8824 
    8825 /* Line 1806 of yacc.c  */
    8826 #line 2631 "parser.yy"
     9050  case 686:
     9051
     9052/* Line 1806 of yacc.c  */
     9053#line 2683 "parser.yy"
    88279054    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    88289055    break;
    88299056
    8830   case 668:
    8831 
    8832 /* Line 1806 of yacc.c  */
    8833 #line 2633 "parser.yy"
     9057  case 687:
     9058
     9059/* Line 1806 of yacc.c  */
     9060#line 2685 "parser.yy"
    88349061    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    88359062    break;
    88369063
    8837   case 669:
    8838 
    8839 /* Line 1806 of yacc.c  */
    8840 #line 2635 "parser.yy"
     9064  case 688:
     9065
     9066/* Line 1806 of yacc.c  */
     9067#line 2687 "parser.yy"
    88419068    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    88429069    break;
    88439070
    8844   case 671:
    8845 
    8846 /* Line 1806 of yacc.c  */
    8847 #line 2670 "parser.yy"
     9071  case 690:
     9072
     9073/* Line 1806 of yacc.c  */
     9074#line 2722 "parser.yy"
    88489075    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    88499076    break;
    88509077
    8851   case 672:
    8852 
    8853 /* Line 1806 of yacc.c  */
    8854 #line 2672 "parser.yy"
     9078  case 691:
     9079
     9080/* Line 1806 of yacc.c  */
     9081#line 2724 "parser.yy"
    88559082    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    88569083    break;
    88579084
    8858   case 673:
    8859 
    8860 /* Line 1806 of yacc.c  */
    8861 #line 2677 "parser.yy"
     9085  case 692:
     9086
     9087/* Line 1806 of yacc.c  */
     9088#line 2729 "parser.yy"
    88629089    { (yyval.decl) = DeclarationNode::newPointer( nullptr ); }
    88639090    break;
    88649091
    8865   case 674:
    8866 
    8867 /* Line 1806 of yacc.c  */
    8868 #line 2679 "parser.yy"
     9092  case 693:
     9093
     9094/* Line 1806 of yacc.c  */
     9095#line 2731 "parser.yy"
    88699096    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    88709097    break;
    88719098
    8872   case 675:
    8873 
    8874 /* Line 1806 of yacc.c  */
    8875 #line 2681 "parser.yy"
     9099  case 694:
     9100
     9101/* Line 1806 of yacc.c  */
     9102#line 2733 "parser.yy"
    88769103    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( nullptr ) ); }
    88779104    break;
    88789105
    8879   case 676:
    8880 
    8881 /* Line 1806 of yacc.c  */
    8882 #line 2683 "parser.yy"
     9106  case 695:
     9107
     9108/* Line 1806 of yacc.c  */
     9109#line 2735 "parser.yy"
    88839110    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88849111    break;
    88859112
    8886   case 677:
    8887 
    8888 /* Line 1806 of yacc.c  */
    8889 #line 2685 "parser.yy"
     9113  case 696:
     9114
     9115/* Line 1806 of yacc.c  */
     9116#line 2737 "parser.yy"
    88909117    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    88919118    break;
    88929119
    8893   case 679:
    8894 
    8895 /* Line 1806 of yacc.c  */
    8896 #line 2691 "parser.yy"
     9120  case 698:
     9121
     9122/* Line 1806 of yacc.c  */
     9123#line 2743 "parser.yy"
    88979124    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88989125    break;
    88999126
    8900   case 680:
    8901 
    8902 /* Line 1806 of yacc.c  */
    8903 #line 2693 "parser.yy"
     9127  case 699:
     9128
     9129/* Line 1806 of yacc.c  */
     9130#line 2745 "parser.yy"
    89049131    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    89059132    break;
    89069133
    8907   case 681:
    8908 
    8909 /* Line 1806 of yacc.c  */
    8910 #line 2695 "parser.yy"
     9134  case 700:
     9135
     9136/* Line 1806 of yacc.c  */
     9137#line 2747 "parser.yy"
    89119138    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89129139    break;
    89139140
    8914   case 682:
    8915 
    8916 /* Line 1806 of yacc.c  */
    8917 #line 2700 "parser.yy"
     9141  case 701:
     9142
     9143/* Line 1806 of yacc.c  */
     9144#line 2752 "parser.yy"
    89189145    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    89199146    break;
    89209147
    8921   case 683:
    8922 
    8923 /* Line 1806 of yacc.c  */
    8924 #line 2702 "parser.yy"
     9148  case 702:
     9149
     9150/* Line 1806 of yacc.c  */
     9151#line 2754 "parser.yy"
    89259152    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    89269153    break;
    89279154
    8928   case 684:
    8929 
    8930 /* Line 1806 of yacc.c  */
    8931 #line 2704 "parser.yy"
     9155  case 703:
     9156
     9157/* Line 1806 of yacc.c  */
     9158#line 2756 "parser.yy"
    89329159    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89339160    break;
    89349161
    8935   case 686:
    8936 
    8937 /* Line 1806 of yacc.c  */
    8938 #line 2711 "parser.yy"
     9162  case 705:
     9163
     9164/* Line 1806 of yacc.c  */
     9165#line 2763 "parser.yy"
    89399166    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    89409167    break;
    89419168
    8942   case 688:
    8943 
    8944 /* Line 1806 of yacc.c  */
    8945 #line 2722 "parser.yy"
     9169  case 707:
     9170
     9171/* Line 1806 of yacc.c  */
     9172#line 2774 "parser.yy"
    89469173    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    89479174    break;
    89489175
    8949   case 689:
    8950 
    8951 /* Line 1806 of yacc.c  */
    8952 #line 2725 "parser.yy"
     9176  case 708:
     9177
     9178/* Line 1806 of yacc.c  */
     9179#line 2777 "parser.yy"
    89539180    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    89549181    break;
    89559182
    8956   case 690:
    8957 
    8958 /* Line 1806 of yacc.c  */
    8959 #line 2727 "parser.yy"
     9183  case 709:
     9184
     9185/* Line 1806 of yacc.c  */
     9186#line 2779 "parser.yy"
    89609187    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    89619188    break;
    89629189
    8963   case 691:
    8964 
    8965 /* Line 1806 of yacc.c  */
    8966 #line 2730 "parser.yy"
     9190  case 710:
     9191
     9192/* Line 1806 of yacc.c  */
     9193#line 2782 "parser.yy"
    89679194    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    89689195    break;
    89699196
    8970   case 692:
    8971 
    8972 /* Line 1806 of yacc.c  */
    8973 #line 2732 "parser.yy"
     9197  case 711:
     9198
     9199/* Line 1806 of yacc.c  */
     9200#line 2784 "parser.yy"
    89749201    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    89759202    break;
    89769203
    8977   case 693:
    8978 
    8979 /* Line 1806 of yacc.c  */
    8980 #line 2734 "parser.yy"
     9204  case 712:
     9205
     9206/* Line 1806 of yacc.c  */
     9207#line 2786 "parser.yy"
    89819208    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    89829209    break;
    89839210
    8984   case 695:
    8985 
    8986 /* Line 1806 of yacc.c  */
    8987 #line 2749 "parser.yy"
     9211  case 714:
     9212
     9213/* Line 1806 of yacc.c  */
     9214#line 2801 "parser.yy"
    89889215    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    89899216    break;
    89909217
    8991   case 696:
    8992 
    8993 /* Line 1806 of yacc.c  */
    8994 #line 2751 "parser.yy"
     9218  case 715:
     9219
     9220/* Line 1806 of yacc.c  */
     9221#line 2803 "parser.yy"
    89959222    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    89969223    break;
    89979224
    8998   case 697:
    8999 
    9000 /* Line 1806 of yacc.c  */
    9001 #line 2756 "parser.yy"
     9225  case 716:
     9226
     9227/* Line 1806 of yacc.c  */
     9228#line 2808 "parser.yy"
    90029229    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    90039230    break;
    90049231
    9005   case 698:
    9006 
    9007 /* Line 1806 of yacc.c  */
    9008 #line 2758 "parser.yy"
     9232  case 717:
     9233
     9234/* Line 1806 of yacc.c  */
     9235#line 2810 "parser.yy"
    90099236    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    90109237    break;
    90119238
    9012   case 699:
    9013 
    9014 /* Line 1806 of yacc.c  */
    9015 #line 2760 "parser.yy"
     9239  case 718:
     9240
     9241/* Line 1806 of yacc.c  */
     9242#line 2812 "parser.yy"
    90169243    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    90179244    break;
    90189245
    9019   case 700:
    9020 
    9021 /* Line 1806 of yacc.c  */
    9022 #line 2762 "parser.yy"
     9246  case 719:
     9247
     9248/* Line 1806 of yacc.c  */
     9249#line 2814 "parser.yy"
    90239250    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    90249251    break;
    90259252
    9026   case 701:
    9027 
    9028 /* Line 1806 of yacc.c  */
    9029 #line 2764 "parser.yy"
     9253  case 720:
     9254
     9255/* Line 1806 of yacc.c  */
     9256#line 2816 "parser.yy"
    90309257    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    90319258    break;
    90329259
    9033   case 703:
    9034 
    9035 /* Line 1806 of yacc.c  */
    9036 #line 2770 "parser.yy"
     9260  case 722:
     9261
     9262/* Line 1806 of yacc.c  */
     9263#line 2822 "parser.yy"
    90379264    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    90389265    break;
    90399266
    9040   case 704:
    9041 
    9042 /* Line 1806 of yacc.c  */
    9043 #line 2772 "parser.yy"
     9267  case 723:
     9268
     9269/* Line 1806 of yacc.c  */
     9270#line 2824 "parser.yy"
    90449271    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    90459272    break;
    90469273
    9047   case 705:
    9048 
    9049 /* Line 1806 of yacc.c  */
    9050 #line 2774 "parser.yy"
     9274  case 724:
     9275
     9276/* Line 1806 of yacc.c  */
     9277#line 2826 "parser.yy"
    90519278    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    90529279    break;
    90539280
    9054   case 706:
    9055 
    9056 /* Line 1806 of yacc.c  */
    9057 #line 2779 "parser.yy"
     9281  case 725:
     9282
     9283/* Line 1806 of yacc.c  */
     9284#line 2831 "parser.yy"
    90589285    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    90599286    break;
    90609287
    9061   case 707:
    9062 
    9063 /* Line 1806 of yacc.c  */
    9064 #line 2781 "parser.yy"
     9288  case 726:
     9289
     9290/* Line 1806 of yacc.c  */
     9291#line 2833 "parser.yy"
    90659292    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    90669293    break;
    90679294
    9068   case 710:
    9069 
    9070 /* Line 1806 of yacc.c  */
    9071 #line 2791 "parser.yy"
     9295  case 729:
     9296
     9297/* Line 1806 of yacc.c  */
     9298#line 2843 "parser.yy"
    90729299    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90739300    break;
    90749301
    9075   case 713:
    9076 
    9077 /* Line 1806 of yacc.c  */
    9078 #line 2801 "parser.yy"
     9302  case 732:
     9303
     9304/* Line 1806 of yacc.c  */
     9305#line 2854 "parser.yy"
    90799306    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90809307    break;
    90819308
    9082   case 714:
    9083 
    9084 /* Line 1806 of yacc.c  */
    9085 #line 2803 "parser.yy"
     9309  case 733:
     9310
     9311/* Line 1806 of yacc.c  */
     9312#line 2856 "parser.yy"
    90869313    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90879314    break;
    90889315
    9089   case 715:
    9090 
    9091 /* Line 1806 of yacc.c  */
    9092 #line 2805 "parser.yy"
     9316  case 734:
     9317
     9318/* Line 1806 of yacc.c  */
     9319#line 2858 "parser.yy"
    90939320    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90949321    break;
    90959322
    9096   case 716:
    9097 
    9098 /* Line 1806 of yacc.c  */
    9099 #line 2807 "parser.yy"
     9323  case 735:
     9324
     9325/* Line 1806 of yacc.c  */
     9326#line 2860 "parser.yy"
    91009327    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91019328    break;
    91029329
    9103   case 717:
    9104 
    9105 /* Line 1806 of yacc.c  */
    9106 #line 2809 "parser.yy"
     9330  case 736:
     9331
     9332/* Line 1806 of yacc.c  */
     9333#line 2862 "parser.yy"
    91079334    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91089335    break;
    91099336
    9110   case 718:
    9111 
    9112 /* Line 1806 of yacc.c  */
    9113 #line 2811 "parser.yy"
     9337  case 737:
     9338
     9339/* Line 1806 of yacc.c  */
     9340#line 2864 "parser.yy"
    91149341    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91159342    break;
    91169343
    9117   case 719:
    9118 
    9119 /* Line 1806 of yacc.c  */
    9120 #line 2818 "parser.yy"
     9344  case 738:
     9345
     9346/* Line 1806 of yacc.c  */
     9347#line 2871 "parser.yy"
    91219348    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91229349    break;
    91239350
    9124   case 720:
    9125 
    9126 /* Line 1806 of yacc.c  */
    9127 #line 2820 "parser.yy"
     9351  case 739:
     9352
     9353/* Line 1806 of yacc.c  */
     9354#line 2873 "parser.yy"
    91289355    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91299356    break;
    91309357
    9131   case 721:
    9132 
    9133 /* Line 1806 of yacc.c  */
    9134 #line 2822 "parser.yy"
     9358  case 740:
     9359
     9360/* Line 1806 of yacc.c  */
     9361#line 2875 "parser.yy"
    91359362    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91369363    break;
    91379364
    9138   case 722:
    9139 
    9140 /* Line 1806 of yacc.c  */
    9141 #line 2824 "parser.yy"
     9365  case 741:
     9366
     9367/* Line 1806 of yacc.c  */
     9368#line 2877 "parser.yy"
    91429369    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    91439370    break;
    91449371
    9145   case 723:
    9146 
    9147 /* Line 1806 of yacc.c  */
    9148 #line 2826 "parser.yy"
     9372  case 742:
     9373
     9374/* Line 1806 of yacc.c  */
     9375#line 2879 "parser.yy"
    91499376    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91509377    break;
    91519378
    9152   case 724:
    9153 
    9154 /* Line 1806 of yacc.c  */
    9155 #line 2829 "parser.yy"
     9379  case 743:
     9380
     9381/* Line 1806 of yacc.c  */
     9382#line 2882 "parser.yy"
    91569383    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91579384    break;
    91589385
    9159   case 725:
    9160 
    9161 /* Line 1806 of yacc.c  */
    9162 #line 2831 "parser.yy"
     9386  case 744:
     9387
     9388/* Line 1806 of yacc.c  */
     9389#line 2884 "parser.yy"
    91639390    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91649391    break;
    91659392
    9166   case 726:
    9167 
    9168 /* Line 1806 of yacc.c  */
    9169 #line 2833 "parser.yy"
     9393  case 745:
     9394
     9395/* Line 1806 of yacc.c  */
     9396#line 2886 "parser.yy"
    91709397    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91719398    break;
    91729399
    9173   case 727:
    9174 
    9175 /* Line 1806 of yacc.c  */
    9176 #line 2835 "parser.yy"
     9400  case 746:
     9401
     9402/* Line 1806 of yacc.c  */
     9403#line 2888 "parser.yy"
    91779404    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    91789405    break;
    91799406
    9180   case 728:
    9181 
    9182 /* Line 1806 of yacc.c  */
    9183 #line 2837 "parser.yy"
     9407  case 747:
     9408
     9409/* Line 1806 of yacc.c  */
     9410#line 2890 "parser.yy"
    91849411    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91859412    break;
    91869413
    9187   case 729:
    9188 
    9189 /* Line 1806 of yacc.c  */
    9190 #line 2842 "parser.yy"
     9414  case 748:
     9415
     9416/* Line 1806 of yacc.c  */
     9417#line 2895 "parser.yy"
    91919418    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    91929419    break;
    91939420
    9194   case 730:
    9195 
    9196 /* Line 1806 of yacc.c  */
    9197 #line 2844 "parser.yy"
     9421  case 749:
     9422
     9423/* Line 1806 of yacc.c  */
     9424#line 2897 "parser.yy"
    91989425    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    91999426    break;
    92009427
    9201   case 731:
    9202 
    9203 /* Line 1806 of yacc.c  */
    9204 #line 2849 "parser.yy"
     9428  case 750:
     9429
     9430/* Line 1806 of yacc.c  */
     9431#line 2902 "parser.yy"
    92059432    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    92069433    break;
    92079434
    9208   case 732:
    9209 
    9210 /* Line 1806 of yacc.c  */
    9211 #line 2851 "parser.yy"
     9435  case 751:
     9436
     9437/* Line 1806 of yacc.c  */
     9438#line 2904 "parser.yy"
    92129439    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    92139440    break;
    92149441
    9215   case 734:
    9216 
    9217 /* Line 1806 of yacc.c  */
    9218 #line 2878 "parser.yy"
     9442  case 753:
     9443
     9444/* Line 1806 of yacc.c  */
     9445#line 2931 "parser.yy"
    92199446    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    92209447    break;
    92219448
    9222   case 738:
    9223 
    9224 /* Line 1806 of yacc.c  */
    9225 #line 2889 "parser.yy"
     9449  case 757:
     9450
     9451/* Line 1806 of yacc.c  */
     9452#line 2942 "parser.yy"
    92269453    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    92279454    break;
    92289455
    9229   case 739:
    9230 
    9231 /* Line 1806 of yacc.c  */
    9232 #line 2891 "parser.yy"
     9456  case 758:
     9457
     9458/* Line 1806 of yacc.c  */
     9459#line 2944 "parser.yy"
    92339460    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    92349461    break;
    92359462
    9236   case 740:
    9237 
    9238 /* Line 1806 of yacc.c  */
    9239 #line 2893 "parser.yy"
     9463  case 759:
     9464
     9465/* Line 1806 of yacc.c  */
     9466#line 2946 "parser.yy"
    92409467    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    92419468    break;
    92429469
    9243   case 741:
    9244 
    9245 /* Line 1806 of yacc.c  */
    9246 #line 2895 "parser.yy"
     9470  case 760:
     9471
     9472/* Line 1806 of yacc.c  */
     9473#line 2948 "parser.yy"
    92479474    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    92489475    break;
    92499476
    9250   case 742:
    9251 
    9252 /* Line 1806 of yacc.c  */
    9253 #line 2897 "parser.yy"
     9477  case 761:
     9478
     9479/* Line 1806 of yacc.c  */
     9480#line 2950 "parser.yy"
    92549481    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    92559482    break;
    92569483
    9257   case 743:
    9258 
    9259 /* Line 1806 of yacc.c  */
    9260 #line 2899 "parser.yy"
     9484  case 762:
     9485
     9486/* Line 1806 of yacc.c  */
     9487#line 2952 "parser.yy"
    92619488    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    92629489    break;
    92639490
    9264   case 744:
    9265 
    9266 /* Line 1806 of yacc.c  */
    9267 #line 2906 "parser.yy"
     9491  case 763:
     9492
     9493/* Line 1806 of yacc.c  */
     9494#line 2959 "parser.yy"
    92689495    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    92699496    break;
    92709497
    9271   case 745:
    9272 
    9273 /* Line 1806 of yacc.c  */
    9274 #line 2908 "parser.yy"
     9498  case 764:
     9499
     9500/* Line 1806 of yacc.c  */
     9501#line 2961 "parser.yy"
    92759502    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    92769503    break;
    92779504
    9278   case 746:
    9279 
    9280 /* Line 1806 of yacc.c  */
    9281 #line 2910 "parser.yy"
     9505  case 765:
     9506
     9507/* Line 1806 of yacc.c  */
     9508#line 2963 "parser.yy"
    92829509    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    92839510    break;
    92849511
    9285   case 747:
    9286 
    9287 /* Line 1806 of yacc.c  */
    9288 #line 2912 "parser.yy"
     9512  case 766:
     9513
     9514/* Line 1806 of yacc.c  */
     9515#line 2965 "parser.yy"
    92899516    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    92909517    break;
    92919518
    9292   case 748:
    9293 
    9294 /* Line 1806 of yacc.c  */
    9295 #line 2914 "parser.yy"
     9519  case 767:
     9520
     9521/* Line 1806 of yacc.c  */
     9522#line 2967 "parser.yy"
    92969523    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    92979524    break;
    92989525
    9299   case 749:
    9300 
    9301 /* Line 1806 of yacc.c  */
    9302 #line 2916 "parser.yy"
     9526  case 768:
     9527
     9528/* Line 1806 of yacc.c  */
     9529#line 2969 "parser.yy"
    93039530    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    93049531    break;
    93059532
    9306   case 750:
    9307 
    9308 /* Line 1806 of yacc.c  */
    9309 #line 2921 "parser.yy"
     9533  case 769:
     9534
     9535/* Line 1806 of yacc.c  */
     9536#line 2974 "parser.yy"
    93109537    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    93119538    break;
    93129539
    9313   case 751:
    9314 
    9315 /* Line 1806 of yacc.c  */
    9316 #line 2928 "parser.yy"
     9540  case 770:
     9541
     9542/* Line 1806 of yacc.c  */
     9543#line 2981 "parser.yy"
    93179544    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    93189545    break;
    93199546
    9320   case 752:
    9321 
    9322 /* Line 1806 of yacc.c  */
    9323 #line 2930 "parser.yy"
     9547  case 771:
     9548
     9549/* Line 1806 of yacc.c  */
     9550#line 2983 "parser.yy"
    93249551    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    93259552    break;
    93269553
    9327   case 755:
    9328 
    9329 /* Line 1806 of yacc.c  */
    9330 #line 2954 "parser.yy"
     9554  case 774:
     9555
     9556/* Line 1806 of yacc.c  */
     9557#line 3007 "parser.yy"
    93319558    { (yyval.en) = nullptr; }
    93329559    break;
    93339560
    9334   case 756:
    9335 
    9336 /* Line 1806 of yacc.c  */
    9337 #line 2956 "parser.yy"
     9561  case 775:
     9562
     9563/* Line 1806 of yacc.c  */
     9564#line 3009 "parser.yy"
    93389565    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    93399566    break;
     
    93429569
    93439570/* Line 1806 of yacc.c  */
    9344 #line 9345 "Parser/parser.cc"
     9571#line 9572 "Parser/parser.cc"
    93459572      default: break;
    93469573    }
     
    95739800
    95749801/* Line 2067 of yacc.c  */
    9575 #line 2959 "parser.yy"
     9802#line 3012 "parser.yy"
    95769803
    95779804// ----end of grammar----
  • src/Parser/parser.yy

    r7823bf0 rd0ffed1  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 23 15:23:49 2017
    13 // Update Count     : 2187
     12// Last Modified On : Tue Feb 28 09:58:10 2017
     13// Update Count     : 2208
    1414//
    1515
     
    196196
    197197%type<aggKey> aggregate_key
    198 %type<decl>  aggregate_type
     198%type<decl> aggregate_type aggregate_type_nobody
    199199
    200200%type<decl> assertion assertion_list_opt
     
    207207
    208208%type<decl> declaration declaration_list declaration_list_opt declaration_qualifier_list
    209 %type<decl> declaration_specifier declarator declaring_list
    210 
    211 %type<decl> elaborated_type
    212 
    213 %type<decl> enumerator_list enum_type
     209%type<decl> declaration_specifier declaration_specifier_nobody declarator declaring_list
     210
     211%type<decl> elaborated_type elaborated_type_nobody
     212
     213%type<decl> enumerator_list enum_type enum_type_nobody
    214214%type<en> enumerator_value_opt
    215215
     
    251251%type<decl> storage_class storage_class_list
    252252
    253 %type<decl> sue_declaration_specifier sue_type_specifier
     253%type<decl> sue_declaration_specifier sue_declaration_specifier_nobody sue_type_specifier sue_type_specifier_nobody
    254254
    255255%type<tclass> type_class
     
    268268%type<en> type_name_list
    269269
    270 %type<decl> type_qualifier type_qualifier_name type_qualifier_list type_qualifier_list_opt type_specifier
     270%type<decl> type_qualifier type_qualifier_name type_qualifier_list type_qualifier_list_opt type_specifier type_specifier_nobody
    271271
    272272%type<decl> variable_declarator variable_ptr variable_array variable_function
     
    973973
    974974exception_declaration:
    975                 // A semantic check is required to ensure type_specifier does not create a new type, e.g.:
    976                 //
    977                 //              catch ( struct { int i; } x ) ...
    978                 //
    979                 // This new type cannot catch any thrown type because of name equivalence among types.
    980         type_specifier
    981         | type_specifier declarator
     975                // No SUE declaration in parameter list.
     976        type_specifier_nobody
     977        | type_specifier_nobody declarator
    982978                {
    983979                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    984980                        $$ = $2->addType( $1 );
    985981                }
    986         | type_specifier variable_abstract_declarator
     982        | type_specifier_nobody variable_abstract_declarator
    987983                { $$ = $2->addType( $1 ); }
    988984        | cfa_abstract_declarator_tuple no_attr_identifier      // CFA
     
    13491345        ;
    13501346
    1351 type_specifier:                                                                                 // declaration specifier - storage class
     1347declaration_specifier_nobody:                                                   // type specifier + storage class - {...}
     1348                // Preclude SUE declarations in restricted scopes:
     1349                //
     1350                //    int f( struct S { int i; } s1, Struct S s2 ) { struct S s3; ... }
     1351                //
     1352                // because it is impossible to call f due to name equivalence.
     1353        basic_declaration_specifier
     1354        | sue_declaration_specifier_nobody
     1355        | typedef_declaration_specifier
     1356        | typegen_declaration_specifier
     1357        ;
     1358
     1359type_specifier:                                                                                 // type specifier
    13521360        basic_type_specifier
    13531361        | sue_type_specifier
     1362        | typedef_type_specifier
     1363        | typegen_type_specifier
     1364        ;
     1365
     1366type_specifier_nobody:                                                                  // type specifier - {...}
     1367                // Preclude SUE declarations in restricted scopes:
     1368                //
     1369                //    int f( struct S { int i; } s1, Struct S s2 ) { struct S s3; ... }
     1370                //
     1371                // because it is impossible to call f due to name equivalence.
     1372        basic_type_specifier
     1373        | sue_type_specifier_nobody
    13541374        | typedef_type_specifier
    13551375        | typegen_type_specifier
     
    15141534        ;
    15151535
    1516 sue_declaration_specifier:
     1536sue_declaration_specifier:                                                              // struct, union, enum + storage class + type specifier
    15171537        sue_type_specifier
    15181538        | declaration_qualifier_list sue_type_specifier
     
    15241544        ;
    15251545
    1526 sue_type_specifier:
    1527         elaborated_type                                                                         // struct, union, enum
     1546sue_type_specifier:                                                                             // struct, union, enum + type specifier
     1547        elaborated_type
    15281548        | type_qualifier_list elaborated_type
    15291549                { $$ = $2->addQualifiers( $1 ); }
    15301550        | sue_type_specifier type_qualifier
     1551                { $$ = $1->addQualifiers( $2 ); }
     1552        ;
     1553
     1554sue_declaration_specifier_nobody:                                               // struct, union, enum - {...} + storage class + type specifier
     1555        sue_type_specifier_nobody
     1556        | declaration_qualifier_list sue_type_specifier_nobody
     1557                { $$ = $2->addQualifiers( $1 ); }
     1558        | sue_declaration_specifier_nobody storage_class        // remaining OBSOLESCENT (see 2)
     1559                { $$ = $1->addQualifiers( $2 ); }
     1560        | sue_declaration_specifier_nobody storage_class type_qualifier_list
     1561                { $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
     1562        ;
     1563
     1564sue_type_specifier_nobody:                                                              // struct, union, enum - {...} + type specifier
     1565        elaborated_type_nobody
     1566        | type_qualifier_list elaborated_type_nobody
     1567                { $$ = $2->addQualifiers( $1 ); }
     1568        | sue_type_specifier_nobody type_qualifier
    15311569                { $$ = $1->addQualifiers( $2 ); }
    15321570        ;
     
    15511589        ;
    15521590
    1553 elaborated_type:
     1591elaborated_type:                                                                                // struct, union, enum
    15541592        aggregate_type
    15551593        | enum_type
    15561594        ;
    15571595
    1558 aggregate_type:
     1596elaborated_type_nobody:                                                                 // struct, union, enum - {...}
     1597        aggregate_type_nobody
     1598        | enum_type_nobody
     1599        ;
     1600
     1601aggregate_type:                                                                                 // struct, union
    15591602        aggregate_key attribute_list_opt '{' field_declaration_list '}'
    15601603                { $$ = DeclarationNode::newAggregate( $1, nullptr, nullptr, $4, true )->addQualifiers( $2 ); }
    1561         | aggregate_key attribute_list_opt no_attr_identifier_or_type_name
    1562                 {
    1563                         typedefTable.makeTypedef( *$3 );
    1564                         $$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
    1565                 }
    15661604        | aggregate_key attribute_list_opt no_attr_identifier_or_type_name
    15671605                { typedefTable.makeTypedef( *$3 ); }
     
    15701608        | aggregate_key attribute_list_opt '(' type_name_list ')' '{' field_declaration_list '}' // CFA
    15711609                { $$ = DeclarationNode::newAggregate( $1, nullptr, $4, $7, false )->addQualifiers( $2 ); }
     1610        | aggregate_type_nobody
     1611        ;
     1612
     1613aggregate_type_nobody:                                                                  // struct, union - {...}
     1614        aggregate_key attribute_list_opt no_attr_identifier_or_type_name
     1615                {
     1616                        typedefTable.makeTypedef( *$3 );
     1617                        $$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
     1618                }
    15721619        | aggregate_key attribute_list_opt typegen_name         // CFA, S/R conflict
    15731620                { $$ = $3->addQualifiers( $2 ); }
     
    16471694        ;
    16481695
    1649 enum_type:
     1696enum_type:                                                                                              // enum
    16501697        ENUM attribute_list_opt '{' enumerator_list comma_opt '}'
    16511698                { $$ = DeclarationNode::newEnum( nullptr, $4, true )->addQualifiers( $2 ); }
    1652         | ENUM attribute_list_opt no_attr_identifier_or_type_name
    1653                 {
    1654                         typedefTable.makeTypedef( *$3 );
    1655                         $$ = DeclarationNode::newEnum( $3, 0, false )->addQualifiers( $2 );
    1656                 }
    16571699        | ENUM attribute_list_opt no_attr_identifier_or_type_name
    16581700                { typedefTable.makeTypedef( *$3 ); }
    16591701          '{' enumerator_list comma_opt '}'
    16601702                { $$ = DeclarationNode::newEnum( $3, $6, true )->addQualifiers( $2 ); }
     1703        | enum_type_nobody
     1704        ;
     1705
     1706enum_type_nobody:                                                                               // enum - {...}
     1707        ENUM attribute_list_opt no_attr_identifier_or_type_name
     1708                {
     1709                        typedefTable.makeTypedef( *$3 );
     1710                        $$ = DeclarationNode::newEnum( $3, 0, false )->addQualifiers( $2 );
     1711                }
    16611712        ;
    16621713
     
    17591810
    17601811parameter_declaration:
    1761         declaration_specifier identifier_parameter_declarator assignment_opt
     1812                // No SUE declaration in parameter list.
     1813        declaration_specifier_nobody identifier_parameter_declarator assignment_opt
    17621814                {
    17631815                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    17641816                        $$ = $2->addType( $1 )->addInitializer( $3 ? new InitializerNode( $3 ) : nullptr );
    17651817                }
    1766         | declaration_specifier type_parameter_redeclarator assignment_opt
     1818        | declaration_specifier_nobody type_parameter_redeclarator assignment_opt
    17671819                {
    17681820                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    17721824
    17731825abstract_parameter_declaration:
    1774         declaration_specifier assignment_opt
     1826        declaration_specifier_nobody assignment_opt
    17751827                { $$ = $1->addInitializer( $2 ? new InitializerNode( $2 ) : nullptr ); }
    1776         | declaration_specifier abstract_parameter_declarator assignment_opt
     1828        | declaration_specifier_nobody abstract_parameter_declarator assignment_opt
    17771829                { $$ = $2->addType( $1 )->addInitializer( $3 ? new InitializerNode( $3 ) : nullptr ); }
    17781830        ;
     
    27982850
    27992851cfa_identifier_parameter_ptr:                                                   // CFA
    2800         ptrref_operator type_specifier
     2852                // No SUE declaration in parameter list.
     2853        ptrref_operator type_specifier_nobody
    28012854                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2802         | type_qualifier_list ptrref_operator type_specifier
     2855        | type_qualifier_list ptrref_operator type_specifier_nobody
    28032856                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    28042857        | ptrref_operator cfa_abstract_function
     
    28152868                // Only the first dimension can be empty or have qualifiers. Empty dimension must be factored out due to
    28162869                // shift/reduce conflict with new-style empty (void) function return type.
    2817         '[' ']' type_specifier
     2870        '[' ']' type_specifier_nobody
    28182871                { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    2819         | cfa_array_parameter_1st_dimension type_specifier
     2872        | cfa_array_parameter_1st_dimension type_specifier_nobody
    28202873                { $$ = $2->addNewArray( $1 ); }
    2821         | '[' ']' multi_array_dimension type_specifier
     2874        | '[' ']' multi_array_dimension type_specifier_nobody
    28222875                { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    2823         | cfa_array_parameter_1st_dimension multi_array_dimension type_specifier
     2876        | cfa_array_parameter_1st_dimension multi_array_dimension type_specifier_nobody
    28242877                { $$ = $3->addNewArray( $2 )->addNewArray( $1 ); }
    2825         | multi_array_dimension type_specifier
     2878        | multi_array_dimension type_specifier_nobody
    28262879                { $$ = $2->addNewArray( $1 ); }
    28272880
Note: See TracChangeset for help on using the changeset viewer.