Ignore:
Timestamp:
Aug 16, 2016, 5:56:37 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
29917c6
Parents:
7880579
Message:

more refactoring of parser code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r7880579 r0da3e2c  
    7171#define YYDEBUG_LEXER_TEXT (yylval)                                             // lexer loads this up each time
    7272#define YYDEBUG 1                                                                               // get the pretty debugging code to compile
    73 extern char *yytext;
    7473
    7574#undef __GNUC_MINOR__
     
    8483#include "LinkageSpec.h"
    8584
    86 DeclarationNode *theTree = 0;                                                   // the resulting parse tree
    87 LinkageSpec::Type linkage = LinkageSpec::Cforall;
     85extern DeclarationNode *parseTree;
     86extern LinkageSpec::Type linkage;
     87extern TypedefTable typedefTable;
     88
    8889std::stack< LinkageSpec::Type > linkageStack;
    89 TypedefTable typedefTable;
    9090
    9191void appendStr( std::string &to, std::string *from ) {
     
    595595
    596596/* YYFINAL -- State number of the termination state.  */
    597 #define YYFINAL  251
     597#define YYFINAL  250
    598598/* YYLAST -- Last index in YYTABLE.  */
    599 #define YYLAST   10816
     599#define YYLAST   10977
    600600
    601601/* YYNTOKENS -- Number of terminals.  */
    602602#define YYNTOKENS  133
    603603/* YYNNTS -- Number of nonterminals.  */
    604 #define YYNNTS  241
     604#define YYNNTS  240
    605605/* YYNRULES -- Number of rules.  */
    606 #define YYNRULES  750
     606#define YYNRULES  749
    607607/* YYNRULES -- Number of states.  */
    608 #define YYNSTATES  1554
     608#define YYNSTATES  1553
    609609
    610610/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    695695    1137,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
    696696    1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    697     1177,  1179,  1181,  1184,  1187,  1191,  1195,  1197,  1201,  1203,
    698     1206,  1209,  1212,  1217,  1222,  1227,  1232,  1234,  1237,  1240,
    699     1244,  1246,  1249,  1252,  1254,  1257,  1260,  1264,  1266,  1269,
    700     1272,  1274,  1276,  1281,  1284,  1285,  1292,  1300,  1303,  1306,
    701     1309,  1310,  1313,  1316,  1320,  1323,  1327,  1329,  1332,  1336,
    702     1339,  1342,  1347,  1348,  1350,  1353,  1356,  1358,  1359,  1361,
    703     1364,  1367,  1373,  1376,  1377,  1385,  1388,  1393,  1394,  1397,
    704     1398,  1400,  1402,  1404,  1410,  1416,  1422,  1424,  1430,  1436,
    705     1446,  1448,  1454,  1455,  1457,  1459,  1465,  1467,  1469,  1475,
    706     1481,  1483,  1487,  1491,  1496,  1498,  1500,  1502,  1504,  1507,
    707     1509,  1513,  1517,  1519,  1522,  1524,  1528,  1530,  1532,  1534,
    708     1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1553,  1555,
    709     1557,  1559,  1562,  1563,  1566,  1569,  1571,  1576,  1577,  1579,
    710     1582,  1586,  1591,  1594,  1597,  1599,  1602,  1605,  1611,  1617,
    711     1625,  1632,  1634,  1637,  1640,  1644,  1646,  1649,  1652,  1657,
    712     1660,  1665,  1666,  1671,  1674,  1676,  1678,  1680,  1681,  1684,
    713     1690,  1696,  1710,  1712,  1714,  1718,  1722,  1725,  1729,  1733,
    714     1736,  1741,  1743,  1750,  1760,  1761,  1773,  1775,  1779,  1783,
    715     1787,  1789,  1791,  1797,  1800,  1806,  1807,  1809,  1811,  1815,
    716     1816,  1818,  1820,  1822,  1824,  1825,  1832,  1835,  1837,  1840,
    717     1845,  1848,  1852,  1856,  1860,  1865,  1871,  1877,  1883,  1890,
    718     1892,  1894,  1896,  1900,  1901,  1907,  1908,  1910,  1912,  1915,
    719     1922,  1924,  1928,  1929,  1931,  1936,  1938,  1940,  1942,  1944,
    720     1947,  1949,  1952,  1955,  1957,  1961,  1964,  1968,  1972,  1975,
    721     1980,  1985,  1989,  1998,  2002,  2005,  2007,  2010,  2017,  2026,
    722     2030,  2033,  2037,  2041,  2046,  2051,  2055,  2057,  2059,  2061,
    723     2066,  2073,  2077,  2080,  2084,  2088,  2093,  2098,  2102,  2105,
    724     2107,  2110,  2113,  2115,  2119,  2122,  2126,  2130,  2133,  2138,
    725     2143,  2147,  2154,  2163,  2167,  2170,  2172,  2175,  2178,  2181,
    726     2185,  2189,  2192,  2197,  2202,  2206,  2213,  2222,  2226,  2229,
    727     2231,  2234,  2237,  2239,  2241,  2244,  2248,  2252,  2255,  2260,
    728     2267,  2276,  2278,  2281,  2284,  2286,  2289,  2292,  2296,  2300,
    729     2302,  2307,  2312,  2316,  2322,  2331,  2335,  2338,  2342,  2344,
    730     2350,  2356,  2363,  2370,  2372,  2375,  2378,  2380,  2383,  2386,
    731     2390,  2394,  2396,  2401,  2406,  2410,  2416,  2425,  2429,  2431,
    732     2434,  2436,  2439,  2446,  2452,  2459,  2467,  2475,  2477,  2480,
    733     2483,  2485,  2488,  2491,  2495,  2499,  2501,  2506,  2511,  2515,
    734     2524,  2528,  2530,  2532,  2535,  2537,  2539,  2542,  2546,  2549,
    735     2553,  2556,  2560,  2564,  2567,  2572,  2576,  2579,  2583,  2586,
    736     2591,  2595,  2598,  2605,  2612,  2619,  2627,  2629,  2632,  2634,
    737     2636,  2638,  2641,  2645,  2648,  2652,  2655,  2659,  2663,  2668,
    738     2671,  2675,  2680,  2683,  2689,  2695,  2702,  2709,  2710,  2712,
    739     2713
     697    1177,  1179,  1182,  1185,  1189,  1193,  1195,  1199,  1201,  1204,
     698    1207,  1210,  1215,  1220,  1225,  1230,  1232,  1235,  1238,  1242,
     699    1244,  1247,  1250,  1252,  1255,  1258,  1262,  1264,  1267,  1270,
     700    1272,  1274,  1279,  1282,  1283,  1290,  1298,  1301,  1304,  1307,
     701    1308,  1311,  1314,  1318,  1321,  1325,  1327,  1330,  1334,  1337,
     702    1340,  1345,  1346,  1348,  1351,  1354,  1356,  1357,  1359,  1362,
     703    1365,  1371,  1374,  1375,  1383,  1386,  1391,  1392,  1395,  1396,
     704    1398,  1400,  1402,  1408,  1414,  1420,  1422,  1428,  1434,  1444,
     705    1446,  1452,  1453,  1455,  1457,  1463,  1465,  1467,  1473,  1479,
     706    1481,  1485,  1489,  1494,  1496,  1498,  1500,  1502,  1505,  1507,
     707    1511,  1515,  1517,  1520,  1522,  1526,  1528,  1530,  1532,  1534,
     708    1536,  1538,  1540,  1542,  1544,  1546,  1548,  1551,  1553,  1555,
     709    1557,  1560,  1561,  1564,  1567,  1569,  1574,  1575,  1577,  1580,
     710    1584,  1589,  1592,  1595,  1597,  1600,  1603,  1609,  1615,  1623,
     711    1630,  1632,  1635,  1638,  1642,  1644,  1647,  1650,  1655,  1658,
     712    1663,  1664,  1669,  1672,  1674,  1676,  1678,  1679,  1682,  1688,
     713    1694,  1708,  1710,  1712,  1716,  1720,  1723,  1727,  1731,  1734,
     714    1739,  1741,  1748,  1758,  1759,  1771,  1773,  1777,  1781,  1785,
     715    1787,  1789,  1795,  1798,  1804,  1805,  1807,  1809,  1813,  1814,
     716    1816,  1818,  1820,  1822,  1823,  1830,  1833,  1835,  1838,  1843,
     717    1846,  1850,  1854,  1858,  1863,  1869,  1875,  1881,  1888,  1890,
     718    1892,  1894,  1898,  1899,  1905,  1906,  1908,  1910,  1913,  1920,
     719    1922,  1926,  1927,  1929,  1934,  1936,  1938,  1940,  1942,  1945,
     720    1947,  1950,  1953,  1955,  1959,  1962,  1966,  1970,  1973,  1978,
     721    1983,  1987,  1996,  2000,  2003,  2005,  2008,  2015,  2024,  2028,
     722    2031,  2035,  2039,  2044,  2049,  2053,  2055,  2057,  2059,  2064,
     723    2071,  2075,  2078,  2082,  2086,  2091,  2096,  2100,  2103,  2105,
     724    2108,  2111,  2113,  2117,  2120,  2124,  2128,  2131,  2136,  2141,
     725    2145,  2152,  2161,  2165,  2168,  2170,  2173,  2176,  2179,  2183,
     726    2187,  2190,  2195,  2200,  2204,  2211,  2220,  2224,  2227,  2229,
     727    2232,  2235,  2237,  2239,  2242,  2246,  2250,  2253,  2258,  2265,
     728    2274,  2276,  2279,  2282,  2284,  2287,  2290,  2294,  2298,  2300,
     729    2305,  2310,  2314,  2320,  2329,  2333,  2336,  2340,  2342,  2348,
     730    2354,  2361,  2368,  2370,  2373,  2376,  2378,  2381,  2384,  2388,
     731    2392,  2394,  2399,  2404,  2408,  2414,  2423,  2427,  2429,  2432,
     732    2434,  2437,  2444,  2450,  2457,  2465,  2473,  2475,  2478,  2481,
     733    2483,  2486,  2489,  2493,  2497,  2499,  2504,  2509,  2513,  2522,
     734    2526,  2528,  2530,  2533,  2535,  2537,  2540,  2544,  2547,  2551,
     735    2554,  2558,  2562,  2565,  2570,  2574,  2577,  2581,  2584,  2589,
     736    2593,  2596,  2603,  2610,  2617,  2625,  2627,  2630,  2632,  2634,
     737    2636,  2639,  2643,  2646,  2650,  2653,  2657,  2661,  2666,  2669,
     738    2673,  2678,  2681,  2687,  2693,  2700,  2707,  2708,  2710,  2711
    740739};
    741740
     
    743742static const yytype_int16 yyrhs[] =
    744743{
    745      302,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     744     301,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    746745      -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    747746      -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
     
    752751     112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
    753752     146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
    754      109,   275,   110,   114,   279,   372,   115,    -1,   143,   114,
     753     109,   274,   110,   114,   278,   371,   115,    -1,   143,   114,
    755754     144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
    756755     164,    -1,   147,    -1,   146,   116,   147,    -1,   139,    -1,
     
    760759      40,   151,    -1,   149,   151,    -1,   150,   151,    -1,    86,
    761760     148,    -1,    87,   148,    -1,    37,   148,    -1,    37,   109,
    762      275,   110,    -1,    66,   148,    -1,    66,   109,   275,   110,
    763       -1,    38,   109,   275,   116,   139,   110,    -1,    76,    -1,
    764       76,   109,   145,   110,    -1,    76,   109,   276,   110,    -1,
     761     274,   110,    -1,    66,   148,    -1,    66,   109,   274,   110,
     762      -1,    38,   109,   274,   116,   139,   110,    -1,    76,    -1,
     763      76,   109,   145,   110,    -1,    76,   109,   275,   110,    -1,
    765764     117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,
    766      122,    -1,   148,    -1,   109,   275,   110,   151,    -1,   109,
    767      275,   110,   167,    -1,   151,    -1,   152,   117,   151,    -1,
     765     122,    -1,   148,    -1,   109,   274,   110,   151,    -1,   109,
     766     274,   110,   167,    -1,   151,    -1,   152,   117,   151,    -1,
    768767     152,   123,   151,    -1,   152,   124,   151,    -1,   152,    -1,
    769768     153,   119,   152,    -1,   153,   120,   152,    -1,   153,    -1,
     
    777776     169,   130,   162,    -1,   161,   129,   130,   162,    -1,   161,
    778777     129,   169,   130,   167,    -1,   162,    -1,   162,    -1,   148,
    779      166,   164,    -1,   167,   373,    -1,    -1,   164,    -1,   131,
     778     166,   164,    -1,   167,   372,    -1,    -1,   164,    -1,   131,
    780779      -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,
    781780      -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,   106,
     
    786785     172,    -1,   173,    -1,   177,    -1,   178,    -1,   190,    -1,
    787786     192,    -1,   193,    -1,   198,    -1,   127,   143,   114,   144,
    788      115,   132,    -1,    72,   130,   312,   171,    -1,   114,   115,
     787     115,   132,    -1,    72,   130,   311,   171,    -1,   114,   115,
    789788      -1,   114,   134,   134,   209,   174,   135,   115,    -1,   175,
    790789      -1,   174,   134,   175,    -1,   212,    -1,    40,   212,    -1,
    791      308,    -1,   171,   135,    -1,   171,    -1,   176,   171,    -1,
     790     307,    -1,   171,   135,    -1,   171,    -1,   176,   171,    -1,
    792791     170,   132,    -1,    41,   109,   169,   110,   171,    -1,    41,
    793792     109,   169,   110,   171,    42,   171,    -1,    43,   109,   169,
     
    795794     184,   115,    -1,    53,   109,   169,   110,   183,    -1,    53,
    796795     109,   169,   110,   114,   134,   205,   186,   115,    -1,   163,
    797       -1,   163,    96,   163,    -1,   310,    -1,   179,    -1,   180,
     796      -1,   163,    96,   163,    -1,   309,    -1,   179,    -1,   180,
    798797     116,   179,    -1,    44,   180,   130,    -1,    45,   130,    -1,
    799798     181,    -1,   182,   181,    -1,   182,   171,    -1,    -1,   185,
     
    817816      -1,    59,   109,   134,   134,   197,   135,   110,   173,   135,
    818817      -1,   195,    59,   109,   134,   134,   197,   135,   110,   173,
    819      135,    -1,    60,   173,    -1,   225,    -1,   225,   309,    -1,
    820      225,   357,    -1,   366,   139,    -1,   366,    -1,    64,   199,
     818     135,    -1,    60,   173,    -1,   225,    -1,   225,   308,    -1,
     819     225,   356,    -1,   365,   139,    -1,   365,    -1,    64,   199,
    821820     109,   141,   110,   132,    -1,    64,   199,   109,   141,   130,
    822821     200,   110,   132,    -1,    64,   199,   109,   141,   130,   200,
     
    831830      -1,   135,    -1,   208,    -1,   222,    -1,   208,   134,   222,
    832831      -1,    -1,   210,    -1,    29,   211,   132,    -1,   210,    29,
    833      211,   132,    -1,   274,    -1,   211,   116,   274,    -1,   213,
     832     211,   132,    -1,   273,    -1,   211,   116,   273,    -1,   213,
    834833      -1,   222,    -1,   214,   135,   132,    -1,   219,   135,   132,
    835       -1,   216,   135,   132,    -1,   293,   135,   132,    -1,   296,
    836      135,   132,    -1,   215,   277,    -1,   231,   215,   277,    -1,
    837      214,   135,   116,   134,   272,   277,    -1,   367,   272,   311,
    838       -1,   370,   272,   311,    -1,   227,   370,   272,   311,    -1,
     834      -1,   216,   135,   132,    -1,   292,   135,   132,    -1,   295,
     835     135,   132,    -1,   215,   276,    -1,   231,   215,   276,    -1,
     836     214,   135,   116,   134,   271,   276,    -1,   366,   271,   310,
     837      -1,   369,   271,   310,    -1,   227,   369,   271,   310,    -1,
    839838     217,    -1,   227,   217,    -1,   231,   217,    -1,   231,   227,
    840      217,    -1,   216,   135,   116,   134,   272,    -1,   111,   112,
    841      272,   109,   134,   260,   135,   110,    -1,   370,   272,   109,
    842      134,   260,   135,   110,    -1,   218,   272,   109,   134,   260,
    843      135,   110,    -1,   111,   134,   262,   135,   112,    -1,   111,
    844      134,   262,   135,   116,   134,   263,   135,   112,    -1,     3,
     839     217,    -1,   216,   135,   116,   134,   271,    -1,   111,   112,
     840     271,   109,   134,   259,   135,   110,    -1,   369,   271,   109,
     841     134,   259,   135,   110,    -1,   218,   271,   109,   134,   259,
     842     135,   110,    -1,   111,   134,   261,   135,   112,    -1,   111,
     843     134,   261,   135,   116,   134,   262,   135,   112,    -1,     3,
    845844     215,    -1,     3,   217,    -1,   219,   135,   116,   134,   139,
    846       -1,     3,   225,   309,    -1,   220,   135,   116,   134,   309,
    847       -1,   227,     3,   225,   309,    -1,   225,     3,   309,    -1,
    848      225,     3,   227,   309,    -1,     3,   139,   131,   164,    -1,
     845      -1,     3,   225,   308,    -1,   220,   135,   116,   134,   308,
     846      -1,   227,     3,   225,   308,    -1,   225,     3,   308,    -1,
     847     225,     3,   227,   308,    -1,     3,   139,   131,   164,    -1,
    849848     221,   135,   116,   134,   139,   131,   164,    -1,   223,   135,
    850849     132,    -1,   220,   135,   132,    -1,   221,   135,   132,    -1,
    851      240,   135,   132,    -1,   224,   309,   311,   277,    -1,   223,
    852      116,   312,   309,   311,   277,    -1,   236,    -1,   240,    -1,
    853      242,    -1,   283,    -1,   237,    -1,   241,    -1,   243,    -1,
    854      284,    -1,    -1,   227,    -1,   228,    -1,   227,   228,    -1,
    855      229,    -1,   314,    -1,    10,    -1,    12,    -1,    11,    -1,
    856       14,    -1,    67,    -1,    -1,    13,   109,   230,   286,   110,
     850     239,   135,   132,    -1,   224,   308,   310,   276,    -1,   223,
     851     116,   311,   308,   310,   276,    -1,   235,    -1,   239,    -1,
     852     241,    -1,   282,    -1,   236,    -1,   240,    -1,   242,    -1,
     853     283,    -1,    -1,   227,    -1,   228,    -1,   227,   228,    -1,
     854     229,    -1,   313,    -1,    10,    -1,    12,    -1,    11,    -1,
     855      14,    -1,    67,    -1,    -1,    13,   109,   230,   285,   110,
    857856      -1,   232,    -1,   227,   232,    -1,   231,   227,   232,    -1,
    858      233,    -1,   232,   233,    -1,   234,    -1,     5,    -1,     7,
    859       -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,    69,
    860       -1,    71,    -1,    16,    -1,    21,    -1,    20,    -1,    18,
    861       -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,    15,
    862       -1,    25,    -1,    26,    -1,    27,    -1,    24,    -1,   237,
    863       -1,   231,   237,    -1,   236,   233,    -1,   236,   233,   227,
    864       -1,   236,   233,   237,    -1,   238,    -1,   226,   239,   226,
    865       -1,   235,    -1,   227,   235,    -1,   238,   228,    -1,   238,
    866      235,    -1,    28,   109,   276,   110,    -1,    28,   109,   169,
    867      110,    -1,    78,   109,   276,   110,    -1,    78,   109,   169,
    868      110,    -1,   241,    -1,   231,   241,    -1,   240,   233,    -1,
    869      240,   233,   227,    -1,   244,    -1,   227,   244,    -1,   241,
    870      228,    -1,   243,    -1,   231,   243,    -1,   242,   233,    -1,
    871      242,   233,   227,    -1,    74,    -1,   227,    74,    -1,   243,
    872      228,    -1,   245,    -1,   256,    -1,   247,   114,   248,   115,
    873       -1,   247,   274,    -1,    -1,   247,   274,   246,   114,   248,
    874      115,    -1,   247,   109,   292,   110,   114,   248,   115,    -1,
    875      247,   285,    -1,    31,   312,    -1,    32,   312,    -1,    -1,
    876      248,   249,    -1,   250,   132,    -1,    40,   250,   132,    -1,
    877      251,   132,    -1,    40,   251,   132,    -1,   366,    -1,   366,
    878      274,    -1,   250,   116,   274,    -1,   250,   116,    -1,   225,
    879      252,    -1,   251,   116,   312,   252,    -1,    -1,   254,    -1,
    880      318,   253,    -1,   331,   253,    -1,   357,    -1,    -1,   254,
    881       -1,   130,   163,    -1,    30,   312,    -1,   255,   114,   258,
    882      372,   115,    -1,   255,   274,    -1,    -1,   255,   274,   257,
    883      114,   258,   372,   115,    -1,   274,   259,    -1,   258,   116,
    884      274,   259,    -1,    -1,   131,   163,    -1,    -1,   261,    -1,
    885      263,    -1,   262,    -1,   262,   135,   116,   134,   263,    -1,
    886      263,   135,   116,   134,    96,    -1,   262,   135,   116,   134,
    887       96,    -1,   267,    -1,   263,   135,   116,   134,   267,    -1,
    888      262,   135,   116,   134,   267,    -1,   262,   135,   116,   134,
    889      263,   135,   116,   134,   267,    -1,   268,    -1,   263,   135,
    890      116,   134,   268,    -1,    -1,   265,    -1,   266,    -1,   266,
    891      135,   116,   134,    96,    -1,   270,    -1,   269,    -1,   266,
    892      135,   116,   134,   270,    -1,   266,   135,   116,   134,   269,
    893       -1,   269,    -1,   362,   272,   373,    -1,   370,   272,   373,
    894       -1,   227,   370,   272,   373,    -1,   217,    -1,   270,    -1,
    895      362,    -1,   370,    -1,   227,   370,    -1,   371,    -1,   224,
    896      336,   373,    -1,   224,   340,   373,    -1,   224,    -1,   224,
    897      351,    -1,   139,    -1,   271,   116,   139,    -1,   137,    -1,
    898       74,    -1,    75,    -1,   138,    -1,    74,    -1,    75,    -1,
    899      139,    -1,    74,    -1,    75,    -1,   366,    -1,   225,    -1,
    900      225,   357,    -1,   366,    -1,   371,    -1,   225,    -1,   225,
    901      345,    -1,    -1,   131,   278,    -1,   107,   278,    -1,   164,
    902       -1,   114,   279,   372,   115,    -1,    -1,   278,    -1,   280,
    903      278,    -1,   279,   116,   278,    -1,   279,   116,   280,   278,
    904       -1,   281,   130,    -1,   274,   130,    -1,   282,    -1,   281,
    905      282,    -1,   113,   274,    -1,   111,   134,   164,   135,   112,
    906       -1,   111,   134,   310,   135,   112,    -1,   111,   134,   163,
    907       96,   163,   135,   112,    -1,   113,   111,   134,   146,   135,
    908      112,    -1,   284,    -1,   231,   284,    -1,   283,   233,    -1,
    909      283,   233,   227,    -1,   285,    -1,   227,   285,    -1,   284,
    910      228,    -1,    75,   109,   292,   110,    -1,   287,   373,    -1,
    911      286,   116,   287,   373,    -1,    -1,   289,   274,   288,   290,
    912       -1,   225,   336,    -1,    33,    -1,    35,    -1,    34,    -1,
    913       -1,   290,   291,    -1,   128,   274,   109,   292,   110,    -1,
    914      128,   114,   134,   298,   115,    -1,   128,   109,   134,   286,
    915      135,   110,   114,   134,   298,   115,   109,   292,   110,    -1,
    916      276,    -1,   164,    -1,   292,   116,   276,    -1,   292,   116,
    917      164,    -1,    33,   294,    -1,   232,    33,   294,    -1,   293,
    918      116,   294,    -1,   295,   290,    -1,   295,   290,   131,   276,
    919       -1,   274,    -1,   273,   109,   134,   286,   135,   110,    -1,
    920       36,   274,   109,   134,   286,   135,   110,   114,   115,    -1,
    921       -1,    36,   274,   109,   134,   286,   135,   110,   114,   297,
    922      298,   115,    -1,   299,    -1,   298,   134,   299,    -1,   300,
    923      135,   132,    -1,   301,   135,   132,    -1,   215,    -1,   217,
    924       -1,   300,   135,   116,   134,   272,    -1,   225,   309,    -1,
    925      301,   135,   116,   134,   309,    -1,    -1,   303,    -1,   305,
    926       -1,   303,   134,   305,    -1,    -1,   303,    -1,   212,    -1,
    927      307,    -1,   198,    -1,    -1,     5,    82,   306,   114,   304,
    928      115,    -1,    40,   305,    -1,   308,    -1,   323,   173,    -1,
    929      327,   134,   207,   173,    -1,   216,   173,    -1,   224,   323,
    930      173,    -1,   227,   323,   173,    -1,   231,   323,   173,    -1,
    931      231,   227,   323,   173,    -1,   224,   327,   134,   207,   173,
    932       -1,   227,   327,   134,   207,   173,    -1,   231,   327,   134,
    933      207,   173,    -1,   231,   227,   327,   134,   207,   173,    -1,
    934      318,    -1,   331,    -1,   323,    -1,   163,   122,   163,    -1,
    935       -1,    64,   109,   141,   110,   312,    -1,    -1,   313,    -1,
    936      314,    -1,   313,   314,    -1,    39,   109,   109,   315,   110,
    937      110,    -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,
    938       -1,   317,   109,   170,   110,    -1,   272,    -1,   234,    -1,
    939      235,    -1,   228,    -1,   319,   312,    -1,   320,    -1,   321,
    940      312,    -1,   322,   312,    -1,   137,    -1,   109,   319,   110,
    941       -1,   149,   318,    -1,   149,   227,   318,    -1,   109,   320,
    942      110,    -1,   319,   349,    -1,   109,   320,   110,   349,    -1,
    943      109,   321,   110,   350,    -1,   109,   321,   110,    -1,   109,
    944      320,   110,   109,   134,   264,   135,   110,    -1,   109,   322,
    945      110,    -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,
    946      319,   109,   134,   264,   135,   110,    -1,   109,   325,   110,
    947      109,   134,   264,   135,   110,    -1,   109,   324,   110,    -1,
    948      149,   323,    -1,   149,   227,   323,    -1,   109,   325,   110,
    949       -1,   109,   325,   110,   349,    -1,   109,   326,   110,   350,
    950       -1,   109,   326,   110,    -1,   328,    -1,   329,    -1,   330,
    951       -1,   319,   109,   271,   110,    -1,   109,   329,   110,   109,
    952      271,   110,    -1,   109,   328,   110,    -1,   149,   327,    -1,
    953      149,   227,   327,    -1,   109,   329,   110,    -1,   109,   329,
    954      110,   349,    -1,   109,   330,   110,   350,    -1,   109,   330,
    955      110,    -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,
    956      335,   312,    -1,   341,    -1,   109,   332,   110,    -1,   149,
    957      331,    -1,   149,   227,   331,    -1,   109,   333,   110,    -1,
    958      332,   349,    -1,   109,   333,   110,   349,    -1,   109,   334,
    959      110,   350,    -1,   109,   334,   110,    -1,   332,   109,   134,
    960      264,   135,   110,    -1,   109,   333,   110,   109,   134,   264,
    961      135,   110,    -1,   109,   335,   110,    -1,   319,   312,    -1,
    962      337,    -1,   338,   312,    -1,   339,   312,    -1,   149,   336,
    963       -1,   149,   227,   336,    -1,   109,   337,   110,    -1,   319,
    964      355,    -1,   109,   337,   110,   349,    -1,   109,   338,   110,
    965      350,    -1,   109,   338,   110,    -1,   319,   109,   134,   264,
    966      135,   110,    -1,   109,   337,   110,   109,   134,   264,   135,
    967      110,    -1,   109,   339,   110,    -1,   341,   312,    -1,   342,
    968       -1,   343,   312,    -1,   344,   312,    -1,    74,    -1,    75,
    969       -1,   149,   340,    -1,   149,   227,   340,    -1,   109,   342,
    970      110,    -1,   341,   355,    -1,   109,   342,   110,   355,    -1,
    971      341,   109,   134,   264,   135,   110,    -1,   109,   342,   110,
    972      109,   134,   264,   135,   110,    -1,   346,    -1,   347,   312,
    973       -1,   348,   312,    -1,   149,    -1,   149,   227,    -1,   149,
    974      345,    -1,   149,   227,   345,    -1,   109,   346,   110,    -1,
    975      349,    -1,   109,   346,   110,   349,    -1,   109,   347,   110,
    976      350,    -1,   109,   347,   110,    -1,   109,   134,   264,   135,
    977      110,    -1,   109,   346,   110,   109,   134,   264,   135,   110,
    978       -1,   109,   348,   110,    -1,   111,   112,    -1,   111,   112,
    979      350,    -1,   350,    -1,   111,   134,   164,   135,   112,    -1,
    980      111,   134,   117,   135,   112,    -1,   350,   111,   134,   164,
    981      135,   112,    -1,   350,   111,   134,   117,   135,   112,    -1,
    982      352,    -1,   353,   312,    -1,   354,   312,    -1,   149,    -1,
    983      149,   227,    -1,   149,   351,    -1,   149,   227,   351,    -1,
    984      109,   352,   110,    -1,   355,    -1,   109,   352,   110,   355,
    985       -1,   109,   353,   110,   350,    -1,   109,   353,   110,    -1,
    986      109,   134,   264,   135,   110,    -1,   109,   352,   110,   109,
    987      134,   264,   135,   110,    -1,   109,   354,   110,    -1,   356,
    988       -1,   356,   350,    -1,   350,    -1,   111,   112,    -1,   111,
    989      134,   227,   117,   135,   112,    -1,   111,   134,   227,   135,
    990      112,    -1,   111,   134,   227,   164,   135,   112,    -1,   111,
    991      134,     7,   226,   164,   135,   112,    -1,   111,   134,   227,
    992        7,   164,   135,   112,    -1,   358,    -1,   359,   312,    -1,
    993      360,   312,    -1,   149,    -1,   149,   227,    -1,   149,   357,
    994       -1,   149,   227,   357,    -1,   109,   358,   110,    -1,   349,
    995       -1,   109,   358,   110,   349,    -1,   109,   359,   110,   350,
    996       -1,   109,   359,   110,    -1,   109,   358,   110,   109,   134,
    997      264,   135,   110,    -1,   109,   360,   110,    -1,   362,    -1,
    998      370,    -1,   227,   370,    -1,   363,    -1,   364,    -1,   149,
    999      225,    -1,   227,   149,   225,    -1,   149,   371,    -1,   227,
    1000      149,   371,    -1,   149,   361,    -1,   227,   149,   361,    -1,
    1001      111,   112,   225,    -1,   365,   225,    -1,   111,   112,   350,
    1002      225,    -1,   365,   350,   225,    -1,   350,   225,    -1,   111,
    1003      112,   363,    -1,   365,   363,    -1,   111,   112,   350,   363,
    1004       -1,   365,   350,   363,    -1,   350,   363,    -1,   111,   134,
    1005      227,   117,   135,   112,    -1,   111,   134,   227,   164,   135,
    1006      112,    -1,   111,   134,   231,   164,   135,   112,    -1,   111,
    1007      134,   231,   227,   164,   135,   112,    -1,   370,    -1,   227,
    1008      370,    -1,   367,    -1,   368,    -1,   369,    -1,   149,   225,
    1009       -1,   227,   149,   225,    -1,   149,   371,    -1,   227,   149,
    1010      371,    -1,   149,   366,    -1,   227,   149,   366,    -1,   111,
    1011      112,   225,    -1,   111,   112,   350,   225,    -1,   350,   225,
    1012       -1,   111,   112,   368,    -1,   111,   112,   350,   368,    -1,
    1013      350,   368,    -1,   111,   134,   263,   135,   112,    -1,   111,
    1014      112,   109,   260,   110,    -1,   370,   109,   134,   260,   135,
    1015      110,    -1,   218,   109,   134,   260,   135,   110,    -1,    -1,
    1016      116,    -1,    -1,   131,   164,    -1
     857     233,    -1,   232,   233,    -1,     5,    -1,     7,    -1,     4,
     858      -1,     6,    -1,     8,    -1,     9,    -1,    69,    -1,    71,
     859      -1,    16,    -1,    21,    -1,    20,    -1,    18,    -1,    19,
     860      -1,    17,    -1,    22,    -1,    23,    -1,    15,    -1,    25,
     861      -1,    26,    -1,    27,    -1,    24,    -1,   236,    -1,   231,
     862     236,    -1,   235,   233,    -1,   235,   233,   227,    -1,   235,
     863     233,   236,    -1,   237,    -1,   226,   238,   226,    -1,   234,
     864      -1,   227,   234,    -1,   237,   228,    -1,   237,   234,    -1,
     865      28,   109,   275,   110,    -1,    28,   109,   169,   110,    -1,
     866      78,   109,   275,   110,    -1,    78,   109,   169,   110,    -1,
     867     240,    -1,   231,   240,    -1,   239,   233,    -1,   239,   233,
     868     227,    -1,   243,    -1,   227,   243,    -1,   240,   228,    -1,
     869     242,    -1,   231,   242,    -1,   241,   233,    -1,   241,   233,
     870     227,    -1,    74,    -1,   227,    74,    -1,   242,   228,    -1,
     871     244,    -1,   255,    -1,   246,   114,   247,   115,    -1,   246,
     872     273,    -1,    -1,   246,   273,   245,   114,   247,   115,    -1,
     873     246,   109,   291,   110,   114,   247,   115,    -1,   246,   284,
     874      -1,    31,   311,    -1,    32,   311,    -1,    -1,   247,   248,
     875      -1,   249,   132,    -1,    40,   249,   132,    -1,   250,   132,
     876      -1,    40,   250,   132,    -1,   365,    -1,   365,   273,    -1,
     877     249,   116,   273,    -1,   249,   116,    -1,   225,   251,    -1,
     878     250,   116,   311,   251,    -1,    -1,   253,    -1,   317,   252,
     879      -1,   330,   252,    -1,   356,    -1,    -1,   253,    -1,   130,
     880     163,    -1,    30,   311,    -1,   254,   114,   257,   371,   115,
     881      -1,   254,   273,    -1,    -1,   254,   273,   256,   114,   257,
     882     371,   115,    -1,   273,   258,    -1,   257,   116,   273,   258,
     883      -1,    -1,   131,   163,    -1,    -1,   260,    -1,   262,    -1,
     884     261,    -1,   261,   135,   116,   134,   262,    -1,   262,   135,
     885     116,   134,    96,    -1,   261,   135,   116,   134,    96,    -1,
     886     266,    -1,   262,   135,   116,   134,   266,    -1,   261,   135,
     887     116,   134,   266,    -1,   261,   135,   116,   134,   262,   135,
     888     116,   134,   266,    -1,   267,    -1,   262,   135,   116,   134,
     889     267,    -1,    -1,   264,    -1,   265,    -1,   265,   135,   116,
     890     134,    96,    -1,   269,    -1,   268,    -1,   265,   135,   116,
     891     134,   269,    -1,   265,   135,   116,   134,   268,    -1,   268,
     892      -1,   361,   271,   372,    -1,   369,   271,   372,    -1,   227,
     893     369,   271,   372,    -1,   217,    -1,   269,    -1,   361,    -1,
     894     369,    -1,   227,   369,    -1,   370,    -1,   224,   335,   372,
     895      -1,   224,   339,   372,    -1,   224,    -1,   224,   350,    -1,
     896     139,    -1,   270,   116,   139,    -1,   137,    -1,    74,    -1,
     897      75,    -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,
     898      74,    -1,    75,    -1,   365,    -1,   225,    -1,   225,   356,
     899      -1,   365,    -1,   370,    -1,   225,    -1,   225,   344,    -1,
     900      -1,   131,   277,    -1,   107,   277,    -1,   164,    -1,   114,
     901     278,   371,   115,    -1,    -1,   277,    -1,   279,   277,    -1,
     902     278,   116,   277,    -1,   278,   116,   279,   277,    -1,   280,
     903     130,    -1,   273,   130,    -1,   281,    -1,   280,   281,    -1,
     904     113,   273,    -1,   111,   134,   164,   135,   112,    -1,   111,
     905     134,   309,   135,   112,    -1,   111,   134,   163,    96,   163,
     906     135,   112,    -1,   113,   111,   134,   146,   135,   112,    -1,
     907     283,    -1,   231,   283,    -1,   282,   233,    -1,   282,   233,
     908     227,    -1,   284,    -1,   227,   284,    -1,   283,   228,    -1,
     909      75,   109,   291,   110,    -1,   286,   372,    -1,   285,   116,
     910     286,   372,    -1,    -1,   288,   273,   287,   289,    -1,   225,
     911     335,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,   289,
     912     290,    -1,   128,   273,   109,   291,   110,    -1,   128,   114,
     913     134,   297,   115,    -1,   128,   109,   134,   285,   135,   110,
     914     114,   134,   297,   115,   109,   291,   110,    -1,   275,    -1,
     915     164,    -1,   291,   116,   275,    -1,   291,   116,   164,    -1,
     916      33,   293,    -1,   232,    33,   293,    -1,   292,   116,   293,
     917      -1,   294,   289,    -1,   294,   289,   131,   275,    -1,   273,
     918      -1,   272,   109,   134,   285,   135,   110,    -1,    36,   273,
     919     109,   134,   285,   135,   110,   114,   115,    -1,    -1,    36,
     920     273,   109,   134,   285,   135,   110,   114,   296,   297,   115,
     921      -1,   298,    -1,   297,   134,   298,    -1,   299,   135,   132,
     922      -1,   300,   135,   132,    -1,   215,    -1,   217,    -1,   299,
     923     135,   116,   134,   271,    -1,   225,   308,    -1,   300,   135,
     924     116,   134,   308,    -1,    -1,   302,    -1,   304,    -1,   302,
     925     134,   304,    -1,    -1,   302,    -1,   212,    -1,   306,    -1,
     926     198,    -1,    -1,     5,    82,   305,   114,   303,   115,    -1,
     927      40,   304,    -1,   307,    -1,   322,   173,    -1,   326,   134,
     928     207,   173,    -1,   216,   173,    -1,   224,   322,   173,    -1,
     929     227,   322,   173,    -1,   231,   322,   173,    -1,   231,   227,
     930     322,   173,    -1,   224,   326,   134,   207,   173,    -1,   227,
     931     326,   134,   207,   173,    -1,   231,   326,   134,   207,   173,
     932      -1,   231,   227,   326,   134,   207,   173,    -1,   317,    -1,
     933     330,    -1,   322,    -1,   163,   122,   163,    -1,    -1,    64,
     934     109,   141,   110,   311,    -1,    -1,   312,    -1,   313,    -1,
     935     312,   313,    -1,    39,   109,   109,   314,   110,   110,    -1,
     936     315,    -1,   314,   116,   315,    -1,    -1,   316,    -1,   316,
     937     109,   170,   110,    -1,   271,    -1,   233,    -1,   234,    -1,
     938     228,    -1,   318,   311,    -1,   319,    -1,   320,   311,    -1,
     939     321,   311,    -1,   137,    -1,   109,   318,   110,    -1,   149,
     940     317,    -1,   149,   227,   317,    -1,   109,   319,   110,    -1,
     941     318,   348,    -1,   109,   319,   110,   348,    -1,   109,   320,
     942     110,   349,    -1,   109,   320,   110,    -1,   109,   319,   110,
     943     109,   134,   263,   135,   110,    -1,   109,   321,   110,    -1,
     944     323,   311,    -1,   324,    -1,   325,   311,    -1,   318,   109,
     945     134,   263,   135,   110,    -1,   109,   324,   110,   109,   134,
     946     263,   135,   110,    -1,   109,   323,   110,    -1,   149,   322,
     947      -1,   149,   227,   322,    -1,   109,   324,   110,    -1,   109,
     948     324,   110,   348,    -1,   109,   325,   110,   349,    -1,   109,
     949     325,   110,    -1,   327,    -1,   328,    -1,   329,    -1,   318,
     950     109,   270,   110,    -1,   109,   328,   110,   109,   270,   110,
     951      -1,   109,   327,   110,    -1,   149,   326,    -1,   149,   227,
     952     326,    -1,   109,   328,   110,    -1,   109,   328,   110,   348,
     953      -1,   109,   329,   110,   349,    -1,   109,   329,   110,    -1,
     954     331,   311,    -1,   332,    -1,   333,   311,    -1,   334,   311,
     955      -1,   340,    -1,   109,   331,   110,    -1,   149,   330,    -1,
     956     149,   227,   330,    -1,   109,   332,   110,    -1,   331,   348,
     957      -1,   109,   332,   110,   348,    -1,   109,   333,   110,   349,
     958      -1,   109,   333,   110,    -1,   331,   109,   134,   263,   135,
     959     110,    -1,   109,   332,   110,   109,   134,   263,   135,   110,
     960      -1,   109,   334,   110,    -1,   318,   311,    -1,   336,    -1,
     961     337,   311,    -1,   338,   311,    -1,   149,   335,    -1,   149,
     962     227,   335,    -1,   109,   336,   110,    -1,   318,   354,    -1,
     963     109,   336,   110,   348,    -1,   109,   337,   110,   349,    -1,
     964     109,   337,   110,    -1,   318,   109,   134,   263,   135,   110,
     965      -1,   109,   336,   110,   109,   134,   263,   135,   110,    -1,
     966     109,   338,   110,    -1,   340,   311,    -1,   341,    -1,   342,
     967     311,    -1,   343,   311,    -1,    74,    -1,    75,    -1,   149,
     968     339,    -1,   149,   227,   339,    -1,   109,   341,   110,    -1,
     969     340,   354,    -1,   109,   341,   110,   354,    -1,   340,   109,
     970     134,   263,   135,   110,    -1,   109,   341,   110,   109,   134,
     971     263,   135,   110,    -1,   345,    -1,   346,   311,    -1,   347,
     972     311,    -1,   149,    -1,   149,   227,    -1,   149,   344,    -1,
     973     149,   227,   344,    -1,   109,   345,   110,    -1,   348,    -1,
     974     109,   345,   110,   348,    -1,   109,   346,   110,   349,    -1,
     975     109,   346,   110,    -1,   109,   134,   263,   135,   110,    -1,
     976     109,   345,   110,   109,   134,   263,   135,   110,    -1,   109,
     977     347,   110,    -1,   111,   112,    -1,   111,   112,   349,    -1,
     978     349,    -1,   111,   134,   164,   135,   112,    -1,   111,   134,
     979     117,   135,   112,    -1,   349,   111,   134,   164,   135,   112,
     980      -1,   349,   111,   134,   117,   135,   112,    -1,   351,    -1,
     981     352,   311,    -1,   353,   311,    -1,   149,    -1,   149,   227,
     982      -1,   149,   350,    -1,   149,   227,   350,    -1,   109,   351,
     983     110,    -1,   354,    -1,   109,   351,   110,   354,    -1,   109,
     984     352,   110,   349,    -1,   109,   352,   110,    -1,   109,   134,
     985     263,   135,   110,    -1,   109,   351,   110,   109,   134,   263,
     986     135,   110,    -1,   109,   353,   110,    -1,   355,    -1,   355,
     987     349,    -1,   349,    -1,   111,   112,    -1,   111,   134,   227,
     988     117,   135,   112,    -1,   111,   134,   227,   135,   112,    -1,
     989     111,   134,   227,   164,   135,   112,    -1,   111,   134,     7,
     990     226,   164,   135,   112,    -1,   111,   134,   227,     7,   164,
     991     135,   112,    -1,   357,    -1,   358,   311,    -1,   359,   311,
     992      -1,   149,    -1,   149,   227,    -1,   149,   356,    -1,   149,
     993     227,   356,    -1,   109,   357,   110,    -1,   348,    -1,   109,
     994     357,   110,   348,    -1,   109,   358,   110,   349,    -1,   109,
     995     358,   110,    -1,   109,   357,   110,   109,   134,   263,   135,
     996     110,    -1,   109,   359,   110,    -1,   361,    -1,   369,    -1,
     997     227,   369,    -1,   362,    -1,   363,    -1,   149,   225,    -1,
     998     227,   149,   225,    -1,   149,   370,    -1,   227,   149,   370,
     999      -1,   149,   360,    -1,   227,   149,   360,    -1,   111,   112,
     1000     225,    -1,   364,   225,    -1,   111,   112,   349,   225,    -1,
     1001     364,   349,   225,    -1,   349,   225,    -1,   111,   112,   362,
     1002      -1,   364,   362,    -1,   111,   112,   349,   362,    -1,   364,
     1003     349,   362,    -1,   349,   362,    -1,   111,   134,   227,   117,
     1004     135,   112,    -1,   111,   134,   227,   164,   135,   112,    -1,
     1005     111,   134,   231,   164,   135,   112,    -1,   111,   134,   231,
     1006     227,   164,   135,   112,    -1,   369,    -1,   227,   369,    -1,
     1007     366,    -1,   367,    -1,   368,    -1,   149,   225,    -1,   227,
     1008     149,   225,    -1,   149,   370,    -1,   227,   149,   370,    -1,
     1009     149,   365,    -1,   227,   149,   365,    -1,   111,   112,   225,
     1010      -1,   111,   112,   349,   225,    -1,   349,   225,    -1,   111,
     1011     112,   367,    -1,   111,   112,   349,   367,    -1,   349,   367,
     1012      -1,   111,   134,   262,   135,   112,    -1,   111,   112,   109,
     1013     259,   110,    -1,   369,   109,   134,   259,   135,   110,    -1,
     1014     218,   109,   134,   259,   135,   110,    -1,    -1,   116,    -1,
     1015      -1,   131,   164,    -1
    10171016};
    10181017
     
    10511050    1258,  1263,  1264,  1273,  1274,  1279,  1280,  1285,  1287,  1289,
    10521051    1291,  1293,  1296,  1295,  1307,  1308,  1310,  1320,  1321,  1326,
    1053     1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,  1349,  1351,
    1054     1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,  1369,  1371,
    1055     1373,  1379,  1380,  1382,  1384,  1386,  1391,  1392,  1398,  1399,
    1056     1401,  1403,  1408,  1410,  1412,  1414,  1419,  1420,  1422,  1424,
    1057     1429,  1430,  1432,  1437,  1438,  1440,  1442,  1447,  1449,  1451,
    1058     1456,  1457,  1461,  1463,  1469,  1468,  1472,  1474,  1479,  1481,
    1059     1487,  1488,  1493,  1494,  1496,  1497,  1506,  1507,  1509,  1511,
    1060     1516,  1518,  1524,  1525,  1527,  1530,  1533,  1538,  1539,  1544,
    1061     1549,  1553,  1555,  1561,  1560,  1567,  1569,  1575,  1576,  1584,
    1062     1585,  1589,  1590,  1591,  1593,  1595,  1602,  1603,  1605,  1607,
    1063     1612,  1613,  1619,  1620,  1624,  1625,  1630,  1631,  1632,  1634,
    1064     1642,  1643,  1645,  1648,  1650,  1654,  1655,  1656,  1658,  1660,
    1065     1664,  1669,  1677,  1678,  1687,  1689,  1694,  1695,  1696,  1700,
    1066     1701,  1702,  1706,  1707,  1708,  1712,  1713,  1714,  1719,  1720,
    1067     1721,  1722,  1728,  1729,  1731,  1736,  1737,  1742,  1743,  1744,
    1068     1745,  1746,  1761,  1762,  1767,  1768,  1774,  1776,  1779,  1781,
    1069     1783,  1806,  1807,  1809,  1811,  1816,  1817,  1819,  1824,  1829,
    1070     1830,  1836,  1835,  1839,  1843,  1845,  1847,  1853,  1854,  1859,
    1071     1864,  1866,  1871,  1873,  1874,  1876,  1881,  1883,  1885,  1890,
    1072     1892,  1897,  1902,  1910,  1916,  1915,  1929,  1930,  1935,  1936,
    1073     1940,  1945,  1950,  1958,  1963,  1974,  1975,  1986,  1987,  1993,
    1074     1994,  1998,  1999,  2000,  2003,  2002,  2013,  2022,  2028,  2034,
    1075     2043,  2049,  2055,  2061,  2067,  2075,  2081,  2089,  2095,  2104,
    1076     2105,  2106,  2110,  2114,  2116,  2121,  2122,  2126,  2127,  2132,
    1077     2138,  2139,  2142,  2144,  2145,  2149,  2150,  2151,  2152,  2186,
    1078     2188,  2189,  2191,  2196,  2201,  2206,  2208,  2210,  2215,  2217,
    1079     2219,  2221,  2226,  2228,  2237,  2239,  2240,  2245,  2247,  2249,
    1080     2254,  2256,  2258,  2263,  2265,  2267,  2276,  2277,  2278,  2282,
    1081     2284,  2286,  2291,  2293,  2295,  2300,  2302,  2304,  2319,  2321,
    1082     2322,  2324,  2329,  2330,  2335,  2337,  2339,  2344,  2346,  2348,
    1083     2350,  2355,  2357,  2359,  2369,  2371,  2372,  2374,  2379,  2381,
    1084     2383,  2388,  2390,  2392,  2394,  2399,  2401,  2403,  2434,  2436,
    1085     2437,  2439,  2444,  2449,  2457,  2459,  2461,  2466,  2468,  2473,
    1086     2475,  2489,  2490,  2492,  2497,  2499,  2501,  2503,  2505,  2510,
    1087     2511,  2513,  2515,  2520,  2522,  2524,  2530,  2532,  2534,  2538,
    1088     2540,  2542,  2544,  2558,  2559,  2561,  2566,  2568,  2570,  2572,
    1089     2574,  2579,  2580,  2582,  2584,  2589,  2591,  2593,  2599,  2600,
    1090     2602,  2611,  2614,  2616,  2619,  2621,  2623,  2636,  2637,  2639,
    1091     2644,  2646,  2648,  2650,  2652,  2657,  2658,  2660,  2662,  2667,
    1092     2669,  2677,  2678,  2679,  2684,  2685,  2689,  2691,  2693,  2695,
    1093     2697,  2699,  2706,  2708,  2710,  2712,  2714,  2716,  2718,  2720,
    1094     2722,  2724,  2729,  2731,  2733,  2738,  2764,  2765,  2767,  2771,
    1095     2772,  2776,  2778,  2780,  2782,  2784,  2786,  2793,  2795,  2797,
    1096     2799,  2801,  2803,  2808,  2813,  2815,  2817,  2835,  2837,  2842,
    1097     2843
     1052    1328,  1330,  1332,  1334,  1336,  1338,  1340,  1345,  1347,  1349,
     1053    1351,  1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,  1369,
     1054    1375,  1376,  1378,  1380,  1382,  1387,  1388,  1394,  1395,  1397,
     1055    1399,  1404,  1406,  1408,  1410,  1415,  1416,  1418,  1420,  1425,
     1056    1426,  1428,  1433,  1434,  1436,  1438,  1443,  1445,  1447,  1452,
     1057    1453,  1457,  1459,  1465,  1464,  1468,  1470,  1475,  1477,  1483,
     1058    1484,  1489,  1490,  1492,  1493,  1502,  1503,  1505,  1507,  1512,
     1059    1514,  1520,  1521,  1523,  1526,  1529,  1534,  1535,  1540,  1545,
     1060    1549,  1551,  1557,  1556,  1563,  1565,  1571,  1572,  1580,  1581,
     1061    1585,  1586,  1587,  1589,  1591,  1598,  1599,  1601,  1603,  1608,
     1062    1609,  1615,  1616,  1620,  1621,  1626,  1627,  1628,  1630,  1638,
     1063    1639,  1641,  1644,  1646,  1650,  1651,  1652,  1654,  1656,  1660,
     1064    1665,  1673,  1674,  1683,  1685,  1690,  1691,  1692,  1696,  1697,
     1065    1698,  1702,  1703,  1704,  1708,  1709,  1710,  1715,  1716,  1717,
     1066    1718,  1724,  1725,  1727,  1732,  1733,  1738,  1739,  1740,  1741,
     1067    1742,  1757,  1758,  1763,  1764,  1770,  1772,  1775,  1777,  1779,
     1068    1802,  1803,  1805,  1807,  1812,  1813,  1815,  1820,  1825,  1826,
     1069    1832,  1831,  1835,  1839,  1841,  1843,  1849,  1850,  1855,  1860,
     1070    1862,  1867,  1869,  1870,  1872,  1877,  1879,  1881,  1886,  1888,
     1071    1893,  1898,  1906,  1912,  1911,  1925,  1926,  1931,  1932,  1936,
     1072    1941,  1946,  1954,  1959,  1970,  1971,  1982,  1983,  1989,  1990,
     1073    1994,  1995,  1996,  1999,  1998,  2009,  2018,  2024,  2030,  2039,
     1074    2045,  2051,  2057,  2063,  2071,  2077,  2085,  2091,  2100,  2101,
     1075    2102,  2106,  2110,  2112,  2117,  2118,  2122,  2123,  2128,  2134,
     1076    2135,  2138,  2140,  2141,  2145,  2146,  2147,  2148,  2182,  2184,
     1077    2185,  2187,  2192,  2197,  2202,  2204,  2206,  2211,  2213,  2215,
     1078    2217,  2222,  2224,  2233,  2235,  2236,  2241,  2243,  2245,  2250,
     1079    2252,  2254,  2259,  2261,  2263,  2272,  2273,  2274,  2278,  2280,
     1080    2282,  2287,  2289,  2291,  2296,  2298,  2300,  2315,  2317,  2318,
     1081    2320,  2325,  2326,  2331,  2333,  2335,  2340,  2342,  2344,  2346,
     1082    2351,  2353,  2355,  2365,  2367,  2368,  2370,  2375,  2377,  2379,
     1083    2384,  2386,  2388,  2390,  2395,  2397,  2399,  2430,  2432,  2433,
     1084    2435,  2440,  2445,  2453,  2455,  2457,  2462,  2464,  2469,  2471,
     1085    2485,  2486,  2488,  2493,  2495,  2497,  2499,  2501,  2506,  2507,
     1086    2509,  2511,  2516,  2518,  2520,  2526,  2528,  2530,  2534,  2536,
     1087    2538,  2540,  2554,  2555,  2557,  2562,  2564,  2566,  2568,  2570,
     1088    2575,  2576,  2578,  2580,  2585,  2587,  2589,  2595,  2596,  2598,
     1089    2607,  2610,  2612,  2615,  2617,  2619,  2632,  2633,  2635,  2640,
     1090    2642,  2644,  2646,  2648,  2653,  2654,  2656,  2658,  2663,  2665,
     1091    2673,  2674,  2675,  2680,  2681,  2685,  2687,  2689,  2691,  2693,
     1092    2695,  2702,  2704,  2706,  2708,  2710,  2712,  2714,  2716,  2718,
     1093    2720,  2725,  2727,  2729,  2734,  2760,  2761,  2763,  2767,  2768,
     1094    2772,  2774,  2776,  2778,  2780,  2782,  2789,  2791,  2793,  2795,
     1095    2797,  2799,  2804,  2809,  2811,  2813,  2831,  2833,  2838,  2839
    10981096};
    10991097#endif
     
    11561154  "type_qualifier_list", "type_qualifier", "type_qualifier_name", "$@1",
    11571155  "declaration_qualifier_list", "storage_class_list", "storage_class",
    1158   "storage_class_name", "basic_type_name", "basic_declaration_specifier",
    1159   "basic_type_specifier", "direct_type_name", "indirect_type_name",
    1160   "sue_declaration_specifier", "sue_type_specifier",
    1161   "typedef_declaration_specifier", "typedef_type_specifier",
    1162   "elaborated_type_name", "aggregate_name", "$@2", "aggregate_key",
    1163   "field_declaration_list", "field_declaration",
     1156  "basic_type_name", "basic_declaration_specifier", "basic_type_specifier",
     1157  "direct_type_name", "indirect_type_name", "sue_declaration_specifier",
     1158  "sue_type_specifier", "typedef_declaration_specifier",
     1159  "typedef_type_specifier", "elaborated_type_name", "aggregate_name",
     1160  "$@2", "aggregate_key", "field_declaration_list", "field_declaration",
    11641161  "new_field_declaring_list", "field_declaring_list", "field_declarator",
    11651162  "bit_subrange_size_opt", "bit_subrange_size", "enum_key", "enum_name",
     
    12681265     225,   226,   226,   227,   227,   228,   228,   229,   229,   229,
    12691266     229,   229,   230,   229,   231,   231,   231,   232,   232,   233,
    1270      234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
    1271      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
    1272      235,   236,   236,   236,   236,   236,   237,   237,   238,   238,
    1273      238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
    1274      241,   241,   241,   242,   242,   242,   242,   243,   243,   243,
    1275      244,   244,   245,   245,   246,   245,   245,   245,   247,   247,
    1276      248,   248,   249,   249,   249,   249,   250,   250,   250,   250,
    1277      251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
    1278      255,   256,   256,   257,   256,   258,   258,   259,   259,   260,
    1279      260,   261,   261,   261,   261,   261,   262,   262,   262,   262,
    1280      263,   263,   264,   264,   265,   265,   266,   266,   266,   266,
    1281      267,   267,   267,   267,   267,   268,   268,   268,   268,   268,
    1282      269,   269,   270,   270,   271,   271,   272,   272,   272,   273,
    1283      273,   273,   274,   274,   274,   275,   275,   275,   276,   276,
    1284      276,   276,   277,   277,   277,   278,   278,   279,   279,   279,
    1285      279,   279,   280,   280,   281,   281,   282,   282,   282,   282,
    1286      282,   283,   283,   283,   283,   284,   284,   284,   285,   286,
    1287      286,   288,   287,   287,   289,   289,   289,   290,   290,   291,
    1288      291,   291,   292,   292,   292,   292,   293,   293,   293,   294,
    1289      294,   295,   295,   296,   297,   296,   298,   298,   299,   299,
    1290      300,   300,   300,   301,   301,   302,   302,   303,   303,   304,
    1291      304,   305,   305,   305,   306,   305,   305,   307,   307,   307,
    1292      308,   308,   308,   308,   308,   308,   308,   308,   308,   309,
    1293      309,   309,   310,   311,   311,   312,   312,   313,   313,   314,
    1294      315,   315,   316,   316,   316,   317,   317,   317,   317,   318,
    1295      318,   318,   318,   319,   319,   320,   320,   320,   321,   321,
    1296      321,   321,   322,   322,   323,   323,   323,   324,   324,   324,
    1297      325,   325,   325,   326,   326,   326,   327,   327,   327,   328,
    1298      328,   328,   329,   329,   329,   330,   330,   330,   331,   331,
    1299      331,   331,   332,   332,   333,   333,   333,   334,   334,   334,
    1300      334,   335,   335,   335,   336,   336,   336,   336,   337,   337,
    1301      337,   338,   338,   338,   338,   339,   339,   339,   340,   340,
    1302      340,   340,   341,   341,   342,   342,   342,   343,   343,   344,
    1303      344,   345,   345,   345,   346,   346,   346,   346,   346,   347,
    1304      347,   347,   347,   348,   348,   348,   349,   349,   349,   350,
    1305      350,   350,   350,   351,   351,   351,   352,   352,   352,   352,
    1306      352,   353,   353,   353,   353,   354,   354,   354,   355,   355,
    1307      355,   356,   356,   356,   356,   356,   356,   357,   357,   357,
    1308      358,   358,   358,   358,   358,   359,   359,   359,   359,   360,
    1309      360,   361,   361,   361,   362,   362,   363,   363,   363,   363,
    1310      363,   363,   364,   364,   364,   364,   364,   364,   364,   364,
    1311      364,   364,   365,   365,   365,   365,   366,   366,   366,   367,
    1312      367,   368,   368,   368,   368,   368,   368,   369,   369,   369,
    1313      369,   369,   369,   370,   371,   371,   371,   372,   372,   373,
    1314      373
     1267     233,   233,   233,   233,   233,   233,   233,   234,   234,   234,
     1268     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
     1269     235,   235,   235,   235,   235,   236,   236,   237,   237,   237,
     1270     237,   238,   238,   238,   238,   239,   239,   239,   239,   240,
     1271     240,   240,   241,   241,   241,   241,   242,   242,   242,   243,
     1272     243,   244,   244,   245,   244,   244,   244,   246,   246,   247,
     1273     247,   248,   248,   248,   248,   249,   249,   249,   249,   250,
     1274     250,   251,   251,   251,   251,   251,   252,   252,   253,   254,
     1275     255,   255,   256,   255,   257,   257,   258,   258,   259,   259,
     1276     260,   260,   260,   260,   260,   261,   261,   261,   261,   262,
     1277     262,   263,   263,   264,   264,   265,   265,   265,   265,   266,
     1278     266,   266,   266,   266,   267,   267,   267,   267,   267,   268,
     1279     268,   269,   269,   270,   270,   271,   271,   271,   272,   272,
     1280     272,   273,   273,   273,   274,   274,   274,   275,   275,   275,
     1281     275,   276,   276,   276,   277,   277,   278,   278,   278,   278,
     1282     278,   279,   279,   280,   280,   281,   281,   281,   281,   281,
     1283     282,   282,   282,   282,   283,   283,   283,   284,   285,   285,
     1284     287,   286,   286,   288,   288,   288,   289,   289,   290,   290,
     1285     290,   291,   291,   291,   291,   292,   292,   292,   293,   293,
     1286     294,   294,   295,   296,   295,   297,   297,   298,   298,   299,
     1287     299,   299,   300,   300,   301,   301,   302,   302,   303,   303,
     1288     304,   304,   304,   305,   304,   304,   306,   306,   306,   307,
     1289     307,   307,   307,   307,   307,   307,   307,   307,   308,   308,
     1290     308,   309,   310,   310,   311,   311,   312,   312,   313,   314,
     1291     314,   315,   315,   315,   316,   316,   316,   316,   317,   317,
     1292     317,   317,   318,   318,   319,   319,   319,   320,   320,   320,
     1293     320,   321,   321,   322,   322,   322,   323,   323,   323,   324,
     1294     324,   324,   325,   325,   325,   326,   326,   326,   327,   327,
     1295     327,   328,   328,   328,   329,   329,   329,   330,   330,   330,
     1296     330,   331,   331,   332,   332,   332,   333,   333,   333,   333,
     1297     334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
     1298     337,   337,   337,   337,   338,   338,   338,   339,   339,   339,
     1299     339,   340,   340,   341,   341,   341,   342,   342,   343,   343,
     1300     344,   344,   344,   345,   345,   345,   345,   345,   346,   346,
     1301     346,   346,   347,   347,   347,   348,   348,   348,   349,   349,
     1302     349,   349,   350,   350,   350,   351,   351,   351,   351,   351,
     1303     352,   352,   352,   352,   353,   353,   353,   354,   354,   354,
     1304     355,   355,   355,   355,   355,   355,   356,   356,   356,   357,
     1305     357,   357,   357,   357,   358,   358,   358,   358,   359,   359,
     1306     360,   360,   360,   361,   361,   362,   362,   362,   362,   362,
     1307     362,   363,   363,   363,   363,   363,   363,   363,   363,   363,
     1308     363,   364,   364,   364,   364,   365,   365,   365,   366,   366,
     1309     367,   367,   367,   367,   367,   367,   368,   368,   368,   368,
     1310     368,   368,   369,   370,   370,   370,   371,   371,   372,   372
    13151311};
    13161312
     
    13511347       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    13521348       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1353        1,     1,     2,     2,     3,     3,     1,     3,     1,     2,
    1354        2,     2,     4,     4,     4,     4,     1,     2,     2,     3,
    1355        1,     2,     2,     1,     2,     2,     3,     1,     2,     2,
    1356        1,     1,     4,     2,     0,     6,     7,     2,     2,     2,
    1357        0,     2,     2,     3,     2,     3,     1,     2,     3,     2,
    1358        2,     4,     0,     1,     2,     2,     1,     0,     1,     2,
    1359        2,     5,     2,     0,     7,     2,     4,     0,     2,     0,
    1360        1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
    1361        1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
    1362        1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
    1363        3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
    1364        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
    1365        1,     2,     0,     2,     2,     1,     4,     0,     1,     2,
    1366        3,     4,     2,     2,     1,     2,     2,     5,     5,     7,
    1367        6,     1,     2,     2,     3,     1,     2,     2,     4,     2,
    1368        4,     0,     4,     2,     1,     1,     1,     0,     2,     5,
    1369        5,    13,     1,     1,     3,     3,     2,     3,     3,     2,
    1370        4,     1,     6,     9,     0,    11,     1,     3,     3,     3,
    1371        1,     1,     5,     2,     5,     0,     1,     1,     3,     0,
    1372        1,     1,     1,     1,     0,     6,     2,     1,     2,     4,
    1373        2,     3,     3,     3,     4,     5,     5,     5,     6,     1,
    1374        1,     1,     3,     0,     5,     0,     1,     1,     2,     6,
    1375        1,     3,     0,     1,     4,     1,     1,     1,     1,     2,
    1376        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1377        4,     3,     8,     3,     2,     1,     2,     6,     8,     3,
    1378        2,     3,     3,     4,     4,     3,     1,     1,     1,     4,
    1379        6,     3,     2,     3,     3,     4,     4,     3,     2,     1,
     1349       1,     2,     2,     3,     3,     1,     3,     1,     2,     2,
     1350       2,     4,     4,     4,     4,     1,     2,     2,     3,     1,
     1351       2,     2,     1,     2,     2,     3,     1,     2,     2,     1,
     1352       1,     4,     2,     0,     6,     7,     2,     2,     2,     0,
     1353       2,     2,     3,     2,     3,     1,     2,     3,     2,     2,
     1354       4,     0,     1,     2,     2,     1,     0,     1,     2,     2,
     1355       5,     2,     0,     7,     2,     4,     0,     2,     0,     1,
     1356       1,     1,     5,     5,     5,     1,     5,     5,     9,     1,
     1357       5,     0,     1,     1,     5,     1,     1,     5,     5,     1,
     1358       3,     3,     4,     1,     1,     1,     1,     2,     1,     3,
     1359       3,     1,     2,     1,     3,     1,     1,     1,     1,     1,
     1360       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
     1361       2,     0,     2,     2,     1,     4,     0,     1,     2,     3,
     1362       4,     2,     2,     1,     2,     2,     5,     5,     7,     6,
     1363       1,     2,     2,     3,     1,     2,     2,     4,     2,     4,
     1364       0,     4,     2,     1,     1,     1,     0,     2,     5,     5,
     1365      13,     1,     1,     3,     3,     2,     3,     3,     2,     4,
     1366       1,     6,     9,     0,    11,     1,     3,     3,     3,     1,
     1367       1,     5,     2,     5,     0,     1,     1,     3,     0,     1,
     1368       1,     1,     1,     0,     6,     2,     1,     2,     4,     2,
     1369       3,     3,     3,     4,     5,     5,     5,     6,     1,     1,
     1370       1,     3,     0,     5,     0,     1,     1,     2,     6,     1,
     1371       3,     0,     1,     4,     1,     1,     1,     1,     2,     1,
    13801372       2,     2,     1,     3,     2,     3,     3,     2,     4,     4,
    1381        3,     6,     8,     3,     2,     1,     2,     2,     2,     3,
    1382        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1383        2,     2,     1,     1,     2,     3,     3,     2,     4,     6,
    1384        8,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1385        4,     4,     3,     5,     8,     3,     2,     3,     1,     5,
    1386        5,     6,     6,     1,     2,     2,     1,     2,     2,     3,
    1387        3,     1,     4,     4,     3,     5,     8,     3,     1,     2,
    1388        1,     2,     6,     5,     6,     7,     7,     1,     2,     2,
    1389        1,     2,     2,     3,     3,     1,     4,     4,     3,     8,
    1390        3,     1,     1,     2,     1,     1,     2,     3,     2,     3,
    1391        2,     3,     3,     2,     4,     3,     2,     3,     2,     4,
    1392        3,     2,     6,     6,     6,     7,     1,     2,     1,     1,
    1393        1,     2,     3,     2,     3,     2,     3,     3,     4,     2,
    1394        3,     4,     2,     5,     5,     6,     6,     0,     1,     0,
    1395        2
     1373       3,     8,     3,     2,     1,     2,     6,     8,     3,     2,
     1374       3,     3,     4,     4,     3,     1,     1,     1,     4,     6,
     1375       3,     2,     3,     3,     4,     4,     3,     2,     1,     2,
     1376       2,     1,     3,     2,     3,     3,     2,     4,     4,     3,
     1377       6,     8,     3,     2,     1,     2,     2,     2,     3,     3,
     1378       2,     4,     4,     3,     6,     8,     3,     2,     1,     2,
     1379       2,     1,     1,     2,     3,     3,     2,     4,     6,     8,
     1380       1,     2,     2,     1,     2,     2,     3,     3,     1,     4,
     1381       4,     3,     5,     8,     3,     2,     3,     1,     5,     5,
     1382       6,     6,     1,     2,     2,     1,     2,     2,     3,     3,
     1383       1,     4,     4,     3,     5,     8,     3,     1,     2,     1,
     1384       2,     6,     5,     6,     7,     7,     1,     2,     2,     1,
     1385       2,     2,     3,     3,     1,     4,     4,     3,     8,     3,
     1386       1,     1,     2,     1,     1,     2,     3,     2,     3,     2,
     1387       3,     3,     2,     4,     3,     2,     3,     2,     4,     3,
     1388       2,     6,     6,     6,     7,     1,     2,     1,     1,     1,
     1389       2,     3,     2,     3,     2,     3,     3,     4,     2,     3,
     1390       4,     2,     5,     5,     6,     6,     0,     1,     0,     2
    13961391};
    13971392
     
    14011396static const yytype_uint16 yydefact[] =
    14021397{
    1403      291,   291,   312,   310,   313,   311,   314,   315,   297,   299,
    1404      298,     0,   300,   326,   318,   323,   321,   322,   320,   319,
    1405      324,   325,   330,   327,   328,   329,   545,   545,   545,     0,
    1406        0,     0,   291,   217,   301,   316,   317,     7,   357,     0,
    1407        8,    14,    15,     0,     2,    60,    61,   563,     9,   291,
    1408      523,   521,   244,     3,   452,     3,   257,     0,     3,     3,
     1398     291,   291,   311,   309,   312,   310,   313,   314,   297,   299,
     1399     298,     0,   300,   325,   317,   322,   320,   321,   319,   318,
     1400     323,   324,   329,   326,   327,   328,   544,   544,   544,     0,
     1401       0,     0,   291,   217,   301,   315,   316,     7,   356,     0,
     1402       8,    14,    15,     0,     2,    60,    61,   562,     9,   291,
     1403     522,   520,   244,     3,   451,     3,   257,     0,     3,     3,
    14091404       3,   245,     3,     0,     0,     0,   292,   293,   295,   291,
    1410      304,   307,   309,   338,   283,   331,   336,   284,   346,   285,
    1411      353,   350,   360,     0,     0,   361,   286,   471,   475,     3,
    1412        3,     0,     2,   517,   522,   527,   296,     0,     0,   545,
    1413      575,   545,     2,   586,   587,   588,   291,     0,   729,   730,
    1414        0,    12,     0,    13,   291,   267,   268,     0,   292,   287,
    1415      288,   289,   290,   524,   302,   390,   546,   547,   368,   369,
    1416       12,   443,   444,    11,   439,   442,     0,   501,   496,   487,
    1417      443,   444,     0,     0,   526,   218,     0,   291,     0,     0,
    1418        0,     0,     0,     0,     0,     0,   291,   291,     2,     0,
    1419      731,   292,   580,   592,   735,   728,   726,   733,     0,     0,
    1420        0,   251,     2,     0,   530,   437,   438,   436,     0,     0,
    1421        0,     0,   545,     0,   632,   633,     0,     0,   543,   539,
    1422      545,   560,   545,   545,   541,     2,   540,   545,   599,   545,
    1423      545,   602,     0,     0,     0,   291,   291,   310,   358,     2,
    1424      291,   258,   294,   305,   339,   351,   476,     0,     2,     0,
    1425      452,   259,   292,   332,   347,   354,   472,     0,     2,     0,
    1426      308,   333,   340,   341,     0,   348,   352,   355,   359,   444,
    1427      291,   370,   363,   367,     0,   392,   473,   477,     0,     0,
    1428        0,     1,   291,     2,   528,   574,   576,   291,     2,   739,
    1429      292,   742,   543,   543,     0,   292,     0,     0,   270,   545,
    1430      541,     2,   291,     0,     0,   291,   548,     2,   499,     2,
    1431      552,     0,     0,     0,     0,     0,     0,    18,    57,     4,
    1432        5,     6,    16,     0,     0,   291,     2,    62,    63,    64,
    1433       65,    45,    19,    46,    22,    44,    66,   291,     0,    69,
    1434       73,    76,    79,    84,    87,    89,    91,    93,    95,    97,
    1435      102,   493,   749,   450,   492,     0,   448,   449,     0,   564,
    1436      579,   582,   585,   591,   594,   597,   357,     0,     2,   737,
    1437        0,   291,   740,     2,    60,   291,     3,   424,     0,   432,
    1438      292,   291,   304,   331,   284,   346,   353,     3,     3,   406,
    1439      410,   420,   425,   471,   291,   426,   704,   705,   291,   427,
    1440      429,   291,     2,   581,   593,   727,     2,     2,   246,     2,
    1441      457,     0,   455,   454,   453,   138,     2,     2,   248,     2,
    1442        2,   247,     2,   278,     2,   279,     0,   277,     0,     0,
    1443        0,     0,     0,     0,     0,     0,     0,   565,   604,     0,
    1444      452,     2,   559,   568,   658,   561,   562,   531,   291,     2,
    1445      598,   607,   600,   601,     0,   273,   291,   291,   337,   292,
    1446        0,   292,     0,   291,   732,   736,   734,   532,   291,   543,
    1447      252,   260,   306,     0,     2,   533,   291,   497,   334,   335,
    1448      280,   349,   356,     0,   291,     0,   747,   397,     0,   474,
    1449      498,   249,   250,   518,   291,   434,     0,   291,   234,     0,
    1450        2,   236,     0,   292,     0,   254,     2,   255,   275,     0,
    1451        0,     2,   291,   543,   291,   484,   486,   485,     0,     0,
    1452      749,     0,   291,     0,   291,   488,   291,   558,   556,   557,
    1453      555,     0,   550,   553,     0,     0,   291,    52,   291,    66,
    1454       47,   291,    54,   291,   291,    50,    51,     2,   124,     0,
    1455        0,   446,     0,   445,   726,   118,   291,    17,     0,    29,
    1456       30,    35,     2,     0,    35,   108,   109,   110,   111,   112,
    1457      113,   114,   115,   116,   117,   107,     0,    48,    49,     0,
     1405     304,   307,   337,   283,   330,   335,   284,   345,   285,   352,
     1406     349,   359,     0,     0,   360,   286,   470,   474,     3,     3,
     1407       0,     2,   516,   521,   526,   296,     0,     0,   544,   574,
     1408     544,     2,   585,   586,   587,   291,     0,   728,   729,     0,
     1409      12,     0,    13,   291,   267,   268,     0,   292,   287,   288,
     1410     289,   290,   523,   302,   389,   545,   546,   367,   368,    12,
     1411     442,   443,    11,   438,   441,     0,   500,   495,   486,   442,
     1412     443,     0,     0,   525,   218,     0,   291,     0,     0,     0,
     1413       0,     0,     0,     0,     0,   291,   291,     2,     0,   730,
     1414     292,   579,   591,   734,   727,   725,   732,     0,     0,     0,
     1415     251,     2,     0,   529,   436,   437,   435,     0,     0,     0,
     1416       0,   544,     0,   631,   632,     0,     0,   542,   538,   544,
     1417     559,   544,   544,   540,     2,   539,   544,   598,   544,   544,
     1418     601,     0,     0,     0,   291,   291,   309,   357,     2,   291,
     1419     258,   294,   305,   338,   350,   475,     0,     2,     0,   451,
     1420     259,   292,   331,   346,   353,   471,     0,     2,     0,   308,
     1421     332,   339,   340,     0,   347,   351,   354,   358,   443,   291,
     1422     369,   362,   366,     0,   391,   472,   476,     0,     0,     0,
     1423       1,   291,     2,   527,   573,   575,   291,     2,   738,   292,
     1424     741,   542,   542,     0,   292,     0,     0,   270,   544,   540,
     1425       2,   291,     0,     0,   291,   547,     2,   498,     2,   551,
     1426       0,     0,     0,     0,     0,     0,    18,    57,     4,     5,
     1427       6,    16,     0,     0,   291,     2,    62,    63,    64,    65,
     1428      45,    19,    46,    22,    44,    66,   291,     0,    69,    73,
     1429      76,    79,    84,    87,    89,    91,    93,    95,    97,   102,
     1430     492,   748,   449,   491,     0,   447,   448,     0,   563,   578,
     1431     581,   584,   590,   593,   596,   356,     0,     2,   736,     0,
     1432     291,   739,     2,    60,   291,     3,   423,     0,   431,   292,
     1433     291,   304,   330,   284,   345,   352,     3,     3,   405,   409,
     1434     419,   424,   470,   291,   425,   703,   704,   291,   426,   428,
     1435     291,     2,   580,   592,   726,     2,     2,   246,     2,   456,
     1436       0,   454,   453,   452,   138,     2,     2,   248,     2,     2,
     1437     247,     2,   278,     2,   279,     0,   277,     0,     0,     0,
     1438       0,     0,     0,     0,     0,     0,   564,   603,     0,   451,
     1439       2,   558,   567,   657,   560,   561,   530,   291,     2,   597,
     1440     606,   599,   600,     0,   273,   291,   291,   336,   292,     0,
     1441     292,     0,   291,   731,   735,   733,   531,   291,   542,   252,
     1442     260,   306,     0,     2,   532,   291,   496,   333,   334,   280,
     1443     348,   355,     0,   291,     0,   746,   396,     0,   473,   497,
     1444     249,   250,   517,   291,   433,     0,   291,   234,     0,     2,
     1445     236,     0,   292,     0,   254,     2,   255,   275,     0,     0,
     1446       2,   291,   542,   291,   483,   485,   484,     0,     0,   748,
     1447       0,   291,     0,   291,   487,   291,   557,   555,   556,   554,
     1448       0,   549,   552,     0,     0,   291,    52,   291,    66,    47,
     1449     291,    54,   291,   291,    50,    51,     2,   124,     0,     0,
     1450     445,     0,   444,   725,   118,   291,    17,     0,    29,    30,
     1451      35,     2,     0,    35,   108,   109,   110,   111,   112,   113,
     1452     114,   115,   116,   117,   107,     0,    48,    49,     0,     0,
    14581453       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1459        0,     0,     0,     0,     0,     0,     0,     0,     0,   104,
    1460        2,   644,   451,   641,   545,   545,   649,   478,   291,     2,
    1461      583,   584,     0,   595,   596,     0,     2,   738,   741,   118,
    1462      291,     0,     2,   706,   292,   710,   701,   702,   708,     0,
    1463        2,     2,   666,   545,   749,   615,   545,   545,   749,   545,
    1464      629,   545,   545,   680,   433,   663,   545,   545,   671,   678,
    1465      291,   428,   292,     0,     0,   291,   716,   292,   721,   749,
    1466      713,   291,   718,   749,   291,   291,   291,     0,   118,     0,
    1467       18,     2,     0,    19,     0,   458,   747,     0,     0,   464,
    1468      238,     0,   291,     0,     0,     0,   543,   567,   571,   573,
    1469      603,   606,   610,   613,   566,   605,     0,   281,   656,     0,
    1470      291,   274,     0,     0,     0,     0,   272,     2,     0,   256,
    1471      534,   291,     0,     0,   291,     2,   362,   382,   371,     0,
    1472        0,   376,   370,   748,     0,     0,   395,     0,   292,     3,
    1473      413,     3,   417,   416,   589,     0,   529,   291,    60,     3,
    1474      291,   432,   292,     3,   426,   427,     2,     0,     0,     0,
    1475      483,   303,   291,   479,   481,     3,     2,     2,     0,   500,
    1476        3,     0,   552,   126,     0,     0,   219,     0,     0,     0,
    1477        0,    36,     0,     0,   118,   291,    20,     0,    21,     0,
    1478      690,   695,   447,   687,   545,   545,     0,   105,     3,     2,
    1479       27,     0,    33,     0,     2,    25,     0,   103,    70,    71,
    1480       72,    74,    75,    77,    78,    82,    83,    80,    81,    85,
    1481       86,    88,    90,    92,    94,    96,     0,     0,   750,   291,
    1482        0,     0,     0,   645,   646,   642,   643,   495,   494,   291,
    1483        0,   291,   712,   291,   717,   292,   291,   660,   291,   291,
    1484      703,   659,     2,   291,     0,     0,     0,     0,     0,     0,
    1485        0,     0,   681,     0,   667,   618,   634,   668,     2,   614,
    1486      621,   430,   616,   617,   431,     2,   628,   637,   630,   631,
    1487      664,   665,   679,   707,   711,   709,   749,   265,     2,   743,
    1488        2,   421,   715,   720,   422,     0,   400,     3,     3,     3,
    1489        3,   452,     3,     0,     2,   466,   463,   748,     0,   459,
    1490        2,   462,   465,     0,   291,   239,   261,     3,   269,   271,
    1491        0,   452,     2,   569,   570,     2,   608,   609,     0,   657,
    1492      535,     3,   343,   342,   345,   344,   291,   536,     0,   537,
    1493      370,     0,     0,   291,   291,     0,     0,   690,   380,   383,
    1494      387,   545,   387,   386,   379,   372,   545,   374,   377,   291,
    1495      397,   391,   101,   398,   747,     0,     0,   435,   237,     0,
    1496        0,     3,     2,   666,   428,     0,   525,     0,   749,   487,
    1497        0,   291,   291,   291,     0,   549,   551,   127,     0,     0,
    1498      212,     0,     0,     0,   220,   221,    53,     0,    55,    58,
    1499       59,     0,     2,   125,     0,     0,     0,   691,   692,   688,
    1500      689,   457,    67,    68,   106,   122,     3,   105,     0,     0,
    1501       24,    35,     3,     0,    32,    99,     0,     3,   648,   652,
    1502      655,   647,     3,   590,     3,   714,   719,     2,    60,   291,
    1503        3,     3,   292,     0,     3,   620,   624,   627,   636,   670,
    1504      674,   677,   291,     3,   619,   635,   669,   291,   291,   423,
    1505      291,   291,   744,     0,     0,     0,     0,   253,     0,   101,
    1506        0,     3,     3,     0,   460,     0,   456,     0,     0,   242,
    1507      291,     0,     0,   126,     0,     0,     0,     0,     0,   126,
    1508        0,     0,   105,   105,    18,     2,     0,     0,     3,   128,
    1509      129,     2,   140,   130,   131,   132,   133,   134,   135,   142,
    1510      144,     0,     0,     0,   282,   291,   291,   545,     0,   538,
    1511      291,   373,   375,     0,   389,   691,   384,   388,   385,   378,
    1512      382,   365,   396,     0,   577,     2,   662,   661,     0,   667,
    1513        2,   480,   482,   502,     3,   510,   511,     0,     2,   506,
    1514        3,     3,     0,     0,   554,   219,     0,     0,     0,   219,
    1515        0,     0,   118,   694,   698,   700,   693,   747,   105,     0,
    1516        3,   659,    39,     3,    37,    34,     0,     3,    98,   100,
    1517        0,     2,   650,   651,     0,     0,   291,     0,     0,     0,
    1518        3,   636,     0,     2,   622,   623,     2,   638,     2,   672,
    1519      673,     0,     0,    60,     0,     3,     3,     3,     3,   408,
    1520      407,   411,     2,     2,   746,   745,   119,     0,     0,     0,
    1521        0,     3,   461,     3,     0,   240,   143,     3,   292,   291,
    1522        0,     0,     0,     0,     2,     0,   188,     0,   186,     0,
    1523        0,     0,     0,     0,     0,     0,   545,   118,     0,   148,
    1524      145,   291,     0,     0,   264,   276,     3,     3,   544,   611,
    1525      366,   381,   394,   291,   263,   291,     0,   513,   490,   291,
    1526        0,     0,   489,   504,     0,     0,     0,   213,     0,   222,
    1527       56,     2,   696,   697,     0,   123,   120,     0,     0,     0,
    1528        0,     0,    23,     0,   653,   291,   578,   262,   722,   723,
    1529      724,     0,   675,   291,   291,   291,     3,     3,     0,   683,
    1530        0,     0,     0,     0,   291,   291,     3,   542,   119,   468,
    1531        0,     0,   243,   292,     0,     0,     0,     0,   291,   189,
    1532      187,   184,     0,   190,     0,     0,     0,     0,   194,   197,
    1533      195,   191,     0,   192,   126,    35,   141,   139,   241,     0,
    1534        0,   415,   419,   418,     0,   507,     2,   508,     2,   509,
    1535      503,   291,   225,     0,   223,     0,   225,   291,    31,   121,
    1536        2,    42,     2,    40,    38,    28,    26,     3,   725,     3,
    1537        3,     3,     0,     0,   682,   684,   625,   639,   266,     2,
    1538      405,     3,   404,     0,   470,   467,   126,     0,     0,   126,
    1539        3,     0,   126,   185,     0,     2,     2,   206,   196,     0,
    1540        0,     0,   137,     0,   572,   612,     2,     0,     0,     2,
    1541      226,     0,     0,   214,     0,     3,     0,     0,     0,     0,
    1542        0,     0,   685,   686,   291,     0,   469,   149,     0,     0,
    1543        2,   162,   126,   151,     0,   179,     0,   126,     0,     2,
    1544      153,     0,     2,     0,     2,     2,     2,   193,    32,   291,
    1545      512,   514,   505,     0,     0,     0,     0,     0,     3,     3,
    1546      654,   626,   640,   676,   409,   126,   155,   158,     0,   157,
    1547      161,     3,   164,   163,     0,   126,   181,   126,     3,     0,
    1548      291,     0,   291,     0,     2,     0,     2,   136,     2,   227,
    1549      228,     0,   224,   215,   699,     0,     0,   150,     0,     0,
    1550      160,   230,   165,     2,   232,   180,     0,   183,   169,   198,
    1551        3,   207,   211,   200,     3,     0,   291,     0,   291,     0,
    1552        0,     0,    43,    41,   156,   159,   126,     0,   166,   291,
    1553      126,   126,     0,   170,     0,     0,   690,   208,   209,   210,
    1554        0,   199,     3,   201,     3,   291,   216,   229,   146,   167,
    1555      152,   126,   233,   182,   177,   175,   171,   154,   126,     0,
    1556      691,     0,     0,     0,     0,   147,   168,   178,   172,   176,
    1557      175,   173,     3,     3,     0,     0,   491,   174,   202,   204,
    1558        3,     3,   203,   205
     1454       0,     0,     0,     0,     0,     0,     0,     0,   104,     2,
     1455     643,   450,   640,   544,   544,   648,   477,   291,     2,   582,
     1456     583,     0,   594,   595,     0,     2,   737,   740,   118,   291,
     1457       0,     2,   705,   292,   709,   700,   701,   707,     0,     2,
     1458       2,   665,   544,   748,   614,   544,   544,   748,   544,   628,
     1459     544,   544,   679,   432,   662,   544,   544,   670,   677,   291,
     1460     427,   292,     0,     0,   291,   715,   292,   720,   748,   712,
     1461     291,   717,   748,   291,   291,   291,     0,   118,     0,    18,
     1462       2,     0,    19,     0,   457,   746,     0,     0,   463,   238,
     1463       0,   291,     0,     0,     0,   542,   566,   570,   572,   602,
     1464     605,   609,   612,   565,   604,     0,   281,   655,     0,   291,
     1465     274,     0,     0,     0,     0,   272,     2,     0,   256,   533,
     1466     291,     0,     0,   291,     2,   361,   381,   370,     0,     0,
     1467     375,   369,   747,     0,     0,   394,     0,   292,     3,   412,
     1468       3,   416,   415,   588,     0,   528,   291,    60,     3,   291,
     1469     431,   292,     3,   425,   426,     2,     0,     0,     0,   482,
     1470     303,   291,   478,   480,     3,     2,     2,     0,   499,     3,
     1471       0,   551,   126,     0,     0,   219,     0,     0,     0,     0,
     1472      36,     0,     0,   118,   291,    20,     0,    21,     0,   689,
     1473     694,   446,   686,   544,   544,     0,   105,     3,     2,    27,
     1474       0,    33,     0,     2,    25,     0,   103,    70,    71,    72,
     1475      74,    75,    77,    78,    82,    83,    80,    81,    85,    86,
     1476      88,    90,    92,    94,    96,     0,     0,   749,   291,     0,
     1477       0,     0,   644,   645,   641,   642,   494,   493,   291,     0,
     1478     291,   711,   291,   716,   292,   291,   659,   291,   291,   702,
     1479     658,     2,   291,     0,     0,     0,     0,     0,     0,     0,
     1480       0,   680,     0,   666,   617,   633,   667,     2,   613,   620,
     1481     429,   615,   616,   430,     2,   627,   636,   629,   630,   663,
     1482     664,   678,   706,   710,   708,   748,   265,     2,   742,     2,
     1483     420,   714,   719,   421,     0,   399,     3,     3,     3,     3,
     1484     451,     3,     0,     2,   465,   462,   747,     0,   458,     2,
     1485     461,   464,     0,   291,   239,   261,     3,   269,   271,     0,
     1486     451,     2,   568,   569,     2,   607,   608,     0,   656,   534,
     1487       3,   342,   341,   344,   343,   291,   535,     0,   536,   369,
     1488       0,     0,   291,   291,     0,     0,   689,   379,   382,   386,
     1489     544,   386,   385,   378,   371,   544,   373,   376,   291,   396,
     1490     390,   101,   397,   746,     0,     0,   434,   237,     0,     0,
     1491       3,     2,   665,   427,     0,   524,     0,   748,   486,     0,
     1492     291,   291,   291,     0,   548,   550,   127,     0,     0,   212,
     1493       0,     0,     0,   220,   221,    53,     0,    55,    58,    59,
     1494       0,     2,   125,     0,     0,     0,   690,   691,   687,   688,
     1495     456,    67,    68,   106,   122,     3,   105,     0,     0,    24,
     1496      35,     3,     0,    32,    99,     0,     3,   647,   651,   654,
     1497     646,     3,   589,     3,   713,   718,     2,    60,   291,     3,
     1498       3,   292,     0,     3,   619,   623,   626,   635,   669,   673,
     1499     676,   291,     3,   618,   634,   668,   291,   291,   422,   291,
     1500     291,   743,     0,     0,     0,     0,   253,     0,   101,     0,
     1501       3,     3,     0,   459,     0,   455,     0,     0,   242,   291,
     1502       0,     0,   126,     0,     0,     0,     0,     0,   126,     0,
     1503       0,   105,   105,    18,     2,     0,     0,     3,   128,   129,
     1504       2,   140,   130,   131,   132,   133,   134,   135,   142,   144,
     1505       0,     0,     0,   282,   291,   291,   544,     0,   537,   291,
     1506     372,   374,     0,   388,   690,   383,   387,   384,   377,   381,
     1507     364,   395,     0,   576,     2,   661,   660,     0,   666,     2,
     1508     479,   481,   501,     3,   509,   510,     0,     2,   505,     3,
     1509       3,     0,     0,   553,   219,     0,     0,     0,   219,     0,
     1510       0,   118,   693,   697,   699,   692,   746,   105,     0,     3,
     1511     658,    39,     3,    37,    34,     0,     3,    98,   100,     0,
     1512       2,   649,   650,     0,     0,   291,     0,     0,     0,     3,
     1513     635,     0,     2,   621,   622,     2,   637,     2,   671,   672,
     1514       0,     0,    60,     0,     3,     3,     3,     3,   407,   406,
     1515     410,     2,     2,   745,   744,   119,     0,     0,     0,     0,
     1516       3,   460,     3,     0,   240,   143,     3,   292,   291,     0,
     1517       0,     0,     0,     2,     0,   188,     0,   186,     0,     0,
     1518       0,     0,     0,     0,     0,   544,   118,     0,   148,   145,
     1519     291,     0,     0,   264,   276,     3,     3,   543,   610,   365,
     1520     380,   393,   291,   263,   291,     0,   512,   489,   291,     0,
     1521       0,   488,   503,     0,     0,     0,   213,     0,   222,    56,
     1522       2,   695,   696,     0,   123,   120,     0,     0,     0,     0,
     1523       0,    23,     0,   652,   291,   577,   262,   721,   722,   723,
     1524       0,   674,   291,   291,   291,     3,     3,     0,   682,     0,
     1525       0,     0,     0,   291,   291,     3,   541,   119,   467,     0,
     1526       0,   243,   292,     0,     0,     0,     0,   291,   189,   187,
     1527     184,     0,   190,     0,     0,     0,     0,   194,   197,   195,
     1528     191,     0,   192,   126,    35,   141,   139,   241,     0,     0,
     1529     414,   418,   417,     0,   506,     2,   507,     2,   508,   502,
     1530     291,   225,     0,   223,     0,   225,   291,    31,   121,     2,
     1531      42,     2,    40,    38,    28,    26,     3,   724,     3,     3,
     1532       3,     0,     0,   681,   683,   624,   638,   266,     2,   404,
     1533       3,   403,     0,   469,   466,   126,     0,     0,   126,     3,
     1534       0,   126,   185,     0,     2,     2,   206,   196,     0,     0,
     1535       0,   137,     0,   571,   611,     2,     0,     0,     2,   226,
     1536       0,     0,   214,     0,     3,     0,     0,     0,     0,     0,
     1537       0,   684,   685,   291,     0,   468,   149,     0,     0,     2,
     1538     162,   126,   151,     0,   179,     0,   126,     0,     2,   153,
     1539       0,     2,     0,     2,     2,     2,   193,    32,   291,   511,
     1540     513,   504,     0,     0,     0,     0,     0,     3,     3,   653,
     1541     625,   639,   675,   408,   126,   155,   158,     0,   157,   161,
     1542       3,   164,   163,     0,   126,   181,   126,     3,     0,   291,
     1543       0,   291,     0,     2,     0,     2,   136,     2,   227,   228,
     1544       0,   224,   215,   698,     0,     0,   150,     0,     0,   160,
     1545     230,   165,     2,   232,   180,     0,   183,   169,   198,     3,
     1546     207,   211,   200,     3,     0,   291,     0,   291,     0,     0,
     1547       0,    43,    41,   156,   159,   126,     0,   166,   291,   126,
     1548     126,     0,   170,     0,     0,   689,   208,   209,   210,     0,
     1549     199,     3,   201,     3,   291,   216,   229,   146,   167,   152,
     1550     126,   233,   182,   177,   175,   171,   154,   126,     0,   690,
     1551       0,     0,     0,     0,   147,   168,   178,   172,   176,   175,
     1552     173,     3,     3,     0,     0,   490,   174,   202,   204,     3,
     1553       3,   203,   205
    15591554};
    15601555
     
    15621557static const yytype_int16 yydefgoto[] =
    15631558{
    1564       -1,   813,   468,   301,    47,   134,   135,   302,   303,   304,
    1565      305,   761,   762,  1133,  1134,   306,   381,   308,   309,   310,
    1566      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
    1567     1030,   518,   975,   546,   322,   976,   947,  1057,  1518,  1059,
    1568     1060,  1061,  1062,  1519,  1063,  1064,  1437,  1438,  1401,  1402,
    1569     1403,  1497,  1498,  1502,  1503,  1538,  1539,  1065,  1361,  1066,
    1570     1067,  1298,  1299,  1300,  1480,  1068,   146,   953,   954,   955,
    1571     1381,  1461,  1472,  1473,   469,   470,   874,   875,  1038,    51,
    1572       52,    53,    54,    55,   347,   159,    58,    59,    60,    61,
    1573       62,   349,    64,    65,   265,    67,    68,   275,   351,   352,
    1574       71,    72,    73,    74,   119,    76,   205,   354,   120,    79,
    1575      121,    81,    82,   455,    83,   454,   688,   689,   690,   908,
    1576     1086,   909,    84,    85,   458,   456,   696,   855,   856,   857,
    1577      858,   699,   700,   701,   359,   360,   361,   362,   466,   340,
    1578      136,   137,   522,   324,   171,   645,   646,   647,   648,   649,
    1579       86,   122,    88,   489,   490,   939,   491,   278,   495,   325,
    1580       89,   138,   139,    90,  1321,  1108,  1109,  1110,  1111,    91,
    1581       92,   717,    93,   274,    94,    95,   188,  1032,   679,   412,
    1582      126,    96,   501,   502,   503,   189,   269,   191,   192,   193,
    1583      270,    99,   100,   101,   102,   103,   104,   105,   196,   197,
    1584      198,   199,   200,   825,   605,   606,   607,   608,   201,   610,
    1585      611,   612,   572,   573,   574,   575,   751,   106,   614,   615,
    1586      616,   617,   618,   619,   968,   753,   754,   755,   595,   365,
    1587      366,   367,   368,   326,   165,   108,   109,   110,   370,   694,
    1588      569
     1559      -1,   812,   467,   300,    47,   133,   134,   301,   302,   303,
     1560     304,   760,   761,  1132,  1133,   305,   380,   307,   308,   309,
     1561     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
     1562    1029,   517,   974,   545,   321,   975,   946,  1056,  1517,  1058,
     1563    1059,  1060,  1061,  1518,  1062,  1063,  1436,  1437,  1400,  1401,
     1564    1402,  1496,  1497,  1501,  1502,  1537,  1538,  1064,  1360,  1065,
     1565    1066,  1297,  1298,  1299,  1479,  1067,   145,   952,   953,   954,
     1566    1380,  1460,  1471,  1472,   468,   469,   873,   874,  1037,    51,
     1567      52,    53,    54,    55,   346,   158,    58,    59,    60,    61,
     1568      62,   348,    64,    65,   264,    67,    68,   274,   350,   351,
     1569      71,    72,    73,   118,    75,   204,   353,   119,    78,   120,
     1570      80,    81,   454,    82,   453,   687,   688,   689,   907,  1085,
     1571     908,    83,    84,   457,   455,   695,   854,   855,   856,   857,
     1572     698,   699,   700,   358,   359,   360,   361,   465,   339,   135,
     1573     136,   521,   323,   170,   644,   645,   646,   647,   648,    85,
     1574     121,    87,   488,   489,   938,   490,   277,   494,   324,    88,
     1575     137,   138,    89,  1320,  1107,  1108,  1109,  1110,    90,    91,
     1576     716,    92,   273,    93,    94,   187,  1031,   678,   411,   125,
     1577      95,   500,   501,   502,   188,   268,   190,   191,   192,   269,
     1578      98,    99,   100,   101,   102,   103,   104,   195,   196,   197,
     1579     198,   199,   824,   604,   605,   606,   607,   200,   609,   610,
     1580     611,   571,   572,   573,   574,   750,   105,   613,   614,   615,
     1581     616,   617,   618,   967,   752,   753,   754,   594,   364,   365,
     1582     366,   367,   325,   164,   107,   108,   109,   369,   693,   568
    15891583};
    15901584
    15911585/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15921586   STATE-NUM.  */
    1593 #define YYPACT_NINF -1310
     1587#define YYPACT_NINF -1317
    15941588static const yytype_int16 yypact[] =
    15951589{
    1596     7316,  8697, -1310,    16, -1310, -1310, -1310, -1310, -1310, -1310,
    1597    -1310,    22, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1598    -1310, -1310, -1310, -1310, -1310, -1310,   101,   101,   101,  1152,
    1599      941,    64,  7548,   141, -1310, -1310, -1310, -1310, -1310,    87,
    1600    -1310, -1310, -1310,   868,   134, -1310, -1310, -1310, -1310,  9158,
    1601    -1310, -1310, -1310, -1310,   149,   144, -1310,  1337, -1310, -1310,
    1602    -1310, -1310,   139,   935,   260,   102,  2892, -1310, -1310,  9196,
    1603      790, -1310, -1310, -1310,   904,   293,  5512,   547,   778,   904,
    1604     1166, -1310, -1310,   554,   624, -1310,   904,  1343, -1310,   187,
    1605    -1310,   308,   336, -1310, -1310, -1310, -1310,   251,   144,   101,
    1606    -1310,   101, -1310, -1310, -1310, -1310,  8923,  1337, -1310, -1310,
    1607     1337, -1310,   337, -1310,  9043, -1310, -1310,  1053,  9381, -1310,
    1608     1729,  1729,  1729, -1310, -1310, -1310,   101, -1310, -1310, -1310,
    1609      410,   413,   418, -1310, -1310, -1310,   433, -1310, -1310, -1310,
    1610    -1310, -1310,   468,   477, -1310, -1310,    37,  8666,  2607,   742,
    1611      369,   496,   509,   523,   530,   535,  8584,  6836,   536,   546,
    1612    -1310,  9234, -1310, -1310, -1310, -1310,   561, -1310,   245,  4633,
    1613     4633, -1310,   562,   361, -1310, -1310, -1310, -1310,   574,   383,
    1614      408,   429,   101,   577, -1310, -1310,   935,  3015,   664, -1310,
    1615       86, -1310,   101,   101,   144, -1310, -1310,    89, -1310,   101,
    1616      101, -1310,  3541,   634,   653,  1729,  6748, -1310, -1310,   623,
    1617     9158, -1310, -1310,   904, -1310, -1310, -1310,   144, -1310,  1337,
    1618      149, -1310,  7737, -1310,  1729,  1729,  1729,   144, -1310,  1152,
    1619    -1310,  5996, -1310, -1310,   642,  1729, -1310,  1729, -1310,    87,
    1620     8666, -1310,   672, -1310,   941,   697,  1729, -1310,  1152,   699,
    1621      702, -1310,  7548,   567, -1310, -1310, -1310,  9125, -1310, -1310,
    1622     4167, -1310,   664,    10,  5116,  9381,  1053,  3541, -1310,    94,
    1623    -1310, -1310,  9043,  1337,   715, 10741, -1310, -1310,    11, -1310,
    1624    10483,   740,   772, 10231,   759, 10288, 10307, -1310,   763, -1310,
    1625    -1310, -1310, -1310, 10364, 10364,  8440,   765, -1310, -1310, -1310,
    1626    -1310, -1310, -1310,   799, -1310,   616,  2256,  8779, 10288, -1310,
    1627      475,   860,   810,   276,   913,   766,   767,   793,   832,    41,
    1628    -1310, -1310,   807,   704, -1310,   331, -1310, -1310,  2607, -1310,
    1629    -1310,   242,   835, -1310,   421,   835,   841,    87, -1310, -1310,
    1630      846,  8923, -1310,   847,   857,  8892, -1310, -1310,  1352,  2069,
    1631     8155,  6748,   904, -1310,   904,  1729,  1729, -1310, -1310, -1310,
    1632    -1310, -1310, -1310,  1729,  8923,  1337, -1310, -1310,  9419,  1457,
    1633    -1310,  7886, -1310, -1310, -1310, -1310, -1310, -1310, -1310,   875,
    1634    10098, 10288, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1635    -1310, -1310, -1310, -1310, -1310, -1310,  1053, -1310,   928,   862,
    1636      891,   893,  1023,   916,   937,   951,  3015, -1310, -1310,   942,
    1637      149,   958, -1310, -1310,   970, -1310, -1310, -1310,  9125, -1310,
    1638    -1310, -1310, -1310, -1310,  3541, -1310,  8666,  8666, -1310,  1729,
    1639     1053,  6867,  1337,  8228, -1310, -1310, -1310, -1310,  9125,    10,
    1640    -1310, -1310,   904,   144, -1310, -1310,  9125, -1310,  6513, -1310,
    1641    -1310,  1729,  1729,   382,  5342,   969,   972,   960,  1031,  1729,
    1642    -1310, -1310, -1310, -1310,  9605, -1310,   450,  6629, -1310,   144,
    1643     1033, -1310,  1053, 10565, 10155, -1310, -1310, -1310, -1310,  1039,
    1644     3541, -1310,  8301,   664,  7432, -1310, -1310, -1310,   984,   626,
    1645      807,   941, 10741,   606,  9043, -1310, 10741, -1310, -1310, -1310,
    1646    -1310,   690, -1310,  1044,   772,   255,  8440, -1310,  9457, -1310,
    1647    -1310,  8440, -1310,  8553,  8440, -1310, -1310,  1042, -1310,   722,
    1648     1047,   818,  1048, -1310, -1310,  9310,  6479, -1310,   321, -1310,
    1649    -1310,  5116, -1310,   602,  5116, -1310, -1310, -1310, -1310, -1310,
    1650    -1310, -1310, -1310, -1310, -1310, -1310,  5116, -1310, -1310, 10288,
    1651    10288, 10288, 10288, 10288, 10288, 10288, 10288, 10288, 10288, 10288,
    1652    10288, 10288, 10288, 10288, 10288, 10288, 10288,  2426,  5116, -1310,
    1653      704,   830, -1310, -1310,   101,   101, -1310, -1310,  8666, -1310,
    1654    -1310,   970,   567, -1310,   970, 10212, -1310, -1310, -1310,  4524,
    1655     6479,  1049,  1054, -1310,  9381, -1310, -1310,   561, -1310,  1056,
    1656      774,  1073,  2515,    95,   807, -1310,   101,   101,   807,    98,
    1657    -1310,   101,   101,   970, -1310, -1310,   101,   101, -1310,   835,
    1658     9490,  1337, 10710,   283,   326,  9490, -1310,  4167, -1310,   807,
    1659    -1310,  8923, -1310,    80,  7852,  7852,  7852,  1337, -1310,  4787,
    1660     1065,   875,   744,  1066,  1067, -1310,  1070,  4633,   333, -1310,
    1661     1134,  1337,  7852,   567,  1053,   567,   664,   494,   835, -1310,
    1662    -1310,   584,   835, -1310, -1310, -1310,   772, -1310,   835,   144,
    1663     9605, -1310,   737,  1083,   750,  1090, -1310,  1089,   144, -1310,
    1664    -1310,  9125,   144,  1088,  9457,  1092, -1310,  1677, -1310,   441,
    1665      448,   941, -1310,   941,  1091, 10288, -1310,   941, 10710, -1310,
    1666    -1310,  1098, -1310, -1310, -1310,   567, -1310, 10638,   857, -1310,
    1667     7852,   853,  8155, -1310, -1310,   561,  1095,  1097,   984,  3316,
    1668    -1310, -1310, 10741, -1310, -1310,  1099, -1310, -1310,  1105, -1310,
    1669     1099,  1111, 10483,  5116,    62,  1102,   167,  1113,  1121,  1129,
    1670     1130, -1310,  1131,  1132,  9348,  6598, -1310,  5116, -1310,   818,
    1671      978, -1310, -1310, -1310,   101,   101,  5540,  5116,  1135, -1310,
    1672    -1310,   757, -1310,  5116, -1310, -1310,   914, -1310, -1310, -1310,
    1673    -1310,   475,   475,   860,   860,   810,   810,   810,   810,   276,
    1674      276,   913,   766,   767,   793,   832, 10288,   282, -1310,  9605,
    1675     1136,  1137,  1140,   830, -1310, -1310, -1310, -1310, -1310,  9605,
    1676      779,  7852, -1310,  8923, -1310,  6955,  9005, -1310,  7886,  6836,
    1677    -1310, -1310,   774,  9605,  1063,  1142,  1143,  1145,  1146,  1147,
    1678     1148,  1154, -1310,  3759,  2515, -1310, -1310, -1310, -1310, -1310,
    1679    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1680    -1310, -1310,   970, -1310, -1310, -1310,   807, -1310, -1310, -1310,
    1681    -1310, -1310, -1310, -1310, -1310,  1156, -1310,  1159,  1160, -1310,
    1682    -1310,   149,  1135,  4787, -1310, -1310, -1310, 10098,  1157, -1310,
    1683    -1310, -1310, -1310,   941,  6225,  1247, -1310, -1310, -1310, -1310,
    1684     1150,   149, -1310, -1310,   970, -1310, -1310,   970,   137,   970,
    1685    -1310, -1310, -1310, -1310, -1310, -1310,  9272, -1310,   144, -1310,
    1686    -1310,   451,   452,  9419,  7074,  2178, 10288,  3429, -1310, -1310,
    1687     1149,    39,  1149, -1310,   941, -1310,   101, -1310, -1310,  8073,
    1688      960, -1310, -1310, -1310,   972,  1168,  1169, -1310, -1310,  1170,
    1689     1172, -1310,   853,  1305, -1310,   359, -1310,  3316,   807, -1310,
    1690     1177, 10741,  9528,  8666,  1180, -1310, -1310,  1175,  1182,  1164,
    1691    -1310, 10288,    56,   233,  1179, -1310,  1183,   567,  1183, -1310,
    1692    -1310,  1183,  1184, -1310,  1189,  1190,  1192,   978, -1310, -1310,
    1693    -1310, 10098, -1310, -1310, -1310, -1310,  1188,  5116,  1193,   567,
    1694    -1310,  5116, -1310,   567, -1310, -1310,  5116, -1310,   595,   835,
    1695    -1310, -1310, -1310, -1310, -1310, -1310, -1310,   875,   857,  8892,
    1696    -1310, -1310,  7193,  1196, -1310,   622,   835, -1310,   644,   649,
    1697      835, -1310,  1729,  4053, -1310, -1310, -1310,  9605,  9605, -1310,
    1698     8228,  8228, -1310,  1194,  1195,  1198,  1199, -1310,  1200,   531,
    1699       27,  1135, -1310,   567, -1310,  4633, -1310,  5116,   453, -1310,
    1700     6359,  1213,  1217, 10041,  1222,  1223,    43,    49,   106,  5116,
    1701     1228,   144,  5116,  5116,  1208,  1237,   142,  1218, -1310, -1310,
    1702    -1310,  1236, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1703    -1310,   941,  1249,  5116, -1310,  9605,  9605,   101,  1252, -1310,
    1704     8810, -1310, -1310,   987, -1310,  3429, -1310, -1310, -1310, -1310,
    1705     1677, -1310, -1310,  1253, -1310, -1310, -1310, -1310,  1254,  1305,
    1706    -1310, -1310,  1239, -1310,  1099, -1310, -1310,  1053,  1258, -1310,
    1707    -1310, -1310,   806,  1262, -1310,   167,  1267, 10288,  1248,   167,
    1708      167,  1273,  9310,   693,   835, -1310, -1310,  1070,  5116,  1274,
    1709     1188,   208,   157,  1269, -1310, -1310,  1278,  1269, -1310, -1310,
    1710     1282, -1310, -1310,   970,  1286,  1288,  6717,  1287,  1289,  1291,
    1711    -1310, -1310,  1290, -1310, -1310,   970, -1310, -1310, -1310, -1310,
    1712      970,  5116,  5116,   857,  1292, -1310, -1310, -1310, -1310, -1310,
    1713    -1310, -1310, -1310, -1310, -1310, -1310, -1310, 10288, 10288,  1294,
    1714     1295,  1269, -1310, -1310,   941, -1310, -1310, -1310,  5073,  9528,
    1715     5116,  5116,  1370,  5116, -1310,  1298, -1310,  1299, -1310,  1302,
    1716     5116,  1306,  5116,  1123,  1307,    30,   101,  5821,  1435, -1310,
    1717    -1310,  6225,  1303,   456, -1310, -1310, -1310, -1310, -1310, -1310,
    1718    -1310, -1310, -1310,  9861, -1310,  8301,  1330, -1310, -1310,  9528,
    1719      463,   481, -1310,  1328,  1314,   772,  1341, -1310,   306, -1310,
    1720    -1310, -1310, -1310,   970,  1332, -1310, -1310,  1342,   753,   834,
    1721      567,  1345, -1310,  1350, -1310,  9605, -1310, -1310, -1310, -1310,
    1722    -1310,  1351, -1310,  9605,  9605,  9605, -1310, -1310,  1359, -1310,
    1723     1362,  1365,  1366,   557,  7925,  8040, -1310, -1310,   420, -1310,
    1724     1368,  1371, -1310,  8374,   815,   844,  1346,   866,  6094, -1310,
    1725    -1310, -1310,   485, -1310,   888,  1369,  1375,   144,  1417,  1051,
    1726    -1310, -1310,  5116, -1310, 10041,  5116, -1310, -1310, -1310,  1377,
    1727     1379, -1310, -1310, -1310,  1376, -1310, -1310, -1310, -1310, -1310,
    1728    -1310,  9528,   772,   195, -1310,  1353,   772,  9605, -1310, -1310,
    1729    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1730    -1310, -1310,  1384,  1388, -1310, -1310, -1310, -1310, -1310, -1310,
    1731    -1310,  1394, -1310,  1397, -1310, -1310, 10041,   217,  5116, 10041,
    1732    -1310,  1400,  5116, -1310,   289,  1421,  1423, -1310, -1310,  1403,
    1733     1415,  1393, -1310,  1001, -1310, -1310, -1310,  1337,  1053,  1412,
    1734      799,   323, 10288, -1310,   953, -1310,   567,   567,  1418,  1425,
    1735     1426,  1428, -1310, -1310,  8228,  1427, -1310,  1497, 10288,  1420,
    1736    -1310, -1310,  9953, -1310,   955, -1310,  1419, 10041,  1424, -1310,
    1737    -1310,  1442, -1310,  1445, -1310,  1461,  1462, -1310,  1430,  9528,
    1738    -1310, -1310, -1310,   772,   567,  1453,  1436,  1459,  1269,  1269,
    1739    -1310, -1310, -1310, -1310, -1310, 10041,   204, -1310,   370, -1310,
    1740    -1310,  3684, -1310, -1310,  1439,  5116, -1310,  5116,  3684,   144,
    1741     9457,   144,  9457,  1463, -1310,  1465, -1310, -1310,  1464,   799,
    1742    -1310,   968, -1310, -1310, -1310,  1460,  1466, -1310, 10288, 10288,
    1743    -1310, -1310,  1075,   122, -1310, -1310,  1444, -1310,  1075, -1310,
    1744    -1310,  2191,   567, -1310, -1310,   144,  9457,   144,  9457,  1472,
    1745     1450,   567, -1310, -1310, -1310, -1310,  9953,  1469,  1075,  7664,
    1746     5116,  9865,  1470,  1075,  1479,  2191,  3509, -1310, -1310, -1310,
    1747     1482, -1310, -1310, -1310, -1310,  8666, -1310, -1310, -1310,  9732,
    1748    -1310,  9953, -1310, -1310,  1468,  9644, -1310, -1310,  9865,   144,
    1749     3509,   144,  1484,  1486,   976, -1310,  9732, -1310, -1310, -1310,
    1750     9644, -1310, -1310, -1310,   144,   144, -1310, -1310, -1310, -1310,
    1751    -1310, -1310, -1310, -1310
     1590    7252,  8635, -1317,    -3, -1317, -1317, -1317, -1317, -1317, -1317,
     1591   -1317,    23, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1592   -1317, -1317, -1317, -1317, -1317, -1317,    81,    81,    81,  1277,
     1593     970,   104,  7368,   277, -1317, -1317, -1317, -1317, -1317,   201,
     1594   -1317, -1317, -1317,  1047,   187, -1317, -1317, -1317, -1317,  5370,
     1595   -1317, -1317, -1317, -1317,    35,    48, -1317,  1328, -1317, -1317,
     1596   -1317, -1317,   235,  1663,   343,    98,  7484, -1317, -1317,  6174,
     1597    1066, -1317, -1317,   536,   376,  5540,   978,  1631,   536,  1775,
     1598   -1317, -1317,   477,   683, -1317,   536,  1892, -1317,   295, -1317,
     1599     422,   489, -1317, -1317, -1317, -1317,   346,    48,    81, -1317,
     1600      81, -1317, -1317, -1317, -1317,  9392,  1328, -1317, -1317,  1328,
     1601   -1317,   321, -1317,  9431, -1317, -1317,  2250,  9501, -1317,   668,
     1602     668,   668, -1317, -1317, -1317,    81, -1317, -1317, -1317,   373,
     1603     399,   410, -1317, -1317, -1317,   420, -1317, -1317, -1317, -1317,
     1604   -1317,   428,   450, -1317, -1317,    59,  8604,  2904,   144,   440,
     1605     493,   498,   531,   544,   560,  8522,  6772,   510,   580, -1317,
     1606    9114, -1317, -1317, -1317, -1317,   584, -1317,   153,  4280,  4280,
     1607   -1317,   570,   283, -1317, -1317, -1317, -1317,   596,   288,   303,
     1608     332,    81,   583, -1317, -1317,  1663,  2232,   648, -1317,    73,
     1609   -1317,    81,    81,    48, -1317, -1317,    80, -1317,    81,    81,
     1610   -1317,  3694,   599,   613,   668,  6565, -1317, -1317,   661,  5370,
     1611   -1317, -1317,   536, -1317, -1317, -1317,    48, -1317,  1328,    35,
     1612   -1317,  7675, -1317,   668,   668,   668,    48, -1317,  1277, -1317,
     1613    5446, -1317, -1317,   620,   668, -1317,   668, -1317,   201,  8604,
     1614   -1317,   673, -1317,   970,   692,   668, -1317,  1277,   697,   707,
     1615   -1317,  7368,   576, -1317, -1317, -1317,  4822, -1317, -1317,  9720,
     1616   -1317,   648,   165, 10347,  9501,  2250,  3694, -1317,   109, -1317,
     1617   -1317,  9431,  1328,   743,  7515, -1317, -1317,   306, -1317, 10675,
     1618     770,   800,  2676,   801, 10480, 10499, -1317,   813, -1317, -1317,
     1619   -1317, -1317, 10556, 10556,  8378,   795, -1317, -1317, -1317, -1317,
     1620   -1317, -1317,   842, -1317,   685,  1919,  8717, 10480, -1317,   652,
     1621     325,   507,   317,   581,   826,   820,   823,   861,   111, -1317,
     1622   -1317,   827,   703, -1317,   452, -1317, -1317,  2904, -1317, -1317,
     1623     278,   856, -1317,   636,   856,   866,   201, -1317, -1317,   872,
     1624    9392, -1317,   876,   887,  8830, -1317, -1317,  1020,  2049,  8093,
     1625    6565,   536, -1317,   536,   668,   668, -1317, -1317, -1317, -1317,
     1626   -1317, -1317,   668,  9392,  1328, -1317, -1317,  9540,  1233, -1317,
     1627    7824, -1317, -1317, -1317, -1317, -1317, -1317, -1317,   891,  4627,
     1628   10480, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1629   -1317, -1317, -1317, -1317, -1317,  2250, -1317,   552,   901,   904,
     1630     912,   862,   920,   922,   924,  2232, -1317, -1317,   932,    35,
     1631     936, -1317, -1317,   939, -1317, -1317, -1317,  4822, -1317, -1317,
     1632   -1317, -1317, -1317,  3694, -1317,  8604,  8604, -1317,   668,  2250,
     1633    6684,  1328,  8166, -1317, -1317, -1317, -1317,  4822,   165, -1317,
     1634   -1317,   536,    48, -1317, -1317,  4822, -1317,  6449, -1317, -1317,
     1635     668,   668,   484,  8011,   938,   941,   931,   952,   668, -1317,
     1636   -1317, -1317, -1317,  9797, -1317,   578,  6327, -1317,    48,   955,
     1637   -1317,  2250, 10757, 10404, -1317, -1317, -1317, -1317,   881,  3694,
     1638   -1317,  8239,   648,  3545, -1317, -1317, -1317,  1641,   586,   827,
     1639     970,  7515,   592,  9431, -1317,  7515, -1317, -1317, -1317, -1317,
     1640     603, -1317,   967,   800,   215,  8378, -1317,  9570, -1317, -1317,
     1641    8378, -1317,  8491,  8378, -1317, -1317,   966, -1317,   617,   973,
     1642     839,   983, -1317, -1317,  9253,  6415, -1317,   247, -1317, -1317,
     1643   10347, -1317,   330, 10347, -1317, -1317, -1317, -1317, -1317, -1317,
     1644   -1317, -1317, -1317, -1317, -1317, 10347, -1317, -1317, 10480, 10480,
     1645   10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480,
     1646   10480, 10480, 10480, 10480, 10480, 10480,  4526, 10347, -1317,   703,
     1647     751, -1317, -1317,    81,    81, -1317, -1317,  8604, -1317, -1317,
     1648     939,   576, -1317,   939, 10423, -1317, -1317, -1317,  8975,  6415,
     1649     968,   976, -1317,  9501, -1317, -1317,   584, -1317,   990,   769,
     1650     999,  3014,   124,   827, -1317,    81,    81,   827,   125, -1317,
     1651      81,    81,   939, -1317, -1317,    81,    81, -1317,   856,  9652,
     1652    1328, 10902,   151,   358,  9652, -1317,  9720, -1317,   827, -1317,
     1653    9392, -1317,   147,  7790,  7790,  7790,  1328, -1317,  5708,   982,
     1654     891,  1167,   995,   996, -1317,  1011,  4280,   230, -1317,  1103,
     1655    1328,  7790,   576,  2250,   576,   648,   671,   856, -1317, -1317,
     1656     694,   856, -1317, -1317, -1317,   800, -1317,   856,    48,  9797,
     1657   -1317,   621,  1024,   640,  1026, -1317,  1030,    48, -1317, -1317,
     1658    4822,    48,  1032,  9570,  1037, -1317,  1585, -1317,   335,   390,
     1659     970, -1317,   970,  1023, 10480, -1317,   970, 10902, -1317, -1317,
     1660    1034, -1317, -1317, -1317,   576, -1317, 10830,   887, -1317,  7790,
     1661     859,  8093, -1317, -1317,   584,  1025,  1036,  1641,  3247, -1317,
     1662   -1317,  7515, -1317, -1317,  1039, -1317, -1317,  1043, -1317,  1039,
     1663    1048, 10675, 10347,    67,  1027,   133,  1053,  1061,  1068,  1069,
     1664   -1317,  1072,  1074,  9362,  6534, -1317, 10347, -1317,   839,  2140,
     1665   -1317, -1317, -1317,    81,    81, 10290, 10347,  1070, -1317, -1317,
     1666     675, -1317, 10347, -1317, -1317,   644, -1317, -1317, -1317, -1317,
     1667     652,   652,   325,   325,   507,   507,   507,   507,   317,   317,
     1668     581,   826,   820,   823,   861, 10480,   333, -1317,  9797,  1079,
     1669    1080,  1081,   751, -1317, -1317, -1317, -1317, -1317,  9797,   700,
     1670    7790, -1317,  9392, -1317,  6891,  8943, -1317,  7824,  6772, -1317,
     1671   -1317,   769,  9797,   917,  1082,  1083,  1084,  1087,  1088,  1089,
     1672    1091, -1317,  4955,  3014, -1317, -1317, -1317, -1317, -1317, -1317,
     1673   -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1674   -1317,   939, -1317, -1317, -1317,   827, -1317, -1317, -1317, -1317,
     1675   -1317, -1317, -1317, -1317,  1098, -1317,  1099,  1101, -1317, -1317,
     1676      35,  1070,  5708, -1317, -1317, -1317,  4627,  1102, -1317, -1317,
     1677   -1317, -1317,   970,  5944,  1191, -1317, -1317, -1317, -1317,  1094,
     1678      35, -1317, -1317,   939, -1317, -1317,   939,    24,   939, -1317,
     1679   -1317, -1317, -1317, -1317, -1317,  9223, -1317,    48, -1317, -1317,
     1680     432,   441,  9540,  7010,  2348, 10480,  3377, -1317, -1317,  1092,
     1681      94,  1092, -1317,   970, -1317,    81, -1317, -1317,  8748,   931,
     1682   -1317, -1317, -1317,   941,  1116,  1111, -1317, -1317,  1118,  1119,
     1683   -1317,   859,  2430, -1317,   455, -1317,  3247,   827, -1317,  1122,
     1684    7515,  9682,  8604,  1125, -1317, -1317,  1130,  1135,  1124, -1317,
     1685   10480,   166,   222,  1132, -1317,  1138,   576,  1138, -1317, -1317,
     1686    1138,  1137, -1317,  1145,  1147,  1148,  2140, -1317, -1317, -1317,
     1687    4627, -1317, -1317, -1317, -1317,  1143, 10347,  1149,   576, -1317,
     1688   10347, -1317,   576, -1317, -1317, 10347, -1317,   721,   856, -1317,
     1689   -1317, -1317, -1317, -1317, -1317, -1317,   891,   887,  8830, -1317,
     1690   -1317,  7129,  1152, -1317,   731,   856, -1317,   745,   763,   856,
     1691   -1317,   668,  5561, -1317, -1317, -1317,  9797,  9797, -1317,  8166,
     1692    8166, -1317,  1154,  1156,  1153,  1155, -1317,  1168,   460,   196,
     1693    1070, -1317,   576, -1317,  4280, -1317, 10347,   474, -1317,  6296,
     1694    1159,  1170, 10233,  1172,  1175,   -14,     3,    11, 10347,  1179,
     1695      48, 10347, 10347,  1160,  1177,   282,  1161, -1317, -1317, -1317,
     1696    1180, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1697     970,  1184, 10347, -1317,  9797,  9797,    81,  1188, -1317,  8861,
     1698   -1317, -1317,   809, -1317,  3377, -1317, -1317, -1317, -1317,  1585,
     1699   -1317, -1317,  1185, -1317, -1317, -1317, -1317,  1193,  2430, -1317,
     1700   -1317,  1176, -1317,  1039, -1317, -1317,  2250,  1196, -1317, -1317,
     1701   -1317,   709,  1198, -1317,   133,  1202, 10480,  1186,   133,   133,
     1702    1211,  9253,   789,   856, -1317, -1317,  1011, 10347,  1214,  1143,
     1703     505,   224,  1217, -1317, -1317,  1218,  1217, -1317, -1317,  1226,
     1704   -1317, -1317,   939,  1228,  1230,  6653,  1231,  1232,  1243, -1317,
     1705   -1317,  1246, -1317, -1317,   939, -1317, -1317, -1317, -1317,   939,
     1706   10347, 10347,   887,  1245, -1317, -1317, -1317, -1317, -1317, -1317,
     1707   -1317, -1317, -1317, -1317, -1317, -1317, 10480, 10480,  1247,  1251,
     1708    1217, -1317, -1317,   970, -1317, -1317, -1317,  4468,  9682, 10347,
     1709   10347,  1311, 10347, -1317,  1234, -1317,  1237, -1317,  1239, 10347,
     1710    1241, 10347,  1049,  1244,    26,    81,  9084,   750, -1317, -1317,
     1711    5944,  1267,   481, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1712   -1317, -1317, 10053, -1317,  8239,  1274, -1317, -1317,  9682,   482,
     1713     512, -1317,  1272,  1259,   800,  1280, -1317,   245, -1317, -1317,
     1714   -1317, -1317,   939,  1279, -1317, -1317,  1287,   385,   444,   576,
     1715    1293, -1317,  1294, -1317,  9797, -1317, -1317, -1317, -1317, -1317,
     1716    1295, -1317,  9797,  9797,  9797, -1317, -1317,  1297, -1317,  1298,
     1717    1282,  1305,   511,  7863,  7978, -1317, -1317,   348, -1317,  1304,
     1718    1310, -1317,  8312,   712,   734,  1308,   739,  6143, -1317, -1317,
     1719   -1317,   515, -1317,   765,  1318,  1320,    48,  1371,   879, -1317,
     1720   -1317, 10347, -1317, 10233, 10347, -1317, -1317, -1317,  1322,  1329,
     1721   -1317, -1317, -1317,  1324, -1317, -1317, -1317, -1317, -1317, -1317,
     1722    9682,   800,   265, -1317,  1309,   800,  9797, -1317, -1317, -1317,
     1723   -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1724   -1317,  1330,  1331, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
     1725    1334, -1317,  1333, -1317, -1317, 10233,   143, 10347, 10233, -1317,
     1726    1338, 10347, -1317,   259,  1354,  1356, -1317, -1317,  1346,  1347,
     1727    1326, -1317,   880, -1317, -1317, -1317,  1328,  2250,  1345,   842,
     1728     364, 10480, -1317,   774, -1317,   576,   576,  1352,  1355,  1357,
     1729    1360, -1317, -1317,  8166,  1358, -1317,  1436, 10480,  1349, -1317,
     1730   -1317, 10145, -1317,   783, -1317,  1350, 10233,  1359, -1317, -1317,
     1731    1378, -1317,  1379, -1317,  1394,  1396, -1317,  1361,  9682, -1317,
     1732   -1317, -1317,   800,   576,  1386,  1367,  1392,  1217,  1217, -1317,
     1733   -1317, -1317, -1317, -1317, 10233,   275, -1317,   384, -1317, -1317,
     1734    7600, -1317, -1317,  1375, 10347, -1317, 10347,  7600,    48,  9570,
     1735      48,  9570,  1393, -1317,  1398, -1317, -1317,  1395,   842, -1317,
     1736     798, -1317, -1317, -1317,  1399,  1401, -1317, 10480, 10480, -1317,
     1737   -1317,   964,   167, -1317, -1317,  1388, -1317,   964, -1317, -1317,
     1738    2461,   576, -1317, -1317,    48,  9570,    48,  9570,  1409,  1390,
     1739     576, -1317, -1317, -1317, -1317, 10145,  1410,   964,  5861, 10347,
     1740   10057,  1412,   964,  1414,  2461,  3613, -1317, -1317, -1317,  1420,
     1741   -1317, -1317, -1317, -1317,  8604, -1317, -1317, -1317,  9924, -1317,
     1742   10145, -1317, -1317,  1402,  9836, -1317, -1317, 10057,    48,  3613,
     1743      48,  1421,  1429,   817, -1317,  9924, -1317, -1317, -1317,  9836,
     1744   -1317, -1317, -1317,    48,    48, -1317, -1317, -1317, -1317, -1317,
     1745   -1317, -1317, -1317
    17521746};
    17531747
     
    17551749static const yytype_int16 yypgoto[] =
    17561750{
    1757    -1310,  4585,  3220, -1310,  1680, -1310,    79,   965,  -162, -1310,
    1758      542,  -525,  -472,  -928,   -58,  5006,     0, -1310,   115,   571,
    1759      588,   220,   578,  1041,  1045,  1037,  1040,  1043, -1310,   682,
    1760     -568,  4467,  -949, -1310,  -743,   627,  -136,  -680,   399, -1310,
    1761      364, -1310,   400, -1052, -1310, -1310,   143, -1310, -1280, -1058,
    1762      249, -1310, -1310, -1310, -1310,    74, -1199, -1310, -1310, -1310,
    1763    -1310, -1310, -1310,   317, -1213,    36, -1310,  -398, -1310,   501,
    1764      296, -1310,   175, -1310,  -322, -1310, -1310, -1310,   558,  -827,
    1765    -1310, -1310,    14,  -963,    60,  1949, -1310, -1310, -1310,   -66,
    1766    -1310,    19,  1219,  -202,  1852,  4238, -1310, -1310,    54,    75,
    1767      689,  -242,  1416, -1310,  1975, -1310, -1310,   158,  2131, -1310,
    1768     2701,  1038, -1310, -1310, -1310,  -621, -1310,   944,   946,   541,
    1769      713,  -254, -1310, -1310, -1310,   938,   714,  -169, -1310,  -117,
    1770     -134,  1167, -1310, -1310,  -857,  -878,   837,   910,  1055,    25,
    1771    -1310,   900,   597,   -39,  -190,  -145,   668,   773, -1310,   993,
    1772    -1310,  2728,  1561,  -434,   920, -1310, -1310,   708, -1310,  -238,
    1773    -1310,   241, -1310, -1310, -1310, -1226,   414, -1310, -1310, -1310,
    1774     1165, -1310,    35, -1310, -1310,  -830,  -111, -1309,  -151,  3288,
    1775    -1310,  3069, -1310,   921, -1310,  -170,   169,  -182,  -181,  -166,
    1776        7,   -35,   -33,   -32,   813,     2,    29,    44,  -122,  -165,
    1777     -164,  -158,  -153,  -314,  -519,  -491,  -490,  -538,  -301,  -501,
    1778    -1310, -1310,  -512,  1078,  1084,  1085,  2540,  5063,  -571,  -588,
    1779     -558,  -543,  -557, -1310,  -503,  -733,  -723,  -722,  -570,  -311,
    1780     -274, -1310, -1310,   240,   176,   -77, -1310,  3991,   136,  -632,
    1781     -222
     1751   -1317,  4344,  3244, -1317,   633, -1317,   172,   896,  -203, -1317,
     1752     487,  -518,  -482,  -910,  -211,  1511,     0, -1317,  1129,   534,
     1753     537,   615,   556,   984,   981,   988,   980,   989, -1317,     4,
     1754    -451,  4784,  -913, -1317,  -702,   571,    13,  -706,   419, -1317,
     1755     190, -1317,   345,  -964, -1317, -1317,    85, -1317, -1099, -1138,
     1756     197, -1317, -1317, -1317, -1317,    20, -1281, -1317, -1317, -1317,
     1757   -1317, -1317, -1317,   266, -1095,    50, -1317,  -472, -1317,   443,
     1758     239, -1317,   118, -1317,  -294, -1317, -1317, -1317,   496,  -829,
     1759   -1317, -1317,     8,  -952,    28,  2894, -1317, -1317, -1317,  -214,
     1760   -1317,   121,  1028,  -198,  1848,  3592, -1317, -1317,   127,   296,
     1761    1545,  1505, -1317,  1929, -1317, -1317,   137,  2139, -1317,  2574,
     1762     804, -1317, -1317, -1317,  -637, -1317,   886,   889,   490,   670,
     1763      52, -1317, -1317, -1317,   893,   666,  -510, -1317,  -116,    40,
     1764    1073, -1317, -1317,  -889,  -983,   933,  1377,  1006,   -11, -1317,
     1765    1351,   508,  -322,  -183,  -145,   623,   724, -1317,   944, -1317,
     1766    2701,   574,  -443,   875, -1317, -1317,   659, -1317,  -228, -1317,
     1767     -45, -1317, -1317, -1317, -1253,   370, -1317, -1317, -1317,  1120,
     1768   -1317,    33, -1317, -1317,  -828,  -100, -1316,  -170,  2264, -1317,
     1769    1914, -1317,   868, -1317,  -155,   129,  -181,  -180,  -175,     7,
     1770     -41,   -40,   -35,  1507,    37,    53,    57,   -29,  -172,  -163,
     1771    -158,  -150,  -293,  -500,  -490,  -485,  -542,  -284,  -525, -1317,
     1772   -1317,  -499,  1035,  1038,  1040,  1486,  4616,  -563,  -531,  -513,
     1773    -491,  -561, -1317,  -506,  -730,  -727,  -723,  -562,  -311,  -227,
     1774   -1317, -1317,   378,    19,   -93, -1317,  3633,   159,  -611,  -428
    17821775};
    17831776
     
    17851778   positive, shift that token.  If negative, reduce the rule which
    17861779   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1787 #define YYTABLE_NINF -521
     1780#define YYTABLE_NINF -520
    17881781static const yytype_int16 yytable[] =
    17891782{
    1790       49,   114,   453,   428,   399,   400,   268,    98,   150,   766,
    1791      151,   152,   819,   973,   868,   115,   964,   407,   752,    63,
    1792      401,   402,   403,   358,   383,   384,   965,   966,   404,   261,
    1793      440,   827,    49,   405,   596,   604,    50,   410,   498,    98,
    1794      357,   740,   820,   148,  1070,   153,   830,  1069,   609,    49,
    1795      844,    63,   837,   948,    69,  1137,   162,   821,   725,   794,
    1796       56,   116,   730,   187,   826,   408,   210,   144,    50,    49,
    1797      194,   919,   154,   217,   409,    70,   227,  1187,    31,   342,
    1798      112,   815,   178,   220,   399,   400,    69,   155,   281,  1439,
    1799      628,   425,    56,  1302,   632,  1379,   669,   407,   123,   818,
    1800      401,   402,   403,  1204,  1205,  1181,   114,    70,   404,   816,
    1801      817,   475,   477,   405,   114,  1195,   678,   267,   272,   476,
    1802      505,  1197,  1443,  1177,   682,    31,   211,   923,    31,   221,
    1803      203,   124,   262,    31,    31,   263,   566,    31,   527,   493,
    1804       31,   213,   494,  1171,   527,   408,   282,   307,   148,  1178,
    1805      411,   150,   145,   151,   152,   162,   114,   345,    77,   519,
    1806     1439,   210,  1303,  1169,  1170,  1117,  -231,  -231,   373,    97,
    1807      567,   714,   964,   143,   720,  1196,   107,   107,  1199,  1245,
    1808      204,  1198,   965,   966,   913,   167,   187,   187,   153,   476,
    1809       77,   471,   949,  1458,   162,   253,   147,   411,   419,   815,
    1810      411,    97,   267,   481,   828,   411,   601,   835,   107,   601,
    1811       49,   568,   149,  1186,   287,   154,  1443,   162,    97,   527,
    1812      667,  1443,   210,  1200,   819,    41,    42,   816,   817,   443,
    1813      155,   150,   190,   151,   152,    97,   664,  -231,    97,  1484,
    1814      307,  1443,  1248,  1139,   439,   107,   156,  1077,  1443,   292,
    1815      167,   514,    49,  1016,   820,   182,   169,   830,   172,    98,
    1816      272,  1398,  1399,   202,   588,   272,   267,   267,   723,   821,
    1817     1249,    63,   114,  1512,   162,  1514,   472,   527,   951,  1080,
    1818      170,   991,   441,   327,   665,   656,  1015,   463,    50,   164,
    1819      672,   674,  1093,   815,   342,   307,  -287,   442,   483,   358,
    1820     1468,   609,  1526,   248,  1382,   500,    69,   307,   251,   596,
    1821      664,  1003,    56,   671,   596,   804,   357,    97,  -119,   676,
    1822     -119,   816,   817,   571,  -119,  1187,  1178,    70,   148,  1541,
    1823       97,  1400,   465,  1398,  1399,   373,  -516,   527,  1084,  -119,
    1824     -119,   114,   734,  1118,   819,   345,   436,  1171,   713,   602,
    1825      620,   579,   471,   411,   164,   398,   190,   853,   665,   898,
    1826      253,   377,   827,  1119,   625,   735,   556,   557,   625,  1201,
    1827      519,   114,   471,   178,   820,   519,   327,   378,   519,    97,
    1828      471,  1070,   831,  1116,  1069,   736,   834,   673,   675,   821,
    1829      629,    97,   358,   111,   633,   847,   267,  1171,   747,   848,
    1830      510,   558,   559,  1409,    41,    42,   187,   851,   436,   357,
    1831       77,   854,   986,   373,  1496,    77,  1325,  1169,  1170,   174,
    1832     1501,    97,   547,   548,   267,   213,   307,   307,   107,   844,
    1833      267,   787,   759,   625,   714,   479,  1326,   472,   849,  1423,
    1834     1521,   577,   850,   167,   870,  1528,   642,   578,   342,  1525,
    1835      435,  1157,  1159,  1424,   114,   729,   358,   472,  1428,  1429,
    1836      547,  1362,   254,   871,  1126,   472,   859,   860,   264,  1536,
    1837      447,   849,   267,   357,   742,  1100,  1540,   387,  1187,   330,
    1838      267,   598,   625,   877,    49,  1187,  1469,   373,   719,   460,
    1839      498,    98,   683,   388,   114,  1244,   547,    97,   578,   390,
    1840     1470,   711,   869,    63,   888,   881,   307,  1104,   114,  1135,
    1841     1014,   307,   435,   307,   307,   391,  1171,   910,   603,   -10,
    1842       50,   750,  -440,   609,   392,   114,   345,  -441,  1016,   996,
    1843      582,  -467,   411,  -467,   804,   523,  1187,  1434,    69,   798,
    1844      393,   931,   277,   879,    56,   394,   112,   164,   213,  1236,
    1845     -467,     2,   207,     4,     5,     6,     7,   914,   417,    70,
    1846      704,   395,   327,   327,   916,   912,   705,   914,   916,  1184,
    1847      571,   571,  1184,   915,   952,   190,    77,   279,   307,  1316,
    1848      917,   437,  1126,  1081,  1082,  1185,   280,   913,  1308,   625,
    1849      345,   445,   549,   714,   620,  1317,    77,  1318,   550,   551,
    1850      602,   747,   602,   882,    77,   411,   331,   760,  1360,  1276,
    1851     1277,   713,   765,  1319,  1474,   471,    35,  1363,    36,   332,
    1852      625,  1474,   804,  1014,  1019,   625,   111,   620,   140,   239,
    1853      327,   625,   994,   333,   625,   625,   625,    41,    42,   111,
    1854      334,   928,    77,  -102,   806,   335,   846,  -102,   371,   327,
    1855       41,    42,   625,    97,   267,   372,  1087,   603,  1087,   520,
    1856      107,   465,   861,   240,   768,   769,   770,   342,   241,  1348,
    1857      376,  1027,  1522,  1349,   111,   358,   876,   385,   111,    -3,
    1858      140,   141,  1408,   389,   114,    41,    42,   907,   596,    41,
    1859       42,  1074,   357,   885,   691,   411,   111,   442,   140,   141,
    1860      472,   528,   529,   530,  1141,  1112,   411,    41,    42,   397,
    1861      625,   933,   620,   764,   327,   726,  1101,  1234,   719,   719,
    1862      727,  1238,  1034,   399,   400,   531,   472,   532,   409,   533,
    1863      534,  1153,   878,   411,   880,   432,   721,   407,   244,   401,
    1864      402,   403,   722,   426,   114,   345,   523,   404,   523,   750,
    1865      750,   523,   405,  1156,   523,   601,   845,   500,  1158,   230,
    1866      601,   598,   427,   231,   711,  1476,   235,  1477,   237,   814,
    1867      713,   603,   964,   213,   450,   246,   775,   776,   777,   778,
    1868     1373,  -288,   965,   966,   927,   408,  -364,   213,     8,     9,
    1869       10,    11,    12,   571,     2,   207,     4,     5,     6,     7,
    1870      731,   625,  1241,   625,   411,   999,   732,   680,   625,   345,
    1871     1161,  -393,   602,   570,  1425,   411,   111,    31,   140,   141,
    1872     1523,    45,    46,   229,   602,   111,   342,    41,    42,   484,
    1873     1436,   461,   746,   706,   462,   714,    41,    42,   747,    77,
    1874        8,     9,    10,    11,    12,    34,    37,   892,   804,   504,
    1875       40,   253,   329,   747,   292,   864,   911,    41,    42,    35,
    1876      894,    36,   163,   806,  1330,    77,   747,   980,   508,    31,
    1877      520,   972,   513,   981,   307,   520,   195,   525,   520,   218,
    1878      213,   527,   228,   812,   562,   601,  1168,   814,   603,   993,
    1879     1182,    45,    46,    63,   563,   705,   625,    34,   554,   555,
    1880     1494,  1436,   230,   114,   345,   907,   111,   907,     2,   207,
    1881        4,     5,     6,     7,   714,   664,  1232,    41,    42,   114,
    1882      910,   564,   578,   711,   691,  1356,   565,   749,    69,   411,
    1883      142,   747,   933,   933,    56,    45,    46,   719,   568,   570,
    1884       37,   411,   114,   307,    40,  1332,   338,    45,    46,    70,
    1885     -437,    41,    42,   952,  1357,   586,  1105,   952,   952,   589,
    1886      747,   163,   932,   665,   601,    48,   113,   750,   912,    -3,
    1887       45,    46,   657,    35,   374,    36,  1359,    43,  1508,   552,
    1888      553,   814,   747,   242,   245,    45,    46,   638,     8,     9,
    1889       10,    11,    12,   603,   113,   113,  1227,    48,  1364,   345,
    1890      163,   658,  1106,   659,   747,   560,   561,    37,    48,   184,
    1891      185,    40,   713,   111,    48,   140,   141,    31,    41,    42,
    1892      625,   625,    48,   163,    41,    42,   661,  1126,    48,   984,
    1893      981,    48,    77,   890,    48,   444,  1121,   253,   329,   411,
    1894      307,   230,   897,   235,   186,    34,   899,   662,   113,   113,
    1895      107,   666,    45,    46,  1284,  1285,    37,  1287,  1132,   472,
    1896       40,   663,  1132,  1426,  1292,  1444,  1294,    41,    42,  1423,
    1897      668,   747,    48,  1323,  1083,    48,   911,   442,  1490,   327,
    1898      114,   258,    48,   692,  1491,   907,  1546,   749,   693,   411,
    1899      907,   695,   578,   718,  1189,    45,    46,   329,   411,   933,
    1900       56,    45,    46,   737,   215,   738,   603,   267,   739,  1369,
    1901     1370,   743,  1132,    48,   547,    70,  1418,   981,   107,  1398,
    1902     1399,    48,   625,   771,   772,    37,    48,   184,   185,    40,
    1903      342,   230,   419,   660,   411,   845,    41,    42,   779,   780,
    1904     1351,   374,   773,   774,   457,   697,   345,  -235,   481,   329,
    1905      411,    48,    48,   733,   744,   510,   215,   748,   756,   691,
    1906     1380,   807,   266,   873,  1380,   711,   808,    48,   811,  -289,
    1907       45,    46,   828,   329,   601,    48,     8,     9,    10,    11,
    1908       12,  1295,  1296,  1297,    48,   822,   867,    48,   272,   114,
    1909     1331,  1333,  1334,   893,   113,   -12,   -13,   866,    77,   215,
    1910      895,   896,   900,   220,   903,    31,   921,   114,  -414,   113,
    1911     -520,   307,   936,   113,   943,   722,   107,    48,   113,   374,
    1912      117,   945,  1404,   956,   130,   625,   131,   132,   133,   114,
    1913       63,    48,    48,    34,   950,    41,    42,   957,    48,   958,
    1914      959,   960,   961,  1105,   711,    48,   988,   989,   211,   221,
    1915      990,   977,  1005,  1006,   911,  1007,  1008,  1009,  1010,   911,
    1916      215,  1459,  1079,   213,  1011,    69,  1022,  1421,   160,  -402,
    1917     -401,    56,  1036,  1058,   625,   625,  1071,  1534,  1094,   906,
    1918      644,  1073,  1096,   272,  1097,  1095,    70,  1103,   307,  1106,
    1919     1113,   747,  1114,    48,  1115,  1120,  1122,   971,   215,  1123,
    1920     1124,   702,  1125,   215,  1128,  1131,  1151,   472,  1174,  1175,
    1921     1172,  1173,  1176,    48,    48,     8,     9,    10,    11,    12,
    1922      691,   114,  1190,   399,   400,   259,  1191,  1132,  1132,  1132,
    1923       48,  1193,  1194,   160,    48,  1105,   407,  1202,  1206,   401,
    1924      402,   403,  1189,   441,    31,   643,  -290,   404,    56,  1207,
    1925     1209,    -3,   405,     8,     9,    10,    11,    12,   442,  1214,
    1926      664,    48,  1219,    70,  1224,   107,   323,   493,  1222,    77,
    1927     1507,    48,    34,  1228,   703,   339,  1233,   922,   267,  1235,
    1928     1237,  1106,    31,  1240,   408,  1250,  1246,   107,   215,    48,
    1929     1252,   724,  1254,   728,   625,    48,  1256,    48,  1257,  1258,
    1930     1262,  1259,  1420,  1260,  1269,   107,  1278,  1279,   665,    37,
    1931       34,   175,   176,    40,   932,  1203,   601,  1286,  1307,   114,
    1932       41,    42,    45,    46,    37,   430,   175,   176,    40,   434,
    1933     1289,  1290,   113,  1105,  1291,    41,    42,    48,  1293,  1301,
    1934     1314,   114,  1192,  1320,  1322,    48,    77,  1328,   114,    48,
    1935      114,  1324,   114,    48,  1329,  1358,   113,  1335,   113,   323,
    1936      472,   372,  1336,  1338,   107,  1132,  1132,   472,   985,   215,
    1937      150,  1344,   151,   152,  1345,  1346,  1347,  1297,  1365,  1106,
    1938     1354,  1506,   214,  1355,  1366,  1383,   114,  1374,   114,  1375,
    1939     1376,   434,   233,   113,   488,  1189,  1392,   107,   113,   114,
    1940     1393,    56,  1189,  1460,  -403,  1506,  1506,   702,    56,  1396,
    1941     1407,   215,  1415,   162,   521,   307,    70,  1411,   472,  1413,
    1942      528,   529,   530,    70,  1416,  1417,   160,  1422,  1430,    37,
    1943     1506,   175,   176,    40,   214,  1431,  1432,   373,  1433,  1435,
    1944       41,    42,   865,  1349,   531,  1029,   532,   113,   533,  1305,
    1945     1440,  1445,  1449,  1189,    48,  1451,  1447,  1453,  1455,    56,
    1946      587,  1509,  1457,  1462,   593,    48,   376,    48,  1463,  1464,
    1947     1517,  1475,  1492,  1485,    70,  1487,  1500,   214,  1493,  1489,
    1948      703,  1515,  1516,   626,  1520,  1527,    48,   630,   922,  1529,
    1949      339,   918,  1531,   920,  1544,   107,  1545,   457,  1208,    77,
    1950     1537,   783,    48,   781,  1130,   784,    77,   113,   782,   785,
    1951     1058,  1306,  1495,  1410,  1547,  1368,    48,   107,   113,    48,
    1952      113,  1239,  1384,  1478,   107,  1088,   702,   216,   901,  1213,
    1953      902,  1221,   215,   922,  1092,   924,   702,   800,   214,  1127,
    1954     1035,   872,   938,  1315,   243,   323,   323,  1102,   790,   716,
    1955      702,   327,    48,   946,   791,   792,   113,    77,   113,     0,
    1956      215,  1367,   113,     0,     0,   215,     0,     0,  1138,     0,
    1957      113,     0,     0,   687,   479,   107,   214,     0,     0,   216,
    1958        0,   214,     0,    48,    48,     0,   117,     0,     0,     0,
    1959     1482,     0,  1482,     0,     0,     0,   499,    48,     0,   703,
    1960        0,     0,     0,  1372,     0,     0,     0,     0,     0,   703,
    1961        0,   488,     0,   323,     0,   488,     0,     0,     0,  1029,
    1962        0,     0,   216,   703,     0,   521,  1482,   521,  1482,     0,
    1963      521,     0,   323,   521,     0,     0,   215,   177,     0,     8,
    1964        9,    10,    11,    12,   339,     0,     0,     0,     0,    37,
    1965      215,   184,   185,    40,     0,  1397,     0,     0,  1405,     0,
    1966       41,    42,     0,     0,     0,     0,   214,   644,    31,     0,
    1967        0,     0,     0,  1039,     0,     0,     0,    48,     0,     0,
    1968        0,     0,     0,   216,     0,     0,   905,   177,   411,    48,
    1969      177,     0,     0,     0,    45,    46,    34,   323,     0,   922,
    1970        0,  1442,     0,     0,     0,     0,  1446,   906,   802,     0,
    1971        0,     0,     0,  1479,  1089,  1483,     0,     0,     0,     0,
    1972        0,   216,     0,     0,     0,     0,   216,     0,     0,     0,
    1973        0,     0,   643,     0,  1467,     0,   177,   891,   113,   843,
    1974        0,     0,     0,   215,   593,     0,     0,   214,     0,  1511,
    1975      852,  1513,    66,   118,   702,   702,     0,     0,     0,   922,
    1976      922,    48,     0,     0,   214,     0,     0,     0,     0,     0,
    1977       48,   644,    48,     0,     0,     0,     0,     0,     0,   113,
    1978        0,     0,     0,     0,    66,     0,     0,     0,     0,   214,
    1979        0,     0,     0,  1542,     0,  1543,     0,     0,     0,   177,
    1980        0,   161,    48,   687,     0,     0,     0,     0,  1550,  1551,
    1981        0,   216,   702,   702,     0,     0,     0,     0,  1535,     0,
    1982        0,   222,   113,     0,  1535,     0,     0,   703,   703,     0,
    1983        0,     0,     0,     0,     0,  1535,   643,     0,     0,  1535,
    1984        0,   488,     0,     0,   113,     0,     0,     0,   113,    57,
    1985       57,     0,     0,   177,     0,     0,   987,     0,   260,     0,
    1986      177,     0,     0,   339,     0,     0,   992,     0,     0,     0,
    1987        0,  1039,     0,     0,     0,    75,     0,     0,     0,     0,
    1988     1004,    57,     0,     0,     0,   703,   703,     0,     0,     0,
    1989        0,     0,   216,     0,     0,     0,     0,     0,   113,     0,
    1990      328,     0,     0,     0,     0,     0,     0,    75,   260,   350,
    1991      214,     0,     0,     0,     0,    57,     0,     0,    57,     0,
    1992        0,     0,   995,     0,     0,     0,     0,   802,   177,     0,
    1993        0,     0,     0,     0,   216,     0,   113,     0,   214,   406,
    1994      215,     0,     0,   214,   223,   177,     0,     0,     0,   177,
    1995       48,     0,     0,     0,   424,    48,     0,   429,   431,     0,
    1996     1312,     0,   161,     0,   922,     0,     0,     0,     0,     0,
    1997        0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
    1998      922,     0,     0,   448,  1282,     0,     0,   451,     0,   452,
    1999        0,     0,   702,     0,     0,     0,     0,     0,   459,     0,
    2000      702,   702,   702,     0,    66,     0,   348,     0,     0,   473,
    2001        0,     0,   177,     0,   214,   802,     0,     0,     0,   480,
    2002        0,     0,   339,     0,     0,     0,     0,   431,   214,     0,
    2003        0,    78,   353,  1313,     0,     0,     0,     0,   687,     0,
    2004        0,    37,     0,   184,   185,    40,     0,     0,   499,   113,
    2005      922,   922,    41,    42,     0,   216,     0,     0,     0,     0,
    2006      488,  1107,   323,    78,   702,   703,     0,     0,     0,     0,
    2007        0,    57,    48,   703,   703,   703,     0,     0,   600,     0,
    2008      601,     0,     0,   216,  1166,  1167,    45,    46,   216,     0,
    2009        0,     0,     0,   260,     0,     0,     0,   594,     0,     0,
    2010      224,    57,     0,   622,     0,     0,   449,     0,     0,     0,
    2011        0,     0,     0,   113,   113,   113,   627,     0,   843,     0,
    2012      627,   214,     0,   260,     0,     0,   215,    75,     0,     0,
    2013        0,     0,    75,     0,     0,     0,     0,   703,     0,     0,
    2014        0,     0,  1216,  1217,     0,     0,     0,     0,     0,     0,
    2015       37,     0,   184,   185,    40,     0,     0,     0,     0,   216,
    2016        0,    41,    42,    37,     0,   184,   185,    40,     0,   177,
    2017      473,     0,     0,   216,    41,    42,     0,     0,     0,     0,
    2018        0,     0,     0,     0,     0,   350,     0,   905,   355,   411,
    2019      473,     0,     0,     0,     0,    45,    46,     0,   473,   687,
    2020     1505,   177,   411,     0,     0,     0,     0,     0,    45,    46,
    2021        0,     0,     0,     0,     0,     0,   698,   177,     0,   431,
    2022        0,   215,     0,     0,     0,     0,   223,     0,     0,     0,
    2023        0,   177,     0,     0,   712,     0,    66,     0,     0,     0,
    2024        0,   802,    48,    48,   431,     0,     0,     0,   431,     0,
    2025        0,   113,   113,   535,   536,   537,   538,   539,   540,   541,
    2026      542,   543,   544,     0,     0,     0,   216,     0,     0,     0,
    2027        0,     0,     0,     0,     0,     0,     0,   260,   350,     0,
    2028        0,     0,   348,    78,     0,     0,     0,   545,    78,   113,
    2029        0,     0,     0,    75,     0,     0,     0,     0,     0,     0,
    2030        0,     0,     0,     0,     0,     0,     0,     0,   353,     0,
    2031        0,     0,   177,    75,     0,     0,     0,     0,   214,     0,
    2032        0,    75,  1337,   793,     0,     0,   339,     0,     0,     0,
    2033     1339,  1340,  1341,    57,     0,     0,     0,     0,     0,   353,
    2034        0,   627,   805,     0,     0,     0,    48,   113,  1107,     0,
    2035        0,     0,     0,     0,   824,     0,   113,   353,     0,    75,
    2036        0,     0,     0,   283,   284,     0,   285,     0,     0,     0,
    2037       48,    48,   594,     0,     0,   348,     0,   594,     0,     0,
    2038        0,     0,   224,   627,     0,     0,   350,   350,   350,     0,
    2039        0,     0,   286,     0,  1385,    48,     0,     0,   287,     0,
    2040        0,   353,   288,     0,   350,   289,   290,   291,   292,    41,
    2041       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2042        0,     0,   698,     0,     0,     8,     9,    10,    11,    12,
    2043        0,     0,     0,   473,     0,   295,     0,   379,     0,   348,
    2044     1107,     0,     0,    45,    46,   297,   298,   299,   300,    78,
    2045        0,     0,     0,     0,    31,     0,   786,     0,     0,   473,
    2046        0,     0,   350,   216,   355,   353,     0,     0,     0,    78,
    2047        0,   937,     0,     0,   431,     0,   177,    78,     0,     0,
    2048        0,     0,    34,   348,   348,   348,     0,    37,     0,   184,
    2049      185,    40,     0,     0,     0,   355,   260,   712,    41,    42,
    2050        0,   348,   967,     0,   214,     0,     0,     0,     0,   353,
    2051      353,   353,     0,   355,     0,    78,     0,     8,     9,    10,
    2052       11,    12,     0,     0,   600,     0,   601,   353,     0,     0,
    2053        0,     0,    45,    46,     0,     0,     0,     0,  1107,     0,
    2054        0,   698,     0,     0,     0,   353,    31,     0,     0,     0,
    2055        0,   698,     0,   350,     0,   627,    75,   355,  1002,   348,
    2056      627,   805,     0,     0,     0,   698,     0,     0,     0,  1481,
    2057        0,  1481,     0,     0,    34,  1013,     0,     0,     0,    37,
    2058        0,     0,    75,    40,     0,   353,     0,     0,     0,     0,
    2059       41,    42,     0,     0,     0,     0,     0,     0,     0,   214,
    2060        0,    80,     0,     0,     0,  1481,     0,  1481,     0,     0,
    2061        0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2062      353,   355,     0,     0,    45,    46,    66,     0,    87,     0,
    2063      413,     0,     0,    80,   323,     0,     0,   421,     0,     0,
    2064        0,     0,     0,     0,     0,     0,     0,     0,   627,   216,
    2065      348,     0,     0,     0,     0,   260,   712,     0,   348,  1085,
    2066       87,     0,     0,     0,   353,   355,   355,   355,     0,     0,
    2067      225,     0,     0,     0,   353,     0,   353,     0,     0,     0,
    2068        0,   223,     0,   355,   353,  1099,     0,     0,   353,     0,
    2069        0,     0,     0,   431,   118,     0,     0,   226,     0,     0,
    2070        0,   355,     0,     0,     0,     0,     0,     0,     0,   413,
    2071        0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
    2072        0,     0,     0,    57,     0,     0,     0,     0,     0,     0,
    2073        0,     0,     0,     0,     0,     0,     0,     0,    78,     0,
    2074        0,   355,     0,     0,   216,     0,     0,     0,     0,    75,
    2075        0,   594,     0,     0,     0,     0,     0,     0,   356,     0,
    2076        0,     0,     0,   576,   429,     0,     0,     0,     0,   698,
    2077      698,   580,   350,   350,   583,     0,   355,     0,     0,   353,
    2078        0,     0,     0,     0,     0,   363,     0,   177,     0,     0,
    2079        0,    57,  1188,     0,     0,   206,     2,   207,     4,     5,
     1783      49,   113,   149,   150,   398,   399,   427,    97,   151,   114,
     1784     400,   452,   260,   401,   751,   765,   267,   409,   963,   106,
     1785     106,   964,   402,   382,   383,   965,   947,   403,    56,   115,
     1786     739,   406,    49,   595,   867,   404,   439,  1170,   826,    97,
     1787     356,   829,   470,   147,  1068,  1069,   177,   836,   724,    49,
     1788      50,   106,   729,   972,   918,   603,   161,   843,  1194,   825,
     1789      56,   722,   341,   186,   608,   143,   209,  1378,   818,    49,
     1790     193,   793,  1136,   216,   817,  1196,   226,   219,   504,   122,
     1791     152,  1438,    50,  1198,   398,   399,   819,  1186,   106,  1301,
     1792     400,   474,   476,   401,   210,   261,   153,   220,   262,   814,
     1793     154,   424,   402,   672,   674,   113,   526,   403,   820,   815,
     1794     280,   406,    31,   113,   816,   404,   266,   271,  1195,    31,
     1795      31,    63,  1180,   668,   858,   859,   202,    69,  1199,    96,
     1796    1168,  1169,   123,    31,  1076,  1197,   627,    76,  1203,  1204,
     1797     631,   876,   168,   677,   149,   150,   306,   147,    31,   526,
     1798     151,   681,  1438,    63,   161,   113,   344,   407,  1302,    69,
     1799     209,    96,   171,    31,    31,  1457,   169,   372,   281,    76,
     1800     713,   728,   148,   111,   963,   830,   203,   964,    96,   833,
     1801     912,   965,   252,   446,   410,   186,   186,  1397,  1398,   418,
     1802     741,   410,   189,   161,   719,    96,   357,   948,    96,   930,
     1803     850,   266,   459,   470,   853,   410,   565,   438,   166,    49,
     1804    1185,  -231,  -231,   142,  1244,   291,   161,   814,   480,  1525,
     1805     410,   209,   152,   470,   149,   150,   666,   815,   442,   408,
     1806     151,   470,   816,   827,   834,   600,   600,   407,   153,   306,
     1807     566,  1170,   154,   922,   950,   173,  1540,   587,   526,   440,
     1808     663,    49,   829,   252,   328,   797,   475,  1399,    97,   271,
     1809    1015,   482,  1079,   846,   271,   266,   266,   847,   499,   376,
     1810     106,   113,   166,   161,   475,  1116,    96,   341,   567,    56,
     1811     818,  1014,  -231,  1138,   462,   377,  1002,   253,   144,    96,
     1812     993,  1170,  1176,   990,   306,   655,    70,   526,   819,   155,
     1813     733,    50,  1442,  1397,  1398,   326,   306,   518,   595,  1247,
     1814     146,   814,  1092,   595,   397,   189,   356,   608,  1177,   110,
     1815     820,   815,   570,   670,   663,   734,   816,   147,    70,   675,
     1816      41,    42,  1117,  1495,   372,  1186,   177,  1248,    96,  1500,
     1817     113,   869,  1200,   641,   344,   735,   201,   526,   601,   619,
     1818      96,   181,  1118,   628,   286,  1324,  1483,   632,   758,  1520,
     1819     870,   803,   212,   624,  1527,    41,    42,   624,   435,   826,
     1820     113,  1467,    63,  1408,  1381,  1325,   664,   471,    69,  -287,
     1821      96,  1068,  1069,   416,  1168,  1169,   897,   578,    76,   410,
     1822    1511,   513,  1513,    76,   478,   266,  1442,  1177,   326,   386,
     1823     818,  1442,   110,   852,   389,   186,   436,   555,   556,   356,
     1824    1170,   247,   372,    41,    42,   387,   444,  1018,   819,   391,
     1825     390,  1442,   250,   266,   464,   306,   306,   163,  1442,   266,
     1826     435,   341,   624,   713,   492,   392,   843,   493,   671,   673,
     1827     820,   763,   557,   558,   551,   552,  1156,  1158,   393,   746,
     1828     664,   913,   263,   113,  1083,   252,    96,   110,  1361,  -466,
     1829    1125,  -466,   887,   985,   394,   166,   470,   914,    41,    42,
     1830     848,   266,   357,   356,   849,  1427,  1428,   602,  -466,   266,
     1831    1422,   624,   -10,    49,   519,   880,   372,   718,  1186,  -515,
     1832      97,   163,   927,   113,  1423,  1186,  1329,  1103,  1134,  1115,
     1833    1468,   868,   106,   597,  1433,   306,   915,   113,  -439,  1100,
     1834     306,    56,   306,   306,  1469,  1243,   110,   441,   518,  -440,
     1835     749,   712,   916,   518,   113,   344,   518,    41,    42,   276,
     1836    1013,   909,   951,    50,   189,  1015,  1524,   278,   471,   608,
     1837       2,   206,     4,     5,     6,     7,  1186,    70,   913,   110,
     1838     329,   139,   238,   878,    76,  1331,  1535,   915,   471,   279,
     1839      41,    42,   576,  1539,  1080,   357,   471,   848,   577,   570,
     1840     570,  1099,  -102,  1081,    76,   995,  -102,   306,  1125,   786,
     1841     803,  1359,    76,   912,   326,   326,   239,   434,   624,   344,
     1842    1183,   240,   713,   619,   682,   553,   554,  1183,  1315,   601,
     1843     577,   601,   710,   330,    63,    35,  1184,    36,   331,   845,
     1844      69,  1473,    96,  1307,  1316,  -119,   602,  -119,  1473,   624,
     1845      76,  -119,   370,  1347,   624,   860,   619,  1348,  1317,   357,
     1846     624,   746,   679,   624,   624,   624,  -119,  -119,   111,   875,
     1847     215,   332,  1233,  1013,  1318,   212,  1237,  1362,   110,   434,
     1848     341,   624,   326,   266,   333,  1407,   242,   911,   705,    41,
     1849      42,   252,   328,   410,   110,  1235,   139,   140,   803,  1521,
     1850     334,   326,   522,   559,   560,    41,    42,  1026,     8,     9,
     1851      10,    11,    12,   113,   163,   384,   906,   595,   703,   371,
     1852     176,   215,   356,   375,   704,   519,   720,  1073,   921,   759,
     1853     519,   725,   721,   519,   764,   388,   726,    31,   425,   624,
     1854     932,   619,   408,   730,  1111,   396,   805,   718,   718,   731,
     1855     499,  1033,   426,   398,   399,  1275,  1276,   745,   813,   400,
     1856     602,   891,   401,   746,   215,    34,   326,   746,  1475,   176,
     1857    1476,   402,   176,   113,   344,   581,   403,   410,   749,   749,
     1858     893,   406,   449,   464,   404,   110,   746,   139,   140,   983,
     1859     980,     8,     9,    10,    11,    12,    41,    42,   212,   548,
     1860     527,   528,   529,   431,   963,   549,   550,   964,   844,    70,
     1861     881,   965,   410,   597,   712,   979,  1372,  -363,   176,   984,
     1862      31,   980,   570,  1522,   530,   215,   531,   243,   532,   533,
     1863     624,   471,   624,   884,   998,   410,  -392,   624,   344,   341,
     1864     992,   601,   569,  1160,   410,   910,   704,    76,    34,  1231,
     1865      45,    46,  1355,   601,   877,   577,   879,   471,   746,   460,
     1866    1140,   690,   410,   215,   713,   527,   528,   529,   215,   461,
     1867    1152,    37,   410,    76,  1356,    40,   813,   602,   357,  1358,
     1868     746,   176,    41,    42,  1155,   746,   600,   483,   889,   530,
     1869     569,   531,   410,   532,  1304,   710,  1028,   896,    45,    46,
     1870     214,   898,  1157,   306,   600,  1363,   926,   407,   811,   503,
     1871     600,   746,   291,   522,  1425,   522,    45,    46,   522,  1181,
     1872    1422,   522,   106,  1443,   803,   624,    48,   112,  1240,   746,
     1873     410,    56,   113,   344,   906,   176,   906,   524,  1489,   921,
     1874     507,   951,   176,   713,  1490,   951,   951,   441,   113,   328,
     1875     410,   214,   512,   215,   526,   112,   112,  1545,    48,   663,
     1876    1424,   932,   932,   577,   909,   805,   718,  1368,  1369,    48,
     1877     813,   113,   306,   712,   561,    48,  1435,   562,   748,  1104,
     1878     410,   563,   602,    48,   921,   564,    45,    46,   567,    48,
     1879     106,  1086,    48,  1086,   214,    48,   749,   337,   931,  1105,
     1880     600,   418,   659,   410,  1507,  -436,    45,    46,   112,   112,
     1881     176,   585,     2,   206,     4,     5,     6,     7,   588,  1137,
     1882     480,   328,   410,   212,    63,  1417,   980,   176,   344,    -3,
     1883      69,   176,    48,   637,   215,    48,  1226,   212,  1397,  1398,
     1884      76,   656,    48,   736,   657,   737,  1493,  1435,   738,   624,
     1885     624,   742,   658,  1125,   710,   214,   827,   328,   600,   116,
     1886     660,  1322,   661,  1082,   662,   910,  1330,  1332,  1333,   306,
     1887    1028,   665,   110,    48,   139,   140,   215,    35,   667,    36,
     1888     257,    48,   691,    41,    42,   664,    48,   692,   106,  1167,
     1889     911,   690,   694,   214,   176,   602,   696,    56,   214,  -235,
     1890       2,   206,     4,     5,     6,     7,   732,   159,   743,   113,
     1891     806,    48,    48,   747,   906,   770,   771,  1078,   807,   906,
     1892     772,   773,    37,   755,   174,   175,    40,    48,   932,   228,
     1893     212,   326,   810,    41,    42,    48,   266,  1294,  1295,  1296,
     1894      -3,   821,   -12,   341,    48,   778,   779,    48,  1379,    37,
     1895     921,   624,  1379,    40,   112,   -13,   865,   866,  1120,   371,
     1896      41,    42,   872,   258,   892,    35,   894,    36,   920,   112,
     1897    -519,   159,   895,   112,  -413,   344,   899,    48,   112,   902,
     1898    1131,   935,   942,   214,  1131,   721,    43,   844,   944,   949,
     1899     471,    48,    48,   955,    45,    46,  1188,   215,    48,    70,
     1900     774,   775,   776,   777,   322,    48,    76,   956,   957,   958,
     1901     921,   921,   959,   338,   960,   712,   976,   271,   113,   987,
     1902     988,   989,  1004,  1005,  1006,   215,   219,  1007,  1008,  1009,
     1903     215,  1010,  1283,  1284,  1131,  1286,   113,   106,  1021,  -401,
     1904     306,  -400,  1291,   910,  1293,   210,   220,  1035,   910,  1458,
     1905    1070,   176,   905,    48,   624,  1072,  1093,  1094,   113,   106,
     1906    1095,  1096,  1102,   429,   214,  1112,  1104,   433,    56,   110,
     1907    1202,   139,   140,    48,    48,  1113,   746,   106,  1119,  1121,
     1908      41,    42,   970,   176,  1114,  1122,  1105,  1123,  1124,  1127,
     1909      48,  1130,  1150,  1173,    48,  1174,   710,   322,  1189,   176,
     1910    1171,   215,  1172,   624,   624,   642,   214,  1420,   863,  1190,
     1911    1175,  1192,   271,   176,  1193,   215,  1533,   306,  1201,  1206,
     1912    1205,    48,  1057,  1208,  1213,    -3,   690,   441,  1218,   433,
     1913    1221,    48,   487,  1223,   492,    37,   106,   174,   175,    40,
     1914     440,  1227,  1232,  1350,  1234,    56,    41,    42,  1236,    48,
     1915     113,  1239,   520,   398,   399,    48,  1245,    48,  1104,   400,
     1916    1251,    63,   401,  1249,   159,    70,  1253,    69,  1255,   106,
     1917    1256,   402,   375,  1257,  1258,   710,   403,    76,  1105,   129,
     1918     406,   130,   131,   132,   404,  1259,  1261,  1268,  1285,  1277,
     1919      41,    42,   112,  1278,   176,  1419,  1288,    48,   586,  1289,
     1920    1403,  1290,   592,  1292,   663,    48,  1300,   266,   215,    48,
     1921    1506,   141,  1306,    48,  1313,   921,   112,  1319,   112,  1321,
     1922    1323,   625,  1345,   624,  1327,   629,   701,   214,   338,  1328,
     1923      37,   921,   174,   175,    40,  1334,  1335,  1337,   471,  1343,
     1924    1344,    41,    42,   509,  1188,  1346,  1353,  1357,   113,  1131,
     1925    1131,  1131,  1354,   112,    76,   214,  1104,  1364,   112,  1365,
     1926     214,  1296,  1373,   241,   244,   546,   547,   106,  1375,  1374,
     1927     113,  1382,  1391,  1392,  -402,  1395,  1105,   113,  1406,   113,
     1928    1410,   113,  1412,   322,   322,  1414,  1415,   690,  1416,   106,
     1929    1421,  1191,  1429,   149,   150,  1430,   106,  1431,    56,   151,
     1930    1432,   921,   921,   546,  1348,    56,   407,   112,  1434,  1439,
     1931    1505,   686,  1444,   212,    48,   113,  1366,   113,  1448,  1450,
     1932    1452,  1446,  1454,  1456,   116,    48,  1461,    48,   113,  1462,
     1933     664,   214,  1463,  1484,  1505,  1505,    70,  1474,  1486,   546,
     1934    1488,  1491,   161,  1492,   306,   214,    48,   106,  1514,   487,
     1935    1499,   322,  1515,   487,  1528,  1519,    56,  1526,   176,  1505,
     1936    1530,  1543,    48,   520,  1536,   520,   372,   112,   520,  1544,
     1937     322,   520,  1207,   781,   783,   780,    48,  1129,   112,    48,
     1938     112,   782,   338,  1494,   784,  1305,   162,  1131,  1131,  1546,
     1939    1409,   471,  1238,  1367,  1383,  1477,  1212,  1188,   471,   900,
     1940     194,   213,   901,   217,  1188,   215,   227,    76,   441,  1220,
     1941     232,  1087,    48,    70,    76,  1091,   112,   799,   112,   923,
     1942    1034,   871,   112,  1126,   456,  1459,   937,  1101,  1314,   945,
     1943     112,     0,   701,   715,   789,   322,     0,   790,   214,   791,
     1944       0,     0,     0,    48,    48,   229,   801,     0,   230,   471,
     1945       0,   234,   213,   236,     0,  1188,     0,    48,     0,  1057,
     1946     245,     0,     0,   478,  -288,    76,     0,     0,  1478,     0,
     1947    1482,     8,     9,    10,    11,    12,     0,   842,     0,     0,
     1948       0,     0,   592,  1508,   162,     0,     0,    37,   851,   183,
     1949     184,    40,  1516,     0,     0,   213,     0,   373,    41,    42,
     1950      31,     0,     0,   326,  1510,   412,  1512,   767,   768,   769,
     1951       0,     0,   420,     0,     0,     0,     0,     0,     0,     0,
     1952       0,     0,     0,   162,   904,     0,   410,     0,    34,     0,
     1953       0,     0,    45,    46,     0,     0,     0,    48,     0,     0,
     1954       0,   686,     0,    37,     0,   905,   162,    40,  1541,    48,
     1955    1542,   701,  1371,     0,    41,    42,   213,     0,   443,     0,
     1956     643,   701,     0,  1549,  1550,    37,    70,   183,   184,    40,
     1957       0,     0,   890,    70,     0,   701,    41,    42,     0,   487,
     1958     717,     0,     0,     0,   412,     0,     0,   229,    45,    46,
     1959       0,   215,   642,     0,   213,     0,     0,     0,   112,   213,
     1960       0,   338,   185,     0,  1396,     0,     0,  1404,  -289,     0,
     1961      45,    46,     0,     0,   498,     8,     9,    10,    11,    12,
     1962       0,    48,     0,   506,    70,   508,   511,     0,     0,     0,
     1963      48,     0,    48,   514,   515,   214,     0,     0,   575,   112,
     1964       0,     0,     0,     0,    31,     0,   579,   508,   508,   582,
     1965    1441,     0,     0,     0,   497,  1445,     0,  1481,     0,  1481,
     1966     994,     0,    48,     0,   373,   801,     0,     0,     0,   176,
     1967     702,   723,    34,   727,     0,     0,     0,     0,    66,   117,
     1968       0,     0,   112,  1466,   213,   508,   215,     0,     0,     0,
     1969       0,   986,     0,  1481,     0,  1481,   642,     0,     0,     0,
     1970       0,   991,     0,     0,   112,     0,     0,     0,   112,     0,
     1971      66,     0,     0,   412,   971,  1003,     0,   420,     0,     0,
     1972       0,   508,     0,     0,     0,  -290,   229,   160,   234,     0,
     1973       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     1974       0,     0,   373,     0,     0,     0,     0,   221,     0,     0,
     1975       0,     0,     0,   801,     0,     0,     0,     0,   112,    74,
     1976     338,    31,     0,     0,     0,   213,     0,  1534,     0,     0,
     1977     126,   126,   126,  1534,     0,     0,   686,     0,     0,   701,
     1978     701,     0,   213,   259,  1534,     0,     0,     0,  1534,    34,
     1979       0,    74,     0,     0,   412,     0,   112,     0,   487,  1106,
     1980     322,     0,     0,     0,     0,     0,     0,   213,     0,     0,
     1981      48,     0,     0,     0,     0,    48,   229,     0,     0,     0,
     1982       0,   214,   864,     0,     0,   327,     0,     0,   222,     0,
     1983       0,     0,    48,   259,   349,     0,     0,   701,   701,   176,
     1984       0,     0,   126,     0,   126,     0,   534,   535,   536,   537,
     1985     538,   539,   540,   541,   542,   543,   842,     0,     0,     0,
     1986       0,     0,     0,     0,   405,     0,     0,     0,     0,   275,
     1987       0,   917,     0,   919,     0,     0,   702,   456,     0,   423,
     1988     544,     0,   428,   430,     0,   575,   575,   160,     0,   508,
     1989     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
     1990     508,   508,   508,   508,   508,   508,   508,     0,   447,   112,
     1991       0,     0,   450,     0,   451,   352,   214,     0,     0,  1165,
     1992    1166,     0,     0,   458,     0,   126,     0,     0,   213,    66,
     1993       0,     0,    48,   126,   472,   126,   126,   686,     0,     0,
     1994     126,     0,   126,   126,   479,     0,     0,     0,     0,     0,
     1995       0,    37,   430,   183,   184,    40,   213,   546,     0,     0,
     1996       0,   213,    41,    42,     0,     0,     0,     0,     0,    77,
     1997       0,     0,   882,   112,   112,   112,   885,  1215,  1216,   801,
     1998       8,     9,    10,    11,    12,  1311,     0,     0,   599,   448,
     1999     600,     0,     0,     0,     0,   702,    45,    46,   509,     0,
     2000       0,    77,     0,     0,     0,   702,     0,     0,     0,    31,
     2001      74,     0,   126,     0,     0,    74,     0,   701,   259,   702,
     2002       0,     0,   593,     0,     0,   701,   701,   701,   621,     0,
     2003       0,     0,   213,     0,     0,   508,     0,    34,   223,     0,
     2004       0,   626,     0,     0,     0,   626,   213,   643,   259,     0,
     2005       0,     0,     0,  1038,     0,     0,     0,     0,     0,     0,
     2006       0,     0,     0,     0,   338,     0,   498,     0,     0,     0,
     2007       0,     0,     8,     9,    10,    11,    12,     0,     0,   748,
     2008       0,   410,     0,     0,     0,     0,  1106,    45,    46,   701,
     2009       0,     0,     0,     0,  1088,   472,   508,     0,     0,     0,
     2010       0,    31,    48,    48,     0,     0,   497,     0,   575,   222,
     2011     349,   112,   112,     0,     0,   472,     0,     0,     0,     0,
     2012     124,   127,   128,   472,     0,   354,   508,     0,     0,    34,
     2013       0,     0,     0,     0,    37,     0,   183,   184,    40,   213,
     2014       0,   697,     0,     0,   430,    41,    42,     0,     0,   112,
     2015       0,   643,    37,     0,   183,   184,    40,  1336,     0,   711,
     2016       0,    66,     0,    41,    42,  1338,  1339,  1340,     0,   430,
     2017       0,   185,     0,   430,     0,     0,    74,     0,  1106,    45,
     2018      46,     0,     0,     0,     0,     0,     0,     0,     0,   265,
     2019       0,   352,   254,     0,   255,     0,    74,    45,    46,     0,
     2020       0,     0,   259,   349,    74,     0,    48,   112,     0,     0,
     2021       0,     0,     0,     0,     0,     0,   112,     0,     0,     0,
     2022      77,     0,   352,   702,   702,    77,   412,     0,     0,  1384,
     2023      48,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2024     352,     0,    74,     0,     0,     0,   508,     0,   792,     0,
     2025      37,  1038,   183,   184,    40,    48,     0,     0,     0,     0,
     2026       0,    41,    42,     0,     0,     0,   626,   804,     0,     0,
     2027       8,     9,    10,    11,    12,   395,  1106,     0,     0,   823,
     2028       0,   702,   702,     0,   352,   414,   415,   904,     0,   410,
     2029     419,   508,   421,   422,     0,    45,    46,   593,     0,    31,
     2030       0,     0,   593,  1141,     0,     0,     0,  1480,   626,  1480,
     2031       0,   349,   349,   349,     0,     0,     0,   126,   126,   223,
     2032    1153,     0,     0,     0,     0,     0,   508,    34,     0,   349,
     2033       0,     0,     0,     0,     0,     0,   213,     0,     0,   508,
     2034       0,     0,     0,  1480,     0,  1480,   126,   697,   352,   126,
     2035     126,     0,   126,     0,   126,   126,     0,     0,   472,   126,
     2036     126,     0,     0,    37,  1281,   183,   184,    40,     0,   931,
     2037       0,   600,   322,     0,    41,    42,     0,    45,    46,     0,
     2038     508,     0,     0,     0,   472,     0,    77,   349,     0,     0,
     2039       0,     0,   352,   352,   352,     0,   936,     0,   412,   430,
     2040    1504,   354,   410,     0,    79,     0,    77,     0,    45,    46,
     2041     352,     0,     0,     0,    77,     0,     0,     0,     0,     0,
     2042       0,   259,   711,     0,     0,     0,     0,   966,   352,  1312,
     2043       0,     0,   354,     0,     0,     0,    79,     0,  1241,    74,
     2044       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2045     354,     0,    77,     0,     0,     0,     0,   508,     0,     0,
     2046       0,   702,     0,     0,     0,    74,   697,     0,   352,   702,
     2047     702,   702,     0,   224,     0,     0,   697,     0,   349,     0,
     2048     626,     0,     0,  1001,     0,   626,   804,     0,     0,     0,
     2049     697,     0,     0,     0,   354,     0,     0,   126,   126,     0,
     2050    1012,     0,     0,   352,     0,     0,     0,     0,     0,     0,
     2051       0,     0,     0,     0,     0,     0,     0,   508,   508,     0,
     2052       0,     0,   213,     0,     0,     0,     0,     0,     0,     0,
     2053       0,    86,     0,   702,     0,     0,     0,     0,     0,     0,
     2054       0,     0,     0,   282,   283,     0,   284,   352,     0,     0,
     2055       0,    66,     0,     0,     0,     0,     0,   352,   354,   352,
     2056     355,     0,     0,    86,   222,     0,     0,   352,     0,     0,
     2057       0,   352,   285,   626,     0,     0,     0,     0,   286,     0,
     2058     259,   711,   287,     0,  1084,   288,   289,   290,   291,    41,
     2059      42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
     2060     225,     0,   354,   354,   354,     0,     0,     0,     0,     0,
     2061    1098,     0,     0,     0,     0,   505,     0,   213,   430,   117,
     2062     354,     0,     0,    45,    46,   296,   297,   298,   299,     0,
     2063       0,     0,    74,     0,     0,     0,     0,     0,   354,     0,
     2064       0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
     2065       0,     0,     0,     0,   126,    79,     0,     0,     0,   126,
     2066      79,     0,   352,     0,     0,     0,     0,   794,   795,     0,
     2067       0,     0,     0,     0,     0,    77,   593,     0,   354,     0,
     2068       0,     0,     0,     0,     0,     0,     0,   362,     0,   428,
     2069       0,     0,     0,     0,   697,   697,   828,   349,   349,   831,
     2070     832,     0,   835,     0,   837,   838,     0,     0,     0,   839,
     2071     840,     0,     0,   354,     0,     0,     0,  1187,     0,     0,
     2072       0,     0,   508,     0,    57,    57,     0,     0,     0,     0,
     2073       0,     0,     0,     0,     0,     0,     0,     0,   508,     0,
     2074       0,     0,     0,     0,     8,     9,    10,    11,    12,     0,
     2075       0,     0,   697,   697,   224,     0,    57,   354,     0,     0,
     2076       0,     0,     0,     0,     0,     0,     0,   354,     0,   354,
     2077       0,     0,     0,    31,   223,   352,   352,   354,   352,   352,
     2078       0,   354,    86,     0,     0,     0,     0,    86,     0,     0,
     2079      57,     0,     0,    57,     0,     0,     0,     0,    74,   626,
     2080       0,    34,     0,     0,     0,     0,    37,     0,   508,   508,
     2081      40,     0,     0,     0,     0,     0,     0,    41,    42,     0,
     2082     126,    79,     0,   711,     0,     0,     0,     0,     0,     0,
     2083       0,     0,     0,   352,   352,     0,   355,     0,     0,     0,
     2084       0,    79,    77,    43,     0,     0,     0,   968,   969,    79,
     2085       0,    45,    46,     0,     8,     9,    10,    11,    12,     0,
     2086       0,     0,     0,     0,     0,     0,  1282,   355,     0,     0,
     2087       0,     0,   354,     0,     0,     0,     0,     0,     0,     0,
     2088     347,   225,     0,    31,   259,   355,     0,    79,    66,     0,
     2089       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2090     697,     0,   711,     0,   352,     0,   117,     0,     0,     0,
     2091       0,    34,     0,     0,     0,     0,    37,     0,   183,   184,
     2092      40,     0,     0,     0,     0,     0,     0,    41,    42,   355,
     2093       0,     0,   697,     0,     0,     0,     0,     0,     0,     0,
     2094     697,   697,   697,     0,     0,    57,     0,   222,    86,   126,
     2095       0,   349,   349,   599,     0,   600,     0,     0,     0,     0,
     2096       0,    45,    46,   362,     0,  1187,     0,     0,    86,    74,
     2097       0,     0,     0,     0,     0,    57,    86,     0,     0,     0,
     2098       0,   352,     0,   352,     0,   354,   354,     0,   354,   354,
     2099       0,     0,     0,   355,   362,     0,     0,     0,   117,     0,
     2100       0,     0,     0,     0,   697,     0,     0,     0,    77,  1089,
     2101       0,     0,   362,   352,    86,     0,     0,     0,     0,     0,
     2102       0,   352,   352,   352,     0,     0,     0,     0,     0,     0,
     2103       0,     0,   352,   352,     0,     0,     0,   355,   355,   355,
     2104       0,     0,     0,   354,   354,     0,    74,     0,     0,     0,
     2105       0,     0,     0,     0,     0,   355,   362,     0,     0,     0,
     2106       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2107       0,   349,     0,   355,     0,     0,     0,     0,     0,     0,
     2108       0,     0,     0,     0,    79,   352,     0,     8,     9,    10,
     2109      11,    12,     0,     0,     0,     0,   117,     0,     0,     0,
     2110       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2111      79,     0,     0,   355,   354,     0,    31,     0,  1187,     0,
     2112     362,     0,     0,     0,     0,  1187,     0,   167,     0,   172,
     2113       0,     0,   178,   179,   180,     0,   182,     0,     0,     0,
     2114       0,     0,     0,     0,    34,     0,     0,     0,   355,    37,
     2115     233,     0,   352,    40,     0,     0,   347,   223,     0,     0,
     2116      41,    42,   248,   249,   362,   362,   362,     0,     0,     0,
     2117    1217,     0,     0,     0,     0,     0,  1187,     0,     0,    77,
     2118       0,     0,   362,  1529,     0,     0,   717,     0,     0,     0,
     2119       0,   354,   355,   354,    45,    46,     0,     0,     0,    74,
     2120     362,     0,   355,     0,   355,     0,    74,    57,     0,   224,
     2121       0,    86,   355,     0,     0,     0,   355,     8,     9,    10,
     2122      11,    12,     0,   354,     0,     0,     0,     0,     0,     0,
     2123       0,   354,   354,   354,     0,     0,     0,    86,     0,     0,
     2124     362,     0,   354,   354,     0,     0,    31,     0,     0,   347,
     2125       0,     0,     0,     0,     0,     0,    77,    74,     0,     0,
     2126       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2127       0,     0,     0,     0,    34,   362,     0,    79,     0,    37,
     2128       0,   183,   184,    40,     0,     0,     0,     0,     0,     0,
     2129      41,    42,     0,     0,     0,   354,     0,     0,     0,  1303,
     2130       0,     0,     0,     0,     0,     0,     0,   355,     0,     0,
     2131       0,     0,     0,   347,     0,     0,   904,     0,   410,   362,
     2132       0,     0,     0,     0,    45,    46,     0,     0,     0,   362,
     2133       0,   362,     0,     0,     0,     0,   225,     0,     0,   362,
     2134       0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
     2135       0,     0,     0,     0,     0,     0,     0,   347,   347,   347,
     2136       0,     0,   354,     0,     0,     0,     0,     0,     0,     0,
     2137       0,     0,     0,     0,     0,   347,     0,     0,     1,     2,
     2138       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2139      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2140      23,    24,    25,     0,    86,    26,    27,    28,    29,    77,
     2141       0,    30,     0,     0,    31,    32,    77,   590,     0,   598,
     2142     355,   355,     0,   355,   355,     0,     0,     0,     0,     0,
     2143     622,   623,     0,   347,   362,     0,     0,     0,     0,    33,
     2144       0,     0,    34,    79,    35,     0,    36,    37,     0,    38,
     2145      39,    40,     0,     8,     9,    10,    11,    12,    41,    42,
     2146       0,     0,     0,     0,     0,     0,     0,    77,     0,     0,
     2147       0,     0,     0,     0,     0,     0,     0,     0,   355,   355,
     2148       0,     0,    31,     0,    43,     0,    44,     0,   211,     0,
     2149    -518,     0,    45,    46,     0,     0,     0,   231,     0,   235,
     2150       0,   237,     0,     0,     0,     0,     0,     0,   246,     0,
     2151      34,     0,   165,     0,     0,    37,     0,   183,   184,    40,
     2152       0,     0,     0,     0,   347,     0,    41,    42,     0,   218,
     2153       0,     0,   347,     0,     8,     9,    10,    11,    12,   211,
     2154       0,   235,   237,   246,     0,     0,     0,   362,   362,   355,
     2155     362,   362,  1504,     0,   410,     0,     0,     0,     0,     0,
     2156      45,    46,     0,    31,     0,     0,     0,     0,     0,     0,
     2157      86,     0,     0,     0,     0,     0,   165,     0,     0,     0,
     2158     272,     0,   211,     0,     0,     0,     0,     0,     0,     0,
     2159       0,    34,   224,     0,     0,     0,    37,    57,   183,   184,
     2160      40,     0,     0,     0,     0,   362,   362,    41,    42,   165,
     2161       0,     0,     0,     0,    79,     0,     0,     0,     0,   368,
     2162       0,     0,     0,   374,     0,     0,   355,     0,   355,     0,
     2163       0,     0,     0,   265,     0,     0,     0,     0,     0,     0,
     2164       0,    45,    46,   211,     0,   235,   237,   246,     0,     0,
     2165       0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
     2166       0,     0,     0,     0,     0,    57,   355,   355,   355,     0,
     2167       0,     0,   165,     0,     0,     0,   362,   355,   355,     0,
     2168       0,   211,     0,     0,   218,     0,   211,     0,     0,     0,
     2169       0,    79,     0,     0,     0,     0,     0,     0,     0,     0,
     2170       0,   496,   165,     0,     0,     0,     0,     0,     0,     0,
     2171       0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
     2172       0,     0,     0,     0,     0,     0,     0,   374,     0,     0,
     2173     355,     0,     0,     0,   165,     0,     0,     0,     0,     0,
     2174       0,    86,     0,   347,   347,     0,     0,     0,     0,   211,
     2175       0,     0,     0,   362,     0,   362,     0,   523,     0,     0,
     2176       0,     0,     0,    57,     0,     0,     0,     0,     0,   165,
     2177       0,   211,   924,     0,   925,     0,   235,   237,     0,     0,
     2178       0,   928,   929,     0,   246,   362,   934,     0,     0,     0,
     2179       0,     0,     0,   362,   362,   362,     0,   355,   939,     0,
     2180       0,     0,     0,   943,   362,   362,     0,   596,     0,     0,
     2181       0,     0,   620,     0,     0,     0,     0,     0,    86,     0,
     2182       0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
     2183       0,   977,     0,     0,     0,     0,     0,     0,     0,     0,
     2184       0,     0,     0,     0,    79,   211,     0,     0,     0,     0,
     2185     211,    79,   211,     0,     0,     0,     0,   362,     0,     0,
     2186       0,     0,     0,     0,     0,     0,     0,     0,     0,   211,
     2187       0,     0,   211,   211,     0,     0,     0,     0,     0,     0,
     2188     211,     0,     0,     0,     0,     0,     0,     0,   165,   165,
     2189       0,     0,     0,     0,   211,   368,     0,     0,     0,     0,
     2190       0,   211,    79,     0,     0,     0,     0,     0,     0,     0,
     2191       0,    57,    57,     0,     0,     0,   523,     0,     0,     0,
     2192       0,     0,     0,     0,   362,     0,     0,     0,     0,     0,
     2193    1022,  1023,  1024,  1025,    57,  1027,     0,     0,     0,     0,
     2194       0,     0,     0,     0,   714,     0,     0,     0,     0,     0,
     2195    1071,     0,    57,     0,     0,     0,   165,     0,     0,     0,
     2196       0,     0,     0,     0,  1077,     0,     0,     0,   523,     0,
     2197     523,    86,     0,   523,     0,   165,   523,     0,    86,     0,
     2198       0,     0,     0,     0,     0,     0,     0,     0,   368,     0,
     2199       0,     0,     0,     0,     0,     0,     0,   347,   347,     0,
     2200       0,     0,     0,     0,  1097,     0,    57,     0,     0,     0,
     2201       0,    57,     0,     0,     0,   211,     0,     0,     0,     0,
     2202       0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
     2203       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2204     165,     0,     0,   211,    57,     0,     0,     0,   211,  1128,
     2205       0,     0,   368,     0,     0,  1135,   809,     0,     0,     0,
     2206    1139,     0,     0,     0,     0,  1143,     0,  1144,     0,     0,
     2207       0,  1146,     0,  1147,  1148,     0,     0,  1151,     0,     0,
     2208       0,     0,   596,     0,     0,     0,  1163,   596,     0,     0,
     2209       0,     0,     0,     0,     0,     0,   368,   368,   368,     0,
     2210       0,     0,     0,     0,  1178,  1179,     0,     0,     0,     0,
     2211       0,     0,     0,     0,   368,     0,     0,   347,     0,   211,
     2212       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2213       0,  1209,     0,   211,  1211,     0,     0,     0,     0,     0,
     2214       0,     0,    57,     0,     0,     0,   523,   282,   283,     0,
     2215     284,     0,     0,   496,     0,     0,     0,     0,     0,     0,
     2216       0,     0,     0,     0,    57,     0,     0,     0,     0,     0,
     2217       0,    57,   368,     0,   933,     0,   285,  1225,     0,     0,
     2218       0,     0,   286,  1229,  1230,     0,   287,     0,     0,   288,
     2219     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
     2220       0,     0,     0,  1246,     0,     0,  1250,   714,     0,     0,
     2221    1252,     0,     0,     0,   211,     0,     0,     0,   156,   294,
     2222       0,   378,    57,  1260,   379,     0,   211,    45,    46,   296,
     2223     297,   298,   299,     0,     0,     0,  1267,     0,  1269,  1270,
     2224    1271,  1272,     0,     0,     0,   211,     0,     0,     0,     0,
     2225       0,     0,     0,     0,  1279,     0,  1280,     0,     0,     0,
     2226     172,     0,     0,   368,     0,   251,     0,   620,     0,     0,
     2227       0,   368,     0,     0,     0,   256,     0,     0,     0,     0,
     2228       0,     0,     0,     0,     0,     0,     0,     0,     0,  1308,
     2229    1309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2230       0,   205,     2,   206,     4,     5,     6,     7,     8,     9,
     2231      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2232      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2233      28,   156,     0,     0,     0,     0,     0,    31,     0,  1341,
     2234    1342,     0,     0,     0,     0,   385,     0,     0,     0,  1352,
     2235       0,     0,     0,     0,     0,     0,     0,     0,   211,     0,
     2236       0,     0,     0,     0,     0,    34,   714,    35,   417,    36,
     2237       0,     0,   207,    39,     0,     0,     0,     0,     0,     0,
     2238       0,   523,   432,     0,     0,     0,     0,     0,   211,     0,
     2239       0,   437,     0,   282,   283,     0,   284,     0,     0,     0,
     2240       0,   445,     0,     0,     0,   165,     0,     0,     0,   208,
     2241    1387,     0,  1388,  1389,  1390,    45,    46,     0,     0,     0,
     2242       0,     0,   285,   211,  1394,     0,   463,     0,   286,     0,
     2243       0,   473,   287,  1405,   211,   288,   289,   290,   291,    41,
     2244      42,     0,   292,   293,   481,     0,     0,     0,     0,     0,
     2245     491,     0,   495,     0,     0,     0,     0,     0,  1426,     0,
     2246       0,   596,     0,     0,     0,   294,     0,   378,     0,   525,
     2247       0,     0,     0,    45,    46,   296,   297,   298,   299,     0,
     2248       0,     0,   368,   368,     0,     0,   785,     0,     0,     0,
     2249       0,     0,     0,     0,   282,   283,     0,   284,     0,     0,
     2250       0,  1464,  1465,     0,     0,     0,   211,     0,     0,     0,
     2251       0,   584,     0,     0,  1470,     0,   589,     0,     0,     0,
     2252     211,  1470,     0,   285,     0,     0,     0,     0,     0,   639,
     2253       0,   139,   140,   287,     0,     0,   288,   289,   290,   291,
     2254      41,    42,   523,   292,   293,   634,     0,     0,     0,   635,
     2255     636,     0,   638,  1503,     0,     0,     0,  1509,     0,   649,
     2256     650,     0,   651,   652,     0,   653,   294,   654,   640,     0,
     2257     641,   379,     0,     0,    45,    46,   296,   297,   298,   299,
     2258       0,     0,     0,     0,   584,  1531,     0,  1532,     0,     0,
     2259       0,     0,   669,     0,     0,     0,     0,     0,     0,     0,
     2260       0,   340,   363,     0,     0,     0,     0,     0,   714,   211,
     2261       0,     0,     0,     0,     0,  1547,  1548,   680,     0,     0,
     2262       0,     0,     0,  1551,  1552,     0,     0,     0,     0,     0,
     2263       0,     0,     0,     0,     0,   413,     0,     0,     0,     0,
     2264       0,     0,   413,   706,     0,     0,     0,     0,     0,   709,
     2265     218,     0,     0,     0,   463,   466,     2,   206,     4,     5,
    20802266       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    20812267      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2082      355,     0,    26,    27,    28,     0,     0,   698,   698,     0,
    2083      355,    31,   355,     0,     0,     0,     0,   224,   413,     0,
    2084      355,     0,   421,     0,   355,     0,     0,     0,     0,     0,
    2085        0,     0,     0,    80,     0,     0,     0,     0,    80,    34,
    2086        0,    35,     0,    36,    37,     0,   208,    39,    40,   348,
    2087      348,     0,     0,     0,   627,    41,    42,     0,     0,     0,
    2088       87,     0,     0,     0,     0,    87,     0,     0,     0,    57,
    2089        0,     0,   353,   353,     0,   353,   353,     0,   712,     0,
    2090        0,    43,     0,   209,     0,    78,     0,     0,     0,    45,
    2091       46,     0,     0,     0,     0,    75,     0,     0,     0,   413,
    2092        0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2093        0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
    2094        0,  1283,     0,     0,     0,     0,     0,     0,     0,     0,
    2095      353,   353,   225,     0,    31,     0,     0,   177,     0,   260,
    2096        0,     0,     0,    66,     0,     0,     0,     0,     0,     0,
    2097        0,     0,     0,     0,     0,   698,     0,   712,     0,   226,
    2098        0,   118,    34,     0,     0,     0,     0,    37,     0,   184,
    2099      185,    40,     0,     0,     0,   127,   127,   127,    41,    42,
    2100        0,     0,     0,     0,     0,     0,     0,   698,     0,     0,
    2101      576,   576,     0,     0,     0,   698,   698,   698,     0,    80,
    2102        0,   353,     0,     0,   186,     0,   350,   350,     0,     0,
    2103        0,     0,    45,    46,   356,     0,     0,    57,    57,    80,
    2104     1188,     0,     0,     0,     0,     0,    87,    80,   355,   355,
    2105        0,   355,   355,     0,     0,     0,     0,     0,     0,     0,
    2106       57,   363,     0,     0,   223,   356,    87,     0,   127,     0,
    2107      127,    78,     0,   118,    87,     0,     0,     0,    57,   698,
    2108        0,     0,     0,   356,     0,    80,    75,     0,     0,     0,
    2109        0,     0,   363,     0,     0,   276,     0,   883,   353,     0,
    2110      353,   886,     0,     0,     0,     0,   355,   355,     0,     0,
    2111      363,     0,    87,     0,     0,     0,     0,     0,     0,     0,
    2112        0,     0,     0,   348,   348,     0,     0,   356,     0,     0,
    2113      353,     0,    57,     0,     0,     0,     0,    57,   353,   353,
    2114      353,     0,     0,     0,     0,     0,   350,     0,     0,   353,
    2115      353,   127,     0,     0,   363,     0,     0,     0,     0,   127,
    2116        0,   127,   127,    75,     0,     0,   127,     0,   127,   127,
    2117       57,   118,     0,   168,     0,   173,     0,   355,   179,   180,
    2118      181,     0,   183,     0,     0,     0,     0,     0,     0,     0,
    2119        0,   356,     0,  1188,     0,     0,     0,   234,     0,     0,
    2120     1188,     0,   353,     0,     0,     0,     0,     0,     0,   249,
    2121      250,     0,     0,     0,   125,   128,   129,     0,   363,     0,
    2122      224,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2123       12,     0,     0,   576,     0,   356,   356,   356,   127,     0,
    2124        0,     0,    78,   348,     0,     0,     0,     0,     0,     0,
    2125        0,  1188,     0,   356,   355,    31,   355,     0,  1530,     0,
    2126        0,     0,   363,   363,   363,     0,     0,     0,    57,   353,
    2127        0,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2128      363,     0,    80,    34,     0,     0,   355,   255,    37,   256,
    2129       57,     0,    40,     0,   355,   355,   355,    57,   363,    41,
    2130       42,     0,     0,     0,     0,   355,   355,     0,    80,    87,
    2131        0,   356,     0,     0,     0,     0,    75,     0,     0,    78,
    2132        0,     0,     0,    75,     0,   718,     0,     0,     0,     0,
    2133        0,     0,     0,    45,    46,    87,     0,     0,   363,     8,
    2134        9,    10,    11,    12,     0,     0,   356,     0,    57,     0,
    2135        0,   413,     0,     0,     0,     0,     0,     0,   355,     0,
    2136        0,     0,     0,     0,     0,     0,     0,     0,    31,     0,
    2137      396,     0,     0,   363,    75,     0,     0,     0,     0,     0,
    2138      415,   416,     0,     0,     0,   420,     0,   422,   423,     0,
    2139      356,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    2140      356,    37,   356,   184,   185,    40,     0,   225,     0,     0,
    2141      356,     0,    41,    42,   356,     0,     0,   363,     0,     8,
    2142        9,    10,    11,    12,     0,   355,     0,   363,  1142,   363,
    2143        0,     0,     0,     0,   226,     0,     0,   363,   905,     0,
    2144      411,   363,     0,     0,     0,  1154,    45,    46,    31,     0,
    2145        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2146        0,     0,     0,     0,   591,     0,   599,     0,     0,     0,
    2147        0,     0,    78,     0,     0,    80,    34,   623,   624,    78,
    2148       31,    37,     0,   184,   185,    40,     0,     0,     0,     0,
    2149        0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
    2150        0,     0,    87,     0,     0,   356,     0,     0,    34,     0,
    2151        0,     0,     0,    37,     0,   184,   185,    40,  1505,     0,
    2152      411,     0,     0,   413,    41,    42,    45,    46,     0,     0,
    2153       78,     0,   363,     0,     0,     0,     0,     0,     0,     0,
    2154        0,     0,     0,   127,   127,     0,     0,     0,     0,     0,
    2155      266,     0,     0,     0,     0,     0,     0,     0,    45,    46,
    2156        0,     0,     0,  1242,     0,     0,     0,     0,     0,     0,
    2157        0,     0,   127,     0,     0,   127,   127,     0,   127,     0,
    2158      127,   127,     0,     0,     0,   127,   127,     1,     2,   207,
     2268       0,     0,    26,    27,    28,     0,     0,   714,     0,     0,
     2269     744,    31,     0,     0,     0,     0,     0,     0,     0,     0,
     2270       0,     0,     0,     0,   211,   762,     0,     0,     0,     0,
     2271       0,     0,     0,     0,   413,     0,     0,     0,     0,    34,
     2272       0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
     2273       0,     0,     0,     0,     0,     0,   368,   368,     0,     0,
     2274       0,     0,     0,   788,     0,   218,     0,     0,     0,     0,
     2275       0,     0,   798,     0,     0,     0,     0,     0,     0,   800,
     2276     320,     0,     0,     0,     0,   808,    -3,     0,   413,     0,
     2277     345,     0,     0,     0,   822,     0,   413,   580,     0,   413,
     2278     583,     0,   381,   381,     0,     0,     0,     0,     0,     0,
     2279     363,     0,  1011,     0,   612,     8,     9,    10,    11,    12,
     2280       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2281       0,     0,     0,   630,   862,     0,   340,     0,     0,     0,
     2282       0,     0,   282,   283,    31,   284,     0,     0,     0,     0,
     2283       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2284       0,     0,     0,   413,     0,     0,     0,   413,     0,     0,
     2285     808,   285,    34,   320,     0,     0,   368,   286,   903,     0,
     2286       0,   287,     0,     0,   288,   289,   290,   291,    41,    42,
     2287       0,   292,   293,     0,     0,     0,     0,   477,   363,     0,
     2288       0,     0,     0,     0,     0,     0,     0,     0,     0,   251,
     2289       0,     0,     0,     0,   294,     0,   378,     0,     0,   940,
     2290     941,     0,   343,    46,   296,   297,   298,   299,     0,     0,
     2291       0,     0,   523,     0,   523,     0,     0,     0,     0,     0,
     2292       0,     0,     0,     0,   413,     0,     0,   363,     0,     0,
     2293       0,     0,   978,     0,     0,     0,     0,   982,     0,     0,
     2294       0,     0,     0,     0,     0,     0,     0,     0,   523,     0,
     2295     523,   211,     0,     0,     0,     0,     0,     0,     0,     0,
     2296       0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
     2297     340,   363,     0,     0,     0,     0,     0,   165,     0,     0,
     2298       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2299       0,     0,     0,   381,     0,     0,     0,     0,     0,     0,
     2300       0,  1016,     0,     0,     0,     0,     0,     0,  1017,     0,
     2301       0,     0,     0,     0,     0,   413,   413,     0,     0,     0,
     2302       0,  1019,     0,  1020,     0,     0,     0,     0,     0,     0,
     2303       0,     0,     0,     0,   802,   363,     0,  1032,     0,     0,
     2304       0,     0,     0,  1036,     0,   612,     0,   612,   612,     0,
     2305       0,     0,     0,     0,   612,  1074,     0,     0,  1075,     0,
     2306       0,     0,     0,     0,   841,   363,     0,     0,     0,     0,
     2307     363,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2308     363,   363,     0,     0,     0,     0,     0,   708,     0,     0,
     2309       0,     0,     0,     0,     0,     0,     0,   363,     0,     0,
     2310       0,     0,   413,   883,     0,     0,   413,   886,     0,     0,
     2311       0,     0,     0,   888,     0,     0,     0,     0,     0,     0,
     2312       0,     0,     0,     0,     0,     0,   740,     0,     0,     0,
     2313       0,     0,   413,     0,     0,   589,     0,     0,     0,   757,
     2314       0,     0,     0,     0,   740,     0,     0,   740,     0,     0,
     2315       0,     0,     0,     0,     0,   363,   612,     0,     0,   766,
     2316       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2317    1145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2318       0,   787,     0,     0,     0,     0,     0,     0,     0,   340,
     2319     363,   796,     0,     0,   413,   413,     0,     0,   345,     0,
     2320       0,     0,     0,   757,     0,     0,     0,     0,     0,     0,
     2321       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2322      18,    19,    20,    21,    22,    23,    24,    25,   525,     0,
     2323      26,    27,    28,     0,  1210,     0,     0,     0,   413,    31,
     2324       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2325       0,     0,   861,   802,   363,     0,     0,   612,     0,   612,
     2326     381,     0,     0,     0,     0,     0,     0,    34,  1222,   612,
     2327       0,     0,    37,  1224,    38,    39,    40,     0,     0,     0,
     2328       0,  1228,     0,    41,    42,     0,     8,     9,    10,    11,
     2329      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2330      22,    23,    24,    25,  -291,     0,     0,     0,     0,    43,
     2331       0,   157,     0,     0,  1254,    31,     0,    45,    46,     0,
     2332       0,     0,     0,     0,     0,     0,  1262,     0,     0,  1263,
     2333       0,  1264,     0,     0,     0,     0,     0,     0,     0,     0,
     2334       0,   802,     0,    34,     0,  1273,  1274,     0,   340,   363,
     2335     413,     0,   413,     0,  -291,     0,   413,     0,   757,     0,
     2336     962,     0,     0,     0,     0,     0,     0,  1287,     0,     0,
     2337     973,     0,     0,     0,     0,     0,   981,   612,   612,     0,
     2338       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2339      18,    19,    20,    21,    22,    23,    24,    25,  1161,     0,
     2340       0,     8,     9,    10,    11,    12,     0,     0,     0,    31,
     2341       0,     0,   413,     0,  1326,     0,     0,     0,   999,  1000,
     2342       0,     0,   345,     0,     0,     0,     0,     0,   282,   283,
     2343      31,   284,     0,   413,  1142,     0,   345,    34,     0,     0,
     2344       0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
     2345     413,  1154,     0,   612,   612,  1159,     0,   285,    34,     0,
     2346       0,     0,     0,   286,     0,   363,   363,   287,     0,     0,
     2347     288,   289,   290,   291,    41,    42,  1030,   292,   293,     0,
     2348     381,     0,     0,     0,     0,     0,     0,     0,     0,  1376,
     2349       0,  1377,     0,     0,     0,     0,     0,     0,     0,     0,
     2350     294,     0,   378,  1385,     0,  1386,     0,     0,  1162,    46,
     2351     296,   297,   298,   299,     0,     0,     0,   345,     0,     0,
     2352       0,     0,  1393,     0,     0,     0,     0,     0,   413,     0,
     2353     413,     0,     0,     0,     0,   413,     0,     0,  1411,  1413,
     2354       0,     0,     0,     0,   612,     0,     0,     0,     0,  1418,
     2355       0,     0,  1228,     0,     0,     0,   320,     0,     0,     0,
     2356       0,     0,     0,     0,     0,     0,     0,   802,   413,  1242,
     2357       0,     0,     0,  1440,     0,   282,   283,     0,   284,     0,
     2358       0,     0,  1447,     0,   381,  1449,     0,  1451,  1453,  1455,
     2359     973,   363,     0,     0,   740,     0,     0,     0,     0,     0,
     2360       0,     0,     0,     0,   285,     0,     0,     0,     0,     0,
     2361     286,     0,     0,     0,   287,  1149,     0,   288,   289,   290,
     2362     291,    41,    42,     0,   292,   293,  1164,  1485,     0,  1487,
     2363       0,  1228,     0,     0,     0,     0,     0,     0,     0,     0,
     2364       0,     0,     0,     0,     0,     0,  1498,   294,   381,   378,
     2365    1182,     0,   340,     0,   756,    45,    46,   296,   297,   298,
     2366     299,     0,     0,     0,     0,   973,   973,     0,     0,     0,
     2367     363,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2368       0,     0,     0,     0,     0,     0,  1214,     0,     0,     0,
     2369       0,     0,     0,     0,     1,     2,   206,     4,     5,     6,
     2370       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2371      17,    18,    19,    20,    21,    22,    23,    24,    25,   363,
     2372     363,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2373      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2374       0,   973,     0,     0,     0,     0,     0,     0,     0,     0,
     2375       0,     0,     0,     0,     0,     0,     0,     0,    34,   861,
     2376      35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
     2377       0,     0,     0,     0,  1265,  1266,     0,     1,     2,   206,
    21592378       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    21602379      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2161       24,    25,  -291,     0,    26,    27,    28,    29,   356,   356,
    2162       30,   356,   356,    31,     0,     0,     0,     0,     0,     0,
     2380      24,    25,    44,     0,    26,    27,    28,    29,    45,    46,
     2381      30,   282,   283,    31,  1039,  1040,     0,  1041,     0,     0,
     2382    1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,     0,     0,
     2383       0,  1050,     0,     0,     0,  1051,  1052,     0,    33,   363,
     2384     285,    34,     0,    35,     0,    36,  1053,     0,    38,    39,
     2385     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2386     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    21632387       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2164        0,    80,     0,     0,     0,   363,   363,     0,   363,   363,
    2165        0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
    2166        0,     0,  -291,     0,     0,     0,  1012,     0,    87,     8,
    2167        9,    10,    11,    12,     0,     0,   356,   356,     0,     0,
     2388       0,     0,     0,   294,     0,  1054,     0,     0,   171,     0,
     2389       0,    45,    46,   296,   297,   298,   299,     0,     0,     0,
     2390       0,  1055,     0,     0,     0,     0,  -126,     0,     0,     0,
     2391       0,     0,     0,     0,     0,  1370,     0,     0,   740,     0,
     2392       0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
    21682393       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2169        0,     0,     0,     0,     0,    44,   283,   284,    31,   285,
    2170        0,    45,    46,   363,   363,     0,     0,     0,     0,     0,
    21712394       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2172        0,     0,     0,   127,   127,   286,    34,     0,     0,     0,
    2173        0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
    2174      291,   292,    41,    42,     0,   293,   294,   356,     0,     0,
     2395     413,   413,     0,     0,     0,     0,     0,     0,     0,     0,
    21752396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2176        0,     0,   795,   796,     0,     0,     0,     0,   295,     0,
    2177      379,     0,     0,     0,   363,     0,   344,    46,   297,   298,
    2178      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
    2179      225,   829,     0,     0,   832,   833,     0,   836,     0,   838,
    2180      839,     0,     0,     0,   840,   841,     0,     0,     0,     0,
    2181        0,     0,    80,     0,     0,     0,     0,   226,     0,   925,
    2182        0,   926,     0,     0,   356,     0,   356,     0,   929,   930,
    2183        0,     0,     0,   935,     0,     0,     0,     0,     0,    87,
    2184        0,     0,     0,     0,     0,   940,     0,     0,     0,     0,
    2185      944,   363,     0,   363,     0,     0,   356,     0,     0,     0,
    2186        0,     0,     0,     0,   356,   356,   356,     0,     0,     0,
    2187        0,     0,     0,     0,     0,   356,   356,     0,   978,     0,
    2188      127,     0,     0,   363,     0,   127,     0,     0,     0,    80,
    2189        0,   363,   363,   363,     0,     0,     0,     0,     0,     0,
    2190        0,     0,   363,   363,     0,     0,     0,     0,     0,     0,
    2191        0,     0,     0,     0,     0,     0,    87,     0,     0,     0,
    2192        0,     0,     0,     0,     0,     0,     0,     0,   356,     0,
    2193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2194      166,     0,   969,   970,     0,     0,     0,     0,     0,     0,
    2195        0,     0,     0,     0,     0,   363,     0,   219,     0,     0,
    2196     1162,     0,     0,     8,     9,    10,    11,    12,     0,     0,
    2197        0,     0,     0,     0,     0,     0,     0,  1023,  1024,  1025,
    2198     1026,     0,  1028,     0,     0,     0,     0,     0,     0,     0,
    2199      283,   284,    31,   285,     0,   356,     0,  1072,     0,     0,
    2200        0,     0,     0,     0,     0,   166,     0,     0,     0,   273,
    2201        0,  1078,     0,     0,     0,     0,     0,     0,     0,   286,
    2202       34,     0,   363,     0,     0,   287,     0,     0,     0,   288,
    2203        0,     0,   289,   290,   291,   292,    41,    42,   166,   293,
    2204      294,     0,    80,     0,     0,     0,   127,     0,   369,    80,
    2205        0,  1098,   375,     0,     0,     0,     0,     0,     0,     0,
    2206        0,     0,   295,     0,   379,     0,     0,     0,     0,    87,
    2207     1163,    46,   297,   298,   299,   300,    87,     8,     9,    10,
    2208       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2209       21,    22,    23,    24,    25,     0,  1129,    26,    27,    28,
    2210       80,   166,  1136,     0,  1090,     0,    31,  1140,     0,     0,
    2211        0,     0,  1144,   219,  1145,     0,     0,     0,  1147,     0,
    2212     1148,  1149,     0,     0,  1152,     0,     0,    87,     0,     0,
    2213        0,   166,     0,  1164,    34,     0,     0,     0,     0,     0,
    2214        0,   208,    39,     0,     0,     0,     0,     0,     0,     0,
    2215        0,  1179,  1180,     0,     0,     0,   375,     0,     0,     0,
    2216        0,     0,     0,   166,     0,     0,     0,     0,     0,     0,
    2217        0,     0,     0,     0,     0,   127,     0,     0,  1210,     0,
    2218        0,  1212,     0,     0,    45,    46,   524,     0,     0,     0,
    2219        0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
    2220        0,     0,     0,     0,   212,     0,     0,     0,     0,     0,
    2221        0,     0,     0,     0,   232,     0,   236,     0,   238,     0,
    2222        0,     0,     0,     0,  1226,   247,     0,     0,     0,     0,
    2223     1230,  1231,     0,     0,     0,     0,   597,     0,     0,     0,
    2224        0,   621,     0,     0,     0,     0,     0,     0,     0,     0,
    2225     1247,     0,     0,  1251,     0,     0,   212,  1253,   236,   238,
    2226      247,     0,     0,     0,     0,  1218,     0,     0,     0,     0,
    2227     1261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2228        0,     0,     0,  1268,     0,  1270,  1271,  1272,  1273,     0,
    2229        0,     0,     0,     0,     0,     0,     0,     0,     0,   212,
    2230        0,  1280,     0,  1281,     0,     0,     0,   173,     0,     0,
    2231        0,     0,     0,     0,     0,     0,     0,   166,   166,     0,
    2232        0,     0,     0,     0,   369,     0,     0,     0,     0,     0,
    2233        0,     0,     0,     0,     0,     0,  1309,  1310,     0,     0,
    2234        0,     0,     0,     0,     0,   524,     0,     0,     0,     0,
    2235        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2236      212,     0,   236,   238,   247,     0,     0,     0,     0,     0,
    2237        0,     0,     0,   715,     0,     0,     0,     0,     0,     0,
    2238        0,     0,     0,     0,     0,   166,  1342,  1343,     0,     0,
    2239        0,     0,     0,     0,  1304,     0,  1353,   524,   212,   524,
    2240        0,     0,   524,   212,   166,   524,     0,     0,     0,     0,
    2241        0,     0,     0,     0,     0,     0,     0,   369,   497,     0,
    2242        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2243        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2244       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2245       24,    25,  -291,     0,    26,    27,    28,  1388,     0,  1389,
    2246     1390,  1391,     0,    31,     0,     0,   212,     0,     0,   166,
    2247        0,  1395,     0,     0,     0,     0,     0,     0,     0,     0,
    2248     1406,   369,     0,     0,     0,   810,     0,     0,   212,     0,
    2249        0,    34,     0,   236,   238,     0,    37,     0,   336,   337,
    2250       40,   247,  -291,     0,     0,  1427,     0,    41,    42,     0,
    2251        0,   597,     0,     0,   321,     0,   597,     0,     0,     0,
    2252        0,     0,     0,     0,   346,   369,   369,   369,     0,   157,
    2253        0,     0,     0,   634,     0,   338,   382,   382,     0,     0,
    2254        0,    45,    46,   369,   212,     0,     0,     0,  1465,  1466,
    2255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2256        0,  1471,   212,     0,     0,     0,     0,   212,  1471,   212,
    2257      283,   284,     0,   285,     0,   524,     0,   252,     0,     0,
    2258        0,     0,     0,     0,     0,     0,   212,   257,     0,   212,
    2259      212,     0,     0,     0,     0,     0,     0,   212,     0,   286,
    2260     1504,   369,     0,   934,  1510,   287,     0,   321,     0,   288,
    2261        0,   212,   289,   290,   291,   292,    41,    42,   212,   293,
    2262      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2263        0,   478,  1532,     0,  1533,     0,   715,     0,     0,     0,
    2264        0,     0,   295,   157,   379,     0,     0,   380,     0,     0,
    2265       45,    46,   297,   298,   299,   300,     0,   386,     0,     0,
    2266        0,     0,  1548,  1549,     0,     0,     0,     0,     0,     0,
    2267     1552,  1553,     0,     0,     0,     0,     0,     0,     0,     0,
    2268      418,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2269        0,     0,   369,     0,   433,     0,   621,     0,     0,     0,
    2270      369,     0,     0,   438,     0,     0,     0,     0,     0,     0,
    2271        0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
    2272        0,     0,     0,     0,   283,   284,     0,   285,     0,     0,
    2273        0,     0,   212,     0,     0,     0,     0,     0,   464,     0,
    2274        0,     0,     0,   474,     0,     0,     0,   382,     0,     0,
    2275        0,     0,     0,   286,     0,     0,   482,     0,     0,   287,
    2276      212,     0,   492,   288,   496,   212,   289,   290,   291,   292,
    2277       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2278        0,   526,     0,     0,     0,     0,     0,     0,     0,     0,
    2279        0,     0,     0,     0,     0,   715,   295,     0,   379,     0,
    2280        0,     0,     0,   757,    45,    46,   297,   298,   299,   300,
    2281      524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2282        0,     0,     0,   585,     0,     0,     0,     0,   590,     0,
    2283        0,     0,     0,     0,   166,     0,   212,     0,     0,     0,
    2284        0,   709,     0,     0,     0,     0,     0,     0,     0,     0,
    2285      212,     0,     0,     0,     0,     0,     0,   635,     0,     0,
    2286        0,   636,   637,     0,   639,     0,     0,     0,     0,     0,
    2287      497,   650,   651,     0,   652,   653,     0,   654,     0,   655,
    2288      741,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2289      597,     0,     0,   758,     0,     0,   585,     0,   741,     0,
    2290        0,   741,     0,     0,   670,     0,     0,     0,     0,     0,
    2291        0,   369,   369,   767,     0,     0,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,     0,     0,     0,     0,   681,
    2293        0,   212,     0,     0,     0,   788,     0,     0,     0,     0,
    2294        0,     0,     0,   212,     0,   797,     0,     0,     0,     0,
    2295        0,     0,   346,     0,     0,   707,     0,   758,     0,     0,
    2296        0,   710,   212,     0,     0,     0,   464,     0,     0,     0,
    2297        0,   524,     0,     0,     0,     0,   206,     2,   207,     4,
     2397       0,     0,     0,     0,     0,   413,     1,     2,   206,     4,
    22982398       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    22992399      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2300       25,     0,   745,    26,    27,    28,   862,     0,     0,     0,
    2301        0,     0,    31,     0,   382,     0,     0,   763,     0,     0,
    2302        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2303        0,     0,     0,     0,     0,     0,     0,   715,     0,     0,
    2304       34,     0,    35,     0,    36,     0,     0,   208,    39,     0,
    2305        0,     0,     0,   283,   284,   789,   285,     0,     0,     0,
    2306        0,     0,     0,     0,   799,     0,     0,     0,     0,     0,
    2307        0,   801,     0,     0,     0,   212,     0,   809,     0,   219,
    2308        0,     0,   286,     0,   209,     0,   823,     0,   287,     0,
    2309       45,    46,   288,     0,     0,   289,   290,   291,   292,    41,
    2310       42,     0,   293,   294,     0,   212,     0,     0,     0,     0,
    2311        0,     0,   758,     0,   963,     0,   715,     0,     0,   341,
    2312      364,     0,     0,     0,   974,   295,   863,   379,     0,     0,
    2313      982,     0,     0,    45,    46,   297,   298,   299,   300,     0,
    2314      212,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2315        0,   212,     0,   414,     0,     0,     0,     0,     0,     0,
    2316      414,     0,   809,     0,     0,   369,   369,     0,     0,     0,
    2317      904,     0,  1000,  1001,   219,     0,   346,     0,     0,     0,
    2318        0,     0,     0,     0,     0,     0,     0,     0,     0,   507,
    2319      346,   509,   512,     0,     0,     0,     0,     0,     0,   515,
    2320      516,   252,     0,     0,     0,     0,     0,     0,     0,     0,
    2321        0,   941,   942,   509,   509,     0,     0,     0,     0,     0,
    2322        0,     0,     0,   212,     0,     0,     0,     0,     0,     0,
    2323     1031,     0,   414,     0,   382,     0,     0,   212,     0,     0,
    2324        0,     0,     0,     0,   979,     0,     0,     0,     0,   983,
    2325        0,   509,     8,     9,    10,    11,    12,    13,    14,    15,
    2326       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2327        0,   346,    26,    27,    28,     0,     0,     0,     0,     0,
    2328        0,    31,   684,     0,     0,   369,   414,   509,     0,     0,
    2329        0,     0,     0,     0,   414,   581,     0,   414,   584,     0,
    2330        0,     0,     0,     0,     0,     0,     0,     0,   364,    34,
    2331      321,     0,   613,  1017,     0,     0,    38,    39,     0,     0,
    2332     1018,     0,     0,     0,     0,     0,   212,     0,     0,     0,
    2333        0,   631,     0,  1020,   341,  1021,     0,     0,   382,     0,
    2334        0,   524,     0,   524,   974,     0,     0,     0,   741,  1033,
    2335        0,     0,     0,   685,     0,  1037,     0,   686,     0,    45,
    2336       46,   414,     0,     0,     0,   414,     0,  1075,     0,  1150,
    2337     1076,     0,     0,     0,     0,     0,     0,   524,     0,   524,
    2338     1165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2339        0,     0,     0,     0,     0,     0,   364,     0,     0,     0,
    2340        0,     0,   382,     0,  1183,     0,   166,     0,     0,     0,
    2341        0,     0,     0,     0,     0,     0,     0,     0,     0,   974,
    2342      974,   212,     8,     9,    10,    11,    12,    13,    14,    15,
    2343       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2344     1215,     0,   414,     0,     0,   364,     0,   590,     0,     0,
    2345        0,    31,     0,     0,     0,   509,   509,   509,   509,   509,
    2346      509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
    2347      509,   509,   509,     0,     0,     0,     0,   283,   284,    34,
    2348      285,     0,  1146,     0,   414,     0,     0,     0,   341,   364,
    2349        0,     0,     0,     0,     0,   974,     0,     0,     0,     0,
    2350        0,     0,     0,     0,     0,     0,   286,     0,     0,     0,
    2351        0,     0,   287,   862,     0,     0,   288,     0,     0,   289,
    2352      290,   291,   292,    41,    42,     0,   293,   294,  1266,  1267,
    2353        0,     0,     0,   414,   414,     0,     0,     0,     0,     0,
    2354      526,     0,     0,     0,     0,     0,  1211,     0,     0,   295,
    2355        0,   379,   803,   364,   971,     0,     0,    45,    46,   297,
    2356      298,   299,   300,   613,     0,   613,   613,     0,     0,     0,
    2357        0,     0,   613,     0,     0,     0,     0,     0,     0,     0,
    2358     1223,     0,   842,   364,     0,  1225,     0,     0,   364,     0,
    2359        0,     0,     0,  1229,     0,     0,     0,   364,   364,   364,
    2360        0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
    2361        0,     0,     0,     0,     0,   364,     0,     0,     0,     0,
    2362      414,   884,     0,     0,   414,   887,  1255,     0,     0,     0,
    2363        0,   889,     0,     0,     0,     0,     0,     0,  1263,     0,
    2364        0,  1264,     0,  1265,     0,     0,     0,     0,     0,     0,
    2365      414,     0,     0,     0,     0,     0,     0,  1274,  1275,     0,
    2366        0,     0,   509,     0,     0,     0,     0,     0,   212,  1371,
    2367        0,     0,   741,   364,   613,     0,     0,     0,     0,  1288,
    2368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2369        0,     0,   509,     0,     0,     0,     0,     0,     0,     0,
    2370        0,     0,     0,     0,     0,     0,     0,   341,   364,     0,
    2371        0,     0,   414,   414,     0,     0,     0,     0,     0,     0,
    2372        0,     0,     0,     0,     0,     0,  1327,     0,     0,     0,
    2373        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2374       17,    18,    19,    20,    21,    22,    23,    24,    25,  -291,
    2375        0,    26,    27,    28,     0,     0,   414,     0,     0,     0,
    2376       31,     0,     0,     0,   364,     0,     0,     0,     0,     0,
    2377        0,   803,   364,     0,     0,   613,     0,   613,     0,     0,
    2378        0,     0,     0,     0,     0,     0,     0,   613,    34,     0,
    2379        0,     0,     0,    37,     0,   336,   337,    40,     0,  -291,
    2380        0,  1377,     0,  1378,    41,    42,     0,     0,     0,     0,
    2381        0,     0,   509,     0,     0,  1386,     0,  1387,     0,     0,
    2382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2383        0,     0,   338,     0,  1394,     0,     0,     0,    45,    46,
    2384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2385     1412,  1414,     0,     0,     0,     0,     0,   509,     0,   803,
    2386        0,  1419,     0,     0,  1229,     0,   341,   364,   414,     0,
    2387      414,     0,     0,     0,   414,     0,     0,     0,     0,     0,
    2388        0,     0,   321,     0,     0,  1441,     0,     0,     0,     0,
    2389        0,     0,   509,     0,  1448,   613,   613,  1450,     0,  1452,
    2390     1454,  1456,     0,     0,     0,   509,     8,     9,    10,    11,
     2400      25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
     2401     282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
     2402      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2403      24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
     2404      34,     0,    35,    31,    36,   286,     0,    38,    39,   287,
     2405       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2406     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2407       0,    34,     0,     0,     0,     0,    37,     0,    38,    39,
     2408      40,     0,   294,     0,  1054,     0,     0,    41,    42,     0,
     2409      45,    46,   296,   297,   298,   299,     0,     0,     0,     0,
     2410       0,     0,     0,     0,     0,  -126,     0,     0,     0,     0,
     2411       0,     0,     0,    43,     0,    44,     0,     0,     0,     0,
     2412       0,    45,    46,     0,     0,     0,     0,     0,   320,     1,
     2413       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    23912414      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2392       22,    23,    24,    25,  -291,     0,     0,     0,     0,     0,
    2393      414,     0,     0,     0,     0,    31,     0,     0,     0,  1486,
    2394        0,  1488,     0,  1229,     0,     0,   509,     0,     0,     0,
    2395        0,   414,  1143,     0,     0,     0,     0,     0,  1499,     0,
    2396        0,     0,   364,    34,     0,     0,     0,     0,   414,  1155,
    2397        0,   613,   613,  1160,  -291,     0,     0,     0,     0,     0,
    2398        0,     0,     0,   364,   364,     0,     0,     0,     0,     0,
    2399        0,     0,     0,     0,     0,     0,     0,     1,     2,   207,
    2400        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2401       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2402       24,    25,     0,   509,    26,    27,    28,    29,     0,     0,
    2403       30,   283,   284,    31,   285,     0,     0,     0,     0,     0,
    2404        0,     0,     0,     0,     0,     0,   414,     0,   414,     0,
    2405        0,     0,     0,   414,     0,     0,     0,     0,     0,     0,
    2406      286,    34,   613,    35,     0,    36,   287,     0,    38,    39,
    2407      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2408      293,   294,     0,   509,   509,   803,   414,  1243,     0,     0,
    2409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2410        0,     0,     0,   295,     0,  1055,     0,     0,     0,   364,
    2411        0,    45,    46,   297,   298,   299,   300,     0,     0,     0,
    2412        0,     0,     0,     0,     0,     0,  -126,     0,     1,     2,
    2413      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2414       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2415       23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
    2416        0,    30,   283,   284,    31,  1040,  1041,     0,  1042,     0,
    2417      341,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,
    2418        0,     0,  1051,     0,     0,     0,  1052,  1053,   364,    33,
    2419        0,   286,    34,     0,    35,     0,    36,  1054,     0,    38,
    2420       39,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2421        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
    2422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2423        0,     0,     0,     0,   295,     0,  1055,   364,   364,   172,
    2424        0,     0,    45,    46,   297,   298,   299,   300,     0,     0,
    2425        0,     0,  1056,     0,     0,     0,     0,  -126,     0,     0,
    2426        0,     0,     1,     2,   207,     4,     5,     6,     7,     8,
    2427        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2428       19,    20,    21,    22,    23,    24,    25,     0,   509,    26,
    2429       27,    28,    29,     0,     0,    30,   283,   284,    31,   285,
    2430        0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
    2431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2432        0,     0,     0,     0,     0,   286,    34,     0,    35,     0,
    2433       36,   287,     0,    38,    39,   288,     0,     0,   289,   290,
    2434      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2435        0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
    2436        0,     0,     0,     0,     0,     0,     0,     0,   295,     0,
    2437       44,     0,     0,     0,   509,   509,    45,    46,   297,   298,
    2438      299,   300,     0,     2,   207,     4,     5,     6,     7,     8,
    2439        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2440       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2441       27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
    2442        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2443       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2444       25,  -292,     0,     0,   414,   286,    34,     0,    35,     0,
    2445       36,   287,    31,    38,    39,   288,     0,     0,   289,   290,
    2446      291,   292,    41,    42,     0,   293,   294,     0,   414,   414,
    2447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2448       34,     0,     0,     0,     0,     0,     0,     0,   295,     0,
    2449      343,  -292,     0,   414,     0,   757,   344,    46,   297,   298,
    2450      299,   300,     2,   207,     4,     5,     6,     7,     8,     9,
    2451       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2452       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2453       28,     0,     0,     0,     0,   283,   284,    31,   285,     8,
    2454        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2455       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2456       27,    28,     0,     0,   286,    34,     0,    35,    31,    36,
    2457      287,     0,    38,    39,   288,     0,     0,   289,   290,   291,
    2458      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2459        0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    2460        0,   111,     0,    38,    39,     0,     0,   295,     0,   962,
    2461        0,     0,    41,    42,   757,   344,    46,   297,   298,   299,
    2462      300,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2415      22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
     2416       0,     0,    30,   282,   283,    31,   284,     8,     9,    10,
    24632417      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    24642418      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2465        0,     0,     0,     0,   283,   284,    31,   285,     8,     9,
    2466       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2467       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2468       28,     0,     0,   286,    34,     0,    35,    31,    36,   287,
    2469        0,    38,    39,   288,     0,     0,   289,   290,   291,   292,
    2470       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2471        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2472        0,     0,    38,    39,     0,     0,   295,     0,   962,     0,
    2473        0,     0,     0,   757,    45,    46,   297,   298,   299,   300,
    2474        2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    2475       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2476       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2477        0,     0,     0,   283,   284,    31,   285,     8,     9,    10,
    2478       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2479       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2480        0,     0,   286,    34,     0,    35,    31,    36,   287,     0,
    2481       38,    39,   288,     0,     0,   289,   290,   291,   292,    41,
    2482       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2483        0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
    2484        0,   208,    39,     0,     0,   295,     0,   343,     0,     0,
    2485        0,     0,     0,   344,    46,   297,   298,   299,   300,     2,
    2486      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2419       0,     0,   285,    34,     0,    35,    31,    36,   286,     0,
     2420      38,    39,   287,     0,     0,   288,   289,   290,   291,    41,
     2421      42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
     2422       0,     0,     0,     0,    34,     0,     0,     0,     0,   110,
     2423       0,    38,    39,     0,     0,   294,     0,    44,     0,     0,
     2424      41,    42,     0,    45,    46,   296,   297,   298,   299,     2,
     2425     206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    24872426      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    24882427      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2489        0,     0,   283,   284,    31,   285,     0,     0,     0,     0,
    2490        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2492        0,   286,    34,     0,    35,     0,    36,   287,     0,   208,
    2493       39,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2494        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
    2495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2496        0,     0,     0,     0,   295,     0,   997,     0,     0,     0,
    2497        0,     0,   998,    46,   297,   298,   299,   300,     2,   207,
     2428       0,     0,   282,   283,    31,   284,     0,     0,     0,     8,
     2429       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2430      19,    20,    21,    22,    23,    24,    25,  -292,     0,     0,
     2431       0,   285,    34,     0,    35,     0,    36,   286,    31,    38,
     2432      39,   287,     0,     0,   288,   289,   290,   291,    41,    42,
     2433       0,   292,   293,     0,     0,     0,     0,     0,     0,     0,
     2434       0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
     2435       0,     0,     0,     0,   294,     0,   342,  -292,     0,     0,
     2436       0,   756,   343,    46,   296,   297,   298,   299,     2,   206,
    24982437       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24992438      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    25002439      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2501        0,   283,   284,    31,   285,     0,     0,     0,     0,     0,
    2502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2503        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2504      286,    34,     0,    35,     0,    36,   287,     0,    38,    39,
    2505      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2506      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
    2507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2508        0,     0,     0,   295,     0,   962,     0,     0,     0,     0,
    2509        0,   344,    46,   297,   298,   299,   300,     2,   207,     4,
     2440       0,   282,   283,    31,   284,     8,     9,    10,    11,    12,
     2441      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2442      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2443     285,    34,     0,    35,    31,    36,   286,     0,    38,    39,
     2444     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2445     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2446       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2447      39,     0,     0,   294,     0,   961,     0,     0,     0,     0,
     2448     756,   343,    46,   296,   297,   298,   299,     2,   206,     4,
    25102449       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25112450      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    25122451      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2513      283,   284,    31,   285,     0,     0,     0,     0,     0,     0,
     2452     282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
     2453      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2454      24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
     2455      34,     0,    35,    31,    36,   286,     0,    38,    39,   287,
     2456       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2457     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2458       0,    34,     0,     0,     0,     0,     0,     0,   207,    39,
     2459       0,     0,   294,     0,   961,     0,     0,     0,     0,   756,
     2460      45,    46,   296,   297,   298,   299,     2,   206,     4,     5,
     2461       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2462      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2463       0,     0,    26,    27,    28,     0,     0,     0,     0,   282,
     2464     283,    31,   284,     0,     0,     0,     0,     0,     0,     0,
    25142465       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2515        0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
    2516       34,     0,    35,     0,    36,   287,     0,   208,    39,   288,
    2517        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2518      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2520        0,     0,   295,     0,   379,     0,     0,     0,     0,     0,
    2521       45,    46,   297,   298,   299,   300,  -515,     0,     0,     1,
    2522        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    2523       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2524       22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    2525        0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
     2466       0,     0,     0,     0,     0,     0,     0,     0,   285,    34,
     2467       0,    35,     0,    36,   286,     0,    38,    39,   287,     0,
     2468       0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
    25262469       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25272470       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2528       33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2529       38,    39,    40,     0,     0,     0,     0,     0,     0,    41,
    2530       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2471       0,   294,     0,   342,     0,     0,     0,     0,     0,   343,
     2472      46,   296,   297,   298,   299,     2,   206,     4,     5,     6,
     2473       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2474      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2475       0,    26,    27,    28,     0,     0,     0,     0,   282,   283,
     2476      31,   284,     0,     0,     0,     0,     0,     0,     0,     0,
    25312477       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2532        0,     0,     0,     0,     0,    43,     0,    44,     0,     0,
    2533        0,     0,     0,    45,    46,     1,     2,     3,     4,     5,
     2478       0,     0,     0,     0,     0,     0,     0,   285,    34,     0,
     2479      35,     0,    36,   286,     0,   207,    39,   287,     0,     0,
     2480     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
     2481       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2482       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2483     294,     0,   996,     0,     0,     0,     0,     0,   997,    46,
     2484     296,   297,   298,   299,     2,   206,     4,     5,     6,     7,
     2485       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2486      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2487      26,    27,    28,     0,     0,     0,     0,   282,   283,    31,
     2488     284,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2489       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2490       0,     0,     0,     0,     0,     0,   285,    34,     0,    35,
     2491       0,    36,   286,     0,    38,    39,   287,     0,     0,   288,
     2492     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
     2493       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2494       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2495       0,   961,     0,     0,     0,     0,     0,   343,    46,   296,
     2496     297,   298,   299,     2,   206,     4,     5,     6,     7,     8,
     2497       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2498      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2499      27,    28,     0,     0,     0,     0,   282,   283,    31,   284,
     2500       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2501       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2502       0,     0,     0,     0,     0,   285,    34,     0,    35,     0,
     2503      36,   286,     0,   207,    39,   287,     0,     0,   288,   289,
     2504     290,   291,    41,    42,     0,   292,   293,     0,     0,     0,
     2505       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2506       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2507     378,     0,     0,     0,     0,     0,    45,    46,   296,   297,
     2508     298,   299,  -514,     0,     0,     1,     2,     3,     4,     5,
    25342509       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    25352510      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     
    25422517       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25432518       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2544        0,    43,     0,    44,     0,     0,     0,  -519,     0,    45,
     2519       0,    43,     0,    44,     0,     0,     0,     0,     0,    45,
    25452520      46,     1,     2,     3,     4,     5,     6,     7,     8,     9,
    25462521      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     
    25542529       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25552530       0,     0,     0,     0,     0,     0,     0,    43,     0,    44,
    2556        0,     0,     0,     0,     0,    45,    46,     1,     2,   207,
     2531       0,     0,     0,     0,     0,    45,    46,   205,     2,   206,
    25572532       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    25582533      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2559       24,    25,     0,     0,    26,    27,    28,    29,     0,     0,
    2560       30,     0,     0,    31,     0,     0,     0,     0,     0,     0,
     2534      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2535       0,     0,     0,    31,     0,     8,     9,    10,    11,    12,
     2536      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2537      23,    24,    25,     0,     0,    26,    27,    28,   484,   485,
     2538     486,    34,     0,    35,    31,    36,    37,     0,   207,    39,
     2539      40,     0,     0,     0,     0,     0,     0,    41,    42,     0,
     2540       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2541       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2542      39,     0,     0,    43,     0,   208,     0,     0,     0,     0,
     2543       0,    45,    46,     1,     2,   206,     4,     5,     6,     7,
     2544       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2545      18,    19,    20,    21,    22,    23,    24,    25,  -291,     0,
     2546      26,    27,    28,    29,     0,     0,    30,     0,     0,    31,
    25612547       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25622548       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2563        0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
    2564        0,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    2565       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2566       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2567        0,     0,     0,     0,     0,    44,    31,     0,     0,     0,
     2549       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2550       0,    36,     0,     0,    38,    39,     0,     0,  -291,     2,
     2551     206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2552      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2553      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2554       0,    44,     0,     0,    31,     0,     0,    45,    46,     0,
     2555       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2556       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2557       0,     0,    34,     0,    35,     0,    36,    37,     0,   207,
     2558      39,    40,     0,     0,     0,     0,     0,     0,    41,    42,
     2559       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2560       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2561       0,     0,     0,     0,    43,     0,   208,     0,     0,     0,
     2562       0,     0,    45,    46,     2,   206,     4,     5,     6,     7,
     2563       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2564      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2565      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2566       0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2567      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2568      24,    25,     0,     0,    26,    27,    28,    34,     0,    35,
     2569       0,    36,     0,    31,    38,    39,     0,     2,   206,     4,
     2570       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2571      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2572      25,    34,     0,    26,    27,    28,     0,     0,    38,    39,
     2573    -398,   676,    31,     0,     0,     0,     0,    45,    46,     0,
     2574       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2576      34,     0,    35,   633,    36,   337,     0,    38,    39,     0,
    25682577       0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
     2578       0,     0,     0,     0,     0,     0,     0,     0,     0,  1349,
    25692579       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2570        0,     0,     0,     0,    34,     0,    35,     0,    36,    37,
    2571        0,   208,    39,    40,     0,     0,     0,     0,     0,     0,
    2572       41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,   676,     0,     0,     0,     0,     0,
     2581      45,    46,     2,   206,     4,     5,     6,     7,     8,     9,
     2582      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2583      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2584      28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
     2585       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2586      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2587       0,    26,    27,    28,     0,    34,     0,    35,     0,    36,
     2588      31,   683,    38,    39,     0,     0,     0,     0,     0,     0,
    25732589       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,    43,     0,   209,     0,
    2575        0,     0,     0,     0,    45,    46,     2,   207,     4,     5,
     2590       0,     0,     0,     0,  1351,     0,     0,     0,    34,     0,
     2591       0,     0,     0,     0,     0,    38,    39,     0,     0,   676,
     2592       0,     0,     0,     0,     0,    45,    46,     2,   206,     4,
     2593       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2594      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2595      25,     0,   684,    26,    27,    28,   685,     0,    45,    46,
     2596       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2597       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2598       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2599      34,     0,    35,     0,    36,     0,     0,   207,    39,     0,
     2600       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     2601      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2602      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2603       0,     0,     0,     0,   270,    31,     0,     0,     0,     0,
     2604      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2606       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2607      38,    39,     0,     2,   206,     4,     5,     6,     7,     8,
     2608       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2609      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2610      27,    28,     0,     0,     0,     0,     0,   676,    31,     0,
     2611       0,     0,     0,    45,    46,     0,     0,     0,     0,     0,
     2612       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2613       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2614      36,     0,     0,    38,    39,     0,     2,   206,     4,     5,
    25762615       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    25772616      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    25782617       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2579        0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
    2580       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2581       22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
    2582        0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
    2583      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2618     591,    31,     0,     0,     0,     0,    45,    46,     0,     0,
     2619       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2620       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2621       0,    35,     0,    36,     0,     0,   207,    39,     8,     9,
     2622      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2623      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2624      28,     0,     0,     0,     0,   282,   283,    31,   284,     0,
     2625       0,     0,     0,   208,     0,     0,     0,     0,     0,    45,
     2626      46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2627       0,     0,     0,     0,   285,    34,     0,     0,     0,     0,
     2628     286,     0,    38,    39,   287,     0,     0,   288,   289,   290,
     2629     291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
     2630       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2631       0,     0,     0,     0,     0,     0,     0,   294,     0,   516,
     2632       0,     0,   171,     0,     0,    45,    46,   296,   297,   298,
     2633     299,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2634      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2635       0,    26,    27,    28,     0,     0,     0,     0,   282,   283,
     2636      31,   284,     8,     9,    10,    11,    12,    13,    14,    15,
     2637      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2638       0,     0,    26,    27,    28,     0,     0,   285,    34,     0,
     2639       0,    31,     0,   286,     0,    38,    39,   287,     0,     0,
     2640     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
     2641       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2642       0,     0,     0,     0,    37,     0,   335,   336,    40,     0,
     2643     294,   -35,   295,     0,     0,    41,    42,     0,    45,    46,
     2644     296,   297,   298,   299,     8,     9,    10,    11,    12,    13,
     2645      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2646      24,    25,     0,   337,    26,    27,    28,     0,     0,    45,
     2647      46,   282,   283,    31,   284,     8,     9,    10,    11,    12,
    25842648      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2585       23,    24,    25,    34,     0,    26,    27,    28,     0,     0,
    2586       38,    39,  -399,   677,    31,     0,     0,     0,     0,    45,
     2649      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2650     285,    34,     0,     0,    31,     0,   286,     0,    38,    39,
     2651     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2652     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2653       0,     0,    34,     0,     0,     0,     0,   110,     0,    38,
     2654      39,     0,     0,   294,     0,   295,     0,     0,    41,    42,
     2655       0,    45,    46,   296,   297,   298,   299,     8,     9,    10,
     2656      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2657      21,    22,    23,    24,    25,     0,    44,    26,    27,    28,
     2658       0,     0,    45,    46,   282,   283,    31,   284,     8,     9,
     2659      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2660      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2661      28,     0,     0,   285,    34,     0,     0,    31,   683,   286,
     2662       0,    38,    39,   287,     0,     0,   288,   289,   290,   291,
     2663      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
     2664       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2665       0,     0,    38,    39,     0,     0,   294,     0,   157,     0,
     2666       0,     0,     0,     0,    45,    46,   296,   297,   298,   299,
     2667       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2668      18,    19,    20,    21,    22,    23,    24,    25,     0,   684,
     2669      26,    27,    28,  1090,     0,    45,    46,   282,   283,    31,
     2670     284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2671      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2672       0,    26,    27,    28,     0,     0,   285,    34,     0,     0,
     2673      31,   683,   286,     0,    38,    39,   287,     0,     0,   288,
     2674     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
     2675       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2676       0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
     2677       0,   591,     0,     0,     0,     0,     0,    45,    46,   296,
     2678     297,   298,   299,     8,     9,    10,    11,    12,    13,    14,
     2679      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2680      25,     0,   684,    26,    27,    28,  1219,     0,    45,    46,
     2681     282,   283,    31,   284,     0,     8,     9,    10,    11,    12,
     2682      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2683      23,    24,    25,  -291,     0,    26,    27,    28,     0,   285,
     2684      34,     0,     0,     0,    31,   286,     0,    38,    39,   287,
     2685       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2686     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2687       0,     0,    34,     0,     0,     0,     0,    37,     0,   335,
     2688     336,    40,   294,  -291,   378,     0,     0,     0,    41,    42,
     2689      45,    46,   296,   297,   298,   299,     0,     0,     0,     0,
     2690       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2691       0,     0,     0,     0,   633,     0,   337,     0,     0,     0,
     2692       0,     0,    45,    46,     8,     9,    10,    11,    12,    13,
     2693      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2694      24,    25,  -291,     0,    26,    27,    28,     0,     0,     0,
     2695       0,     0,     0,    31,     8,     9,    10,    11,    12,    13,
     2696      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2697      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2698       0,    34,     0,    31,     0,     0,    37,     0,   335,   336,
     2699      40,     0,  -291,     0,     0,     0,     0,    41,    42,     0,
     2700       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2701       0,    34,     0,     0,     0,     0,    37,     0,   207,    39,
     2702      40,     0,     0,     0,     0,   337,     0,    41,    42,     0,
     2703       0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
     2704       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2705       0,     0,     0,    43,     0,   270,     0,     0,     0,     0,
     2706       0,    45,    46,     8,     9,    10,    11,    12,    13,    14,
     2707      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2708      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2709       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2710      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2711      25,  -291,     0,    26,    27,    28,     0,     0,     0,     0,
     2712      34,     0,    31,     0,     0,    37,     0,   335,   336,    40,
     2713       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2715      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2716       0,  -291,   633,     0,   337,     0,     0,     0,     0,     0,
     2717      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2718       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2719       0,     0,   633,     0,   337,     0,     0,     0,     0,     0,
     2720      45,    46,     8,     9,    10,    11,    12,    13,    14,    15,
     2721      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2722    -291,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2723       0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
     2724      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2725       0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
     2726       0,    31,     0,     0,     0,     0,    38,    39,     0,     0,
     2727    -291,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2728      17,    18,    19,    20,    21,    22,    23,    24,    25,    34,
     2729       0,    26,    27,    28,     0,     0,    38,    39,     0,     0,
     2730      31,     0,     0,   337,     0,     0,     0,     0,     0,    45,
    25872731      46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2732       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2733       0,     0,     0,   257,     0,    38,    39,     0,     0,    45,
     2734      46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2735      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2736       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2737      31,     0,   157,     0,     0,     0,     0,     0,    45,    46,
     2738       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2739      18,    19,    20,    21,    22,    23,    24,    25,    34,     0,
     2740      26,    27,    28,     0,     0,   207,    39,     0,     0,    31,
     2741       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2742      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2743      26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
     2744       0,     0,   270,     0,    38,    39,     0,     0,    45,    46,
    25882745       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2589        0,     0,    34,     0,    35,   634,    36,   338,     0,    38,
    2590       39,     0,     0,    45,    46,     0,     0,     0,     0,     0,
     2746       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2747       0,     0,     0,     0,    38,    39,     0,     0,     0,     0,
     2748       0,   337,     0,     0,     0,     0,     0,    45,    46,     0,
     2749       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2750      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2751       0,   684,    26,    27,    28,     0,     0,    45,    46,     0,
     2752       0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
     2753      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2754       0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
     2755       0,    31,     0,     0,     0,     0,    38,    39,     0,     0,
     2756       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2757      18,    19,    20,    21,    22,    23,    24,    25,     0,    34,
     2758      26,    27,    28,     0,     0,     0,    38,    39,     0,    31,
     2759       0,     0,     0,   591,     0,     0,     0,     0,     0,    45,
     2760      46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2761       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2762       0,     0,     0,    44,   207,    39,     0,     0,     0,    45,
     2763      46,     2,   206,     4,     5,     6,     7,     8,     9,    10,
     2764      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2765      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2766       0,     0,     0,     0,     0,     0,    31,    45,    46,     0,
    25912767       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2592        0,  1350,     0,     0,     0,     0,     0,     0,     0,     0,
    2593        0,     0,     0,     0,     0,     0,   677,     0,     0,     0,
    2594        0,     0,    45,    46,     2,   207,     4,     5,     6,     7,
     2768       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2769       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2770       0,    38,    39,   282,   283,     0,   284,  1040,     0,  1041,
     2771       0,     0,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,
     2772       0,     0,  1523,  1050,     0,     0,     0,  1051,  1052,     0,
     2773      33,     0,   285,     0,     0,     0,     0,  -411,  1053,     0,
     2774       0,     0,   287,     0,     0,   288,   289,   290,   291,    41,
     2775      42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
     2776       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2777       0,     0,     0,     0,     0,   294,     0,   378,     0,     0,
     2778     171,     0,     0,    45,    46,   296,   297,   298,   299,     0,
     2779       0,   282,   283,  1055,   284,  1040,     0,  1041,  -126,     0,
     2780    1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,     0,     0,
     2781       0,  1050,     0,     0,     0,  1051,  1052,     0,    33,     0,
     2782     285,     0,     0,     0,     0,     0,  1053,     0,     0,     0,
     2783     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2784     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2785       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2786       0,     0,     0,   294,     0,   378,     0,     0,   171,     0,
     2787       0,    45,    46,   296,   297,   298,   299,     0,     0,     0,
     2788       0,  1055,     0,     0,     0,     0,  -126,     2,   206,     4,
     2789       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2790      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2791      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2792       0,     0,    31,     0,   282,   283,     0,   284,  1040,     0,
     2793    1041,  1397,  1398,  1042,  1043,  1044,  1045,  1046,  1047,  1048,
     2794    1049,     0,     0,  1523,  1050,     0,     0,     0,  1051,  1052,
     2795      34,    33,    35,   285,    36,     0,     0,    38,    39,  1053,
     2796       0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
     2797      41,    42,     0,   292,   293,     0,     0,     0,     0,  1310,
     2798       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2799       0,     0,     0,     0,     0,     0,   294,     0,   378,     0,
     2800       0,   171,     0,     0,    45,    46,   296,   297,   298,   299,
     2801       0,     0,   282,   283,  1055,   284,  1040,     0,  1041,  1397,
     2802    1398,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,     0,
     2803       0,     0,  1050,     0,     0,     0,  1051,  1052,     0,    33,
     2804       0,   285,     0,     0,     0,     0,     0,  1053,     0,     0,
     2805       0,   287,     0,     0,   288,   289,   290,   291,    41,    42,
     2806       0,   292,   293,     0,     0,     0,     0,     0,     0,     0,
     2807       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2808       0,     0,     0,     0,   294,     0,   378,     0,     0,   171,
     2809       0,     0,    45,    46,   296,   297,   298,   299,     0,     0,
     2810     282,   283,  1055,   284,  1040,     0,  1041,     0,     0,  1042,
     2811    1043,  1044,  1045,  1046,  1047,  1048,  1049,     0,     0,     0,
     2812    1050,     0,     0,     0,  1051,  1052,     0,    33,     0,   285,
     2813       0,     0,     0,     0,     0,  1053,     0,     0,     0,   287,
     2814       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2815     293,     0,     0,     0,     0,     0,     0,   282,   283,     0,
     2816     284,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2817       0,     0,   294,     0,   378,     0,     0,   171,     0,     0,
     2818      45,    46,   296,   297,   298,   299,   285,     0,     0,     0,
     2819    1055,     0,   286,     0,     0,     0,   287,     0,     0,   288,
     2820     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
     2821       0,     0,     0,     0,   282,   283,     0,   284,     0,     0,
     2822       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2823       0,   378,     0,     0,   970,     0,     0,    45,    46,   296,
     2824     297,   298,   299,   285,     0,     0,     0,     0,     0,   286,
     2825       0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
     2826      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
     2827       0,   282,   283,     0,   284,     0,     0,     0,     0,     0,
     2828       0,     0,     0,     0,     0,     0,   294,     0,   378,     0,
     2829     282,   283,     0,   284,    45,    46,   296,   297,   298,   299,
     2830     285,     0,     0,     0,     0,     0,   286,     0,     0,     0,
     2831     287,     0,     0,   288,   289,   290,   291,    41,    42,   285,
     2832     292,   293,     0,     0,     0,   286,     0,     0,     0,   287,
     2833       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2834     293,     0,     0,   294,     0,   378,     0,   282,   283,     0,
     2835     284,   707,    46,   296,   297,   298,   299,     0,     0,     0,
     2836       0,     0,   294,     0,   378,     0,   282,   283,     0,   284,
     2837     343,    46,   296,   297,   298,   299,   285,     0,     0,     0,
     2838       0,     0,   286,     0,     0,     0,   287,     0,     0,   288,
     2839     289,   290,   291,    41,    42,   285,   292,   293,     0,     0,
     2840       0,   286,     0,     0,     0,   287,     0,     0,   288,   289,
     2841     290,   291,    41,    42,     0,   292,   293,     0,     0,   294,
     2842       0,     0,     0,   282,   283,     0,   284,    45,    46,   296,
     2843     297,   298,   299,     0,     0,     0,     0,     0,   510,     0,
     2844       0,     0,     0,     0,     0,     0,    45,    46,   296,   297,
     2845     298,   299,   285,     0,     0,     0,     0,     0,   286,     0,
     2846       0,     0,   287,     0,     0,   288,   289,   290,   291,    41,
     2847      42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
     2848       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2849       0,     0,     0,     0,     0,   513,     0,     0,     0,     0,
     2850       0,     0,     0,    45,    46,   296,   297,   298,   299,     2,
     2851     206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2852      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2853      23,    24,    25,     0,     0,     0,     0,     0,     0,     0,
     2854       0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
     2855       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2856       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2857       0,     0,    34,     0,    35,     0,    36,    37,     0,   174,
     2858     175,    40,     0,     0,     0,     0,     0,     0,    41,    42,
     2859     205,     2,   206,     4,     5,     6,     7,     8,     9,    10,
     2860      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2861      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2862       0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
     2863       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2864       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2865       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2866       0,   207,    39,   466,     2,   206,     4,     5,     6,     7,
    25952867       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    25962868      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    25972869      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2598        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2599       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2600       25,     0,     0,    26,    27,    28,     0,    34,     0,    35,
    2601        0,    36,    31,   684,    38,    39,     0,     0,     0,     0,
    2602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2603        0,     0,     0,     0,     0,     0,  1352,     0,     0,     0,
    2604       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2605        0,   677,     0,     0,     0,     0,     0,    45,    46,     2,
    2606      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2607       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2608       23,    24,    25,     0,   685,    26,    27,    28,  1091,     0,
    2609       45,    46,     0,     0,    31,     0,     0,     0,     0,     0,
    26102870       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26112871       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2612        0,     0,    34,     0,    35,     0,    36,     0,     0,   208,
    2613       39,     0,     2,   207,     4,     5,     6,     7,     8,     9,
     2872       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2873       0,    36,     0,     0,    38,    39,     2,   206,     4,     5,
     2874       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2875      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2876       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2877       0,    31,     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,     0,     0,     0,    34,
     2880       0,    35,     0,    36,     0,     0,   207,    39
     2881};
     2882
     2883#define yypact_value_is_default(yystate) \
     2884  ((yystate) == (-1317))
     2885
     2886#define yytable_value_is_error(yytable_value) \
     2887  YYID (0)
     2888
     2889static const yytype_int16 yycheck[] =
     2890{
     2891       0,     1,    43,    43,   185,   185,   204,     0,    43,     1,
     2892     185,   239,   105,   185,   520,   533,   116,   187,   748,     0,
     2893       1,   748,   185,   168,   169,   748,   732,   185,     0,     1,
     2894     512,   186,    32,   344,   645,   185,   219,  1020,   601,    32,
     2895     156,   602,   256,    43,   873,   873,    57,   608,   491,    49,
     2896       0,    32,   495,   755,   691,   348,    49,   619,    72,   601,
     2897      32,   489,   155,    63,   348,    32,    66,  1320,   599,    69,
     2898      63,   570,   982,    66,   599,    72,    69,    69,   281,    82,
     2899      43,  1397,    32,    72,   265,   265,   599,  1039,    69,    63,
     2900     265,   261,   262,   265,    66,   106,    43,    69,   109,   599,
     2901      43,   201,   265,   425,   426,   105,    82,   265,   599,   599,
     2902      51,   266,    39,   113,   599,   265,   116,   117,   132,    39,
     2903      39,     0,  1032,   417,   634,   635,    28,     0,   117,     0,
     2904    1019,  1020,   109,    39,   110,   132,   363,     0,  1051,  1052,
     2905     367,   651,   107,   437,   185,   185,   146,   147,    39,    82,
     2906     185,   445,  1468,    32,   147,   155,   156,   186,   132,    32,
     2907     160,    32,   114,    39,    39,  1418,   131,   160,   109,    32,
     2908     481,   493,    43,     1,   904,   603,    78,   904,    49,   607,
     2909     686,   904,   109,   228,   111,   185,   186,    44,    45,   109,
     2910     512,   111,    63,   186,   487,    66,   156,   130,    69,   709,
     2911     628,   201,   247,   417,   632,   111,    95,   218,    49,   209,
     2912    1039,    44,    45,   109,  1127,    82,   209,   717,   109,  1500,
     2913     111,   221,   185,   437,   265,   265,   409,   717,   221,    64,
     2914     265,   445,   717,   109,   109,   111,   111,   266,   185,   239,
     2915     129,  1224,   185,   694,   111,    55,  1527,   340,    82,   221,
     2916     405,   251,   813,   109,   110,   577,   109,   114,   251,   259,
     2917     823,   272,   899,   112,   264,   265,   266,   116,   279,   116,
     2918     251,   271,   113,   266,   109,   109,   147,   370,   131,   251,
     2919     811,   823,   115,   985,   251,   132,   811,    97,    11,   160,
     2920     800,  1274,    96,   792,   294,   395,     0,    82,   811,   112,
     2921     503,   251,  1401,    44,    45,   146,   306,   294,   619,    85,
     2922     109,   811,   923,   624,   185,   186,   432,   601,   122,    72,
     2923     811,   811,   322,   423,   479,   110,   811,   327,    32,   429,
     2924      83,    84,   110,  1471,   327,  1287,   347,   113,   209,  1477,
     2925     340,   111,  1048,   113,   344,   130,     3,    82,   348,   349,
     2926     221,   116,   130,   364,    72,   110,  1451,   368,   111,  1497,
     2927     130,   588,    66,   363,  1502,    83,    84,   367,   209,   932,
     2928     370,    96,   251,   114,   109,   130,   405,   256,   251,     3,
     2929     251,  1210,  1210,   193,  1273,  1274,   680,   109,   251,   111,
     2930    1485,   109,  1487,   256,   265,   395,  1495,   122,   239,   116,
     2931     931,  1500,    72,   630,   116,   405,   216,    90,    91,   525,
     2932    1393,   116,   405,    83,    84,   132,   226,   845,   931,   116,
     2933     132,  1520,     0,   423,   252,   425,   426,    49,  1527,   429,
     2934     271,   524,   432,   744,   128,   132,   998,   131,   425,   426,
     2935     931,   111,   125,   126,   119,   120,  1007,  1008,   116,   116,
     2936     479,   116,   131,   453,   905,   109,   327,    72,  1287,   111,
     2937     966,   113,   665,   130,   132,   306,   680,   132,    83,    84,
     2938     112,   471,   432,   589,   116,  1385,  1386,   348,   130,   479,
     2939     116,   481,   109,   483,   294,   655,   479,   487,  1440,     0,
     2940     483,   113,   706,   493,   130,  1447,   111,   940,   980,   950,
     2941     116,   646,   483,   344,  1393,   505,   116,   507,   109,   937,
     2942     510,   483,   512,   513,   130,  1126,    72,   221,   505,   109,
     2943     520,   481,   132,   510,   524,   525,   513,    83,    84,   109,
     2944     823,   686,   735,   483,   405,  1098,  1500,   109,   417,   823,
     2945       4,     5,     6,     7,     8,     9,  1498,   251,   116,    72,
     2946     110,    74,    75,   653,   417,   111,  1520,   116,   437,   109,
     2947      83,    84,   110,  1527,   132,   525,   445,   112,   116,   569,
     2948     570,   116,   112,   132,   437,   802,   116,   577,  1084,   566,
     2949     807,  1287,   445,  1089,   425,   426,   109,   209,   588,   589,
     2950     116,   114,   903,   593,   110,    88,    89,   116,   116,   599,
     2951     116,   601,   481,   110,   483,    69,   132,    71,   110,   620,
     2952     483,  1440,   483,   132,   132,   110,   487,   112,  1447,   619,
     2953     483,   116,   112,   112,   624,   636,   626,   116,   116,   589,
     2954     630,   116,   442,   633,   634,   635,   131,   132,   466,   650,
     2955      66,   110,  1114,   936,   132,   349,  1118,   132,    72,   271,
     2956     743,   651,   493,   653,   110,  1361,    82,   686,   468,    83,
     2957      84,   109,   110,   111,    72,  1116,    74,    75,   895,  1498,
     2958     110,   512,   294,    92,    93,    83,    84,   860,    10,    11,
     2959      12,    13,    14,   683,   306,   115,   686,   998,   110,   109,
     2960      57,   117,   808,   109,   116,   505,   110,   880,   694,   527,
     2961     510,   109,   116,   513,   532,   109,   114,    39,   109,   709,
     2962     710,   711,    64,   110,   942,   132,   589,   717,   718,   116,
     2963     731,   866,   109,   904,   904,  1176,  1177,   110,   599,   904,
     2964     601,   110,   904,   116,   160,    67,   577,   116,  1444,   106,
     2965    1446,   904,   109,   743,   744,   109,   904,   111,   748,   749,
     2966     110,   906,   132,   581,   904,    72,   116,    74,    75,   115,
     2967     116,    10,    11,    12,    13,    14,    83,    84,   472,   117,
     2968      85,    86,    87,   112,  1504,   123,   124,  1504,   619,   483,
     2969     109,  1504,   111,   624,   744,   110,  1304,   114,   155,   785,
     2970      39,   116,   792,  1499,   109,   221,   111,   114,   113,   114,
     2971     800,   680,   802,   109,   804,   111,   114,   807,   808,   902,
     2972     110,   811,   109,  1011,   111,   686,   116,   680,    67,   110,
     2973     117,   118,   110,   823,   652,   116,   654,   706,   116,   132,
     2974     109,   453,   111,   259,  1145,    85,    86,    87,   264,   132,
     2975     109,    72,   111,   706,   110,    76,   717,   718,   808,   110,
     2976     116,   218,    83,    84,   109,   116,   111,   114,   668,   109,
     2977     109,   111,   111,   113,   114,   744,   862,   677,   117,   118,
     2978      66,   681,   109,   873,   111,   110,   704,   906,   109,   109,
     2979     111,   116,    82,   505,   110,   507,   117,   118,   510,  1034,
     2980     116,   513,   873,   110,  1121,   895,     0,     1,   109,   116,
     2981     111,   873,   902,   903,   904,   272,   906,   112,   110,   905,
     2982     109,  1114,   279,  1224,   116,  1118,  1119,   621,   918,   110,
     2983     111,   117,   109,   349,    82,    29,    30,   110,    32,  1084,
     2984    1381,   931,   932,   116,  1089,   808,   936,    58,    59,    43,
     2985     811,   941,   942,   903,   118,    49,  1397,   127,   109,   941,
     2986     111,   128,   823,    57,   950,    94,   117,   118,   131,    63,
     2987     941,   909,    66,   911,   160,    69,   966,   111,   109,   941,
     2988     111,   109,   110,   111,  1480,   109,   117,   118,    82,    83,
     2989     347,   109,     4,     5,     6,     7,     8,     9,   112,   985,
     2990     109,   110,   111,   697,   873,   115,   116,   364,   998,   112,
     2991     873,   368,   106,   112,   430,   109,  1106,   711,    44,    45,
     2992     873,   110,   116,   505,   110,   507,  1467,  1468,   510,  1019,
     2993    1020,   513,   110,  1529,   903,   221,   109,   110,   111,     1,
     2994     110,  1234,   110,   904,   110,   906,  1247,  1248,  1249,  1039,
     2995    1036,   109,    72,   147,    74,    75,   472,    69,   112,    71,
     2996     111,   155,   114,    83,    84,  1084,   160,   116,  1039,  1019,
     2997    1089,   683,   131,   259,   431,   936,   114,  1039,   264,   114,
     2998       4,     5,     6,     7,     8,     9,   109,    49,   112,  1079,
     2999     112,   185,   186,   110,  1084,   551,   552,   897,   112,  1089,
     3000     553,   554,    72,   110,    74,    75,    76,   201,  1098,    33,
     3001     804,   942,   112,    83,    84,   209,  1106,    58,    59,    60,
     3002     132,   112,   130,  1206,   218,   559,   560,   221,  1321,    72,
     3003    1116,  1121,  1325,    76,   228,   130,   130,   116,   956,   109,
     3004      83,    84,    29,   105,   110,    69,   110,    71,   115,   243,
     3005     115,   113,   112,   247,   110,  1145,   114,   251,   252,   112,
     3006     978,   115,   109,   349,   982,   116,   109,   998,   110,   132,
     3007    1039,   265,   266,   110,   117,   118,  1039,   593,   272,   873,
     3008     555,   556,   557,   558,   146,   279,  1039,   116,   110,   110,
     3009    1176,  1177,   110,   155,   110,  1145,   116,  1187,  1188,   110,
     3010     110,   110,   110,   110,   110,   621,  1188,   110,   110,   110,
     3011     626,   110,  1189,  1190,  1032,  1192,  1206,  1188,   110,   110,
     3012    1210,   110,  1199,  1084,  1201,  1187,  1188,   115,  1089,  1422,
     3013      29,   588,   130,   327,  1224,   131,   110,   116,  1228,  1210,
     3014     112,   112,   110,   205,   430,   110,  1228,   209,  1210,    72,
     3015    1050,    74,    75,   347,   348,   110,   116,  1228,   116,   112,
     3016      83,    84,   114,   620,   130,   110,  1228,   110,   110,   116,
     3017     364,   112,   110,   110,   368,   110,  1145,   239,   109,   636,
     3018     116,   697,   116,  1273,  1274,   379,   472,  1377,   111,   109,
     3019     112,   109,  1282,   650,   109,   711,  1514,  1287,   109,   112,
     3020     130,   395,   873,   132,   110,   115,   918,  1001,   110,   271,
     3021     115,   405,   274,   110,   128,    72,  1287,    74,    75,    76,
     3022    1282,   115,   114,  1273,   112,  1287,    83,    84,   132,   423,
     3023    1320,   110,   294,  1504,  1504,   429,   112,   431,  1320,  1504,
     3024     112,  1210,  1504,   116,   306,  1039,   110,  1210,   110,  1320,
     3025     110,  1504,   109,   112,   112,  1224,  1504,  1210,  1320,    72,
     3026    1505,    74,    75,    76,  1504,   112,   110,   112,    47,   112,
     3027      83,    84,   466,   112,   731,  1376,   132,   471,   340,   132,
     3028    1357,   132,   344,   132,  1529,   479,   132,  1377,   804,   483,
     3029    1480,    30,   115,   487,   110,  1381,   490,   115,   492,   130,
     3030     110,   363,   110,  1393,   115,   367,   463,   593,   370,   112,
     3031      72,  1397,    74,    75,    76,   112,   112,   112,  1287,   112,
     3032     112,    83,    84,   284,  1287,   110,   112,   109,  1418,  1247,
     3033    1248,  1249,   112,   527,  1287,   621,  1418,   109,   532,   109,
     3034     626,    60,   110,    82,    83,   306,   307,  1418,   114,   110,
     3035    1440,   132,   112,   112,   110,   112,  1418,  1447,   110,  1449,
     3036      96,  1451,    96,   425,   426,   109,   109,  1079,   132,  1440,
     3037     115,  1042,   110,  1504,  1504,   110,  1447,   110,  1440,  1504,
     3038     110,  1467,  1468,   344,   116,  1447,  1505,   581,    42,   130,
     3039    1480,   453,   132,  1187,   588,  1485,  1296,  1487,   110,   110,
     3040      96,   132,    96,   132,   466,   599,   110,   601,  1498,   132,
     3041    1529,   697,   110,   110,  1504,  1505,  1210,   132,   110,   380,
     3042     115,   112,  1505,   112,  1514,   711,   620,  1498,   109,   491,
     3043     132,   493,   132,   495,   110,   115,  1498,   115,   895,  1529,
     3044     110,   110,   636,   505,   132,   507,  1529,   641,   510,   110,
     3045     512,   513,  1055,   562,   564,   561,   650,   976,   652,   653,
     3046     654,   563,   524,  1468,   565,  1210,    49,  1385,  1386,  1539,
     3047    1363,  1440,  1119,  1297,  1325,  1447,  1070,  1440,  1447,   683,
     3048      63,    66,   683,    66,  1447,  1001,    69,  1440,  1282,  1089,
     3049      75,   911,   686,  1287,  1447,   919,   690,   581,   692,   696,
     3050     866,   647,   696,   970,   243,  1423,   721,   938,  1228,   731,
     3051     704,    -1,   669,   483,   569,   577,    -1,   569,   804,   569,
     3052      -1,    -1,    -1,   717,   718,    70,   588,    -1,    73,  1498,
     3053      -1,    76,   117,    78,    -1,  1498,    -1,   731,    -1,  1210,
     3054      85,    -1,    -1,  1504,     3,  1498,    -1,    -1,  1448,    -1,
     3055    1450,    10,    11,    12,    13,    14,    -1,   619,    -1,    -1,
     3056      -1,    -1,   624,  1481,   147,    -1,    -1,    72,   630,    74,
     3057      75,    76,  1490,    -1,    -1,   160,    -1,   160,    83,    84,
     3058      39,    -1,    -1,  1514,  1484,   189,  1486,   548,   549,   550,
     3059      -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3060      -1,    -1,    -1,   186,   109,    -1,   111,    -1,    67,    -1,
     3061      -1,    -1,   117,   118,    -1,    -1,    -1,   811,    -1,    -1,
     3062      -1,   683,    -1,    72,    -1,   130,   209,    76,  1528,   823,
     3063    1530,   788,  1303,    -1,    83,    84,   221,    -1,   221,    -1,
     3064     379,   798,    -1,  1543,  1544,    72,  1440,    74,    75,    76,
     3065      -1,    -1,   669,  1447,    -1,   812,    83,    84,    -1,   721,
     3066     109,    -1,    -1,    -1,   268,    -1,    -1,   212,   117,   118,
     3067      -1,  1187,   866,    -1,   259,    -1,    -1,    -1,   872,   264,
     3068      -1,   743,   109,    -1,  1355,    -1,    -1,  1358,     3,    -1,
     3069     117,   118,    -1,    -1,   279,    10,    11,    12,    13,    14,
     3070      -1,   895,    -1,   282,  1498,   284,   285,    -1,    -1,    -1,
     3071     904,    -1,   906,   292,   293,  1001,    -1,    -1,   322,   913,
     3072      -1,    -1,    -1,    -1,    39,    -1,   330,   306,   307,   333,
     3073    1401,    -1,    -1,    -1,   279,  1406,    -1,  1449,    -1,  1451,
     3074     802,    -1,   936,    -1,   327,   807,    -1,    -1,    -1,  1206,
     3075     463,   490,    67,   492,    -1,    -1,    -1,    -1,     0,     1,
     3076      -1,    -1,   956,  1434,   349,   344,  1282,    -1,    -1,    -1,
     3077      -1,   788,    -1,  1485,    -1,  1487,   970,    -1,    -1,    -1,
     3078      -1,   798,    -1,    -1,   978,    -1,    -1,    -1,   982,    -1,
     3079      32,    -1,    -1,   397,   755,   812,    -1,   401,    -1,    -1,
     3080      -1,   380,    -1,    -1,    -1,     3,   351,    49,   353,    -1,
     3081      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3082      -1,    -1,   405,    -1,    -1,    -1,    -1,    69,    -1,    -1,
     3083      -1,    -1,    -1,   895,    -1,    -1,    -1,    -1,  1032,     0,
     3084     902,    39,    -1,    -1,    -1,   430,    -1,  1518,    -1,    -1,
     3085      26,    27,    28,  1524,    -1,    -1,   918,    -1,    -1,  1016,
     3086    1017,    -1,   447,   105,  1535,    -1,    -1,    -1,  1539,    67,
     3087      -1,    32,    -1,    -1,   478,    -1,  1070,    -1,   940,   941,
     3088     942,    -1,    -1,    -1,    -1,    -1,    -1,   472,    -1,    -1,
     3089    1084,    -1,    -1,    -1,    -1,  1089,   441,    -1,    -1,    -1,
     3090      -1,  1187,   641,    -1,    -1,   147,    -1,    -1,    69,    -1,
     3091      -1,    -1,  1106,   155,   156,    -1,    -1,  1074,  1075,  1376,
     3092      -1,    -1,    98,    -1,   100,    -1,    97,    98,    99,   100,
     3093     101,   102,   103,   104,   105,   106,   998,    -1,    -1,    -1,
     3094      -1,    -1,    -1,    -1,   186,    -1,    -1,    -1,    -1,   125,
     3095      -1,   690,    -1,   692,    -1,    -1,   669,   696,    -1,   201,
     3096     131,    -1,   204,   205,    -1,   569,   570,   209,    -1,   548,
     3097     549,   550,   551,   552,   553,   554,   555,   556,   557,   558,
     3098     559,   560,   561,   562,   563,   564,   565,    -1,   230,  1183,
     3099      -1,    -1,   234,    -1,   236,   156,  1282,    -1,    -1,  1016,
     3100    1017,    -1,    -1,   245,    -1,   181,    -1,    -1,   593,   251,
     3101      -1,    -1,  1206,   189,   256,   191,   192,  1079,    -1,    -1,
     3102     196,    -1,   198,   199,   266,    -1,    -1,    -1,    -1,    -1,
     3103      -1,    72,   274,    74,    75,    76,   621,   998,    -1,    -1,
     3104      -1,   626,    83,    84,    -1,    -1,    -1,    -1,    -1,     0,
     3105      -1,    -1,   656,  1247,  1248,  1249,   660,  1074,  1075,  1121,
     3106      10,    11,    12,    13,    14,  1222,    -1,    -1,   109,   230,
     3107     111,    -1,    -1,    -1,    -1,   788,   117,   118,  1039,    -1,
     3108      -1,    32,    -1,    -1,    -1,   798,    -1,    -1,    -1,    39,
     3109     251,    -1,   268,    -1,    -1,   256,    -1,  1254,   340,   812,
     3110      -1,    -1,   344,    -1,    -1,  1262,  1263,  1264,   350,    -1,
     3111      -1,    -1,   697,    -1,    -1,   694,    -1,    67,    69,    -1,
     3112      -1,   363,    -1,    -1,    -1,   367,   711,   866,   370,    -1,
     3113      -1,    -1,    -1,   872,    -1,    -1,    -1,    -1,    -1,    -1,
     3114      -1,    -1,    -1,    -1,  1206,    -1,   731,    -1,    -1,    -1,
     3115      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,   109,
     3116      -1,   111,    -1,    -1,    -1,    -1,  1228,   117,   118,  1326,
     3117      -1,    -1,    -1,    -1,   913,   417,   755,    -1,    -1,    -1,
     3118      -1,    39,  1376,  1377,    -1,    -1,   731,    -1,   792,   350,
     3119     432,  1385,  1386,    -1,    -1,   437,    -1,    -1,    -1,    -1,
     3120      26,    27,    28,   445,    -1,   156,   785,    -1,    -1,    67,
     3121      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,   804,
     3122      -1,   463,    -1,    -1,   466,    83,    84,    -1,    -1,  1423,
     3123      -1,   970,    72,    -1,    74,    75,    76,  1254,    -1,   481,
     3124      -1,   483,    -1,    83,    84,  1262,  1263,  1264,    -1,   491,
     3125      -1,   109,    -1,   495,    -1,    -1,   417,    -1,  1320,   117,
     3126     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3127      -1,   432,    98,    -1,   100,    -1,   437,   117,   118,    -1,
     3128      -1,    -1,   524,   525,   445,    -1,  1480,  1481,    -1,    -1,
     3129      -1,    -1,    -1,    -1,    -1,    -1,  1490,    -1,    -1,    -1,
     3130     251,    -1,   463,  1016,  1017,   256,   910,    -1,    -1,  1326,
     3131    1504,  1505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3132     481,    -1,   483,    -1,    -1,    -1,   905,    -1,   570,    -1,
     3133      72,  1070,    74,    75,    76,  1529,    -1,    -1,    -1,    -1,
     3134      -1,    83,    84,    -1,    -1,    -1,   588,   589,    -1,    -1,
     3135      10,    11,    12,    13,    14,   181,  1418,    -1,    -1,   601,
     3136      -1,  1074,  1075,    -1,   525,   191,   192,   109,    -1,   111,
     3137     196,   950,   198,   199,    -1,   117,   118,   619,    -1,    39,
     3138      -1,    -1,   624,   987,    -1,    -1,    -1,  1449,   630,  1451,
     3139      -1,   633,   634,   635,    -1,    -1,    -1,   573,   574,   350,
     3140    1004,    -1,    -1,    -1,    -1,    -1,   985,    67,    -1,   651,
     3141      -1,    -1,    -1,    -1,    -1,    -1,  1001,    -1,    -1,   998,
     3142      -1,    -1,    -1,  1485,    -1,  1487,   602,   669,   589,   605,
     3143     606,    -1,   608,    -1,   610,   611,    -1,    -1,   680,   615,
     3144     616,    -1,    -1,    72,  1183,    74,    75,    76,    -1,   109,
     3145      -1,   111,  1514,    -1,    83,    84,    -1,   117,   118,    -1,
     3146    1039,    -1,    -1,    -1,   706,    -1,   417,   709,    -1,    -1,
     3147      -1,    -1,   633,   634,   635,    -1,   718,    -1,  1082,   721,
     3148     109,   432,   111,    -1,     0,    -1,   437,    -1,   117,   118,
     3149     651,    -1,    -1,    -1,   445,    -1,    -1,    -1,    -1,    -1,
     3150      -1,   743,   744,    -1,    -1,    -1,    -1,   749,   669,  1222,
     3151      -1,    -1,   463,    -1,    -1,    -1,    32,    -1,  1122,   680,
     3152      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3153     481,    -1,   483,    -1,    -1,    -1,    -1,  1116,    -1,    -1,
     3154      -1,  1254,    -1,    -1,    -1,   706,   788,    -1,   709,  1262,
     3155    1263,  1264,    -1,    69,    -1,    -1,   798,    -1,   800,    -1,
     3156     802,    -1,    -1,   805,    -1,   807,   808,    -1,    -1,    -1,
     3157     812,    -1,    -1,    -1,   525,    -1,    -1,   753,   754,    -1,
     3158     822,    -1,    -1,   744,    -1,    -1,    -1,    -1,    -1,    -1,
     3159      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1176,  1177,    -1,
     3160      -1,    -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3161      -1,     0,    -1,  1326,    -1,    -1,    -1,    -1,    -1,    -1,
     3162      -1,    -1,    -1,    37,    38,    -1,    40,   788,    -1,    -1,
     3163      -1,   873,    -1,    -1,    -1,    -1,    -1,   798,   589,   800,
     3164     156,    -1,    -1,    32,   805,    -1,    -1,   808,    -1,    -1,
     3165      -1,   812,    66,   895,    -1,    -1,    -1,    -1,    72,    -1,
     3166     902,   903,    76,    -1,   906,    79,    80,    81,    82,    83,
     3167      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3168      69,    -1,   633,   634,   635,    -1,    -1,    -1,    -1,    -1,
     3169     932,    -1,    -1,    -1,    -1,   109,    -1,  1282,   940,   941,
     3170     651,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
     3171      -1,    -1,   873,    -1,    -1,    -1,    -1,    -1,   669,    -1,
     3172      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   680,
     3173      -1,    -1,    -1,    -1,   910,   251,    -1,    -1,    -1,   915,
     3174     256,    -1,   903,    -1,    -1,    -1,    -1,   573,   574,    -1,
     3175      -1,    -1,    -1,    -1,    -1,   706,   998,    -1,   709,    -1,
     3176      -1,    -1,    -1,    -1,    -1,    -1,    -1,   156,    -1,  1011,
     3177      -1,    -1,    -1,    -1,  1016,  1017,   602,  1019,  1020,   605,
     3178     606,    -1,   608,    -1,   610,   611,    -1,    -1,    -1,   615,
     3179     616,    -1,    -1,   744,    -1,    -1,    -1,  1039,    -1,    -1,
     3180      -1,    -1,  1381,    -1,     0,     1,    -1,    -1,    -1,    -1,
     3181      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1397,    -1,
     3182      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3183      -1,    -1,  1074,  1075,   350,    -1,    32,   788,    -1,    -1,
     3184      -1,    -1,    -1,    -1,    -1,    -1,    -1,   798,    -1,   800,
     3185      -1,    -1,    -1,    39,   805,  1016,  1017,   808,  1019,  1020,
     3186      -1,   812,   251,    -1,    -1,    -1,    -1,   256,    -1,    -1,
     3187      66,    -1,    -1,    69,    -1,    -1,    -1,    -1,  1039,  1121,
     3188      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,  1467,  1468,
     3189      76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
     3190    1076,   417,    -1,  1145,    -1,    -1,    -1,    -1,    -1,    -1,
     3191      -1,    -1,    -1,  1074,  1075,    -1,   432,    -1,    -1,    -1,
     3192      -1,   437,   873,   109,    -1,    -1,    -1,   753,   754,   445,
     3193      -1,   117,   118,    -1,    10,    11,    12,    13,    14,    -1,
     3194      -1,    -1,    -1,    -1,    -1,    -1,  1188,   463,    -1,    -1,
     3195      -1,    -1,   903,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3196     156,   350,    -1,    39,  1206,   481,    -1,   483,  1210,    -1,
     3197      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3198    1222,    -1,  1224,    -1,  1145,    -1,  1228,    -1,    -1,    -1,
     3199      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3200      76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,   525,
     3201      -1,    -1,  1254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3202    1262,  1263,  1264,    -1,    -1,   221,    -1,  1188,   417,  1205,
     3203      -1,  1273,  1274,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3204      -1,   117,   118,   432,    -1,  1287,    -1,    -1,   437,  1210,
     3205      -1,    -1,    -1,    -1,    -1,   251,   445,    -1,    -1,    -1,
     3206      -1,  1222,    -1,  1224,    -1,  1016,  1017,    -1,  1019,  1020,
     3207      -1,    -1,    -1,   589,   463,    -1,    -1,    -1,  1320,    -1,
     3208      -1,    -1,    -1,    -1,  1326,    -1,    -1,    -1,  1039,   915,
     3209      -1,    -1,   481,  1254,   483,    -1,    -1,    -1,    -1,    -1,
     3210      -1,  1262,  1263,  1264,    -1,    -1,    -1,    -1,    -1,    -1,
     3211      -1,    -1,  1273,  1274,    -1,    -1,    -1,   633,   634,   635,
     3212      -1,    -1,    -1,  1074,  1075,    -1,  1287,    -1,    -1,    -1,
     3213      -1,    -1,    -1,    -1,    -1,   651,   525,    -1,    -1,    -1,
     3214      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3215      -1,  1393,    -1,   669,    -1,    -1,    -1,    -1,    -1,    -1,
     3216      -1,    -1,    -1,    -1,   680,  1326,    -1,    10,    11,    12,
     3217      13,    14,    -1,    -1,    -1,    -1,  1418,    -1,    -1,    -1,
     3218      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3219     706,    -1,    -1,   709,  1145,    -1,    39,    -1,  1440,    -1,
     3220     589,    -1,    -1,    -1,    -1,  1447,    -1,    53,    -1,    55,
     3221      -1,    -1,    58,    59,    60,    -1,    62,    -1,    -1,    -1,
     3222      -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,   744,    72,
     3223      76,    -1,  1393,    76,    -1,    -1,   432,  1188,    -1,    -1,
     3224      83,    84,    88,    89,   633,   634,   635,    -1,    -1,    -1,
     3225    1076,    -1,    -1,    -1,    -1,    -1,  1498,    -1,    -1,  1210,
     3226      -1,    -1,   651,  1505,    -1,    -1,   109,    -1,    -1,    -1,
     3227      -1,  1222,   788,  1224,   117,   118,    -1,    -1,    -1,  1440,
     3228     669,    -1,   798,    -1,   800,    -1,  1447,   483,    -1,   805,
     3229      -1,   680,   808,    -1,    -1,    -1,   812,    10,    11,    12,
     3230      13,    14,    -1,  1254,    -1,    -1,    -1,    -1,    -1,    -1,
     3231      -1,  1262,  1263,  1264,    -1,    -1,    -1,   706,    -1,    -1,
     3232     709,    -1,  1273,  1274,    -1,    -1,    39,    -1,    -1,   525,
     3233      -1,    -1,    -1,    -1,    -1,    -1,  1287,  1498,    -1,    -1,
     3234      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3235      -1,    -1,    -1,    -1,    67,   744,    -1,   873,    -1,    72,
     3236      -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
     3237      83,    84,    -1,    -1,    -1,  1326,    -1,    -1,    -1,  1205,
     3238      -1,    -1,    -1,    -1,    -1,    -1,    -1,   903,    -1,    -1,
     3239      -1,    -1,    -1,   589,    -1,    -1,   109,    -1,   111,   788,
     3240      -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,   798,
     3241      -1,   800,    -1,    -1,    -1,    -1,   805,    -1,    -1,   808,
     3242      -1,    -1,    -1,   812,    -1,    -1,    -1,    -1,    -1,    -1,
     3243      -1,    -1,    -1,    -1,    -1,    -1,    -1,   633,   634,   635,
     3244      -1,    -1,  1393,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3245      -1,    -1,    -1,    -1,    -1,   651,    -1,    -1,     3,     4,
     3246       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3247      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3248      25,    26,    27,    -1,   873,    30,    31,    32,    33,  1440,
     3249      -1,    36,    -1,    -1,    39,    40,  1447,   343,    -1,   345,
     3250    1016,  1017,    -1,  1019,  1020,    -1,    -1,    -1,    -1,    -1,
     3251     356,   357,    -1,   709,   903,    -1,    -1,    -1,    -1,    64,
     3252      -1,    -1,    67,  1039,    69,    -1,    71,    72,    -1,    74,
     3253      75,    76,    -1,    10,    11,    12,    13,    14,    83,    84,
     3254      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1498,    -1,    -1,
     3255      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1074,  1075,
     3256      -1,    -1,    39,    -1,   109,    -1,   111,    -1,    66,    -1,
     3257     115,    -1,   117,   118,    -1,    -1,    -1,    75,    -1,    77,
     3258      -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
     3259      67,    -1,    49,    -1,    -1,    72,    -1,    74,    75,    76,
     3260      -1,    -1,    -1,    -1,   800,    -1,    83,    84,    -1,    66,
     3261      -1,    -1,   808,    -1,    10,    11,    12,    13,    14,   117,
     3262      -1,   119,   120,   121,    -1,    -1,    -1,  1016,  1017,  1145,
     3263    1019,  1020,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3264     117,   118,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3265    1039,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,    -1,
     3266     117,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3267      -1,    67,  1188,    -1,    -1,    -1,    72,   873,    74,    75,
     3268      76,    -1,    -1,    -1,    -1,  1074,  1075,    83,    84,   146,
     3269      -1,    -1,    -1,    -1,  1210,    -1,    -1,    -1,    -1,   156,
     3270      -1,    -1,    -1,   160,    -1,    -1,  1222,    -1,  1224,    -1,
     3271      -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
     3272      -1,   117,   118,   221,    -1,   223,   224,   225,    -1,    -1,
     3273      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1254,    -1,
     3274      -1,    -1,    -1,    -1,    -1,   941,  1262,  1263,  1264,    -1,
     3275      -1,    -1,   209,    -1,    -1,    -1,  1145,  1273,  1274,    -1,
     3276      -1,   259,    -1,    -1,   221,    -1,   264,    -1,    -1,    -1,
     3277      -1,  1287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3278      -1,   279,   239,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3279      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1188,
     3280      -1,    -1,    -1,    -1,    -1,    -1,    -1,   264,    -1,    -1,
     3281    1326,    -1,    -1,    -1,   271,    -1,    -1,    -1,    -1,    -1,
     3282      -1,  1210,    -1,  1019,  1020,    -1,    -1,    -1,    -1,   327,
     3283      -1,    -1,    -1,  1222,    -1,  1224,    -1,   294,    -1,    -1,
     3284      -1,    -1,    -1,  1039,    -1,    -1,    -1,    -1,    -1,   306,
     3285      -1,   349,   698,    -1,   700,    -1,   354,   355,    -1,    -1,
     3286      -1,   707,   708,    -1,   362,  1254,   712,    -1,    -1,    -1,
     3287      -1,    -1,    -1,  1262,  1263,  1264,    -1,  1393,   724,    -1,
     3288      -1,    -1,    -1,   729,  1273,  1274,    -1,   344,    -1,    -1,
     3289      -1,    -1,   349,    -1,    -1,    -1,    -1,    -1,  1287,    -1,
     3290      -1,    -1,    -1,    -1,    -1,    -1,    -1,   405,    -1,    -1,
     3291      -1,   757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3292      -1,    -1,    -1,    -1,  1440,   423,    -1,    -1,    -1,    -1,
     3293     428,  1447,   430,    -1,    -1,    -1,    -1,  1326,    -1,    -1,
     3294      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,
     3295      -1,    -1,   450,   451,    -1,    -1,    -1,    -1,    -1,    -1,
     3296     458,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   425,   426,
     3297      -1,    -1,    -1,    -1,   472,   432,    -1,    -1,    -1,    -1,
     3298      -1,   479,  1498,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3299      -1,  1187,  1188,    -1,    -1,    -1,   453,    -1,    -1,    -1,
     3300      -1,    -1,    -1,    -1,  1393,    -1,    -1,    -1,    -1,    -1,
     3301     856,   857,   858,   859,  1210,   861,    -1,    -1,    -1,    -1,
     3302      -1,    -1,    -1,    -1,   481,    -1,    -1,    -1,    -1,    -1,
     3303     876,    -1,  1228,    -1,    -1,    -1,   493,    -1,    -1,    -1,
     3304      -1,    -1,    -1,    -1,   890,    -1,    -1,    -1,   505,    -1,
     3305     507,  1440,    -1,   510,    -1,   512,   513,    -1,  1447,    -1,
     3306      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   525,    -1,
     3307      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1273,  1274,    -1,
     3308      -1,    -1,    -1,    -1,   930,    -1,  1282,    -1,    -1,    -1,
     3309      -1,  1287,    -1,    -1,    -1,   593,    -1,    -1,    -1,    -1,
     3310      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1498,
     3311      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3312     577,    -1,    -1,   621,  1320,    -1,    -1,    -1,   626,   975,
     3313      -1,    -1,   589,    -1,    -1,   981,   593,    -1,    -1,    -1,
     3314     986,    -1,    -1,    -1,    -1,   991,    -1,   993,    -1,    -1,
     3315      -1,   997,    -1,   999,  1000,    -1,    -1,  1003,    -1,    -1,
     3316      -1,    -1,   619,    -1,    -1,    -1,  1012,   624,    -1,    -1,
     3317      -1,    -1,    -1,    -1,    -1,    -1,   633,   634,   635,    -1,
     3318      -1,    -1,    -1,    -1,  1030,  1031,    -1,    -1,    -1,    -1,
     3319      -1,    -1,    -1,    -1,   651,    -1,    -1,  1393,    -1,   697,
     3320      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3321      -1,  1057,    -1,   711,  1060,    -1,    -1,    -1,    -1,    -1,
     3322      -1,    -1,  1418,    -1,    -1,    -1,   683,    37,    38,    -1,
     3323      40,    -1,    -1,   731,    -1,    -1,    -1,    -1,    -1,    -1,
     3324      -1,    -1,    -1,    -1,  1440,    -1,    -1,    -1,    -1,    -1,
     3325      -1,  1447,   709,    -1,   711,    -1,    66,  1103,    -1,    -1,
     3326      -1,    -1,    72,  1109,  1110,    -1,    76,    -1,    -1,    79,
     3327      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3328      -1,    -1,    -1,  1129,    -1,    -1,  1132,   744,    -1,    -1,
     3329    1136,    -1,    -1,    -1,   792,    -1,    -1,    -1,    44,   109,
     3330      -1,   111,  1498,  1149,   114,    -1,   804,   117,   118,   119,
     3331     120,   121,   122,    -1,    -1,    -1,  1162,    -1,  1164,  1165,
     3332    1166,  1167,    -1,    -1,    -1,   823,    -1,    -1,    -1,    -1,
     3333      -1,    -1,    -1,    -1,  1180,    -1,  1182,    -1,    -1,    -1,
     3334    1186,    -1,    -1,   800,    -1,    91,    -1,   804,    -1,    -1,
     3335      -1,   808,    -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,
     3336      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1215,
     3337    1216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3338      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3339      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3340      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3341      32,   157,    -1,    -1,    -1,    -1,    -1,    39,    -1,  1265,
     3342    1266,    -1,    -1,    -1,    -1,   171,    -1,    -1,    -1,  1275,
     3343      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   936,    -1,
     3344      -1,    -1,    -1,    -1,    -1,    67,   903,    69,   194,    71,
     3345      -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
     3346      -1,   918,   208,    -1,    -1,    -1,    -1,    -1,   966,    -1,
     3347      -1,   217,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
     3348      -1,   227,    -1,    -1,    -1,   942,    -1,    -1,    -1,   111,
     3349    1336,    -1,  1338,  1339,  1340,   117,   118,    -1,    -1,    -1,
     3350      -1,    -1,    66,  1001,  1350,    -1,   252,    -1,    72,    -1,
     3351      -1,   257,    76,  1359,  1012,    79,    80,    81,    82,    83,
     3352      84,    -1,    86,    87,   270,    -1,    -1,    -1,    -1,    -1,
     3353     276,    -1,   278,    -1,    -1,    -1,    -1,    -1,  1384,    -1,
     3354      -1,   998,    -1,    -1,    -1,   109,    -1,   111,    -1,   295,
     3355      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
     3356      -1,    -1,  1019,  1020,    -1,    -1,   130,    -1,    -1,    -1,
     3357      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
     3358      -1,  1427,  1428,    -1,    -1,    -1,  1084,    -1,    -1,    -1,
     3359      -1,   337,    -1,    -1,  1440,    -1,   342,    -1,    -1,    -1,
     3360    1098,  1447,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
     3361      -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3362      83,    84,  1079,    86,    87,   371,    -1,    -1,    -1,   375,
     3363     376,    -1,   378,  1479,    -1,    -1,    -1,  1483,    -1,   385,
     3364     386,    -1,   388,   389,    -1,   391,   109,   393,   111,    -1,
     3365     113,   114,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3366      -1,    -1,    -1,    -1,   410,  1511,    -1,  1513,    -1,    -1,
     3367      -1,    -1,   418,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3368      -1,   155,   156,    -1,    -1,    -1,    -1,    -1,  1145,  1187,
     3369      -1,    -1,    -1,    -1,    -1,  1541,  1542,   443,    -1,    -1,
     3370      -1,    -1,    -1,  1549,  1550,    -1,    -1,    -1,    -1,    -1,
     3371      -1,    -1,    -1,    -1,    -1,   189,    -1,    -1,    -1,    -1,
     3372      -1,    -1,   196,   469,    -1,    -1,    -1,    -1,    -1,   475,
     3373    1187,    -1,    -1,    -1,   480,     3,     4,     5,     6,     7,
     3374       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3375      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3376      -1,    -1,    30,    31,    32,    -1,    -1,  1224,    -1,    -1,
     3377     516,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3378      -1,    -1,    -1,    -1,  1282,   531,    -1,    -1,    -1,    -1,
     3379      -1,    -1,    -1,    -1,   268,    -1,    -1,    -1,    -1,    67,
     3380      -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
     3381      -1,    -1,    -1,    -1,    -1,    -1,  1273,  1274,    -1,    -1,
     3382      -1,    -1,    -1,   569,    -1,  1282,    -1,    -1,    -1,    -1,
     3383      -1,    -1,   578,    -1,    -1,    -1,    -1,    -1,    -1,   585,
     3384     146,    -1,    -1,    -1,    -1,   591,   114,    -1,   322,    -1,
     3385     156,    -1,    -1,    -1,   600,    -1,   330,   331,    -1,   333,
     3386     334,    -1,   168,   169,    -1,    -1,    -1,    -1,    -1,    -1,
     3387     344,    -1,     7,    -1,   348,    10,    11,    12,    13,    14,
     3388      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3389      -1,    -1,    -1,   367,   640,    -1,   370,    -1,    -1,    -1,
     3390      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3392      -1,    -1,    -1,   397,    -1,    -1,    -1,   401,    -1,    -1,
     3393     676,    66,    67,   239,    -1,    -1,  1393,    72,   684,    -1,
     3394      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3395      -1,    86,    87,    -1,    -1,    -1,    -1,   263,   432,    -1,
     3396      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   715,
     3397      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   725,
     3398     726,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3399      -1,    -1,  1449,    -1,  1451,    -1,    -1,    -1,    -1,    -1,
     3400      -1,    -1,    -1,    -1,   478,    -1,    -1,   481,    -1,    -1,
     3401      -1,    -1,   758,    -1,    -1,    -1,    -1,   763,    -1,    -1,
     3402      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1485,    -1,
     3403    1487,  1529,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3404      -1,    -1,    -1,    -1,    -1,    -1,   520,    -1,    -1,    -1,
     3405     524,   525,    -1,    -1,    -1,    -1,    -1,  1514,    -1,    -1,
     3406      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3407      -1,    -1,    -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,
     3408      -1,   827,    -1,    -1,    -1,    -1,    -1,    -1,   834,    -1,
     3409      -1,    -1,    -1,    -1,    -1,   569,   570,    -1,    -1,    -1,
     3410      -1,   847,    -1,   849,    -1,    -1,    -1,    -1,    -1,    -1,
     3411      -1,    -1,    -1,    -1,   588,   589,    -1,   863,    -1,    -1,
     3412      -1,    -1,    -1,   869,    -1,   599,    -1,   601,   602,    -1,
     3413      -1,    -1,    -1,    -1,   608,   881,    -1,    -1,   884,    -1,
     3414      -1,    -1,    -1,    -1,   618,   619,    -1,    -1,    -1,    -1,
     3415     624,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   633,
     3416     634,   635,    -1,    -1,    -1,    -1,    -1,   473,    -1,    -1,
     3417      -1,    -1,    -1,    -1,    -1,    -1,    -1,   651,    -1,    -1,
     3418      -1,    -1,   656,   657,    -1,    -1,   660,   661,    -1,    -1,
     3419      -1,    -1,    -1,   667,    -1,    -1,    -1,    -1,    -1,    -1,
     3420      -1,    -1,    -1,    -1,    -1,    -1,   512,    -1,    -1,    -1,
     3421      -1,    -1,   686,    -1,    -1,   961,    -1,    -1,    -1,   525,
     3422      -1,    -1,    -1,    -1,   530,    -1,    -1,   533,    -1,    -1,
     3423      -1,    -1,    -1,    -1,    -1,   709,   710,    -1,    -1,   545,
     3424      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3425     996,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3426      -1,   567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   743,
     3427     744,   577,    -1,    -1,   748,   749,    -1,    -1,   584,    -1,
     3428      -1,    -1,    -1,   589,    -1,    -1,    -1,    -1,    -1,    -1,
    26143429      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2615       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2616       28,     0,     0,     0,     0,     0,   271,    31,     0,     0,
    2617        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
    2618        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2619        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2620        0,     0,    38,    39,     0,     2,   207,     4,     5,     6,
     3430      20,    21,    22,    23,    24,    25,    26,    27,  1054,    -1,
     3431      30,    31,    32,    -1,  1060,    -1,    -1,    -1,   792,    39,
     3432      -1,    -1,    -1,    -1,    -1,    -1,   800,    -1,    -1,    -1,
     3433      -1,    -1,   638,   807,   808,    -1,    -1,   811,    -1,   813,
     3434     646,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1094,   823,
     3435      -1,    -1,    72,  1099,    74,    75,    76,    -1,    -1,    -1,
     3436      -1,  1107,    -1,    83,    84,    -1,    10,    11,    12,    13,
     3437      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3438      24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,   109,
     3439      -1,   111,    -1,    -1,  1140,    39,    -1,   117,   118,    -1,
     3440      -1,    -1,    -1,    -1,    -1,    -1,  1152,    -1,    -1,  1155,
     3441      -1,  1157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3442      -1,   895,    -1,    67,    -1,  1171,  1172,    -1,   902,   903,
     3443     904,    -1,   906,    -1,    78,    -1,   910,    -1,   744,    -1,
     3444     746,    -1,    -1,    -1,    -1,    -1,    -1,  1193,    -1,    -1,
     3445     756,    -1,    -1,    -1,    -1,    -1,   762,   931,   932,    -1,
     3446      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3447      20,    21,    22,    23,    24,    25,    26,    27,     7,    -1,
     3448      -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    39,
     3449      -1,    -1,   966,    -1,  1240,    -1,    -1,    -1,   804,   805,
     3450      -1,    -1,   808,    -1,    -1,    -1,    -1,    -1,    37,    38,
     3451      39,    40,    -1,   987,   988,    -1,   822,    67,    -1,    -1,
     3452      -1,    -1,    -1,    -1,   998,    -1,    -1,    -1,    -1,    -1,
     3453    1004,  1005,    -1,  1007,  1008,  1009,    -1,    66,    67,    -1,
     3454      -1,    -1,    -1,    72,    -1,  1019,  1020,    76,    -1,    -1,
     3455      79,    80,    81,    82,    83,    84,   862,    86,    87,    -1,
     3456     866,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1315,
     3457      -1,  1317,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3458     109,    -1,   111,  1329,    -1,  1331,    -1,    -1,   117,   118,
     3459     119,   120,   121,   122,    -1,    -1,    -1,   903,    -1,    -1,
     3460      -1,    -1,  1348,    -1,    -1,    -1,    -1,    -1,  1082,    -1,
     3461    1084,    -1,    -1,    -1,    -1,  1089,    -1,    -1,  1364,  1365,
     3462      -1,    -1,    -1,    -1,  1098,    -1,    -1,    -1,    -1,  1375,
     3463      -1,    -1,  1378,    -1,    -1,    -1,   942,    -1,    -1,    -1,
     3464      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1121,  1122,  1123,
     3465      -1,    -1,    -1,  1399,    -1,    37,    38,    -1,    40,    -1,
     3466      -1,    -1,  1408,    -1,   970,  1411,    -1,  1413,  1414,  1415,
     3467     976,  1145,    -1,    -1,   980,    -1,    -1,    -1,    -1,    -1,
     3468      -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
     3469      72,    -1,    -1,    -1,    76,  1001,    -1,    79,    80,    81,
     3470      82,    83,    84,    -1,    86,    87,  1012,  1453,    -1,  1455,
     3471      -1,  1457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3472      -1,    -1,    -1,    -1,    -1,    -1,  1472,   109,  1034,   111,
     3473    1036,    -1,  1206,    -1,   116,   117,   118,   119,   120,   121,
     3474     122,    -1,    -1,    -1,    -1,  1051,  1052,    -1,    -1,    -1,
     3475    1224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3476      -1,    -1,    -1,    -1,    -1,    -1,  1072,    -1,    -1,    -1,
     3477      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3478       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3479      19,    20,    21,    22,    23,    24,    25,    26,    27,  1273,
     3480    1274,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
     3481      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3482      -1,  1127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3483      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1145,
     3484      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
     3485      -1,    -1,    -1,    -1,  1160,  1161,    -1,     3,     4,     5,
     3486       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3487      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3488      26,    27,   111,    -1,    30,    31,    32,    33,   117,   118,
     3489      36,    37,    38,    39,    40,    41,    -1,    43,    -1,    -1,
     3490      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
     3491      -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,  1393,
     3492      66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
     3493      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3494      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3495      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3496      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
     3497      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
     3498      -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,
     3499      -1,    -1,    -1,    -1,    -1,  1301,    -1,    -1,  1304,    -1,
     3500      -1,    -1,    -1,    -1,    -1,    -1,  1480,    -1,    -1,    -1,
     3501      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3502      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3503    1504,  1505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3505      -1,    -1,    -1,    -1,    -1,  1529,     3,     4,     5,     6,
    26213506       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2622       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2623        0,    26,    27,    28,     0,     0,     0,     0,     0,   677,
    2624       31,     0,     0,     0,     0,    45,    46,     0,     0,     0,
    2625        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2626        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2627       35,     0,    36,     0,     0,    38,    39,     0,     2,   207,
     3507      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3508      27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
     3509      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3510      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3511      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
     3512      67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
     3513      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3514      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3515      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3516      76,    -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,
     3517     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
     3518      -1,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,
     3519      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3520      -1,   117,   118,    -1,    -1,    -1,    -1,    -1,  1514,     3,
    26283521       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    26293522      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2630       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2631        0,     0,   592,    31,     0,     0,     0,     0,    45,    46,
    2632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2634        0,    34,     0,    35,     0,    36,     0,     0,   208,    39,
    2635        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2636       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2637       26,    27,    28,     0,     0,     0,     0,   283,   284,    31,
    2638      285,     0,     0,     0,     0,   209,     0,     0,     0,     0,
    2639        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
    2640        0,     0,     0,     0,     0,     0,   286,    34,     0,     0,
    2641        0,     0,   287,     0,    38,    39,   288,     0,     0,   289,
    2642      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
    2643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2644        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
    2645        0,   517,     0,     0,   172,     0,     0,    45,    46,   297,
    2646      298,   299,   300,     8,     9,    10,    11,    12,    13,    14,
    2647       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2648       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2649      283,   284,    31,   285,     8,     9,    10,    11,    12,    13,
    2650       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2651       24,    25,     0,     0,    26,    27,    28,     0,     0,   286,
    2652       34,     0,     0,    31,     0,   287,     0,    38,    39,   288,
    2653        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2654      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2655        0,    34,     0,     0,     0,     0,    37,     0,   336,   337,
    2656       40,     0,   295,   -35,   296,     0,     0,    41,    42,     0,
    2657       45,    46,   297,   298,   299,   300,     8,     9,    10,    11,
    2658       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2659       22,    23,    24,    25,     0,   338,    26,    27,    28,     0,
    2660        0,    45,    46,   283,   284,    31,   285,     8,     9,    10,
    2661       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2662       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2663        0,     0,   286,    34,     0,     0,    31,     0,   287,     0,
    2664       38,    39,   288,     0,     0,   289,   290,   291,   292,    41,
    2665       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2666        0,     0,     0,     0,    34,     0,     0,     0,     0,   111,
    2667        0,    38,    39,     0,     0,   295,     0,   296,     0,     0,
    2668       41,    42,     0,    45,    46,   297,   298,   299,   300,     8,
    2669        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2670       19,    20,    21,    22,    23,    24,    25,     0,    44,    26,
    2671       27,    28,     0,     0,    45,    46,   283,   284,    31,   285,
    2672        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2673       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2674       26,    27,    28,     0,     0,   286,    34,     0,     0,    31,
    2675      684,   287,     0,    38,    39,   288,     0,     0,   289,   290,
    2676      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2677        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2678        0,     0,     0,     0,    38,    39,     0,     0,   295,     0,
    2679      158,     0,     0,     0,     0,     0,    45,    46,   297,   298,
    2680      299,   300,     8,     9,    10,    11,    12,    13,    14,    15,
    2681       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2682        0,   685,    26,    27,    28,  1220,     0,    45,    46,   283,
    2683      284,    31,   285,     8,     9,    10,    11,    12,    13,    14,
    2684       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2685       25,     0,     0,    26,    27,    28,     0,     0,   286,    34,
    2686        0,     0,    31,     0,   287,     0,    38,    39,   288,     0,
    2687        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2689       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2690        0,   295,     0,   592,     0,     0,     0,     0,     0,    45,
    2691       46,   297,   298,   299,   300,     8,     9,    10,    11,    12,
    2692       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2693       23,    24,    25,     0,   258,    26,    27,    28,     0,     0,
    2694       45,    46,   283,   284,    31,   285,     0,     0,     0,     0,
    2695        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2696       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2697       25,   286,    34,    26,    27,    28,     0,   287,     0,    38,
    2698       39,   288,    31,     0,   289,   290,   291,   292,    41,    42,
    2699        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
    2700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2701       34,     0,     0,     0,   295,     0,   379,    38,    39,     0,
    2702        0,     0,    45,    46,   297,   298,   299,   300,   467,     2,
    2703      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2704       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2705       23,    24,    25,     0,   158,    26,    27,    28,     0,     0,
    2706       45,    46,     0,     0,    31,     0,     0,     0,     8,     9,
    2707       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2708       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2709       28,     0,    34,     0,    35,     0,    36,    31,     0,    38,
    2710       39,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2711       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2712       22,    23,    24,    25,     0,    34,    26,    27,    28,     0,
    2713       37,     0,    38,    39,    40,    31,     0,     0,     0,    -3,
    2714        0,    41,    42,     0,     8,     9,    10,    11,    12,    13,
    2715       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2716       24,    25,     0,    34,    26,    27,    28,    43,    37,   158,
    2717       38,    39,    40,    31,     0,    45,    46,     0,     0,    41,
    2718       42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2719       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2720        0,    34,    26,    27,    28,    43,    37,    44,   208,    39,
    2721       40,    31,     0,    45,    46,     0,     0,    41,    42,     0,
    2722        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2723       18,    19,    20,    21,    22,    23,    24,    25,  -291,    34,
    2724       26,    27,    28,    43,    37,   271,   336,   337,    40,    31,
    2725        0,    45,    46,     0,     0,    41,    42,     0,     8,     9,
    2726       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2727       20,    21,    22,    23,    24,    25,  -291,    34,    26,    27,
    2728       28,   634,     0,   338,    38,    39,     0,    31,  -291,    45,
    2729       46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2730       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2731        0,    26,    27,    28,     0,    34,     0,     0,     0,   634,
    2732       31,   338,    38,    39,     0,     0,  -291,    45,    46,     8,
    2733        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2734       19,    20,    21,    22,    23,    24,    25,     0,    34,    26,
    2735       27,    28,     0,     0,     0,   208,    39,     0,    31,   338,
    2736        0,     0,     0,     0,     0,    45,    46,     8,     9,    10,
    2737       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2738       21,    22,    23,    24,    25,     0,    34,    26,    27,    28,
    2739        0,     0,   271,    38,    39,     0,    31,     0,    45,    46,
    2740        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2741       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2742       26,    27,    28,     0,    34,     0,     0,     0,     0,    31,
    2743      338,    38,    39,     0,     0,     0,    45,    46,     8,     9,
    2744       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2745       20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
    2746       28,     0,     0,     0,    38,    39,     0,    31,   685,     0,
    2747        0,     0,     0,     0,    45,    46,     0,     0,     0,     0,
    2748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2749        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2750        0,   592,    38,    39,     0,     0,     0,    45,    46,     2,
    2751      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2752       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2753       23,    24,    25,     0,     0,    26,    27,    28,     0,    44,
    2754        0,     0,     0,     0,    31,    45,    46,     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,    34,     0,    35,     0,    36,     0,     0,    38,
    2758       39,   283,   284,     0,   285,  1041,     0,  1042,     0,     0,
    2759     1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,     0,
    2760     1524,  1051,     0,     0,     0,  1052,  1053,     0,    33,     0,
    2761      286,     0,     0,     0,     0,  -412,  1054,     0,     0,     0,
    2762      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2763      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
    2764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2765        0,     0,     0,   295,     0,   379,     0,     0,   172,     0,
    2766        0,    45,    46,   297,   298,   299,   300,     0,     0,   283,
    2767      284,  1056,   285,  1041,     0,  1042,  -126,     0,  1043,  1044,
    2768     1045,  1046,  1047,  1048,  1049,  1050,     0,     0,     0,  1051,
    2769        0,     0,     0,  1052,  1053,     0,    33,     0,   286,     0,
    2770        0,     0,     0,     0,  1054,     0,     0,     0,   288,     0,
    2771        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2774        0,   295,     0,   379,     0,     0,   172,     0,     0,    45,
    2775       46,   297,   298,   299,   300,     0,     0,     0,     0,  1056,
    2776        0,     0,     0,     0,  -126,     2,   207,     4,     5,     6,
    2777        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2778       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2779        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2780       31,     0,   283,   284,     0,   285,  1041,     0,  1042,  1398,
    2781     1399,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,
    2782        0,  1524,  1051,     0,     0,     0,  1052,  1053,    34,    33,
    2783       35,   286,    36,     0,     0,    38,    39,  1054,     0,     0,
    2784        0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2785        0,   293,   294,     0,     0,     0,     0,  1311,     0,     0,
    2786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2787        0,     0,     0,     0,   295,     0,   379,     0,     0,   172,
    2788        0,     0,    45,    46,   297,   298,   299,   300,     0,     0,
    2789      283,   284,  1056,   285,  1041,     0,  1042,  1398,  1399,  1043,
    2790     1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,     0,     0,
    2791     1051,     0,     0,     0,  1052,  1053,     0,    33,     0,   286,
    2792        0,     0,     0,     0,     0,  1054,     0,     0,     0,   288,
    2793        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2794      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2796        0,     0,   295,     0,   379,     0,     0,   172,     0,     0,
    2797       45,    46,   297,   298,   299,   300,     0,     0,   283,   284,
    2798     1056,   285,  1041,     0,  1042,     0,     0,  1043,  1044,  1045,
    2799     1046,  1047,  1048,  1049,  1050,     0,     0,     0,  1051,     0,
    2800        0,     0,  1052,  1053,     0,    33,     0,   286,     0,     0,
    2801        0,     0,     0,  1054,     0,     0,     0,   288,     0,     0,
    2802      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2803        0,     0,     0,     0,     0,   283,   284,     0,   285,     0,
    2804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2805      295,     0,   379,     0,     0,   172,     0,     0,    45,    46,
    2806      297,   298,   299,   300,   286,     0,     0,     0,  1056,     0,
    2807      640,     0,   140,   141,   288,     0,     0,   289,   290,   291,
    2808      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2809        0,     0,   283,   284,     0,   285,     0,     0,     0,     0,
    2810        0,     0,     0,     0,     0,     0,     0,   295,     0,   641,
    2811        0,   642,   380,     0,     0,    45,    46,   297,   298,   299,
    2812      300,   286,     0,     0,     0,     0,     0,   287,     0,     0,
    2813        0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2814        0,   293,   294,     0,     0,     0,     0,     0,     0,   283,
    2815      284,     0,   285,     0,     0,     0,     0,     0,     0,     0,
    2816        0,     0,     0,     0,   295,     0,   379,     0,   283,   284,
    2817        0,   285,   708,    46,   297,   298,   299,   300,   286,     0,
    2818        0,     0,     0,     0,   287,     0,     0,     0,   288,     0,
    2819        0,   289,   290,   291,   292,    41,    42,   286,   293,   294,
    2820        0,     0,     0,   287,     0,     0,     0,   288,     0,     0,
    2821      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2822        0,   295,     0,   379,     0,   283,   284,     0,   285,   344,
    2823       46,   297,   298,   299,   300,     0,     0,     0,     0,     0,
    2824      506,     0,     0,     0,   283,   284,     0,   285,    45,    46,
    2825      297,   298,   299,   300,   286,     0,     0,     0,     0,     0,
    2826      287,     0,     0,     0,   288,     0,     0,   289,   290,   291,
    2827      292,    41,    42,   286,   293,   294,     0,     0,     0,   287,
    2828        0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
    2829       41,    42,     0,   293,   294,     0,     0,   295,     0,     0,
    2830        0,   283,   284,     0,   285,    45,    46,   297,   298,   299,
    2831      300,     0,     0,     0,     0,     0,   511,     0,     0,     0,
    2832        0,     0,     0,     0,    45,    46,   297,   298,   299,   300,
    2833      286,     0,     0,     0,     0,     0,   287,     0,     0,     0,
    2834      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2835      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
    2836        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2837        0,     0,     0,   514,     0,     0,     0,     0,     0,     0,
    2838        0,    45,    46,   297,   298,   299,   300,     2,   207,     4,
    2839        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2840       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2841       25,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2842        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    2843        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2845       34,     0,    35,     0,    36,    37,     0,   175,   176,    40,
    2846        0,     0,     0,     0,     0,     0,    41,    42,   206,     2,
    2847      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2848       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2849       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2850        0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
    2851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2853        0,     0,    34,     0,    35,     0,    36,     0,     0,   208,
    2854       39,   467,     2,   207,     4,     5,     6,     7,     8,     9,
    2855       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2856       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2857       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2860        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2861        0,     0,    38,    39,     2,   207,     4,     5,     6,     7,
    2862        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2863       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2864       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2865        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2866       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2867        0,    26,    27,    28,   485,   486,   487,    34,     0,    35,
    2868       31,    36,     0,     0,   208,    39,     0,     0,     0,     0,
    2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2870        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2871        0,     0,     0,     0,     0,    38,    39
    2872 };
    2873 
    2874 #define yypact_value_is_default(yystate) \
    2875   ((yystate) == (-1310))
    2876 
    2877 #define yytable_value_is_error(yytable_value) \
    2878   YYID (0)
    2879 
    2880 static const yytype_int16 yycheck[] =
    2881 {
    2882        0,     1,   240,   205,   186,   186,   117,     0,    43,   534,
    2883       43,    43,   600,   756,   646,     1,   749,   187,   521,     0,
    2884      186,   186,   186,   157,   169,   170,   749,   749,   186,   106,
    2885      220,   602,    32,   186,   345,   349,     0,   188,   280,    32,
    2886      157,   513,   600,    43,   874,    43,   603,   874,   349,    49,
    2887      620,    32,   609,   733,     0,   983,    49,   600,   492,   571,
    2888        0,     1,   496,    63,   602,   187,    66,    32,    32,    69,
    2889       63,   692,    43,    66,    64,     0,    69,  1040,    39,   156,
    2890        1,   600,    57,    69,   266,   266,    32,    43,    51,  1398,
    2891      364,   202,    32,    63,   368,  1321,   418,   267,    82,   600,
    2892      266,   266,   266,  1052,  1053,  1033,   106,    32,   266,   600,
    2893      600,   262,   263,   266,   114,    72,   438,   117,   118,   109,
    2894      282,    72,  1402,    96,   446,    39,    66,   695,    39,    69,
    2895       28,   109,   107,    39,    39,   110,    95,    39,    82,   128,
    2896       39,    66,   131,  1021,    82,   267,   109,   147,   148,   122,
    2897      111,   186,    11,   186,   186,   148,   156,   157,     0,   295,
    2898     1469,   161,   132,  1020,  1021,   109,    44,    45,   161,     0,
    2899      129,   482,   905,   109,   488,   132,     0,     1,    72,  1128,
    2900       78,   132,   905,   905,   687,    49,   186,   187,   186,   109,
    2901       32,   257,   130,  1419,   187,   109,   109,   111,   109,   718,
    2902      111,    32,   202,   109,   109,   111,   111,   109,    32,   111,
    2903      210,   131,    43,  1040,    72,   186,  1496,   210,    49,    82,
    2904      410,  1501,   222,   117,   812,    83,    84,   718,   718,   222,
    2905      186,   266,    63,   266,   266,    66,   406,   115,    69,  1452,
    2906      240,  1521,    85,   986,   219,    69,   112,   110,  1528,    82,
    2907      114,   109,   252,   824,   812,   116,   107,   814,   114,   252,
    2908      260,    44,    45,     3,   341,   265,   266,   267,   490,   812,
    2909      113,   252,   272,  1486,   267,  1488,   257,    82,   111,   900,
    2910      131,   793,   222,   147,   406,   396,   824,   252,   252,    49,
    2911      426,   427,   924,   812,   371,   295,     3,   222,   273,   433,
    2912       96,   602,  1501,   116,   109,   280,   252,   307,     0,   620,
    2913      480,   812,   252,   424,   625,   589,   433,   148,   110,   430,
    2914      112,   812,   812,   323,   116,  1288,   122,   252,   328,  1528,
    2915      161,   114,   253,    44,    45,   328,     0,    82,   906,   131,
    2916      132,   341,   504,   110,   932,   345,   210,  1225,   482,   349,
    2917      350,   109,   418,   111,   114,   186,   187,   631,   480,   681,
    2918      109,   116,   933,   130,   364,   110,    90,    91,   368,  1049,
    2919      506,   371,   438,   348,   932,   511,   240,   132,   514,   210,
    2920      446,  1211,   604,   951,  1211,   130,   608,   426,   427,   932,
    2921      365,   222,   526,    72,   369,   112,   396,  1275,   116,   116,
    2922      285,   125,   126,   114,    83,    84,   406,   629,   272,   526,
    2923      252,   633,   130,   406,  1472,   257,   110,  1274,  1275,    55,
    2924     1478,   252,   307,   308,   424,   350,   426,   427,   252,   999,
    2925      430,   567,   111,   433,   745,   266,   130,   418,   112,   116,
    2926     1498,   110,   116,   307,   111,  1503,   113,   116,   525,  1501,
    2927      210,  1008,  1009,   130,   454,   494,   590,   438,  1386,  1387,
    2928      345,  1288,    98,   130,   967,   446,   635,   636,   131,  1521,
    2929      229,   112,   472,   590,   513,   116,  1528,   116,  1441,   110,
    2930      480,   345,   482,   652,   484,  1448,   116,   480,   488,   248,
    2931      732,   484,   110,   132,   494,  1127,   381,   328,   116,   116,
    2932      130,   482,   647,   484,   666,   656,   506,   941,   508,   981,
    2933      824,   511,   272,   513,   514,   132,  1394,   687,   349,   109,
    2934      484,   521,   109,   824,   116,   525,   526,   109,  1099,   803,
    2935      109,   111,   111,   113,   808,   295,  1499,  1394,   484,   578,
    2936      132,   710,   109,   654,   484,   116,   467,   307,   473,  1117,
    2937      130,     4,     5,     6,     7,     8,     9,   116,   194,   484,
    2938      110,   132,   426,   427,   116,   687,   116,   116,   116,   116,
    2939      570,   571,   116,   132,   736,   406,   418,   109,   578,   116,
    2940      132,   217,  1085,   132,   132,   132,   109,  1090,   132,   589,
    2941      590,   227,   117,   904,   594,   132,   438,   116,   123,   124,
    2942      600,   116,   602,   109,   446,   111,   110,   528,  1288,  1177,
    2943     1178,   745,   533,   132,  1441,   681,    69,   132,    71,   110,
    2944      620,  1448,   896,   937,   846,   625,    72,   627,    74,    75,
    2945      494,   631,   801,   110,   634,   635,   636,    83,    84,    72,
    2946      110,   707,   484,   112,   590,   110,   621,   116,   112,   513,
    2947       83,    84,   652,   484,   654,   109,   910,   488,   912,   295,
    2948      484,   582,   637,   109,   549,   550,   551,   744,   114,   112,
    2949      109,   861,  1499,   116,    72,   809,   651,   115,    72,   132,
    2950       74,    75,  1362,   109,   684,    83,    84,   687,   999,    83,
    2951       84,   881,   809,   109,   454,   111,    72,   622,    74,    75,
    2952      681,    85,    86,    87,   109,   943,   111,    83,    84,   132,
    2953      710,   711,   712,   111,   578,   109,   938,  1115,   718,   719,
    2954      114,  1119,   867,   905,   905,   109,   707,   111,    64,   113,
    2955      114,   109,   653,   111,   655,   112,   110,   907,   114,   905,
    2956      905,   905,   116,   109,   744,   745,   506,   905,   508,   749,
    2957      750,   511,   905,   109,   514,   111,   620,   732,   109,    70,
    2958      111,   625,   109,    74,   745,  1445,    77,  1447,    79,   600,
    2959      904,   602,  1505,   698,   132,    86,   556,   557,   558,   559,
    2960     1305,     3,  1505,  1505,   705,   907,   114,   712,    10,    11,
    2961       12,    13,    14,   793,     4,     5,     6,     7,     8,     9,
    2962      110,   801,   109,   803,   111,   805,   116,   443,   808,   809,
    2963     1012,   114,   812,   109,  1382,   111,    72,    39,    74,    75,
    2964     1500,   117,   118,    33,   824,    72,   903,    83,    84,   114,
    2965     1398,   132,   110,   469,   132,  1146,    83,    84,   116,   681,
    2966       10,    11,    12,    13,    14,    67,    72,   110,  1122,   109,
    2967       76,   109,   110,   116,    82,   111,   687,    83,    84,    69,
    2968      110,    71,    49,   809,   111,   707,   116,   110,   109,    39,
    2969      506,   756,   109,   116,   874,   511,    63,   112,   514,    66,
    2970      805,    82,    69,   109,   118,   111,  1020,   718,   719,   110,
    2971     1035,   117,   118,   874,   127,   116,   896,    67,    88,    89,
    2972     1468,  1469,   213,   903,   904,   905,    72,   907,     4,     5,
    2973        6,     7,     8,     9,  1225,  1085,   110,    83,    84,   919,
    2974     1090,   128,   116,   904,   684,   110,    94,   109,   874,   111,
    2975       30,   116,   932,   933,   874,   117,   118,   937,   131,   109,
    2976       72,   111,   942,   943,    76,   111,   111,   117,   118,   874,
    2977      109,    83,    84,  1115,   110,   109,   942,  1119,  1120,   112,
    2978      116,   148,   109,  1085,   111,     0,     1,   967,  1090,   112,
    2979      117,   118,   110,    69,   161,    71,   110,   109,  1481,   119,
    2980      120,   812,   116,    83,    84,   117,   118,   112,    10,    11,
    2981       12,    13,    14,   824,    29,    30,  1107,    32,   110,   999,
    2982      187,   110,   942,   110,   116,    92,    93,    72,    43,    74,
    2983       75,    76,  1146,    72,    49,    74,    75,    39,    83,    84,
    2984     1020,  1021,    57,   210,    83,    84,   110,  1530,    63,   115,
    2985      116,    66,   874,   669,    69,   222,   957,   109,   110,   111,
    2986     1040,   352,   678,   354,   109,    67,   682,   110,    83,    84,
    2987      874,   109,   117,   118,  1190,  1191,    72,  1193,   979,  1040,
    2988       76,   110,   983,   110,  1200,   110,  1202,    83,    84,   116,
    2989      112,   116,   107,  1235,   905,   110,   907,  1002,   110,   943,
    2990     1080,   111,   117,   114,   116,  1085,   110,   109,   116,   111,
    2991     1090,   131,   116,   109,  1040,   117,   118,   110,   111,  1099,
    2992     1040,   117,   118,   506,    66,   508,   937,  1107,   511,    58,
    2993       59,   514,  1033,   148,   999,  1040,   115,   116,   942,    44,
    2994       45,   156,  1122,   552,   553,    72,   161,    74,    75,    76,
    2995     1207,   442,   109,   110,   111,   999,    83,    84,   560,   561,
    2996     1274,   328,   554,   555,   244,   114,  1146,   114,   109,   110,
    2997      111,   186,   187,   109,   112,  1040,   118,   110,   110,   919,
    2998     1322,   112,   109,    29,  1326,  1146,   112,   202,   112,     3,
    2999      117,   118,   109,   110,   111,   210,    10,    11,    12,    13,
    3000       14,    58,    59,    60,   219,   112,   116,   222,  1188,  1189,
    3001     1248,  1249,  1250,   110,   229,   130,   130,   130,  1040,   161,
    3002      110,   112,   114,  1189,   112,    39,   115,  1207,   110,   244,
    3003      115,  1211,   115,   248,   109,   116,  1040,   252,   253,   406,
    3004        1,   110,  1358,   110,    72,  1225,    74,    75,    76,  1229,
    3005     1211,   266,   267,    67,   132,    83,    84,   116,   273,   110,
    3006      110,   110,   110,  1229,  1225,   280,   110,   110,  1188,  1189,
    3007      110,   116,   110,   110,  1085,   110,   110,   110,   110,  1090,
    3008      222,  1423,   898,  1188,   110,  1211,   110,  1378,    49,   110,
    3009      110,  1211,   115,   874,  1274,  1275,    29,  1515,   110,   130,
    3010      380,   131,   112,  1283,   112,   116,  1211,   110,  1288,  1229,
    3011      110,   116,   110,   328,   130,   116,   112,   114,   260,   110,
    3012      110,   464,   110,   265,   116,   112,   110,  1288,   110,   110,
    3013      116,   116,   112,   348,   349,    10,    11,    12,    13,    14,
    3014     1080,  1321,   109,  1505,  1505,   106,   109,  1248,  1249,  1250,
    3015      365,   109,   109,   114,   369,  1321,  1506,   109,   130,  1505,
    3016     1505,  1505,  1288,  1283,    39,   380,     3,  1505,  1288,   112,
    3017      132,   115,  1505,    10,    11,    12,    13,    14,  1283,   110,
    3018     1530,   396,   110,  1288,   110,  1189,   147,   128,   115,  1211,
    3019     1481,   406,    67,   115,   464,   156,   114,   695,  1378,   112,
    3020      132,  1321,    39,   110,  1506,   116,   112,  1211,   350,   424,
    3021      112,   491,   110,   493,  1394,   430,   110,   432,   110,   112,
    3022      110,   112,  1377,   112,   112,  1229,   112,   112,  1530,    72,
    3023       67,    74,    75,    76,   109,  1051,   111,    47,   115,  1419,
    3024       83,    84,   117,   118,    72,   206,    74,    75,    76,   210,
    3025      132,   132,   467,  1419,   132,    83,    84,   472,   132,   132,
    3026      110,  1441,  1043,   115,   130,   480,  1288,   115,  1448,   484,
    3027     1450,   110,  1452,   488,   112,   109,   491,   112,   493,   240,
    3028     1441,   109,   112,   112,  1288,  1386,  1387,  1448,   786,   431,
    3029     1505,   112,  1505,  1505,   112,   110,   110,    60,   109,  1419,
    3030      112,  1481,    66,   112,   109,   132,  1486,   110,  1488,   110,
    3031      114,   272,    76,   528,   275,  1441,   112,  1321,   533,  1499,
    3032      112,  1441,  1448,  1424,   110,  1505,  1506,   670,  1448,   112,
    3033      110,   473,   109,  1506,   295,  1515,  1441,    96,  1499,    96,
    3034       85,    86,    87,  1448,   109,   132,   307,   115,   110,    72,
    3035     1530,    74,    75,    76,   118,   110,   110,  1530,   110,    42,
    3036       83,    84,   642,   116,   109,   863,   111,   582,   113,   114,
    3037      130,   132,   110,  1499,   589,   110,   132,    96,    96,  1499,
    3038      341,  1482,   132,   110,   345,   600,   109,   602,   132,   110,
    3039     1491,   132,   112,   110,  1499,   110,   132,   161,   112,   115,
    3040      670,   109,   132,   364,   115,   115,   621,   368,   906,   110,
    3041      371,   691,   110,   693,   110,  1419,   110,   697,  1056,  1441,
    3042      132,   564,   637,   562,   977,   565,  1448,   642,   563,   566,
    3043     1211,  1211,  1469,  1364,  1540,  1298,   651,  1441,   653,   654,
    3044      655,  1120,  1326,  1448,  1448,   912,   789,    66,   684,  1071,
    3045      684,  1090,   594,   951,   920,   697,   799,   582,   222,   971,
    3046      867,   648,   722,  1229,    83,   426,   427,   939,   570,   484,
    3047      813,  1515,   687,   732,   570,   570,   691,  1499,   693,    -1,
    3048      622,  1297,   697,    -1,    -1,   627,    -1,    -1,   986,    -1,
    3049      705,    -1,    -1,   454,  1505,  1499,   260,    -1,    -1,   118,
    3050       -1,   265,    -1,   718,   719,    -1,   467,    -1,    -1,    -1,
    3051     1450,    -1,  1452,    -1,    -1,    -1,   280,   732,    -1,   789,
    3052       -1,    -1,    -1,  1304,    -1,    -1,    -1,    -1,    -1,   799,
    3053       -1,   492,    -1,   494,    -1,   496,    -1,    -1,    -1,  1037,
    3054       -1,    -1,   161,   813,    -1,   506,  1486,   508,  1488,    -1,
    3055      511,    -1,   513,   514,    -1,    -1,   698,    57,    -1,    10,
    3056       11,    12,    13,    14,   525,    -1,    -1,    -1,    -1,    72,
    3057      712,    74,    75,    76,    -1,  1356,    -1,    -1,  1359,    -1,
    3058       83,    84,    -1,    -1,    -1,    -1,   350,   867,    39,    -1,
    3059       -1,    -1,    -1,   873,    -1,    -1,    -1,   812,    -1,    -1,
    3060       -1,    -1,    -1,   222,    -1,    -1,   109,   107,   111,   824,
    3061      110,    -1,    -1,    -1,   117,   118,    67,   578,    -1,  1117,
    3062       -1,  1402,    -1,    -1,    -1,    -1,  1407,   130,   589,    -1,
    3063       -1,    -1,    -1,  1449,   914,  1451,    -1,    -1,    -1,    -1,
    3064       -1,   260,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,
    3065       -1,    -1,   867,    -1,  1435,    -1,   156,   670,   873,   620,
    3066       -1,    -1,    -1,   805,   625,    -1,    -1,   431,    -1,  1485,
    3067      631,  1487,     0,     1,  1017,  1018,    -1,    -1,    -1,  1177,
    3068     1178,   896,    -1,    -1,   448,    -1,    -1,    -1,    -1,    -1,
    3069      905,   971,   907,    -1,    -1,    -1,    -1,    -1,    -1,   914,
    3070       -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,   473,
    3071       -1,    -1,    -1,  1529,    -1,  1531,    -1,    -1,    -1,   219,
    3072       -1,    49,   937,   684,    -1,    -1,    -1,    -1,  1544,  1545,
    3073       -1,   350,  1075,  1076,    -1,    -1,    -1,    -1,  1519,    -1,
    3074       -1,    69,   957,    -1,  1525,    -1,    -1,  1017,  1018,    -1,
    3075       -1,    -1,    -1,    -1,    -1,  1536,   971,    -1,    -1,  1540,
    3076       -1,   722,    -1,    -1,   979,    -1,    -1,    -1,   983,     0,
    3077        1,    -1,    -1,   273,    -1,    -1,   789,    -1,   106,    -1,
    3078      280,    -1,    -1,   744,    -1,    -1,   799,    -1,    -1,    -1,
    3079       -1,  1071,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
    3080      813,    32,    -1,    -1,    -1,  1075,  1076,    -1,    -1,    -1,
    3081       -1,    -1,   431,    -1,    -1,    -1,    -1,    -1,  1033,    -1,
    3082      148,    -1,    -1,    -1,    -1,    -1,    -1,    32,   156,   157,
    3083      594,    -1,    -1,    -1,    -1,    66,    -1,    -1,    69,    -1,
    3084       -1,    -1,   803,    -1,    -1,    -1,    -1,   808,   348,    -1,
    3085       -1,    -1,    -1,    -1,   473,    -1,  1071,    -1,   622,   187,
    3086     1002,    -1,    -1,   627,    69,   365,    -1,    -1,    -1,   369,
    3087     1085,    -1,    -1,    -1,   202,  1090,    -1,   205,   206,    -1,
    3088     1223,    -1,   210,    -1,  1382,    -1,    -1,    -1,    -1,    -1,
    3089       -1,    -1,  1107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3090     1398,    -1,    -1,   231,  1184,    -1,    -1,   235,    -1,   237,
    3091       -1,    -1,  1255,    -1,    -1,    -1,    -1,    -1,   246,    -1,
    3092     1263,  1264,  1265,    -1,   252,    -1,   157,    -1,    -1,   257,
    3093       -1,    -1,   432,    -1,   698,   896,    -1,    -1,    -1,   267,
    3094       -1,    -1,   903,    -1,    -1,    -1,    -1,   275,   712,    -1,
    3095       -1,     0,   157,  1223,    -1,    -1,    -1,    -1,   919,    -1,
    3096       -1,    72,    -1,    74,    75,    76,    -1,    -1,   732,  1184,
    3097     1468,  1469,    83,    84,    -1,   594,    -1,    -1,    -1,    -1,
    3098      941,   942,   943,    32,  1327,  1255,    -1,    -1,    -1,    -1,
    3099       -1,   222,  1207,  1263,  1264,  1265,    -1,    -1,   109,    -1,
    3100      111,    -1,    -1,   622,  1017,  1018,   117,   118,   627,    -1,
    3101       -1,    -1,    -1,   341,    -1,    -1,    -1,   345,    -1,    -1,
    3102       69,   252,    -1,   351,    -1,    -1,   231,    -1,    -1,    -1,
    3103       -1,    -1,    -1,  1248,  1249,  1250,   364,    -1,   999,    -1,
    3104      368,   805,    -1,   371,    -1,    -1,  1188,   252,    -1,    -1,
    3105       -1,    -1,   257,    -1,    -1,    -1,    -1,  1327,    -1,    -1,
    3106       -1,    -1,  1075,  1076,    -1,    -1,    -1,    -1,    -1,    -1,
    3107       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   698,
    3108       -1,    83,    84,    72,    -1,    74,    75,    76,    -1,   589,
    3109      418,    -1,    -1,   712,    83,    84,    -1,    -1,    -1,    -1,
    3110       -1,    -1,    -1,    -1,    -1,   433,    -1,   109,   157,   111,
    3111      438,    -1,    -1,    -1,    -1,   117,   118,    -1,   446,  1080,
    3112      109,   621,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3113       -1,    -1,    -1,    -1,    -1,    -1,   464,   637,    -1,   467,
    3114       -1,  1283,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,
    3115       -1,   651,    -1,    -1,   482,    -1,   484,    -1,    -1,    -1,
    3116       -1,  1122,  1377,  1378,   492,    -1,    -1,    -1,   496,    -1,
    3117       -1,  1386,  1387,    97,    98,    99,   100,   101,   102,   103,
    3118      104,   105,   106,    -1,    -1,    -1,   805,    -1,    -1,    -1,
    3119       -1,    -1,    -1,    -1,    -1,    -1,    -1,   525,   526,    -1,
    3120       -1,    -1,   433,   252,    -1,    -1,    -1,   131,   257,  1424,
    3121       -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,    -1,    -1,
    3122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,
    3123       -1,    -1,   732,   438,    -1,    -1,    -1,    -1,  1002,    -1,
    3124       -1,   446,  1255,   571,    -1,    -1,  1207,    -1,    -1,    -1,
    3125     1263,  1264,  1265,   484,    -1,    -1,    -1,    -1,    -1,   464,
    3126       -1,   589,   590,    -1,    -1,    -1,  1481,  1482,  1229,    -1,
    3127       -1,    -1,    -1,    -1,   602,    -1,  1491,   482,    -1,   484,
    3128       -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
    3129     1505,  1506,   620,    -1,    -1,   526,    -1,   625,    -1,    -1,
    3130       -1,    -1,   351,   631,    -1,    -1,   634,   635,   636,    -1,
    3131       -1,    -1,    66,    -1,  1327,  1530,    -1,    -1,    72,    -1,
    3132       -1,   526,    76,    -1,   652,    79,    80,    81,    82,    83,
    3133       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3134       -1,    -1,   670,    -1,    -1,    10,    11,    12,    13,    14,
    3135       -1,    -1,    -1,   681,    -1,   109,    -1,   111,    -1,   590,
    3136     1321,    -1,    -1,   117,   118,   119,   120,   121,   122,   418,
    3137       -1,    -1,    -1,    -1,    39,    -1,   130,    -1,    -1,   707,
    3138       -1,    -1,   710,  1002,   433,   590,    -1,    -1,    -1,   438,
    3139       -1,   719,    -1,    -1,   722,    -1,   896,   446,    -1,    -1,
    3140       -1,    -1,    67,   634,   635,   636,    -1,    72,    -1,    74,
    3141       75,    76,    -1,    -1,    -1,   464,   744,   745,    83,    84,
    3142       -1,   652,   750,    -1,  1188,    -1,    -1,    -1,    -1,   634,
    3143      635,   636,    -1,   482,    -1,   484,    -1,    10,    11,    12,
    3144       13,    14,    -1,    -1,   109,    -1,   111,   652,    -1,    -1,
    3145       -1,    -1,   117,   118,    -1,    -1,    -1,    -1,  1419,    -1,
    3146       -1,   789,    -1,    -1,    -1,   670,    39,    -1,    -1,    -1,
    3147       -1,   799,    -1,   801,    -1,   803,   681,   526,   806,   710,
    3148      808,   809,    -1,    -1,    -1,   813,    -1,    -1,    -1,  1450,
    3149       -1,  1452,    -1,    -1,    67,   823,    -1,    -1,    -1,    72,
    3150       -1,    -1,   707,    76,    -1,   710,    -1,    -1,    -1,    -1,
    3151       83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1283,
    3152       -1,     0,    -1,    -1,    -1,  1486,    -1,  1488,    -1,    -1,
    3153       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
    3154      745,   590,    -1,    -1,   117,   118,   874,    -1,     0,    -1,
    3155      190,    -1,    -1,    32,  1515,    -1,    -1,   197,    -1,    -1,
    3156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   896,  1188,
    3157      801,    -1,    -1,    -1,    -1,   903,   904,    -1,   809,   907,
    3158       32,    -1,    -1,    -1,   789,   634,   635,   636,    -1,    -1,
    3159       69,    -1,    -1,    -1,   799,    -1,   801,    -1,    -1,    -1,
    3160       -1,   806,    -1,   652,   809,   933,    -1,    -1,   813,    -1,
    3161       -1,    -1,    -1,   941,   942,    -1,    -1,    69,    -1,    -1,
    3162       -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   269,
    3163       -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3164       -1,    -1,    -1,   874,    -1,    -1,    -1,    -1,    -1,    -1,
    3165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   707,    -1,
    3166       -1,   710,    -1,    -1,  1283,    -1,    -1,    -1,    -1,   874,
    3167       -1,   999,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,
    3168       -1,    -1,    -1,   323,  1012,    -1,    -1,    -1,    -1,  1017,
    3169     1018,   331,  1020,  1021,   334,    -1,   745,    -1,    -1,   904,
    3170       -1,    -1,    -1,    -1,    -1,   157,    -1,  1207,    -1,    -1,
    3171       -1,   942,  1040,    -1,    -1,     3,     4,     5,     6,     7,
    3172        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3173       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3174      789,    -1,    30,    31,    32,    -1,    -1,  1075,  1076,    -1,
    3175      799,    39,   801,    -1,    -1,    -1,    -1,   806,   398,    -1,
    3176      809,    -1,   402,    -1,   813,    -1,    -1,    -1,    -1,    -1,
    3177       -1,    -1,    -1,   252,    -1,    -1,    -1,    -1,   257,    67,
    3178       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,  1020,
    3179     1021,    -1,    -1,    -1,  1122,    83,    84,    -1,    -1,    -1,
    3180      252,    -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,  1040,
    3181       -1,    -1,  1017,  1018,    -1,  1020,  1021,    -1,  1146,    -1,
    3182       -1,   109,    -1,   111,    -1,   874,    -1,    -1,    -1,   117,
    3183      118,    -1,    -1,    -1,    -1,  1040,    -1,    -1,    -1,   479,
    3184       -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3185       -1,    -1,    -1,    -1,    -1,   904,    -1,    -1,    -1,    -1,
    3186       -1,  1189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3187     1075,  1076,   351,    -1,    39,    -1,    -1,  1377,    -1,  1207,
    3188       -1,    -1,    -1,  1211,    -1,    -1,    -1,    -1,    -1,    -1,
    3189       -1,    -1,    -1,    -1,    -1,  1223,    -1,  1225,    -1,   351,
    3190       -1,  1229,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3191       75,    76,    -1,    -1,    -1,    26,    27,    28,    83,    84,
    3192       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1255,    -1,    -1,
    3193      570,   571,    -1,    -1,    -1,  1263,  1264,  1265,    -1,   418,
    3194       -1,  1146,    -1,    -1,   109,    -1,  1274,  1275,    -1,    -1,
    3195       -1,    -1,   117,   118,   433,    -1,    -1,  1188,  1189,   438,
    3196     1288,    -1,    -1,    -1,    -1,    -1,   418,   446,  1017,  1018,
    3197       -1,  1020,  1021,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3198     1211,   433,    -1,    -1,  1189,   464,   438,    -1,    99,    -1,
    3199      101,  1040,    -1,  1321,   446,    -1,    -1,    -1,  1229,  1327,
    3200       -1,    -1,    -1,   482,    -1,   484,  1211,    -1,    -1,    -1,
    3201       -1,    -1,   464,    -1,    -1,   126,    -1,   657,  1223,    -1,
    3202     1225,   661,    -1,    -1,    -1,    -1,  1075,  1076,    -1,    -1,
    3203      482,    -1,   484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3204       -1,    -1,    -1,  1274,  1275,    -1,    -1,   526,    -1,    -1,
    3205     1255,    -1,  1283,    -1,    -1,    -1,    -1,  1288,  1263,  1264,
    3206     1265,    -1,    -1,    -1,    -1,    -1,  1394,    -1,    -1,  1274,
    3207     1275,   182,    -1,    -1,   526,    -1,    -1,    -1,    -1,   190,
    3208       -1,   192,   193,  1288,    -1,    -1,   197,    -1,   199,   200,
    3209     1321,  1419,    -1,    53,    -1,    55,    -1,  1146,    58,    59,
    3210       60,    -1,    62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3211       -1,   590,    -1,  1441,    -1,    -1,    -1,    77,    -1,    -1,
    3212     1448,    -1,  1327,    -1,    -1,    -1,    -1,    -1,    -1,    89,
    3213       90,    -1,    -1,    -1,    26,    27,    28,    -1,   590,    -1,
    3214     1189,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3215       14,    -1,    -1,   793,    -1,   634,   635,   636,   269,    -1,
    3216       -1,    -1,  1211,  1394,    -1,    -1,    -1,    -1,    -1,    -1,
    3217       -1,  1499,    -1,   652,  1223,    39,  1225,    -1,  1506,    -1,
    3218       -1,    -1,   634,   635,   636,    -1,    -1,    -1,  1419,  1394,
    3219       -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3220      652,    -1,   681,    67,    -1,    -1,  1255,    99,    72,   101,
    3221     1441,    -1,    76,    -1,  1263,  1264,  1265,  1448,   670,    83,
    3222       84,    -1,    -1,    -1,    -1,  1274,  1275,    -1,   707,   681,
    3223       -1,   710,    -1,    -1,    -1,    -1,  1441,    -1,    -1,  1288,
    3224       -1,    -1,    -1,  1448,    -1,   109,    -1,    -1,    -1,    -1,
    3225       -1,    -1,    -1,   117,   118,   707,    -1,    -1,   710,    10,
    3226       11,    12,    13,    14,    -1,    -1,   745,    -1,  1499,    -1,
    3227       -1,   911,    -1,    -1,    -1,    -1,    -1,    -1,  1327,    -1,
    3228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
    3229      182,    -1,    -1,   745,  1499,    -1,    -1,    -1,    -1,    -1,
    3230      192,   193,    -1,    -1,    -1,   197,    -1,   199,   200,    -1,
    3231      789,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3232      799,    72,   801,    74,    75,    76,    -1,   806,    -1,    -1,
    3233      809,    -1,    83,    84,   813,    -1,    -1,   789,    -1,    10,
    3234       11,    12,    13,    14,    -1,  1394,    -1,   799,   988,   801,
    3235       -1,    -1,    -1,    -1,   806,    -1,    -1,   809,   109,    -1,
    3236      111,   813,    -1,    -1,    -1,  1005,   117,   118,    39,    -1,
    3237       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3238       -1,    -1,    -1,    -1,   344,    -1,   346,    -1,    -1,    -1,
    3239       -1,    -1,  1441,    -1,    -1,   874,    67,   357,   358,  1448,
    3240       39,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
    3241       -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
    3242       -1,    -1,   874,    -1,    -1,   904,    -1,    -1,    67,    -1,
    3243       -1,    -1,    -1,    72,    -1,    74,    75,    76,   109,    -1,
    3244      111,    -1,    -1,  1083,    83,    84,   117,   118,    -1,    -1,
    3245     1499,    -1,   904,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3246       -1,    -1,    -1,   574,   575,    -1,    -1,    -1,    -1,    -1,
    3247      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3248       -1,    -1,    -1,  1123,    -1,    -1,    -1,    -1,    -1,    -1,
    3249       -1,    -1,   603,    -1,    -1,   606,   607,    -1,   609,    -1,
    3250      611,   612,    -1,    -1,    -1,   616,   617,     3,     4,     5,
    3251        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3252       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3253       26,    27,    28,    -1,    30,    31,    32,    33,  1017,  1018,
    3254       36,  1020,  1021,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3256       -1,  1040,    -1,    -1,    -1,  1017,  1018,    -1,  1020,  1021,
    3257       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3258       -1,    -1,    78,    -1,    -1,    -1,     7,    -1,  1040,    10,
    3259       11,    12,    13,    14,    -1,    -1,  1075,  1076,    -1,    -1,
    3260       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       -1,    -1,    -1,    -1,    -1,   111,    37,    38,    39,    40,
    3262       -1,   117,   118,  1075,  1076,    -1,    -1,    -1,    -1,    -1,
    3263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3264       -1,    -1,    -1,   754,   755,    66,    67,    -1,    -1,    -1,
    3265       -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    3266       81,    82,    83,    84,    -1,    86,    87,  1146,    -1,    -1,
    3267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3268       -1,    -1,   574,   575,    -1,    -1,    -1,    -1,   109,    -1,
    3269      111,    -1,    -1,    -1,  1146,    -1,   117,   118,   119,   120,
    3270      121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271     1189,   603,    -1,    -1,   606,   607,    -1,   609,    -1,   611,
    3272      612,    -1,    -1,    -1,   616,   617,    -1,    -1,    -1,    -1,
    3273       -1,    -1,  1211,    -1,    -1,    -1,    -1,  1189,    -1,   699,
    3274       -1,   701,    -1,    -1,  1223,    -1,  1225,    -1,   708,   709,
    3275       -1,    -1,    -1,   713,    -1,    -1,    -1,    -1,    -1,  1211,
    3276       -1,    -1,    -1,    -1,    -1,   725,    -1,    -1,    -1,    -1,
    3277      730,  1223,    -1,  1225,    -1,    -1,  1255,    -1,    -1,    -1,
    3278       -1,    -1,    -1,    -1,  1263,  1264,  1265,    -1,    -1,    -1,
    3279       -1,    -1,    -1,    -1,    -1,  1274,  1275,    -1,   758,    -1,
    3280      911,    -1,    -1,  1255,    -1,   916,    -1,    -1,    -1,  1288,
    3281       -1,  1263,  1264,  1265,    -1,    -1,    -1,    -1,    -1,    -1,
    3282       -1,    -1,  1274,  1275,    -1,    -1,    -1,    -1,    -1,    -1,
    3283       -1,    -1,    -1,    -1,    -1,    -1,  1288,    -1,    -1,    -1,
    3284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1327,    -1,
    3285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3286       49,    -1,   754,   755,    -1,    -1,    -1,    -1,    -1,    -1,
    3287       -1,    -1,    -1,    -1,    -1,  1327,    -1,    66,    -1,    -1,
    3288        7,    -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,
    3289       -1,    -1,    -1,    -1,    -1,    -1,    -1,   857,   858,   859,
    3290      860,    -1,   862,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3291       37,    38,    39,    40,    -1,  1394,    -1,   877,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,   118,
    3293       -1,   891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3294       67,    -1,  1394,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3295       -1,    -1,    79,    80,    81,    82,    83,    84,   147,    86,
    3296       87,    -1,  1441,    -1,    -1,    -1,  1077,    -1,   157,  1448,
    3297       -1,   931,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3298       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,  1441,
    3299      117,   118,   119,   120,   121,   122,  1448,    10,    11,    12,
    3300       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3301       23,    24,    25,    26,    27,    -1,   976,    30,    31,    32,
    3302     1499,   210,   982,    -1,   916,    -1,    39,   987,    -1,    -1,
    3303       -1,    -1,   992,   222,   994,    -1,    -1,    -1,   998,    -1,
    3304     1000,  1001,    -1,    -1,  1004,    -1,    -1,  1499,    -1,    -1,
    3305       -1,   240,    -1,  1013,    67,    -1,    -1,    -1,    -1,    -1,
    3306       -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3307       -1,  1031,  1032,    -1,    -1,    -1,   265,    -1,    -1,    -1,
    3308       -1,    -1,    -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,
    3309       -1,    -1,    -1,    -1,    -1,  1206,    -1,    -1,  1058,    -1,
    3310       -1,  1061,    -1,    -1,   117,   118,   295,    -1,    -1,    -1,
    3311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   307,    -1,
    3312       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
    3313       -1,    -1,    -1,    -1,    76,    -1,    78,    -1,    80,    -1,
    3314       -1,    -1,    -1,    -1,  1104,    87,    -1,    -1,    -1,    -1,
    3315     1110,  1111,    -1,    -1,    -1,    -1,   345,    -1,    -1,    -1,
    3316       -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317     1130,    -1,    -1,  1133,    -1,    -1,   118,  1137,   120,   121,
    3318      122,    -1,    -1,    -1,    -1,  1077,    -1,    -1,    -1,    -1,
    3319     1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3320       -1,    -1,    -1,  1163,    -1,  1165,  1166,  1167,  1168,    -1,
    3321       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   161,
    3322       -1,  1181,    -1,  1183,    -1,    -1,    -1,  1187,    -1,    -1,
    3323       -1,    -1,    -1,    -1,    -1,    -1,    -1,   426,   427,    -1,
    3324       -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,    -1,    -1,
    3325       -1,    -1,    -1,    -1,    -1,    -1,  1216,  1217,    -1,    -1,
    3326       -1,    -1,    -1,    -1,    -1,   454,    -1,    -1,    -1,    -1,
    3327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3328      222,    -1,   224,   225,   226,    -1,    -1,    -1,    -1,    -1,
    3329       -1,    -1,    -1,   482,    -1,    -1,    -1,    -1,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,   494,  1266,  1267,    -1,    -1,
    3331       -1,    -1,    -1,    -1,  1206,    -1,  1276,   506,   260,   508,
    3332       -1,    -1,   511,   265,   513,   514,    -1,    -1,    -1,    -1,
    3333       -1,    -1,    -1,    -1,    -1,    -1,    -1,   526,   280,    -1,
    3334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3335       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3336       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3337       26,    27,    28,    -1,    30,    31,    32,  1337,    -1,  1339,
    3338     1340,  1341,    -1,    39,    -1,    -1,   328,    -1,    -1,   578,
    3339       -1,  1351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3340     1360,   590,    -1,    -1,    -1,   594,    -1,    -1,   350,    -1,
    3341       -1,    67,    -1,   355,   356,    -1,    72,    -1,    74,    75,
    3342       76,   363,    78,    -1,    -1,  1385,    -1,    83,    84,    -1,
    3343       -1,   620,    -1,    -1,   147,    -1,   625,    -1,    -1,    -1,
    3344       -1,    -1,    -1,    -1,   157,   634,   635,   636,    -1,    44,
    3345       -1,    -1,    -1,   109,    -1,   111,   169,   170,    -1,    -1,
    3346       -1,   117,   118,   652,   406,    -1,    -1,    -1,  1428,  1429,
    3347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3348       -1,  1441,   424,    -1,    -1,    -1,    -1,   429,  1448,   431,
    3349       37,    38,    -1,    40,    -1,   684,    -1,    92,    -1,    -1,
    3350       -1,    -1,    -1,    -1,    -1,    -1,   448,   102,    -1,   451,
    3351      452,    -1,    -1,    -1,    -1,    -1,    -1,   459,    -1,    66,
    3352     1480,   710,    -1,   712,  1484,    72,    -1,   240,    -1,    76,
    3353       -1,   473,    79,    80,    81,    82,    83,    84,   480,    86,
    3354       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3355       -1,   264,  1512,    -1,  1514,    -1,   745,    -1,    -1,    -1,
    3356       -1,    -1,   109,   158,   111,    -1,    -1,   114,    -1,    -1,
    3357      117,   118,   119,   120,   121,   122,    -1,   172,    -1,    -1,
    3358       -1,    -1,  1542,  1543,    -1,    -1,    -1,    -1,    -1,    -1,
    3359     1550,  1551,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3360      195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3361       -1,    -1,   801,    -1,   209,    -1,   805,    -1,    -1,    -1,
    3362      809,    -1,    -1,   218,    -1,    -1,    -1,    -1,    -1,    -1,
    3363       -1,    -1,    -1,   228,    -1,    -1,    -1,    -1,    -1,    -1,
    3364       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
    3365       -1,    -1,   594,    -1,    -1,    -1,    -1,    -1,   253,    -1,
    3366       -1,    -1,    -1,   258,    -1,    -1,    -1,   380,    -1,    -1,
    3367       -1,    -1,    -1,    66,    -1,    -1,   271,    -1,    -1,    72,
    3368      622,    -1,   277,    76,   279,   627,    79,    80,    81,    82,
    3369       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3370       -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,    -1,    -1,    -1,    -1,   904,   109,    -1,   111,    -1,
    3372       -1,    -1,    -1,   116,   117,   118,   119,   120,   121,   122,
    3373      919,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3374       -1,    -1,    -1,   338,    -1,    -1,    -1,    -1,   343,    -1,
    3375       -1,    -1,    -1,    -1,   943,    -1,   698,    -1,    -1,    -1,
    3376       -1,   474,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3377      712,    -1,    -1,    -1,    -1,    -1,    -1,   372,    -1,    -1,
    3378       -1,   376,   377,    -1,   379,    -1,    -1,    -1,    -1,    -1,
    3379      732,   386,   387,    -1,   389,   390,    -1,   392,    -1,   394,
    3380      513,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3381      999,    -1,    -1,   526,    -1,    -1,   411,    -1,   531,    -1,
    3382       -1,   534,    -1,    -1,   419,    -1,    -1,    -1,    -1,    -1,
    3383       -1,  1020,  1021,   546,    -1,    -1,    -1,    -1,    -1,    -1,
    3384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   444,
    3385       -1,   793,    -1,    -1,    -1,   568,    -1,    -1,    -1,    -1,
    3386       -1,    -1,    -1,   805,    -1,   578,    -1,    -1,    -1,    -1,
    3387       -1,    -1,   585,    -1,    -1,   470,    -1,   590,    -1,    -1,
    3388       -1,   476,   824,    -1,    -1,    -1,   481,    -1,    -1,    -1,
    3389       -1,  1080,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
    3390        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3391       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3392       27,    -1,   517,    30,    31,    32,   639,    -1,    -1,    -1,
    3393       -1,    -1,    39,    -1,   647,    -1,    -1,   532,    -1,    -1,
    3394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3395       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1146,    -1,    -1,
    3396       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3397       -1,    -1,    -1,    37,    38,   570,    40,    -1,    -1,    -1,
    3398       -1,    -1,    -1,    -1,   579,    -1,    -1,    -1,    -1,    -1,
    3399       -1,   586,    -1,    -1,    -1,   937,    -1,   592,    -1,  1188,
    3400       -1,    -1,    66,    -1,   111,    -1,   601,    -1,    72,    -1,
    3401      117,   118,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3402       84,    -1,    86,    87,    -1,   967,    -1,    -1,    -1,    -1,
    3403       -1,    -1,   745,    -1,   747,    -1,  1225,    -1,    -1,   156,
    3404      157,    -1,    -1,    -1,   757,   109,   641,   111,    -1,    -1,
    3405      763,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
    3406     1002,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3407       -1,  1013,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,
    3408      197,    -1,   677,    -1,    -1,  1274,  1275,    -1,    -1,    -1,
    3409      685,    -1,   805,   806,  1283,    -1,   809,    -1,    -1,    -1,
    3410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,
    3411      823,   285,   286,    -1,    -1,    -1,    -1,    -1,    -1,   293,
    3412      294,   716,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3413       -1,   726,   727,   307,   308,    -1,    -1,    -1,    -1,    -1,
    3414       -1,    -1,    -1,  1085,    -1,    -1,    -1,    -1,    -1,    -1,
    3415      863,    -1,   269,    -1,   867,    -1,    -1,  1099,    -1,    -1,
    3416       -1,    -1,    -1,    -1,   759,    -1,    -1,    -1,    -1,   764,
    3417       -1,   345,    10,    11,    12,    13,    14,    15,    16,    17,
    3418       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3419       -1,   904,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3420       -1,    39,    40,    -1,    -1,  1394,   323,   381,    -1,    -1,
    3421       -1,    -1,    -1,    -1,   331,   332,    -1,   334,   335,    -1,
    3422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,    67,
    3423      943,    -1,   349,   828,    -1,    -1,    74,    75,    -1,    -1,
    3424      835,    -1,    -1,    -1,    -1,    -1,  1188,    -1,    -1,    -1,
    3425       -1,   368,    -1,   848,   371,   850,    -1,    -1,   971,    -1,
    3426       -1,  1450,    -1,  1452,   977,    -1,    -1,    -1,   981,   864,
    3427       -1,    -1,    -1,   111,    -1,   870,    -1,   115,    -1,   117,
    3428      118,   398,    -1,    -1,    -1,   402,    -1,   882,    -1,  1002,
    3429      885,    -1,    -1,    -1,    -1,    -1,    -1,  1486,    -1,  1488,
    3430     1013,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3431       -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,
    3432       -1,    -1,  1035,    -1,  1037,    -1,  1515,    -1,    -1,    -1,
    3433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1052,
    3434     1053,  1283,    10,    11,    12,    13,    14,    15,    16,    17,
    3435       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3436     1073,    -1,   479,    -1,    -1,   482,    -1,   962,    -1,    -1,
    3437       -1,    39,    -1,    -1,    -1,   549,   550,   551,   552,   553,
    3438      554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
    3439      564,   565,   566,    -1,    -1,    -1,    -1,    37,    38,    67,
    3440       40,    -1,   997,    -1,   521,    -1,    -1,    -1,   525,   526,
    3441       -1,    -1,    -1,    -1,    -1,  1128,    -1,    -1,    -1,    -1,
    3442       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
    3443       -1,    -1,    72,  1146,    -1,    -1,    76,    -1,    -1,    79,
    3444       80,    81,    82,    83,    84,    -1,    86,    87,  1161,  1162,
    3445       -1,    -1,    -1,   570,   571,    -1,    -1,    -1,    -1,    -1,
    3446     1055,    -1,    -1,    -1,    -1,    -1,  1061,    -1,    -1,   109,
    3447       -1,   111,   589,   590,   114,    -1,    -1,   117,   118,   119,
    3448      120,   121,   122,   600,    -1,   602,   603,    -1,    -1,    -1,
    3449       -1,    -1,   609,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3450     1095,    -1,   619,   620,    -1,  1100,    -1,    -1,   625,    -1,
    3451       -1,    -1,    -1,  1108,    -1,    -1,    -1,   634,   635,   636,
    3452       -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3453       -1,    -1,    -1,    -1,    -1,   652,    -1,    -1,    -1,    -1,
    3454      657,   658,    -1,    -1,   661,   662,  1141,    -1,    -1,    -1,
    3455       -1,   668,    -1,    -1,    -1,    -1,    -1,    -1,  1153,    -1,
    3456       -1,  1156,    -1,  1158,    -1,    -1,    -1,    -1,    -1,    -1,
    3457      687,    -1,    -1,    -1,    -1,    -1,    -1,  1172,  1173,    -1,
    3458       -1,    -1,   756,    -1,    -1,    -1,    -1,    -1,  1530,  1302,
    3459       -1,    -1,  1305,   710,   711,    -1,    -1,    -1,    -1,  1194,
    3460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3461       -1,    -1,   786,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3462       -1,    -1,    -1,    -1,    -1,    -1,    -1,   744,   745,    -1,
    3463       -1,    -1,   749,   750,    -1,    -1,    -1,    -1,    -1,    -1,
    3464       -1,    -1,    -1,    -1,    -1,    -1,  1241,    -1,    -1,    -1,
    3465       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3466       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3467       -1,    30,    31,    32,    -1,    -1,   793,    -1,    -1,    -1,
    3468       39,    -1,    -1,    -1,   801,    -1,    -1,    -1,    -1,    -1,
    3469       -1,   808,   809,    -1,    -1,   812,    -1,   814,    -1,    -1,
    3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,   824,    67,    -1,
    3471       -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    78,
    3472       -1,  1316,    -1,  1318,    83,    84,    -1,    -1,    -1,    -1,
    3473       -1,    -1,   906,    -1,    -1,  1330,    -1,  1332,    -1,    -1,
    3474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3475       -1,    -1,   111,    -1,  1349,    -1,    -1,    -1,   117,   118,
    3476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3477     1365,  1366,    -1,    -1,    -1,    -1,    -1,   951,    -1,   896,
    3478       -1,  1376,    -1,    -1,  1379,    -1,   903,   904,   905,    -1,
    3479      907,    -1,    -1,    -1,   911,    -1,    -1,    -1,    -1,    -1,
    3480       -1,    -1,  1515,    -1,    -1,  1400,    -1,    -1,    -1,    -1,
    3481       -1,    -1,   986,    -1,  1409,   932,   933,  1412,    -1,  1414,
    3482     1415,  1416,    -1,    -1,    -1,   999,    10,    11,    12,    13,
    3483       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3484       24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,
    3485      967,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,  1454,
    3486       -1,  1456,    -1,  1458,    -1,    -1,  1040,    -1,    -1,    -1,
    3487       -1,   988,   989,    -1,    -1,    -1,    -1,    -1,  1473,    -1,
    3488       -1,    -1,   999,    67,    -1,    -1,    -1,    -1,  1005,  1006,
    3489       -1,  1008,  1009,  1010,    78,    -1,    -1,    -1,    -1,    -1,
    3490       -1,    -1,    -1,  1020,  1021,    -1,    -1,    -1,    -1,    -1,
    3491       -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
    3492        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3493       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3494       26,    27,    -1,  1117,    30,    31,    32,    33,    -1,    -1,
    3495       36,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3496       -1,    -1,    -1,    -1,    -1,    -1,  1083,    -1,  1085,    -1,
    3497       -1,    -1,    -1,  1090,    -1,    -1,    -1,    -1,    -1,    -1,
    3498       66,    67,  1099,    69,    -1,    71,    72,    -1,    74,    75,
    3499       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3500       86,    87,    -1,  1177,  1178,  1122,  1123,  1124,    -1,    -1,
    3501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3502       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,  1146,
    3503       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,   132,    -1,     3,     4,
    3505        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3506       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3507       25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
    3508       -1,    36,    37,    38,    39,    40,    41,    -1,    43,    -1,
    3509     1207,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3510       -1,    -1,    57,    -1,    -1,    -1,    61,    62,  1225,    64,
    3511       -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3512       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3513       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3515       -1,    -1,    -1,    -1,   109,    -1,   111,  1274,  1275,   114,
    3516       -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3517       -1,    -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,
    3518       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3519       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3520       21,    22,    23,    24,    25,    26,    27,    -1,  1382,    30,
    3521       31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
    3522       -1,    -1,    -1,    -1,  1398,    -1,    -1,    -1,    -1,    -1,
    3523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3524       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3525       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3526       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3527       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1394,    -1,    -1,
    3528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3529      111,    -1,    -1,    -1,  1468,  1469,   117,   118,   119,   120,
    3530      121,   122,    -1,     4,     5,     6,     7,     8,     9,    10,
    3531       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3532       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3533       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3534       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3535       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3536       27,    28,    -1,    -1,  1481,    66,    67,    -1,    69,    -1,
    3537       71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
    3538       81,    82,    83,    84,    -1,    86,    87,    -1,  1505,  1506,
    3539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3540       67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3541      111,    78,    -1,  1530,    -1,   116,   117,   118,   119,   120,
    3542      121,   122,     4,     5,     6,     7,     8,     9,    10,    11,
    3543       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3544       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3545       32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    10,
    3546       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3547       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3548       31,    32,    -1,    -1,    66,    67,    -1,    69,    39,    71,
    3549       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3550       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3551       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3552       -1,    72,    -1,    74,    75,    -1,    -1,   109,    -1,   111,
    3553       -1,    -1,    83,    84,   116,   117,   118,   119,   120,   121,
    3554      122,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3555       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3556       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3557       -1,    -1,    -1,    -1,    37,    38,    39,    40,    10,    11,
    3558       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3559       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3560       32,    -1,    -1,    66,    67,    -1,    69,    39,    71,    72,
    3561       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
    3562       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3563       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3564       -1,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
    3565       -1,    -1,    -1,   116,   117,   118,   119,   120,   121,   122,
    3566        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3567       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3568       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3569       -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
     3523      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
     3524      -1,    -1,    36,    37,    38,    39,    40,    10,    11,    12,
    35703525      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    35713526      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     
    35733528      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    35743529      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3575       -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
     3530      -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
    35763531      -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3577       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,     4,
     3532      83,    84,    -1,   117,   118,   119,   120,   121,   122,     4,
    35783533       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    35793534      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    35803535      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3581       -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3584       -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3536      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    10,
     3537      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3538      21,    22,    23,    24,    25,    26,    27,    28,    -1,    -1,
     3539      -1,    66,    67,    -1,    69,    -1,    71,    72,    39,    74,
    35853540      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    35863541      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3588       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3589       -1,    -1,   117,   118,   119,   120,   121,   122,     4,     5,
     3542      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
     3543      -1,    -1,    -1,    -1,   109,    -1,   111,    78,    -1,    -1,
     3544      -1,   116,   117,   118,   119,   120,   121,   122,     4,     5,
    35903545       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    35913546      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    35923547      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3593       -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
     3548      -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3549      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3550      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3551      66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
    35973552      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    35983553      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3600       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3601       -1,   117,   118,   119,   120,   121,   122,     4,     5,     6,
     3554      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3555      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3556     116,   117,   118,   119,   120,   121,   122,     4,     5,     6,
    36023557       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    36033558      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    36043559      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3605       37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3608       67,    -1,    69,    -1,    71,    72,    -1,    74,    75,    76,
     3560      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3561      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3562      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
     3563      67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
    36093564      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    36103565      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3566      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     3567      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,
     3568     117,   118,   119,   120,   121,   122,     4,     5,     6,     7,
     3569       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3570      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3571      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3572      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36113573      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3612       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3613      117,   118,   119,   120,   121,   122,     0,    -1,    -1,     3,
    3614        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3615       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3616       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
    3617       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
     3574      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3575      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3576      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    36183577      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36193578      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3620       64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3621       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3622       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3579      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3580     118,   119,   120,   121,   122,     4,     5,     6,     7,     8,
     3581       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3582      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3583      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
     3584      39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36233585      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3624       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3625       -1,    -1,    -1,   117,   118,     3,     4,     5,     6,     7,
     3586      -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,
     3587      69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3588      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3589      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3590      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3591     109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3592     119,   120,   121,   122,     4,     5,     6,     7,     8,     9,
     3593      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3594      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3595      30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
     3596      40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3597      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3598      -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,
     3599      -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3600      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3601      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3602      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3603      -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,
     3604     120,   121,   122,     4,     5,     6,     7,     8,     9,    10,
     3605      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3606      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3607      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3608      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3609      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3610      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3611      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3612      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3613      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3614      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3615     111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
     3616     121,   122,     0,    -1,    -1,     3,     4,     5,     6,     7,
    36263617       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    36273618      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     
    36343625      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36353626      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3636       -1,   109,    -1,   111,    -1,    -1,    -1,   115,    -1,   117,
     3627      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
    36373628     118,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    36383629      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     
    36493640       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    36503641      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3651       26,    27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,
    3652       36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3642      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3643      -1,    -1,    -1,    39,    -1,    10,    11,    12,    13,    14,
     3644      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3645      25,    26,    27,    -1,    -1,    30,    31,    32,    33,    34,
     3646      35,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
     3647      76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
     3648      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3649      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3650      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3651      -1,   117,   118,     3,     4,     5,     6,     7,     8,     9,
     3652      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3653      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3654      30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,    39,
    36533655      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36543656      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3655       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3656       -1,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3657       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3658       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3659       -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,
    3660       -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3662       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,
    3663       -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
    3664       83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3665       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3666       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3667       -1,    -1,    -1,    -1,   117,   118,     4,     5,     6,     7,
    3668        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3669       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3670       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3671       -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3672       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3673       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
    3674       -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
     3657      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3658      -1,    71,    -1,    -1,    74,    75,    -1,    -1,    78,     4,
    36753659       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    36763660      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3677       25,    26,    27,    67,    -1,    30,    31,    32,    -1,    -1,
    3678       74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,   117,
    3679      118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3661      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3662      -1,   111,    -1,    -1,    39,    -1,    -1,   117,   118,    -1,
    36803663      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3681       -1,    -1,    67,    -1,    69,   109,    71,   111,    -1,    74,
    3682       75,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,
    36833664      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3684       -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3685       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3665      -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3666      75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
     3667      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3668      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3669      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    36863670      -1,    -1,   117,   118,     4,     5,     6,     7,     8,     9,
    36873671      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    36883672      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    36893673      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3690       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3674      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3675      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3676      26,    27,    -1,    -1,    30,    31,    32,    67,    -1,    69,
     3677      -1,    71,    -1,    39,    74,    75,    -1,     4,     5,     6,
     3678       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    36913679      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3692       27,    -1,    -1,    30,    31,    32,    -1,    67,    -1,    69,
    3693       -1,    71,    39,    40,    74,    75,    -1,    -1,    -1,    -1,
    3694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3695       -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,
    3696       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3697       -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,     4,
    3698        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3699       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3700       25,    26,    27,    -1,   111,    30,    31,    32,   115,    -1,
    3701      117,   118,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
     3680      27,    67,    -1,    30,    31,    32,    -1,    -1,    74,    75,
     3681     110,   111,    39,    -1,    -1,    -1,    -1,   117,   118,    -1,
    37023682      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37033683      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3704       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3705       75,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3684      67,    -1,    69,   109,    71,   111,    -1,    74,    75,    -1,
     3685      -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3686      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
     3687      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3688      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3689     117,   118,     4,     5,     6,     7,     8,     9,    10,    11,
    37063690      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    37073691      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3708       32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,
    3709       -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
     3692      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3693      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3694      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3695      -1,    30,    31,    32,    -1,    67,    -1,    69,    -1,    71,
     3696      39,    40,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
    37103697      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3712       -1,    -1,    74,    75,    -1,     4,     5,     6,     7,     8,
    3713        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3698      -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    67,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   111,
     3700      -1,    -1,    -1,    -1,    -1,   117,   118,     4,     5,     6,
     3701       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3702      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3703      27,    -1,   111,    30,    31,    32,   115,    -1,   117,   118,
     3704      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3705      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3706      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3707      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3708       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3709      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3710      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3711      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3712     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3713      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3714      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3715      74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
     3716      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3717      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3718      31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
     3719      -1,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,
     3720      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3721      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3722      71,    -1,    -1,    74,    75,    -1,     4,     5,     6,     7,
     3723       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3724      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3725      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3726     111,    39,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,
     3727      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3728      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3729      -1,    69,    -1,    71,    -1,    -1,    74,    75,    10,    11,
     3730      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3731      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3732      32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
     3733      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3734     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3735      -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,    -1,
     3736      72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
     3737      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3738      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3739      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     3740      -1,    -1,   114,    -1,    -1,   117,   118,   119,   120,   121,
     3741     122,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37143742      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3715       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,
    3716       39,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,
     3743      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
     3744      39,    40,    10,    11,    12,    13,    14,    15,    16,    17,
     3745      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3746      -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,
     3747      -1,    39,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3748      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3749      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3750      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     3751     109,   110,   111,    -1,    -1,    83,    84,    -1,   117,   118,
     3752     119,   120,   121,   122,    10,    11,    12,    13,    14,    15,
     3753      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3754      26,    27,    -1,   111,    30,    31,    32,    -1,    -1,   117,
     3755     118,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3756      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3757      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3758      66,    67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,
     3759      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3760      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3761      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3762      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    83,    84,
     3763      -1,   117,   118,   119,   120,   121,   122,    10,    11,    12,
     3764      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3765      23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
     3766      -1,    -1,   117,   118,    37,    38,    39,    40,    10,    11,
     3767      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3768      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3769      32,    -1,    -1,    66,    67,    -1,    -1,    39,    40,    72,
     3770      -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3771      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3772      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3773      -1,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
     3774      -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3775      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3776      20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
     3777      30,    31,    32,   115,    -1,   117,   118,    37,    38,    39,
     3778      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3779      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3780      -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
     3781      39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3782      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3783      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3784      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
     3785      -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,
     3786     120,   121,   122,    10,    11,    12,    13,    14,    15,    16,
     3787      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3788      27,    -1,   111,    30,    31,    32,   115,    -1,   117,   118,
     3789      37,    38,    39,    40,    -1,    10,    11,    12,    13,    14,
     3790      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3791      25,    26,    27,    28,    -1,    30,    31,    32,    -1,    66,
     3792      67,    -1,    -1,    -1,    39,    72,    -1,    74,    75,    76,
     3793      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3794      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3795      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3796      75,    76,   109,    78,   111,    -1,    -1,    -1,    83,    84,
     3797     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
    37173798      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3719       69,    -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,
    3720        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3799      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3800      -1,    -1,   117,   118,    10,    11,    12,    13,    14,    15,
     3801      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3802      26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
     3803      -1,    -1,    -1,    39,    10,    11,    12,    13,    14,    15,
    37213804      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    37223805      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3723       -1,    -1,   111,    39,    -1,    -1,    -1,    -1,   117,   118,
     3806      -1,    67,    -1,    39,    -1,    -1,    72,    -1,    74,    75,
     3807      76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,    -1,
     3808      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3809      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3810      76,    -1,    -1,    -1,    -1,   111,    -1,    83,    84,    -1,
     3811      -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3812      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3813      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3814      -1,   117,   118,    10,    11,    12,    13,    14,    15,    16,
     3815      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3816      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3817      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     3818      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3819      27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3820      67,    -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,
     3821      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3822      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3823      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3824      -1,    78,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3825     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3826      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3827      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3828     117,   118,    10,    11,    12,    13,    14,    15,    16,    17,
     3829      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3830      28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3831      -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     3832      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3833      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
     3834      -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
     3835      78,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3836      19,    20,    21,    22,    23,    24,    25,    26,    27,    67,
     3837      -1,    30,    31,    32,    -1,    -1,    74,    75,    -1,    -1,
     3838      39,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3839     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3841      -1,    -1,    -1,   111,    -1,    74,    75,    -1,    -1,   117,
     3842     118,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3843      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3844      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3845      39,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3846      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3847      20,    21,    22,    23,    24,    25,    26,    27,    67,    -1,
     3848      30,    31,    32,    -1,    -1,    74,    75,    -1,    -1,    39,
     3849      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3850      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3851      30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
     3852      -1,    -1,   111,    -1,    74,    75,    -1,    -1,   117,   118,
     3853      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3854      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3855      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
     3856      -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,
     3857      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3858      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3859      -1,   111,    30,    31,    32,    -1,    -1,   117,   118,    -1,
     3860      -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     3861      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3862      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
     3863      -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
     3864      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3865      20,    21,    22,    23,    24,    25,    26,    27,    -1,    67,
     3866      30,    31,    32,    -1,    -1,    -1,    74,    75,    -1,    39,
     3867      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3868     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3869      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3870      -1,    -1,    -1,   111,    74,    75,    -1,    -1,    -1,   117,
     3871     118,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3872      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3873      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3874      -1,    -1,    -1,    -1,    -1,    -1,    39,   117,   118,    -1,
    37243875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37253876      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3726       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3727       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3728       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3729       30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
    3730       40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    3731       -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3732       -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
    3733       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3734       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3877      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3878      -1,    74,    75,    37,    38,    -1,    40,    41,    -1,    43,
     3879      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
     3880      -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,
     3881      64,    -1,    66,    -1,    -1,    -1,    -1,   110,    72,    -1,
     3882      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3883      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    37353884      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3737       -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,   119,
    3738      120,   121,   122,    10,    11,    12,    13,    14,    15,    16,
    3739       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3740       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3741       37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
    3742       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3743       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
    3744       67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,    76,
    3745       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3746       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3747       -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3748       76,    -1,   109,   110,   111,    -1,    -1,    83,    84,    -1,
    3749      117,   118,   119,   120,   121,   122,    10,    11,    12,    13,
    3750       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3751       24,    25,    26,    27,    -1,   111,    30,    31,    32,    -1,
    3752       -1,   117,   118,    37,    38,    39,    40,    10,    11,    12,
    3753       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3754       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3755       -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
    3756       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3757       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3758       -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
    3759       -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3760       83,    84,    -1,   117,   118,   119,   120,   121,   122,    10,
    3761       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3762       21,    22,    23,    24,    25,    26,    27,    -1,   111,    30,
    3763       31,    32,    -1,    -1,   117,   118,    37,    38,    39,    40,
    3764       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3765       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3766       30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
    3767       40,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3768       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3770       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3771      111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
    3772      121,   122,    10,    11,    12,    13,    14,    15,    16,    17,
    3773       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3774       -1,   111,    30,    31,    32,   115,    -1,   117,   118,    37,
    3775       38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    3776       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3777       27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
    3778       -1,    -1,    39,    -1,    72,    -1,    74,    75,    76,    -1,
    3779       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3781       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3782       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
    3783      118,   119,   120,   121,   122,    10,    11,    12,    13,    14,
    3784       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3785       25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
    3786      117,   118,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3787       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3788       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3789       27,    66,    67,    30,    31,    32,    -1,    72,    -1,    74,
    3790       75,    76,    39,    -1,    79,    80,    81,    82,    83,    84,
    3791       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3793       67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,
    3794       -1,    -1,   117,   118,   119,   120,   121,   122,     3,     4,
    3795        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3796       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3797       25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
    3798      117,   118,    -1,    -1,    39,    -1,    -1,    -1,    10,    11,
    3799       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3800       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3801       32,    -1,    67,    -1,    69,    -1,    71,    39,    -1,    74,
    3802       75,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3803       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3804       24,    25,    26,    27,    -1,    67,    30,    31,    32,    -1,
    3805       72,    -1,    74,    75,    76,    39,    -1,    -1,    -1,   114,
    3806       -1,    83,    84,    -1,    10,    11,    12,    13,    14,    15,
    3807       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3808       26,    27,    -1,    67,    30,    31,    32,   109,    72,   111,
    3809       74,    75,    76,    39,    -1,   117,   118,    -1,    -1,    83,
    3810       84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3811       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3812       -1,    67,    30,    31,    32,   109,    72,   111,    74,    75,
    3813       76,    39,    -1,   117,   118,    -1,    -1,    83,    84,    -1,
    3814       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3815       20,    21,    22,    23,    24,    25,    26,    27,    28,    67,
    3816       30,    31,    32,   109,    72,   111,    74,    75,    76,    39,
    3817       -1,   117,   118,    -1,    -1,    83,    84,    -1,    10,    11,
    3818       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3819       22,    23,    24,    25,    26,    27,    28,    67,    30,    31,
    3820       32,   109,    -1,   111,    74,    75,    -1,    39,    78,   117,
    3821      118,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3822       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3823       -1,    30,    31,    32,    -1,    67,    -1,    -1,    -1,   109,
    3824       39,   111,    74,    75,    -1,    -1,    78,   117,   118,    10,
    3825       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3826       21,    22,    23,    24,    25,    26,    27,    -1,    67,    30,
    3827       31,    32,    -1,    -1,    -1,    74,    75,    -1,    39,   111,
    3828       -1,    -1,    -1,    -1,    -1,   117,   118,    10,    11,    12,
    3829       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3830       23,    24,    25,    26,    27,    -1,    67,    30,    31,    32,
    3831       -1,    -1,   111,    74,    75,    -1,    39,    -1,   117,   118,
    3832       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3833       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3834       30,    31,    32,    -1,    67,    -1,    -1,    -1,    -1,    39,
    3835      111,    74,    75,    -1,    -1,    -1,   117,   118,    10,    11,
    3836       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3837       22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
    3838       32,    -1,    -1,    -1,    74,    75,    -1,    39,   111,    -1,
    3839       -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,
    3840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3842       -1,   111,    74,    75,    -1,    -1,    -1,   117,   118,     4,
    3843        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3844       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3845       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,   111,
    3846       -1,    -1,    -1,    -1,    39,   117,   118,    -1,    -1,    -1,
    3847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3849       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3850       75,    37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,
     3885      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3886     114,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
     3887      -1,    37,    38,   127,    40,    41,    -1,    43,   132,    -1,
    38513888      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
    3852       56,    57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,
    3853       66,    -1,    -1,    -1,    -1,   110,    72,    -1,    -1,    -1,
     3889      -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,
     3890      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    38543891      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    38553892      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38563893      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38573894      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
    3858       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    37,
    3859       38,   127,    40,    41,    -1,    43,   132,    -1,    46,    47,
    3860       48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
    3861       -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
    3862       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3863       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3895      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
     3896      -1,   127,    -1,    -1,    -1,    -1,   132,     4,     5,     6,
     3897       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3898      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3899      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3900      -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,    -1,
     3901      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     3902      53,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,
     3903      67,    64,    69,    66,    71,    -1,    -1,    74,    75,    72,
     3904      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     3905      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    96,
    38643906      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3866       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,
    3867      118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,
    3868       -1,    -1,    -1,    -1,   132,     4,     5,     6,     7,     8,
    3869        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3870       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3871       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3872       39,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
     3907      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     3908      -1,   114,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3909      -1,    -1,    37,    38,   127,    40,    41,    -1,    43,    44,
    38733910      45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3874       -1,    56,    57,    -1,    -1,    -1,    61,    62,    67,    64,
    3875       69,    66,    71,    -1,    -1,    74,    75,    72,    -1,    -1,
     3911      -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
     3912      -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    38763913      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3877       -1,    86,    87,    -1,    -1,    -1,    -1,    96,    -1,    -1,
     3914      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38783915      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38793916      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    38803917      -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3881       37,    38,   127,    40,    41,    -1,    43,    44,    45,    46,
     3918      37,    38,   127,    40,    41,    -1,    43,    -1,    -1,    46,
    38823919      47,    48,    49,    50,    51,    52,    53,    -1,    -1,    -1,
    38833920      57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,
    38843921      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    38853922      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3886       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3923      87,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
     3924      40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3925      -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,
     3926     117,   118,   119,   120,   121,   122,    66,    -1,    -1,    -1,
     3927     127,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     3928      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3929      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
     3930      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3931      -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,   119,
     3932     120,   121,   122,    66,    -1,    -1,    -1,    -1,    -1,    72,
     3933      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     3934      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3935      -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
     3936      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     3937      37,    38,    -1,    40,   117,   118,   119,   120,   121,   122,
     3938      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
     3939      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    66,
     3940      86,    87,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     3941      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3942      87,    -1,    -1,   109,    -1,   111,    -1,    37,    38,    -1,
     3943      40,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
     3944      -1,    -1,   109,    -1,   111,    -1,    37,    38,    -1,    40,
     3945     117,   118,   119,   120,   121,   122,    66,    -1,    -1,    -1,
     3946      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     3947      80,    81,    82,    83,    84,    66,    86,    87,    -1,    -1,
     3948      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     3949      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,   109,
     3950      -1,    -1,    -1,    37,    38,    -1,    40,   117,   118,   119,
     3951     120,   121,   122,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3952      -1,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
     3953     121,   122,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     3954      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3955      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    38873956      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3888       -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,
    3889      117,   118,   119,   120,   121,   122,    -1,    -1,    37,    38,
    3890      127,    40,    41,    -1,    43,    -1,    -1,    46,    47,    48,
    3891       49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
    3892       -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
    3893       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3894       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3895       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,
    3896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3897      109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,
    3898      119,   120,   121,   122,    66,    -1,    -1,    -1,   127,    -1,
    3899       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3900       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3901       -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3902       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3903       -1,   113,   114,    -1,    -1,   117,   118,   119,   120,   121,
    3904      122,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3905       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3906       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    37,
    3907       38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3908       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    37,    38,
    3909       -1,    40,   117,   118,   119,   120,   121,   122,    66,    -1,
    3910       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3911       -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
    3912       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3913       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3914       -1,   109,    -1,   111,    -1,    37,    38,    -1,    40,   117,
    3915      118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,    -1,
    3916      109,    -1,    -1,    -1,    37,    38,    -1,    40,   117,   118,
    3917      119,   120,   121,   122,    66,    -1,    -1,    -1,    -1,    -1,
    3918       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    3919       82,    83,    84,    66,    86,    87,    -1,    -1,    -1,    72,
    3920       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3921       83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,    -1,
    3922       -1,    37,    38,    -1,    40,   117,   118,   119,   120,   121,
    3923      122,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
    3924       -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
    3925       66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    3926       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3927       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3929       -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
    3930       -1,   117,   118,   119,   120,   121,   122,     4,     5,     6,
    3931        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3932       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3933       27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3934       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3937       67,    -1,    69,    -1,    71,    72,    -1,    74,    75,    76,
    3938       -1,    -1,    -1,    -1,    -1,    -1,    83,    84,     3,     4,
     3957      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
     3958      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,     4,
    39393959       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    39403960      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3941       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3961      25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39423962      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
    39433963      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39443964      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3945       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3946       75,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3947       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3948       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3949       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3965      -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3966      75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
     3967       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3968      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3969      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3970      -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
    39503971      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39513972      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3952       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3953       -1,    -1,    74,    75,     4,     5,     6,     7,     8,     9,
     3973      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3974      -1,    74,    75,     3,     4,     5,     6,     7,     8,     9,
    39543975      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    39553976      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    39563977      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3957       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3958       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3959       -1,    30,    31,    32,    33,    34,    35,    67,    -1,    69,
    3960       39,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
    39613978      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3963       -1,    -1,    -1,    -1,    -1,    74,    75
     3979      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3980      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3981      -1,    71,    -1,    -1,    74,    75,     4,     5,     6,     7,
     3982       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3983      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3984      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3985      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3986      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3987      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3988      -1,    69,    -1,    71,    -1,    -1,    74,    75
    39643989};
    39653990
     
    39754000     198,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    39764001     221,   222,   223,   224,   225,   226,   227,   228,   229,   231,
    3977      232,   233,   234,   235,   236,   237,   238,   240,   241,   242,
    3978      243,   244,   245,   247,   255,   256,   283,   284,   285,   293,
    3979      296,   302,   303,   305,   307,   308,   314,   319,   323,   324,
    3980      325,   326,   327,   328,   329,   330,   350,   367,   368,   369,
    3981      370,    72,   139,   140,   149,   215,   217,   225,   227,   237,
    3982      241,   243,   284,    82,   109,   312,   313,   314,   312,   312,
    3983       72,    74,    75,    76,   138,   139,   273,   274,   294,   295,
    3984       74,    75,   274,   109,   305,    11,   199,   109,   149,   319,
    3985      324,   325,   326,   328,   329,   330,   112,   134,   111,   218,
    3986      225,   227,   323,   327,   366,   367,   370,   371,   135,   107,
    3987      131,   277,   114,   135,   173,    74,    75,   137,   272,   135,
    3988      135,   135,   116,   135,    74,    75,   109,   149,   309,   318,
    3989      319,   320,   321,   322,   323,   327,   331,   332,   333,   334,
    3990      335,   341,     3,    28,    78,   239,     3,     5,    74,   111,
    3991      149,   217,   228,   232,   235,   244,   285,   323,   327,   370,
    3992      215,   217,   227,   237,   241,   243,   284,   323,   327,    33,
    3993      233,   233,   228,   235,   135,   233,   228,   233,   228,    75,
    3994      109,   114,   274,   285,   114,   274,   233,   228,   116,   135,
    3995      135,     0,   134,   109,   173,   312,   312,   134,   111,   225,
    3996      227,   368,   272,   272,   131,   227,   109,   149,   309,   319,
    3997      323,   111,   149,   370,   306,   230,   314,   109,   290,   109,
    3998      109,    51,   109,    37,    38,    40,    66,    72,    76,    79,
    3999       80,    81,    82,    86,    87,   109,   111,   119,   120,   121,
    4000      122,   136,   140,   141,   142,   143,   148,   149,   150,   151,
    4001      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    4002      162,   164,   167,   225,   276,   292,   366,   371,   227,   110,
    4003      110,   110,   110,   110,   110,   110,    74,    75,   111,   225,
    4004      272,   350,   368,   111,   117,   149,   164,   217,   218,   224,
    4005      227,   231,   232,   237,   240,   241,   243,   262,   263,   267,
    4006      268,   269,   270,   284,   350,   362,   363,   364,   365,   370,
    4007      371,   112,   109,   323,   327,   370,   109,   116,   132,   111,
    4008      114,   149,   164,   278,   278,   115,   134,   116,   132,   109,
    4009      116,   132,   116,   132,   116,   132,   312,   132,   319,   320,
    4010      321,   322,   332,   333,   334,   335,   227,   318,   331,    64,
    4011      311,   111,   312,   349,   350,   312,   312,   173,   134,   109,
    4012      312,   349,   312,   312,   227,   309,   109,   109,   226,   227,
    4013      225,   227,   112,   134,   225,   366,   371,   173,   134,   272,
    4014      277,   217,   232,   323,   327,   173,   134,   294,   227,   237,
    4015      132,   227,   227,   292,   248,   246,   258,   274,   257,   227,
    4016      294,   132,   132,   305,   134,   139,   271,     3,   135,   207,
    4017      208,   222,   224,   227,   134,   311,   109,   311,   164,   319,
    4018      227,   109,   134,   272,   114,    33,    34,    35,   225,   286,
    4019      287,   289,   134,   128,   131,   291,   134,   228,   234,   235,
    4020      272,   315,   316,   317,   109,   141,   109,   148,   109,   148,
    4021      151,   109,   148,   109,   109,   148,   148,   111,   164,   169,
    4022      173,   225,   275,   366,   370,   112,   134,    82,    85,    86,
    4023       87,   109,   111,   113,   114,    97,    98,    99,   100,   101,
    4024      102,   103,   104,   105,   106,   131,   166,   151,   151,   117,
    4025      123,   124,   119,   120,    88,    89,    90,    91,   125,   126,
    4026       92,    93,   118,   127,   128,    94,    95,   129,   131,   373,
    4027      109,   149,   345,   346,   347,   348,   349,   110,   116,   109,
    4028      349,   350,   109,   349,   350,   134,   109,   225,   368,   112,
    4029      134,   135,   111,   225,   227,   361,   362,   370,   371,   135,
    4030      109,   111,   149,   319,   336,   337,   338,   339,   340,   341,
    4031      342,   343,   344,   350,   351,   352,   353,   354,   355,   356,
    4032      149,   370,   227,   135,   135,   149,   225,   227,   363,   272,
    4033      225,   350,   363,   272,   109,   134,   134,   134,   112,   134,
    4034       72,   111,   113,   140,   274,   278,   279,   280,   281,   282,
    4035      134,   134,   134,   134,   134,   134,   309,   110,   110,   110,
    4036      110,   110,   110,   110,   318,   331,   109,   277,   112,   207,
    4037      134,   309,   169,   276,   169,   276,   309,   111,   207,   311,
    4038      173,   134,   207,   110,    40,   111,   115,   225,   249,   250,
    4039      251,   366,   114,   116,   372,   131,   259,   114,   227,   264,
    4040      265,   266,   269,   270,   110,   116,   173,   134,   117,   164,
    4041      134,   224,   227,   263,   362,   370,   303,   304,   109,   149,
    4042      336,   110,   116,   373,   274,   286,   109,   114,   274,   276,
    4043      286,   110,   116,   109,   141,   110,   130,   275,   275,   275,
    4044      145,   164,   276,   275,   112,   134,   110,   116,   110,   109,
    4045      149,   349,   357,   358,   359,   360,   110,   116,   164,   111,
    4046      139,   144,   145,   134,   111,   139,   144,   164,   151,   151,
    4047      151,   152,   152,   153,   153,   154,   154,   154,   154,   155,
    4048      155,   156,   157,   158,   159,   160,   130,   169,   164,   134,
    4049      346,   347,   348,   227,   345,   312,   312,   164,   276,   134,
    4050      271,   134,   225,   350,   363,   227,   231,   112,   112,   134,
    4051      370,   112,   109,   134,   319,   337,   338,   339,   342,   352,
    4052      353,   354,   112,   134,   227,   336,   340,   351,   109,   312,
    4053      355,   373,   312,   312,   373,   109,   312,   355,   312,   312,
    4054      312,   312,   350,   225,   361,   371,   272,   112,   116,   112,
    4055      116,   373,   225,   363,   373,   260,   261,   262,   263,   260,
    4056      260,   272,   164,   134,   111,   274,   130,   116,   372,   278,
    4057      111,   130,   282,    29,   209,   210,   272,   260,   139,   309,
    4058      139,   311,   109,   349,   350,   109,   349,   350,   141,   350,
    4059      173,   264,   110,   110,   110,   110,   112,   173,   207,   173,
    4060      114,   250,   251,   112,   134,   109,   130,   149,   252,   254,
    4061      318,   319,   331,   357,   116,   132,   116,   132,   274,   248,
    4062      274,   115,   162,   163,   258,   135,   135,   139,   222,   135,
    4063      135,   260,   109,   149,   370,   135,   115,   227,   287,   288,
    4064      135,   134,   134,   109,   135,   110,   316,   169,   170,   130,
    4065      132,   111,   141,   200,   201,   202,   110,   116,   110,   110,
    4066      110,   110,   111,   164,   358,   359,   360,   227,   357,   312,
    4067      312,   114,   151,   167,   164,   165,   168,   116,   135,   134,
    4068      110,   116,   164,   134,   115,   162,   130,   264,   110,   110,
    4069      110,   345,   264,   110,   260,   225,   363,   111,   117,   149,
    4070      164,   164,   227,   342,   264,   110,   110,   110,   110,   110,
    4071      110,   110,     7,   227,   336,   340,   351,   134,   134,   373,
    4072      134,   134,   110,   135,   135,   135,   135,   277,   135,   162,
    4073      163,   164,   310,   134,   278,   280,   115,   134,   211,   274,
    4074       40,    41,    43,    46,    47,    48,    49,    50,    51,    52,
    4075       53,    57,    61,    62,    72,   111,   127,   170,   171,   172,
    4076      173,   174,   175,   177,   178,   190,   192,   193,   198,   212,
    4077      308,    29,   135,   131,   277,   134,   134,   110,   135,   173,
    4078      248,   132,   132,   319,   163,   227,   253,   254,   253,   274,
    4079      312,   115,   259,   372,   110,   116,   112,   112,   135,   227,
    4080      116,   373,   290,   110,   286,   215,   217,   225,   298,   299,
    4081      300,   301,   292,   110,   110,   130,   163,   109,   110,   130,
    4082      116,   139,   112,   110,   110,   110,   357,   279,   116,   135,
    4083      168,   112,   139,   146,   147,   145,   135,   146,   162,   167,
    4084      135,   109,   349,   350,   135,   135,   134,   135,   135,   135,
    4085      164,   110,   135,   109,   349,   350,   109,   355,   109,   355,
    4086      350,   226,     7,   117,   135,   164,   264,   264,   263,   267,
    4087      267,   268,   116,   116,   110,   110,   112,    96,   122,   135,
    4088      135,   146,   278,   164,   116,   132,   212,   216,   227,   231,
    4089      109,   109,   171,   109,   109,    72,   132,    72,   132,    72,
    4090      117,   170,   109,   173,   165,   165,   130,   112,   143,   132,
    4091      135,   134,   135,   211,   110,   164,   264,   264,   312,   110,
    4092      115,   252,   115,   134,   110,   134,   135,   309,   115,   134,
    4093      135,   135,   110,   114,   200,   112,   163,   132,   200,   202,
    4094      110,   109,   349,   350,   372,   165,   112,   135,    85,   113,
    4095      116,   135,   112,   135,   110,   134,   110,   110,   112,   112,
    4096      112,   135,   110,   134,   134,   134,   164,   164,   135,   112,
    4097      135,   135,   135,   135,   134,   134,   163,   163,   112,   112,
    4098      135,   135,   274,   227,   169,   169,    47,   169,   134,   132,
    4099      132,   132,   169,   132,   169,    58,    59,    60,   194,   195,
    4100      196,   132,    63,   132,   312,   114,   175,   115,   132,   135,
    4101      135,    96,   269,   270,   110,   299,   116,   132,   116,   132,
    4102      115,   297,   130,   141,   110,   110,   130,   134,   115,   112,
    4103      111,   147,   111,   147,   147,   112,   112,   264,   112,   264,
    4104      264,   264,   135,   135,   112,   112,   110,   110,   112,   116,
    4105       96,   263,    96,   135,   112,   112,   110,   110,   109,   110,
    4106      170,   191,   212,   132,   110,   109,   109,   173,   196,    58,
    4107       59,   164,   171,   144,   110,   110,   114,   134,   134,   298,
    4108      141,   203,   109,   132,   203,   264,   134,   134,   135,   135,
    4109      135,   135,   112,   112,   134,   135,   112,   171,    44,    45,
    4110      114,   181,   182,   183,   169,   171,   135,   110,   170,   114,
    4111      183,    96,   134,    96,   134,   109,   109,   132,   115,   134,
    4112      272,   309,   115,   116,   130,   163,   110,   135,   146,   146,
    4113      110,   110,   110,   110,   267,    42,   163,   179,   180,   310,
    4114      130,   134,   171,   181,   110,   132,   171,   132,   134,   110,
    4115      134,   110,   134,    96,   134,    96,   134,   132,   298,   141,
    4116      139,   204,   110,   132,   110,   135,   135,   171,    96,   116,
    4117      130,   135,   205,   206,   212,   132,   170,   170,   205,   173,
    4118      197,   225,   366,   173,   197,   110,   134,   110,   134,   115,
    4119      110,   116,   112,   112,   163,   179,   182,   184,   185,   134,
    4120      132,   182,   186,   187,   135,   109,   149,   309,   357,   139,
    4121      135,   173,   197,   173,   197,   109,   132,   139,   171,   176,
    4122      115,   182,   212,   170,    56,   176,   189,   115,   182,   110,
    4123      227,   110,   135,   135,   292,   171,   176,   132,   188,   189,
    4124      176,   189,   173,   173,   110,   110,   110,   188,   135,   135,
    4125      173,   173,   135,   135
     4002     232,   233,   234,   235,   236,   237,   239,   240,   241,   242,
     4003     243,   244,   246,   254,   255,   282,   283,   284,   292,   295,
     4004     301,   302,   304,   306,   307,   313,   318,   322,   323,   324,
     4005     325,   326,   327,   328,   329,   349,   366,   367,   368,   369,
     4006      72,   139,   140,   149,   215,   217,   225,   227,   236,   240,
     4007     242,   283,    82,   109,   311,   312,   313,   311,   311,    72,
     4008      74,    75,    76,   138,   139,   272,   273,   293,   294,    74,
     4009      75,   273,   109,   304,    11,   199,   109,   149,   318,   323,
     4010     324,   325,   327,   328,   329,   112,   134,   111,   218,   225,
     4011     227,   322,   326,   365,   366,   369,   370,   135,   107,   131,
     4012     276,   114,   135,   173,    74,    75,   137,   271,   135,   135,
     4013     135,   116,   135,    74,    75,   109,   149,   308,   317,   318,
     4014     319,   320,   321,   322,   326,   330,   331,   332,   333,   334,
     4015     340,     3,    28,    78,   238,     3,     5,    74,   111,   149,
     4016     217,   228,   232,   234,   243,   284,   322,   326,   369,   215,
     4017     217,   227,   236,   240,   242,   283,   322,   326,    33,   233,
     4018     233,   228,   234,   135,   233,   228,   233,   228,    75,   109,
     4019     114,   273,   284,   114,   273,   233,   228,   116,   135,   135,
     4020       0,   134,   109,   173,   311,   311,   134,   111,   225,   227,
     4021     367,   271,   271,   131,   227,   109,   149,   308,   318,   322,
     4022     111,   149,   369,   305,   230,   313,   109,   289,   109,   109,
     4023      51,   109,    37,    38,    40,    66,    72,    76,    79,    80,
     4024      81,    82,    86,    87,   109,   111,   119,   120,   121,   122,
     4025     136,   140,   141,   142,   143,   148,   149,   150,   151,   152,
     4026     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
     4027     164,   167,   225,   275,   291,   365,   370,   227,   110,   110,
     4028     110,   110,   110,   110,   110,    74,    75,   111,   225,   271,
     4029     349,   367,   111,   117,   149,   164,   217,   218,   224,   227,
     4030     231,   232,   236,   239,   240,   242,   261,   262,   266,   267,
     4031     268,   269,   283,   349,   361,   362,   363,   364,   369,   370,
     4032     112,   109,   322,   326,   369,   109,   116,   132,   111,   114,
     4033     149,   164,   277,   277,   115,   134,   116,   132,   109,   116,
     4034     132,   116,   132,   116,   132,   311,   132,   318,   319,   320,
     4035     321,   331,   332,   333,   334,   227,   317,   330,    64,   310,
     4036     111,   311,   348,   349,   311,   311,   173,   134,   109,   311,
     4037     348,   311,   311,   227,   308,   109,   109,   226,   227,   225,
     4038     227,   112,   134,   225,   365,   370,   173,   134,   271,   276,
     4039     217,   232,   322,   326,   173,   134,   293,   227,   236,   132,
     4040     227,   227,   291,   247,   245,   257,   273,   256,   227,   293,
     4041     132,   132,   304,   134,   139,   270,     3,   135,   207,   208,
     4042     222,   224,   227,   134,   310,   109,   310,   164,   318,   227,
     4043     109,   134,   271,   114,    33,    34,    35,   225,   285,   286,
     4044     288,   134,   128,   131,   290,   134,   228,   233,   234,   271,
     4045     314,   315,   316,   109,   141,   109,   148,   109,   148,   151,
     4046     109,   148,   109,   109,   148,   148,   111,   164,   169,   173,
     4047     225,   274,   365,   369,   112,   134,    82,    85,    86,    87,
     4048     109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
     4049     103,   104,   105,   106,   131,   166,   151,   151,   117,   123,
     4050     124,   119,   120,    88,    89,    90,    91,   125,   126,    92,
     4051      93,   118,   127,   128,    94,    95,   129,   131,   372,   109,
     4052     149,   344,   345,   346,   347,   348,   110,   116,   109,   348,
     4053     349,   109,   348,   349,   134,   109,   225,   367,   112,   134,
     4054     135,   111,   225,   227,   360,   361,   369,   370,   135,   109,
     4055     111,   149,   318,   335,   336,   337,   338,   339,   340,   341,
     4056     342,   343,   349,   350,   351,   352,   353,   354,   355,   149,
     4057     369,   227,   135,   135,   149,   225,   227,   362,   271,   225,
     4058     349,   362,   271,   109,   134,   134,   134,   112,   134,    72,
     4059     111,   113,   140,   273,   277,   278,   279,   280,   281,   134,
     4060     134,   134,   134,   134,   134,   308,   110,   110,   110,   110,
     4061     110,   110,   110,   317,   330,   109,   276,   112,   207,   134,
     4062     308,   169,   275,   169,   275,   308,   111,   207,   310,   173,
     4063     134,   207,   110,    40,   111,   115,   225,   248,   249,   250,
     4064     365,   114,   116,   371,   131,   258,   114,   227,   263,   264,
     4065     265,   268,   269,   110,   116,   173,   134,   117,   164,   134,
     4066     224,   227,   262,   361,   369,   302,   303,   109,   149,   335,
     4067     110,   116,   372,   273,   285,   109,   114,   273,   275,   285,
     4068     110,   116,   109,   141,   110,   130,   274,   274,   274,   145,
     4069     164,   275,   274,   112,   134,   110,   116,   110,   109,   149,
     4070     348,   356,   357,   358,   359,   110,   116,   164,   111,   139,
     4071     144,   145,   134,   111,   139,   144,   164,   151,   151,   151,
     4072     152,   152,   153,   153,   154,   154,   154,   154,   155,   155,
     4073     156,   157,   158,   159,   160,   130,   169,   164,   134,   345,
     4074     346,   347,   227,   344,   311,   311,   164,   275,   134,   270,
     4075     134,   225,   349,   362,   227,   231,   112,   112,   134,   369,
     4076     112,   109,   134,   318,   336,   337,   338,   341,   351,   352,
     4077     353,   112,   134,   227,   335,   339,   350,   109,   311,   354,
     4078     372,   311,   311,   372,   109,   311,   354,   311,   311,   311,
     4079     311,   349,   225,   360,   370,   271,   112,   116,   112,   116,
     4080     372,   225,   362,   372,   259,   260,   261,   262,   259,   259,
     4081     271,   164,   134,   111,   273,   130,   116,   371,   277,   111,
     4082     130,   281,    29,   209,   210,   271,   259,   139,   308,   139,
     4083     310,   109,   348,   349,   109,   348,   349,   141,   349,   173,
     4084     263,   110,   110,   110,   110,   112,   173,   207,   173,   114,
     4085     249,   250,   112,   134,   109,   130,   149,   251,   253,   317,
     4086     318,   330,   356,   116,   132,   116,   132,   273,   247,   273,
     4087     115,   162,   163,   257,   135,   135,   139,   222,   135,   135,
     4088     259,   109,   149,   369,   135,   115,   227,   286,   287,   135,
     4089     134,   134,   109,   135,   110,   315,   169,   170,   130,   132,
     4090     111,   141,   200,   201,   202,   110,   116,   110,   110,   110,
     4091     110,   111,   164,   357,   358,   359,   227,   356,   311,   311,
     4092     114,   151,   167,   164,   165,   168,   116,   135,   134,   110,
     4093     116,   164,   134,   115,   162,   130,   263,   110,   110,   110,
     4094     344,   263,   110,   259,   225,   362,   111,   117,   149,   164,
     4095     164,   227,   341,   263,   110,   110,   110,   110,   110,   110,
     4096     110,     7,   227,   335,   339,   350,   134,   134,   372,   134,
     4097     134,   110,   135,   135,   135,   135,   276,   135,   162,   163,
     4098     164,   309,   134,   277,   279,   115,   134,   211,   273,    40,
     4099      41,    43,    46,    47,    48,    49,    50,    51,    52,    53,
     4100      57,    61,    62,    72,   111,   127,   170,   171,   172,   173,
     4101     174,   175,   177,   178,   190,   192,   193,   198,   212,   307,
     4102      29,   135,   131,   276,   134,   134,   110,   135,   173,   247,
     4103     132,   132,   318,   163,   227,   252,   253,   252,   273,   311,
     4104     115,   258,   371,   110,   116,   112,   112,   135,   227,   116,
     4105     372,   289,   110,   285,   215,   217,   225,   297,   298,   299,
     4106     300,   291,   110,   110,   130,   163,   109,   110,   130,   116,
     4107     139,   112,   110,   110,   110,   356,   278,   116,   135,   168,
     4108     112,   139,   146,   147,   145,   135,   146,   162,   167,   135,
     4109     109,   348,   349,   135,   135,   134,   135,   135,   135,   164,
     4110     110,   135,   109,   348,   349,   109,   354,   109,   354,   349,
     4111     226,     7,   117,   135,   164,   263,   263,   262,   266,   266,
     4112     267,   116,   116,   110,   110,   112,    96,   122,   135,   135,
     4113     146,   277,   164,   116,   132,   212,   216,   227,   231,   109,
     4114     109,   171,   109,   109,    72,   132,    72,   132,    72,   117,
     4115     170,   109,   173,   165,   165,   130,   112,   143,   132,   135,
     4116     134,   135,   211,   110,   164,   263,   263,   311,   110,   115,
     4117     251,   115,   134,   110,   134,   135,   308,   115,   134,   135,
     4118     135,   110,   114,   200,   112,   163,   132,   200,   202,   110,
     4119     109,   348,   349,   371,   165,   112,   135,    85,   113,   116,
     4120     135,   112,   135,   110,   134,   110,   110,   112,   112,   112,
     4121     135,   110,   134,   134,   134,   164,   164,   135,   112,   135,
     4122     135,   135,   135,   134,   134,   163,   163,   112,   112,   135,
     4123     135,   273,   227,   169,   169,    47,   169,   134,   132,   132,
     4124     132,   169,   132,   169,    58,    59,    60,   194,   195,   196,
     4125     132,    63,   132,   311,   114,   175,   115,   132,   135,   135,
     4126      96,   268,   269,   110,   298,   116,   132,   116,   132,   115,
     4127     296,   130,   141,   110,   110,   130,   134,   115,   112,   111,
     4128     147,   111,   147,   147,   112,   112,   263,   112,   263,   263,
     4129     263,   135,   135,   112,   112,   110,   110,   112,   116,    96,
     4130     262,    96,   135,   112,   112,   110,   110,   109,   110,   170,
     4131     191,   212,   132,   110,   109,   109,   173,   196,    58,    59,
     4132     164,   171,   144,   110,   110,   114,   134,   134,   297,   141,
     4133     203,   109,   132,   203,   263,   134,   134,   135,   135,   135,
     4134     135,   112,   112,   134,   135,   112,   171,    44,    45,   114,
     4135     181,   182,   183,   169,   171,   135,   110,   170,   114,   183,
     4136      96,   134,    96,   134,   109,   109,   132,   115,   134,   271,
     4137     308,   115,   116,   130,   163,   110,   135,   146,   146,   110,
     4138     110,   110,   110,   266,    42,   163,   179,   180,   309,   130,
     4139     134,   171,   181,   110,   132,   171,   132,   134,   110,   134,
     4140     110,   134,    96,   134,    96,   134,   132,   297,   141,   139,
     4141     204,   110,   132,   110,   135,   135,   171,    96,   116,   130,
     4142     135,   205,   206,   212,   132,   170,   170,   205,   173,   197,
     4143     225,   365,   173,   197,   110,   134,   110,   134,   115,   110,
     4144     116,   112,   112,   163,   179,   182,   184,   185,   134,   132,
     4145     182,   186,   187,   135,   109,   149,   308,   356,   139,   135,
     4146     173,   197,   173,   197,   109,   132,   139,   171,   176,   115,
     4147     182,   212,   170,    56,   176,   189,   115,   182,   110,   227,
     4148     110,   135,   135,   291,   171,   176,   132,   188,   189,   176,
     4149     189,   173,   173,   110,   110,   110,   188,   135,   135,   173,
     4150     173,   135,   135
    41264151};
    41274152
     
    66296654    break;
    66306655
     6656  case 309:
     6657
     6658/* Line 1806 of yacc.c  */
     6659#line 1327 "parser.yy"
     6660    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6661    break;
     6662
    66316663  case 310:
    66326664
    66336665/* Line 1806 of yacc.c  */
     6666#line 1329 "parser.yy"
     6667    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6668    break;
     6669
     6670  case 311:
     6671
     6672/* Line 1806 of yacc.c  */
    66346673#line 1331 "parser.yy"
    6635     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    6636     break;
    6637 
    6638   case 311:
     6674    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6675    break;
     6676
     6677  case 312:
    66396678
    66406679/* Line 1806 of yacc.c  */
    66416680#line 1333 "parser.yy"
    6642     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    6643     break;
    6644 
    6645   case 312:
     6681    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6682    break;
     6683
     6684  case 313:
    66466685
    66476686/* Line 1806 of yacc.c  */
    66486687#line 1335 "parser.yy"
    6649     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    6650     break;
    6651 
    6652   case 313:
     6688    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6689    break;
     6690
     6691  case 314:
    66536692
    66546693/* Line 1806 of yacc.c  */
    66556694#line 1337 "parser.yy"
    6656     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    6657     break;
    6658 
    6659   case 314:
     6695    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6696    break;
     6697
     6698  case 315:
    66606699
    66616700/* Line 1806 of yacc.c  */
    66626701#line 1339 "parser.yy"
    6663     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    6664     break;
    6665 
    6666   case 315:
     6702    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6703    break;
     6704
     6705  case 316:
    66676706
    66686707/* Line 1806 of yacc.c  */
    66696708#line 1341 "parser.yy"
    6670     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    6671     break;
    6672 
    6673   case 316:
    6674 
    6675 /* Line 1806 of yacc.c  */
    6676 #line 1343 "parser.yy"
    6677     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6709    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    66786710    break;
    66796711
     
    66816713
    66826714/* Line 1806 of yacc.c  */
    6683 #line 1345 "parser.yy"
    6684     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6715#line 1346 "parser.yy"
     6716    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    66856717    break;
    66866718
     
    66886720
    66896721/* Line 1806 of yacc.c  */
     6722#line 1348 "parser.yy"
     6723    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6724    break;
     6725
     6726  case 319:
     6727
     6728/* Line 1806 of yacc.c  */
    66906729#line 1350 "parser.yy"
    6691     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    6692     break;
    6693 
    6694   case 319:
     6730    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6731    break;
     6732
     6733  case 320:
    66956734
    66966735/* Line 1806 of yacc.c  */
    66976736#line 1352 "parser.yy"
    6698     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    6699     break;
    6700 
    6701   case 320:
     6737    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6738    break;
     6739
     6740  case 321:
    67026741
    67036742/* Line 1806 of yacc.c  */
    67046743#line 1354 "parser.yy"
    6705     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    6706     break;
    6707 
    6708   case 321:
     6744    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6745    break;
     6746
     6747  case 322:
    67096748
    67106749/* Line 1806 of yacc.c  */
    67116750#line 1356 "parser.yy"
    6712     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    6713     break;
    6714 
    6715   case 322:
     6751    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     6752    break;
     6753
     6754  case 323:
    67166755
    67176756/* Line 1806 of yacc.c  */
    67186757#line 1358 "parser.yy"
    6719     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    6720     break;
    6721 
    6722   case 323:
     6758    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     6759    break;
     6760
     6761  case 324:
    67236762
    67246763/* Line 1806 of yacc.c  */
    67256764#line 1360 "parser.yy"
    6726     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    6727     break;
    6728 
    6729   case 324:
     6765    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     6766    break;
     6767
     6768  case 325:
    67306769
    67316770/* Line 1806 of yacc.c  */
    67326771#line 1362 "parser.yy"
    6733     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    6734     break;
    6735 
    6736   case 325:
     6772    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     6773    break;
     6774
     6775  case 326:
    67376776
    67386777/* Line 1806 of yacc.c  */
    67396778#line 1364 "parser.yy"
    6740     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    6741     break;
    6742 
    6743   case 326:
     6779    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     6780    break;
     6781
     6782  case 327:
    67446783
    67456784/* Line 1806 of yacc.c  */
    67466785#line 1366 "parser.yy"
    6747     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    6748     break;
    6749 
    6750   case 327:
     6786    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     6787    break;
     6788
     6789  case 328:
    67516790
    67526791/* Line 1806 of yacc.c  */
    67536792#line 1368 "parser.yy"
    6754     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    6755     break;
    6756 
    6757   case 328:
     6793    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     6794    break;
     6795
     6796  case 329:
    67586797
    67596798/* Line 1806 of yacc.c  */
    67606799#line 1370 "parser.yy"
    6761     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    6762     break;
    6763 
    6764   case 329:
    6765 
    6766 /* Line 1806 of yacc.c  */
    6767 #line 1372 "parser.yy"
    6768     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    6769     break;
    6770 
    6771   case 330:
    6772 
    6773 /* Line 1806 of yacc.c  */
    6774 #line 1374 "parser.yy"
    67756800    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    67766801    break;
    67776802
     6803  case 331:
     6804
     6805/* Line 1806 of yacc.c  */
     6806#line 1377 "parser.yy"
     6807    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6808    break;
     6809
    67786810  case 332:
    67796811
    67806812/* Line 1806 of yacc.c  */
     6813#line 1379 "parser.yy"
     6814    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6815    break;
     6816
     6817  case 333:
     6818
     6819/* Line 1806 of yacc.c  */
    67816820#line 1381 "parser.yy"
     6821    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6822    break;
     6823
     6824  case 334:
     6825
     6826/* Line 1806 of yacc.c  */
     6827#line 1383 "parser.yy"
     6828    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     6829    break;
     6830
     6831  case 336:
     6832
     6833/* Line 1806 of yacc.c  */
     6834#line 1389 "parser.yy"
     6835    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6836    break;
     6837
     6838  case 338:
     6839
     6840/* Line 1806 of yacc.c  */
     6841#line 1396 "parser.yy"
    67826842    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67836843    break;
    67846844
    6785   case 333:
    6786 
    6787 /* Line 1806 of yacc.c  */
    6788 #line 1383 "parser.yy"
     6845  case 339:
     6846
     6847/* Line 1806 of yacc.c  */
     6848#line 1398 "parser.yy"
    67896849    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67906850    break;
    67916851
    6792   case 334:
    6793 
    6794 /* Line 1806 of yacc.c  */
    6795 #line 1385 "parser.yy"
     6852  case 340:
     6853
     6854/* Line 1806 of yacc.c  */
     6855#line 1400 "parser.yy"
     6856    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     6857    break;
     6858
     6859  case 341:
     6860
     6861/* Line 1806 of yacc.c  */
     6862#line 1405 "parser.yy"
     6863    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     6864    break;
     6865
     6866  case 342:
     6867
     6868/* Line 1806 of yacc.c  */
     6869#line 1407 "parser.yy"
     6870    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     6871    break;
     6872
     6873  case 343:
     6874
     6875/* Line 1806 of yacc.c  */
     6876#line 1409 "parser.yy"
     6877    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     6878    break;
     6879
     6880  case 344:
     6881
     6882/* Line 1806 of yacc.c  */
     6883#line 1411 "parser.yy"
     6884    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     6885    break;
     6886
     6887  case 346:
     6888
     6889/* Line 1806 of yacc.c  */
     6890#line 1417 "parser.yy"
     6891    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6892    break;
     6893
     6894  case 347:
     6895
     6896/* Line 1806 of yacc.c  */
     6897#line 1419 "parser.yy"
     6898    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6899    break;
     6900
     6901  case 348:
     6902
     6903/* Line 1806 of yacc.c  */
     6904#line 1421 "parser.yy"
    67966905    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67976906    break;
    67986907
    6799   case 335:
    6800 
    6801 /* Line 1806 of yacc.c  */
    6802 #line 1387 "parser.yy"
    6803     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    6804     break;
    6805 
    6806   case 337:
    6807 
    6808 /* Line 1806 of yacc.c  */
    6809 #line 1393 "parser.yy"
    6810     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6811     break;
    6812 
    6813   case 339:
    6814 
    6815 /* Line 1806 of yacc.c  */
    6816 #line 1400 "parser.yy"
     6908  case 350:
     6909
     6910/* Line 1806 of yacc.c  */
     6911#line 1427 "parser.yy"
    68176912    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68186913    break;
    68196914
    6820   case 340:
    6821 
    6822 /* Line 1806 of yacc.c  */
    6823 #line 1402 "parser.yy"
     6915  case 351:
     6916
     6917/* Line 1806 of yacc.c  */
     6918#line 1429 "parser.yy"
    68246919    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68256920    break;
    68266921
    6827   case 341:
    6828 
    6829 /* Line 1806 of yacc.c  */
    6830 #line 1404 "parser.yy"
    6831     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    6832     break;
    6833 
    6834   case 342:
    6835 
    6836 /* Line 1806 of yacc.c  */
    6837 #line 1409 "parser.yy"
    6838     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    6839     break;
    6840 
    6841   case 343:
    6842 
    6843 /* Line 1806 of yacc.c  */
    6844 #line 1411 "parser.yy"
    6845     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    6846     break;
    6847 
    6848   case 344:
    6849 
    6850 /* Line 1806 of yacc.c  */
    6851 #line 1413 "parser.yy"
    6852     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    6853     break;
    6854 
    6855   case 345:
    6856 
    6857 /* Line 1806 of yacc.c  */
    6858 #line 1415 "parser.yy"
    6859     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6860     break;
    6861 
    6862   case 347:
    6863 
    6864 /* Line 1806 of yacc.c  */
    6865 #line 1421 "parser.yy"
     6922  case 353:
     6923
     6924/* Line 1806 of yacc.c  */
     6925#line 1435 "parser.yy"
    68666926    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68676927    break;
    68686928
    6869   case 348:
    6870 
    6871 /* Line 1806 of yacc.c  */
    6872 #line 1423 "parser.yy"
     6929  case 354:
     6930
     6931/* Line 1806 of yacc.c  */
     6932#line 1437 "parser.yy"
    68736933    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68746934    break;
    68756935
    6876   case 349:
    6877 
    6878 /* Line 1806 of yacc.c  */
    6879 #line 1425 "parser.yy"
     6936  case 355:
     6937
     6938/* Line 1806 of yacc.c  */
     6939#line 1439 "parser.yy"
    68806940    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68816941    break;
    68826942
    6883   case 351:
    6884 
    6885 /* Line 1806 of yacc.c  */
    6886 #line 1431 "parser.yy"
    6887     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6888     break;
    6889 
    6890   case 352:
    6891 
    6892 /* Line 1806 of yacc.c  */
    6893 #line 1433 "parser.yy"
     6943  case 356:
     6944
     6945/* Line 1806 of yacc.c  */
     6946#line 1444 "parser.yy"
     6947    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     6948    break;
     6949
     6950  case 357:
     6951
     6952/* Line 1806 of yacc.c  */
     6953#line 1446 "parser.yy"
     6954    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6955    break;
     6956
     6957  case 358:
     6958
     6959/* Line 1806 of yacc.c  */
     6960#line 1448 "parser.yy"
    68946961    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68956962    break;
    68966963
    6897   case 354:
    6898 
    6899 /* Line 1806 of yacc.c  */
    6900 #line 1439 "parser.yy"
    6901     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6902     break;
    6903 
    6904   case 355:
    6905 
    6906 /* Line 1806 of yacc.c  */
    6907 #line 1441 "parser.yy"
    6908     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6909     break;
    6910 
    6911   case 356:
    6912 
    6913 /* Line 1806 of yacc.c  */
    6914 #line 1443 "parser.yy"
    6915     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6916     break;
    6917 
    6918   case 357:
    6919 
    6920 /* Line 1806 of yacc.c  */
    6921 #line 1448 "parser.yy"
    6922     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    6923     break;
    6924 
    6925   case 358:
    6926 
    6927 /* Line 1806 of yacc.c  */
    6928 #line 1450 "parser.yy"
    6929     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6930     break;
    6931 
    6932   case 359:
    6933 
    6934 /* Line 1806 of yacc.c  */
    6935 #line 1452 "parser.yy"
    6936     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6964  case 361:
     6965
     6966/* Line 1806 of yacc.c  */
     6967#line 1458 "parser.yy"
     6968    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); }
    69376969    break;
    69386970
     
    69406972
    69416973/* Line 1806 of yacc.c  */
    6942 #line 1462 "parser.yy"
    6943     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); }
    6944     break;
    6945 
    6946   case 363:
    6947 
    6948 /* Line 1806 of yacc.c  */
    6949 #line 1464 "parser.yy"
     6974#line 1460 "parser.yy"
    69506975    {
    69516976                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    69546979    break;
    69556980
     6981  case 363:
     6982
     6983/* Line 1806 of yacc.c  */
     6984#line 1465 "parser.yy"
     6985    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     6986    break;
     6987
    69566988  case 364:
    69576989
    69586990/* Line 1806 of yacc.c  */
     6991#line 1467 "parser.yy"
     6992    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); }
     6993    break;
     6994
     6995  case 365:
     6996
     6997/* Line 1806 of yacc.c  */
    69596998#line 1469 "parser.yy"
    6960     { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    6961     break;
    6962 
    6963   case 365:
     6999    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
     7000    break;
     7001
     7002  case 366:
    69647003
    69657004/* Line 1806 of yacc.c  */
    69667005#line 1471 "parser.yy"
    6967     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); }
    6968     break;
    6969 
    6970   case 366:
    6971 
    6972 /* Line 1806 of yacc.c  */
    6973 #line 1473 "parser.yy"
    6974     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
     7006    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69757007    break;
    69767008
     
    69787010
    69797011/* Line 1806 of yacc.c  */
    6980 #line 1475 "parser.yy"
    6981     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7012#line 1476 "parser.yy"
     7013    { (yyval.aggKey) = DeclarationNode::Struct; }
    69827014    break;
    69837015
     
    69857017
    69867018/* Line 1806 of yacc.c  */
    6987 #line 1480 "parser.yy"
    6988     { (yyval.aggKey) = DeclarationNode::Struct; }
     7019#line 1478 "parser.yy"
     7020    { (yyval.aggKey) = DeclarationNode::Union; }
    69897021    break;
    69907022
     
    69927024
    69937025/* Line 1806 of yacc.c  */
    6994 #line 1482 "parser.yy"
    6995     { (yyval.aggKey) = DeclarationNode::Union; }
     7026#line 1483 "parser.yy"
     7027    { (yyval.decl) = 0; }
    69967028    break;
    69977029
     
    69997031
    70007032/* Line 1806 of yacc.c  */
    7001 #line 1487 "parser.yy"
    7002     { (yyval.decl) = 0; }
    7003     break;
    7004 
    7005   case 371:
    7006 
    7007 /* Line 1806 of yacc.c  */
    7008 #line 1489 "parser.yy"
     7033#line 1485 "parser.yy"
    70097034    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    70107035    break;
    70117036
    7012   case 373:
    7013 
    7014 /* Line 1806 of yacc.c  */
    7015 #line 1495 "parser.yy"
     7037  case 372:
     7038
     7039/* Line 1806 of yacc.c  */
     7040#line 1491 "parser.yy"
    70167041    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }
    70177042    break;
    70187043
    7019   case 375:
    7020 
    7021 /* Line 1806 of yacc.c  */
    7022 #line 1498 "parser.yy"
     7044  case 374:
     7045
     7046/* Line 1806 of yacc.c  */
     7047#line 1494 "parser.yy"
    70237048    {   // mark all fields in list
    70247049                        for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_next() )
     
    70287053    break;
    70297054
     7055  case 376:
     7056
     7057/* Line 1806 of yacc.c  */
     7058#line 1504 "parser.yy"
     7059    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     7060    break;
     7061
    70307062  case 377:
    70317063
    70327064/* Line 1806 of yacc.c  */
     7065#line 1506 "parser.yy"
     7066    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     7067    break;
     7068
     7069  case 378:
     7070
     7071/* Line 1806 of yacc.c  */
    70337072#line 1508 "parser.yy"
    7034     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    7035     break;
    7036 
    7037   case 378:
    7038 
    7039 /* Line 1806 of yacc.c  */
    7040 #line 1510 "parser.yy"
    7041     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     7073    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70427074    break;
    70437075
     
    70457077
    70467078/* Line 1806 of yacc.c  */
    7047 #line 1512 "parser.yy"
    7048     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     7079#line 1513 "parser.yy"
     7080    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70497081    break;
    70507082
     
    70527084
    70537085/* Line 1806 of yacc.c  */
    7054 #line 1517 "parser.yy"
    7055     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7086#line 1515 "parser.yy"
     7087    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70567088    break;
    70577089
     
    70597091
    70607092/* Line 1806 of yacc.c  */
    7061 #line 1519 "parser.yy"
    7062     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     7093#line 1520 "parser.yy"
     7094    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70637095    break;
    70647096
     
    70667098
    70677099/* Line 1806 of yacc.c  */
    7068 #line 1524 "parser.yy"
    7069     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7100#line 1522 "parser.yy"
     7101    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70707102    break;
    70717103
     
    70737105
    70747106/* Line 1806 of yacc.c  */
    7075 #line 1526 "parser.yy"
    7076     { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
     7107#line 1525 "parser.yy"
     7108    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70777109    break;
    70787110
     
    70807112
    70817113/* Line 1806 of yacc.c  */
    7082 #line 1529 "parser.yy"
     7114#line 1528 "parser.yy"
    70837115    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70847116    break;
    70857117
    7086   case 385:
    7087 
    7088 /* Line 1806 of yacc.c  */
    7089 #line 1532 "parser.yy"
    7090     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7118  case 386:
     7119
     7120/* Line 1806 of yacc.c  */
     7121#line 1534 "parser.yy"
     7122    { (yyval.en) = 0; }
    70917123    break;
    70927124
     
    70947126
    70957127/* Line 1806 of yacc.c  */
    7096 #line 1538 "parser.yy"
    7097     { (yyval.en) = 0; }
     7128#line 1536 "parser.yy"
     7129    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    70987130    break;
    70997131
     
    71017133
    71027134/* Line 1806 of yacc.c  */
    7103 #line 1540 "parser.yy"
    7104     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    7105     break;
    7106 
    7107   case 389:
    7108 
    7109 /* Line 1806 of yacc.c  */
    7110 #line 1545 "parser.yy"
     7135#line 1541 "parser.yy"
    71117136    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71127137    break;
    71137138
     7139  case 390:
     7140
     7141/* Line 1806 of yacc.c  */
     7142#line 1550 "parser.yy"
     7143    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
     7144    break;
     7145
    71147146  case 391:
    71157147
    71167148/* Line 1806 of yacc.c  */
    7117 #line 1554 "parser.yy"
    7118     { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    7119     break;
    7120 
    7121   case 392:
    7122 
    7123 /* Line 1806 of yacc.c  */
    7124 #line 1556 "parser.yy"
     7149#line 1552 "parser.yy"
    71257150    {
    71267151                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    71297154    break;
    71307155
     7156  case 392:
     7157
     7158/* Line 1806 of yacc.c  */
     7159#line 1557 "parser.yy"
     7160    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7161    break;
     7162
    71317163  case 393:
    71327164
    71337165/* Line 1806 of yacc.c  */
    7134 #line 1561 "parser.yy"
    7135     { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7166#line 1559 "parser.yy"
     7167    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    71367168    break;
    71377169
     
    71397171
    71407172/* Line 1806 of yacc.c  */
    7141 #line 1563 "parser.yy"
    7142     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
     7173#line 1564 "parser.yy"
     7174    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71437175    break;
    71447176
     
    71467178
    71477179/* Line 1806 of yacc.c  */
    7148 #line 1568 "parser.yy"
    7149     { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
     7180#line 1566 "parser.yy"
     7181    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71507182    break;
    71517183
     
    71537185
    71547186/* Line 1806 of yacc.c  */
    7155 #line 1570 "parser.yy"
    7156     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
     7187#line 1571 "parser.yy"
     7188    { (yyval.en) = 0; }
    71577189    break;
    71587190
     
    71607192
    71617193/* Line 1806 of yacc.c  */
    7162 #line 1575 "parser.yy"
    7163     { (yyval.en) = 0; }
     7194#line 1573 "parser.yy"
     7195    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71647196    break;
    71657197
     
    71677199
    71687200/* Line 1806 of yacc.c  */
    7169 #line 1577 "parser.yy"
    7170     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7171     break;
    7172 
    7173   case 399:
    7174 
    7175 /* Line 1806 of yacc.c  */
    7176 #line 1584 "parser.yy"
     7201#line 1580 "parser.yy"
    71777202    { (yyval.decl) = 0; }
    71787203    break;
    71797204
     7205  case 402:
     7206
     7207/* Line 1806 of yacc.c  */
     7208#line 1588 "parser.yy"
     7209    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7210    break;
     7211
    71807212  case 403:
    71817213
    71827214/* Line 1806 of yacc.c  */
     7215#line 1590 "parser.yy"
     7216    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7217    break;
     7218
     7219  case 404:
     7220
     7221/* Line 1806 of yacc.c  */
    71837222#line 1592 "parser.yy"
     7223    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7224    break;
     7225
     7226  case 406:
     7227
     7228/* Line 1806 of yacc.c  */
     7229#line 1600 "parser.yy"
    71847230    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71857231    break;
    71867232
    7187   case 404:
    7188 
    7189 /* Line 1806 of yacc.c  */
    7190 #line 1594 "parser.yy"
     7233  case 407:
     7234
     7235/* Line 1806 of yacc.c  */
     7236#line 1602 "parser.yy"
     7237    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7238    break;
     7239
     7240  case 408:
     7241
     7242/* Line 1806 of yacc.c  */
     7243#line 1604 "parser.yy"
     7244    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7245    break;
     7246
     7247  case 410:
     7248
     7249/* Line 1806 of yacc.c  */
     7250#line 1610 "parser.yy"
     7251    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7252    break;
     7253
     7254  case 411:
     7255
     7256/* Line 1806 of yacc.c  */
     7257#line 1615 "parser.yy"
     7258    { (yyval.decl) = 0; }
     7259    break;
     7260
     7261  case 414:
     7262
     7263/* Line 1806 of yacc.c  */
     7264#line 1622 "parser.yy"
    71917265    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    71927266    break;
    71937267
    7194   case 405:
    7195 
    7196 /* Line 1806 of yacc.c  */
    7197 #line 1596 "parser.yy"
    7198     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7199     break;
    7200 
    7201   case 407:
    7202 
    7203 /* Line 1806 of yacc.c  */
    7204 #line 1604 "parser.yy"
     7268  case 417:
     7269
     7270/* Line 1806 of yacc.c  */
     7271#line 1629 "parser.yy"
    72057272    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72067273    break;
    72077274
    7208   case 408:
    7209 
    7210 /* Line 1806 of yacc.c  */
    7211 #line 1606 "parser.yy"
     7275  case 418:
     7276
     7277/* Line 1806 of yacc.c  */
     7278#line 1631 "parser.yy"
    72127279    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72137280    break;
    72147281
    7215   case 409:
    7216 
    7217 /* Line 1806 of yacc.c  */
    7218 #line 1608 "parser.yy"
    7219     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7220     break;
    7221 
    7222   case 411:
    7223 
    7224 /* Line 1806 of yacc.c  */
    7225 #line 1614 "parser.yy"
    7226     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7227     break;
    7228 
    7229   case 412:
    7230 
    7231 /* Line 1806 of yacc.c  */
    7232 #line 1619 "parser.yy"
    7233     { (yyval.decl) = 0; }
    7234     break;
    7235 
    7236   case 415:
    7237 
    7238 /* Line 1806 of yacc.c  */
    7239 #line 1626 "parser.yy"
    7240     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7241     break;
    7242 
    7243   case 418:
    7244 
    7245 /* Line 1806 of yacc.c  */
    7246 #line 1633 "parser.yy"
    7247     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7248     break;
    7249 
    7250   case 419:
    7251 
    7252 /* Line 1806 of yacc.c  */
    7253 #line 1635 "parser.yy"
    7254     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7282  case 420:
     7283
     7284/* Line 1806 of yacc.c  */
     7285#line 1640 "parser.yy"
     7286    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72557287    break;
    72567288
     
    72587290
    72597291/* Line 1806 of yacc.c  */
    7260 #line 1644 "parser.yy"
     7292#line 1643 "parser.yy"
    72617293    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72627294    break;
     
    72657297
    72667298/* Line 1806 of yacc.c  */
    7267 #line 1647 "parser.yy"
    7268     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7269     break;
    7270 
    7271   case 423:
    7272 
    7273 /* Line 1806 of yacc.c  */
    7274 #line 1649 "parser.yy"
     7299#line 1645 "parser.yy"
    72757300    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72767301    break;
    72777302
    7278   case 428:
    7279 
    7280 /* Line 1806 of yacc.c  */
    7281 #line 1659 "parser.yy"
     7303  case 427:
     7304
     7305/* Line 1806 of yacc.c  */
     7306#line 1655 "parser.yy"
    72827307    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72837308    break;
    72847309
    7285   case 430:
    7286 
    7287 /* Line 1806 of yacc.c  */
    7288 #line 1665 "parser.yy"
     7310  case 429:
     7311
     7312/* Line 1806 of yacc.c  */
     7313#line 1661 "parser.yy"
    72897314    {
    72907315                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72937318    break;
    72947319
    7295   case 431:
    7296 
    7297 /* Line 1806 of yacc.c  */
    7298 #line 1670 "parser.yy"
     7320  case 430:
     7321
     7322/* Line 1806 of yacc.c  */
     7323#line 1666 "parser.yy"
    72997324    {
    73007325                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73037328    break;
    73047329
     7330  case 432:
     7331
     7332/* Line 1806 of yacc.c  */
     7333#line 1675 "parser.yy"
     7334    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7335    break;
     7336
    73057337  case 433:
    73067338
    73077339/* Line 1806 of yacc.c  */
    7308 #line 1679 "parser.yy"
     7340#line 1684 "parser.yy"
     7341    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
     7342    break;
     7343
     7344  case 434:
     7345
     7346/* Line 1806 of yacc.c  */
     7347#line 1686 "parser.yy"
     7348    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7349    break;
     7350
     7351  case 446:
     7352
     7353/* Line 1806 of yacc.c  */
     7354#line 1711 "parser.yy"
    73097355    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73107356    break;
    73117357
    7312   case 434:
    7313 
    7314 /* Line 1806 of yacc.c  */
    7315 #line 1688 "parser.yy"
    7316     { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    7317     break;
    7318 
    7319   case 435:
    7320 
    7321 /* Line 1806 of yacc.c  */
    7322 #line 1690 "parser.yy"
    7323     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    7324     break;
    7325 
    7326   case 447:
    7327 
    7328 /* Line 1806 of yacc.c  */
    7329 #line 1715 "parser.yy"
     7358  case 450:
     7359
     7360/* Line 1806 of yacc.c  */
     7361#line 1719 "parser.yy"
    73307362    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73317363    break;
     
    73347366
    73357367/* Line 1806 of yacc.c  */
    7336 #line 1723 "parser.yy"
    7337     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7368#line 1724 "parser.yy"
     7369    { (yyval.in) = 0; }
    73387370    break;
    73397371
     
    73417373
    73427374/* Line 1806 of yacc.c  */
     7375#line 1726 "parser.yy"
     7376    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7377    break;
     7378
     7379  case 453:
     7380
     7381/* Line 1806 of yacc.c  */
    73437382#line 1728 "parser.yy"
     7383    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
     7384    break;
     7385
     7386  case 454:
     7387
     7388/* Line 1806 of yacc.c  */
     7389#line 1732 "parser.yy"
     7390    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7391    break;
     7392
     7393  case 455:
     7394
     7395/* Line 1806 of yacc.c  */
     7396#line 1733 "parser.yy"
     7397    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7398    break;
     7399
     7400  case 456:
     7401
     7402/* Line 1806 of yacc.c  */
     7403#line 1738 "parser.yy"
    73447404    { (yyval.in) = 0; }
    73457405    break;
    73467406
    7347   case 453:
    7348 
    7349 /* Line 1806 of yacc.c  */
    7350 #line 1730 "parser.yy"
    7351     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7352     break;
    7353 
    7354   case 454:
    7355 
    7356 /* Line 1806 of yacc.c  */
    7357 #line 1732 "parser.yy"
    7358     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    7359     break;
    7360 
    7361   case 455:
    7362 
    7363 /* Line 1806 of yacc.c  */
    7364 #line 1736 "parser.yy"
    7365     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7366     break;
    7367 
    7368   case 456:
    7369 
    7370 /* Line 1806 of yacc.c  */
    7371 #line 1737 "parser.yy"
    7372     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    7373     break;
    7374 
    7375   case 457:
    7376 
    7377 /* Line 1806 of yacc.c  */
    7378 #line 1742 "parser.yy"
    7379     { (yyval.in) = 0; }
     7407  case 458:
     7408
     7409/* Line 1806 of yacc.c  */
     7410#line 1740 "parser.yy"
     7411    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    73807412    break;
    73817413
     
    73837415
    73847416/* Line 1806 of yacc.c  */
    7385 #line 1744 "parser.yy"
    7386     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7417#line 1741 "parser.yy"
     7418    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    73877419    break;
    73887420
     
    73907422
    73917423/* Line 1806 of yacc.c  */
    7392 #line 1745 "parser.yy"
    7393     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    7394     break;
    7395 
    7396   case 461:
    7397 
    7398 /* Line 1806 of yacc.c  */
    7399 #line 1747 "parser.yy"
     7424#line 1743 "parser.yy"
    74007425    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74017426    break;
    74027427
    7403   case 463:
    7404 
    7405 /* Line 1806 of yacc.c  */
    7406 #line 1763 "parser.yy"
     7428  case 462:
     7429
     7430/* Line 1806 of yacc.c  */
     7431#line 1759 "parser.yy"
    74077432    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    74087433    break;
    74097434
     7435  case 464:
     7436
     7437/* Line 1806 of yacc.c  */
     7438#line 1765 "parser.yy"
     7439    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
     7440    break;
     7441
    74107442  case 465:
    74117443
    74127444/* Line 1806 of yacc.c  */
    7413 #line 1769 "parser.yy"
    7414     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
     7445#line 1771 "parser.yy"
     7446    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    74157447    break;
    74167448
     
    74187450
    74197451/* Line 1806 of yacc.c  */
    7420 #line 1775 "parser.yy"
    7421     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
     7452#line 1774 "parser.yy"
     7453    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74227454    break;
    74237455
     
    74257457
    74267458/* Line 1806 of yacc.c  */
     7459#line 1776 "parser.yy"
     7460    { (yyval.en) = (yyvsp[(3) - (5)].en); }
     7461    break;
     7462
     7463  case 468:
     7464
     7465/* Line 1806 of yacc.c  */
    74277466#line 1778 "parser.yy"
    7428     { (yyval.en) = (yyvsp[(3) - (5)].en); }
    7429     break;
    7430 
    7431   case 468:
     7467    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
     7468    break;
     7469
     7470  case 469:
    74327471
    74337472/* Line 1806 of yacc.c  */
    74347473#line 1780 "parser.yy"
    7435     { (yyval.en) = (yyvsp[(3) - (5)].en); }
    7436     break;
    7437 
    7438   case 469:
    7439 
    7440 /* Line 1806 of yacc.c  */
    7441 #line 1782 "parser.yy"
    7442     { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    7443     break;
    7444 
    7445   case 470:
    7446 
    7447 /* Line 1806 of yacc.c  */
    7448 #line 1784 "parser.yy"
    74497474    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    74507475    break;
    74517476
     7477  case 471:
     7478
     7479/* Line 1806 of yacc.c  */
     7480#line 1804 "parser.yy"
     7481    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7482    break;
     7483
    74527484  case 472:
    74537485
    74547486/* Line 1806 of yacc.c  */
     7487#line 1806 "parser.yy"
     7488    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7489    break;
     7490
     7491  case 473:
     7492
     7493/* Line 1806 of yacc.c  */
    74557494#line 1808 "parser.yy"
     7495    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7496    break;
     7497
     7498  case 475:
     7499
     7500/* Line 1806 of yacc.c  */
     7501#line 1814 "parser.yy"
    74567502    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74577503    break;
    74587504
    7459   case 473:
    7460 
    7461 /* Line 1806 of yacc.c  */
    7462 #line 1810 "parser.yy"
     7505  case 476:
     7506
     7507/* Line 1806 of yacc.c  */
     7508#line 1816 "parser.yy"
    74637509    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74647510    break;
    74657511
    7466   case 474:
    7467 
    7468 /* Line 1806 of yacc.c  */
    7469 #line 1812 "parser.yy"
    7470     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7471     break;
    7472 
    7473   case 476:
    7474 
    7475 /* Line 1806 of yacc.c  */
    7476 #line 1818 "parser.yy"
    7477     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7478     break;
    7479 
    74807512  case 477:
    74817513
    74827514/* Line 1806 of yacc.c  */
    7483 #line 1820 "parser.yy"
    7484     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7485     break;
    7486 
    7487   case 478:
    7488 
    7489 /* Line 1806 of yacc.c  */
    7490 #line 1825 "parser.yy"
     7515#line 1821 "parser.yy"
    74917516    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    74927517    break;
    74937518
     7519  case 479:
     7520
     7521/* Line 1806 of yacc.c  */
     7522#line 1827 "parser.yy"
     7523    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7524    break;
     7525
    74947526  case 480:
    74957527
    74967528/* Line 1806 of yacc.c  */
    7497 #line 1831 "parser.yy"
    7498     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7529#line 1832 "parser.yy"
     7530    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    74997531    break;
    75007532
     
    75027534
    75037535/* Line 1806 of yacc.c  */
    7504 #line 1836 "parser.yy"
    7505     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    7506     break;
    7507 
    7508   case 482:
    7509 
    7510 /* Line 1806 of yacc.c  */
    7511 #line 1838 "parser.yy"
     7536#line 1834 "parser.yy"
    75127537    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75137538    break;
    75147539
     7540  case 483:
     7541
     7542/* Line 1806 of yacc.c  */
     7543#line 1840 "parser.yy"
     7544    { (yyval.tclass) = DeclarationNode::Type; }
     7545    break;
     7546
    75157547  case 484:
    75167548
    75177549/* Line 1806 of yacc.c  */
     7550#line 1842 "parser.yy"
     7551    { (yyval.tclass) = DeclarationNode::Ftype; }
     7552    break;
     7553
     7554  case 485:
     7555
     7556/* Line 1806 of yacc.c  */
    75187557#line 1844 "parser.yy"
    7519     { (yyval.tclass) = DeclarationNode::Type; }
    7520     break;
    7521 
    7522   case 485:
    7523 
    7524 /* Line 1806 of yacc.c  */
    7525 #line 1846 "parser.yy"
    7526     { (yyval.tclass) = DeclarationNode::Ftype; }
     7558    { (yyval.tclass) = DeclarationNode::Dtype; }
    75277559    break;
    75287560
     
    75307562
    75317563/* Line 1806 of yacc.c  */
    7532 #line 1848 "parser.yy"
    7533     { (yyval.tclass) = DeclarationNode::Dtype; }
     7564#line 1849 "parser.yy"
     7565    { (yyval.decl) = 0; }
    75347566    break;
    75357567
     
    75377569
    75387570/* Line 1806 of yacc.c  */
    7539 #line 1853 "parser.yy"
    7540     { (yyval.decl) = 0; }
     7571#line 1851 "parser.yy"
     7572    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    75417573    break;
    75427574
     
    75447576
    75457577/* Line 1806 of yacc.c  */
    7546 #line 1855 "parser.yy"
    7547     { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    7548     break;
    7549 
    7550   case 489:
    7551 
    7552 /* Line 1806 of yacc.c  */
    7553 #line 1860 "parser.yy"
     7578#line 1856 "parser.yy"
    75547579    {
    75557580                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    75587583    break;
    75597584
     7585  case 489:
     7586
     7587/* Line 1806 of yacc.c  */
     7588#line 1861 "parser.yy"
     7589    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7590    break;
     7591
    75607592  case 490:
    75617593
    75627594/* Line 1806 of yacc.c  */
    7563 #line 1865 "parser.yy"
    7564     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7595#line 1863 "parser.yy"
     7596    { (yyval.decl) = 0; }
    75657597    break;
    75667598
     
    75687600
    75697601/* Line 1806 of yacc.c  */
    7570 #line 1867 "parser.yy"
    7571     { (yyval.decl) = 0; }
    7572     break;
    7573 
    7574   case 492:
    7575 
    7576 /* Line 1806 of yacc.c  */
    7577 #line 1872 "parser.yy"
     7602#line 1868 "parser.yy"
    75787603    { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    75797604    break;
    75807605
     7606  case 493:
     7607
     7608/* Line 1806 of yacc.c  */
     7609#line 1871 "parser.yy"
     7610    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
     7611    break;
     7612
    75817613  case 494:
    75827614
    75837615/* Line 1806 of yacc.c  */
    7584 #line 1875 "parser.yy"
    7585     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
     7616#line 1873 "parser.yy"
     7617    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    75867618    break;
    75877619
     
    75897621
    75907622/* Line 1806 of yacc.c  */
    7591 #line 1877 "parser.yy"
    7592     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
     7623#line 1878 "parser.yy"
     7624    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    75937625    break;
    75947626
     
    75967628
    75977629/* Line 1806 of yacc.c  */
     7630#line 1880 "parser.yy"
     7631    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7632    break;
     7633
     7634  case 497:
     7635
     7636/* Line 1806 of yacc.c  */
    75987637#line 1882 "parser.yy"
    7599     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    7600     break;
    7601 
    7602   case 497:
    7603 
    7604 /* Line 1806 of yacc.c  */
    7605 #line 1884 "parser.yy"
    7606     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7638    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76077639    break;
    76087640
     
    76107642
    76117643/* Line 1806 of yacc.c  */
    7612 #line 1886 "parser.yy"
    7613     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
     7644#line 1887 "parser.yy"
     7645    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76147646    break;
    76157647
     
    76177649
    76187650/* Line 1806 of yacc.c  */
    7619 #line 1891 "parser.yy"
    7620     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
     7651#line 1889 "parser.yy"
     7652    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76217653    break;
    76227654
     
    76247656
    76257657/* Line 1806 of yacc.c  */
    7626 #line 1893 "parser.yy"
    7627     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    7628     break;
    7629 
    7630   case 501:
    7631 
    7632 /* Line 1806 of yacc.c  */
    7633 #line 1898 "parser.yy"
     7658#line 1894 "parser.yy"
    76347659    {
    76357660                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76387663    break;
    76397664
    7640   case 502:
    7641 
    7642 /* Line 1806 of yacc.c  */
    7643 #line 1903 "parser.yy"
     7665  case 501:
     7666
     7667/* Line 1806 of yacc.c  */
     7668#line 1899 "parser.yy"
    76447669    {
    76457670                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76487673    break;
    76497674
    7650   case 503:
    7651 
    7652 /* Line 1806 of yacc.c  */
    7653 #line 1911 "parser.yy"
     7675  case 502:
     7676
     7677/* Line 1806 of yacc.c  */
     7678#line 1907 "parser.yy"
    76547679    {
    76557680                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76587683    break;
    76597684
    7660   case 504:
    7661 
    7662 /* Line 1806 of yacc.c  */
    7663 #line 1916 "parser.yy"
     7685  case 503:
     7686
     7687/* Line 1806 of yacc.c  */
     7688#line 1912 "parser.yy"
    76647689    {
    76657690                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    76687693    break;
    76697694
    7670   case 505:
    7671 
    7672 /* Line 1806 of yacc.c  */
    7673 #line 1921 "parser.yy"
     7695  case 504:
     7696
     7697/* Line 1806 of yacc.c  */
     7698#line 1917 "parser.yy"
    76747699    {
    76757700                        typedefTable.leaveTrait();
     
    76797704    break;
    76807705
    7681   case 507:
    7682 
    7683 /* Line 1806 of yacc.c  */
    7684 #line 1931 "parser.yy"
     7706  case 506:
     7707
     7708/* Line 1806 of yacc.c  */
     7709#line 1927 "parser.yy"
    76857710    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76867711    break;
    76877712
    7688   case 510:
    7689 
    7690 /* Line 1806 of yacc.c  */
    7691 #line 1941 "parser.yy"
     7713  case 509:
     7714
     7715/* Line 1806 of yacc.c  */
     7716#line 1937 "parser.yy"
    76927717    {
    76937718                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76967721    break;
    76977722
    7698   case 511:
    7699 
    7700 /* Line 1806 of yacc.c  */
    7701 #line 1946 "parser.yy"
     7723  case 510:
     7724
     7725/* Line 1806 of yacc.c  */
     7726#line 1942 "parser.yy"
    77027727    {
    77037728                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77067731    break;
    77077732
    7708   case 512:
    7709 
    7710 /* Line 1806 of yacc.c  */
    7711 #line 1951 "parser.yy"
     7733  case 511:
     7734
     7735/* Line 1806 of yacc.c  */
     7736#line 1947 "parser.yy"
    77127737    {
    77137738                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77167741    break;
    77177742
    7718   case 513:
    7719 
    7720 /* Line 1806 of yacc.c  */
    7721 #line 1959 "parser.yy"
     7743  case 512:
     7744
     7745/* Line 1806 of yacc.c  */
     7746#line 1955 "parser.yy"
    77227747    {
    77237748                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77267751    break;
    77277752
    7728   case 514:
    7729 
    7730 /* Line 1806 of yacc.c  */
    7731 #line 1964 "parser.yy"
     7753  case 513:
     7754
     7755/* Line 1806 of yacc.c  */
     7756#line 1960 "parser.yy"
    77327757    {
    77337758                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77367761    break;
    77377762
     7763  case 514:
     7764
     7765/* Line 1806 of yacc.c  */
     7766#line 1970 "parser.yy"
     7767    {}
     7768    break;
     7769
    77387770  case 515:
    77397771
    77407772/* Line 1806 of yacc.c  */
    7741 #line 1974 "parser.yy"
    7742     {}
    7743     break;
    7744 
    7745   case 516:
    7746 
    7747 /* Line 1806 of yacc.c  */
    7748 #line 1976 "parser.yy"
     7773#line 1972 "parser.yy"
    77497774    {
    7750                         if ( theTree ) {
    7751                                 theTree->appendList( (yyvsp[(1) - (1)].decl) );
     7775                        if ( parseTree ) {
     7776                                parseTree->appendList( (yyvsp[(1) - (1)].decl) );
    77527777                        } else {
    7753                                 theTree = (yyvsp[(1) - (1)].decl);
     7778                                parseTree = (yyvsp[(1) - (1)].decl);
    77547779                        }
    77557780                }
    77567781    break;
    77577782
     7783  case 517:
     7784
     7785/* Line 1806 of yacc.c  */
     7786#line 1984 "parser.yy"
     7787    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
     7788    break;
     7789
    77587790  case 518:
    77597791
    77607792/* Line 1806 of yacc.c  */
    7761 #line 1988 "parser.yy"
    7762     { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    7763     break;
    7764 
    7765   case 519:
    7766 
    7767 /* Line 1806 of yacc.c  */
    7768 #line 1993 "parser.yy"
     7793#line 1989 "parser.yy"
    77697794    { (yyval.decl) = 0; }
    77707795    break;
    77717796
     7797  case 522:
     7798
     7799/* Line 1806 of yacc.c  */
     7800#line 1997 "parser.yy"
     7801    {}
     7802    break;
     7803
    77727804  case 523:
    77737805
    77747806/* Line 1806 of yacc.c  */
    7775 #line 2001 "parser.yy"
    7776     {}
    7777     break;
    7778 
    7779   case 524:
    7780 
    7781 /* Line 1806 of yacc.c  */
    7782 #line 2003 "parser.yy"
     7807#line 1999 "parser.yy"
    77837808    {
    77847809                        linkageStack.push( linkage );
     
    77877812    break;
    77887813
    7789   case 525:
    7790 
    7791 /* Line 1806 of yacc.c  */
    7792 #line 2008 "parser.yy"
     7814  case 524:
     7815
     7816/* Line 1806 of yacc.c  */
     7817#line 2004 "parser.yy"
    77937818    {
    77947819                        linkage = linkageStack.top();
     
    77987823    break;
    77997824
    7800   case 526:
    7801 
    7802 /* Line 1806 of yacc.c  */
    7803 #line 2014 "parser.yy"
     7825  case 525:
     7826
     7827/* Line 1806 of yacc.c  */
     7828#line 2010 "parser.yy"
    78047829    {   // mark all fields in list
    78057830                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_next() )
     
    78097834    break;
    78107835
    7811   case 528:
    7812 
    7813 /* Line 1806 of yacc.c  */
    7814 #line 2029 "parser.yy"
     7836  case 527:
     7837
     7838/* Line 1806 of yacc.c  */
     7839#line 2025 "parser.yy"
    78157840    {
    78167841                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78207845    break;
    78217846
    7822   case 529:
    7823 
    7824 /* Line 1806 of yacc.c  */
    7825 #line 2035 "parser.yy"
     7847  case 528:
     7848
     7849/* Line 1806 of yacc.c  */
     7850#line 2031 "parser.yy"
    78267851    {
    78277852                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78317856    break;
    78327857
    7833   case 530:
    7834 
    7835 /* Line 1806 of yacc.c  */
    7836 #line 2044 "parser.yy"
     7858  case 529:
     7859
     7860/* Line 1806 of yacc.c  */
     7861#line 2040 "parser.yy"
    78377862    {
    78387863                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78427867    break;
    78437868
    7844   case 531:
    7845 
    7846 /* Line 1806 of yacc.c  */
    7847 #line 2050 "parser.yy"
     7869  case 530:
     7870
     7871/* Line 1806 of yacc.c  */
     7872#line 2046 "parser.yy"
    78487873    {
    78497874                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78537878    break;
    78547879
    7855   case 532:
    7856 
    7857 /* Line 1806 of yacc.c  */
    7858 #line 2056 "parser.yy"
     7880  case 531:
     7881
     7882/* Line 1806 of yacc.c  */
     7883#line 2052 "parser.yy"
    78597884    {
    78607885                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78647889    break;
    78657890
    7866   case 533:
    7867 
    7868 /* Line 1806 of yacc.c  */
    7869 #line 2062 "parser.yy"
     7891  case 532:
     7892
     7893/* Line 1806 of yacc.c  */
     7894#line 2058 "parser.yy"
    78707895    {
    78717896                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78757900    break;
    78767901
    7877   case 534:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 2068 "parser.yy"
     7902  case 533:
     7903
     7904/* Line 1806 of yacc.c  */
     7905#line 2064 "parser.yy"
    78817906    {
    78827907                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78867911    break;
    78877912
    7888   case 535:
    7889 
    7890 /* Line 1806 of yacc.c  */
    7891 #line 2076 "parser.yy"
     7913  case 534:
     7914
     7915/* Line 1806 of yacc.c  */
     7916#line 2072 "parser.yy"
    78927917    {
    78937918                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78977922    break;
    78987923
    7899   case 536:
    7900 
    7901 /* Line 1806 of yacc.c  */
    7902 #line 2082 "parser.yy"
     7924  case 535:
     7925
     7926/* Line 1806 of yacc.c  */
     7927#line 2078 "parser.yy"
    79037928    {
    79047929                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79087933    break;
    79097934
    7910   case 537:
    7911 
    7912 /* Line 1806 of yacc.c  */
    7913 #line 2090 "parser.yy"
     7935  case 536:
     7936
     7937/* Line 1806 of yacc.c  */
     7938#line 2086 "parser.yy"
    79147939    {
    79157940                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79197944    break;
    79207945
    7921   case 538:
    7922 
    7923 /* Line 1806 of yacc.c  */
    7924 #line 2096 "parser.yy"
     7946  case 537:
     7947
     7948/* Line 1806 of yacc.c  */
     7949#line 2092 "parser.yy"
    79257950    {
    79267951                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79307955    break;
    79317956
    7932   case 542:
    7933 
    7934 /* Line 1806 of yacc.c  */
    7935 #line 2111 "parser.yy"
     7957  case 541:
     7958
     7959/* Line 1806 of yacc.c  */
     7960#line 2107 "parser.yy"
    79367961    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    79377962    break;
    79387963
    7939   case 545:
    7940 
    7941 /* Line 1806 of yacc.c  */
    7942 #line 2121 "parser.yy"
     7964  case 544:
     7965
     7966/* Line 1806 of yacc.c  */
     7967#line 2117 "parser.yy"
    79437968    { (yyval.decl) = 0; }
    79447969    break;
    79457970
     7971  case 547:
     7972
     7973/* Line 1806 of yacc.c  */
     7974#line 2124 "parser.yy"
     7975    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7976    break;
     7977
    79467978  case 548:
    79477979
    79487980/* Line 1806 of yacc.c  */
    7949 #line 2128 "parser.yy"
    7950     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7951     break;
    7952 
    7953   case 549:
    7954 
    7955 /* Line 1806 of yacc.c  */
    7956 #line 2134 "parser.yy"
     7981#line 2130 "parser.yy"
    79577982    { (yyval.decl) = 0; }
    79587983    break;
    79597984
     7985  case 554:
     7986
     7987/* Line 1806 of yacc.c  */
     7988#line 2145 "parser.yy"
     7989    {}
     7990    break;
     7991
    79607992  case 555:
    79617993
    79627994/* Line 1806 of yacc.c  */
    7963 #line 2149 "parser.yy"
     7995#line 2146 "parser.yy"
    79647996    {}
    79657997    break;
     
    79688000
    79698001/* Line 1806 of yacc.c  */
    7970 #line 2150 "parser.yy"
     8002#line 2147 "parser.yy"
    79718003    {}
    79728004    break;
     
    79758007
    79768008/* Line 1806 of yacc.c  */
    7977 #line 2151 "parser.yy"
     8009#line 2148 "parser.yy"
    79788010    {}
    79798011    break;
     
    79828014
    79838015/* Line 1806 of yacc.c  */
    7984 #line 2152 "parser.yy"
    7985     {}
    7986     break;
    7987 
    7988   case 559:
    7989 
    7990 /* Line 1806 of yacc.c  */
    7991 #line 2187 "parser.yy"
     8016#line 2183 "parser.yy"
    79928017    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79938018    break;
    79948019
     8020  case 560:
     8021
     8022/* Line 1806 of yacc.c  */
     8023#line 2186 "parser.yy"
     8024    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8025    break;
     8026
    79958027  case 561:
    79968028
    79978029/* Line 1806 of yacc.c  */
    7998 #line 2190 "parser.yy"
     8030#line 2188 "parser.yy"
    79998031    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80008032    break;
     
    80038035
    80048036/* Line 1806 of yacc.c  */
    8005 #line 2192 "parser.yy"
    8006     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8007     break;
    8008 
    8009   case 563:
    8010 
    8011 /* Line 1806 of yacc.c  */
    8012 #line 2197 "parser.yy"
     8037#line 2193 "parser.yy"
    80138038    {
    80148039                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80178042    break;
    80188043
     8044  case 563:
     8045
     8046/* Line 1806 of yacc.c  */
     8047#line 2198 "parser.yy"
     8048    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8049    break;
     8050
    80198051  case 564:
    80208052
    80218053/* Line 1806 of yacc.c  */
    8022 #line 2202 "parser.yy"
     8054#line 2203 "parser.yy"
     8055    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8056    break;
     8057
     8058  case 565:
     8059
     8060/* Line 1806 of yacc.c  */
     8061#line 2205 "parser.yy"
     8062    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8063    break;
     8064
     8065  case 566:
     8066
     8067/* Line 1806 of yacc.c  */
     8068#line 2207 "parser.yy"
    80238069    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80248070    break;
    80258071
    8026   case 565:
    8027 
    8028 /* Line 1806 of yacc.c  */
    8029 #line 2207 "parser.yy"
     8072  case 567:
     8073
     8074/* Line 1806 of yacc.c  */
     8075#line 2212 "parser.yy"
     8076    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8077    break;
     8078
     8079  case 568:
     8080
     8081/* Line 1806 of yacc.c  */
     8082#line 2214 "parser.yy"
     8083    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8084    break;
     8085
     8086  case 569:
     8087
     8088/* Line 1806 of yacc.c  */
     8089#line 2216 "parser.yy"
     8090    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8091    break;
     8092
     8093  case 570:
     8094
     8095/* Line 1806 of yacc.c  */
     8096#line 2218 "parser.yy"
     8097    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8098    break;
     8099
     8100  case 571:
     8101
     8102/* Line 1806 of yacc.c  */
     8103#line 2223 "parser.yy"
     8104    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8105    break;
     8106
     8107  case 572:
     8108
     8109/* Line 1806 of yacc.c  */
     8110#line 2225 "parser.yy"
     8111    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8112    break;
     8113
     8114  case 573:
     8115
     8116/* Line 1806 of yacc.c  */
     8117#line 2234 "parser.yy"
     8118    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8119    break;
     8120
     8121  case 575:
     8122
     8123/* Line 1806 of yacc.c  */
     8124#line 2237 "parser.yy"
     8125    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8126    break;
     8127
     8128  case 576:
     8129
     8130/* Line 1806 of yacc.c  */
     8131#line 2242 "parser.yy"
     8132    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8133    break;
     8134
     8135  case 577:
     8136
     8137/* Line 1806 of yacc.c  */
     8138#line 2244 "parser.yy"
     8139    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8140    break;
     8141
     8142  case 578:
     8143
     8144/* Line 1806 of yacc.c  */
     8145#line 2246 "parser.yy"
     8146    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8147    break;
     8148
     8149  case 579:
     8150
     8151/* Line 1806 of yacc.c  */
     8152#line 2251 "parser.yy"
    80308153    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80318154    break;
    80328155
    8033   case 566:
    8034 
    8035 /* Line 1806 of yacc.c  */
    8036 #line 2209 "parser.yy"
     8156  case 580:
     8157
     8158/* Line 1806 of yacc.c  */
     8159#line 2253 "parser.yy"
    80378160    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80388161    break;
    80398162
    8040   case 567:
    8041 
    8042 /* Line 1806 of yacc.c  */
    8043 #line 2211 "parser.yy"
     8163  case 581:
     8164
     8165/* Line 1806 of yacc.c  */
     8166#line 2255 "parser.yy"
    80448167    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80458168    break;
    80468169
    8047   case 568:
    8048 
    8049 /* Line 1806 of yacc.c  */
    8050 #line 2216 "parser.yy"
     8170  case 582:
     8171
     8172/* Line 1806 of yacc.c  */
     8173#line 2260 "parser.yy"
     8174    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8175    break;
     8176
     8177  case 583:
     8178
     8179/* Line 1806 of yacc.c  */
     8180#line 2262 "parser.yy"
     8181    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8182    break;
     8183
     8184  case 584:
     8185
     8186/* Line 1806 of yacc.c  */
     8187#line 2264 "parser.yy"
     8188    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8189    break;
     8190
     8191  case 588:
     8192
     8193/* Line 1806 of yacc.c  */
     8194#line 2279 "parser.yy"
     8195    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8196    break;
     8197
     8198  case 589:
     8199
     8200/* Line 1806 of yacc.c  */
     8201#line 2281 "parser.yy"
     8202    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8203    break;
     8204
     8205  case 590:
     8206
     8207/* Line 1806 of yacc.c  */
     8208#line 2283 "parser.yy"
     8209    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8210    break;
     8211
     8212  case 591:
     8213
     8214/* Line 1806 of yacc.c  */
     8215#line 2288 "parser.yy"
     8216    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8217    break;
     8218
     8219  case 592:
     8220
     8221/* Line 1806 of yacc.c  */
     8222#line 2290 "parser.yy"
     8223    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8224    break;
     8225
     8226  case 593:
     8227
     8228/* Line 1806 of yacc.c  */
     8229#line 2292 "parser.yy"
     8230    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8231    break;
     8232
     8233  case 594:
     8234
     8235/* Line 1806 of yacc.c  */
     8236#line 2297 "parser.yy"
     8237    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8238    break;
     8239
     8240  case 595:
     8241
     8242/* Line 1806 of yacc.c  */
     8243#line 2299 "parser.yy"
     8244    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8245    break;
     8246
     8247  case 596:
     8248
     8249/* Line 1806 of yacc.c  */
     8250#line 2301 "parser.yy"
     8251    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8252    break;
     8253
     8254  case 597:
     8255
     8256/* Line 1806 of yacc.c  */
     8257#line 2316 "parser.yy"
     8258    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8259    break;
     8260
     8261  case 599:
     8262
     8263/* Line 1806 of yacc.c  */
     8264#line 2319 "parser.yy"
     8265    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8266    break;
     8267
     8268  case 600:
     8269
     8270/* Line 1806 of yacc.c  */
     8271#line 2321 "parser.yy"
     8272    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8273    break;
     8274
     8275  case 602:
     8276
     8277/* Line 1806 of yacc.c  */
     8278#line 2327 "parser.yy"
     8279    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8280    break;
     8281
     8282  case 603:
     8283
     8284/* Line 1806 of yacc.c  */
     8285#line 2332 "parser.yy"
     8286    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8287    break;
     8288
     8289  case 604:
     8290
     8291/* Line 1806 of yacc.c  */
     8292#line 2334 "parser.yy"
     8293    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8294    break;
     8295
     8296  case 605:
     8297
     8298/* Line 1806 of yacc.c  */
     8299#line 2336 "parser.yy"
     8300    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8301    break;
     8302
     8303  case 606:
     8304
     8305/* Line 1806 of yacc.c  */
     8306#line 2341 "parser.yy"
    80518307    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80528308    break;
    80538309
    8054   case 569:
    8055 
    8056 /* Line 1806 of yacc.c  */
    8057 #line 2218 "parser.yy"
     8310  case 607:
     8311
     8312/* Line 1806 of yacc.c  */
     8313#line 2343 "parser.yy"
    80588314    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80598315    break;
    80608316
    8061   case 570:
    8062 
    8063 /* Line 1806 of yacc.c  */
    8064 #line 2220 "parser.yy"
     8317  case 608:
     8318
     8319/* Line 1806 of yacc.c  */
     8320#line 2345 "parser.yy"
    80658321    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80668322    break;
    80678323
    8068   case 571:
    8069 
    8070 /* Line 1806 of yacc.c  */
    8071 #line 2222 "parser.yy"
     8324  case 609:
     8325
     8326/* Line 1806 of yacc.c  */
     8327#line 2347 "parser.yy"
    80728328    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80738329    break;
    80748330
    8075   case 572:
    8076 
    8077 /* Line 1806 of yacc.c  */
    8078 #line 2227 "parser.yy"
     8331  case 610:
     8332
     8333/* Line 1806 of yacc.c  */
     8334#line 2352 "parser.yy"
     8335    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8336    break;
     8337
     8338  case 611:
     8339
     8340/* Line 1806 of yacc.c  */
     8341#line 2354 "parser.yy"
    80798342    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80808343    break;
    80818344
    8082   case 573:
    8083 
    8084 /* Line 1806 of yacc.c  */
    8085 #line 2229 "parser.yy"
     8345  case 612:
     8346
     8347/* Line 1806 of yacc.c  */
     8348#line 2356 "parser.yy"
    80868349    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80878350    break;
    80888351
    8089   case 574:
    8090 
    8091 /* Line 1806 of yacc.c  */
    8092 #line 2238 "parser.yy"
     8352  case 613:
     8353
     8354/* Line 1806 of yacc.c  */
     8355#line 2366 "parser.yy"
    80938356    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80948357    break;
    80958358
    8096   case 576:
    8097 
    8098 /* Line 1806 of yacc.c  */
    8099 #line 2241 "parser.yy"
     8359  case 615:
     8360
     8361/* Line 1806 of yacc.c  */
     8362#line 2369 "parser.yy"
    81008363    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81018364    break;
    81028365
    8103   case 577:
    8104 
    8105 /* Line 1806 of yacc.c  */
    8106 #line 2246 "parser.yy"
     8366  case 616:
     8367
     8368/* Line 1806 of yacc.c  */
     8369#line 2371 "parser.yy"
     8370    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8371    break;
     8372
     8373  case 617:
     8374
     8375/* Line 1806 of yacc.c  */
     8376#line 2376 "parser.yy"
     8377    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8378    break;
     8379
     8380  case 618:
     8381
     8382/* Line 1806 of yacc.c  */
     8383#line 2378 "parser.yy"
     8384    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8385    break;
     8386
     8387  case 619:
     8388
     8389/* Line 1806 of yacc.c  */
     8390#line 2380 "parser.yy"
     8391    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8392    break;
     8393
     8394  case 620:
     8395
     8396/* Line 1806 of yacc.c  */
     8397#line 2385 "parser.yy"
     8398    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8399    break;
     8400
     8401  case 621:
     8402
     8403/* Line 1806 of yacc.c  */
     8404#line 2387 "parser.yy"
     8405    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8406    break;
     8407
     8408  case 622:
     8409
     8410/* Line 1806 of yacc.c  */
     8411#line 2389 "parser.yy"
     8412    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8413    break;
     8414
     8415  case 623:
     8416
     8417/* Line 1806 of yacc.c  */
     8418#line 2391 "parser.yy"
     8419    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8420    break;
     8421
     8422  case 624:
     8423
     8424/* Line 1806 of yacc.c  */
     8425#line 2396 "parser.yy"
    81078426    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81088427    break;
    81098428
    8110   case 578:
    8111 
    8112 /* Line 1806 of yacc.c  */
    8113 #line 2248 "parser.yy"
     8429  case 625:
     8430
     8431/* Line 1806 of yacc.c  */
     8432#line 2398 "parser.yy"
    81148433    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81158434    break;
    81168435
    8117   case 579:
    8118 
    8119 /* Line 1806 of yacc.c  */
    8120 #line 2250 "parser.yy"
     8436  case 626:
     8437
     8438/* Line 1806 of yacc.c  */
     8439#line 2400 "parser.yy"
    81218440    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81228441    break;
    81238442
    8124   case 580:
    8125 
    8126 /* Line 1806 of yacc.c  */
    8127 #line 2255 "parser.yy"
    8128     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8129     break;
    8130 
    8131   case 581:
    8132 
    8133 /* Line 1806 of yacc.c  */
    8134 #line 2257 "parser.yy"
    8135     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8136     break;
    8137 
    8138   case 582:
    8139 
    8140 /* Line 1806 of yacc.c  */
    8141 #line 2259 "parser.yy"
    8142     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8143     break;
    8144 
    8145   case 583:
    8146 
    8147 /* Line 1806 of yacc.c  */
    8148 #line 2264 "parser.yy"
    8149     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8150     break;
    8151 
    8152   case 584:
    8153 
    8154 /* Line 1806 of yacc.c  */
    8155 #line 2266 "parser.yy"
    8156     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8157     break;
    8158 
    8159   case 585:
    8160 
    8161 /* Line 1806 of yacc.c  */
    8162 #line 2268 "parser.yy"
    8163     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8164     break;
    8165 
    8166   case 589:
    8167 
    8168 /* Line 1806 of yacc.c  */
    8169 #line 2283 "parser.yy"
    8170     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8171     break;
    8172 
    8173   case 590:
    8174 
    8175 /* Line 1806 of yacc.c  */
    8176 #line 2285 "parser.yy"
    8177     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8178     break;
    8179 
    8180   case 591:
    8181 
    8182 /* Line 1806 of yacc.c  */
    8183 #line 2287 "parser.yy"
    8184     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8185     break;
    8186 
    8187   case 592:
    8188 
    8189 /* Line 1806 of yacc.c  */
    8190 #line 2292 "parser.yy"
    8191     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8192     break;
    8193 
    8194   case 593:
    8195 
    8196 /* Line 1806 of yacc.c  */
    8197 #line 2294 "parser.yy"
    8198     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8199     break;
    8200 
    8201   case 594:
    8202 
    8203 /* Line 1806 of yacc.c  */
    8204 #line 2296 "parser.yy"
    8205     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8206     break;
    8207 
    8208   case 595:
    8209 
    8210 /* Line 1806 of yacc.c  */
    8211 #line 2301 "parser.yy"
    8212     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8213     break;
    8214 
    8215   case 596:
    8216 
    8217 /* Line 1806 of yacc.c  */
    8218 #line 2303 "parser.yy"
    8219     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8220     break;
    8221 
    8222   case 597:
    8223 
    8224 /* Line 1806 of yacc.c  */
    8225 #line 2305 "parser.yy"
    8226     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8227     break;
    8228 
    8229   case 598:
    8230 
    8231 /* Line 1806 of yacc.c  */
    8232 #line 2320 "parser.yy"
     8443  case 627:
     8444
     8445/* Line 1806 of yacc.c  */
     8446#line 2431 "parser.yy"
    82338447    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82348448    break;
    82358449
    8236   case 600:
    8237 
    8238 /* Line 1806 of yacc.c  */
    8239 #line 2323 "parser.yy"
     8450  case 629:
     8451
     8452/* Line 1806 of yacc.c  */
     8453#line 2434 "parser.yy"
    82408454    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82418455    break;
    82428456
    8243   case 601:
    8244 
    8245 /* Line 1806 of yacc.c  */
    8246 #line 2325 "parser.yy"
     8457  case 630:
     8458
     8459/* Line 1806 of yacc.c  */
     8460#line 2436 "parser.yy"
    82478461    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82488462    break;
    82498463
    8250   case 603:
    8251 
    8252 /* Line 1806 of yacc.c  */
    8253 #line 2331 "parser.yy"
    8254     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8255     break;
    8256 
    8257   case 604:
    8258 
    8259 /* Line 1806 of yacc.c  */
    8260 #line 2336 "parser.yy"
    8261     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8262     break;
    8263 
    8264   case 605:
    8265 
    8266 /* Line 1806 of yacc.c  */
    8267 #line 2338 "parser.yy"
    8268     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8269     break;
    8270 
    8271   case 606:
    8272 
    8273 /* Line 1806 of yacc.c  */
    8274 #line 2340 "parser.yy"
    8275     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8276     break;
    8277 
    8278   case 607:
    8279 
    8280 /* Line 1806 of yacc.c  */
    8281 #line 2345 "parser.yy"
    8282     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8283     break;
    8284 
    8285   case 608:
    8286 
    8287 /* Line 1806 of yacc.c  */
    8288 #line 2347 "parser.yy"
    8289     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8290     break;
    8291 
    8292   case 609:
    8293 
    8294 /* Line 1806 of yacc.c  */
    8295 #line 2349 "parser.yy"
    8296     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8297     break;
    8298 
    8299   case 610:
    8300 
    8301 /* Line 1806 of yacc.c  */
    8302 #line 2351 "parser.yy"
    8303     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8304     break;
    8305 
    8306   case 611:
    8307 
    8308 /* Line 1806 of yacc.c  */
    8309 #line 2356 "parser.yy"
    8310     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8311     break;
    8312 
    8313   case 612:
    8314 
    8315 /* Line 1806 of yacc.c  */
    8316 #line 2358 "parser.yy"
    8317     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8318     break;
    8319 
    8320   case 613:
    8321 
    8322 /* Line 1806 of yacc.c  */
    8323 #line 2360 "parser.yy"
    8324     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8325     break;
    8326 
    8327   case 614:
    8328 
    8329 /* Line 1806 of yacc.c  */
    8330 #line 2370 "parser.yy"
    8331     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8332     break;
    8333 
    8334   case 616:
    8335 
    8336 /* Line 1806 of yacc.c  */
    8337 #line 2373 "parser.yy"
    8338     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8339     break;
    8340 
    8341   case 617:
    8342 
    8343 /* Line 1806 of yacc.c  */
    8344 #line 2375 "parser.yy"
    8345     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8346     break;
    8347 
    8348   case 618:
    8349 
    8350 /* Line 1806 of yacc.c  */
    8351 #line 2380 "parser.yy"
    8352     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8353     break;
    8354 
    8355   case 619:
    8356 
    8357 /* Line 1806 of yacc.c  */
    8358 #line 2382 "parser.yy"
    8359     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8360     break;
    8361 
    8362   case 620:
    8363 
    8364 /* Line 1806 of yacc.c  */
    8365 #line 2384 "parser.yy"
    8366     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8367     break;
    8368 
    8369   case 621:
    8370 
    8371 /* Line 1806 of yacc.c  */
    8372 #line 2389 "parser.yy"
    8373     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8374     break;
    8375 
    8376   case 622:
    8377 
    8378 /* Line 1806 of yacc.c  */
    8379 #line 2391 "parser.yy"
    8380     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8381     break;
    8382 
    8383   case 623:
    8384 
    8385 /* Line 1806 of yacc.c  */
    8386 #line 2393 "parser.yy"
    8387     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8388     break;
    8389 
    8390   case 624:
    8391 
    8392 /* Line 1806 of yacc.c  */
    8393 #line 2395 "parser.yy"
    8394     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8395     break;
    8396 
    8397   case 625:
    8398 
    8399 /* Line 1806 of yacc.c  */
    8400 #line 2400 "parser.yy"
    8401     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8402     break;
    8403 
    8404   case 626:
    8405 
    8406 /* Line 1806 of yacc.c  */
    8407 #line 2402 "parser.yy"
    8408     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8409     break;
    8410 
    8411   case 627:
    8412 
    8413 /* Line 1806 of yacc.c  */
    8414 #line 2404 "parser.yy"
    8415     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8416     break;
    8417 
    8418   case 628:
    8419 
    8420 /* Line 1806 of yacc.c  */
    8421 #line 2435 "parser.yy"
    8422     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8423     break;
    8424 
    8425   case 630:
    8426 
    8427 /* Line 1806 of yacc.c  */
    8428 #line 2438 "parser.yy"
    8429     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8430     break;
    8431 
    84328464  case 631:
    84338465
    84348466/* Line 1806 of yacc.c  */
    8435 #line 2440 "parser.yy"
    8436     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8437     break;
    8438 
    8439   case 632:
    8440 
    8441 /* Line 1806 of yacc.c  */
    8442 #line 2445 "parser.yy"
     8467#line 2441 "parser.yy"
    84438468    {
    84448469                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84478472    break;
    84488473
    8449   case 633:
    8450 
    8451 /* Line 1806 of yacc.c  */
    8452 #line 2450 "parser.yy"
     8474  case 632:
     8475
     8476/* Line 1806 of yacc.c  */
     8477#line 2446 "parser.yy"
    84538478    {
    84548479                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84578482    break;
    84588483
     8484  case 633:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2454 "parser.yy"
     8488    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8489    break;
     8490
    84598491  case 634:
    84608492
    84618493/* Line 1806 of yacc.c  */
     8494#line 2456 "parser.yy"
     8495    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8496    break;
     8497
     8498  case 635:
     8499
     8500/* Line 1806 of yacc.c  */
    84628501#line 2458 "parser.yy"
     8502    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8503    break;
     8504
     8505  case 636:
     8506
     8507/* Line 1806 of yacc.c  */
     8508#line 2463 "parser.yy"
     8509    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8510    break;
     8511
     8512  case 637:
     8513
     8514/* Line 1806 of yacc.c  */
     8515#line 2465 "parser.yy"
     8516    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8517    break;
     8518
     8519  case 638:
     8520
     8521/* Line 1806 of yacc.c  */
     8522#line 2470 "parser.yy"
     8523    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8524    break;
     8525
     8526  case 639:
     8527
     8528/* Line 1806 of yacc.c  */
     8529#line 2472 "parser.yy"
     8530    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8531    break;
     8532
     8533  case 641:
     8534
     8535/* Line 1806 of yacc.c  */
     8536#line 2487 "parser.yy"
     8537    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8538    break;
     8539
     8540  case 642:
     8541
     8542/* Line 1806 of yacc.c  */
     8543#line 2489 "parser.yy"
     8544    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8545    break;
     8546
     8547  case 643:
     8548
     8549/* Line 1806 of yacc.c  */
     8550#line 2494 "parser.yy"
     8551    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8552    break;
     8553
     8554  case 644:
     8555
     8556/* Line 1806 of yacc.c  */
     8557#line 2496 "parser.yy"
     8558    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8559    break;
     8560
     8561  case 645:
     8562
     8563/* Line 1806 of yacc.c  */
     8564#line 2498 "parser.yy"
    84638565    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84648566    break;
    84658567
    8466   case 635:
    8467 
    8468 /* Line 1806 of yacc.c  */
    8469 #line 2460 "parser.yy"
     8568  case 646:
     8569
     8570/* Line 1806 of yacc.c  */
     8571#line 2500 "parser.yy"
    84708572    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84718573    break;
    84728574
    8473   case 636:
    8474 
    8475 /* Line 1806 of yacc.c  */
    8476 #line 2462 "parser.yy"
     8575  case 647:
     8576
     8577/* Line 1806 of yacc.c  */
     8578#line 2502 "parser.yy"
    84778579    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84788580    break;
    84798581
    8480   case 637:
    8481 
    8482 /* Line 1806 of yacc.c  */
    8483 #line 2467 "parser.yy"
     8582  case 649:
     8583
     8584/* Line 1806 of yacc.c  */
     8585#line 2508 "parser.yy"
     8586    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8587    break;
     8588
     8589  case 650:
     8590
     8591/* Line 1806 of yacc.c  */
     8592#line 2510 "parser.yy"
     8593    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8594    break;
     8595
     8596  case 651:
     8597
     8598/* Line 1806 of yacc.c  */
     8599#line 2512 "parser.yy"
     8600    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8601    break;
     8602
     8603  case 652:
     8604
     8605/* Line 1806 of yacc.c  */
     8606#line 2517 "parser.yy"
     8607    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8608    break;
     8609
     8610  case 653:
     8611
     8612/* Line 1806 of yacc.c  */
     8613#line 2519 "parser.yy"
     8614    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8615    break;
     8616
     8617  case 654:
     8618
     8619/* Line 1806 of yacc.c  */
     8620#line 2521 "parser.yy"
     8621    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8622    break;
     8623
     8624  case 655:
     8625
     8626/* Line 1806 of yacc.c  */
     8627#line 2527 "parser.yy"
     8628    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8629    break;
     8630
     8631  case 656:
     8632
     8633/* Line 1806 of yacc.c  */
     8634#line 2529 "parser.yy"
     8635    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8636    break;
     8637
     8638  case 658:
     8639
     8640/* Line 1806 of yacc.c  */
     8641#line 2535 "parser.yy"
     8642    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8643    break;
     8644
     8645  case 659:
     8646
     8647/* Line 1806 of yacc.c  */
     8648#line 2537 "parser.yy"
     8649    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8650    break;
     8651
     8652  case 660:
     8653
     8654/* Line 1806 of yacc.c  */
     8655#line 2539 "parser.yy"
     8656    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8657    break;
     8658
     8659  case 661:
     8660
     8661/* Line 1806 of yacc.c  */
     8662#line 2541 "parser.yy"
     8663    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8664    break;
     8665
     8666  case 663:
     8667
     8668/* Line 1806 of yacc.c  */
     8669#line 2556 "parser.yy"
     8670    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8671    break;
     8672
     8673  case 664:
     8674
     8675/* Line 1806 of yacc.c  */
     8676#line 2558 "parser.yy"
     8677    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8678    break;
     8679
     8680  case 665:
     8681
     8682/* Line 1806 of yacc.c  */
     8683#line 2563 "parser.yy"
     8684    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8685    break;
     8686
     8687  case 666:
     8688
     8689/* Line 1806 of yacc.c  */
     8690#line 2565 "parser.yy"
     8691    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8692    break;
     8693
     8694  case 667:
     8695
     8696/* Line 1806 of yacc.c  */
     8697#line 2567 "parser.yy"
     8698    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8699    break;
     8700
     8701  case 668:
     8702
     8703/* Line 1806 of yacc.c  */
     8704#line 2569 "parser.yy"
     8705    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8706    break;
     8707
     8708  case 669:
     8709
     8710/* Line 1806 of yacc.c  */
     8711#line 2571 "parser.yy"
     8712    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8713    break;
     8714
     8715  case 671:
     8716
     8717/* Line 1806 of yacc.c  */
     8718#line 2577 "parser.yy"
     8719    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8720    break;
     8721
     8722  case 672:
     8723
     8724/* Line 1806 of yacc.c  */
     8725#line 2579 "parser.yy"
     8726    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8727    break;
     8728
     8729  case 673:
     8730
     8731/* Line 1806 of yacc.c  */
     8732#line 2581 "parser.yy"
     8733    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8734    break;
     8735
     8736  case 674:
     8737
     8738/* Line 1806 of yacc.c  */
     8739#line 2586 "parser.yy"
     8740    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8741    break;
     8742
     8743  case 675:
     8744
     8745/* Line 1806 of yacc.c  */
     8746#line 2588 "parser.yy"
     8747    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8748    break;
     8749
     8750  case 676:
     8751
     8752/* Line 1806 of yacc.c  */
     8753#line 2590 "parser.yy"
     8754    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8755    break;
     8756
     8757  case 678:
     8758
     8759/* Line 1806 of yacc.c  */
     8760#line 2597 "parser.yy"
    84848761    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84858762    break;
    84868763
    8487   case 638:
    8488 
    8489 /* Line 1806 of yacc.c  */
    8490 #line 2469 "parser.yy"
     8764  case 680:
     8765
     8766/* Line 1806 of yacc.c  */
     8767#line 2608 "parser.yy"
     8768    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8769    break;
     8770
     8771  case 681:
     8772
     8773/* Line 1806 of yacc.c  */
     8774#line 2611 "parser.yy"
     8775    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8776    break;
     8777
     8778  case 682:
     8779
     8780/* Line 1806 of yacc.c  */
     8781#line 2613 "parser.yy"
     8782    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     8783    break;
     8784
     8785  case 683:
     8786
     8787/* Line 1806 of yacc.c  */
     8788#line 2616 "parser.yy"
     8789    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8790    break;
     8791
     8792  case 684:
     8793
     8794/* Line 1806 of yacc.c  */
     8795#line 2618 "parser.yy"
     8796    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8797    break;
     8798
     8799  case 685:
     8800
     8801/* Line 1806 of yacc.c  */
     8802#line 2620 "parser.yy"
     8803    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     8804    break;
     8805
     8806  case 687:
     8807
     8808/* Line 1806 of yacc.c  */
     8809#line 2634 "parser.yy"
     8810    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8811    break;
     8812
     8813  case 688:
     8814
     8815/* Line 1806 of yacc.c  */
     8816#line 2636 "parser.yy"
     8817    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8818    break;
     8819
     8820  case 689:
     8821
     8822/* Line 1806 of yacc.c  */
     8823#line 2641 "parser.yy"
     8824    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8825    break;
     8826
     8827  case 690:
     8828
     8829/* Line 1806 of yacc.c  */
     8830#line 2643 "parser.yy"
     8831    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8832    break;
     8833
     8834  case 691:
     8835
     8836/* Line 1806 of yacc.c  */
     8837#line 2645 "parser.yy"
     8838    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8839    break;
     8840
     8841  case 692:
     8842
     8843/* Line 1806 of yacc.c  */
     8844#line 2647 "parser.yy"
     8845    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8846    break;
     8847
     8848  case 693:
     8849
     8850/* Line 1806 of yacc.c  */
     8851#line 2649 "parser.yy"
     8852    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8853    break;
     8854
     8855  case 695:
     8856
     8857/* Line 1806 of yacc.c  */
     8858#line 2655 "parser.yy"
    84918859    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84928860    break;
    84938861
    8494   case 639:
    8495 
    8496 /* Line 1806 of yacc.c  */
    8497 #line 2474 "parser.yy"
    8498     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8499     break;
    8500 
    8501   case 640:
    8502 
    8503 /* Line 1806 of yacc.c  */
    8504 #line 2476 "parser.yy"
     8862  case 696:
     8863
     8864/* Line 1806 of yacc.c  */
     8865#line 2657 "parser.yy"
     8866    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8867    break;
     8868
     8869  case 697:
     8870
     8871/* Line 1806 of yacc.c  */
     8872#line 2659 "parser.yy"
     8873    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8874    break;
     8875
     8876  case 698:
     8877
     8878/* Line 1806 of yacc.c  */
     8879#line 2664 "parser.yy"
    85058880    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85068881    break;
    85078882
    8508   case 642:
    8509 
    8510 /* Line 1806 of yacc.c  */
    8511 #line 2491 "parser.yy"
    8512     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8513     break;
    8514 
    8515   case 643:
    8516 
    8517 /* Line 1806 of yacc.c  */
    8518 #line 2493 "parser.yy"
    8519     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8520     break;
    8521 
    8522   case 644:
    8523 
    8524 /* Line 1806 of yacc.c  */
    8525 #line 2498 "parser.yy"
    8526     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8527     break;
    8528 
    8529   case 645:
    8530 
    8531 /* Line 1806 of yacc.c  */
    8532 #line 2500 "parser.yy"
    8533     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8534     break;
    8535 
    8536   case 646:
    8537 
    8538 /* Line 1806 of yacc.c  */
    8539 #line 2502 "parser.yy"
    8540     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8541     break;
    8542 
    8543   case 647:
    8544 
    8545 /* Line 1806 of yacc.c  */
    8546 #line 2504 "parser.yy"
    8547     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8548     break;
    8549 
    8550   case 648:
    8551 
    8552 /* Line 1806 of yacc.c  */
    8553 #line 2506 "parser.yy"
     8883  case 699:
     8884
     8885/* Line 1806 of yacc.c  */
     8886#line 2666 "parser.yy"
    85548887    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85558888    break;
    85568889
    8557   case 650:
    8558 
    8559 /* Line 1806 of yacc.c  */
    8560 #line 2512 "parser.yy"
    8561     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8562     break;
    8563 
    8564   case 651:
    8565 
    8566 /* Line 1806 of yacc.c  */
    8567 #line 2514 "parser.yy"
    8568     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8569     break;
    8570 
    8571   case 652:
    8572 
    8573 /* Line 1806 of yacc.c  */
    8574 #line 2516 "parser.yy"
    8575     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8576     break;
    8577 
    8578   case 653:
    8579 
    8580 /* Line 1806 of yacc.c  */
    8581 #line 2521 "parser.yy"
    8582     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8583     break;
    8584 
    8585   case 654:
    8586 
    8587 /* Line 1806 of yacc.c  */
    8588 #line 2523 "parser.yy"
    8589     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8590     break;
    8591 
    8592   case 655:
    8593 
    8594 /* Line 1806 of yacc.c  */
    8595 #line 2525 "parser.yy"
    8596     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8597     break;
    8598 
    8599   case 656:
    8600 
    8601 /* Line 1806 of yacc.c  */
    8602 #line 2531 "parser.yy"
    8603     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8604     break;
    8605 
    8606   case 657:
    8607 
    8608 /* Line 1806 of yacc.c  */
    8609 #line 2533 "parser.yy"
    8610     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8611     break;
    8612 
    8613   case 659:
    8614 
    8615 /* Line 1806 of yacc.c  */
    8616 #line 2539 "parser.yy"
    8617     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8618     break;
    8619 
    8620   case 660:
    8621 
    8622 /* Line 1806 of yacc.c  */
    8623 #line 2541 "parser.yy"
    8624     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8625     break;
    8626 
    8627   case 661:
    8628 
    8629 /* Line 1806 of yacc.c  */
    8630 #line 2543 "parser.yy"
    8631     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8632     break;
    8633 
    8634   case 662:
    8635 
    8636 /* Line 1806 of yacc.c  */
    8637 #line 2545 "parser.yy"
    8638     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8639     break;
    8640 
    8641   case 664:
    8642 
    8643 /* Line 1806 of yacc.c  */
    8644 #line 2560 "parser.yy"
    8645     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8646     break;
    8647 
    8648   case 665:
    8649 
    8650 /* Line 1806 of yacc.c  */
    8651 #line 2562 "parser.yy"
    8652     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8653     break;
    8654 
    8655   case 666:
    8656 
    8657 /* Line 1806 of yacc.c  */
    8658 #line 2567 "parser.yy"
    8659     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8660     break;
    8661 
    8662   case 667:
    8663 
    8664 /* Line 1806 of yacc.c  */
    8665 #line 2569 "parser.yy"
    8666     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8667     break;
    8668 
    8669   case 668:
    8670 
    8671 /* Line 1806 of yacc.c  */
    8672 #line 2571 "parser.yy"
    8673     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8674     break;
    8675 
    8676   case 669:
    8677 
    8678 /* Line 1806 of yacc.c  */
    8679 #line 2573 "parser.yy"
    8680     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8681     break;
    8682 
    8683   case 670:
    8684 
    8685 /* Line 1806 of yacc.c  */
    8686 #line 2575 "parser.yy"
    8687     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8688     break;
    8689 
    8690   case 672:
    8691 
    8692 /* Line 1806 of yacc.c  */
    8693 #line 2581 "parser.yy"
    8694     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8695     break;
    8696 
    8697   case 673:
    8698 
    8699 /* Line 1806 of yacc.c  */
    8700 #line 2583 "parser.yy"
    8701     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8702     break;
    8703 
    8704   case 674:
    8705 
    8706 /* Line 1806 of yacc.c  */
    8707 #line 2585 "parser.yy"
    8708     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8709     break;
    8710 
    8711   case 675:
    8712 
    8713 /* Line 1806 of yacc.c  */
    8714 #line 2590 "parser.yy"
    8715     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8716     break;
    8717 
    8718   case 676:
    8719 
    8720 /* Line 1806 of yacc.c  */
    8721 #line 2592 "parser.yy"
    8722     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8723     break;
    8724 
    8725   case 677:
    8726 
    8727 /* Line 1806 of yacc.c  */
    8728 #line 2594 "parser.yy"
    8729     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8730     break;
    8731 
    8732   case 679:
    8733 
    8734 /* Line 1806 of yacc.c  */
    8735 #line 2601 "parser.yy"
    8736     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8737     break;
    8738 
    8739   case 681:
    8740 
    8741 /* Line 1806 of yacc.c  */
    8742 #line 2612 "parser.yy"
    8743     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8744     break;
    8745 
    8746   case 682:
    8747 
    8748 /* Line 1806 of yacc.c  */
    8749 #line 2615 "parser.yy"
    8750     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    8751     break;
    8752 
    8753   case 683:
    8754 
    8755 /* Line 1806 of yacc.c  */
    8756 #line 2617 "parser.yy"
    8757     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    8758     break;
    8759 
    8760   case 684:
    8761 
    8762 /* Line 1806 of yacc.c  */
    8763 #line 2620 "parser.yy"
    8764     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    8765     break;
    8766 
    8767   case 685:
    8768 
    8769 /* Line 1806 of yacc.c  */
    8770 #line 2622 "parser.yy"
    8771     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8772     break;
    8773 
    8774   case 686:
    8775 
    8776 /* Line 1806 of yacc.c  */
    8777 #line 2624 "parser.yy"
    8778     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    8779     break;
    8780 
    8781   case 688:
    8782 
    8783 /* Line 1806 of yacc.c  */
    8784 #line 2638 "parser.yy"
    8785     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8786     break;
    8787 
    8788   case 689:
    8789 
    8790 /* Line 1806 of yacc.c  */
    8791 #line 2640 "parser.yy"
    8792     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8793     break;
    8794 
    8795   case 690:
    8796 
    8797 /* Line 1806 of yacc.c  */
    8798 #line 2645 "parser.yy"
    8799     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8800     break;
    8801 
    8802   case 691:
    8803 
    8804 /* Line 1806 of yacc.c  */
    8805 #line 2647 "parser.yy"
    8806     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8807     break;
    8808 
    8809   case 692:
    8810 
    8811 /* Line 1806 of yacc.c  */
    8812 #line 2649 "parser.yy"
    8813     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8814     break;
    8815 
    8816   case 693:
    8817 
    8818 /* Line 1806 of yacc.c  */
    8819 #line 2651 "parser.yy"
    8820     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8821     break;
    8822 
    8823   case 694:
    8824 
    8825 /* Line 1806 of yacc.c  */
    8826 #line 2653 "parser.yy"
    8827     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8828     break;
    8829 
    8830   case 696:
    8831 
    8832 /* Line 1806 of yacc.c  */
    8833 #line 2659 "parser.yy"
    8834     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8835     break;
    8836 
    8837   case 697:
    8838 
    8839 /* Line 1806 of yacc.c  */
    8840 #line 2661 "parser.yy"
    8841     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8842     break;
    8843 
    8844   case 698:
    8845 
    8846 /* Line 1806 of yacc.c  */
    8847 #line 2663 "parser.yy"
    8848     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8849     break;
    8850 
    8851   case 699:
    8852 
    8853 /* Line 1806 of yacc.c  */
    8854 #line 2668 "parser.yy"
    8855     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8856     break;
    8857 
    8858   case 700:
    8859 
    8860 /* Line 1806 of yacc.c  */
    8861 #line 2670 "parser.yy"
    8862     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8863     break;
    8864 
    8865   case 703:
    8866 
    8867 /* Line 1806 of yacc.c  */
    8868 #line 2680 "parser.yy"
     8890  case 702:
     8891
     8892/* Line 1806 of yacc.c  */
     8893#line 2676 "parser.yy"
    88698894    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88708895    break;
    88718896
     8897  case 705:
     8898
     8899/* Line 1806 of yacc.c  */
     8900#line 2686 "parser.yy"
     8901    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8902    break;
     8903
    88728904  case 706:
     8905
     8906/* Line 1806 of yacc.c  */
     8907#line 2688 "parser.yy"
     8908    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8909    break;
     8910
     8911  case 707:
    88738912
    88748913/* Line 1806 of yacc.c  */
     
    88778916    break;
    88788917
    8879   case 707:
     8918  case 708:
    88808919
    88818920/* Line 1806 of yacc.c  */
     
    88848923    break;
    88858924
    8886   case 708:
     8925  case 709:
    88878926
    88888927/* Line 1806 of yacc.c  */
     
    88918930    break;
    88928931
    8893   case 709:
     8932  case 710:
    88948933
    88958934/* Line 1806 of yacc.c  */
     
    88988937    break;
    88998938
    8900   case 710:
    8901 
    8902 /* Line 1806 of yacc.c  */
    8903 #line 2698 "parser.yy"
    8904     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8905     break;
    8906 
    89078939  case 711:
    89088940
    89098941/* Line 1806 of yacc.c  */
    8910 #line 2700 "parser.yy"
    8911     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8942#line 2703 "parser.yy"
     8943    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89128944    break;
    89138945
     
    89158947
    89168948/* Line 1806 of yacc.c  */
     8949#line 2705 "parser.yy"
     8950    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8951    break;
     8952
     8953  case 713:
     8954
     8955/* Line 1806 of yacc.c  */
    89178956#line 2707 "parser.yy"
     8957    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8958    break;
     8959
     8960  case 714:
     8961
     8962/* Line 1806 of yacc.c  */
     8963#line 2709 "parser.yy"
     8964    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8965    break;
     8966
     8967  case 715:
     8968
     8969/* Line 1806 of yacc.c  */
     8970#line 2711 "parser.yy"
     8971    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8972    break;
     8973
     8974  case 716:
     8975
     8976/* Line 1806 of yacc.c  */
     8977#line 2713 "parser.yy"
    89188978    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89198979    break;
    89208980
    8921   case 713:
    8922 
    8923 /* Line 1806 of yacc.c  */
    8924 #line 2709 "parser.yy"
    8925     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8926     break;
    8927 
    8928   case 714:
    8929 
    8930 /* Line 1806 of yacc.c  */
    8931 #line 2711 "parser.yy"
    8932     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8933     break;
    8934 
    8935   case 715:
    8936 
    8937 /* Line 1806 of yacc.c  */
    8938 #line 2713 "parser.yy"
    8939     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8940     break;
    8941 
    8942   case 716:
     8981  case 717:
    89438982
    89448983/* Line 1806 of yacc.c  */
     
    89478986    break;
    89488987
    8949   case 717:
     8988  case 718:
    89508989
    89518990/* Line 1806 of yacc.c  */
    89528991#line 2717 "parser.yy"
    8953     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8954     break;
    8955 
    8956   case 718:
     8992    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8993    break;
     8994
     8995  case 719:
    89578996
    89588997/* Line 1806 of yacc.c  */
    89598998#line 2719 "parser.yy"
     8999    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9000    break;
     9001
     9002  case 720:
     9003
     9004/* Line 1806 of yacc.c  */
     9005#line 2721 "parser.yy"
    89609006    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89619007    break;
    89629008
    8963   case 719:
    8964 
    8965 /* Line 1806 of yacc.c  */
    8966 #line 2721 "parser.yy"
    8967     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8968     break;
    8969 
    8970   case 720:
    8971 
    8972 /* Line 1806 of yacc.c  */
    8973 #line 2723 "parser.yy"
    8974     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8975     break;
    8976 
    89779009  case 721:
    89789010
    89799011/* Line 1806 of yacc.c  */
    8980 #line 2725 "parser.yy"
    8981     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9012#line 2726 "parser.yy"
     9013    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    89829014    break;
    89839015
     
    89859017
    89869018/* Line 1806 of yacc.c  */
    8987 #line 2730 "parser.yy"
    8988     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     9019#line 2728 "parser.yy"
     9020    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    89899021    break;
    89909022
     
    89929024
    89939025/* Line 1806 of yacc.c  */
    8994 #line 2732 "parser.yy"
    8995     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     9026#line 2733 "parser.yy"
     9027    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    89969028    break;
    89979029
     
    89999031
    90009032/* Line 1806 of yacc.c  */
    9001 #line 2737 "parser.yy"
    9002     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9003     break;
    9004 
    9005   case 725:
    9006 
    9007 /* Line 1806 of yacc.c  */
    9008 #line 2739 "parser.yy"
     9033#line 2735 "parser.yy"
    90099034    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    90109035    break;
    90119036
    9012   case 727:
    9013 
    9014 /* Line 1806 of yacc.c  */
    9015 #line 2766 "parser.yy"
     9037  case 726:
     9038
     9039/* Line 1806 of yacc.c  */
     9040#line 2762 "parser.yy"
    90169041    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90179042    break;
    90189043
     9044  case 730:
     9045
     9046/* Line 1806 of yacc.c  */
     9047#line 2773 "parser.yy"
     9048    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9049    break;
     9050
    90199051  case 731:
     9052
     9053/* Line 1806 of yacc.c  */
     9054#line 2775 "parser.yy"
     9055    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9056    break;
     9057
     9058  case 732:
    90209059
    90219060/* Line 1806 of yacc.c  */
     
    90249063    break;
    90259064
    9026   case 732:
     9065  case 733:
    90279066
    90289067/* Line 1806 of yacc.c  */
     
    90319070    break;
    90329071
    9033   case 733:
     9072  case 734:
    90349073
    90359074/* Line 1806 of yacc.c  */
     
    90389077    break;
    90399078
    9040   case 734:
     9079  case 735:
    90419080
    90429081/* Line 1806 of yacc.c  */
     
    90459084    break;
    90469085
    9047   case 735:
    9048 
    9049 /* Line 1806 of yacc.c  */
    9050 #line 2785 "parser.yy"
    9051     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9052     break;
    9053 
    90549086  case 736:
    90559087
    90569088/* Line 1806 of yacc.c  */
    9057 #line 2787 "parser.yy"
    9058     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9089#line 2790 "parser.yy"
     9090    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90599091    break;
    90609092
     
    90629094
    90639095/* Line 1806 of yacc.c  */
     9096#line 2792 "parser.yy"
     9097    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9098    break;
     9099
     9100  case 738:
     9101
     9102/* Line 1806 of yacc.c  */
    90649103#line 2794 "parser.yy"
     9104    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9105    break;
     9106
     9107  case 739:
     9108
     9109/* Line 1806 of yacc.c  */
     9110#line 2796 "parser.yy"
    90659111    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90669112    break;
    90679113
    9068   case 738:
    9069 
    9070 /* Line 1806 of yacc.c  */
    9071 #line 2796 "parser.yy"
     9114  case 740:
     9115
     9116/* Line 1806 of yacc.c  */
     9117#line 2798 "parser.yy"
    90729118    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90739119    break;
    90749120
    9075   case 739:
    9076 
    9077 /* Line 1806 of yacc.c  */
    9078 #line 2798 "parser.yy"
     9121  case 741:
     9122
     9123/* Line 1806 of yacc.c  */
     9124#line 2800 "parser.yy"
    90799125    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90809126    break;
    90819127
    9082   case 740:
    9083 
    9084 /* Line 1806 of yacc.c  */
    9085 #line 2800 "parser.yy"
    9086     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9087     break;
    9088 
    9089   case 741:
    9090 
    9091 /* Line 1806 of yacc.c  */
    9092 #line 2802 "parser.yy"
    9093     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9094     break;
    9095 
    90969128  case 742:
    90979129
    90989130/* Line 1806 of yacc.c  */
    9099 #line 2804 "parser.yy"
    9100     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9131#line 2805 "parser.yy"
     9132    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91019133    break;
    91029134
     
    91049136
    91059137/* Line 1806 of yacc.c  */
    9106 #line 2809 "parser.yy"
    9107     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     9138#line 2810 "parser.yy"
     9139    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91089140    break;
    91099141
     
    91119143
    91129144/* Line 1806 of yacc.c  */
     9145#line 2812 "parser.yy"
     9146    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     9147    break;
     9148
     9149  case 745:
     9150
     9151/* Line 1806 of yacc.c  */
    91139152#line 2814 "parser.yy"
    9114     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    9115     break;
    9116 
    9117   case 745:
    9118 
    9119 /* Line 1806 of yacc.c  */
    9120 #line 2816 "parser.yy"
    91219153    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91229154    break;
    91239155
    9124   case 746:
    9125 
    9126 /* Line 1806 of yacc.c  */
    9127 #line 2818 "parser.yy"
    9128     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     9156  case 748:
     9157
     9158/* Line 1806 of yacc.c  */
     9159#line 2838 "parser.yy"
     9160    { (yyval.en) = 0; }
    91299161    break;
    91309162
     
    91329164
    91339165/* Line 1806 of yacc.c  */
    9134 #line 2842 "parser.yy"
    9135     { (yyval.en) = 0; }
    9136     break;
    9137 
    9138   case 750:
    9139 
    9140 /* Line 1806 of yacc.c  */
    9141 #line 2844 "parser.yy"
     9166#line 2840 "parser.yy"
    91429167    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91439168    break;
     
    91469171
    91479172/* Line 1806 of yacc.c  */
    9148 #line 9149 "Parser/parser.cc"
     9173#line 9174 "Parser/parser.cc"
    91499174      default: break;
    91509175    }
     
    93779402
    93789403/* Line 2067 of yacc.c  */
    9379 #line 2847 "parser.yy"
     9404#line 2843 "parser.yy"
    93809405
    93819406// ----end of grammar----
     9407
     9408extern char *yytext;
    93829409
    93839410void yyerror( const char * ) {
Note: See TracChangeset for help on using the changeset viewer.