Changeset 4dcea3f


Ignore:
Timestamp:
Jun 28, 2016, 3:33:05 PM (9 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, 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:
982d63f
Parents:
e39aa0f (diff), 2e04c7b3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into ctor

Location:
src
Files:
1 added
1 deleted
7 edited
58 moved

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    re39aa0f r4dcea3f  
    14671467 * Created On       : Sat Sep 22 08:58:10 2001
    14681468 * Last Modified By : Peter A. Buhr
    1469  * Last Modified On : Wed Jun 22 21:20:18 2016
    1470  * Update Count     : 456
     1469 * Last Modified On : Thu Jun 23 07:29:30 2016
     1470 * Update Count     : 457
    14711471 */
    14721472#line 20 "lex.ll"
  • src/Parser/lex.ll

    re39aa0f r4dcea3f  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Wed Jun 22 21:20:18 2016
    13  * Update Count     : 456
     12 * Last Modified On : Thu Jun 23 07:29:30 2016
     13 * Update Count     : 457
    1414 */
    1515
     
    273273{identifier}    { IDENTIFIER_RETURN(); }
    274274{attr_identifier} { ATTRIBUTE_RETURN(); }
    275 "`"                     { BEGIN BKQUOTE; }
     275"`"                             { BEGIN BKQUOTE; }
    276276<BKQUOTE>{identifier} { IDENTIFIER_RETURN(); }
    277277<BKQUOTE>"`"    { BEGIN 0; }
  • src/Parser/parser.cc

    re39aa0f r4dcea3f  
    588588
    589589/* YYFINAL -- State number of the termination state.  */
    590 #define YYFINAL  251
     590#define YYFINAL  252
    591591/* YYLAST -- Last index in YYTABLE.  */
    592 #define YYLAST   11428
     592#define YYLAST   12094
    593593
    594594/* YYNTOKENS -- Number of terminals.  */
     
    599599#define YYNRULES  755
    600600/* YYNRULES -- Number of states.  */
    601 #define YYNSTATES  1581
     601#define YYNSTATES  1580
    602602
    603603/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    661661     134,   136,   140,   142,   146,   154,   158,   166,   168,   170,
    662662     172,   175,   178,   181,   184,   187,   190,   195,   202,   204,
    663      209,   214,   217,   222,   225,   227,   229,   231,   233,   235,
    664      237,   239,   244,   249,   251,   255,   259,   263,   265,   269,
    665      273,   275,   279,   283,   285,   289,   293,   297,   301,   303,
    666      307,   311,   313,   317,   319,   323,   325,   329,   331,   335,
    667      337,   341,   343,   349,   354,   360,   362,   364,   368,   372,
    668      375,   376,   378,   381,   387,   394,   402,   404,   408,   410,
    669      412,   414,   416,   418,   420,   422,   424,   426,   428,   430,
    670      434,   435,   437,   439,   441,   443,   445,   447,   449,   451,
    671      453,   460,   465,   468,   476,   478,   482,   484,   487,   489,
    672      492,   494,   497,   500,   506,   514,   520,   530,   536,   546,
    673      548,   552,   554,   556,   560,   564,   567,   569,   572,   575,
    674      576,   578,   581,   585,   586,   588,   591,   595,   599,   604,
    675      605,   607,   609,   612,   618,   626,   633,   640,   645,   649,
    676      654,   657,   661,   664,   668,   672,   676,   680,   686,   690,
    677      694,   699,   701,   707,   714,   720,   727,   737,   748,   758,
    678      769,   772,   774,   777,   780,   783,   785,   792,   801,   812,
    679      825,   840,   841,   843,   844,   846,   848,   852,   857,   865,
    680      866,   868,   872,   874,   878,   880,   882,   884,   888,   890,
    681      892,   894,   898,   899,   901,   905,   910,   912,   916,   918,
    682      920,   924,   928,   932,   936,   940,   943,   947,   954,   958,
    683      962,   967,   969,   972,   975,   979,   985,   994,  1002,  1010,
    684     1016,  1026,  1029,  1032,  1038,  1042,  1048,  1053,  1057,  1062,
    685     1067,  1075,  1079,  1083,  1087,  1091,  1096,  1103,  1105,  1107,
    686     1109,  1111,  1113,  1115,  1117,  1119,  1120,  1122,  1124,  1127,
    687     1129,  1131,  1133,  1135,  1137,  1139,  1141,  1142,  1148,  1150,
    688     1153,  1157,  1159,  1162,  1164,  1166,  1168,  1170,  1172,  1174,
    689     1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,
    690     1196,  1198,  1200,  1202,  1204,  1206,  1208,  1211,  1214,  1218,
    691     1222,  1224,  1228,  1230,  1233,  1236,  1239,  1244,  1249,  1254,
    692     1259,  1261,  1264,  1267,  1271,  1273,  1276,  1279,  1281,  1284,
    693     1287,  1291,  1293,  1296,  1299,  1301,  1303,  1308,  1311,  1312,
    694     1319,  1327,  1330,  1333,  1336,  1338,  1341,  1344,  1348,  1351,
    695     1355,  1357,  1360,  1364,  1367,  1370,  1375,  1376,  1378,  1381,
    696     1384,  1386,  1387,  1389,  1392,  1395,  1401,  1404,  1405,  1413,
    697     1416,  1421,  1422,  1425,  1426,  1428,  1430,  1432,  1438,  1444,
    698     1450,  1452,  1458,  1464,  1474,  1476,  1482,  1483,  1485,  1487,
    699     1493,  1495,  1497,  1503,  1509,  1511,  1515,  1519,  1524,  1526,
    700     1528,  1530,  1532,  1535,  1537,  1541,  1545,  1547,  1550,  1552,
    701     1556,  1558,  1560,  1562,  1564,  1566,  1568,  1570,  1572,  1574,
    702     1576,  1578,  1581,  1583,  1585,  1587,  1590,  1591,  1594,  1597,
    703     1599,  1604,  1605,  1607,  1610,  1614,  1619,  1622,  1625,  1627,
    704     1630,  1632,  1635,  1641,  1647,  1655,  1662,  1664,  1667,  1670,
    705     1674,  1676,  1679,  1682,  1687,  1690,  1695,  1696,  1701,  1704,
    706     1706,  1708,  1710,  1711,  1714,  1720,  1726,  1740,  1742,  1744,
    707     1748,  1752,  1755,  1759,  1763,  1766,  1771,  1773,  1780,  1790,
    708     1791,  1803,  1805,  1809,  1813,  1817,  1819,  1821,  1827,  1830,
    709     1836,  1837,  1839,  1841,  1845,  1846,  1848,  1850,  1852,  1854,
    710     1855,  1862,  1865,  1867,  1870,  1875,  1878,  1882,  1886,  1890,
    711     1895,  1901,  1907,  1913,  1920,  1922,  1924,  1926,  1930,  1931,
    712     1937,  1938,  1940,  1942,  1945,  1952,  1954,  1958,  1959,  1961,
    713     1966,  1968,  1970,  1972,  1974,  1977,  1979,  1982,  1985,  1987,
    714     1991,  1994,  1998,  2002,  2005,  2010,  2015,  2019,  2028,  2032,
    715     2035,  2037,  2040,  2047,  2056,  2060,  2063,  2067,  2071,  2076,
    716     2081,  2085,  2087,  2089,  2091,  2096,  2103,  2107,  2110,  2114,
    717     2118,  2123,  2128,  2132,  2135,  2137,  2140,  2143,  2145,  2149,
    718     2152,  2156,  2160,  2163,  2168,  2173,  2177,  2184,  2193,  2197,
    719     2200,  2202,  2205,  2208,  2211,  2215,  2219,  2222,  2227,  2232,
    720     2236,  2243,  2252,  2256,  2259,  2261,  2264,  2267,  2269,  2271,
    721     2274,  2278,  2282,  2285,  2290,  2297,  2306,  2308,  2311,  2314,
    722     2316,  2319,  2322,  2326,  2330,  2332,  2337,  2342,  2346,  2352,
    723     2361,  2365,  2368,  2372,  2374,  2380,  2386,  2393,  2400,  2402,
    724     2405,  2408,  2410,  2413,  2416,  2420,  2424,  2426,  2431,  2436,
    725     2440,  2446,  2455,  2459,  2461,  2464,  2466,  2469,  2476,  2482,
    726     2489,  2497,  2505,  2507,  2510,  2513,  2515,  2518,  2521,  2525,
    727     2529,  2531,  2536,  2541,  2545,  2554,  2558,  2560,  2562,  2565,
    728     2567,  2569,  2572,  2576,  2579,  2583,  2586,  2590,  2594,  2597,
    729     2602,  2606,  2609,  2613,  2616,  2621,  2625,  2628,  2635,  2642,
    730     2649,  2657,  2659,  2662,  2664,  2666,  2668,  2671,  2675,  2678,
    731     2682,  2685,  2689,  2693,  2698,  2701,  2705,  2710,  2713,  2719,
    732     2725,  2732,  2739,  2740,  2742,  2743
     663     209,   214,   217,   222,   224,   226,   228,   230,   232,   234,
     664     236,   238,   243,   248,   250,   254,   258,   262,   264,   268,
     665     272,   274,   278,   282,   284,   288,   292,   296,   300,   302,
     666     306,   310,   312,   316,   318,   322,   324,   328,   330,   334,
     667     336,   340,   342,   348,   353,   359,   361,   363,   367,   371,
     668     374,   375,   377,   380,   386,   393,   401,   403,   407,   409,
     669     411,   413,   415,   417,   419,   421,   423,   425,   427,   429,
     670     433,   434,   436,   438,   440,   442,   444,   446,   448,   450,
     671     452,   459,   464,   467,   475,   477,   481,   483,   486,   488,
     672     491,   493,   496,   499,   505,   513,   519,   529,   535,   545,
     673     547,   551,   553,   555,   559,   563,   566,   568,   571,   574,
     674     575,   577,   580,   584,   585,   587,   590,   594,   598,   603,
     675     604,   606,   608,   611,   617,   625,   632,   639,   644,   648,
     676     653,   656,   660,   663,   667,   671,   675,   679,   685,   689,
     677     693,   698,   700,   706,   713,   719,   726,   736,   747,   757,
     678     768,   771,   773,   776,   779,   782,   784,   791,   800,   811,
     679     824,   839,   840,   842,   843,   845,   847,   851,   856,   864,
     680     865,   867,   871,   873,   877,   879,   881,   883,   887,   889,
     681     891,   893,   897,   898,   900,   904,   909,   911,   915,   917,
     682     919,   923,   927,   931,   935,   939,   942,   946,   953,   957,
     683     961,   966,   968,   971,   974,   978,   984,   993,  1001,  1009,
     684    1015,  1025,  1028,  1031,  1037,  1041,  1047,  1052,  1056,  1061,
     685    1066,  1074,  1078,  1082,  1086,  1090,  1095,  1102,  1104,  1106,
     686    1108,  1110,  1112,  1114,  1116,  1118,  1119,  1121,  1123,  1126,
     687    1128,  1130,  1132,  1134,  1136,  1138,  1140,  1141,  1147,  1149,
     688    1152,  1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,
     689    1175,  1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,
     690    1195,  1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,
     691    1221,  1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,
     692    1258,  1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,
     693    1286,  1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,
     694    1318,  1326,  1329,  1332,  1335,  1337,  1340,  1343,  1347,  1350,
     695    1354,  1356,  1359,  1363,  1366,  1369,  1374,  1375,  1377,  1380,
     696    1383,  1385,  1386,  1388,  1391,  1394,  1400,  1403,  1404,  1412,
     697    1415,  1420,  1421,  1424,  1425,  1427,  1429,  1431,  1437,  1443,
     698    1449,  1451,  1457,  1463,  1473,  1475,  1481,  1482,  1484,  1486,
     699    1492,  1494,  1496,  1502,  1508,  1510,  1514,  1518,  1523,  1525,
     700    1527,  1529,  1531,  1534,  1536,  1540,  1544,  1546,  1549,  1551,
     701    1555,  1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,
     702    1575,  1577,  1580,  1582,  1584,  1586,  1589,  1590,  1593,  1596,
     703    1598,  1603,  1604,  1606,  1609,  1613,  1618,  1621,  1624,  1626,
     704    1629,  1631,  1634,  1640,  1646,  1654,  1661,  1663,  1666,  1669,
     705    1673,  1675,  1678,  1681,  1686,  1689,  1694,  1695,  1700,  1703,
     706    1705,  1707,  1709,  1710,  1713,  1719,  1725,  1739,  1741,  1743,
     707    1747,  1751,  1754,  1758,  1762,  1765,  1770,  1772,  1779,  1789,
     708    1790,  1802,  1804,  1808,  1812,  1816,  1818,  1820,  1826,  1829,
     709    1835,  1836,  1838,  1840,  1844,  1845,  1847,  1849,  1851,  1853,
     710    1854,  1861,  1864,  1866,  1869,  1874,  1877,  1881,  1885,  1889,
     711    1894,  1900,  1906,  1912,  1919,  1921,  1923,  1925,  1929,  1930,
     712    1936,  1937,  1939,  1941,  1944,  1951,  1953,  1957,  1958,  1960,
     713    1965,  1967,  1969,  1971,  1973,  1976,  1978,  1981,  1984,  1986,
     714    1990,  1993,  1997,  2001,  2004,  2009,  2014,  2018,  2027,  2031,
     715    2034,  2036,  2039,  2046,  2055,  2059,  2062,  2066,  2070,  2075,
     716    2080,  2084,  2086,  2088,  2090,  2095,  2102,  2106,  2109,  2113,
     717    2117,  2122,  2127,  2131,  2134,  2136,  2139,  2142,  2144,  2148,
     718    2151,  2155,  2159,  2162,  2167,  2172,  2176,  2183,  2192,  2196,
     719    2199,  2201,  2204,  2207,  2210,  2214,  2218,  2221,  2226,  2231,
     720    2235,  2242,  2251,  2255,  2258,  2260,  2263,  2266,  2268,  2270,
     721    2273,  2277,  2281,  2284,  2289,  2296,  2305,  2307,  2310,  2313,
     722    2315,  2318,  2321,  2325,  2329,  2331,  2336,  2341,  2345,  2351,
     723    2360,  2364,  2367,  2371,  2373,  2379,  2385,  2392,  2399,  2401,
     724    2404,  2407,  2409,  2412,  2415,  2419,  2423,  2425,  2430,  2435,
     725    2439,  2445,  2454,  2458,  2460,  2463,  2465,  2468,  2475,  2481,
     726    2488,  2496,  2504,  2506,  2509,  2512,  2514,  2517,  2520,  2524,
     727    2528,  2530,  2535,  2540,  2544,  2553,  2557,  2559,  2561,  2564,
     728    2566,  2568,  2571,  2575,  2578,  2582,  2585,  2589,  2593,  2596,
     729    2601,  2605,  2608,  2612,  2615,  2620,  2624,  2627,  2634,  2641,
     730    2648,  2656,  2658,  2661,  2663,  2665,  2667,  2670,  2674,  2677,
     731    2681,  2684,  2688,  2692,  2697,  2700,  2704,  2709,  2712,  2718,
     732    2724,  2731,  2738,  2739,  2741,  2742
    733733};
    734734
     
    758758     110,    -1,    76,    -1,    76,   109,   276,   110,    -1,    76,
    759759     109,   145,   110,    -1,    66,   148,    -1,    66,   109,   275,
    760      110,    -1,    94,   139,    -1,   118,    -1,   119,    -1,   120,
    761       -1,   121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,
    762      275,   110,   151,    -1,   109,   275,   110,   166,    -1,   151,
    763       -1,   152,   118,   151,    -1,   152,   124,   151,    -1,   152,
    764      125,   151,    -1,   152,    -1,   153,   120,   152,    -1,   153,
    765      121,   152,    -1,   153,    -1,   154,    88,   153,    -1,   154,
    766       89,   153,    -1,   154,    -1,   155,   126,   154,    -1,   155,
    767      127,   154,    -1,   155,    90,   154,    -1,   155,    91,   154,
    768       -1,   155,    -1,   156,    92,   155,    -1,   156,    93,   155,
    769       -1,   156,    -1,   157,   119,   156,    -1,   157,    -1,   158,
    770      128,   157,    -1,   158,    -1,   159,   129,   158,    -1,   159,
    771       -1,   160,    94,   159,    -1,   160,    -1,   161,    95,   160,
    772       -1,   161,    -1,   161,   130,   169,   117,   162,    -1,   161,
    773      130,   117,   162,    -1,   161,   130,   169,   117,   166,    -1,
    774      162,    -1,   162,    -1,   148,   131,   164,    -1,   148,   168,
    775      164,    -1,   166,   373,    -1,    -1,   164,    -1,   111,   112,
    776       -1,   111,   134,   164,   135,   112,    -1,   111,   134,   116,
    777      167,   135,   112,    -1,   111,   134,   164,   116,   167,   135,
    778      112,    -1,   165,    -1,   167,   116,   165,    -1,    97,    -1,
    779       98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,
    780      103,    -1,   104,    -1,   105,    -1,   106,    -1,   164,    -1,
    781      169,   116,   164,    -1,    -1,   169,    -1,   172,    -1,   173,
    782       -1,   177,    -1,   178,    -1,   190,    -1,   192,    -1,   193,
    783       -1,   198,    -1,   128,   143,   114,   144,   115,   132,    -1,
    784      139,   117,   312,   171,    -1,   114,   115,    -1,   114,   134,
    785      134,   209,   174,   135,   115,    -1,   175,    -1,   174,   134,
    786      175,    -1,   212,    -1,    40,   212,    -1,   308,    -1,   171,
    787      135,    -1,   171,    -1,   176,   171,    -1,   170,   132,    -1,
    788       41,   109,   169,   110,   171,    -1,    41,   109,   169,   110,
    789      171,    42,   171,    -1,    43,   109,   169,   110,   183,    -1,
    790       43,   109,   169,   110,   114,   134,   205,   184,   115,    -1,
    791       53,   109,   169,   110,   183,    -1,    53,   109,   169,   110,
    792      114,   134,   205,   186,   115,    -1,   163,    -1,   163,    96,
    793      163,    -1,   310,    -1,   179,    -1,   180,   116,   179,    -1,
    794       44,   180,   117,    -1,    45,   117,    -1,   181,    -1,   182,
    795      181,    -1,   182,   171,    -1,    -1,   185,    -1,   182,   176,
    796       -1,   185,   182,   176,    -1,    -1,   187,    -1,   182,   189,
    797       -1,   182,   176,   188,    -1,   187,   182,   189,    -1,   187,
    798      182,   176,   188,    -1,    -1,   189,    -1,    56,    -1,    56,
    799      132,    -1,    47,   109,   169,   110,   171,    -1,    46,   171,
    800       47,   109,   169,   110,   132,    -1,    48,   109,   134,   191,
    801      110,   171,    -1,   170,   135,   132,   170,   132,   170,    -1,
    802      212,   170,   132,   170,    -1,    51,   139,   132,    -1,    51,
    803      118,   169,   132,    -1,    50,   132,    -1,    50,   139,   132,
    804       -1,    49,   132,    -1,    49,   139,   132,    -1,    52,   170,
    805      132,    -1,    61,   165,   132,    -1,    62,   165,   132,    -1,
    806       62,   165,    63,   164,   132,    -1,    57,   173,   194,    -1,
    807       57,   173,   196,    -1,    57,   173,   194,   196,    -1,   195,
    808       -1,    58,   109,    96,   110,   173,    -1,   195,    58,   109,
    809       96,   110,   173,    -1,    59,   109,    96,   110,   173,    -1,
    810      195,    59,   109,    96,   110,   173,    -1,    58,   109,   134,
    811      134,   197,   135,   110,   173,   135,    -1,   195,    58,   109,
    812      134,   134,   197,   135,   110,   173,   135,    -1,    59,   109,
    813      134,   134,   197,   135,   110,   173,   135,    -1,   195,    59,
    814      109,   134,   134,   197,   135,   110,   173,   135,    -1,    60,
    815      173,    -1,   225,    -1,   225,   309,    -1,   225,   357,    -1,
    816      366,   139,    -1,   366,    -1,    64,   199,   109,   141,   110,
    817      132,    -1,    64,   199,   109,   141,   117,   200,   110,   132,
    818       -1,    64,   199,   109,   141,   117,   200,   117,   200,   110,
    819      132,    -1,    64,   199,   109,   141,   117,   200,   117,   200,
    820      117,   203,   110,   132,    -1,    64,   199,    51,   109,   141,
    821      117,   117,   200,   117,   203,   117,   204,   110,   132,    -1,
    822       -1,    11,    -1,    -1,   201,    -1,   202,    -1,   201,   116,
    823      202,    -1,   141,   109,   163,   110,    -1,   111,   163,   112,
    824      141,   109,   163,   110,    -1,    -1,   141,    -1,   203,   116,
    825      141,    -1,   139,    -1,   204,   116,   139,    -1,   135,    -1,
    826      206,    -1,   212,    -1,   206,   134,   212,    -1,   135,    -1,
    827      208,    -1,   222,    -1,   208,   134,   222,    -1,    -1,   210,
    828       -1,    29,   211,   132,    -1,   210,    29,   211,   132,    -1,
    829      274,    -1,   211,   116,   274,    -1,   213,    -1,   222,    -1,
    830      214,   135,   132,    -1,   219,   135,   132,    -1,   216,   135,
    831      132,    -1,   293,   135,   132,    -1,   296,   135,   132,    -1,
    832      215,   277,    -1,   231,   215,   277,    -1,   214,   135,   116,
    833      134,   272,   277,    -1,   367,   272,   311,    -1,   370,   272,
    834      311,    -1,   227,   370,   272,   311,    -1,   217,    -1,   227,
    835      217,    -1,   231,   217,    -1,   231,   227,   217,    -1,   216,
    836      135,   116,   134,   272,    -1,   111,   112,   272,   109,   134,
    837      260,   135,   110,    -1,   370,   272,   109,   134,   260,   135,
    838      110,    -1,   218,   272,   109,   134,   260,   135,   110,    -1,
    839      111,   134,   262,   135,   112,    -1,   111,   134,   262,   135,
    840      116,   134,   263,   135,   112,    -1,     3,   215,    -1,     3,
    841      217,    -1,   219,   135,   116,   134,   139,    -1,     3,   225,
    842      309,    -1,   220,   135,   116,   134,   309,    -1,   227,     3,
    843      225,   309,    -1,   225,     3,   309,    -1,   225,     3,   227,
    844      309,    -1,     3,   139,   131,   164,    -1,   221,   135,   116,
    845      134,   139,   131,   164,    -1,   223,   135,   132,    -1,   220,
    846      135,   132,    -1,   221,   135,   132,    -1,   240,   135,   132,
    847       -1,   224,   309,   311,   277,    -1,   223,   116,   312,   309,
    848      311,   277,    -1,   236,    -1,   240,    -1,   242,    -1,   283,
    849       -1,   237,    -1,   241,    -1,   243,    -1,   284,    -1,    -1,
    850      227,    -1,   228,    -1,   227,   228,    -1,   229,    -1,   314,
    851       -1,    10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,
    852       -1,    -1,    13,   109,   230,   286,   110,    -1,   232,    -1,
    853      227,   232,    -1,   231,   227,   232,    -1,   233,    -1,   232,
    854      233,    -1,   234,    -1,     5,    -1,     7,    -1,     4,    -1,
    855        6,    -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,
    856       16,    -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,
    857       17,    -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,
    858       26,    -1,    27,    -1,    24,    -1,   237,    -1,   231,   237,
    859       -1,   236,   233,    -1,   236,   233,   227,    -1,   236,   233,
    860      237,    -1,   238,    -1,   226,   239,   226,    -1,   235,    -1,
    861      227,   235,    -1,   238,   228,    -1,   238,   235,    -1,    28,
    862      109,   276,   110,    -1,    28,   109,   169,   110,    -1,    78,
    863      109,   276,   110,    -1,    78,   109,   169,   110,    -1,   241,
    864       -1,   231,   241,    -1,   240,   233,    -1,   240,   233,   227,
    865       -1,   244,    -1,   227,   244,    -1,   241,   228,    -1,   243,
    866       -1,   231,   243,    -1,   242,   233,    -1,   242,   233,   227,
    867       -1,    74,    -1,   227,    74,    -1,   243,   228,    -1,   245,
    868       -1,   256,    -1,   247,   114,   248,   115,    -1,   247,   274,
    869       -1,    -1,   247,   274,   246,   114,   248,   115,    -1,   247,
    870      109,   292,   110,   114,   248,   115,    -1,   247,   285,    -1,
    871       31,   312,    -1,    32,   312,    -1,   249,    -1,   248,   249,
    872       -1,   250,   132,    -1,    40,   250,   132,    -1,   251,   132,
    873       -1,    40,   251,   132,    -1,   366,    -1,   366,   274,    -1,
    874      250,   116,   274,    -1,   250,   116,    -1,   225,   252,    -1,
    875      251,   116,   312,   252,    -1,    -1,   254,    -1,   318,   253,
    876       -1,   331,   253,    -1,   357,    -1,    -1,   254,    -1,   117,
    877      163,    -1,    30,   312,    -1,   255,   114,   258,   372,   115,
    878       -1,   255,   274,    -1,    -1,   255,   274,   257,   114,   258,
    879      372,   115,    -1,   274,   259,    -1,   258,   116,   274,   259,
    880       -1,    -1,   131,   163,    -1,    -1,   261,    -1,   263,    -1,
    881      262,    -1,   262,   135,   116,   134,   263,    -1,   263,   135,
    882      116,   134,    96,    -1,   262,   135,   116,   134,    96,    -1,
    883      267,    -1,   263,   135,   116,   134,   267,    -1,   262,   135,
    884      116,   134,   267,    -1,   262,   135,   116,   134,   263,   135,
    885      116,   134,   267,    -1,   268,    -1,   263,   135,   116,   134,
    886      268,    -1,    -1,   265,    -1,   266,    -1,   266,   135,   116,
    887      134,    96,    -1,   270,    -1,   269,    -1,   266,   135,   116,
    888      134,   270,    -1,   266,   135,   116,   134,   269,    -1,   269,
    889       -1,   362,   272,   373,    -1,   370,   272,   373,    -1,   227,
    890      370,   272,   373,    -1,   217,    -1,   270,    -1,   362,    -1,
    891      370,    -1,   227,   370,    -1,   371,    -1,   224,   336,   373,
    892       -1,   224,   340,   373,    -1,   224,    -1,   224,   351,    -1,
    893      139,    -1,   271,   116,   139,    -1,   137,    -1,    74,    -1,
    894       75,    -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,
    895       74,    -1,    75,    -1,   366,    -1,   225,    -1,   225,   357,
    896       -1,   366,    -1,   371,    -1,   225,    -1,   225,   345,    -1,
    897       -1,   131,   278,    -1,   107,   278,    -1,   164,    -1,   114,
    898      279,   372,   115,    -1,    -1,   278,    -1,   280,   278,    -1,
    899      279,   116,   278,    -1,   279,   116,   280,   278,    -1,   281,
    900      117,    -1,   274,   117,    -1,   282,    -1,   281,   282,    -1,
    901       80,    -1,   113,   274,    -1,   111,   134,   164,   135,   112,
    902       -1,   111,   134,   310,   135,   112,    -1,   111,   134,   163,
    903       96,   163,   135,   112,    -1,   113,   111,   134,   146,   135,
    904      112,    -1,   284,    -1,   231,   284,    -1,   283,   233,    -1,
    905      283,   233,   227,    -1,   285,    -1,   227,   285,    -1,   284,
    906      228,    -1,    75,   109,   292,   110,    -1,   287,   373,    -1,
    907      286,   116,   287,   373,    -1,    -1,   289,   274,   288,   290,
    908       -1,   225,   336,    -1,    33,    -1,    35,    -1,    34,    -1,
    909       -1,   290,   291,    -1,   129,   274,   109,   292,   110,    -1,
    910      129,   114,   134,   298,   115,    -1,   129,   109,   134,   286,
    911      135,   110,   114,   134,   298,   115,   109,   292,   110,    -1,
    912      276,    -1,   164,    -1,   292,   116,   276,    -1,   292,   116,
    913      164,    -1,    33,   294,    -1,   232,    33,   294,    -1,   293,
    914      116,   294,    -1,   295,   290,    -1,   295,   290,   131,   276,
    915       -1,   274,    -1,   273,   109,   134,   286,   135,   110,    -1,
    916       36,   274,   109,   134,   286,   135,   110,   114,   115,    -1,
    917       -1,    36,   274,   109,   134,   286,   135,   110,   114,   297,
    918      298,   115,    -1,   299,    -1,   298,   134,   299,    -1,   300,
    919      135,   132,    -1,   301,   135,   132,    -1,   215,    -1,   217,
    920       -1,   300,   135,   116,   134,   272,    -1,   225,   309,    -1,
    921      301,   135,   116,   134,   309,    -1,    -1,   303,    -1,   305,
    922       -1,   303,   134,   305,    -1,    -1,   303,    -1,   212,    -1,
    923      307,    -1,   198,    -1,    -1,     5,    82,   306,   114,   304,
    924      115,    -1,    40,   305,    -1,   308,    -1,   323,   173,    -1,
    925      327,   134,   207,   173,    -1,   216,   173,    -1,   224,   323,
    926      173,    -1,   227,   323,   173,    -1,   231,   323,   173,    -1,
    927      231,   227,   323,   173,    -1,   224,   327,   134,   207,   173,
    928       -1,   227,   327,   134,   207,   173,    -1,   231,   327,   134,
    929      207,   173,    -1,   231,   227,   327,   134,   207,   173,    -1,
    930      318,    -1,   323,    -1,   331,    -1,   163,   123,   163,    -1,
    931       -1,    64,   109,   141,   110,   312,    -1,    -1,   313,    -1,
    932      314,    -1,   313,   314,    -1,    39,   109,   109,   315,   110,
    933      110,    -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,
    934       -1,   317,   109,   170,   110,    -1,   272,    -1,   234,    -1,
    935      235,    -1,   228,    -1,   319,   312,    -1,   320,    -1,   321,
    936      312,    -1,   322,   312,    -1,   137,    -1,   109,   319,   110,
    937       -1,   149,   318,    -1,   149,   227,   318,    -1,   109,   320,
    938      110,    -1,   319,   349,    -1,   109,   320,   110,   349,    -1,
    939      109,   321,   110,   350,    -1,   109,   321,   110,    -1,   109,
    940      320,   110,   109,   134,   264,   135,   110,    -1,   109,   322,
    941      110,    -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,
    942      319,   109,   134,   264,   135,   110,    -1,   109,   325,   110,
    943      109,   134,   264,   135,   110,    -1,   109,   324,   110,    -1,
    944      149,   323,    -1,   149,   227,   323,    -1,   109,   325,   110,
    945       -1,   109,   325,   110,   349,    -1,   109,   326,   110,   350,
    946       -1,   109,   326,   110,    -1,   328,    -1,   329,    -1,   330,
    947       -1,   319,   109,   271,   110,    -1,   109,   329,   110,   109,
    948      271,   110,    -1,   109,   328,   110,    -1,   149,   327,    -1,
    949      149,   227,   327,    -1,   109,   329,   110,    -1,   109,   329,
    950      110,   349,    -1,   109,   330,   110,   350,    -1,   109,   330,
    951      110,    -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,
    952      335,   312,    -1,   341,    -1,   109,   332,   110,    -1,   149,
    953      331,    -1,   149,   227,   331,    -1,   109,   333,   110,    -1,
    954      332,   349,    -1,   109,   333,   110,   349,    -1,   109,   334,
    955      110,   350,    -1,   109,   334,   110,    -1,   332,   109,   134,
    956      264,   135,   110,    -1,   109,   333,   110,   109,   134,   264,
    957      135,   110,    -1,   109,   335,   110,    -1,   319,   312,    -1,
    958      337,    -1,   338,   312,    -1,   339,   312,    -1,   149,   336,
    959       -1,   149,   227,   336,    -1,   109,   337,   110,    -1,   319,
    960      355,    -1,   109,   337,   110,   349,    -1,   109,   338,   110,
    961      350,    -1,   109,   338,   110,    -1,   319,   109,   134,   264,
    962      135,   110,    -1,   109,   337,   110,   109,   134,   264,   135,
    963      110,    -1,   109,   339,   110,    -1,   341,   312,    -1,   342,
    964       -1,   343,   312,    -1,   344,   312,    -1,    74,    -1,    75,
    965       -1,   149,   340,    -1,   149,   227,   340,    -1,   109,   342,
    966      110,    -1,   341,   355,    -1,   109,   342,   110,   355,    -1,
    967      341,   109,   134,   264,   135,   110,    -1,   109,   342,   110,
    968      109,   134,   264,   135,   110,    -1,   346,    -1,   347,   312,
    969       -1,   348,   312,    -1,   149,    -1,   149,   227,    -1,   149,
    970      345,    -1,   149,   227,   345,    -1,   109,   346,   110,    -1,
    971      349,    -1,   109,   346,   110,   349,    -1,   109,   347,   110,
    972      350,    -1,   109,   347,   110,    -1,   109,   134,   264,   135,
    973      110,    -1,   109,   346,   110,   109,   134,   264,   135,   110,
    974       -1,   109,   348,   110,    -1,   111,   112,    -1,   111,   112,
    975      350,    -1,   350,    -1,   111,   134,   164,   135,   112,    -1,
    976      111,   134,   118,   135,   112,    -1,   350,   111,   134,   164,
    977      135,   112,    -1,   350,   111,   134,   118,   135,   112,    -1,
    978      352,    -1,   353,   312,    -1,   354,   312,    -1,   149,    -1,
    979      149,   227,    -1,   149,   351,    -1,   149,   227,   351,    -1,
    980      109,   352,   110,    -1,   355,    -1,   109,   352,   110,   355,
    981       -1,   109,   353,   110,   350,    -1,   109,   353,   110,    -1,
    982      109,   134,   264,   135,   110,    -1,   109,   352,   110,   109,
    983      134,   264,   135,   110,    -1,   109,   354,   110,    -1,   356,
    984       -1,   356,   350,    -1,   350,    -1,   111,   112,    -1,   111,
    985      134,   227,   118,   135,   112,    -1,   111,   134,   227,   135,
    986      112,    -1,   111,   134,   227,   164,   135,   112,    -1,   111,
    987      134,     7,   226,   164,   135,   112,    -1,   111,   134,   227,
    988        7,   164,   135,   112,    -1,   358,    -1,   359,   312,    -1,
    989      360,   312,    -1,   149,    -1,   149,   227,    -1,   149,   357,
    990       -1,   149,   227,   357,    -1,   109,   358,   110,    -1,   349,
    991       -1,   109,   358,   110,   349,    -1,   109,   359,   110,   350,
    992       -1,   109,   359,   110,    -1,   109,   358,   110,   109,   134,
    993      264,   135,   110,    -1,   109,   360,   110,    -1,   362,    -1,
    994      370,    -1,   227,   370,    -1,   363,    -1,   364,    -1,   149,
    995      225,    -1,   227,   149,   225,    -1,   149,   371,    -1,   227,
    996      149,   371,    -1,   149,   361,    -1,   227,   149,   361,    -1,
    997      111,   112,   225,    -1,   365,   225,    -1,   111,   112,   350,
    998      225,    -1,   365,   350,   225,    -1,   350,   225,    -1,   111,
    999      112,   363,    -1,   365,   363,    -1,   111,   112,   350,   363,
    1000       -1,   365,   350,   363,    -1,   350,   363,    -1,   111,   134,
    1001      227,   118,   135,   112,    -1,   111,   134,   227,   164,   135,
    1002      112,    -1,   111,   134,   231,   164,   135,   112,    -1,   111,
    1003      134,   231,   227,   164,   135,   112,    -1,   370,    -1,   227,
    1004      370,    -1,   367,    -1,   368,    -1,   369,    -1,   149,   225,
     760     110,    -1,   118,    -1,   119,    -1,    94,    -1,   120,    -1,
     761     121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   275,
     762     110,   151,    -1,   109,   275,   110,   166,    -1,   151,    -1,
     763     152,   118,   151,    -1,   152,   124,   151,    -1,   152,   125,
     764     151,    -1,   152,    -1,   153,   120,   152,    -1,   153,   121,
     765     152,    -1,   153,    -1,   154,    88,   153,    -1,   154,    89,
     766     153,    -1,   154,    -1,   155,   126,   154,    -1,   155,   127,
     767     154,    -1,   155,    90,   154,    -1,   155,    91,   154,    -1,
     768     155,    -1,   156,    92,   155,    -1,   156,    93,   155,    -1,
     769     156,    -1,   157,   119,   156,    -1,   157,    -1,   158,   128,
     770     157,    -1,   158,    -1,   159,   129,   158,    -1,   159,    -1,
     771     160,    94,   159,    -1,   160,    -1,   161,    95,   160,    -1,
     772     161,    -1,   161,   130,   169,   117,   162,    -1,   161,   130,
     773     117,   162,    -1,   161,   130,   169,   117,   166,    -1,   162,
     774      -1,   162,    -1,   148,   131,   164,    -1,   148,   168,   164,
     775      -1,   166,   373,    -1,    -1,   164,    -1,   111,   112,    -1,
     776     111,   134,   164,   135,   112,    -1,   111,   134,   116,   167,
     777     135,   112,    -1,   111,   134,   164,   116,   167,   135,   112,
     778      -1,   165,    -1,   167,   116,   165,    -1,    97,    -1,    98,
     779      -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
     780      -1,   104,    -1,   105,    -1,   106,    -1,   164,    -1,   169,
     781     116,   164,    -1,    -1,   169,    -1,   172,    -1,   173,    -1,
     782     177,    -1,   178,    -1,   190,    -1,   192,    -1,   193,    -1,
     783     198,    -1,   128,   143,   114,   144,   115,   132,    -1,    72,
     784     117,   312,   171,    -1,   114,   115,    -1,   114,   134,   134,
     785     209,   174,   135,   115,    -1,   175,    -1,   174,   134,   175,
     786      -1,   212,    -1,    40,   212,    -1,   308,    -1,   171,   135,
     787      -1,   171,    -1,   176,   171,    -1,   170,   132,    -1,    41,
     788     109,   169,   110,   171,    -1,    41,   109,   169,   110,   171,
     789      42,   171,    -1,    43,   109,   169,   110,   183,    -1,    43,
     790     109,   169,   110,   114,   134,   205,   184,   115,    -1,    53,
     791     109,   169,   110,   183,    -1,    53,   109,   169,   110,   114,
     792     134,   205,   186,   115,    -1,   163,    -1,   163,    96,   163,
     793      -1,   310,    -1,   179,    -1,   180,   116,   179,    -1,    44,
     794     180,   117,    -1,    45,   117,    -1,   181,    -1,   182,   181,
     795      -1,   182,   171,    -1,    -1,   185,    -1,   182,   176,    -1,
     796     185,   182,   176,    -1,    -1,   187,    -1,   182,   189,    -1,
     797     182,   176,   188,    -1,   187,   182,   189,    -1,   187,   182,
     798     176,   188,    -1,    -1,   189,    -1,    56,    -1,    56,   132,
     799      -1,    47,   109,   169,   110,   171,    -1,    46,   171,    47,
     800     109,   169,   110,   132,    -1,    48,   109,   134,   191,   110,
     801     171,    -1,   170,   135,   132,   170,   132,   170,    -1,   212,
     802     170,   132,   170,    -1,    51,    72,   132,    -1,    51,   118,
     803     169,   132,    -1,    50,   132,    -1,    50,    72,   132,    -1,
     804      49,   132,    -1,    49,    72,   132,    -1,    52,   170,   132,
     805      -1,    61,   165,   132,    -1,    62,   165,   132,    -1,    62,
     806     165,    63,   164,   132,    -1,    57,   173,   194,    -1,    57,
     807     173,   196,    -1,    57,   173,   194,   196,    -1,   195,    -1,
     808      58,   109,    96,   110,   173,    -1,   195,    58,   109,    96,
     809     110,   173,    -1,    59,   109,    96,   110,   173,    -1,   195,
     810      59,   109,    96,   110,   173,    -1,    58,   109,   134,   134,
     811     197,   135,   110,   173,   135,    -1,   195,    58,   109,   134,
     812     134,   197,   135,   110,   173,   135,    -1,    59,   109,   134,
     813     134,   197,   135,   110,   173,   135,    -1,   195,    59,   109,
     814     134,   134,   197,   135,   110,   173,   135,    -1,    60,   173,
     815      -1,   225,    -1,   225,   309,    -1,   225,   357,    -1,   366,
     816     139,    -1,   366,    -1,    64,   199,   109,   141,   110,   132,
     817      -1,    64,   199,   109,   141,   117,   200,   110,   132,    -1,
     818      64,   199,   109,   141,   117,   200,   117,   200,   110,   132,
     819      -1,    64,   199,   109,   141,   117,   200,   117,   200,   117,
     820     203,   110,   132,    -1,    64,   199,    51,   109,   141,   117,
     821     117,   200,   117,   203,   117,   204,   110,   132,    -1,    -1,
     822      11,    -1,    -1,   201,    -1,   202,    -1,   201,   116,   202,
     823      -1,   141,   109,   163,   110,    -1,   111,   163,   112,   141,
     824     109,   163,   110,    -1,    -1,   141,    -1,   203,   116,   141,
     825      -1,   139,    -1,   204,   116,   139,    -1,   135,    -1,   206,
     826      -1,   212,    -1,   206,   134,   212,    -1,   135,    -1,   208,
     827      -1,   222,    -1,   208,   134,   222,    -1,    -1,   210,    -1,
     828      29,   211,   132,    -1,   210,    29,   211,   132,    -1,   274,
     829      -1,   211,   116,   274,    -1,   213,    -1,   222,    -1,   214,
     830     135,   132,    -1,   219,   135,   132,    -1,   216,   135,   132,
     831      -1,   293,   135,   132,    -1,   296,   135,   132,    -1,   215,
     832     277,    -1,   231,   215,   277,    -1,   214,   135,   116,   134,
     833     272,   277,    -1,   367,   272,   311,    -1,   370,   272,   311,
     834      -1,   227,   370,   272,   311,    -1,   217,    -1,   227,   217,
     835      -1,   231,   217,    -1,   231,   227,   217,    -1,   216,   135,
     836     116,   134,   272,    -1,   111,   112,   272,   109,   134,   260,
     837     135,   110,    -1,   370,   272,   109,   134,   260,   135,   110,
     838      -1,   218,   272,   109,   134,   260,   135,   110,    -1,   111,
     839     134,   262,   135,   112,    -1,   111,   134,   262,   135,   116,
     840     134,   263,   135,   112,    -1,     3,   215,    -1,     3,   217,
     841      -1,   219,   135,   116,   134,   139,    -1,     3,   225,   309,
     842      -1,   220,   135,   116,   134,   309,    -1,   227,     3,   225,
     843     309,    -1,   225,     3,   309,    -1,   225,     3,   227,   309,
     844      -1,     3,   139,   131,   164,    -1,   221,   135,   116,   134,
     845     139,   131,   164,    -1,   223,   135,   132,    -1,   220,   135,
     846     132,    -1,   221,   135,   132,    -1,   240,   135,   132,    -1,
     847     224,   309,   311,   277,    -1,   223,   116,   312,   309,   311,
     848     277,    -1,   236,    -1,   240,    -1,   242,    -1,   283,    -1,
     849     237,    -1,   241,    -1,   243,    -1,   284,    -1,    -1,   227,
     850      -1,   228,    -1,   227,   228,    -1,   229,    -1,   314,    -1,
     851      10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
     852      -1,    13,   109,   230,   286,   110,    -1,   232,    -1,   227,
     853     232,    -1,   231,   227,   232,    -1,   233,    -1,   232,   233,
     854      -1,   234,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
     855      -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
     856      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
     857      -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
     858      -1,    27,    -1,    24,    -1,   237,    -1,   231,   237,    -1,
     859     236,   233,    -1,   236,   233,   227,    -1,   236,   233,   237,
     860      -1,   238,    -1,   226,   239,   226,    -1,   235,    -1,   227,
     861     235,    -1,   238,   228,    -1,   238,   235,    -1,    28,   109,
     862     276,   110,    -1,    28,   109,   169,   110,    -1,    78,   109,
     863     276,   110,    -1,    78,   109,   169,   110,    -1,   241,    -1,
     864     231,   241,    -1,   240,   233,    -1,   240,   233,   227,    -1,
     865     244,    -1,   227,   244,    -1,   241,   228,    -1,   243,    -1,
     866     231,   243,    -1,   242,   233,    -1,   242,   233,   227,    -1,
     867      74,    -1,   227,    74,    -1,   243,   228,    -1,   245,    -1,
     868     256,    -1,   247,   114,   248,   115,    -1,   247,   274,    -1,
     869      -1,   247,   274,   246,   114,   248,   115,    -1,   247,   109,
     870     292,   110,   114,   248,   115,    -1,   247,   285,    -1,    31,
     871     312,    -1,    32,   312,    -1,   249,    -1,   248,   249,    -1,
     872     250,   132,    -1,    40,   250,   132,    -1,   251,   132,    -1,
     873      40,   251,   132,    -1,   366,    -1,   366,   274,    -1,   250,
     874     116,   274,    -1,   250,   116,    -1,   225,   252,    -1,   251,
     875     116,   312,   252,    -1,    -1,   254,    -1,   318,   253,    -1,
     876     331,   253,    -1,   357,    -1,    -1,   254,    -1,   117,   163,
     877      -1,    30,   312,    -1,   255,   114,   258,   372,   115,    -1,
     878     255,   274,    -1,    -1,   255,   274,   257,   114,   258,   372,
     879     115,    -1,   274,   259,    -1,   258,   116,   274,   259,    -1,
     880      -1,   131,   163,    -1,    -1,   261,    -1,   263,    -1,   262,
     881      -1,   262,   135,   116,   134,   263,    -1,   263,   135,   116,
     882     134,    96,    -1,   262,   135,   116,   134,    96,    -1,   267,
     883      -1,   263,   135,   116,   134,   267,    -1,   262,   135,   116,
     884     134,   267,    -1,   262,   135,   116,   134,   263,   135,   116,
     885     134,   267,    -1,   268,    -1,   263,   135,   116,   134,   268,
     886      -1,    -1,   265,    -1,   266,    -1,   266,   135,   116,   134,
     887      96,    -1,   270,    -1,   269,    -1,   266,   135,   116,   134,
     888     270,    -1,   266,   135,   116,   134,   269,    -1,   269,    -1,
     889     362,   272,   373,    -1,   370,   272,   373,    -1,   227,   370,
     890     272,   373,    -1,   217,    -1,   270,    -1,   362,    -1,   370,
     891      -1,   227,   370,    -1,   371,    -1,   224,   336,   373,    -1,
     892     224,   340,   373,    -1,   224,    -1,   224,   351,    -1,   139,
     893      -1,   271,   116,   139,    -1,   137,    -1,    74,    -1,    75,
     894      -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,
     895      -1,    75,    -1,   366,    -1,   225,    -1,   225,   357,    -1,
     896     366,    -1,   371,    -1,   225,    -1,   225,   345,    -1,    -1,
     897     131,   278,    -1,   107,   278,    -1,   164,    -1,   114,   279,
     898     372,   115,    -1,    -1,   278,    -1,   280,   278,    -1,   279,
     899     116,   278,    -1,   279,   116,   280,   278,    -1,   281,   117,
     900      -1,   274,   117,    -1,   282,    -1,   281,   282,    -1,    80,
     901      -1,   113,   274,    -1,   111,   134,   164,   135,   112,    -1,
     902     111,   134,   310,   135,   112,    -1,   111,   134,   163,    96,
     903     163,   135,   112,    -1,   113,   111,   134,   146,   135,   112,
     904      -1,   284,    -1,   231,   284,    -1,   283,   233,    -1,   283,
     905     233,   227,    -1,   285,    -1,   227,   285,    -1,   284,   228,
     906      -1,    75,   109,   292,   110,    -1,   287,   373,    -1,   286,
     907     116,   287,   373,    -1,    -1,   289,   274,   288,   290,    -1,
     908     225,   336,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,
     909     290,   291,    -1,   129,   274,   109,   292,   110,    -1,   129,
     910     114,   134,   298,   115,    -1,   129,   109,   134,   286,   135,
     911     110,   114,   134,   298,   115,   109,   292,   110,    -1,   276,
     912      -1,   164,    -1,   292,   116,   276,    -1,   292,   116,   164,
     913      -1,    33,   294,    -1,   232,    33,   294,    -1,   293,   116,
     914     294,    -1,   295,   290,    -1,   295,   290,   131,   276,    -1,
     915     274,    -1,   273,   109,   134,   286,   135,   110,    -1,    36,
     916     274,   109,   134,   286,   135,   110,   114,   115,    -1,    -1,
     917      36,   274,   109,   134,   286,   135,   110,   114,   297,   298,
     918     115,    -1,   299,    -1,   298,   134,   299,    -1,   300,   135,
     919     132,    -1,   301,   135,   132,    -1,   215,    -1,   217,    -1,
     920     300,   135,   116,   134,   272,    -1,   225,   309,    -1,   301,
     921     135,   116,   134,   309,    -1,    -1,   303,    -1,   305,    -1,
     922     303,   134,   305,    -1,    -1,   303,    -1,   212,    -1,   307,
     923      -1,   198,    -1,    -1,     5,    82,   306,   114,   304,   115,
     924      -1,    40,   305,    -1,   308,    -1,   323,   173,    -1,   327,
     925     134,   207,   173,    -1,   216,   173,    -1,   224,   323,   173,
     926      -1,   227,   323,   173,    -1,   231,   323,   173,    -1,   231,
     927     227,   323,   173,    -1,   224,   327,   134,   207,   173,    -1,
     928     227,   327,   134,   207,   173,    -1,   231,   327,   134,   207,
     929     173,    -1,   231,   227,   327,   134,   207,   173,    -1,   318,
     930      -1,   331,    -1,   323,    -1,   163,   123,   163,    -1,    -1,
     931      64,   109,   141,   110,   312,    -1,    -1,   313,    -1,   314,
     932      -1,   313,   314,    -1,    39,   109,   109,   315,   110,   110,
     933      -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,    -1,
     934     317,   109,   170,   110,    -1,   272,    -1,   234,    -1,   235,
     935      -1,   228,    -1,   319,   312,    -1,   320,    -1,   321,   312,
     936      -1,   322,   312,    -1,   137,    -1,   109,   319,   110,    -1,
     937     149,   318,    -1,   149,   227,   318,    -1,   109,   320,   110,
     938      -1,   319,   349,    -1,   109,   320,   110,   349,    -1,   109,
     939     321,   110,   350,    -1,   109,   321,   110,    -1,   109,   320,
     940     110,   109,   134,   264,   135,   110,    -1,   109,   322,   110,
     941      -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,   319,
     942     109,   134,   264,   135,   110,    -1,   109,   325,   110,   109,
     943     134,   264,   135,   110,    -1,   109,   324,   110,    -1,   149,
     944     323,    -1,   149,   227,   323,    -1,   109,   325,   110,    -1,
     945     109,   325,   110,   349,    -1,   109,   326,   110,   350,    -1,
     946     109,   326,   110,    -1,   328,    -1,   329,    -1,   330,    -1,
     947     319,   109,   271,   110,    -1,   109,   329,   110,   109,   271,
     948     110,    -1,   109,   328,   110,    -1,   149,   327,    -1,   149,
     949     227,   327,    -1,   109,   329,   110,    -1,   109,   329,   110,
     950     349,    -1,   109,   330,   110,   350,    -1,   109,   330,   110,
     951      -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,   335,
     952     312,    -1,   341,    -1,   109,   332,   110,    -1,   149,   331,
     953      -1,   149,   227,   331,    -1,   109,   333,   110,    -1,   332,
     954     349,    -1,   109,   333,   110,   349,    -1,   109,   334,   110,
     955     350,    -1,   109,   334,   110,    -1,   332,   109,   134,   264,
     956     135,   110,    -1,   109,   333,   110,   109,   134,   264,   135,
     957     110,    -1,   109,   335,   110,    -1,   319,   312,    -1,   337,
     958      -1,   338,   312,    -1,   339,   312,    -1,   149,   336,    -1,
     959     149,   227,   336,    -1,   109,   337,   110,    -1,   319,   355,
     960      -1,   109,   337,   110,   349,    -1,   109,   338,   110,   350,
     961      -1,   109,   338,   110,    -1,   319,   109,   134,   264,   135,
     962     110,    -1,   109,   337,   110,   109,   134,   264,   135,   110,
     963      -1,   109,   339,   110,    -1,   341,   312,    -1,   342,    -1,
     964     343,   312,    -1,   344,   312,    -1,    74,    -1,    75,    -1,
     965     149,   340,    -1,   149,   227,   340,    -1,   109,   342,   110,
     966      -1,   341,   355,    -1,   109,   342,   110,   355,    -1,   341,
     967     109,   134,   264,   135,   110,    -1,   109,   342,   110,   109,
     968     134,   264,   135,   110,    -1,   346,    -1,   347,   312,    -1,
     969     348,   312,    -1,   149,    -1,   149,   227,    -1,   149,   345,
     970      -1,   149,   227,   345,    -1,   109,   346,   110,    -1,   349,
     971      -1,   109,   346,   110,   349,    -1,   109,   347,   110,   350,
     972      -1,   109,   347,   110,    -1,   109,   134,   264,   135,   110,
     973      -1,   109,   346,   110,   109,   134,   264,   135,   110,    -1,
     974     109,   348,   110,    -1,   111,   112,    -1,   111,   112,   350,
     975      -1,   350,    -1,   111,   134,   164,   135,   112,    -1,   111,
     976     134,   118,   135,   112,    -1,   350,   111,   134,   164,   135,
     977     112,    -1,   350,   111,   134,   118,   135,   112,    -1,   352,
     978      -1,   353,   312,    -1,   354,   312,    -1,   149,    -1,   149,
     979     227,    -1,   149,   351,    -1,   149,   227,   351,    -1,   109,
     980     352,   110,    -1,   355,    -1,   109,   352,   110,   355,    -1,
     981     109,   353,   110,   350,    -1,   109,   353,   110,    -1,   109,
     982     134,   264,   135,   110,    -1,   109,   352,   110,   109,   134,
     983     264,   135,   110,    -1,   109,   354,   110,    -1,   356,    -1,
     984     356,   350,    -1,   350,    -1,   111,   112,    -1,   111,   134,
     985     227,   118,   135,   112,    -1,   111,   134,   227,   135,   112,
     986      -1,   111,   134,   227,   164,   135,   112,    -1,   111,   134,
     987       7,   226,   164,   135,   112,    -1,   111,   134,   227,     7,
     988     164,   135,   112,    -1,   358,    -1,   359,   312,    -1,   360,
     989     312,    -1,   149,    -1,   149,   227,    -1,   149,   357,    -1,
     990     149,   227,   357,    -1,   109,   358,   110,    -1,   349,    -1,
     991     109,   358,   110,   349,    -1,   109,   359,   110,   350,    -1,
     992     109,   359,   110,    -1,   109,   358,   110,   109,   134,   264,
     993     135,   110,    -1,   109,   360,   110,    -1,   362,    -1,   370,
     994      -1,   227,   370,    -1,   363,    -1,   364,    -1,   149,   225,
    1005995      -1,   227,   149,   225,    -1,   149,   371,    -1,   227,   149,
    1006      371,    -1,   149,   366,    -1,   227,   149,   366,    -1,   111,
    1007      112,   225,    -1,   111,   112,   350,   225,    -1,   350,   225,
    1008       -1,   111,   112,   368,    -1,   111,   112,   350,   368,    -1,
    1009      350,   368,    -1,   111,   134,   263,   135,   112,    -1,   111,
    1010      112,   109,   260,   110,    -1,   370,   109,   134,   260,   135,
    1011      110,    -1,   218,   109,   134,   260,   135,   110,    -1,    -1,
    1012      116,    -1,    -1,   131,   164,    -1
     996     371,    -1,   149,   361,    -1,   227,   149,   361,    -1,   111,
     997     112,   225,    -1,   365,   225,    -1,   111,   112,   350,   225,
     998      -1,   365,   350,   225,    -1,   350,   225,    -1,   111,   112,
     999     363,    -1,   365,   363,    -1,   111,   112,   350,   363,    -1,
     1000     365,   350,   363,    -1,   350,   363,    -1,   111,   134,   227,
     1001     118,   135,   112,    -1,   111,   134,   227,   164,   135,   112,
     1002      -1,   111,   134,   231,   164,   135,   112,    -1,   111,   134,
     1003     231,   227,   164,   135,   112,    -1,   370,    -1,   227,   370,
     1004      -1,   367,    -1,   368,    -1,   369,    -1,   149,   225,    -1,
     1005     227,   149,   225,    -1,   149,   371,    -1,   227,   149,   371,
     1006      -1,   149,   366,    -1,   227,   149,   366,    -1,   111,   112,
     1007     225,    -1,   111,   112,   350,   225,    -1,   350,   225,    -1,
     1008     111,   112,   368,    -1,   111,   112,   350,   368,    -1,   350,
     1009     368,    -1,   111,   134,   263,   135,   112,    -1,   111,   112,
     1010     109,   260,   110,    -1,   370,   109,   134,   260,   135,   110,
     1011      -1,   218,   109,   134,   260,   135,   110,    -1,    -1,   116,
     1012      -1,    -1,   131,   164,    -1
    10131013};
    10141014
     
    10221022     402,   403,   407,   411,   413,   415,   417,   422,   425,   427,
    10231023     429,   431,   436,   438,   440,   442,   444,   446,   448,   450,
    1024      452,   454,   456,   458,   463,   464,   468,   469,   470,   471,
    1025      475,   476,   478,   483,   484,   486,   488,   493,   494,   496,
    1026      501,   502,   504,   509,   510,   512,   514,   516,   521,   522,
    1027      524,   529,   530,   535,   536,   541,   542,   547,   548,   553,
    1028      554,   559,   560,   562,   564,   569,   574,   575,   577,   579,
    1029      585,   586,   592,   594,   596,   598,   603,   604,   609,   610,
    1030      611,   612,   613,   614,   615,   616,   617,   618,   622,   623,
    1031      629,   630,   636,   637,   638,   639,   640,   641,   642,   643,
    1032      644,   653,   660,   662,   672,   673,   678,   680,   682,   684,
    1033      688,   689,   694,   699,   702,   704,   706,   711,   713,   721,
    1034      722,   724,   728,   729,   734,   735,   740,   741,   745,   750,
    1035      751,   755,   757,   763,   764,   768,   770,   772,   774,   780,
    1036      781,   785,   786,   790,   792,   794,   799,   801,   806,   808,
    1037      812,   815,   819,   822,   826,   828,   832,   834,   841,   843,
    1038      845,   854,   856,   858,   860,   862,   867,   869,   871,   873,
    1039      878,   891,   892,   897,   899,   904,   908,   910,   912,   914,
    1040      916,   922,   923,   929,   930,   934,   935,   940,   942,   948,
    1041      949,   951,   956,   958,   965,   967,   971,   972,   977,   979,
    1042      983,   984,   988,   990,   994,   995,   999,  1000,  1004,  1005,
    1043     1020,  1021,  1022,  1023,  1024,  1028,  1033,  1040,  1050,  1055,
    1044     1060,  1068,  1073,  1078,  1083,  1088,  1096,  1118,  1123,  1130,
    1045     1132,  1139,  1144,  1149,  1160,  1165,  1170,  1175,  1180,  1189,
    1046     1194,  1202,  1203,  1204,  1205,  1211,  1216,  1224,  1225,  1226,
    1047     1227,  1231,  1232,  1233,  1234,  1239,  1240,  1249,  1250,  1255,
    1048     1256,  1261,  1263,  1265,  1267,  1269,  1272,  1271,  1283,  1284,
    1049     1286,  1296,  1297,  1302,  1306,  1308,  1310,  1312,  1314,  1316,
    1050     1318,  1320,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,
    1051     1341,  1343,  1345,  1347,  1349,  1355,  1356,  1358,  1360,  1362,
    1052     1367,  1368,  1374,  1375,  1377,  1379,  1384,  1386,  1388,  1390,
    1053     1395,  1396,  1398,  1400,  1405,  1406,  1408,  1413,  1414,  1416,
    1054     1418,  1423,  1425,  1427,  1432,  1433,  1437,  1439,  1445,  1444,
    1055     1448,  1450,  1455,  1457,  1462,  1464,  1469,  1470,  1472,  1473,
    1056     1478,  1479,  1481,  1483,  1488,  1490,  1496,  1497,  1499,  1502,
    1057     1505,  1510,  1511,  1516,  1521,  1525,  1527,  1533,  1532,  1539,
    1058     1541,  1547,  1548,  1556,  1557,  1561,  1562,  1563,  1565,  1567,
    1059     1574,  1575,  1577,  1579,  1584,  1585,  1591,  1592,  1596,  1597,
    1060     1602,  1603,  1604,  1606,  1614,  1615,  1617,  1620,  1622,  1626,
    1061     1627,  1628,  1630,  1632,  1636,  1641,  1649,  1650,  1659,  1661,
    1062     1666,  1667,  1668,  1672,  1673,  1674,  1678,  1679,  1680,  1684,
    1063     1685,  1686,  1691,  1692,  1693,  1694,  1700,  1701,  1703,  1708,
    1064     1709,  1714,  1715,  1716,  1717,  1718,  1733,  1734,  1739,  1740,
    1065     1748,  1750,  1752,  1755,  1757,  1759,  1782,  1783,  1785,  1787,
    1066     1792,  1793,  1795,  1800,  1805,  1806,  1812,  1811,  1815,  1819,
    1067     1821,  1823,  1829,  1830,  1835,  1840,  1842,  1847,  1849,  1850,
    1068     1852,  1857,  1859,  1861,  1866,  1868,  1873,  1878,  1886,  1892,
    1069     1891,  1905,  1906,  1911,  1912,  1916,  1921,  1926,  1934,  1939,
    1070     1950,  1951,  1962,  1963,  1969,  1970,  1974,  1975,  1976,  1979,
    1071     1978,  1989,  1994,  1999,  2005,  2014,  2020,  2026,  2032,  2038,
    1072     2046,  2052,  2060,  2066,  2075,  2076,  2077,  2081,  2085,  2087,
    1073     2092,  2093,  2097,  2098,  2103,  2109,  2110,  2113,  2115,  2116,
    1074     2120,  2121,  2122,  2123,  2157,  2159,  2160,  2162,  2167,  2172,
    1075     2177,  2179,  2181,  2186,  2188,  2190,  2192,  2197,  2199,  2209,
    1076     2211,  2212,  2217,  2219,  2221,  2226,  2228,  2230,  2235,  2237,
    1077     2239,  2248,  2249,  2250,  2254,  2256,  2258,  2263,  2265,  2267,
    1078     2272,  2274,  2276,  2291,  2293,  2294,  2296,  2301,  2302,  2307,
    1079     2309,  2311,  2316,  2318,  2320,  2322,  2327,  2329,  2331,  2341,
    1080     2343,  2344,  2346,  2351,  2353,  2355,  2360,  2362,  2364,  2366,
    1081     2371,  2373,  2375,  2406,  2408,  2409,  2411,  2416,  2421,  2429,
    1082     2431,  2433,  2438,  2440,  2445,  2447,  2461,  2462,  2464,  2469,
    1083     2471,  2473,  2475,  2477,  2482,  2483,  2485,  2487,  2492,  2494,
    1084     2496,  2502,  2504,  2506,  2510,  2512,  2514,  2516,  2530,  2531,
    1085     2533,  2538,  2540,  2542,  2544,  2546,  2551,  2552,  2554,  2556,
    1086     2561,  2563,  2565,  2571,  2572,  2574,  2583,  2586,  2588,  2591,
    1087     2593,  2595,  2608,  2609,  2611,  2616,  2618,  2620,  2622,  2624,
    1088     2629,  2630,  2632,  2634,  2639,  2641,  2649,  2650,  2651,  2656,
    1089     2657,  2661,  2663,  2665,  2667,  2669,  2671,  2678,  2680,  2682,
    1090     2684,  2686,  2688,  2690,  2692,  2694,  2696,  2701,  2703,  2705,
    1091     2710,  2736,  2737,  2739,  2743,  2744,  2748,  2750,  2752,  2754,
    1092     2756,  2758,  2765,  2767,  2769,  2771,  2773,  2775,  2780,  2785,
    1093     2787,  2789,  2807,  2809,  2814,  2815
     1024     452,   454,   456,   463,   464,   466,   470,   471,   472,   473,
     1025     477,   478,   480,   485,   486,   488,   490,   495,   496,   498,
     1026     503,   504,   506,   511,   512,   514,   516,   518,   523,   524,
     1027     526,   531,   532,   537,   538,   543,   544,   549,   550,   555,
     1028     556,   561,   562,   564,   566,   571,   576,   577,   579,   581,
     1029     587,   588,   594,   596,   598,   600,   605,   606,   611,   612,
     1030     613,   614,   615,   616,   617,   618,   619,   620,   624,   625,
     1031     631,   632,   638,   639,   640,   641,   642,   643,   644,   645,
     1032     646,   656,   663,   665,   675,   676,   681,   683,   685,   687,
     1033     691,   692,   697,   702,   705,   707,   709,   714,   716,   724,
     1034     725,   727,   731,   732,   737,   738,   743,   744,   748,   753,
     1035     754,   758,   760,   766,   767,   771,   773,   775,   777,   783,
     1036     784,   788,   789,   793,   795,   797,   802,   804,   809,   811,
     1037     815,   818,   822,   825,   829,   831,   835,   837,   844,   846,
     1038     848,   857,   859,   861,   863,   865,   870,   872,   874,   876,
     1039     881,   894,   895,   900,   902,   907,   911,   913,   915,   917,
     1040     919,   925,   926,   932,   933,   937,   938,   943,   945,   951,
     1041     952,   954,   959,   961,   968,   970,   974,   975,   980,   982,
     1042     986,   987,   991,   993,   997,   998,  1002,  1003,  1007,  1008,
     1043    1023,  1024,  1025,  1026,  1027,  1031,  1036,  1043,  1053,  1058,
     1044    1063,  1071,  1076,  1081,  1086,  1091,  1099,  1121,  1126,  1133,
     1045    1135,  1142,  1147,  1152,  1163,  1168,  1173,  1178,  1183,  1192,
     1046    1197,  1205,  1206,  1207,  1208,  1214,  1219,  1227,  1228,  1229,
     1047    1230,  1234,  1235,  1236,  1237,  1242,  1243,  1252,  1253,  1258,
     1048    1259,  1264,  1266,  1268,  1270,  1272,  1275,  1274,  1286,  1287,
     1049    1289,  1299,  1300,  1305,  1309,  1311,  1313,  1315,  1317,  1319,
     1050    1321,  1323,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,
     1051    1344,  1346,  1348,  1350,  1352,  1358,  1359,  1361,  1363,  1365,
     1052    1370,  1371,  1377,  1378,  1380,  1382,  1387,  1389,  1391,  1393,
     1053    1398,  1399,  1401,  1403,  1408,  1409,  1411,  1416,  1417,  1419,
     1054    1421,  1426,  1428,  1430,  1435,  1436,  1440,  1442,  1448,  1447,
     1055    1451,  1453,  1458,  1460,  1465,  1467,  1472,  1473,  1475,  1476,
     1056    1481,  1482,  1484,  1486,  1491,  1493,  1499,  1500,  1502,  1505,
     1057    1508,  1513,  1514,  1519,  1524,  1528,  1530,  1536,  1535,  1542,
     1058    1544,  1550,  1551,  1559,  1560,  1564,  1565,  1566,  1568,  1570,
     1059    1577,  1578,  1580,  1582,  1587,  1588,  1594,  1595,  1599,  1600,
     1060    1605,  1606,  1607,  1609,  1617,  1618,  1620,  1623,  1625,  1629,
     1061    1630,  1631,  1633,  1635,  1639,  1644,  1652,  1653,  1662,  1664,
     1062    1669,  1670,  1671,  1675,  1676,  1677,  1681,  1682,  1683,  1687,
     1063    1688,  1689,  1694,  1695,  1696,  1697,  1703,  1704,  1706,  1711,
     1064    1712,  1717,  1718,  1719,  1720,  1721,  1736,  1737,  1742,  1743,
     1065    1751,  1753,  1755,  1758,  1760,  1762,  1785,  1786,  1788,  1790,
     1066    1795,  1796,  1798,  1803,  1808,  1809,  1815,  1814,  1818,  1822,
     1067    1824,  1826,  1832,  1833,  1838,  1843,  1845,  1850,  1852,  1853,
     1068    1855,  1860,  1862,  1864,  1869,  1871,  1876,  1881,  1889,  1895,
     1069    1894,  1908,  1909,  1914,  1915,  1919,  1924,  1929,  1937,  1942,
     1070    1953,  1954,  1965,  1966,  1972,  1973,  1977,  1978,  1979,  1982,
     1071    1981,  1992,  1997,  2003,  2009,  2018,  2024,  2030,  2036,  2042,
     1072    2050,  2056,  2064,  2070,  2079,  2080,  2081,  2085,  2089,  2091,
     1073    2096,  2097,  2101,  2102,  2107,  2113,  2114,  2117,  2119,  2120,
     1074    2124,  2125,  2126,  2127,  2161,  2163,  2164,  2166,  2171,  2176,
     1075    2181,  2183,  2185,  2190,  2192,  2194,  2196,  2201,  2203,  2212,
     1076    2214,  2215,  2220,  2222,  2224,  2229,  2231,  2233,  2238,  2240,
     1077    2242,  2251,  2252,  2253,  2257,  2259,  2261,  2266,  2268,  2270,
     1078    2275,  2277,  2279,  2294,  2296,  2297,  2299,  2304,  2305,  2310,
     1079    2312,  2314,  2319,  2321,  2323,  2325,  2330,  2332,  2334,  2344,
     1080    2346,  2347,  2349,  2354,  2356,  2358,  2363,  2365,  2367,  2369,
     1081    2374,  2376,  2378,  2409,  2411,  2412,  2414,  2419,  2424,  2432,
     1082    2434,  2436,  2441,  2443,  2448,  2450,  2464,  2465,  2467,  2472,
     1083    2474,  2476,  2478,  2480,  2485,  2486,  2488,  2490,  2495,  2497,
     1084    2499,  2505,  2507,  2509,  2513,  2515,  2517,  2519,  2533,  2534,
     1085    2536,  2541,  2543,  2545,  2547,  2549,  2554,  2555,  2557,  2559,
     1086    2564,  2566,  2568,  2574,  2575,  2577,  2586,  2589,  2591,  2594,
     1087    2596,  2598,  2611,  2612,  2614,  2619,  2621,  2623,  2625,  2627,
     1088    2632,  2633,  2635,  2637,  2642,  2644,  2652,  2653,  2654,  2659,
     1089    2660,  2664,  2666,  2668,  2670,  2672,  2674,  2681,  2683,  2685,
     1090    2687,  2689,  2691,  2693,  2695,  2697,  2699,  2704,  2706,  2708,
     1091    2713,  2739,  2740,  2742,  2746,  2747,  2751,  2753,  2755,  2757,
     1092    2759,  2761,  2768,  2770,  2772,  2774,  2776,  2778,  2783,  2788,
     1093    2790,  2792,  2810,  2812,  2817,  2818
    10941094};
    10951095#endif
     
    11851185  "function_ptr", "function_array", "old_function_declarator",
    11861186  "old_function_no_ptr", "old_function_ptr", "old_function_array",
    1187   "type_redeclarator", "paren_type", "type_ptr", "type_array",
     1187  "variable_type_redeclarator", "paren_type", "type_ptr", "type_array",
    11881188  "type_function", "identifier_parameter_declarator",
    11891189  "identifier_parameter_ptr", "identifier_parameter_array",
     
    12391239     146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
    12401240     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
    1241      148,   148,   148,   148,   149,   149,   150,   150,   150,   150,
     1241     148,   148,   148,   149,   149,   149,   150,   150,   150,   150,
    12421242     151,   151,   151,   152,   152,   152,   152,   153,   153,   153,
    12431243     154,   154,   154,   155,   155,   155,   155,   155,   156,   156,
     
    13201320       1,     3,     1,     3,     7,     3,     7,     1,     1,     1,
    13211321       2,     2,     2,     2,     2,     2,     4,     6,     1,     4,
    1322        4,     2,     4,     2,     1,     1,     1,     1,     1,     1,
     1322       4,     2,     4,     1,     1,     1,     1,     1,     1,     1,
    13231323       1,     4,     4,     1,     3,     3,     3,     1,     3,     3,
    13241324       1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
     
    14011401     328,   329,   334,   331,   332,   333,   550,   550,   550,     0,
    14021402       0,     0,   295,   221,   305,   320,   321,     7,   361,     0,
    1403        8,    14,    15,     0,     2,    64,    65,   568,     9,   295,
    1404      528,   526,   248,     3,   456,     3,   261,     0,     3,     3,
    1405        3,   249,     3,     0,     0,     0,   296,   297,   299,   295,
    1406      308,   311,   313,   342,   287,   335,   340,   288,   350,   289,
    1407      357,   354,   364,     0,     0,   365,   290,   476,   480,     3,
    1408        3,     0,     2,   522,   527,   532,   300,     0,     0,   550,
    1409      580,   550,     2,   591,   592,   593,   295,     0,   734,   735,
    1410        0,    12,     0,    13,   295,   271,   272,     0,   296,   291,
    1411      292,   293,   294,   529,   306,   394,   551,   552,   372,   373,
    1412       12,   447,   448,    11,   443,   446,     0,   506,   501,   492,
    1413      447,   448,     0,     0,   531,   222,     0,   295,     0,     0,
    1414        0,     0,     0,     0,     0,     0,   295,   295,     2,     0,
    1415      736,   296,   585,   597,   740,   733,   731,   738,     0,     0,
    1416        0,   255,     2,     0,   535,   441,   442,   440,     0,     0,
    1417        0,     0,   550,     0,   637,   638,     0,     0,   548,   544,
    1418      550,   565,   550,   550,   545,     2,   546,   550,   604,   550,
    1419      550,   607,     0,     0,     0,   295,   295,   314,   362,     2,
    1420      295,   262,   298,   309,   343,   355,   481,     0,     2,     0,
    1421      456,   263,   296,   336,   351,   358,   477,     0,     2,     0,
    1422      312,   337,   344,   345,     0,   352,   356,   359,   363,   448,
    1423      295,   295,   367,   371,     0,   396,   478,   482,     0,     0,
    1424        0,     1,   295,     2,   533,   579,   581,   295,     2,   744,
    1425      296,   747,   548,   548,     0,   296,     0,     0,   274,   550,
    1426      545,     2,   295,     0,     0,   295,   553,     2,   504,     2,
    1427      557,     0,     0,     0,     0,     0,     0,    18,    58,     4,
    1428        5,     6,    16,     0,     0,     0,   295,     2,    66,    67,
     1403       8,    14,    15,    65,     0,     2,    63,    64,   568,     9,
     1404     295,   528,   526,   248,     3,   456,     3,   261,     0,     3,
     1405       3,     3,   249,     3,     0,     0,     0,   296,   297,   299,
     1406     295,   308,   311,   313,   342,   287,   335,   340,   288,   350,
     1407     289,   357,   354,   364,     0,     0,   365,   290,   476,   480,
     1408       3,     3,     0,     2,   522,   527,   532,   300,     0,     0,
     1409     550,   580,   550,     2,   591,   592,   593,   295,     0,   734,
     1410     735,     0,    12,     0,    13,   295,   271,   272,     0,   296,
     1411     291,   292,   293,   294,   529,   306,   394,   551,   552,   372,
     1412     373,    12,   447,   448,    11,   443,   446,     0,   506,   501,
     1413     492,   447,   448,     0,     0,   531,   222,     0,   295,     0,
     1414       0,     0,     0,     0,     0,     0,     0,   295,   295,     2,
     1415       0,   736,   296,   585,   597,   740,   733,   731,   738,     0,
     1416       0,     0,   255,     2,     0,   535,   441,   442,   440,     0,
     1417       0,     0,     0,   550,     0,   637,   638,     0,     0,   548,
     1418     544,   550,   565,   550,   550,   546,     2,   545,   550,   604,
     1419     550,   550,   607,     0,     0,     0,   295,   295,   314,   362,
     1420       2,   295,   262,   298,   309,   343,   355,   481,     0,     2,
     1421       0,   456,   263,   296,   336,   351,   358,   477,     0,     2,
     1422       0,   312,   337,   344,   345,     0,   352,   356,   359,   363,
     1423     448,   295,   295,   367,   371,     0,   396,   478,   482,     0,
     1424       0,     0,     1,   295,     2,   533,   579,   581,   295,     2,
     1425     744,   296,   747,   548,   548,     0,   296,     0,     0,   274,
     1426     550,   546,     2,   295,     0,     0,   295,   553,     2,   504,
     1427       2,   557,     0,     0,     0,     0,     0,     0,    18,    58,
     1428       4,     5,     6,    16,     0,     0,   295,     2,    66,    67,
    14291429      68,    69,    48,    19,    49,    22,    47,    70,   295,     0,
    14301430      73,    77,    80,    83,    88,    91,    93,    95,    97,    99,
    14311431     101,   106,   498,   754,   454,   497,     0,   452,   453,     0,
    14321432     569,   584,   587,   590,   596,   599,   602,   361,     0,     2,
    1433      742,     0,   295,   745,     2,    64,   295,     3,   428,     0,
     1433     742,     0,   295,   745,     2,    63,   295,     3,   428,     0,
    14341434     436,   296,   295,   308,   335,   288,   350,   357,     3,     3,
    14351435     410,   414,   424,   429,   476,   295,   430,   709,   710,   295,
     
    14491449       0,   295,     0,   295,   493,   295,   563,   561,   562,   560,
    14501450       0,   555,   558,     0,     0,   295,    55,   295,    70,    50,
    1451      295,    61,   295,   295,    53,    54,    63,     2,   128,     0,
    1452        0,   450,     0,   449,   112,   295,    17,     0,    29,    30,
    1453       35,     2,     0,    35,   118,   119,   120,   121,   122,   123,
    1454      124,   125,   126,   127,     0,     0,    51,    52,     0,     0,
     1451     295,    61,   295,   295,    53,    54,     2,   128,     0,     0,
     1452     450,     0,   449,   112,   295,    17,     0,    29,    30,    35,
     1453       2,     0,    35,   118,   119,   120,   121,   122,   123,   124,
     1454     125,   126,   127,     0,     0,    51,    52,     0,     0,     0,
    14551455       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1456        0,     0,     0,     0,     0,     0,     0,     0,   109,     2,
    1457      649,   455,   646,   550,   550,   654,   483,   295,     2,   588,
    1458      589,     0,   600,   601,     0,     2,   743,   746,   112,   295,
    1459        0,     2,   711,   296,   715,   706,   707,   713,     0,     2,
    1460        2,   671,   550,   754,   620,   550,   550,   754,   550,   634,
    1461      550,   550,   685,   437,   668,   550,   550,   676,   683,   295,
    1462      432,   296,     0,     0,   295,   721,   296,   726,   754,   718,
    1463      295,   723,   754,   295,   295,   295,     0,   112,     0,    18,
    1464        5,     2,     0,    19,     0,   462,   752,     0,     0,   468,
    1465      242,     0,   295,     0,     0,     0,   548,   572,   576,   578,
    1466      608,   611,   615,   618,   571,   610,     0,   285,   661,     0,
    1467      295,   278,     0,     0,     0,     0,   276,     2,     0,   260,
    1468      539,   295,     0,     0,     0,     0,   295,   295,     0,     0,
    1469      695,   384,   387,   391,   550,   391,   700,   390,   692,   550,
    1470      550,   366,   375,   383,   376,   550,   378,   381,   295,   753,
    1471        0,     0,   399,     0,   296,     3,   417,     3,   421,   420,
    1472      594,     0,   534,   295,    64,     3,   295,   436,   296,     3,
    1473      430,   431,     2,     0,     0,     0,   488,   307,   295,   484,
    1474      486,     3,     2,     2,     0,   505,     3,     0,   557,   130,
    1475        0,     0,   223,     0,     0,     0,     2,     0,     0,    36,
    1476        0,     0,   112,   295,    20,     0,    21,     0,   695,   451,
    1477        0,   110,     3,     2,    27,     2,     0,    33,     0,     2,
    1478       25,     0,   107,   108,    74,    75,    76,    78,    79,    81,
    1479       82,    86,    87,    84,    85,    89,    90,    92,    94,    96,
    1480       98,   100,     0,     0,   755,   295,     0,     0,     0,   650,
    1481      651,   647,   648,   500,   499,   295,     0,   295,   717,   295,
    1482      722,   296,   295,   665,   295,   295,   708,   664,     2,   295,
    1483        0,     0,     0,     0,     0,     0,     0,     0,   686,     0,
    1484      672,   623,   639,   673,     2,   619,   626,   434,   621,   622,
    1485      435,     2,   633,   642,   635,   636,   669,   670,   684,   712,
    1486      716,   714,   754,   269,     2,   748,     2,   425,   720,   725,
    1487      426,     0,   404,     3,     3,     3,     3,   456,     3,     0,
    1488        2,   471,   467,   753,     0,   463,   470,     2,   466,   469,
    1489        0,   295,   243,   265,     3,   273,   275,     0,   456,     2,
    1490      574,   575,     2,   613,   614,     0,   662,   540,     3,   347,
    1491      346,   349,   348,   295,   541,     0,   542,   295,   377,   379,
    1492        2,     0,     0,     0,     0,   105,   393,   696,   697,   388,
    1493      392,   389,   693,   694,   382,   386,   295,   401,   395,   402,
    1494      752,     0,     0,   439,   241,     0,     0,     3,     2,   671,
    1495      432,     0,   530,     0,   754,   492,     0,   295,   295,   295,
    1496        0,   554,   556,   131,     0,     0,   216,     0,     0,     0,
    1497      224,   225,    56,     0,    62,   295,     0,    60,    59,     0,
    1498      129,   696,   461,    71,    72,   111,   116,     3,   110,     0,
    1499        0,     0,    24,    35,     3,     0,    32,   103,     0,     3,
    1500      653,   657,   660,   652,     3,   595,     3,   719,   724,     2,
    1501       64,   295,     3,     3,   296,     0,     3,   625,   629,   632,
    1502      641,   675,   679,   682,   295,     3,   624,   640,   674,   295,
    1503      295,   427,   295,   295,   749,     0,     0,     0,     0,   257,
    1504        0,   105,     0,     3,     3,     0,   464,     0,   460,     0,
    1505        0,   246,   295,     0,     0,   130,     0,     0,     0,     0,
    1506        0,   130,     0,     0,   110,   110,     2,     0,     0,     0,
    1507        3,   132,   133,     2,   144,   134,   135,   136,   137,   138,
    1508      139,   146,   148,     0,     0,     0,   286,   295,   295,   550,
    1509        0,   543,   295,   112,   699,   703,   705,   698,   385,   369,
    1510      400,     0,   582,     2,   667,   666,     0,   672,     2,   485,
    1511      487,   507,     3,   515,   516,     0,     2,   511,     3,     3,
    1512        0,     0,   559,   223,     0,     0,     0,   223,     0,     0,
    1513        3,    37,   752,   110,     0,     3,   664,    42,     3,    40,
    1514        3,    34,     0,     3,   102,   104,     0,     2,   655,   656,
    1515        0,     0,   295,     0,     0,     0,     3,   641,     0,     2,
    1516      627,   628,     2,   643,     2,   677,   678,     0,     0,    64,
    1517        0,     3,     3,     3,     3,   412,   411,   415,     2,     2,
    1518      751,   750,   113,     0,     0,     0,     0,     3,   465,     3,
    1519        0,   244,   147,     3,   296,   295,     0,     0,     0,     0,
    1520        2,   192,     0,   190,     0,     0,     0,     0,     0,     0,
    1521        0,     0,   112,     0,   550,   152,   149,   295,     0,     0,
    1522      268,   280,     3,     3,   549,   616,   370,     2,   701,   702,
    1523      398,   295,   267,   295,     0,   518,   495,   295,     0,     0,
    1524      494,   509,     0,     0,     0,   217,     0,   226,    57,   110,
    1525        0,     0,   117,   114,     0,     0,     0,     0,     0,     0,
    1526       23,     0,   658,   295,   583,   266,   727,   728,   729,     0,
    1527      680,   295,   295,   295,     3,     3,     0,   688,     0,     0,
    1528        0,     0,   295,   295,     3,   547,   472,   473,     0,     0,
    1529      247,   296,     0,     0,     0,     0,   295,   193,   191,     0,
    1530      188,   194,     0,     0,     0,     0,   198,   201,   199,   195,
    1531        0,   196,    35,   130,   145,   143,   245,     0,     0,   295,
    1532      419,   423,   422,     0,   512,     2,   513,     2,   514,   508,
    1533      295,   229,     0,   227,     0,   229,     3,   664,    31,   115,
    1534        2,    45,     2,    43,    41,    28,   113,    26,     3,   730,
    1535        3,     3,     3,     0,     0,   687,   689,   630,   644,   270,
    1536        2,   409,     3,   408,     0,   475,   472,   130,     0,     0,
    1537      130,     3,     0,   130,   189,     0,     2,     2,   210,   200,
    1538        0,     0,     0,     0,   141,   577,   617,     3,     2,     0,
    1539        0,     2,   230,     0,     0,   218,     0,     0,     0,     0,
    1540        0,     0,     0,     0,     0,   690,   691,   295,     0,   474,
    1541      153,     0,     0,     2,   166,   130,   155,     0,   183,     0,
    1542      130,     0,     2,   157,     0,     2,     0,     2,     2,     2,
    1543      197,    32,     0,   295,   517,   519,   510,     0,     0,     0,
    1544        0,   115,    38,     3,     3,   659,   631,   645,   681,   413,
    1545      130,   159,   162,     0,   161,   165,     3,   168,   167,     0,
    1546      130,   185,   130,     3,     0,   295,     0,   295,     0,     2,
    1547        0,     2,   140,   704,     2,   231,   232,     0,   228,   219,
    1548        0,     0,     0,   154,     0,     0,   164,   234,   169,     2,
    1549      236,   184,     0,   187,   173,   202,     3,   211,   215,   204,
    1550        3,     0,   295,     0,   295,     0,     0,     0,    39,    46,
    1551       44,   160,   163,   130,     0,   170,   295,   130,   130,     0,
    1552      174,     0,     0,   695,   212,   213,   214,     0,   203,     3,
    1553      205,     3,   295,   220,   233,   150,   171,   156,   130,   237,
    1554      186,   181,   179,   175,   158,   130,     0,   696,     0,     0,
    1555        0,     0,   151,   172,   182,   176,   180,   179,   177,     3,
    1556        3,     0,     0,   496,   178,   206,   208,     3,     3,   207,
    1557      209
     1456       0,     0,     0,     0,     0,     0,     0,   109,     2,   649,
     1457     455,   646,   550,   550,   654,   483,   295,     2,   588,   589,
     1458       0,   600,   601,     0,     2,   743,   746,   112,   295,     0,
     1459       2,   711,   296,   715,   706,   707,   713,     0,     2,     2,
     1460     671,   550,   754,   620,   550,   550,   754,   550,   634,   550,
     1461     550,   685,   437,   668,   550,   550,   676,   683,   295,   432,
     1462     296,     0,     0,   295,   721,   296,   726,   754,   718,   295,
     1463     723,   754,   295,   295,   295,     0,   112,     0,    18,     5,
     1464       2,     0,    19,     0,   462,   752,     0,     0,   468,   242,
     1465       0,   295,     0,     0,     0,   548,   572,   576,   578,   608,
     1466     611,   615,   618,   571,   610,     0,   285,   661,     0,   295,
     1467     278,     0,     0,     0,     0,   276,     2,     0,   260,   539,
     1468     295,     0,     0,     0,     0,   295,   295,     0,     0,   695,
     1469     384,   387,   391,   550,   391,   700,   390,   692,   550,   550,
     1470     366,   375,   383,   376,   550,   378,   381,   295,   753,     0,
     1471       0,   399,     0,   296,     3,   417,     3,   421,   420,   594,
     1472       0,   534,   295,    63,     3,   295,   436,   296,     3,   430,
     1473     431,     2,     0,     0,     0,   488,   307,   295,   484,   486,
     1474       3,     2,     2,     0,   505,     3,     0,   557,   130,     0,
     1475       0,   223,     0,     0,     0,     2,     0,     0,    36,     0,
     1476       0,   112,   295,    20,     0,    21,     0,   695,   451,     0,
     1477     110,     3,     2,    27,     2,     0,    33,     0,     2,    25,
     1478       0,   107,   108,    74,    75,    76,    78,    79,    81,    82,
     1479      86,    87,    84,    85,    89,    90,    92,    94,    96,    98,
     1480     100,     0,     0,   755,   295,     0,     0,     0,   650,   651,
     1481     647,   648,   500,   499,   295,     0,   295,   717,   295,   722,
     1482     296,   295,   665,   295,   295,   708,   664,     2,   295,     0,
     1483       0,     0,     0,     0,     0,     0,     0,   686,     0,   672,
     1484     623,   639,   673,     2,   619,   626,   434,   621,   622,   435,
     1485       2,   633,   642,   635,   636,   669,   670,   684,   712,   716,
     1486     714,   754,   269,     2,   748,     2,   425,   720,   725,   426,
     1487       0,   404,     3,     3,     3,     3,   456,     3,     0,     2,
     1488     471,   467,   753,     0,   463,   470,     2,   466,   469,     0,
     1489     295,   243,   265,     3,   273,   275,     0,   456,     2,   574,
     1490     575,     2,   613,   614,     0,   662,   540,     3,   347,   346,
     1491     349,   348,   295,   541,     0,   542,   295,   377,   379,     2,
     1492       0,     0,     0,     0,   105,   393,   696,   697,   388,   392,
     1493     389,   693,   694,   382,   386,   295,   401,   395,   402,   752,
     1494       0,     0,   439,   241,     0,     0,     3,     2,   671,   432,
     1495       0,   530,     0,   754,   492,     0,   295,   295,   295,     0,
     1496     554,   556,   131,     0,     0,   216,     0,     0,     0,   224,
     1497     225,    56,     0,    62,   295,     0,    60,    59,     0,   129,
     1498     696,   461,    71,    72,   111,   116,     3,   110,     0,     0,
     1499       0,    24,    35,     3,     0,    32,   103,     0,     3,   653,
     1500     657,   660,   652,     3,   595,     3,   719,   724,     2,    63,
     1501     295,     3,     3,   296,     0,     3,   625,   629,   632,   641,
     1502     675,   679,   682,   295,     3,   624,   640,   674,   295,   295,
     1503     427,   295,   295,   749,     0,     0,     0,     0,   257,     0,
     1504     105,     0,     3,     3,     0,   464,     0,   460,     0,     0,
     1505     246,   295,     0,     0,   130,     0,     0,     0,     0,     0,
     1506     130,     0,     0,   110,   110,    18,     2,     0,     0,     3,
     1507     132,   133,     2,   144,   134,   135,   136,   137,   138,   139,
     1508     146,   148,     0,     0,     0,   286,   295,   295,   550,     0,
     1509     543,   295,   112,   699,   703,   705,   698,   385,   369,   400,
     1510       0,   582,     2,   667,   666,     0,   672,     2,   485,   487,
     1511     507,     3,   515,   516,     0,     2,   511,     3,     3,     0,
     1512       0,   559,   223,     0,     0,     0,   223,     0,     0,     3,
     1513      37,   752,   110,     0,     3,   664,    42,     3,    40,     3,
     1514      34,     0,     3,   102,   104,     0,     2,   655,   656,     0,
     1515       0,   295,     0,     0,     0,     3,   641,     0,     2,   627,
     1516     628,     2,   643,     2,   677,   678,     0,     0,    63,     0,
     1517       3,     3,     3,     3,   412,   411,   415,     2,     2,   751,
     1518     750,   113,     0,     0,     0,     0,     3,   465,     3,     0,
     1519     244,   147,     3,   296,   295,     0,     0,     0,     0,     2,
     1520       0,   192,     0,   190,     0,     0,     0,     0,     0,     0,
     1521       0,   550,   112,     0,   152,   149,   295,     0,     0,   268,
     1522     280,     3,     3,   549,   616,   370,     2,   701,   702,   398,
     1523     295,   267,   295,     0,   518,   495,   295,     0,     0,   494,
     1524     509,     0,     0,     0,   217,     0,   226,    57,   110,     0,
     1525       0,   117,   114,     0,     0,     0,     0,     0,     0,    23,
     1526       0,   658,   295,   583,   266,   727,   728,   729,     0,   680,
     1527     295,   295,   295,     3,     3,     0,   688,     0,     0,     0,
     1528       0,   295,   295,     3,   547,   472,   473,     0,     0,   247,
     1529     296,     0,     0,     0,     0,   295,   193,   191,   188,     0,
     1530     194,     0,     0,     0,     0,   198,   201,   199,   195,     0,
     1531     196,   130,    35,   145,   143,   245,     0,     0,   295,   419,
     1532     423,   422,     0,   512,     2,   513,     2,   514,   508,   295,
     1533     229,     0,   227,     0,   229,     3,   664,    31,   115,     2,
     1534      45,     2,    43,    41,    28,   113,    26,     3,   730,     3,
     1535       3,     3,     0,     0,   687,   689,   630,   644,   270,     2,
     1536     409,     3,   408,     0,   475,   472,   130,     0,     0,   130,
     1537       3,     0,   130,   189,     0,     2,     2,   210,   200,     0,
     1538       0,     0,   141,     0,   577,   617,     3,     2,     0,     0,
     1539       2,   230,     0,     0,   218,     0,     0,     0,     0,     0,
     1540       0,     0,     0,     0,   690,   691,   295,     0,   474,   153,
     1541       0,     0,     2,   166,   130,   155,     0,   183,     0,   130,
     1542       0,     2,   157,     0,     2,     0,     2,     2,     2,   197,
     1543      32,     0,   295,   517,   519,   510,     0,     0,     0,     0,
     1544     115,    38,     3,     3,   659,   631,   645,   681,   413,   130,
     1545     159,   162,     0,   161,   165,     3,   168,   167,     0,   130,
     1546     185,   130,     3,     0,   295,     0,   295,     0,     2,     0,
     1547       2,   140,   704,     2,   231,   232,     0,   228,   219,     0,
     1548       0,     0,   154,     0,     0,   164,   234,   169,     2,   236,
     1549     184,     0,   187,   173,   202,     3,   211,   215,   204,     3,
     1550       0,   295,     0,   295,     0,     0,     0,    39,    46,    44,
     1551     160,   163,   130,     0,   170,   295,   130,   130,     0,   174,
     1552       0,     0,   695,   212,   213,   214,     0,   203,     3,   205,
     1553       3,   295,   220,   233,   150,   171,   156,   130,   237,   186,
     1554     181,   179,   175,   158,   130,     0,   696,     0,     0,     0,
     1555       0,   151,   172,   182,   176,   180,   179,   177,     3,     3,
     1556       0,     0,   496,   178,   206,   208,     3,     3,   207,   209
    15581557};
    15591558
     
    15611560static const yytype_int16 yydefgoto[] =
    15621561{
    1563       -1,   839,   477,   302,    47,   134,   135,   303,   304,   305,
    1564      306,   786,   787,  1148,  1149,   307,   382,   309,   310,   311,
     1562      -1,   838,   477,   302,    48,   135,   136,   303,   304,   305,
     1563     306,   785,   786,  1147,  1148,   307,   382,   309,   310,   311,
    15651564     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
    1566     1052,   528,   996,   323,   997,   555,   973,  1079,  1545,  1081,
    1567     1082,  1083,  1084,  1546,  1085,  1086,  1462,  1463,  1424,  1425,
    1568     1426,  1524,  1525,  1529,  1530,  1565,  1566,  1087,  1382,  1088,
    1569     1089,  1316,  1317,  1318,  1506,  1090,   146,   979,   980,   981,
    1570     1403,  1487,  1498,  1499,   478,   479,   901,   902,  1060,    51,
    1571       52,    53,    54,    55,   348,   159,    58,    59,    60,    61,
    1572       62,   350,    64,    65,   265,    67,    68,   275,   352,   353,
    1573       71,    72,    73,    74,   119,    76,   205,   355,   120,    79,
    1574      121,    81,    82,   464,    83,   458,   459,   460,   461,   701,
    1575      939,   702,    84,    85,   467,   465,   722,   881,   882,   358,
    1576      359,   725,   726,   727,   360,   361,   362,   363,   475,   341,
    1577      136,   137,   532,   325,   171,   655,   656,   657,   658,   659,
    1578       86,   122,    88,   498,   499,   965,   500,   278,   504,   326,
    1579       89,   138,   139,    90,  1340,  1126,  1127,  1128,  1129,    91,
    1580       92,   743,    93,   274,    94,    95,   188,  1054,   689,   413,
    1581      126,    96,   510,   511,   512,   189,   269,   191,   192,   193,
    1582      270,    99,   100,   101,   102,   103,   104,   105,   196,   197,
    1583      198,   199,   200,   851,   614,   615,   616,   617,   201,   619,
    1584      620,   621,   581,   582,   583,   584,   706,   106,   623,   624,
    1585      625,   626,   627,   628,   938,   708,   709,   710,   604,   366,
    1586      367,   368,   369,   327,   165,   108,   109,   110,   371,   720,
    1587      578
     1565    1051,   527,   995,   323,   996,   554,   972,  1078,  1544,  1080,
     1566    1081,  1082,  1083,  1545,  1084,  1085,  1461,  1462,  1423,  1424,
     1567    1425,  1523,  1524,  1528,  1529,  1564,  1565,  1086,  1381,  1087,
     1568    1088,  1315,  1316,  1317,  1505,  1089,   147,   978,   979,   980,
     1569    1402,  1486,  1497,  1498,   478,   479,   900,   901,  1059,    52,
     1570      53,    54,    55,    56,   348,   160,    59,    60,    61,    62,
     1571      63,   350,    65,    66,   266,    68,    69,   276,   352,   353,
     1572      72,    73,    74,    75,   120,    77,   206,   355,   121,    80,
     1573     122,    82,    83,   464,    84,   458,   459,   460,   461,   700,
     1574     938,   701,    85,    86,   467,   465,   721,   880,   881,   358,
     1575     359,   724,   725,   726,   360,   361,   362,   363,   475,   341,
     1576     137,   138,   531,   325,   172,   654,   655,   656,   657,   658,
     1577      87,   123,    89,   498,   499,   964,   500,   279,   504,   326,
     1578      90,   139,   140,    91,  1339,  1125,  1126,  1127,  1128,    92,
     1579      93,   742,    94,   275,    95,    96,   189,  1053,   688,   413,
     1580     127,    97,   510,   511,   512,   190,   270,   192,   193,   194,
     1581     271,   100,   101,   102,   103,   104,   105,   106,   197,   198,
     1582     199,   200,   201,   850,   613,   614,   615,   616,   202,   618,
     1583     619,   620,   580,   581,   582,   583,   705,   107,   622,   623,
     1584     624,   625,   626,   627,   937,   707,   708,   709,   603,   366,
     1585     367,   368,   369,   327,   166,   109,   110,   111,   371,   719,
     1586     577
    15881587};
    15891588
    15901589/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15911590   STATE-NUM.  */
    1592 #define YYPACT_NINF -1328
     1591#define YYPACT_NINF -1355
    15931592static const yytype_int16 yypact[] =
    15941593{
    1595     7162,  9347, -1328,    62, -1328, -1328, -1328, -1328, -1328, -1328,
    1596    -1328,    38, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1597    -1328, -1328, -1328, -1328, -1328, -1328,   207,   207,   207,  1203,
    1598     1016,    43,  8157,   275, -1328, -1328, -1328, -1328, -1328,   222,
    1599    -1328, -1328, -1328,   557,   264, -1328, -1328, -1328, -1328,  3410,
    1600    -1328, -1328, -1328, -1328,     6,   284, -1328,  1270, -1328, -1328,
    1601    -1328, -1328,   295,  1095,   444,   105,  5843, -1328, -1328,  9886,
    1602     1150, -1328, -1328, -1328,  1157,   453,  3851,  1007,   683,  1157,
    1603      795, -1328, -1328,   654,   738, -1328,  1157,  1633, -1328,   323,
    1604    -1328,   507,   534, -1328, -1328, -1328, -1328,   477,   284,   207,
    1605    -1328,   207, -1328, -1328, -1328, -1328,  9575,  1270, -1328, -1328,
    1606     1270, -1328,   485, -1328,  9689, -1328, -1328,  2141, 10207, -1328,
    1607      954,   954,   954, -1328, -1328, -1328,   207, -1328, -1328, -1328,
    1608      515,   550,   565, -1328, -1328, -1328,   568, -1328, -1328, -1328,
    1609    -1328, -1328,   578,   624, -1328, -1328,   103,  9430,  2160,   312,
    1610      511,   638,   641,   646,   657,   661,  8834,  7559,   662,   709,
    1611    -1328,  9916, -1328, -1328, -1328, -1328,   722, -1328,    13,  3378,
    1612     3378, -1328,   721,   108, -1328, -1328, -1328, -1328,   731,   161,
    1613      310,   313,   207,   724, -1328, -1328,  1095,  1965,   797, -1328,
    1614       79, -1328,   207,   207,   284, -1328, -1328,    80, -1328,   207,
    1615      207, -1328,  2460,   764,   779,   954,  7590, -1328, -1328,   794,
    1616     3410, -1328, -1328,  1157, -1328, -1328, -1328,   284, -1328,  1270,
    1617        6, -1328,  8496, -1328,   954,   954,   954,   284, -1328,  1203,
    1618    -1328,  3975, -1328, -1328,   760,   954, -1328,   954, -1328,   222,
    1619     9430,  9461,   756, -1328,  1016,   796,   954, -1328,  1203,   781,
    1620      808, -1328,  8157,   907, -1328, -1328, -1328,  4258, -1328, -1328,
    1621     6530, -1328,   797,   109,  4971, 10207,  2141,  2460, -1328,   140,
    1622    -1328, -1328,  9689,  1270,   846, 11353, -1328, -1328,   570, -1328,
    1623    11095,   861,   898,  6606,   875,  6875,  7175, -1328,   885, -1328,
    1624    -1328, -1328, -1328, 10975, 10975,   907,  9202,   892, -1328, -1328,
    1625    -1328, -1328, -1328, -1328,   924, -1328,   845,  2420,  9544,  6875,
    1626    -1328,   469,   445,   777,   634,   925,   901,   902,   909,   956,
    1627       32, -1328, -1328,   922,   940, -1328,   107, -1328, -1328,  2160,
    1628    -1328, -1328,   525,   945, -1328,   601,   945,   952,   222, -1328,
    1629    -1328,   980,  9575, -1328,   982,   995,  9658, -1328, -1328,  1834,
    1630      953,  8917,  7590,  1157, -1328,  1157,   954,   954, -1328, -1328,
    1631    -1328, -1328, -1328, -1328,   954,  9575,  1270, -1328, -1328, 10280,
    1632     2053, -1328,  8646, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1633     1002,  3599,  6875, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1634    -1328, -1328, -1328, -1328, -1328, -1328, -1328,  2141, -1328,   993,
    1635     1014,  1018,  1020,  1011,  1040,  1050,  1075,  1965, -1328, -1328,
    1636     1017,     6,  1082, -1328, -1328,  1078, -1328, -1328, -1328,  4258,
    1637    -1328, -1328, -1328, -1328, -1328,  2460, -1328,  9430,  9430, -1328,
    1638      954,  2141,  7710,  1270,  8990, -1328, -1328, -1328, -1328,  4258,
    1639      109, -1328, -1328,  1157,   284, -1328, -1328,  4258, -1328,  5377,
    1640    -1328, -1328,   954,   954,   193, 10318,  1091,   803,  5956, -1328,
    1641      316,   338,  1016, -1328,  1094,  1108,  1109,  1128,   954, -1328,
    1642    -1328, -1328, -1328, 10468, -1328,   229,  7332, -1328,   284,  1130,
    1643    -1328,  2141, 11177,  5632, -1328, -1328, -1328, -1328,  1033,  2460,
    1644    -1328,  9063,   797,  8040, -1328, -1328, -1328,   867,   238,   922,
    1645     1016, 11353,  1127,  9689, -1328, 11353, -1328, -1328, -1328, -1328,
    1646      355, -1328,  1155,   898,   274,  9202, -1328, 10318, -1328, -1328,
    1647     9202, -1328,  9316,  9202, -1328, -1328, -1328,  1158, -1328,   464,
    1648     1159,  1077,  1172, -1328,  5577,  4344, -1328,   377, -1328, -1328,
    1649     6047, -1328,   394,  6047, -1328, -1328, -1328, -1328, -1328, -1328,
    1650    -1328, -1328, -1328, -1328,  4971,  4971, -1328, -1328,  6875,  6875,
    1651     6875,  6875,  6875,  6875,  6875,  6875,  6875,  6875,  6875,  6875,
    1652     6875,  6875,  6875,  6875,  6875,  6875,  4543,  4971, -1328,   940,
    1653     1073, -1328, -1328,   207,   207, -1328, -1328,  9430, -1328, -1328,
    1654     1078,   907, -1328,  1078,  6220, -1328, -1328, -1328,  2379,  4344,
    1655     1173,  1178, -1328, 10207, -1328, -1328,   722, -1328,  1180,   771,
    1656     1181,  2349,   160,   922, -1328,   207,   207,   922,   206, -1328,
    1657      207,   207,  1078, -1328, -1328,   207,   207, -1328,   945, 10348,
    1658     1270, 11322,    23,   374, 10348, -1328,  6530, -1328,   922, -1328,
    1659     9575, -1328,    89,  8612,  8612,  8612,  1270, -1328,  4738,  1179,
    1660      282,  1002,   344,  1184,  1188, -1328,  1182,  3378,   493, -1328,
    1661     1266,  1270,  8612,   907,  2141,   907,   797,   670,   945, -1328,
    1662    -1328,   706,   945, -1328, -1328, -1328,   898, -1328,   945,   284,
    1663    10468, -1328,   491,  1206,   529,  1207, -1328,  1201,   284, -1328,
    1664    -1328,  4258,   284,  1218,   435,   476, 10280,  7679,  1689,  6875,
    1665     2634, -1328, -1328,  1204,    84,  1204, -1328, -1328, -1328,   207,
    1666      207, -1328, -1328,  1016, -1328,   207, -1328, -1328,  9461,  1016,
    1667     1205,  6875, -1328,  1016, 11322, -1328, -1328,  1225, -1328, -1328,
    1668    -1328,   907, -1328, 11250,   995, -1328,  8612,  1114,  8917, -1328,
    1669    -1328,   722,  1221,  1223,   867,  2656, -1328, -1328, 11353, -1328,
    1670    -1328,  1224, -1328, -1328,  1234, -1328,  1224,  1237, 11095,  4971,
    1671       83,  1217,    93,  1240,  1243,  1246,   892,  1252,  1262, -1328,
    1672     1265,  1271, 10056,  4468, -1328,  4971, -1328,  1077,  1872, -1328,
    1673     4836,  4971,  1255, -1328, -1328,  1002,   562, -1328,  4971, -1328,
    1674    -1328,   951, -1328, -1328, -1328, -1328, -1328,   469,   469,   445,
    1675      445,   777,   777,   777,   777,   634,   634,   925,   901,   902,
    1676      909,   956,  6875,   906, -1328, 10468,  1272,  1274,  1276,  1073,
    1677    -1328, -1328, -1328, -1328, -1328, 10468,   636,  8612, -1328,  9575,
    1678    -1328,  7799,  9772, -1328,  8646,  7559, -1328, -1328,   771, 10468,
    1679     1063,  1277,  1279,  1283,  1286,  1287,  1292,  1293, -1328,  3021,
    1680     2349, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1681    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,  1078, -1328,
    1682    -1328, -1328,   922, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1683    -1328,  1294, -1328,  1295,  1296, -1328, -1328,     6,  1255,  4738,
    1684    -1328, -1328, -1328,  3599,  1300, -1328, -1328, -1328, -1328, -1328,
    1685     1016,  7010,  1347, -1328, -1328, -1328, -1328,  1288,     6, -1328,
    1686    -1328,  1078, -1328, -1328,  1078,    50,  1078, -1328, -1328, -1328,
    1687    -1328, -1328, -1328, 10026, -1328,   284, -1328,  9461, -1328, -1328,
    1688     1305,   963,  1297,  1298,  1310, -1328, -1328,  2634, -1328, -1328,
    1689    -1328, -1328, -1328, -1328, -1328,   803, 10138,  1109, -1328, -1328,
    1690     1108,  1316,  1312, -1328, -1328,  1317,  1320, -1328,  1114,  1935,
    1691    -1328,   436, -1328,  2656,   922, -1328,  1324, 11353, 10430,  9430,
    1692     1326, -1328, -1328,  1319,  1327,  1321, -1328,  6875,   112,   182,
    1693     1330, -1328,  1331,   907,  1331,  4344,  4971, -1328, -1328,  1331,
    1694    -1328,  1872,  3599, -1328, -1328, -1328, -1328,  1336,  4971,  1335,
    1695      907,  4738, -1328,  6047, -1328,   907, -1328, -1328,  4971, -1328,
    1696      740,   945, -1328, -1328, -1328, -1328, -1328, -1328, -1328,  1002,
    1697      995,  9658, -1328, -1328,  7919,  1344, -1328,   772,   945, -1328,
    1698      788,   818,   945, -1328,   954,  5460, -1328, -1328, -1328, 10468,
    1699    10468, -1328,  8990,  8990, -1328,  1339,  1340,  1348,  1349, -1328,
    1700     1350,   503,   115,  1255, -1328,   907, -1328,  3378, -1328,  4971,
    1701      506, -1328,  7436,  1332,  1355, 10917,  1358,  1365,   260,   584,
    1702      505,  4971,  1366,   284,  4971,  4971,  1367,   608,  1361,  1353,
    1703    -1328, -1328, -1328,  1373, -1328, -1328, -1328, -1328, -1328, -1328,
    1704    -1328, -1328, -1328,  1016,  1370,  4971, -1328, 10468, 10468,   207,
    1705     1383, -1328, 10169,  5577,   866,   945, -1328, -1328, -1328, -1328,
    1706    -1328,  1379, -1328, -1328, -1328, -1328,  1385,  1935, -1328, -1328,
    1707     1369, -1328,  1224, -1328, -1328,  2141,  1387, -1328, -1328, -1328,
    1708      659,  1386, -1328,    93,  1391,  6875,  1377,    93,    93,  1395,
    1709     1394, -1328,  1182,  4971,  1402,  1336,  1003,   123,  1399, -1328,
    1710     1394, -1328,  1407,  1399, -1328, -1328,  1410, -1328, -1328,  1078,
    1711     1414,  1420,  6815,  1419,  1422,  1425, -1328, -1328,  1430, -1328,
    1712    -1328,  1078, -1328, -1328, -1328, -1328,  1078,  4971,  4971,   995,
    1713     1431, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1714    -1328, -1328, -1328,  6875,  6875,  1433,  1438,  1399, -1328, -1328,
    1715     1016, -1328, -1328, -1328,  8423, 10430,  4971,  4971,  1506,  4971,
    1716    -1328, -1328,  1428, -1328,  1436,  4971,  1439,  1441,  4971,  1214,
    1717     1442,    52,  9804,  1144,   207, -1328, -1328,  7010,  1455,   510,
    1718    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,  1078,
    1719    -1328, 10735, -1328,  9063,  1444, -1328, -1328, 10430,   512,   604,
    1720    -1328,  1460,  1459,   898,  1471, -1328,   592, -1328, -1328,  4971,
    1721     1468,  1469, -1328, -1328,  1474,   693,   716,   907,  1482,  1483,
    1722    -1328,  1487, -1328, 10468, -1328, -1328, -1328, -1328, -1328,  1489,
    1723    -1328, 10468, 10468, 10468, -1328, -1328,  1490, -1328,  1491,  1473,
    1724     1495,   618,  8685,  8801, -1328, -1328,   293, -1328,  1494,  1498,
    1725    -1328,  9136,   674,   725,  1504,   758,  7301, -1328, -1328,   611,
    1726    -1328, -1328,   792,  1505,  1508,   284,  1558,  1023, -1328, -1328,
    1727     4971, -1328,  6047, 10917, -1328, -1328, -1328,  1509,  1510, 10468,
    1728    -1328, -1328, -1328,  1511, -1328, -1328, -1328, -1328, -1328, -1328,
    1729    10430,   898,   150, -1328,  1492,   898,  1336,   370, -1328, -1328,
    1730    -1328, -1328, -1328, -1328, -1328, -1328,  1512, -1328, -1328, -1328,
    1731    -1328, -1328, -1328,  1514,  1515, -1328, -1328, -1328, -1328, -1328,
    1732    -1328, -1328,  1513, -1328,  1516, -1328, -1328, 10917,   125,  4971,
    1733    10917, -1328,  1524,  4971, -1328,   136,  1526,  1539, -1328, -1328,
    1734     1528,  1529,  1507,  1001, -1328, -1328, -1328, -1328, -1328,  1270,
    1735     2141,  1525,   924,  1036,  6875, -1328,   837,  1530,  4971,   907,
    1736      907,  1531,  1538,  1540,  1541, -1328, -1328,  8990,  1537, -1328,
    1737     1613,  6875,  1542, -1328, -1328, 10828, -1328,   879, -1328,  1532,
    1738    10917,  1533, -1328, -1328,  1546, -1328,  1551, -1328,  1566,  1572,
    1739    -1328,  1545,  1559, 10430, -1328, -1328, -1328,   898,   907,  1563,
    1740     1547,  1557, -1328,  1399,  1399, -1328, -1328, -1328, -1328, -1328,
    1741    10917,   237, -1328,  1060, -1328, -1328,  8274, -1328, -1328,  1548,
    1742     4971, -1328,  4971,  8274,   284, 10318,   284, 10318,  1568, -1328,
    1743     1573, -1328, -1328, -1328,  1567,   924, -1328,   923, -1328, -1328,
    1744     4971,  1575,  1576, -1328,  6875,  6875, -1328, -1328,  1088,   113,
    1745    -1328, -1328,  1553, -1328,  1088, -1328, -1328,  2465,   907, -1328,
    1746    -1328,   284, 10318,   284, 10318,  1580,  1564,   907, -1328, -1328,
    1747    -1328, -1328, -1328, 10828,  1583,  1088,  8350,  4971, 10739,  1584,
    1748     1088,  1585,  2465,  2931, -1328, -1328, -1328,  1591, -1328, -1328,
    1749    -1328, -1328,  9430, -1328, -1328, -1328, 10606, -1328, 10828, -1328,
    1750    -1328,  1570, 10513, -1328, -1328, 10739,   284,  2931,   284,  1593,
    1751     1595,   938, -1328, 10606, -1328, -1328, -1328, 10513, -1328, -1328,
    1752    -1328,   284,   284, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1753    -1328
     1594    6526, 10132, -1355,   -28, -1355, -1355, -1355, -1355, -1355, -1355,
     1595   -1355,    11, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1596   -1355, -1355, -1355, -1355, -1355, -1355,   124,   124,   124,  1122,
     1597    1178,   105,  7752,   206, -1355, -1355, -1355, -1355, -1355,   125,
     1598   -1355, -1355, -1355, -1355,   698,   190, -1355, -1355, -1355, -1355,
     1599    9742, -1355, -1355, -1355, -1355,   293,   199, -1355,  1161, -1355,
     1600   -1355, -1355, -1355,   216,  2006,   341,   106,  7869, -1355, -1355,
     1601    9852,   758, -1355, -1355, -1355,   704,   346,  7545,   680,   713,
     1602     704,   967, -1355, -1355,   498,   800, -1355,   704,  1060, -1355,
     1603     248, -1355,   421,   449, -1355, -1355, -1355, -1355,   290,   199,
     1604     124, -1355,   124, -1355, -1355, -1355, -1355, 10443,  1161, -1355,
     1605   -1355,  1161, -1355,   279, -1355, 10553, -1355, -1355,  2175, 10583,
     1606   -1355,   774,   774,   774, -1355, -1355, -1355,   124, -1355, -1355,
     1607   -1355,   350,   392,   395, -1355, -1355, -1355,   403, -1355, -1355,
     1608   -1355, -1355, -1355,   439,   468, -1355, -1355,    66,  9208,  3295,
     1609     571,   369,   448,   481,   484,   491,   516, 10022,  7154,   536,
     1610     559, -1355,  9882, -1355, -1355, -1355, -1355,   562, -1355,   184,
     1611    3734,  3734, -1355,   579,   187, -1355, -1355, -1355, -1355,   597,
     1612     328,   353,   423,   124,   608, -1355, -1355,  2006,  2873,   686,
     1613   -1355,    61, -1355,   124,   124,   199, -1355, -1355,    96, -1355,
     1614     124,   124, -1355,  3264,   646,   699,   774,  7305, -1355, -1355,
     1615     733,  9742, -1355, -1355,   704, -1355, -1355, -1355,   199, -1355,
     1616    1161,   293, -1355,  8102, -1355,   774,   774,   774,   199, -1355,
     1617    1122, -1355,  5636, -1355, -1355,   724,   774, -1355,   774, -1355,
     1618     125,  9208, 10303,   751, -1355,  1178,   766,   774, -1355,  1122,
     1619     767,   775, -1355,  7752,   512, -1355, -1355, -1355,  9671, -1355,
     1620   -1355, 10973, -1355,   686,   134,  4776, 10583,  2175,  3264, -1355,
     1621     153, -1355, -1355, 10553,  1161,   778,  7900, -1355, -1355,   361,
     1622   -1355, 11792,   829,   859,  4180,   841, 11595, 11653, -1355,   852,
     1623   -1355, -1355, -1355, -1355, 11672, 11672,  8980,   854, -1355, -1355,
     1624   -1355, -1355, -1355, -1355,   912, -1355,   878,  2284,  9322, 11595,
     1625   -1355,   629,   677,   734,   265,   760,   882,   884,   890,   928,
     1626      13, -1355, -1355,   895,   936, -1355,    57, -1355, -1355,  3295,
     1627   -1355, -1355,   410,   929, -1355,   621,   929,   953,   125, -1355,
     1628   -1355,   960, 10443, -1355,   963,   971,  9436, -1355, -1355,  1106,
     1629    1778,  8566,  7305,   704, -1355,   704,   774,   774, -1355, -1355,
     1630   -1355, -1355, -1355, -1355,   774, 10443,  1161, -1355, -1355, 10693,
     1631    1309, -1355, 10413, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1632     998,  3508, 11595, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1633   -1355, -1355, -1355, -1355, -1355, -1355, -1355,  2175, -1355,   793,
     1634    1004,  1008,  1011,   926,  1015,  1019,  1023,  2873, -1355, -1355,
     1635    1032,   293,  1065, -1355, -1355,  1068, -1355, -1355, -1355,  9671,
     1636   -1355, -1355, -1355, -1355, -1355,  3264, -1355,  9208,  9208, -1355,
     1637     774,  2175,  7425,  1161,  8682, -1355, -1355, -1355, -1355,  9671,
     1638     134, -1355, -1355,   704,   199, -1355, -1355,  9671, -1355,  7188,
     1639   -1355, -1355,   774,   774,   550, 10723,  1071,  1646,  4966, -1355,
     1640     435,   455,  1178, -1355,  1077,  1033,  1061,  1081,   774, -1355,
     1641   -1355, -1355, -1355, 11011, -1355,   705,  7065, -1355,   199,  1085,
     1642   -1355,  2175, 11874,  6076, -1355, -1355, -1355, -1355,   939,  3264,
     1643   -1355,  8798,   686,  7635, -1355, -1355, -1355,  1254,   709,   895,
     1644    1178,  7900,   685, 10553, -1355,  7900, -1355, -1355, -1355, -1355,
     1645     769, -1355,  1093,   859,   494,  8980, -1355, 10723, -1355, -1355,
     1646    8980, -1355,  9094,  8980, -1355, -1355,  1096, -1355,   781,  1103,
     1647    1017,  1104, -1355,  3922,  6360, -1355,   553, -1355, -1355, 11518,
     1648   -1355,   618, 11518, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1649   -1355, -1355, -1355,  4776,  4776, -1355, -1355, 11595, 11595, 11595,
     1650   11595, 11595, 11595, 11595, 11595, 11595, 11595, 11595, 11595, 11595,
     1651   11595, 11595, 11595, 11595, 11595,  3966,  4776, -1355,   936,  1162,
     1652   -1355, -1355,   124,   124, -1355, -1355,  9208, -1355, -1355,  1068,
     1653     512, -1355,  1068, 11576, -1355, -1355, -1355,  4432,  6360,  1105,
     1654    1107, -1355, 10583, -1355, -1355,   562, -1355,  1108,  1721,  1109,
     1655    2038,   284,   895, -1355,   124,   124,   895,   308, -1355,   124,
     1656     124,  1068, -1355, -1355,   124,   124, -1355,   929, 10833,  1161,
     1657   12019,   503,   537, 10833, -1355, 10973, -1355,   895, -1355, 10443,
     1658   -1355,   239,  8218,  8218,  8218,  1161, -1355,  4062,  1099,   177,
     1659     998,   367,  1110,  1113, -1355,  1118,  3734,   565, -1355,  1194,
     1660    1161,  8218,   512,  2175,   512,   686,   727,   929, -1355, -1355,
     1661     752,   929, -1355, -1355, -1355,   859, -1355,   929,   199, 11011,
     1662   -1355,   801,  1115,   813,  1130, -1355,  1129,   199, -1355, -1355,
     1663    9671,   199,  1133,   506,   530, 10693,  7274,  1915, 11595,  2471,
     1664   -1355, -1355,  1126,    82,  1126, -1355, -1355, -1355,   124,   124,
     1665   -1355, -1355,  1178, -1355,   124, -1355, -1355, 10303,  1178,  1134,
     1666   11595, -1355,  1178, 12019, -1355, -1355,  1138, -1355, -1355, -1355,
     1667     512, -1355, 11947,   971, -1355,  8218,  1021,  8566, -1355, -1355,
     1668     562,  1142,  1143,  1254,  3424, -1355, -1355,  7900, -1355, -1355,
     1669    1147, -1355, -1355,  1155, -1355,  1147,  1157, 11792,  4776,    34,
     1670    1136,   168,  1159,  1156,  1164,   854,  1160,  1169, -1355,  1172,
     1671    1173,  5598,  6914, -1355,  4776, -1355,  1017,  1789, -1355,  5215,
     1672    4776,  1168, -1355, -1355,   998,   814, -1355,  4776, -1355, -1355,
     1673     893, -1355, -1355, -1355, -1355, -1355,   629,   629,   677,   677,
     1674     734,   734,   734,   734,   265,   265,   760,   882,   884,   890,
     1675     928, 11595,   927, -1355, 11011,  1175,  1177,  1180,  1162, -1355,
     1676   -1355, -1355, -1355, -1355, 11011,   818,  8218, -1355, 10443, -1355,
     1677    7394,  9550, -1355, 10413,  7154, -1355, -1355,  1721, 11011,   969,
     1678    1183,  1185,  1187,  1189,  1191,  1192,  1193, -1355,  4666,  2038,
     1679   -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1680   -1355, -1355, -1355, -1355, -1355, -1355, -1355,  1068, -1355, -1355,
     1681   -1355,   895, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1682    1199, -1355,  1202,  1203, -1355, -1355,   293,  1168,  4062, -1355,
     1683   -1355, -1355,  3508,  1200, -1355, -1355, -1355, -1355, -1355,  1178,
     1684    6657,  1259, -1355, -1355, -1355, -1355,  1186,   293, -1355, -1355,
     1685    1068, -1355, -1355,  1068,    73,  1068, -1355, -1355, -1355, -1355,
     1686   -1355, -1355,  9992, -1355,   199, -1355, 10303, -1355, -1355,  1204,
     1687     942,  1208,  1209,  1211, -1355, -1355,  2471, -1355, -1355, -1355,
     1688   -1355, -1355, -1355, -1355,  1646, 10162,  1061, -1355, -1355,  1033,
     1689    1213,  1188, -1355, -1355,  1212,  1215, -1355,  1021,  1927, -1355,
     1690     567, -1355,  3424,   895, -1355,  1219,  7900, 10863,  9208,  1221,
     1691   -1355, -1355,  1216,  1223,  1217, -1355, 11595,   122,    20,  1224,
     1692   -1355,  1228,   512,  1228,  6360,  4776, -1355, -1355,  1228, -1355,
     1693    1789,  3508, -1355, -1355, -1355, -1355,  1229,  4776,  1237,   512,
     1694    4062, -1355, 11518, -1355,   512, -1355, -1355,  4776, -1355,   759,
     1695     929, -1355, -1355, -1355, -1355, -1355, -1355, -1355,   998,   971,
     1696    9436, -1355, -1355,  7514,  1225, -1355,   816,   929, -1355,   860,
     1697     874,   929, -1355,   774,  5096, -1355, -1355, -1355, 11011, 11011,
     1698   -1355,  8682,  8682, -1355,  1234,  1239,  1246,  1258, -1355,  1262,
     1699     602,   133,  1168, -1355,   512, -1355,  3734, -1355,  4776,   540,
     1700   -1355,  6787,  1267,  1270, 11460,  1271,  1278,    50,    78,    53,
     1701    4776,  1279,   199,  4776,  4776,  1277,  1283,   399,  1266, -1355,
     1702   -1355, -1355,  1256, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1703   -1355, -1355,  1178,  1290,  4776, -1355, 11011, 11011,   124,  1291,
     1704   -1355, 10272,  3922,   877,   929, -1355, -1355, -1355, -1355, -1355,
     1705    1288, -1355, -1355, -1355, -1355,  1295,  1927, -1355, -1355,  1280,
     1706   -1355,  1147, -1355, -1355,  2175,  1292, -1355, -1355, -1355,   827,
     1707    1294, -1355,   168,  1298, 11595,  1274,   168,   168,  1303,  1304,
     1708   -1355,  1118,  4776,  1302,  1229,   750,   131,  1306, -1355,  1304,
     1709   -1355,  1311,  1306, -1355, -1355,  1314, -1355, -1355,  1068,  1317,
     1710    1322,  7034,  1321,  1323,  1324, -1355, -1355,  1328, -1355, -1355,
     1711    1068, -1355, -1355, -1355, -1355,  1068,  4776,  4776,   971,  1329,
     1712   -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,
     1713   -1355, -1355, 11595, 11595,  1331,  1332,  1306, -1355, -1355,  1178,
     1714   -1355, -1355, -1355,  5878, 10863,  4776,  4776,  1387,  4776, -1355,
     1715    1316, -1355,  1319, -1355,  1320,  4776,  1325,  4776,  1035,  1326,
     1716      64,   124,  9704,   973, -1355, -1355,  6657,  1334,   542, -1355,
     1717   -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355,  1068, -1355,
     1718   11278, -1355,  8798,  1336, -1355, -1355, 10863,   543,   587, -1355,
     1719    1338,  1337,   859,  1346, -1355,   370, -1355, -1355,  4776,  1347,
     1720    1348, -1355, -1355,  1349,   650,   721,   512,  1355,  1356, -1355,
     1721    1357, -1355, 11011, -1355, -1355, -1355, -1355, -1355,  1361, -1355,
     1722   11011, 11011, 11011, -1355, -1355,  1363, -1355,  1366,  1370,  1371,
     1723     667,  8334,  8450, -1355, -1355,   490, -1355,  1375,  1380, -1355,
     1724    8914,   832,   839,  1373,   844,  6216, -1355, -1355, -1355,   588,
     1725   -1355,   866,  1384,  1385,   199,  1435,  1031, -1355, -1355,  4776,
     1726   -1355, 11460, 11518, -1355, -1355, -1355,  1390,  1392, 11011, -1355,
     1727   -1355, -1355,  1391, -1355, -1355, -1355, -1355, -1355, -1355, 10863,
     1728     859,   253, -1355,  1376,   859,  1229,   337, -1355, -1355, -1355,
     1729   -1355, -1355, -1355, -1355, -1355,  1393, -1355, -1355, -1355, -1355,
     1730   -1355, -1355,  1395,  1402, -1355, -1355, -1355, -1355, -1355, -1355,
     1731   -1355,  1405, -1355,  1404, -1355, -1355, 11460,   155,  4776, 11460,
     1732   -1355,  1409,  4776, -1355,   195,  1424,  1425, -1355, -1355,  1417,
     1733    1418,  1396, -1355,  1037, -1355, -1355, -1355, -1355,  1161,  2175,
     1734    1414,   912,  1038, 11595, -1355,   886,  1421,  4776,   512,   512,
     1735    1426,  1428,  1432,  1433, -1355, -1355,  8682,  1419, -1355,  1502,
     1736   11595,  1430, -1355, -1355, 11371, -1355,   888, -1355,  1413, 11460,
     1737    1416, -1355, -1355,  1440, -1355,  1444, -1355,  1459,  1461, -1355,
     1738    1427,  1448, 10863, -1355, -1355, -1355,   859,   512,  1450,  1436,
     1739    1445, -1355,  1306,  1306, -1355, -1355, -1355, -1355, -1355, 11460,
     1740     340, -1355,  1042, -1355, -1355,  5372, -1355, -1355,  1438,  4776,
     1741   -1355,  4776,  5372,   199, 10723,   199, 10723,  1455, -1355,  1457,
     1742   -1355, -1355, -1355,  1458,   912, -1355,   901, -1355, -1355,  4776,
     1743    1460,  1462, -1355, 11595, 11595, -1355, -1355,  1120,   121, -1355,
     1744   -1355,  1451, -1355,  1120, -1355, -1355,  2159,   512, -1355, -1355,
     1745     199, 10723,   199, 10723,  1467,  1452,   512, -1355, -1355, -1355,
     1746   -1355, -1355, 11371,  1470,  1120,  7986,  4776, 11282,  1472,  1120,
     1747    1479,  2159,  2686, -1355, -1355, -1355,  1482, -1355, -1355, -1355,
     1748   -1355,  9208, -1355, -1355, -1355, 11149, -1355, 11371, -1355, -1355,
     1749    1463, 11056, -1355, -1355, 11282,   199,  2686,   199,  1483,  1489,
     1750     913, -1355, 11149, -1355, -1355, -1355, 11056, -1355, -1355, -1355,
     1751     199,   199, -1355, -1355, -1355, -1355, -1355, -1355, -1355, -1355
    17541752};
    17551753
     
    17571755static const yytype_int16 yypgoto[] =
    17581756{
    1759    -1328,  5033,  3981, -1328,   462, -1328,    41,     0,  -266, -1328,
    1760      629,  -530,  -491,  -946,    44,  6093,  1325, -1328,  -145,   685,
    1761      687,   763,   628,  1136,  1140,  1135,  1139,  1142, -1328,   121,
    1762     -486,  5463,  -869,  -668,  -953, -1328,    82,  -669,   286, -1328,
    1763      761, -1328,   487, -1173, -1328, -1328,   220, -1328, -1056,  -711,
    1764      333, -1328, -1328, -1328, -1328,   153, -1149, -1328, -1328, -1328,
    1765    -1328, -1328, -1328,   407, -1194,    53, -1328,  -367, -1328,   586,
    1766      380, -1328,   254, -1328,  -311, -1328, -1328, -1328,   635,  -853,
    1767    -1328, -1328,     1, -1043,    33,   825, -1328, -1328, -1328,  -137,
    1768    -1328,    56,  1849,  -201,  2484,  4445, -1328, -1328,    18,   403,
    1769      583,  -228,  1261, -1328,  2554, -1328, -1328,   106,  2921, -1328,
    1770     3406,  1470, -1328, -1328, -1328,  -638,  -431,  1278,  1282,   784,
    1771     1026,   294, -1328, -1328, -1328,  1019,   787,  -503, -1328,  -383,
    1772     -257,   -66, -1328, -1328,  -966,  -965,  -357,  -136,  1148,    24,
    1773    -1328,  1219,   429,  -306,  -197,  -129,   749,   851, -1328,  1087,
    1774    -1328,  3476,   780,  -426,   999, -1328, -1328,   783, -1328,  -230,
    1775    -1328,    87, -1328, -1328, -1328, -1267,   502, -1328, -1328, -1328,
    1776     1258, -1328,    59, -1328, -1328,  -855,  -106, -1327,   -91,  2314,
    1777    -1328,  1987, -1328,   996, -1328,  -143,   298,  -180,  -177,  -174,
    1778        5,   -40,   -36,   -35,  1329,    39,    55,    68,  -100,  -171,
    1779     -166,  -165,  -162,  -312,  -570,  -551,  -548,  -549,  -290,  -542,
    1780    -1328, -1328,  -477,  1176,  1183,  1187,   244,  5746,  -594,  -573,
    1781     -562,  -554,  -469, -1328,  -406,  -684,  -672,  -663,  -604,  -191,
    1782     -239, -1328, -1328,   263,   351,   -84, -1328,  4721,   128,  -628,
    1783     -435
     1757   -1355,  4671,  3340, -1355,   -29, -1355,  1206,   889,  -259, -1355,
     1758     526,  -532,  -488,  -865,  -161,  3194,     0, -1355,   549,   606,
     1759     623,   581,   600,  1034,  1041,  1036,  1040,  1043, -1355,   464,
     1760    -283,  5428,  -920,  -733,  -959, -1355,  -190,  -730,   365, -1355,
     1761    1538, -1355,   379, -1141, -1355, -1355,   112, -1355, -1341,  -609,
     1762     225, -1355, -1355, -1355, -1355,    48, -1087, -1355, -1355, -1355,
     1763   -1355, -1355, -1355,   300, -1335,    81, -1355,  -312, -1355,   479,
     1764     274, -1355,   149, -1355,  -359, -1355, -1355, -1355,   531,  -852,
     1765   -1355, -1355,     8,  -988,   376,  2486, -1355, -1355, -1355,   -81,
     1766   -1355,    99,  1389,  -187,  1960,  4204, -1355, -1355,    52,   394,
     1767    1565,  -246,  1300, -1355,  1933, -1355, -1355,   110,  2272, -1355,
     1768    2685,  1719, -1355, -1355, -1355,  -675,  -409,  1170,  1171,   683,
     1769     924,   329, -1355, -1355, -1355,   907,   692,   -78, -1355,  -241,
     1770    -263,   674, -1355, -1355,  -862,  -881,  -184,    26,  1049,    86,
     1771   -1355,   983,  -133,  -208,  -209,  -150,   651,   749, -1355,   987,
     1772   -1355,  2825,   209,  -478,   902, -1355, -1355,   684, -1355,  -230,
     1773   -1355,    35, -1355, -1355, -1355, -1207,   404, -1355, -1355, -1355,
     1774    1165, -1355,    44, -1355, -1355,  -853,  -110, -1354,  -104,  3033,
     1775   -1355,  4412, -1355,   896, -1355,  -135,    59,  -173,  -172,  -171,
     1776       7,   -42,   -41,   -40,  1597,    25,    28,    46,  -130,  -170,
     1777    -169,  -165,  -156,  -307,  -519,  -494,  -484,  -542,  -299,  -546,
     1778   -1355, -1355,  -514,  1076,  1082,  1088,  1849,  5102,  -569,  -582,
     1779    -552,  -545,  -556, -1355,  -356,  -684,  -672,  -664,  -598,  -210,
     1780    -201, -1355, -1355,   -10,     5,   -71, -1355,  4129,    37,  -610,
     1781     -23
    17841782};
    17851783
     
    17901788static const yytype_int16 yytable[] =
    17911789{
    1792       48,   113,   115,   150,   429,    98,   400,   151,   152,   401,
    1793      454,   268,   402,   791,   932,   403,   514,   853,    69,  1203,
    1794      404,   405,   261,   441,   406,   870,   933,   712,   894,   113,
    1795      113,   768,    48,    56,   116,   934,   845,    98,   613,   841,
    1796      384,   385,   112,    48,   408,  1145,  1092,   846,  1091,    48,
    1797       69,   707,   507,    50,   162,   847,    63,    48,   842,  1153,
    1798      618,   843,   852,    48,   749,    56,    48,   844,   194,    48,
    1799      220,   217,   343,  1401,   227,   751,  1185,  1186,  1187,   756,
    1800      946,   178,   153,   113,   113,    50,   400,   409,    63,   401,
    1801      974,   144,   402,   932,  1464,   403,   426,   411,   154,   211,
    1802      404,   405,   221,   820,   406,   933,    77,    48,   679,  1197,
    1803       48,   155,   994,   169,   934,  1320,   728,    48,    31,    31,
    1804      480,   683,   685,    31,   408,   779,   637,   575,   688,   378,
    1805      641,   262,   536,   203,   263,   873,   692,   170,    77,   874,
    1806      519,   885,   886,   856,   123,   379,   150,   124,    48,   863,
    1807      151,   152,   143,   162,   281,   605,    48,  -235,  -235,   904,
    1808     1099,    48,   576,   556,   557,   536,   374,   409,  1464,  1421,
    1809     1422,   484,   486,   410,   841,   292,  1484,   167,   857,    31,
    1810     1421,  1422,   860,   204,  1321,   746,    48,    48,   253,   420,
    1811      412,   412,   162,   842,   536,   412,   843,   755,   485,    31,
    1812      975,   556,    48,   877,   977,  1220,  1221,   880,  1265,  1202,
    1813       48,  1193,   282,   936,   677,   162,   770,   586,   485,    48,
    1814      577,  1135,    48,   587,   388,   153,   150,   444,  -235,   113,
    1815      151,   152,   536,   957,   739,   949,  1266,   556,  1194,  1423,
    1816      389,   154,   167,   440,   113,    31,    31,   760,   113,   490,
    1817     1432,   412,    48,   113,   155,   442,  1038,    98,   597,  1404,
    1818      883,   883,   883,  1203,   674,   845,    48,    48,   841,   854,
    1819       69,   610,   162,    48,  1262,   328,   846,   391,  1187,   883,
    1820       48,   824,   480,  1510,   847,    56,   145,   842,   343,  1102,
    1821      843,   666,  1136,   392,   474,   113,  1025,   492,    97,  1137,
    1822      740,  1037,   480,   693,   509,    50,  1346,   675,    63,   587,
    1823      480,   472,   164,   481,   703,   861,   448,   610,  1539,   681,
    1824     1541,   618,  1111,   728,  1016,   686,  1185,  1186,  1187,    48,
    1825       97,   147,   111,  1494,   374,   469,   526,   729,   437,   730,
    1826     1155,   149,  1013,    41,    42,   731,   674,    97,   747,    48,
    1827       48,   107,   107,   883,   748,  1552,   536,   705,    77,   830,
    1828     1194,   190,  -470,    77,    97,   853,    48,    97,   328,  1468,
    1829       48,   856,  1092,   178,  1091,  1563,   156,   164,   529,  1553,
    1830      925,   653,  1567,   107,   761,   845,   884,   884,   884,   675,
    1831      638,   762,  1211,  -470,   642,  -470,   846,    48,   172,  -470,
    1832      437,   879,  1217,    70,   847,   884,  1568,    48,  -113,  -113,
    1833      915,   182,   374,   794,   795,   796,   111,   870,   140,   141,
    1834      107,   253,   330,  1203,  -113,    48,   393,    41,    42,   395,
    1835     1203,    48,   713,    48,   414,    70,   167,  1041,   605,   248,
    1836      739,   422,   394,   605,   883,   396,    97,   202,   714,   111,
    1837      343,  1459,  1187,  1383,   715,   890,  -291,    48,   728,    97,
    1838       41,    42,   113,  1453,  1454,   757,   111,  1468,   728,   213,
    1839      716,   758,  1468,   436,   607,   481,   113,    41,    42,   884,
    1840     -113,    48,   728,  1203,   399,   190,   875,  1408,   783,    48,
    1841      876,  1134,  1468,    48,   374,   481,   978,    48,    98,  1468,
    1842      113,  -113,   113,   481,   462,   789,   740,   251,    97,   682,
    1843      684,    69,  1151,   414,  1261,   712,   739,   112,   400,   177,
    1844       97,   401,   653,  1038,   402,    77,    56,   403,   895,  1119,
    1845      507,  1107,   404,   405,  -521,   436,   406,   113,  1036,   707,
    1846      653,  1122,   113,   653,   729,    77,    50,   737,   875,    63,
    1847       97,   713,  1118,    77,   480,   328,   328,   408,   906,   533,
    1848      618,  1173,  1175,   767,   488,   561,   562,   928,   585,   177,
    1849      884,   164,   177,   896,   774,   908,   589,   111,   784,   592,
    1850      775,   767,   740,   790,   767,  1107,   253,   558,    41,    42,
    1851     1018,   113,   715,   559,   560,   830,   954,   529,    48,    77,
    1852      409,   919,   529,   107,   897,   529,   652,   775,   929,    48,
    1853      898,    48,   343,  1500,   918,  -106,   264,   832,   177,  -106,
    1854     1500,   331,  1200,  1215,   -10,   443,  1200,    97,  1335,    37,
    1855       48,   328,   474,    40,   588,   993,   412,  1381,  1201,   921,
    1856       41,    42,  1326,   414,  1336,   775,    48,   422,   612,  1254,
    1857      328,  1036,   113,   230,   872,    70,   111,   231,   813,  -444,
    1858      235,    48,   237,   113,    48,   113,    43,    41,    42,   246,
    1859      887,   712,  1002,  1549,  -445,    45,    46,   277,  1003,   729,
    1860      287,   177,   728,   728,   830,   903,  -292,   279,   343,   729,
    1861     1049,    41,    42,     8,     9,    10,    11,    12,    48,   502,
    1862       48,   503,  1344,   729,   905,   190,   907,  1294,  1295,  1345,
    1863      591,  1096,   412,   113,  1431,   328,  1213,   523,   462,   113,
    1864     1337,   462,    31,   113,   565,   566,   111,   775,   140,   239,
    1865     1369,   113,   414,   280,  1370,   177,  1338,    41,    42,  1130,
    1866      728,   728,   177,  1384,    48,    48,  1015,   481,   332,  1009,
    1867       34,   333,   731,   737,   213,   704,   334,   871,    48,  1014,
    1868      567,   568,   607,   240,  1056,   111,  1252,   335,   241,  1250,
    1869     1256,   336,   953,  1026,   372,   587,    41,    42,   533,   909,
    1870      533,   412,   509,   533,  1377,  1184,   533,  1523,   111,   481,
    1871      775,    97,  1393,  1528,   674,   612,   230,    77,  -293,    41,
    1872       42,  1502,   703,  1503,  1350,     8,     9,    10,    11,    12,
    1873      111,   177,   140,   141,  1548,   912,   174,   412,   373,  1555,
    1874      935,    41,    42,   585,   585,    57,    57,  1352,   177,   737,
    1875      605,   377,   177,  1177,    31,  1378,   386,   675,    48,    77,
    1876      390,   775,   935,    37,   107,   705,   216,    40,   932,  1157,
    1877       48,   412,   244,   832,    41,    42,   398,    57,  1550,   254,
    1878      933,   410,    34,   243,   830,   563,   564,   978,  1380,   934,
    1879     -368,   978,   978,   427,   775,    37,   556,   184,   185,    40,
    1880      838,  1169,   610,   412,  1331,   213,    41,    42,   428,    45,
    1881       46,    57,   451,   653,    57,   177,    70,  1172,   216,   610,
    1882      113,   653,  1385,   729,   729,   739,   433,   840,   775,   612,
    1883     -397,   910,   698,   470,   412,   913,   728,   519,  1449,    69,
    1884      699,    45,    46,    48,   728,   728,   728,  1174,  1198,   610,
    1885      537,   538,   539,  1007,    56,  1461,   230,    48,   235,    37,
    1886      471,   216,  1078,    40,   763,    48,   764,  1450,   414,   765,
    1887       41,    42,   771,  1447,   540,   418,   541,    63,   542,   543,
    1888      493,   729,   729,    48,     8,     9,    10,    11,    12,  1123,
    1889      513,   740,   728,  1182,  1183,  1237,   744,   412,   438,   111,
    1890      292,   462,   349,   113,   517,    45,    46,  1342,   446,  1469,
    1891       41,    42,   653,    31,   522,   775,   931,   940,   704,   940,
    1892      113,  1124,   216,   653,   534,   113,   536,    77,  1521,  1461,
    1893     1051,     2,   207,     4,     5,     6,     7,   569,   570,  1245,
    1894      571,    34,   775,  1008,  1139,    37,   230,   184,   185,    40,
    1895      572,  1232,  1233,  1516,   443,  1372,    41,    42,   573,  1517,
    1896      216,  1147,   840,   612,   767,   216,  1147,    57,  1573,   579,
    1897      574,   412,   740,   577,   587,   113,   339,   530,    45,    46,
    1898      177,  -441,   609,   585,   610,   653,  1006,  1003,   113,   113,
    1899      113,    45,    46,   330,   412,  1402,    35,    57,    36,  1402,
    1900     1205,  1390,  1391,     8,     9,    10,    11,    12,   111,   595,
    1901      140,   141,   177,   113,   598,    56,  1147,   328,   935,    41,
    1902       42,  1535,   253,   330,   412,  1332,  1078,    -3,   177,  1212,
    1903     1214,  1216,    31,  -113,   647,  -113,  1441,  1003,   481,  -113,
    1904      420,   670,   412,   177,   667,    48,   676,   213,   668,  1154,
    1905      669,   216,  1421,  1422,  -113,  -113,   840,   729,   343,    -3,
    1906       34,   213,   490,   330,   412,   729,   729,   729,   612,   871,
    1907      671,  1107,  1447,  1448,     2,   207,     4,     5,     6,     7,
    1908      672,     2,   207,     4,     5,     6,     7,    37,    77,   184,
    1909      185,    40,   854,   330,   610,   414,  1495,  1496,    41,    42,
    1910     1051,  1485,   579,   229,   412,   673,   777,  1080,   412,   258,
    1911      462,    45,    46,   729,   678,    45,    46,   805,   806,   111,
    1912      113,   140,   141,   696,   186,   690,   220,  1358,   718,   462,
    1913       41,    42,   216,    45,    46,  1360,  1361,  1362,   737,    35,
    1914      177,    36,    48,   958,   719,   610,    35,   653,    36,   537,
    1915      538,   539,    45,    46,   213,   704,   752,   211,   221,   732,
    1916      721,   753,   723,   704,  -239,    69,   797,   798,  1123,   142,
    1917      799,   800,   107,   540,  1158,   541,   935,   542,  1322,   349,
    1918       56,   612,   216,  1397,   759,   113,   113,   113,  1078,   776,
    1919      772,  1170,  1313,  1314,  1315,   130,   530,   131,   132,   133,
    1920     1124,   530,   780,    63,   530,   833,    41,    42,  1302,  1303,
    1921      834,  1305,   837,   848,  1445,   900,   -12,  1309,   893,   737,
    1922     1312,   -13,   242,   245,    70,   892,  1147,  1147,  1147,  1351,
    1923     1353,  1354,  1561,   923,   935,   935,   920,   922,    57,   107,
    1924      948,   699,   653,   653,  1205,    49,   114,   214,   801,   802,
    1925      803,   804,   927,    77,   442,  -418,  -525,   233,   962,    56,
    1926      748,  1123,    37,   969,   175,   176,    40,   971,  1238,   976,
    1927      982,  1208,   400,    41,    42,   401,   984,    49,   402,   983,
    1928      349,   403,   481,   767,  1078,   462,   404,   405,   148,   986,
    1929      406,   998,   987,  1124,    49,   988,  1093,   653,   163,   214,
    1930      653,   989,  1010,   216,  1011,   177,  1012,  1027,   187,  1028,
    1931      408,   210,   195,  1029,    49,   218,  1030,  1031,   228,    48,
    1932       48,  1534,  1032,  1033,  1044,  -406,  -405,  1104,  1105,   113,
    1933      113,   216,    77,   107,   674,  1058,   216,  1103,  1078,  1095,
    1934     1106,  1078,   214,  1444,   349,   653,  1112,   443,  1113,  1114,
    1935      653,   114,  1115,   409,  1121,   775,  1131,  1132,  1133,   114,
    1936      917,  1206,   267,   272,  1123,   992,  1138,  1146,   113,   924,
    1937     1147,  1147,  1143,   926,  1167,  1188,  1189,   675,  1190,  1191,
    1938      653,  1427,  1192,   466,  1207,    70,  1078,  1209,   349,   349,
    1939      349,  1078,   308,   148,  1210,  1218,  1124,   163,  1224,  1222,
    1940     1230,   114,   346,   214,  1205,  1225,   210,   349,    -3,  1486,
    1941      375,  1205,   150,  1235,  1240,  1242,   151,   152,   502,    56,
    1942     1251,  1078,  1246,  1253,   216,  1258,    56,    48,   113,  1255,
    1943     1259,   187,   187,  1080,  1263,  1267,   163,   113,   216,  1270,
    1944     1272,   214,   481,   653,  1274,   935,   214,   267,   653,   481,
    1945     1275,  1276,    48,    48,  1277,    49,   215,  1278,   162,   163,
    1946     1280,   508,   935,  1287,  1205,  1296,   653,   210,   653,  1536,
    1947     1297,   445,   653,  1304,  1333,   653,   107,    48,  1544,    56,
    1948     1307,   349,   374,   653,  1078,   308,   114,   653,  1308,  1078,
    1949     1325,  1310,    77,  1311,  1319,  1339,  1341,    49,   107,    77,
    1950     1347,  1343,   481,  1367,  1348,   272,  1349,  1078,   215,  1078,
    1951      272,   267,   267,  1078,  1355,  1356,  1078,   114,   107,  1357,
    1952      654,  1359,  1365,  1366,  1078,  1368,  1375,   213,  1078,  1394,
    1953     1376,   216,   214,  1379,  1386,   935,   935,  1387,  1315,  1395,
    1954     1396,   308,  1434,  -407,  1405,  1398,  1415,  1416,  1419,  1408,
    1955       70,   215,    77,   308,  1430,  1436,  -294,  1438,  1439,  1440,
    1956     1446,  1455,  1451,     8,     9,    10,    11,    12,  1456,   580,
    1957     1457,  1458,   349,  1370,   148,  1460,  1474,   107,   375,  1465,
    1958      349,  1476,  1478,  1420,  1470,  1472,  1428,   114,  1480,  1483,
    1959      328,   346,    31,  1488,  1490,   611,   629,  1482,  1511,  1489,
    1960     1501,   717,  1515,  1513,   177,  1527,  1101,  1519,  1520,  1542,
    1961      634,   107,   215,   214,   634,  1556,  1543,   114,  1547,  1554,
    1962       34,  1558,  1564,  1571,   443,  1572,  1223,   807,   809,    70,
    1963      214,  1467,   808,   810,  1324,  1522,  1471,   811,  1433,   750,
    1964     1574,   754,   267,  1389,  1257,  1406,    57,  1504,  1229,  1108,
    1965      215,   941,   187,   694,  1110,   215,   375,   695,  1508,   826,
    1966     1508,  1142,   950,   214,  1057,   899,  1493,   964,  1120,  1334,
    1967      267,   742,   308,   308,   972,   816,   267,     0,     0,   634,
    1968        0,    37,   817,   184,   185,    40,   818,     0,     0,     0,
    1969        0,     0,    41,    42,     0,  1508,     0,  1508,     0,     0,
    1970      114,     0,   700,   114,     0,     0,     0,     0,     0,     0,
    1971        0,     0,     0,    57,   107,     0,     0,     0,   698,     0,
    1972      412,     0,     0,     0,   216,     0,   267,    45,    46,     0,
    1973      349,     0,     0,     0,   267,     0,   634,   107,    49,     0,
    1974        0,   215,   745,     0,   107,     0,     0,     0,   114,     0,
    1975      488,     0,  1562,     0,  1219,     0,     0,     0,  1562,     0,
    1976      308,     0,   114,     0,     0,   308,     0,   308,   308,  1562,
    1977      117,     0,     0,  1562,     0,     0,   778,     0,     0,   114,
    1978      346,   177,     0,     0,   214,     0,     0,   349,   349,    70,
    1979        0,   891,     0,     0,     0,     0,    70,   107,     0,     0,
    1980        0,     0,     8,     9,    10,    11,    12,    57,     0,     0,
    1981        0,     0,   214,     0,     0,     0,     0,   214,   160,     0,
    1982        0,     0,   215,     0,   580,   580,    37,     0,   175,   176,
    1983       40,    31,   308,     0,     0,     0,     0,    41,    42,     0,
    1984        0,     0,     0,   634,   346,     0,     0,     0,   629,    70,
    1985        0,     0,   944,     0,   611,     0,   611,     0,   947,    34,
    1986        0,     0,   466,   373,     0,     8,     9,    10,    11,    12,
    1987        0,     0,   215,     0,   634,   259,     0,     0,     0,   634,
    1988        0,   629,     0,   160,     0,   634,     0,     0,   634,   634,
    1989      634,     0,     0,     0,    31,     8,     9,    10,    11,    12,
    1990        0,   777,     0,   412,   216,   214,     0,   634,     0,   267,
    1991       45,    46,     0,     0,     0,     0,   324,     0,     0,   214,
    1992        0,     0,    34,     0,    31,   340,     0,     0,     0,     0,
    1993        0,     0,     0,   127,   127,   127,     0,     0,     0,   508,
    1994        0,   114,   346,   700,     0,   700,     0,     0,     0,    57,
    1995       57,     0,    34,     0,     0,     0,     0,    37,     0,   184,
    1996      185,    40,     0,   114,   958,     0,   610,     0,    41,    42,
    1997        0,     0,    57,    45,    46,   431,     0,     0,     0,   435,
    1998        0,   634,   959,   629,     0,     0,     0,     0,     0,   745,
    1999      745,     0,    57,   215,   186,     0,  1388,     0,     0,     0,
    2000        0,   216,     0,    45,    46,     0,   127,     0,   127,   324,
    2001      457,     0,   214,     0,     0,     0,     0,   114,   346,     0,
    2002        0,   215,   778,   778,     0,     0,   215,     0,     0,     0,
    2003        0,     0,   654,   276,     0,     0,     0,   349,   349,  1061,
    2004        0,   435,     0,     0,   497,    37,    57,   175,   176,    40,
    2005        0,    57,     0,     0,     0,     0,    41,    42,     0,     0,
    2006        0,     0,     0,     0,   580,   531,     0,     0,     0,     0,
    2007        0,     0,   634,     0,   634,     0,  1021,   160,     0,   634,
    2008      346,     0,   377,   611,     0,    57,     0,     0,     0,   127,
    2009        8,     9,    10,    11,    12,   611,     0,   127,     0,   127,
    2010      127,     0,     0,     0,   127,     0,   127,   127,     0,     0,
    2011        0,   596,     0,     0,   215,   602,     0,     0,     0,    31,
    2012        0,     0,     0,     0,     0,     0,     0,     0,   215,     0,
    2013        0,   654,     0,    37,   635,   184,   185,    40,   639,     0,
    2014        0,   340,     0,     0,    41,    42,   308,    34,     0,     0,
    2015        0,     0,    37,     0,     0,  1505,    40,  1509,     0,     0,
    2016        0,     0,   349,    41,    42,     0,     0,     0,   634,     0,
    2017      266,     0,   114,     0,     0,     0,   127,     0,     0,    45,
    2018       46,     0,   700,     0,     0,     0,     0,     0,    57,    43,
    2019      700,   114,  1538,     0,  1540,     0,   324,   324,    45,    46,
    2020        0,     0,     0,   959,   959,   214,     0,     0,   745,     0,
    2021        0,    57,     0,   114,   308,     0,     0,     0,    57,     0,
    2022        0,   215,     0,     0,   457,     0,     0,   457,     0,     0,
    2023      346,     0,  1061,     0,     0,     0,   778,  1569,     0,  1570,
    2024        0,     0,     0,     0,     0,   117,     0,     0,     0,     0,
    2025        0,     0,  1577,  1578,     0,     0,     0,     0,     0,     0,
    2026      125,   128,   129,     0,     0,     0,   346,     0,     0,     0,
    2027      497,    57,   324,     0,   497,     0,     0,     0,     0,     8,
    2028        9,    10,    11,    12,   531,     0,   531,   634,   634,   531,
    2029        0,   324,   531,     0,     0,     0,     0,     0,     0,     0,
    2030        0,     0,     0,   340,     0,     0,     0,   308,    31,     8,
    2031        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2032       19,    20,    21,    22,    23,    24,    25,  -295,     0,    26,
    2033       27,    28,     0,   255,     0,   256,    34,     0,    31,  1300,
    2034        0,    37,     0,   184,   185,    40,     0,   114,   634,     0,
    2035        0,     0,    41,    42,     0,     0,   324,     0,     0,     0,
    2036        0,     0,   959,     0,     0,     0,    34,   828,     0,     0,
    2037      267,    37,     0,   337,   338,    40,     0,  -295,   609,     0,
    2038      610,     0,    41,    42,     0,   214,     0,    45,    46,     0,
    2039        8,     9,    10,    11,    12,     0,     0,     0,   869,     0,
    2040        0,     0,     0,   602,    66,   118,     0,   346,   643,   878,
    2041      339,     0,     0,     0,   215,     0,   397,    45,    46,    31,
    2042        0,     0,     0,     0,     0,     0,   416,   417,     0,     0,
    2043        0,   421,     0,   423,   424,     0,    66,   544,   545,   546,
    2044      547,   548,   549,   550,   551,   552,   553,    34,     0,   272,
    2045      114,     0,    37,   161,   184,   185,    40,    37,     0,   184,
    2046      185,    40,     0,    41,    42,   340,     0,   114,    41,    42,
    2047        0,   554,   308,   222,    75,     0,     0,     0,     0,     0,
    2048        0,     0,   214,     0,     0,     0,     0,   457,   634,   266,
    2049      127,   127,   114,     0,  1532,     0,   412,     0,    45,    46,
    2050        0,     0,     0,    45,    46,     0,    75,     0,     0,     0,
    2051      260,     0,     0,     0,     0,     0,     0,   497,     0,   127,
    2052        0,     0,   127,   127,     0,   127,     0,   127,   127,     0,
    2053        0,     0,   127,   127,     0,     0,     0,   634,   634,     0,
    2054        0,   340,     0,   223,     0,     0,   272,     0,     0,     0,
    2055        0,   308,   329,     0,     0,     0,     0,     0,     0,     0,
    2056      260,   351,     0,     0,     8,     9,    10,    11,    12,     0,
     1790      50,   115,   151,   152,   153,   108,   108,    99,   269,   116,
     1791     790,   454,   441,   931,   400,   401,   402,   403,   404,   429,
     1792     384,   385,   405,   750,   514,   932,   844,   755,   973,   178,
     1793     869,   406,    50,   933,   767,   507,   262,   108,  1144,    99,
     1794     165,   852,   945,   612,   149,   893,   993,  1091,  1090,   711,
     1795      50,   617,    70,   408,   124,   855,   845,   163,   409,    98,
     1796     678,   862,   843,   846,   188,   819,  1463,   211,   851,   154,
     1797      50,   195,   155,  1202,   218,   108,   145,   228,   221,   178,
     1798     687,    51,   178,  1467,    70,   411,   343,   168,   691,   840,
     1799     156,    98,   931,   426,   400,   401,   402,   403,   404,    64,
     1800      31,   706,   405,   150,   932,   165,   528,   115,   574,    98,
     1801      78,   406,   933,    51,   841,   115,   535,   282,   268,   273,
     1802     125,    31,  1210,   191,   842,  1214,    98,  1319,   178,    98,
     1803    1135,    64,  1400,   408,   204,    31,   604,  1136,   409,  1152,
     1804    1463,  1509,    78,   575,   179,   151,   152,   153,   308,   149,
     1805    1212,   974,   168,  1219,  1220,   535,   163,   115,   346,   484,
     1806     486,  1186,   211,    31,   636,  -235,  -235,   585,   640,   374,
     1807     254,  1215,   412,   586,   778,   283,  1538,   480,  1540,  1184,
     1808    1185,  1467,  1211,  1098,   205,   328,  1467,   188,   188,  1196,
     1809     745,   178,    31,   412,   263,   163,  1320,   264,   410,  1420,
     1810    1421,   436,   676,   268,   535,   420,  1467,   412,    98,  1201,
     1811    1213,    50,   154,  1467,   144,   155,  1264,   146,   163,   682,
     1812     684,    98,  1261,   211,   840,   151,   152,   153,   738,  1192,
     1813     444,  1134,   462,   156,   148,  1483,  -235,   681,   683,  1420,
     1814    1421,   308,   115,   485,  1265,   178,   399,   191,   437,   841,
     1815     293,  1101,   178,    50,   759,   844,  1193,  -470,   108,   842,
     1816      99,   273,   490,   436,   412,   448,   273,   268,   268,  1422,
     1817      98,   596,   673,   115,  1154,   163,   217,   674,   328,   976,
     1818    1037,   739,    98,   855,   469,   845,   532,   665,  -470,   727,
     1819    -470,  1024,   846,   244,  -470,   754,   308,   472,   165,  1345,
     1820     378,   343,   157,   388,  1012,    70,   440,  1036,   308,  1431,
     1821     437,   617,    98,   173,   769,   680,   379,  1202,   840,   389,
     1822     178,   685,   702,    31,   579,   528,   488,   704,   217,   149,
     1823     528,   924,   183,   528,    51,   535,   374,   178,   480,  1110,
     1824    1216,   178,   115,   841,   203,   168,   346,    31,   485,  -291,
     1825     610,   628,    64,   842,   673,   564,   565,   481,   480,   674,
     1826     492,  1186,  1403,    78,   249,   633,   480,   509,    78,   633,
     1827     576,   217,   115,  1091,  1090,   844,    57,   117,   823,   883,
     1828     883,   883,   762,   606,   763,   812,  1551,   764,    98,   852,
     1829     770,   566,   567,   853,    71,   609,   829,   268,   883,   254,
     1830     170,   882,   882,   882,   178,   845,  1562,   188,    57,   611,
     1831     265,  1186,   846,  1566,   374,   935,   914,   860,   604,   609,
     1832     882,   252,   869,   604,   171,   268,    71,   308,   308,  1184,
     1833    1185,   268,   217,   738,   633,   179,  1493,   948,   878,   112,
     1834    1552,   141,   142,   212,   391,   462,   222,  -113,   462,  -521,
     1835      41,    42,   637,  1382,  1407,   115,   641,   699,   115,   -10,
     1836     392,   214,   343,  1193,   328,   328,   191,  1567,  -113,   393,
     1837     217,   288,   883,  1172,  1174,   217,   748,  1202,   889,   331,
     1838    1343,   268,    41,    42,  1202,   394,   739,  1344,  1121,   268,
     1839     502,   633,   503,    50,   882,   727,   374,   744,   108,   728,
     1840      99,  -444,   977,   115,  -445,   532,   894,   532,   523,   738,
     1841     532,   507,   278,   532,  1150,   308,   703,   115,   481,   587,
     1842     308,   412,   308,   308,   400,   401,   402,   403,   404,    78,
     1843     777,  1260,   405,   115,   346,  1186,   711,  1202,   481,   395,
     1844     328,   406,  1035,  1452,  1453,    70,   481,  1037,   280,    78,
     1845     617,   712,    98,   905,  1458,   396,   611,    78,   332,   328,
     1846     217,   907,   739,   883,   408,   884,   885,   713,   178,   409,
     1847     112,   714,   141,   240,    51,  1380,   535,   281,   579,   579,
     1848    1106,    41,    42,   903,   112,   882,   308,   715,   706,   856,
     1849     736,   333,    64,   859,   334,    41,    42,   633,   346,   442,
     1850     178,   335,   628,    78,   760,  -113,  -113,   241,   610,   480,
     1851     610,   761,   242,  1499,   876,   872,   178,   443,   879,   873,
     1852    1499,  -113,   712,   328,   343,   112,   336,  1017,   633,    57,
     1853     727,   178,   829,   633,  1106,   628,    41,    42,   927,   633,
     1854     727,   217,   633,   633,   633,   895,   714,    71,   372,   874,
     1855     831,   953,  1430,   875,   727,  1035,  1199,   956,  1199,  1334,
     1856     692,   633,   928,   268,   782,   870,   586,   839,   373,   611,
     1857     606,   377,  1200,  1548,  1325,  1335,   896,  1048,   651,   874,
     1858     254,   330,   897,  1117,     2,   208,     4,     5,     6,     7,
     1859     112,   217,   711,  1133,   386,   115,   346,   699,  1095,   699,
     1860     343,    41,    42,  1336,   774,   728,   390,   462,     2,   208,
     1861       4,     5,     6,     7,  -106,   871,  -292,   115,  -106,  1337,
     1862    1383,   829,   112,     8,     9,    10,    11,    12,   178,   788,
     1863     590,   886,   412,    41,    42,   633,   958,   628,  1129,  1501,
     1864     398,  1502,  1055,   744,   744,   214,   902,   557,  1015,    35,
     1865     410,    36,    31,   558,   559,   427,   930,   112,   703,   141,
     1866     142,  1349,     2,   208,     4,     5,     6,     7,    41,    42,
     1867      37,   115,   346,    35,    40,    36,   777,   777,  1183,  1368,
     1868      34,    41,    42,  1369,     8,     9,    10,    11,    12,   481,
     1869    1393,   230,    43,   112,   751,   736,  1549,   560,   561,   752,
     1870      78,   673,   839,   611,    41,    42,   674,    44,   428,   702,
     1871     604,   217,    -3,    31,   704,   729,    46,    47,   579,   746,
     1872    1251,   730,   562,   563,  1255,   747,   633,    35,   633,    36,
     1873    1020,   481,  1351,   633,   346,   519,   908,   610,   412,   217,
     1874     728,    34,    78,   509,   217,   433,  1176,   931,  1040,   610,
     1875     728,  1253,   568,   569,   727,   727,   451,   555,   556,   932,
     1876    -113,   911,  -113,   412,   728,  -368,  -113,   933,  1156,    57,
     1877     412,   736,   112,   977,   141,   142,   214,   977,   977,   756,
     1878    -397,  -113,  -113,    41,    42,   757,   831,    71,  1522,    49,
     1879     114,   773,   493,   178,  1527,   555,   839,   774,   738,   470,
     1880     308,   829,   254,   330,   412,   108,  1197,   471,   611,  1293,
     1881    1294,   918,   727,   727,   245,  1547,   462,   774,   114,   114,
     1882    1554,    49,   633,   920,  1001,  1168,   115,   412,  1014,   774,
     1883    1002,   555,   217,    49,   730,   462,   699,  1249,   513,    49,
     1884    1118,   293,  1376,   586,   699,   115,   217,    49,   774,  1377,
     1885     517,   739,    70,    49,  1379,   774,    49,   958,   958,    49,
     1886     774,   522,   744,   536,   537,   538,   533,   115,   308,  1171,
     1887    -293,   609,   108,   114,   114,  1122,  1384,     8,     9,    10,
     1888      11,    12,   774,  1173,   346,   609,  1236,   539,   412,   540,
     1889     777,   541,   542,  1341,   535,   703,  1449,    49,  1468,    64,
     1890      49,   570,  1446,   703,   774,   328,    31,    49,  1005,  1002,
     1891      78,  1515,   571,   143,  1244,  1301,  1302,  1516,  1304,   572,
     1892     346,   611,   573,  1572,   443,  1309,   576,  1311,  1371,   586,
     1893      43,   939,   739,   939,    34,   420,   669,   412,    49,   217,
     1894     339,   633,   633,   774,  1007,   578,    49,   412,   490,   330,
     1895     412,    49,   330,   412,    46,    47,  1330,   870,   536,   537,
     1896     538,   308,  -441,  -294,   728,   728,   108,   243,   246,   594,
     1897       8,     9,    10,    11,    12,   597,    49,    49,   853,   330,
     1898     609,  1401,   539,    -3,   540,  1401,   541,  1322,   727,  1389,
     1899    1390,   462,    49,  1312,  1313,  1314,   727,   727,   727,    31,
     1900      49,   115,   633,  1350,  1352,  1353,   793,   794,   795,    49,
     1901     646,    43,    49,  1204,   666,    43,   958,   214,   667,   114,
     1902    1448,   668,   728,   728,   268,   670,   776,    34,   412,   671,
     1903     957,   214,   609,   672,   114,    46,    47,  1460,   114,    46,
     1904      47,   675,    49,   114,   727,   800,   801,   802,   803,   718,
     1905    1534,   343,  1440,  1002,  1446,  1447,    49,    49,  1494,  1495,
     1906     481,   346,   934,    49,  1420,  1421,   796,   797,   804,   805,
     1907      49,    78,     8,     9,    10,    11,    12,   677,    37,   259,
     1908     176,   177,    40,   695,   934,   798,   799,  1484,  1426,    41,
     1909      42,   717,   720,   178,   131,   722,   132,   133,   134,  -239,
     1910    1106,    31,   758,   273,   115,    41,    42,   113,   771,   108,
     1911    1520,  1460,   221,   775,   779,   373,   -12,   832,    49,   833,
     1912     836,   847,   115,   899,   214,   919,   308,   -13,   466,    34,
     1913     891,   108,   217,    37,   892,   176,   177,    40,    49,    49,
     1914     921,   922,   633,   698,    41,    42,   115,   926,  -418,   947,
     1915     112,   108,   141,   142,  1122,    49,    43,  -525,   961,    49,
     1916     736,    41,    42,   747,   968,  1079,  1331,   970,   975,   981,
     1917     652,   578,   982,   412,   983,  1006,    57,   985,    70,   986,
     1918      46,    47,   987,   988,   997,  1009,    49,  1010,  1092,  1444,
     1919    1011,   633,   633,  1026,    71,  1027,    49,  1028,   728,  1029,
     1920     273,  1030,  1031,  1032,  1112,   308,   728,   728,   728,  1043,
     1921     108,  1560,  -406,  -405,    49,  1057,  1102,  1094,  1103,  1104,
     1922      49,  1105,    49,  1111,  1113,    64,    37,  1114,   992,  1120,
     1923      40,  1130,   774,  1131,  1132,  1166,    78,    41,    42,   115,
     1924    1137,   736,   991,  1123,   108,  1142,    49,  1122,    43,  1145,
     1925    1187,   114,  1050,   917,   728,  1188,  1189,  1204,   400,   401,
     1926     402,   403,   404,   743,   653,   114,   405,   215,  1190,   178,
     1927      49,    -3,    46,    47,  1191,   406,  1205,   234,    49,  1206,
     1928    1208,    37,    49,   176,   177,    40,    49,  1209,  1217,   114,
     1929     118,   114,    41,    42,  1221,  1222,  1533,   408,  1224,   268,
     1930    1229,  1234,   409,  1239,   481,  1241,  1254,  1245,  1250,   502,
     1931    1252,   652,   217,  1257,  1262,    78,   633,   443,   377,   215,
     1932    1258,   673,  1266,  1269,  1271,   114,   674,  1273,   652,  1207,
     1933     114,   652,  1274,  1275,  1303,  1276,  1277,    57,  1279,   161,
     1934     934,  1286,   115,  1295,  1296,   716,  1332,   108,  1306,  1324,
     1935    1122,  1307,  1308,  1338,  1340,    71,  1342,  1310,  1318,  1346,
     1936     474,  1348,   215,  1347,  1507,   115,  1507,  1354,  1355,  1356,
     1937     108,  1153,   115,  1358,   115,  1364,   115,   108,  1365,   114,
     1938    1366,  1367,  1378,   749,  1443,   753,    49,  1374,  1008,   151,
     1939     152,   153,  1375,  1385,  1386,  1314,   260,    49,  1013,    49,
     1940    1394,  1507,  1395,  1507,   161,  1397,  1532,  1414,  1404,   217,
     1941    1407,   115,  1025,   115,  1415,  -407,  1418,  1204,    49,  1429,
     1942    1433,  1435,  1050,   215,  1204,   115,  1437,  1438,  1439,  1445,
     1943     108,  1532,  1532,  1450,    49,  1369,  1454,   324,  1455,   163,
     1944     114,   308,  1456,  1457,  1459,  1469,   340,  1464,  1471,    49,
     1945    1473,   114,    49,   114,  1475,  1477,  1532,  1479,  1482,  1481,
     1946    1487,   215,  1489,   374,   481,  1510,   215,  1512,  1488,   555,
     1947    1500,   481,  1518,  1514,  1519,    78,  1541,  1204,   328,   212,
     1948     222,   508,    78,  1526,  1542,  1546,    49,  1553,    49,  1555,
     1949     488,  1079,  1557,  1570,   175,  1563,   431,   214,   934,  1571,
     1950     435,   114,    57,  1223,   806,  1323,  1521,   114,   808,  1432,
     1951     519,   114,   807,   809,  1573,  1388,  1256,   810,  1405,   114,
     1952      71,  1503,  1123,  1228,   481,   693,   694,  1107,   940,   949,
     1953     324,   457,    49,    49,   890,    78,   231,   255,  1109,   825,
     1954     232,  1056,  1141,   236,   898,   238,    49,   164,  1119,   963,
     1955    1333,   215,   247,   971,   815,     0,   934,   934,   741,     0,
     1956     816,   196,   435,     0,   219,   497,   817,   229,     0,     0,
     1957       0,     0,     0,     0,     0,     0,   442,     0,     0,     0,
     1958       0,    57,   113,     0,     0,   530,  1392,     0,     0,     0,
     1959       0,     0,     0,     0,   443,   943,     0,   161,     0,    71,
     1960       0,   946,     0,     0,     0,   466,     0,     0,     0,     0,
     1961       0,     0,  1181,  1182,     0,  1123,     0,     0,    37,     0,
     1962     185,   186,    40,     0,     0,     0,    49,     0,   766,    41,
     1963      42,   595,   215,   418,     0,   601,     0,     0,    49,     0,
     1964      43,  1419,   783,     0,  1427,   766,   164,   789,   766,   215,
     1965       0,     0,     0,     0,   634,   697,   438,   412,   638,   375,
     1966       0,   340,     0,   698,    46,    47,   446,     0,     0,     0,
     1967    1231,  1232,     0,     0,     0,     0,     0,     0,     0,   231,
     1968       0,   652,   215,     0,     0,   164,   216,     0,   114,  1466,
     1969       0,     0,     0,    37,  1470,     0,   474,    40,     0,     8,
     1970       9,    10,    11,    12,    41,    42,     0,     0,   164,     0,
     1971       0,    49,     0,     0,     0,    43,   324,   324,  1123,     0,
     1972     445,     0,     0,     0,  1492,    49,     0,     0,    31,     0,
     1973     837,     0,   609,    49,   529,     0,     0,     0,   216,    46,
     1974      47,    57,     0,     0,   457,     0,     0,   457,    57,     0,
     1975      37,    49,   185,   186,    40,     0,    34,     0,     0,    71,
     1976       0,    41,    42,     0,     0,   118,    71,   934,   904,     0,
     1977     906,   114,    43,     0,     0,   653,     0,     0,     0,     0,
     1978     652,   216,  1060,    43,   934,     0,     0,   608,   114,   609,
     1979     497,   652,   324,   114,   497,     0,    46,    47,   776,     0,
     1980     412,    57,   215,     0,   530,     0,   530,    46,    47,   530,
     1981    1561,   324,   530,     0,     0,     0,  1561,     0,   231,    71,
     1982     236,     0,   340,     0,     0,     0,   375,  1561,     0,     0,
     1983     215,  1561,     0,    76,     0,   215,   952,     8,     9,    10,
     1984      11,    12,   216,   114,     0,     0,  1357,     0,     0,     0,
     1985       0,     0,     0,     0,  1359,  1360,  1361,   934,   934,     0,
     1986      67,   119,     0,     0,     0,    76,    31,     0,     0,     0,
     1987       0,     0,     0,     0,   653,   324,     0,     0,     0,     0,
     1988     216,   114,   689,     0,     0,   216,   827,    37,     0,   185,
     1989     186,    40,    67,     0,    34,     0,     0,     0,    41,    42,
     1990       0,     0,  1396,   224,   375,     0,     0,     0,   231,    43,
     1991     162,     0,     0,    49,     0,     0,   731,   868,     0,     0,
     1992       0,    43,   601,   215,   697,     0,   412,     0,   877,     0,
     1993     223,     0,     0,    46,    47,     0,   957,   215,   609,     0,
     1994     414,     0,     0,     0,     0,    46,    47,   422,     8,     9,
     1995      10,    11,    12,   529,     0,     0,     0,   508,   529,     0,
     1996       0,   529,     0,     0,     0,     0,     0,   261,     0,     0,
     1997     216,     0,     0,     0,     0,  1060,     0,    31,    37,     0,
     1998     185,   186,    40,     0,   340,     0,     0,     0,   114,    41,
     1999      42,   354,     0,     0,     0,     0,     0,     0,     0,     0,
     2000      43,     0,     0,     0,     0,    34,   457,     0,     0,   329,
     2001      37,    49,   185,   186,    40,   187,     0,   261,   351,   414,
     2002       0,    41,    42,     0,    46,    47,     0,     0,     0,     0,
     2003     215,     0,    43,     0,     0,     0,   497,     0,     0,     0,
     2004       0,     0,     0,     0,     0,     0,     0,   608,   407,   609,
     2005       0,   216,     0,   114,   114,   114,    46,    47,     0,     0,
     2006     340,     0,     0,   425,     0,   450,   430,   432,     0,     0,
     2007       0,   162,     0,   584,     0,     0,     0,     0,     0,     0,
     2008       0,   588,  1299,     0,   591,     0,    76,     0,  1138,     0,
     2009       0,    76,   449,     0,     0,     0,   452,     0,   453,     0,
     2010       0,   216,     0,     0,     0,  1146,     0,   468,   766,     0,
     2011    1146,   652,     0,    67,     0,     0,   916,  1016,   482,     0,
     2012       0,     0,   827,     0,     0,   923,     0,     0,   489,   925,
     2013       0,    37,     0,   185,   186,    40,   432,     0,     0,     0,
     2014       0,     0,    41,    42,     0,     0,     0,    37,   414,   185,
     2015     186,    40,   422,    43,     0,     0,     0,     0,    41,    42,
     2016    1146,     0,     0,     0,     0,     0,     0,     0,  1531,    43,
     2017     412,     0,    79,     0,     0,     0,     0,    46,    47,     0,
     2018       0,     0,     0,     0,   267,   224,     0,    49,    49,     0,
     2019       0,     0,     0,    46,    47,     0,     0,   114,   114,     0,
     2020       0,     0,   261,     0,    79,     0,   602,     0,     0,     0,
     2021       0,   827,   630,     0,     0,   457,     0,     0,     0,     0,
     2022       0,   216,     0,   215,     0,   635,     0,     0,     0,   635,
     2023       0,     0,   261,     0,   457,     0,   114,   414,     0,     0,
     2024       0,     0,   225,     0,     0,     0,     0,     0,     0,   216,
     2025       0,     0,    76,     0,   216,   497,  1124,   324,     0,     0,
     2026       0,     0,     0,     0,     0,     0,     0,   354,     0,     0,
     2027       0,     0,    76,     0,     0,     0,     0,     0,     0,   482,
     2028      76,   543,   544,   545,   546,   547,   548,   549,   550,   551,
     2029     552,     0,     0,     0,   351,    49,   114,     0,     0,   482,
     2030       0,     0,     0,     0,     0,   114,   354,   482,     0,   868,
     2031       0,     0,     0,     0,     0,   553,     0,     0,     0,     0,
     2032      49,    49,     0,     0,   354,     0,    76,   584,   584,     0,
     2033     356,     0,     0,   723,     0,     0,   432,     0,     0,     0,
     2034       0,     0,   216,     0,     0,    49,     0,     0,     0,     0,
     2035       0,   737,     0,    67,     0,     0,   216,     0,     0,     0,
     2036       0,   432,  1100,     0,     0,   432,     0,   354,     0,     0,
     2037    1146,  1146,  1146,     0,     0,     0,     0,     0,     0,     0,
     2038       0,     8,     9,    10,    11,    12,    58,    58,     0,     0,
     2039     457,   827,     0,   261,   351,     0,     0,     0,     0,     0,
     2040       0,     0,     0,   215,     0,     0,     0,     0,     0,     0,
     2041      31,     0,     0,     0,     0,   909,     0,     0,    58,   912,
     2042       0,     0,     0,     0,     0,    79,     0,     0,   766,     0,
     2043      79,   354,     0,     0,     0,     0,     0,     0,    34,   818,
     2044       0,     0,     0,    37,     0,   185,   186,    40,     0,   216,
     2045       0,     0,   414,    58,    41,    42,    58,   635,   830,     0,
     2046       0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
     2047     849,     0,     0,     0,     0,   354,   354,   354,     0,     0,
     2048     697,     0,   412,     0,     0,     0,     0,     0,   602,    46,
     2049      47,     0,     0,   602,   354,     0,     0,     0,     0,   635,
     2050     215,     0,   351,   351,   351,     0,     0,     0,     0,     0,
     2051    1218,   340,   354,     0,  1146,  1146,     0,     0,     0,     0,
     2052       0,   351,     0,    76,   225,     0,     0,     0,     0,   354,
     2053       0,     0,     0,     0,     0,  1124,     0,     0,     0,   723,
     2054       0,     0,     0,     0,   349,     0,     0,     0,     0,     0,
     2055     482,     0,     0,  1485,     0,   261,   737,     0,     0,   936,
     2056       0,     0,     0,     0,     0,    76,     0,   584,   354,     0,
    20572057       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2058        0,     0,     0,     0,     0,   114,     8,     9,    10,    11,
    2059       12,   407,     0,    31,   215,     0,     0,     0,  1017,     0,
    2060        0,     0,     0,   828,     0,     0,   425,     0,     0,   430,
    2061      432,   127,     0,     0,   161,    31,   127,   127,     0,     0,
    2062        0,    34,   127,     0,     0,     0,    37,     0,   184,   185,
    2063       40,   354,     0,     0,     0,   449,     0,    41,    42,   452,
    2064        0,   453,     0,    34,     0,   267,     0,     0,    37,     0,
    2065      468,     0,    40,     0,     0,     0,    66,     0,     0,    41,
    2066       42,   482,   634,   698,     0,   412,     0,     0,     0,     0,
    2067        0,   489,    45,    46,     0,     0,     0,     0,     0,   432,
    2068        0,     0,     0,     0,     0,   744,     0,     0,   114,     0,
    2069        0,   215,   828,     0,    45,    46,   457,     0,     0,     0,
    2070        0,     0,     0,     0,     0,   450,     0,     0,     0,     0,
    2071        0,   114,     0,     0,     0,   457,     0,     0,   114,     0,
    2072      114,     0,   114,     0,     0,     0,    75,     0,     0,     0,
    2073        0,    75,     0,     0,     0,     0,   497,  1125,   324,     0,
    2074        0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
    2075      603,     0,  1533,     0,     0,     0,   631,   114,     0,   114,
    2076        0,     0,     0,     0,     0,     0,     0,     0,     0,   636,
    2077        0,   114,     0,   636,     0,     0,   260,  1533,  1533,     0,
    2078        0,     0,     0,     0,     0,     0,     0,   308,     0,     0,
    2079      869,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2080        0,     0,  1533,     0,     0,     0,     0,     0,     0,     0,
    2081        0,     0,     0,     0,     0,     0,     0,   821,   822,     0,
    2082        0,     0,     0,   482,     0,     0,   223,     0,     0,     0,
    2083        0,     0,     0,     0,     0,     0,     0,     0,   351,     0,
    2084        0,    78,     0,   482,     0,     0,   855,     0,     0,   858,
    2085      859,   482,   862,     0,   864,   865,     0,     0,     0,   866,
    2086      867,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2087        0,   457,   828,    78,     0,     0,     0,   724,     0,     0,
    2088      432,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2089       31,     0,     0,    75,     0,   738,     0,    66,     0,     0,
    2090        0,     0,     0,     0,     0,   432,     0,     0,   354,   432,
    2091      224,     0,     0,    75,     0,     0,     0,     0,    34,     0,
    2092        0,    75,     0,    37,     0,   184,   185,    40,     0,     0,
    2093        0,     0,     0,     0,    41,    42,     0,     0,   260,   351,
    2094        0,     0,     0,   942,   943,     0,     0,   354,  1034,   945,
    2095        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2096     1532,     0,   412,     0,     0,   354,     0,    75,     0,    45,
    2097       46,     0,     0,     0,     0,     0,     0,     0,   283,   284,
    2098       31,   285,     0,     0,   819,     0,     0,     0,     0,     0,
    2099        0,   340,     0,     0,     0,     0,     0,     0,   356,     0,
    2100        0,     0,   636,   831,     0,     0,   127,   286,    34,   354,
    2101        0,     0,     0,   287,     0,   850,  1125,   288,     0,     0,
    2102      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2103        0,     0,     0,   603,     0,   295,     0,     0,   603,     0,
    2104        0,     0,     0,     0,   636,     0,     0,   351,   351,   351,
    2105      296,     0,   380,     0,     0,     0,     0,     0,     0,   345,
    2106       46,   298,   299,   300,   301,     0,   351,     0,     0,     0,
    2107        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2108        0,     0,     0,     0,   724,     0,     0,     0,     0,     0,
    2109        0,     0,     0,    78,     0,   482,     0,     0,    78,     0,
    2110      260,   738,     0,     0,   937,     0,     0,     0,     0,  1125,
    2111        0,     0,     0,     0,     0,     0,     0,   354,   354,   354,
     2058       0,     0,     0,     0,     0,    81,     0,     0,     0,     0,
     2059       0,    79,   482,     0,     0,   351,     8,     9,    10,    11,
     2060      12,     0,     0,     0,   962,   354,   356,   432,     0,    58,
     2061       0,    79,     0,  1535,     0,     0,     0,    81,     0,    79,
     2062       0,     0,  1543,     0,     0,    31,     0,     0,  1124,     0,
     2063       0,   261,   737,     0,     0,     0,     0,   990,     0,    58,
     2064       0,     0,   216,     0,     0,   356,     0,   354,     0,     0,
     2065       0,     0,     0,    34,     0,   226,     0,   354,    37,   354,
     2066     185,   186,    40,   356,   224,    79,     0,   354,     0,    41,
     2067      42,   354,     0,     0,   723,     0,     0,     0,     0,   414,
     2068      43,     0,     0,     0,   723,     0,   351,     0,   635,     0,
     2069       0,  1023,     0,   635,   830,  1531,     0,   412,   723,     0,
     2070       0,     0,     0,     0,    46,    47,   356,     0,  1034,     0,
    21122071       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2113        0,   127,     0,     0,     0,     0,   354,   482,     0,     0,
    2114      351,     0,     0,     0,     0,     0,     0,     0,     0,   963,
    2115        0,     0,   432,     0,   354,     0,     0,     0,     0,     0,
    2116        0,     0,     0,     0,     0,    75,     0,     0,     0,     0,
    2117        0,   354,     0,     0,     0,     0,   260,   738,     0,     0,
    2118        0,     0,   991,     0,     0,     0,     0,     0,     0,     0,
    2119        0,     0,     0,   224,     0,     0,     0,     0,     0,     0,
    2120        0,     0,     0,     0,     0,     0,     0,    75,     0,     0,
    2121      354,     0,  1125,     0,     0,     0,     0,     0,     0,   724,
    2122        0,     0,     0,     0,     0,     0,     0,     0,     0,   724,
    2123        0,   351,     0,   636,     0,     0,  1024,     0,   636,   831,
    2124        0,     0,     0,   724,  1507,     0,  1507,   354,     0,     0,
    2125        0,     0,     0,  1035,     0,     0,     0,     0,     0,     0,
    2126       78,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2127        0,     0,     0,     0,     0,   356,     0,     0,     0,     0,
    2128       78,  1507,     0,  1507,     0,     0,     0,     0,    78,   354,
    2129        0,     0,     0,     0,     0,     0,     0,     0,     0,   354,
    2130        0,   354,     0,     0,     0,    66,   223,     0,     0,   354,
    2131        0,   324,     0,   354,   356,     0,     0,     0,     0,     0,
    2132        0,     0,     0,     0,     0,     0,    80,   636,     0,     0,
    2133        0,     0,   356,  1234,    78,   283,   284,     0,   285,     0,
    2134        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2135       18,    19,    20,    21,    22,    23,    24,    25,    80,     0,
    2136       26,    27,    28,  1117,   286,     0,     0,     0,     0,    31,
    2137      287,   432,   118,     0,   288,    75,   356,   289,   290,   291,
    2138      292,    41,    42,     0,   293,   294,     0,     0,     0,   351,
    2139        0,     0,   295,     0,     0,   225,    87,    34,     0,     0,
    2140        0,     0,    37,     0,    38,    39,    40,   296,     0,   380,
    2141        0,     0,   381,    41,    42,     0,    45,    46,   298,   299,
    2142      300,   301,     0,     0,     0,   603,     0,     0,    87,     0,
    2143        0,     0,     0,     0,     0,     0,     0,     0,   430,    43,
    2144      356,   158,     0,   724,   724,     0,   351,   351,    45,    46,
    2145        0,     0,     0,     0,     0,     0,     0,     0,  1323,   354,
    2146        0,     0,     0,     0,     0,   226,  1204,     0,     0,     0,
     2072       0,     0,     0,     0,     0,    88,     0,     0,     0,     0,
     2073       0,  1124,     0,    76,     0,     0,     0,     0,     0,     0,
     2074       0,     0,     0,   357,     0,     0,     0,     0,     0,     0,
     2075       0,     0,  1387,     0,     0,     0,     0,    88,  1157,     0,
     2076      67,     0,     0,  1506,     0,  1506,     0,     0,     0,     0,
     2077     356,     0,     0,     0,     0,  1169,     0,     0,     0,     0,
     2078       0,     0,   635,     8,     9,    10,    11,    12,     0,     0,
     2079       0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
     2080    1506,     0,  1506,     0,     0,     0,     0,     0,     0,     0,
     2081       0,     0,    31,     0,   356,   356,   356,   354,  1116,     0,
     2082     349,     0,   216,     0,     0,     0,   432,   119,     0,     0,
     2083     324,     0,     0,   356,     0,     0,     0,     0,    81,     0,
     2084      34,     0,     0,    81,   351,    37,     0,   185,   186,    40,
     2085       0,   356,  1237,     0,     0,     0,    41,    42,     0,     0,
     2086       0,     0,    79,     0,     0,     0,     0,    43,   356,     0,
     2087       0,   354,   354,     0,   354,   354,     0,     0,     0,    58,
     2088     602,     0,   187,   364,     0,     0,     0,     0,     0,     0,
     2089       0,    46,    47,   430,    76,     0,     0,     0,   723,   723,
     2090       0,   351,   351,     0,    79,     0,     0,   356,     0,     0,
     2091       0,  1504,     0,  1508,     0,     0,     0,     0,     0,   216,
     2092     349,  1203,     0,     0,     0,     0,     0,     0,     0,   354,
     2093     354,     0,     0,     0,     0,     0,     0,   226,     0,     0,
     2094       0,     0,     0,     0,   356,     0,     0,     0,  1537,     0,
     2095    1539,     0,     0,     0,     0,     0,   723,   723,     0,   126,
     2096     129,   130,   635,     0,     0,     0,     0,     0,     0,     0,
     2097       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
     2098       0,     0,     0,    88,   349,     0,   356,     0,     0,     0,
     2099       0,     0,     0,  1568,   354,  1569,   356,     0,   356,     0,
     2100       0,     0,     0,   225,    81,     0,   356,     0,  1576,  1577,
     2101     356,     0,     0,     0,     0,     0,     0,     0,     0,   357,
     2102       0,   737,     0,     0,    81,     0,     0,     0,   349,   349,
     2103     349,     0,    81,   256,     0,   257,     0,   224,     0,     0,
     2104       0,     0,     0,     0,     0,     0,     0,   349,     0,     0,
     2105       0,     0,     0,     0,     0,     0,     0,     0,   357,    76,
     2106       0,     0,     0,     0,  1300,     0,     0,     0,     0,     0,
     2107       0,     0,    79,   354,     0,   354,   357,   227,    81,     0,
     2108       0,     0,   261,     0,     0,     0,    67,     0,     0,     0,
    21472109       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2148        0,     0,     0,   357,   356,   356,   356,     0,     0,     0,
     2110     723,     0,   737,     0,     0,   354,   119,     0,     0,     0,
     2111       0,     0,     0,   354,   354,   354,   397,     0,     0,   357,
     2112       0,   349,     0,     0,   354,   354,   416,   417,     0,     0,
     2113       0,   421,   723,   423,   424,     0,     0,     0,    76,     0,
     2114     723,   723,   723,     0,    88,     0,     0,     0,     0,     0,
     2115       0,   351,   351,     0,     0,     0,   356,     0,     0,   364,
     2116       0,   354,     0,     0,    88,  1203,     0,     0,     0,     0,
     2117       0,     0,    88,     0,     8,     9,    10,    11,    12,     0,
     2118       0,     0,     0,   357,     0,     0,     0,     0,   723,     0,
     2119       0,     0,     0,     0,     0,     0,     0,     0,   364,   119,
     2120       0,     0,     0,    31,     0,     8,     9,    10,    11,    12,
     2121     356,   356,   349,   356,   356,     0,   364,     0,    88,     0,
     2122     349,     0,     0,     0,     0,     0,     0,   357,   357,   357,
     2123       0,    34,     0,    79,    31,     0,    37,     0,   185,   186,
     2124      40,     0,     0,     0,     0,     0,   357,    41,    42,   354,
     2125       0,     0,     0,     0,     0,     0,     0,     0,    43,   364,
     2126       0,     0,    34,     0,   357,     0,     0,    37,   356,   356,
     2127       0,    40,     0,   267,     0,    81,   351,     0,    41,    42,
     2128       0,   357,    46,    47,     0,     0,    58,     0,     0,    43,
     2129       0,     0,     0,     0,   169,     0,   174,     0,    76,   180,
     2130     181,   182,   119,   184,    44,    76,     0,     0,     0,     0,
     2131       0,     0,     0,    46,    47,     0,     0,    81,   235,     0,
     2132     357,     0,     0,   364,     0,  1203,     0,     0,     0,     0,
     2133     250,   251,  1203,   356,     8,     9,    10,    11,    12,     0,
    21492134       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2150        0,   724,   724,   356,     0,     0,     0,   636,     0,     0,
    2151        0,     0,     0,   354,   354,     0,   354,   354,     0,     0,
    2152        0,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2153        0,     0,    78,     0,     0,     0,    75,     0,   356,     0,
    2154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2155        0,     0,     0,   364,     0,     0,   283,   284,     0,   285,
    2156        0,     0,     0,     0,     0,     0,   738,     0,     0,     0,
    2157        0,   354,   354,     0,    78,     0,     0,   356,    80,     0,
    2158        0,     0,     0,    80,     0,   286,     0,     0,     0,     0,
    2159        0,   649,     0,   140,   141,   288,     0,     0,   289,   650,
    2160      291,   292,    41,    42,     0,   293,   294,     0,     0,  1301,
    2161        0,     0,     0,   295,   356,     0,     0,     0,     0,     0,
    2162        0,     0,     0,     0,     0,     0,   260,     0,   296,     0,
    2163      651,    66,   652,   381,     0,     0,   354,    45,    46,   298,
    2164      299,   300,   301,     0,     0,   724,     0,   738,    87,     0,
    2165        0,   118,     0,    87,     0,     0,   356,     0,     0,     0,
    2166        0,     0,     0,     0,     0,     0,   356,     0,   356,     0,
    2167        0,     0,     0,   224,     0,     0,   356,   724,   225,   223,
    2168      356,     0,     0,     0,     0,   724,   724,   724,     0,     0,
    2169        0,     0,     0,     0,     0,     0,   351,   351,     0,     0,
    2170        0,    75,     0,     0,     0,     0,     0,     0,     0,     0,
    2171     1204,     0,     0,     0,     0,   354,     0,   354,     0,     0,
    2172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2173        0,     0,     0,   724,     0,     0,     0,     0,     0,     0,
    2174        0,     0,    78,     0,   118,    80,     0,   354,   226,     0,
    2175        0,     0,     0,     0,     0,   354,   354,   354,     0,     0,
    2176      357,     0,     0,     0,     0,    80,   354,   354,     0,     0,
    2177        0,     0,     0,    80,     0,     0,     0,     0,     0,     0,
    2178       75,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2179       17,    18,    19,    20,    21,    22,    23,    24,    25,   357,
    2180        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2181       31,     0,     0,     0,     0,    87,     0,   357,     0,    80,
    2182        0,   351,     0,     0,     0,     0,   356,     0,     0,     0,
    2183      364,     0,     0,     0,     0,    87,     0,     0,    34,     0,
    2184        0,     0,     0,    87,     0,     0,     0,   118,     0,     0,
    2185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2186        0,   357,     0,     0,     0,     0,     0,     0,     0,   364,
    2187     1204,     0,     0,     0,     0,     0,     0,  1204,     0,     0,
    2188      356,   356,     0,   356,   356,     0,     0,   364,     0,    87,
    2189        0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
    2190        0,     0,     0,    78,     0,     8,     9,    10,    11,    12,
    2191       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2192       23,    24,    25,  -295,     0,   357,     0,     0,     0,     0,
    2193     1204,   364,     0,     0,    31,     0,     0,  1557,   356,   356,
    2194       75,     0,     0,     0,     0,     0,     0,    75,     0,     0,
    2195        0,     0,     0,     0,   168,     0,   173,     0,     0,   179,
    2196      180,   181,    34,   183,     0,     0,     0,     0,     0,   357,
    2197      357,   357,     0,  -295,     0,     0,     0,     0,   234,     0,
    2198        0,     0,     0,     0,     0,     0,     0,     0,   357,     0,
    2199      249,   250,     0,     0,     0,   364,     0,     0,     0,     0,
    2200       75,     0,     0,   356,     0,     0,   357,     0,     0,     0,
    2201        0,     0,     0,     0,     0,     0,     0,    80,     0,     0,
    2202        0,     0,     0,   357,     0,     0,     0,     0,     0,     0,
    2203        0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
    2204      364,   364,     0,     0,     0,     0,   224,     0,     0,     0,
    2205        0,     0,     0,     0,     0,     0,     0,     0,   364,    80,
    2206        0,     0,   357,     0,     0,     0,     0,     0,    78,     0,
    2207        0,     0,     0,     0,     0,     0,   364,     0,     0,     0,
    2208        0,     0,   356,     0,   356,     0,     0,    87,     0,     0,
     2135       0,     0,     0,    58,     0,     0,     0,   357,    76,     0,
     2136       0,     0,     0,    31,     0,     0,     0,   364,   364,   364,
     2137     349,     0,     0,     0,     0,     0,   225,     0,   516,     0,
     2138     518,   521,     0,     0,     0,  1203,   364,     0,   524,   525,
     2139       0,    34,  1556,     0,     0,     0,    37,     0,    79,   357,
     2140      40,     0,   518,   518,   364,     0,     0,    41,    42,   357,
     2141       0,   357,   356,     0,   356,    88,   226,     0,    43,   357,
     2142       0,   364,     0,   357,     0,     0,     0,   349,   349,     0,
     2143       0,     0,     0,   743,     0,     0,     0,     0,     0,     0,
     2144     518,     0,    46,    47,   356,   284,   285,    58,   286,     0,
     2145       0,     0,   356,   356,   356,     0,     0,    88,     0,     0,
     2146     364,     0,     0,   356,   356,     0,     0,     0,     0,     0,
     2147       0,     0,     0,     0,   287,     0,   518,    79,     0,     0,
     2148     648,     0,   141,   142,   289,    81,     0,   290,   649,   292,
     2149     293,    41,    42,     0,   294,   295,     0,   364,     0,     0,
     2150     356,     0,    43,     0,     0,     0,     0,     0,     0,     0,
     2151       0,     0,     0,     0,     0,   820,   821,   296,     0,   650,
     2152       0,   651,   381,     0,     0,     0,    46,    47,   298,   299,
     2153     300,   301,     0,     0,     0,     0,     0,     0,     0,   364,
     2154       0,     0,     0,     0,   854,     0,     0,   857,   858,   364,
     2155     861,   364,   863,   864,     0,     0,   227,   865,   866,   364,
    22092156       0,     0,     0,   364,     0,     0,     0,     0,     0,   357,
    22102157       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2211        0,     0,     0,     0,   356,     0,     0,     0,     0,     0,
    2212        0,     0,   356,   356,   356,     0,     0,     0,     0,    87,
    2213        0,     0,   364,   356,   356,     0,     0,     0,     0,     0,
    2214        0,   357,     0,     0,     0,     0,     0,    78,     0,     0,
    2215        0,   357,     0,   357,     0,     0,     0,     0,   225,     0,
    2216        0,   357,     0,     0,     0,   357,     0,     0,     0,   364,
    2217      356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2218        0,   476,     2,   207,     4,     5,     6,     7,     8,     9,
     2158       0,     0,     0,     0,     0,   599,     0,   607,   356,    58,
     2159      58,     0,     0,     0,     0,     0,     0,     0,   631,   632,
     2160       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2161       0,     0,    58,     0,     0,     0,     0,     0,     0,     0,
     2162       0,     0,     0,   357,   357,    88,   357,   357,     0,     0,
     2163       0,     0,    58,     0,     0,     0,     0,    79,     0,     0,
     2164       0,   941,   942,     0,    79,     0,    81,   944,     0,     0,
     2165       0,   518,   518,   518,   518,   518,   518,   518,   518,   518,
     2166     518,   518,   518,   518,   518,   518,   518,   518,   518,     0,
     2167       0,   284,   285,     0,   286,     0,     0,   349,   349,     0,
     2168       0,   357,   357,     0,     0,     0,    58,     0,     0,     0,
     2169       0,    58,     0,     0,     0,     0,     0,    79,     0,     0,
     2170     287,     0,     0,     0,     0,     0,   288,     0,     0,   364,
     2171     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2172     294,   295,     0,     0,     0,    58,     0,     0,    43,     0,
     2173       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2174       0,     0,     0,   296,     0,   380,   357,     0,   381,     0,
     2175       0,     0,    46,    47,   298,   299,   300,   301,     0,     0,
     2176       0,     0,     0,   364,   364,     0,   364,   364,     0,     0,
     2177       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2178       0,     0,     0,     0,     0,     0,    88,     0,     0,   226,
     2179       0,     0,   518,     0,     0,     0,     0,     0,     0,     0,
     2180       0,     0,   349,     0,     0,     0,     0,     0,     0,     0,
     2181       0,    81,     0,     0,   518,     0,     0,     0,     0,     0,
     2182       0,   364,   364,     0,     0,   357,     0,   357,    58,     0,
     2183       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2184      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2185    -295,    58,    26,    27,    28,     0,     0,   357,    58,     0,
     2186       0,    31,     0,     0,     0,   357,   357,   357,     0,     0,
     2187       0,     0,     0,   518,     0,     0,   357,   357,     0,     0,
     2188       0,     0,     0,     0,     0,     0,   364,     0,     0,    34,
     2189      81,     0,     0,     0,     0,     0,    38,    39,     0,     0,
     2190    -295,     0,     0,   284,   285,   518,   286,     0,     0,     0,
     2191       0,    58,     0,   357,     0,     0,    43,     0,     0,     0,
     2192       0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
     2193       0,   642,   287,   339,     0,     0,     0,     0,   288,     0,
     2194      46,    47,   289,     0,     0,   290,   291,   292,   293,    41,
     2195      42,    88,   294,   295,     0,     0,     0,     0,     0,     0,
     2196      43,     0,     0,     0,   950,   364,   951,   364,     0,     0,
     2197       0,     0,     0,   954,   955,   296,     0,   380,   960,     0,
     2198       0,     0,     0,   811,    46,    47,   298,   299,   300,   301,
     2199     965,     0,     0,     0,     0,   969,     0,   364,     0,   284,
     2200     285,   357,   286,     0,     0,   364,   364,   364,     0,     0,
     2201       0,     0,     0,     0,     0,     0,   364,   364,     0,     0,
     2202       0,   998,     0,     0,     0,     0,     0,     0,   287,     0,
     2203      88,  1233,     0,     0,   288,     0,     0,     0,   289,     0,
     2204       0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
     2205      81,     0,     0,   364,     0,     0,    43,    81,     0,     0,
     2206       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2207     518,   296,     0,   380,     0,     0,     0,     0,   780,   167,
     2208      46,    47,   298,   299,   300,   301,     0,     0,     0,     0,
     2209       0,     0,     0,     0,     0,     0,   220,     0,     0,     0,
     2210       0,   518,     0,     0,     0,     0,     0,     0,     0,     0,
     2211      81,     0,     0,     0,   518,     0,     0,   284,   285,     0,
     2212     286,     0,  1044,  1045,  1046,  1047,     0,  1049,     0,     0,
     2213       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2214       0,   364,     0,  1093,   167,     0,   287,     0,   274,     0,
     2215       0,     0,   288,     0,  1321,   518,   289,  1099,     0,   290,
     2216     291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
     2217       0,   213,     0,     0,    43,     0,     0,   167,     0,     0,
     2218       0,   233,     0,   237,     0,   239,     0,   370,     0,   515,
     2219      88,   376,   248,     0,     0,     0,  1115,    88,    46,    47,
     2220     298,   299,   300,   301,     0,     0,     0,     0,     0,     0,
     2221       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2222       0,     0,     0,   213,     0,   237,   239,   248,   518,     0,
     2223       0,     0,     0,     0,     0,     0,  1143,     0,     0,     0,
     2224     167,     0,     0,  1151,     0,     0,     0,     0,  1155,     0,
     2225      88,     0,   220,  1159,     0,  1160,     0,     0,     0,  1162,
     2226       0,  1163,  1164,     0,     0,  1167,   213,     0,     0,     0,
     2227     167,   463,     0,     0,  1179,     0,     0,     0,     0,     0,
     2228       0,     0,     0,     0,     0,     0,   518,   518,     0,     0,
     2229       0,     0,  1194,  1195,     0,   376,     0,     0,     0,     0,
     2230       0,     0,   167,     0,     0,     0,     0,     0,     0,     0,
     2231       0,     0,     0,     0,     0,     0,     0,     0,     0,  1225,
     2232       0,     0,  1227,     0,     0,   463,     0,   213,     0,   237,
     2233     239,   248,     0,     0,     0,     0,     0,   167,   128,   128,
     2234     128,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2235      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2236    -295,  1243,    26,    27,    28,   213,     0,  1247,  1248,     0,
     2237     213,    31,     0,     0,     0,   605,     0,     0,     0,  1259,
     2238     629,     0,     0,     0,  1263,   506,     0,  1267,     0,  1268,
     2239       0,     0,  1270,     0,     0,     0,     0,     0,     0,    34,
     2240       0,     0,     0,     0,    37,  1278,   337,   338,    40,     0,
     2241    -295,     0,   128,     0,   128,    41,    42,     0,  1285,     0,
     2242    1287,  1288,  1289,  1290,     0,     0,    43,     0,     0,     0,
     2243       0,     0,     0,   213,     0,     0,  1297,     0,  1298,   277,
     2244       0,   642,   174,   339,     0,     0,     0,     0,     0,     0,
     2245      46,    47,     0,     0,     0,   213,   167,   167,     0,     0,
     2246     237,   239,     0,   370,     0,     0,     0,     0,   248,     0,
     2247       0,  1326,  1327,     0,     0,     0,     0,     0,     0,     0,
     2248       0,     0,     0,     0,   463,     0,     0,   463,     0,     0,
     2249       0,     0,     0,     0,     0,   128,     0,   518,     0,     0,
     2250       0,     0,     0,   128,     0,   128,   128,     0,     0,     0,
     2251     128,   213,   128,   128,   518,     0,     0,     0,     0,     0,
     2252     740,     0,     0,  1362,  1363,     0,     0,     0,     0,   213,
     2253       0,     0,   167,  1373,   213,     0,   213,     0,     0,     0,
     2254       0,     0,     0,     0,   463,     0,   463,     0,     0,   463,
     2255       0,   167,   463,   213,     0,     0,   213,   213,     0,     0,
     2256       0,     0,     0,   370,     0,     0,     0,     0,     0,     0,
     2257       0,     0,   213,  1033,     0,     0,     8,     9,    10,    11,
     2258      12,     0,   128,     0,     0,  1406,   213,   518,   518,     0,
     2259       0,     0,     0,   213,     0,     0,     0,  1410,     0,  1411,
     2260    1412,  1413,     0,   284,   285,    31,   286,     0,     0,     0,
     2261       0,  1417,     0,     0,     0,   167,   158,     0,     0,     0,
     2262    1428,     0,     0,     0,     0,     0,     0,   370,     0,     0,
     2263       0,   835,   287,    34,     0,     0,  1441,     0,   288,     0,
     2264       0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
     2265      42,     0,   294,   295,     0,     0,     0,   605,     0,     0,
     2266      43,     0,   605,     0,   253,     0,     0,     0,     0,     0,
     2267       0,   370,   370,   370,   258,   296,     0,   380,     0,     0,
     2268       0,     0,     0,     0,   345,    47,   298,   299,   300,   301,
     2269     370,     0,  1490,  1491,     0,     0,     0,     0,     0,     0,
     2270       0,     0,     0,     0,     0,  1496,   213,     0,     0,     0,
     2271       0,     0,  1496,   284,   285,     0,   286,     0,     0,     0,
     2272       0,     0,     0,     0,     0,   740,     0,     0,     0,     0,
     2273     158,     0,     0,     0,   213,     0,     0,     0,     0,   213,
     2274       0,     0,   287,     0,   387,  1530,   463,     0,   288,  1536,
     2275       0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
     2276      42,     0,   294,   295,   370,     0,   959,   419,     0,     0,
     2277      43,     0,     0,     0,     0,     0,     0,     0,  1558,     0,
     2278    1559,   434,     0,     0,     0,   296,     0,   380,     0,     0,
     2279     439,     0,     0,     0,    46,    47,   298,   299,   300,   301,
     2280     447,   740,     0,     0,     0,     0,     0,     0,  1574,  1575,
     2281       0,     0,     0,     0,     0,     0,  1578,  1579,     0,     0,
     2282       0,     0,     0,     0,     0,   473,     0,   213,     0,     0,
     2283     483,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2284       0,   213,     0,   491,     0,     0,     0,     0,     0,   501,
     2285       0,   505,     0,     0,     0,   370,     0,     0,     0,   629,
     2286       0,   506,     0,   370,     0,     0,     0,     0,   534,     0,
     2287       0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
     2288      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2289      22,    23,    24,    25,   128,   128,    26,    27,    28,     0,
     2290       0,     0,     0,     0,     0,    31,   455,     0,     0,     0,
     2291     593,     0,     0,     0,     0,   598,     0,     0,     0,     0,
     2292       0,     0,   213,   128,     0,     0,   128,   128,     0,   128,
     2293       0,   128,   128,    34,   213,     0,   128,   128,     0,     0,
     2294      38,    39,     0,     0,   643,     0,     0,     0,   644,   645,
     2295       0,   647,     0,   213,     0,   463,     0,     0,   659,   660,
     2296      43,   661,   662,     0,   663,     0,   664,     0,     0,     0,
     2297       0,     0,     0,     0,   463,     0,     0,   456,     0,     0,
     2298       0,   710,     0,   593,    46,    47,     0,     0,     0,     0,
     2299       0,   679,     0,     0,     0,     0,     0,   167,     0,     0,
     2300       0,     0,     0,  1177,     0,     0,     8,     9,    10,    11,
     2301      12,     0,     0,   370,     0,   128,   690,     0,     0,     0,
     2302     128,   128,     0,     0,     0,     0,   128,   696,     0,     0,
     2303       0,     0,     0,   284,   285,    31,   286,     0,     0,     0,
     2304     213,     0,     0,     0,     0,     0,     0,     0,     0,   605,
     2305     732,     0,     0,     0,     0,     0,   735,     0,     0,     0,
     2306       0,   473,   287,    34,     0,     0,   213,     0,   288,     0,
     2307     370,   370,   289,     0,     0,   290,   291,   292,   293,    41,
     2308      42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
     2309      43,     0,     0,     0,   213,     0,     0,   772,     0,     0,
     2310       0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
     2311       0,   787,     0,     0,  1178,    47,   298,   299,   300,   301,
     2312       0,     0,     0,     0,     0,     0,     0,   213,     0,     0,
     2313     463,     0,     0,     0,     0,     0,     0,     0,   213,     0,
     2314       0,     0,     0,     0,     0,     0,     0,     0,     0,   814,
     2315       0,     0,   284,   285,     0,   286,     0,     0,   824,   342,
     2316     365,     0,     0,     0,     0,   826,     0,     0,     0,     0,
     2317       0,   834,     0,     0,     0,     0,     0,     0,     0,     0,
     2318     848,   287,     0,     0,     0,     0,     0,   288,     0,     0,
     2319     740,   289,     0,   415,   290,   291,   292,   293,    41,    42,
     2320     415,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2321       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2322     213,   888,     0,     0,   296,     0,   380,     0,     0,   991,
     2323       0,     0,   220,    46,    47,   298,   299,   300,   301,     0,
     2324       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2325       0,     0,     0,     0,     0,     0,     0,   834,     0,     0,
     2326       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2327       0,   740,   415,     0,     0,     1,     2,   208,     4,     5,
     2328       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2329      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2330    -295,     0,    26,    27,    28,    29,     0,   213,    30,     0,
     2331       0,    31,   253,     0,     0,     0,     0,     0,     0,     0,
     2332     370,   370,   966,   967,     0,     0,   415,     0,     0,   220,
     2333       0,     0,     0,     0,   415,   589,   984,   415,   592,    34,
     2334       0,    35,     0,    36,     0,     0,    38,    39,   365,     0,
     2335    -295,     0,   621,   999,     0,  1000,     0,     0,     0,  1004,
     2336       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2337       0,   639,     0,     0,   342,     0,     0,     0,     0,     0,
     2338       0,     0,     0,    45,     0,     0,     0,     0,     0,     0,
     2339      46,    47,     0,     0,     0,     0,     0,     0,     0,     0,
     2340       0,   415,     0,     0,   213,   415,     0,     0,     0,     0,
     2341     128,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2342       0,     0,     0,     0,  1038,     0,     0,     0,     0,     0,
     2343       0,  1039,     0,     0,     0,     0,   365,     0,     0,     0,
     2344       0,     0,     0,     0,  1041,   370,  1042,     0,     0,     0,
     2345       0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
     2346    1054,     0,     0,     0,     0,     0,     0,  1058,     0,     0,
     2347       0,     0,     0,     0,     0,     0,   322,     0,     0,  1096,
     2348       0,     0,  1097,     0,     0,     0,   347,     0,     0,     0,
     2349     415,     0,     0,   365,     0,     0,     0,     0,   383,   383,
     2350     598,     0,     0,   463,     0,   463,     0,     0,     8,     9,
    22192351      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2220       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2221       28,   364,     0,     0,     0,     0,     0,    31,     0,     0,
    2222        0,   364,     0,   364,     0,     0,     0,    80,   226,     0,
    2223        0,   364,     0,     0,     0,   364,     0,     0,     0,     0,
    2224        0,     0,     0,     0,     0,    34,   600,    35,   608,    36,
    2225        0,     0,    38,    39,     0,     0,     0,     0,   356,   632,
    2226      633,     0,     0,     0,     0,     0,     0,     0,     2,   207,
     2352      20,    21,    22,    23,    24,    25,  -295,     0,    26,    27,
     2353      28,     0,   415,   128,     0,   342,   365,    31,     0,     0,
     2354     463,     0,   463,     0,     0,     0,     8,     9,    10,    11,
     2355      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2356      22,    23,    24,    25,  -295,    34,     0,     0,     0,   322,
     2357     167,     0,    38,    39,     0,    31,  -295,     0,     0,     0,
     2358     415,   415,     0,     0,     0,     0,     0,     0,     0,  1161,
     2359       0,     0,    43,   487,     0,     0,     0,     0,     0,   828,
     2360     365,     0,     0,    34,     0,     0,     0,     0,     0,   339,
     2361     621,     0,   621,   621,  -295,     0,    46,    47,     0,   621,
     2362       0,     0,     0,     0,     0,     0,     0,     0,     0,   867,
     2363     365,     0,     0,     0,     0,   365,     0,     0,     0,     0,
     2364       0,     0,     0,     0,   365,   365,   365,   534,     0,     0,
     2365       0,     0,     0,  1226,     0,     0,     0,     0,     0,     0,
     2366     213,     0,     0,   365,     0,     0,     0,     0,   415,   910,
     2367       0,     0,   415,   913,     0,     0,     0,     0,     0,   915,
     2368       0,     0,     0,  1240,     0,     0,     0,     0,  1242,     0,
     2369       0,     0,     0,     0,     0,     0,  1246,   342,   365,   415,
     2370       0,   415,     0,     0,     0,   415,     0,     0,     0,   383,
     2371       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2372       0,     0,     0,     0,     0,     0,     0,  1272,     0,     0,
     2373       0,     0,     0,     0,     0,     0,     0,   365,   621,  1280,
     2374       0,     0,  1281,     0,  1282,     0,     0,     0,     0,     0,
     2375       0,     0,     0,     0,     0,     0,     0,     0,  1291,  1292,
     2376       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2377       0,     0,     0,   342,   365,     0,     0,     0,   415,   415,
     2378    1305,   207,     2,   208,     4,     5,     6,     7,     8,     9,
     2379      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2380      20,    21,    22,    23,    24,    25,     0,  1328,    26,    27,
     2381      28,   734,     0,     0,     0,     0,     0,    31,     0,     0,
     2382     415,     0,     0,     0,     0,     0,     0,     0,   365,     0,
     2383       0,     0,     0,     0,     0,   828,   365,     0,     0,   621,
     2384       0,   621,     0,     0,     0,    34,     0,    35,     0,    36,
     2385     768,   621,   209,    39,     0,     0,     0,     0,     0,     0,
     2386       0,     0,   781,     0,     0,     0,     0,   768,     0,     0,
     2387     768,     0,    43,     0,     0,     0,     0,     0,     0,     0,
     2388       0,   791,   792,     0,     0,     0,     0,     0,     0,   210,
     2389       0,     0,     0,     0,     0,     0,    46,    47,     0,     0,
     2390       0,     0,     0,     0,   813,  1398,     0,  1399,     0,     0,
     2391       0,     0,     0,     0,   822,     0,     0,     0,     0,     0,
     2392    1408,   347,  1409,     0,   828,     0,   781,     0,     0,     0,
     2393       0,     0,   415,     0,     0,     0,     0,     0,   415,     0,
     2394    1416,     0,     0,     0,     0,     0,   415,     0,     0,     0,
     2395       0,     0,     0,     0,     0,     0,  1434,  1436,     0,   621,
     2396     621,     0,     0,     0,     0,     0,     0,     0,  1442,     0,
     2397       0,  1246,     0,     0,     0,   887,     0,     0,     0,     0,
     2398       0,     0,     0,     0,   383,     0,   365,     0,     0,     0,
     2399       0,     0,   415,  1465,     0,     0,     0,     0,     0,     0,
     2400       0,     0,  1472,     0,     0,  1474,     0,  1476,  1478,  1480,
     2401       0,   415,  1158,   284,   285,     0,   286,     0,     0,     0,
     2402       0,     0,   365,     0,   347,     0,     0,     0,   415,  1170,
     2403       0,   621,   621,  1175,     0,     0,     0,     0,     0,     0,
     2404       0,     0,   287,   365,   365,     0,     0,     0,   288,  1511,
     2405       0,  1513,   289,     0,  1246,   290,   291,   292,   293,    41,
     2406      42,     0,   294,   295,     0,     0,     0,     0,     0,  1525,
     2407      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2408       0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
     2409       0,     0,     0,     0,   733,    47,   298,   299,   300,   301,
     2410     781,     0,   989,     0,   828,   415,  1238,     0,   994,     0,
     2411       0,     0,     0,     0,     0,  1003,     0,     0,   621,     1,
     2412       2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
     2413      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2414      22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
     2415       0,     0,    30,   284,   285,    31,   286,     0,  1021,  1022,
     2416       0,     0,   347,   365,     0,     0,     0,     0,     0,     0,
     2417       0,     0,     0,     0,     0,     0,   347,     0,     0,     0,
     2418       0,     0,   287,    34,     0,    35,     0,    36,   288,     0,
     2419      38,    39,   289,     0,     0,   290,   291,   292,   293,    41,
     2420      42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
     2421      43,     0,     0,     0,     0,     0,  1052,     0,     0,     0,
     2422     383,     0,     0,     0,   342,   296,     0,  1076,     0,     0,
     2423       0,     0,     0,     0,    46,    47,   298,   299,   300,   301,
     2424       0,     0,     0,     0,   365,     0,     0,     0,  -130,     0,
     2425       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2426       0,     0,     0,     0,     2,   208,     4,     5,     6,     7,
     2427       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2428      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2429      26,    27,    28,   365,   365,     0,   322,   284,   285,    31,
     2430     286,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2431       0,     0,  1139,  1140,     0,     0,     0,     0,     0,   383,
     2432       0,     0,     0,     0,     0,   994,   287,    34,  1149,    35,
     2433     768,    36,   288,     0,    38,    39,   289,     0,     0,   290,
     2434     291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
     2435       0,  1165,     0,     0,    43,     0,     0,     0,     0,     0,
     2436       0,     0,  1180,     0,     0,     0,     0,     0,     0,   296,
     2437       0,   344,     0,     0,     0,     0,   780,     0,   345,    47,
     2438     298,   299,   300,   301,   383,     0,  1198,     0,     0,     0,
     2439       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2440       0,   994,   994,     0,     0,     0,     0,     0,     0,     0,
     2441       0,     0,     0,     0,     0,     0,     0,     0,   365,     0,
     2442       0,     0,  1230,     0,     0,     0,  -520,     0,     0,     1,
     2443       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2444      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2445      22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
     2446       0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
     2447     994,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2448       0,     0,     0,     0,     0,     0,     0,     0,     0,   887,
     2449      33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2450      38,    39,    40,     0,  1283,  1284,     0,     0,   415,    41,
     2451      42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2452      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2453       0,     0,     0,   415,   415,    44,     0,    45,     0,     0,
     2454       0,     0,     0,     0,    46,    47,     0,     0,     0,     0,
     2455       0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
     2456       1,     2,   208,     4,     5,     6,     7,     8,     9,    10,
     2457      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2458      21,    22,    23,    24,    25,     0,   994,    26,    27,    28,
     2459      29,     0,     0,    30,   284,   285,    31,  1061,  1062,     0,
     2460    1063,     0,     0,  1064,  1065,  1066,  1067,  1068,  1069,  1070,
     2461    1071,     0,     0,     0,  1072,     0,     0,     0,  1073,  1074,
     2462       0,    33,     0,   287,    34,     0,    35,     0,    36,  1075,
     2463       0,    38,    39,   289,     0,     0,   290,   291,   292,   293,
     2464      41,    42,     0,   294,   295,     0,     0,  1391,     0,     0,
     2465     768,    43,     0,     0,     0,     0,     0,     0,     0,     0,
     2466       0,     0,     0,     0,     0,     0,   296,     0,  1076,     0,
     2467       0,   173,     0,     0,     0,    46,    47,   298,   299,   300,
     2468     301,     0,     0,     0,     0,  1077,     0,     0,     0,  -130,
     2469       1,     2,   208,     4,     5,     6,     7,     8,     9,    10,
     2470      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2471      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2472      29,     0,     0,    30,   284,   285,    31,   286,     0,     0,
     2473       0,     0,     0,     0,     0,  1451,     0,     0,     0,     0,
     2474       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2475       0,     0,     0,   287,    34,     0,    35,     0,    36,   288,
     2476       0,    38,    39,   289,     0,     0,   290,   291,   292,   293,
     2477      41,    42,     0,   294,   295,     0,     0,     0,     0,     0,
     2478       0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
     2479       0,     0,     0,     0,     0,     0,   296,     0,    45,     0,
     2480       0,     0,     0,     0,     0,    46,    47,   298,   299,   300,
     2481     301,     0,     0,     0,     0,     0,     0,  1517,     2,   208,
    22272482       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    22282483      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2229       24,    25,    -3,     0,    26,    27,    28,    87,     0,     0,
    2230        0,   283,   284,    31,   285,     0,     0,    78,     0,     0,
    2231        0,   357,     0,     0,    78,     0,     0,     0,     0,     0,
     2484      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2485       0,   284,   285,    31,   286,     0,     0,     0,     0,     0,
     2486       0,     0,     0,     0,     0,     0,     0,     0,     0,   322,
    22322487       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2233      286,    34,     0,    35,     0,    36,   287,     0,    38,    39,
    2234      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2235      293,   294,     0,     0,     0,     0,     0,     0,   295,     0,
    2236        0,     0,     0,     0,     0,   357,   357,    78,   357,   357,
    2237        0,     0,     0,   296,     0,   344,     0,     0,     0,     0,
    2238      781,   364,   345,    46,   298,   299,   300,   301,    80,     0,
    2239        0,     0,     2,   207,     4,     5,     6,     7,     8,     9,
     2488     287,    34,     0,    35,     0,    36,   288,     0,    38,    39,
     2489     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2490     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2491       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2492       0,     0,     0,   296,     0,   929,     0,     0,     0,     0,
     2493     780,     0,   345,    47,   298,   299,   300,   301,     2,   208,
     2494       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2495      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2496      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2497       0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
     2498      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2499      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2500     287,    34,     0,    35,    31,    36,   288,     0,    38,    39,
     2501     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2502     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2503       0,     0,    34,     0,     0,     0,     0,   112,     0,    38,
     2504      39,     0,     0,   296,     0,   929,     0,     0,    41,    42,
     2505     780,     0,    46,    47,   298,   299,   300,   301,     2,   208,
     2506       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2507      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2508      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2509       0,   284,   285,    31,   286,     0,     0,     0,     8,     9,
    22402510      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2241       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2242       28,     0,     0,   357,   357,   283,   284,    31,   285,     0,
    2243        0,   212,     0,     0,     0,   364,   364,     0,   364,   364,
    2244        0,   232,     0,   236,     0,   238,     0,     0,     0,     0,
    2245        0,     0,   247,     0,   286,    34,     0,    35,    87,    36,
    2246      287,     0,    38,    39,   288,     0,     0,   289,   290,   291,
    2247      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2248        0,     0,   295,   212,     0,   236,   238,   247,   357,     0,
    2249        0,     0,     0,   364,   364,     0,     0,   296,     0,   930,
    2250      283,   284,     0,   285,   781,     0,   345,    46,   298,   299,
    2251      300,   301,     0,     0,     0,     0,     0,     0,     0,     0,
    2252        0,     0,     0,     0,     0,     0,   212,     0,     0,   286,
    2253        0,   225,     0,     0,     0,   287,     0,     0,     0,   288,
    2254        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2255      294,     0,     0,    80,     0,     0,     0,   295,   364,     0,
    2256        0,     0,     0,     0,     0,     0,     0,   357,     0,   357,
    2257        0,     0,   296,     0,   380,     0,     0,     0,     0,     0,
    2258      812,    45,    46,   298,   299,   300,   301,   212,     0,   236,
    2259      238,   247,     0,     0,     0,     0,     0,     0,     0,   357,
    2260        0,   226,     0,     0,     0,     0,     0,   357,   357,   357,
    2261        0,     0,     0,     0,     0,     0,     0,     0,   357,   357,
    2262        0,     0,     0,    87,     0,   212,   951,     0,   952,     0,
    2263      212,     0,    80,     0,     0,   955,   956,   364,     0,   364,
    2264      961,     0,     0,     0,     0,   506,     0,     0,     0,     0,
    2265        0,     0,   966,     0,     0,   357,     0,   970,     0,     0,
    2266        0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
    2267        0,     0,     0,     0,     0,     0,     0,   364,   364,   364,
    2268        0,     0,     0,   999,     0,     0,     0,     0,   364,   364,
    2269      166,     0,     0,     0,   212,   283,   284,     0,   285,     0,
    2270        0,     0,    87,     0,     0,     0,     0,   219,     0,     0,
    2271        0,     0,     0,     0,     0,     0,   212,     0,     0,     0,
    2272        0,   236,   238,     0,   286,   364,     0,     0,     0,   247,
    2273      287,     0,     0,     0,   288,     0,     0,   289,   290,   291,
    2274      292,    41,    42,   357,   293,   294,     0,     0,     0,     0,
    2275        0,     0,   295,     0,     0,   166,     0,     0,     0,   273,
    2276        0,     0,     0,     0,     0,     0,     0,   296,     0,   380,
    2277        0,     0,   212,     0,   781,     0,    45,    46,   298,   299,
    2278      300,   301,     0,     0,  1045,  1046,  1047,  1048,   166,  1050,
    2279      212,     0,    80,   283,   284,   212,   285,   212,   370,    80,
    2280        0,     0,   376,     0,     0,  1094,     0,     0,     0,     0,
    2281        0,     0,     0,   364,   212,     0,     0,   212,   212,  1100,
    2282        0,     0,   286,     0,     0,     0,     0,     0,   287,     0,
    2283        0,     0,   288,   212,     0,   289,   290,   291,   292,    41,
    2284       42,     0,   293,   294,     0,     0,     0,   212,     0,     0,
    2285      295,   166,    80,     0,   212,     0,     0,     0,  1116,     0,
    2286        0,     0,    87,   219,     0,   296,     0,   380,     0,    87,
    2287      992,     0,     0,     0,    45,    46,   298,   299,   300,   301,
    2288        0,   166,   463,     0,     0,     0,     0,     0,     0,     0,
    2289        0,     0,     0,     0,     0,     0,     0,     0,  1144,     0,
    2290        0,     0,     0,     0,     0,  1152,   376,     0,     0,     0,
    2291     1156,     0,     0,   166,     0,  1160,     0,  1161,     0,     0,
    2292        0,  1163,    87,  1164,  1165,     0,     0,  1168,   283,   284,
    2293        0,   285,     0,     0,     0,     0,  1180,   463,     0,     0,
    2294        0,     0,     0,     0,     0,     0,     0,     0,     0,   166,
    2295        0,     0,     0,     0,  1195,  1196,     0,   286,     0,     0,
    2296        0,     0,     0,   287,     0,     0,     0,   288,   212,     0,
    2297      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2298        0,  1226,     0,     0,  1228,   295,     0,   606,     0,     0,
    2299        0,     0,   630,     0,     0,     0,   212,   157,     0,     0,
    2300      296,   212,   380,     0,     0,     0,     0,     0,     0,    45,
    2301       46,   298,   299,   300,   301,     0,     0,     0,     0,     0,
    2302        0,     0,     0,  1244,     0,     0,     0,     0,     0,  1248,
    2303     1249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2304        0,  1260,     0,     0,     0,   252,  1264,     0,     0,  1268,
    2305        0,  1269,     0,     0,  1271,   257,     0,     0,     0,     0,
    2306        0,     0,     0,     0,     0,     0,     0,  1279,   166,   166,
    2307        0,     0,     0,     0,     0,   370,     0,     0,     0,     0,
    2308     1286,     0,  1288,  1289,  1290,  1291,     0,     0,     0,   212,
    2309        0,     0,     0,     0,     0,     0,   463,     0,  1298,   463,
    2310     1299,     0,     0,   212,   173,     0,     0,     0,     0,     0,
    2311        0,   157,     0,     0,     0,     0,     0,     0,     0,     0,
    2312        0,     0,     0,   506,     0,   387,     0,     0,     0,     0,
    2313        0,     0,   741,  1327,  1328,     0,     0,     0,     0,     0,
    2314        0,     0,     0,     0,   166,     0,     0,     0,   419,     0,
    2315        0,     0,     0,     0,     0,     0,   463,     0,   463,     0,
    2316        0,   463,   434,   166,   463,     0,     0,     0,     0,     0,
    2317        0,   439,     0,     0,     0,     0,   370,     0,     0,     0,
    2318        0,   447,     0,     0,   212,  1363,  1364,     0,     0,     0,
    2319        0,     0,     0,     0,     0,  1374,   212,     0,     0,     0,
    2320        0,     0,     0,     0,     0,     0,   473,     0,     0,     0,
    2321        0,   483,     0,     0,     0,   212,     0,     0,     0,     0,
    2322        0,     0,     0,     0,   491,     0,     0,     0,   166,     0,
    2323      501,     0,   505,     0,     0,     0,     0,     0,     0,     0,
    2324      370,     0,     0,     0,   836,     0,     0,  1407,     0,     0,
    2325      535,     0,     0,     0,     0,     0,     0,     0,     0,  1411,
    2326        0,  1412,  1413,  1414,     0,     0,     0,     0,     0,     0,
    2327      606,     0,     0,  1418,     0,   606,     0,     0,     0,     0,
    2328        0,     0,  1429,     0,   370,   370,   370,     0,     0,     0,
    2329        0,     0,   594,     0,     0,     0,     0,   599,  1442,     0,
    2330        0,     0,   212,   370,     0,     0,     0,     8,     9,    10,
    2331       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2332       21,    22,    23,    24,    25,  -296,   644,     0,   212,     0,
    2333      645,   646,     0,   648,     0,     0,    31,     0,   741,     0,
    2334      660,   661,     0,   662,   663,     0,   664,     0,   665,     0,
    2335        0,     0,     0,     0,  1491,  1492,   212,     0,     0,   463,
    2336        0,     0,     0,     0,    34,   594,     0,  1497,     0,     0,
    2337        0,     0,     0,   680,  1497,  -296,     0,   370,     0,   960,
    2338        0,     0,     0,     0,     0,     0,     0,  1178,     0,   212,
    2339        8,     9,    10,    11,    12,     0,     0,     0,   691,     0,
    2340      212,     0,     0,     0,     0,     0,     0,  1531,     0,   697,
    2341        0,  1537,     0,     0,   741,     0,     0,   283,   284,    31,
    2342      285,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2343        0,     0,   733,     0,     0,     0,     0,     0,   736,     0,
    2344     1559,     0,  1560,   473,     0,     0,   286,    34,     0,     0,
    2345        0,     0,   287,     0,     0,     0,   288,     0,     0,   289,
    2346      290,   291,   292,    41,    42,     0,   293,   294,   370,     0,
    2347     1575,  1576,   630,     0,   295,     0,   370,     0,  1579,  1580,
    2348      773,     0,   212,     0,     0,     0,     0,     0,     0,   296,
    2349        0,   380,     0,     0,   788,     0,     0,     0,  1179,    46,
    2350      298,   299,   300,   301,     0,     0,     0,     8,     9,    10,
    2351       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2352       21,    22,    23,    24,    25,  -295,     0,    26,    27,    28,
    2353      322,     0,   815,     0,     0,     0,    31,     0,     0,     0,
    2354      347,   825,     0,     0,     0,     0,     0,     0,   827,     0,
    2355        0,     0,   383,   383,   835,     0,     0,     0,     0,     0,
    2356        0,     0,     0,   849,    34,     0,     0,     0,   463,   212,
    2357        0,    38,    39,     0,     0,  -295,     0,     0,     0,     0,
    2358        0,     0,     0,     0,     0,     0,     0,   463,     0,   283,
    2359      284,     0,   285,     0,     0,     0,     0,     0,     0,     0,
    2360        0,     0,     0,     0,   889,     0,   643,     0,   339,     0,
    2361      166,     0,     0,     0,     0,    45,    46,     0,   286,     0,
    2362        0,     0,     0,   322,   287,     0,   370,     0,   288,     0,
    2363        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2364      835,     0,     0,     0,     0,     0,   295,   487,     0,     0,
     2511      20,    21,    22,    23,    24,    25,  -296,     0,     0,     0,
     2512     287,    34,     0,    35,     0,    36,   288,    31,    38,    39,
     2513     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2514     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2515       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2516       0,     0,     0,   296,     0,   344,  -296,     0,     0,     0,
     2517       0,     0,   345,    47,   298,   299,   300,   301,     2,   208,
     2518       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2519      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2520      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2521       0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
     2522      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2523      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2524     287,    34,     0,    35,    31,    36,   288,     0,    38,    39,
     2525     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2526     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2527       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2528      39,     0,     0,   296,     0,   929,     0,     0,     0,     0,
     2529       0,     0,   345,    47,   298,   299,   300,   301,     2,   208,
     2530       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2531      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2532      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2533       0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
     2534      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2535      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2536     287,    34,     0,    35,    31,    36,   288,     0,   209,    39,
     2537     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2538     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2539       0,     0,    34,     0,     0,     0,     0,     0,     0,   209,
     2540      39,     0,     0,   296,     0,  1018,     0,     0,     0,     0,
     2541       0,     0,  1019,    47,   298,   299,   300,   301,     2,   208,
     2542       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2543      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2544      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2545       0,   284,   285,    31,   286,     8,     9,    10,    11,    12,
     2546      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2547      23,    24,    25,     0,     0,     0,     0,     0,     0,     0,
     2548     287,    34,     0,    35,    31,    36,   288,     0,   209,    39,
     2549     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2550     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2551       0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
     2552       0,     0,     0,   296,     0,   380,     0,     0,     0,     0,
     2553       0,     0,    46,    47,   298,   299,   300,   301,     1,     2,
     2554       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2555      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2556      23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
     2557       0,    30,     0,     0,    31,    32,     0,     0,     0,     0,
    23652558       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2366        0,   296,   606,   380,     0,     0,   212,     0,     0,     0,
    2367      734,    46,   298,   299,   300,   301,     0,     0,     0,     0,
    2368        0,     0,     0,   370,   370,     0,     0,     0,     0,     0,
    2369        0,     0,     0,     0,     0,   252,     0,     0,     0,     0,
    2370        0,     0,     0,     0,     0,   967,   968,     0,     0,     0,
    2371        0,     0,     0,     0,     0,     0,     0,     0,     0,   985,
     2559       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2560       0,     0,    34,     0,    35,     0,    36,    37,     0,    38,
     2561      39,    40,     0,     0,     0,     0,     0,     0,    41,    42,
     2562       0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
    23722563       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2373        0,     0,     0,     0,     0,     0,  1000,     0,  1001,     0,
    2374        0,     0,  1005,   463,     0,     0,     0,     0,     0,     0,
    2375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2376        0,     0,     0,     0,   383,     0,   206,     2,   207,     4,
    2377        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2378       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2379       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2380        0,     0,    31,   741,     0,     0,     0,  1039,     0,     0,
    2381        0,     0,     0,     0,  1040,     0,     0,     0,     0,     0,
    2382        0,     0,   342,   365,     0,     0,     0,  1042,     0,  1043,
    2383       34,     0,    35,     0,    36,    37,     0,   208,    39,    40,
    2384        0,     0,     0,  1055,     0,   219,    41,    42,     0,     0,
    2385     1059,     0,     0,     0,     0,     0,   415,     0,     0,     0,
    2386        0,     0,  1097,   415,     0,  1098,   735,     0,     0,     0,
    2387        0,     0,    43,     0,   209,     0,     0,     0,     0,     0,
    2388        0,    45,    46,   599,   741,     0,     8,     9,    10,    11,
    2389       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2390       22,    23,    24,    25,     0,   769,    26,    27,    28,     0,
    2391        0,     0,     0,     0,     0,    31,   455,     0,   782,     0,
    2392        0,     0,   212,   769,     0,     0,   769,     0,     0,     0,
    2393        0,     0,     0,   370,   370,   415,     0,   792,   793,     0,
    2394        0,     0,   219,    34,     0,     0,     0,     0,     0,     0,
    2395       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
    2396      814,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2397      823,     0,  1162,     0,     0,     0,     0,   347,     0,     0,
    2398        0,     0,   782,     0,     0,     0,     0,   456,     0,     0,
    2399      415,   711,     0,     0,    45,    46,     0,     0,   415,   590,
    2400        0,   415,   593,     0,   283,   284,     0,   285,     0,     0,
    2401        0,     0,   365,     0,     0,     0,   622,     0,     0,     0,
    2402        0,     0,     0,     0,     0,     0,     0,     0,     0,   535,
    2403        0,   888,     0,   286,     0,   640,  1227,     0,   342,   649,
    2404      383,     0,     0,   288,     0,     0,   289,   290,   291,   292,
    2405       41,    42,     0,   293,   294,     0,     0,     0,   370,     0,
    2406        0,   295,     0,     0,     0,   415,  1241,     0,     0,   415,
    2407        0,  1243,     0,     0,     0,     0,   296,     0,   785,  1247,
    2408      347,     0,     0,     0,     0,    45,    46,   298,   299,   300,
    2409      301,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2410      365,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2411     1273,     0,     0,     0,     0,     0,   463,     0,   463,     0,
    2412        0,     0,  1281,   415,     0,  1282,     0,  1283,     0,     0,
    2413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2414        0,  1292,  1293,     0,     0,     0,     0,     0,     0,     0,
    2415        0,     0,     0,   463,   415,   463,   782,   365,   990,     0,
    2416        0,     0,     0,  1306,   995,     0,     0,     0,     0,     0,
    2417        0,  1004,     0,     0,     0,     0,     0,   283,   284,     0,
    2418      285,     0,     0,   166,     0,     0,     0,     0,     0,     0,
    2419     1329,     0,     0,     0,     0,     0,     0,   415,     0,     0,
    2420      342,   365,     0,     0,     0,     0,   286,     0,     0,     0,
    2421        0,     0,   287,     0,  1022,  1023,   288,     0,   347,   289,
    2422      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
    2423        0,     0,   347,     0,   295,     0,     0,     0,     0,     0,
    2424        0,     0,     0,     0,     0,   415,   415,     0,     0,   296,
    2425        0,   380,     0,     0,     0,     0,     0,     0,   345,    46,
    2426      298,   299,   300,   301,   829,   365,     0,     0,     0,     0,
    2427        0,     0,  1053,     0,     0,   622,   383,   622,   622,     0,
    2428        0,     0,     0,     0,   622,     0,     0,     0,  1399,     0,
    2429     1400,     0,     0,     0,   868,   365,   516,     0,   518,   521,
    2430      365,     0,     0,  1409,     0,  1410,   524,   525,     0,   365,
    2431      365,   365,     0,     0,     0,     0,     0,     0,     0,     0,
    2432        0,   518,   518,  1417,     0,     0,     0,     0,   365,     0,
    2433        0,     0,     0,   415,   911,     0,     0,   415,   914,  1435,
    2434     1437,     0,     0,     0,   916,     0,     0,     0,     0,     0,
    2435        0,  1443,   322,     0,  1247,     0,     0,     0,     0,   518,
    2436        0,     0,   342,   365,   415,     0,   415,     0,  1140,  1141,
    2437      415,     0,     0,     0,     0,   383,  1466,     0,     0,     0,
    2438        0,   995,     0,     0,  1150,  1473,   769,     0,  1475,     0,
    2439     1477,  1479,  1481,     0,     0,   518,     0,     0,     0,     0,
    2440        0,     0,   365,   622,     0,     0,     0,  1166,     0,     0,
    2441        0,     0,     0,     0,     0,     0,     0,     0,  1181,     0,
    2442        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2443        0,     0,  1512,     0,  1514,     0,     0,  1247,   342,   365,
    2444      383,     0,  1199,   415,   415,     0,     0,     0,     0,     0,
    2445        0,     0,  1526,     0,     0,     0,     0,   995,   995,     0,
    2446        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2447       18,    19,    20,    21,    22,    23,    24,    25,  1231,     0,
    2448       26,    27,    28,     0,     0,   415,     0,     0,     0,    31,
    2449        0,     0,     0,   365,     0,     0,     0,     0,     0,     0,
    2450      829,   365,     0,     0,   622,     0,   622,     0,     0,     0,
    2451        0,     0,     0,     0,     0,     0,   622,    34,     0,     0,
    2452        0,     0,     0,     0,   208,    39,   995,     0,     0,     0,
    2453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2454        0,     0,     0,     0,     0,   888,     0,     0,     0,     0,
    2455        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2456     1284,  1285,     0,   283,   284,     0,   285,     0,    45,    46,
    2457        0,   518,   518,   518,   518,   518,   518,   518,   518,   518,
    2458      518,   518,   518,   518,   518,   518,   518,   518,   518,   829,
    2459        0,     0,   286,     0,     0,     0,     0,   415,   287,     0,
    2460        0,     0,   288,   415,     0,   289,   290,   291,   292,    41,
    2461       42,   415,   293,   294,     0,     0,     0,     0,     0,     0,
    2462      295,     0,     0,     0,   622,   622,     0,     0,     0,     0,
    2463        0,     0,     0,     0,     0,   515,     0,     0,     0,     0,
    2464        0,     0,   995,     0,    45,    46,   298,   299,   300,   301,
    2465        0,   365,     0,     0,     0,     0,     0,   415,     0,     0,
    2466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2467        0,     0,     0,     0,     0,     0,   415,  1159,     0,     0,
    2468        0,     0,     0,     0,     0,     0,     0,   365,     0,     0,
    2469        0,     0,     0,   415,  1171,     0,   622,   622,  1176,     0,
    2470        0,     0,     0,  1392,     0,   769,     0,     0,   365,   365,
    2471        0,     0,   518,     0,     0,     0,     0,     0,     0,     0,
    2472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2473        0,     0,     0,     0,   518,     0,     0,     0,     0,     2,
    2474      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2475       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2476       23,    24,    25,     0,     0,    26,    27,    28,     0,   829,
    2477      415,  1239,   283,   284,    31,   285,     0,     0,     0,     0,
    2478        0,     0,     0,   622,     0,     0,     0,     0,     0,     0,
    2479        0,  1452,     0,   518,     0,     0,     0,     0,     0,     0,
    2480        0,   286,    34,     0,    35,     0,    36,   287,     0,    38,
    2481       39,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2482        0,   293,   294,     0,     0,   518,     0,     0,   365,   295,
    2483        0,     0,   283,   284,     0,   285,     0,     0,     0,     0,
    2484        0,     0,     0,     0,   296,     0,   930,     0,     0,     0,
    2485        0,   781,     0,    45,    46,   298,   299,   300,   301,     0,
    2486        0,   286,     0,     0,     0,     0,     0,   287,     0,     0,
    2487        0,   288,     0,  1518,   289,   290,   291,   292,    41,    42,
    2488        0,   293,   294,     0,     0,     0,     0,     0,   342,   295,
    2489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2490        0,     0,     0,     0,   296,     0,     0,     0,     0,   365,
    2491        0,     0,     0,    45,    46,   298,   299,   300,   301,     0,
    2492        0,     0,     0,     0,     0,   322,     0,     0,     0,     0,
    2493        0,     0,     0,     1,     2,   207,     4,     5,     6,     7,
    2494        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2495       18,    19,    20,    21,    22,    23,    24,    25,   365,   365,
    2496       26,    27,    28,    29,     0,     0,    30,   283,   284,    31,
    2497     1062,  1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,
    2498     1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,
    2499      518,  1074,  1075,     0,    33,     0,   286,    34,     0,    35,
    2500        0,    36,   649,     0,    38,    39,   288,     0,     0,   289,
    2501      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
    2502        0,   518,     0,     0,   295,     0,     0,     0,     0,     0,
    2503        0,     0,     0,     0,   518,     0,     0,     0,     0,   296,
    2504        0,  1076,     0,     0,   172,     0,     0,     0,    45,    46,
    2505      298,   299,   300,   301,     0,     0,     0,     0,  1077,     0,
    2506        0,     0,  -130,     0,     0,     0,     0,     0,     0,     0,
    2507        0,     0,     0,     0,     0,   518,     0,     0,     0,     0,
    2508        0,     0,  -520,   365,     0,     1,     2,     3,     4,     5,
     2564       0,     0,     0,     0,    44,     0,    45,     0,     0,     0,
     2565    -524,     0,     0,    46,    47,     1,     2,     3,     4,     5,
    25092566       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    25102567      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    25112568       0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    25122569       0,    31,    32,     0,     0,     0,     0,     0,     0,     0,
    2513        0,     0,   283,   284,     0,   285,     0,     0,     0,     0,
    2514        0,     0,     0,     0,     0,     0,    33,     0,   518,    34,
     2570       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2571       0,     0,     0,     0,     0,     0,    33,     0,     0,    34,
    25152572       0,    35,     0,    36,    37,     0,    38,    39,    40,     0,
    2516        0,   286,     0,     0,     0,    41,    42,   287,     0,     0,
    2517        0,   288,     0,   415,   289,   290,   291,   292,    41,    42,
    2518        0,   293,   294,     0,     0,     0,     0,     0,     0,   295,
    2519        0,    43,     0,    44,     0,     0,     0,     0,   415,   415,
    2520       45,    46,     0,     0,   520,     0,   518,   518,     0,     0,
    2521        0,     0,     0,    45,    46,   298,   299,   300,   301,     0,
    2522        0,     0,     0,   415,     1,     2,   207,     4,     5,     6,
    2523        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2524       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2525        0,    26,    27,    28,    29,     0,     0,    30,   283,   284,
    2526       31,   285,     8,     9,    10,    11,    12,    13,    14,    15,
    2527       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2528        0,     0,    26,    27,    28,     0,     0,   286,    34,     0,
    2529       35,    31,    36,   287,     0,    38,    39,   288,     0,     0,
    2530      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2531        0,     0,     0,     0,     0,   295,     0,     0,     0,    34,
    2532        0,     0,     0,     0,   111,     0,    38,    39,     0,     0,
    2533      296,     0,  1076,     0,     0,    41,    42,     0,     0,    45,
    2534       46,   298,   299,   300,   301,     0,     0,     0,     0,     0,
    2535        0,     0,     0,  -130,     0,     0,     0,     0,     0,     1,
    2536        2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2573       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2574       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2576       0,    44,     0,    45,     0,     0,     0,     0,     0,     0,
     2577      46,    47,   207,     2,   208,     4,     5,     6,     7,     8,
     2578       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2579      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2580      27,    28,     0,     0,     0,     0,     0,     0,    31,     0,
     2581       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2582      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2583      26,    27,    28,   494,   495,   496,    34,     0,    35,    31,
     2584      36,    37,     0,   209,    39,    40,     0,     0,     0,     0,
     2585       0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
     2586       0,     0,     0,    43,     0,     0,     0,    34,     0,     0,
     2587       0,     0,     0,     0,    38,    39,     0,     0,    44,     0,
     2588     210,     0,     0,     0,     0,     0,     0,    46,    47,     1,
     2589       2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
    25372590      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    25382591      22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    2539        0,     0,    30,   283,   284,    31,   285,     0,     0,     0,
    2540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2541        0,     0,     0,     0,     0,     0,     0,   518,     0,     0,
    2542        0,     0,   286,    34,     0,    35,     0,    36,   287,     0,
    2543       38,    39,   288,     0,   518,   289,   290,   291,   292,    41,
    2544       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2545      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2546        0,     0,     0,     0,     0,   296,     0,    44,     0,     0,
    2547        0,     0,     0,     0,    45,    46,   298,   299,   300,   301,
    2548        0,     0,     0,     2,   207,     4,     5,     6,     7,     8,
    2549        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2550       19,    20,    21,    22,    23,    24,    25,   518,   518,    26,
    2551       27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
    2552        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2553       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2554       26,    27,    28,     0,     0,   286,    34,     0,    35,    31,
    2555       36,   287,     0,    38,    39,   288,     0,     0,   289,   290,
    2556      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2557        0,     0,     0,   295,     0,     0,     0,    34,     0,     0,
    2558        0,     0,     0,     0,    38,    39,     0,     0,   296,     0,
    2559      344,     0,     0,     0,     0,     0,     0,   345,    46,   298,
    2560      299,   300,   301,     2,   207,     4,     5,     6,     7,     8,
    2561        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2562       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2563       27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
    2564        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2565       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2566       26,    27,    28,     0,     0,   286,    34,     0,    35,    31,
    2567       36,   287,     0,    38,    39,   288,     0,     0,   289,   290,
    2568      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2569        0,     0,     0,   295,     0,     0,     0,    34,     0,     0,
    2570        0,     0,     0,     0,   208,    39,     0,     0,   296,     0,
    2571      930,     0,     0,     0,     0,     0,     0,   345,    46,   298,
    2572      299,   300,   301,     2,   207,     4,     5,     6,     7,     8,
    2573        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2574       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2575       27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
     2592       0,     0,    30,     0,     0,    31,     0,     0,     0,     0,
    25762593       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25772594       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2578        0,     0,     0,     0,     0,   286,    34,     0,    35,     0,
    2579       36,   287,     0,   208,    39,   288,     0,     0,   289,   290,
    2580      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2581        0,     0,     0,   295,     0,     0,     0,     0,     0,     0,
    2582        0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
    2583     1019,     0,     0,     0,     0,     0,     0,  1020,    46,   298,
    2584      299,   300,   301,     2,   207,     4,     5,     6,     7,     8,
    2585        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2586       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2587       27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
     2595       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2596      38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
     2597       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2598      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2599       0,     0,     0,     0,     0,     0,     0,    45,     0,     0,
     2600       0,     0,     0,     0,    46,    47,     2,   208,     4,     5,
     2601       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2602      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2603       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2604       0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2606       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2607       0,    35,     0,    36,    37,     0,   209,    39,    40,     0,
     2608       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2609       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2610       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2611       0,    44,     0,   210,     0,     0,     0,     0,     0,     0,
     2612      46,    47,     2,   208,     4,     5,     6,     7,     8,     9,
     2613      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2614      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2615      28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    25882616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25892617       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2590        0,     0,     0,     0,     0,   286,    34,     0,    35,     0,
    2591       36,   287,     0,   208,    39,   288,     0,     0,   289,   290,
    2592      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2593        0,     0,     0,   295,     0,     0,     0,     0,     0,     0,
    2594        0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
    2595      380,     0,     0,     0,     0,     0,     0,    45,    46,   298,
    2596      299,   300,   301,     1,     2,     3,     4,     5,     6,     7,
    2597        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2598       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2599       26,    27,    28,    29,     0,     0,    30,     0,     0,    31,
    2600       32,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2618       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2619       0,     0,    38,    39,     0,     0,     0,     0,     0,     0,
    26012620       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2602        0,     0,     0,     0,    33,     0,     0,    34,     0,    35,
    2603        0,    36,    37,     0,    38,    39,    40,     0,     0,     0,
    2604        0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
    2605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2606        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
    2607        0,    44,     0,     0,     0,  -524,     0,     0,    45,    46,
    2608        1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
    2609       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2610       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2611       29,     0,     0,    30,     0,     0,    31,    32,     0,     0,
    2612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2613        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2614        0,    33,     0,     0,    34,     0,    35,     0,    36,    37,
    2615        0,    38,    39,    40,     0,     0,     0,     0,     0,     0,
    2616       41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
    2617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2618        0,     0,     0,     0,     0,     0,    43,     0,    44,     0,
    2619        0,     0,     0,     0,     0,    45,    46,     1,     2,   207,
     2621       0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
     2622       0,     0,     0,     0,     0,     0,     0,     0,  -403,   686,
     2623       0,     0,     0,     0,     0,     0,    46,    47,     2,   208,
    26202624       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    26212625      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2622       24,    25,  -295,     0,    26,    27,    28,    29,     0,     0,
    2623       30,     0,     0,    31,     0,     0,     0,     0,     0,     0,
     2626      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2627       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    26242628       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26252629       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26262630       0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
    2627        0,     0,  -295,     1,     2,   207,     4,     5,     6,     7,
     2631       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2632       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2633    1370,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2634       0,     0,     0,     0,     0,   686,     0,     0,     0,     0,
     2635       0,     0,    46,    47,     2,   208,     4,     5,     6,     7,
    26282636       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    26292637      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2630       26,    27,    28,    29,     0,    44,    30,     0,     0,    31,
    2631        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
     2638      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26322640       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26332641       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2634        0,    36,     0,     0,    38,    39,   206,     2,   207,     4,
    2635        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2636       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2637       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2638        0,    44,    31,     0,     0,     0,     0,     0,    45,    46,
     2642       0,    36,     0,     0,    38,    39,     0,     0,     0,     0,
     2643       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2644       0,     0,     0,     0,    43,     0,  1372,     0,     0,     0,
     2645       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2646       0,   686,     0,     0,     0,     0,     0,     0,    46,    47,
     2647       2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
     2648      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2649      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2650       0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
    26392651       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26402652       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2641       34,     0,    35,     0,    36,     0,     0,   208,    39,     0,
    2642        2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    2643       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2644       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2645        0,     0,     0,     0,   209,    31,     0,     0,     0,     0,
    2646        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
     2653       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2654     209,    39,     0,     0,     0,     0,     0,     0,     0,     0,
    26472655       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2648        0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2649      208,    39,    40,     0,     0,     0,     0,     0,     0,    41,
    2650       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2652        0,     0,     0,     0,     0,    43,     0,   209,     0,     0,
    2653        0,     0,     0,     0,    45,    46,     2,   207,     4,     5,
     2656      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2657       0,     0,     0,     0,     0,     0,     0,   272,     0,     0,
     2658       0,     0,     0,     0,    46,    47,     2,   208,     4,     5,
    26542659       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    26552660      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    26562661       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2657        0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
     2662       0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
     2663       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2664       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2665       0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
     2666       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2667       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2668       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2669       0,     0,     0,   686,     0,     0,     0,     0,     0,     0,
     2670      46,    47,     2,   208,     4,     5,     6,     7,     8,     9,
     2671      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2672      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2673      28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
     2674       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2675       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2676       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2677       0,     0,    38,    39,     0,     0,     0,     0,     0,     0,
     2678       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2679       0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
     2680       0,     0,     0,     0,     0,     0,     0,     0,     0,   600,
     2681       0,     0,     0,     0,     0,     0,    46,    47,     2,   208,
     2682       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2683      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2684      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2685       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
     2686       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2687       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2688       0,    34,     0,    35,     0,    36,     0,     0,   209,    39,
     2689       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2690      18,    19,    20,    21,    22,    23,    24,    25,    43,     0,
     2691      26,    27,    28,     0,     0,     0,     0,   284,   285,    31,
     2692     286,     0,     0,     0,     0,   210,     0,     0,     0,     0,
     2693       0,     0,    46,    47,     0,     0,     0,     0,     0,     0,
     2694       0,     0,     0,     0,     0,     0,   287,    34,     0,     0,
     2695       0,     0,   288,     0,    38,    39,   289,     0,     0,   290,
     2696     291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
     2697       0,     0,     0,     0,    43,     0,     0,     0,     0,     0,
     2698       0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
     2699       0,   526,     0,     0,   173,     0,     0,     0,    46,    47,
     2700     298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
     2701      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2702      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2703       0,   284,   285,    31,   286,     0,     0,     0,     0,     0,
     2704       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2705       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2706     287,    34,     0,     0,     0,     0,   648,     0,    38,    39,
     2707     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2708     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2709       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2710       0,     0,     0,   296,   -35,   765,     0,     0,     0,     0,
     2711       0,     0,    46,    47,   298,   299,   300,   301,     8,     9,
     2712      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2713      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2714      28,     0,     0,     0,     0,   284,   285,    31,   286,     0,
     2715       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2716       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2717       0,     0,     0,     0,   287,    34,     0,     0,     0,     0,
     2718     288,     0,    38,    39,   289,     0,     0,   290,   291,   292,
     2719     293,    41,    42,     0,   294,   295,     0,     0,     0,     0,
     2720       0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
     2721       0,     0,     0,     0,     0,     0,     0,   296,     0,   297,
     2722       0,     0,     0,     0,     0,     0,    46,    47,   298,   299,
     2723     300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
     2724      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2725       0,     0,    26,    27,    28,     0,     0,     0,     0,   284,
     2726     285,    31,   286,     0,     0,     0,     0,     0,     0,     0,
     2727       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2728       0,     0,     0,     0,     0,     0,     0,     0,   287,    34,
     2729       0,     0,     0,     0,   288,     0,    38,    39,   289,     0,
     2730       0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
     2731       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2732       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2733       0,   296,     0,   159,     0,     0,     0,     0,     0,     0,
     2734      46,    47,   298,   299,   300,   301,     8,     9,    10,    11,
    26582735      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2659       22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
    2660        0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
    2661      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2662       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2663       23,    24,    25,    34,     0,    26,    27,    28,     0,     0,
    2664       38,    39,  -403,   687,    31,     0,     0,     0,     0,     0,
    2665       45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2736      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2737       0,     0,     0,   284,   285,    31,   286,     0,     0,     0,
    26662738       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2667        0,     0,    34,     0,    35,   643,    36,   339,     0,    38,
    2668       39,     0,     0,     0,    45,    46,     0,     0,     0,     0,
    26692739       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2670        0,  1371,     0,     0,     0,     0,     0,     0,     0,     0,
    2671        0,     0,     0,     0,     0,     0,   687,     0,     0,     0,
    2672        0,     0,     0,    45,    46,     2,   207,     4,     5,     6,
     2740       0,     0,   287,    34,     0,     0,     0,     0,   288,     0,
     2741      38,    39,   289,     0,     0,   290,   291,   292,   293,    41,
     2742      42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
     2743      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2744       0,     0,     0,     0,     0,   296,     0,   600,     0,     0,
     2745       0,     0,     0,     0,    46,    47,   298,   299,   300,   301,
     2746       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2747      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2748      26,    27,    28,     0,     0,     0,     0,   284,   285,    31,
     2749     286,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2750       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2751       0,     0,     0,     0,     0,     0,   287,    34,     0,     0,
     2752       0,     0,   288,     0,    38,    39,   289,     0,     0,   290,
     2753     291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
     2754       0,     0,     0,     0,    43,     0,     0,     0,     0,     0,
     2755       0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
     2756       0,   380,     0,     0,     0,     0,     0,     0,    46,    47,
     2757     298,   299,   300,   301,   476,     2,   208,     4,     5,     6,
    26732758       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    26742759      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     
    26762761      31,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    26772762      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2678       24,    25,     0,     0,    26,    27,    28,     0,    34,     0,
     2763      24,    25,  -295,     0,    26,    27,    28,     0,    34,     0,
    26792764      35,     0,    36,    31,     0,    38,    39,     0,     0,     0,
     2765       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2766      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2767       0,    34,    26,    27,    28,     0,    37,     0,   337,   338,
     2768      40,    31,  -295,     0,     0,    -3,     0,    41,    42,     0,
     2769       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2770       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2771       0,     0,     0,     0,    37,   339,    38,    39,    40,     0,
     2772       0,     0,    46,    47,     0,    41,    42,     0,     0,     0,
     2773       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    26802774       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2681        0,     0,     0,     0,     0,     0,     0,  1373,     0,     0,
    2682        0,    34,     0,     0,     0,     0,    37,     0,   337,   338,
    2683       40,     0,   687,     0,     0,     0,     0,    41,    42,    45,
    2684       46,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    2685       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2686       21,    22,    23,    24,    25,   339,     0,    26,    27,    28,
    2687        0,     0,    45,    46,     0,     0,    31,     0,     0,     0,
     2775       0,    44,     0,   159,     0,     0,     0,     0,     0,     0,
     2776      46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
     2777      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2778       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2779       0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
     2780      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2781       0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
     2782       0,    31,     0,     0,    37,     0,    38,    39,    40,     0,
     2783       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2784       0,     0,     0,     0,     0,     0,    43,     0,     0,    34,
     2785       0,     0,     0,     0,    37,     0,   209,    39,    40,     0,
     2786       0,    44,     0,    45,     0,    41,    42,     0,     0,     0,
     2787      46,    47,     0,     0,     0,     0,    43,     0,     0,     0,
     2788       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2789       0,    44,     0,   272,     0,     0,     0,     0,     0,     0,
     2790      46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
     2791      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2792       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2793       0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
     2794      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2795       0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
     2796       0,    31,     0,     0,    37,     0,   337,   338,    40,     0,
     2797       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2798       0,     0,     0,     0,     0,     0,    43,     0,     0,    34,
     2799       0,     0,     0,     0,    37,     0,   337,   338,    40,     0,
     2800       0,   642,     0,   339,     0,    41,    42,     0,     0,     0,
     2801      46,    47,     0,     0,     0,     0,    43,     0,     0,     0,
     2802       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2803       0,     0,     0,   339,     0,     0,     0,     0,     0,     0,
     2804      46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
     2805      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2806       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2807       0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
     2808      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2809       0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
     2810       0,    31,   455,     0,   112,     0,    38,    39,     0,     0,
     2811       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2812       0,     0,     0,     0,     0,     0,    43,     0,     0,    34,
     2813       0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
     2814       0,     0,     0,    45,     0,     0,     0,     0,     0,     0,
     2815      46,    47,     0,     0,     0,     0,    43,     0,     0,     0,
     2816       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2817       0,     0,     0,   456,     0,     0,     0,  1108,     0,     0,
     2818      46,    47,     8,     9,    10,    11,    12,    13,    14,    15,
     2819      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2820       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2821       0,    31,   455,     8,     9,    10,    11,    12,    13,    14,
     2822      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2823      25,     0,     0,    26,    27,    28,     0,     0,     0,    34,
     2824       0,     0,    31,   455,     0,     0,    38,    39,     0,     0,
     2825       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2826       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2827      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2828       0,     0,     0,   456,     0,     0,     0,  1235,     0,     0,
     2829      46,    47,     0,     0,     0,     0,     0,    43,     0,     0,
     2830       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2831       0,     0,     0,     0,   456,     0,     0,     0,     0,     0,
     2832       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2833      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2834      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2835       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2836      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2837      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2838      34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
     2839       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2840       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2841      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2842       0,     0,   642,     0,   339,     0,     0,     0,     0,     0,
     2843       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2844       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2845       0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
     2846       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2847      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2848      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2849       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2850      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2851      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2852      34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
     2853       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2854       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2855      34,     0,     0,     0,     0,     0,     0,   209,    39,     0,
     2856       0,     0,     0,     0,   159,     0,     0,     0,     0,     0,
     2857       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2858       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2859       0,     0,     0,     0,   272,     0,     0,     0,     0,     0,
     2860       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2861      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2862      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2863       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2864      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2865      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2866      34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
     2867       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2868       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2869      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2870       0,     0,     0,     0,   339,     0,     0,     0,     0,     0,
     2871       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2872       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2873       0,     0,     0,     0,   456,     0,     0,     0,     0,     0,
     2874       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2875      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2876      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2877       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2878      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2879      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2880      34,     0,    31,     0,     0,     0,     0,    38,    39,     0,
     2881       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2882       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2883      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2884       0,     0,     0,     0,   600,     0,     0,     0,     0,     0,
     2885       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2886       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2887       0,     0,     0,     0,    45,     0,     0,     0,     0,     0,
     2888       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2889      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2890      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2891       0,     0,    31,     0,     0,     2,   208,     4,     5,     6,
     2892       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2893      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2894      34,    26,    27,    28,     0,     0,     0,   209,    39,     0,
     2895      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2896       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2897       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2898      35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
     2899       0,    46,    47,   284,   285,     0,   286,  1062,     0,  1063,
     2900       0,     0,  1064,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
     2901       0,     0,  1550,  1072,     0,     0,     0,  1073,  1074,     0,
     2902      33,  -416,   287,     0,     0,     0,     0,     0,  1075,     0,
     2903       0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
     2904      42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
     2905      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2906       0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
     2907     173,     0,     0,     0,    46,    47,   298,   299,   300,   301,
     2908       0,     0,     0,     0,  1077,     0,   284,   285,  -130,   286,
     2909    1062,     0,  1063,     0,     0,  1064,  1065,  1066,  1067,  1068,
     2910    1069,  1070,  1071,     0,     0,     0,  1072,     0,     0,     0,
     2911    1073,  1074,     0,    33,     0,   287,     0,     0,     0,     0,
     2912       0,  1075,     0,     0,     0,   289,     0,     0,   290,   291,
     2913     292,   293,    41,    42,     0,   294,   295,     0,     0,     0,
     2914       0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
     2915       0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
     2916     380,     0,     0,   173,     0,     0,     0,    46,    47,   298,
     2917     299,   300,   301,     0,     0,     0,     0,  1077,     0,     0,
     2918       0,  -130,     2,   208,     4,     5,     6,     7,     8,     9,
     2919      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2920      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2921      28,     0,     0,     0,     0,     0,     0,    31,     0,   284,
     2922     285,     0,   286,  1062,     0,  1063,  1420,  1421,  1064,  1065,
     2923    1066,  1067,  1068,  1069,  1070,  1071,     0,     0,  1550,  1072,
     2924       0,     0,     0,  1073,  1074,    34,    33,    35,   287,    36,
     2925       0,     0,    38,    39,  1075,     0,     0,     0,   289,     0,
     2926       0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
     2927       0,     0,     0,     0,  1329,     0,    43,     0,     0,     0,
     2928       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2929       0,   296,     0,   380,     0,     0,   173,     0,     0,     0,
     2930      46,    47,   298,   299,   300,   301,     0,     0,   284,   285,
     2931    1077,   286,  1062,     0,  1063,  1420,  1421,  1064,  1065,  1066,
     2932    1067,  1068,  1069,  1070,  1071,     0,     0,     0,  1072,     0,
     2933       0,     0,  1073,  1074,     0,    33,     0,   287,     0,     0,
     2934       0,     0,     0,  1075,     0,     0,     0,   289,     0,     0,
     2935     290,   291,   292,   293,    41,    42,     0,   294,   295,     0,
     2936       0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
     2937       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2938     296,     0,   380,     0,     0,   173,     0,     0,     0,    46,
     2939      47,   298,   299,   300,   301,     0,     0,   284,   285,  1077,
     2940     286,  1062,     0,  1063,     0,     0,  1064,  1065,  1066,  1067,
     2941    1068,  1069,  1070,  1071,     0,     0,     0,  1072,     0,     0,
     2942       0,  1073,  1074,     0,    33,     0,   287,     0,     0,     0,
     2943       0,     0,  1075,     0,     0,     0,   289,     0,     0,   290,
     2944     291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
     2945       0,     0,     0,     0,    43,   284,   285,     0,   286,     0,
     2946       0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
     2947       0,   380,     0,     0,   173,     0,     0,     0,    46,    47,
     2948     298,   299,   300,   301,   287,     0,     0,     0,  1077,     0,
     2949     648,     0,     0,     0,   289,     0,     0,   290,   291,   292,
     2950     293,    41,    42,     0,   294,   295,     0,     0,     0,     0,
     2951       0,     0,    43,   284,   285,     0,   286,     0,     0,     0,
     2952       0,     0,     0,     0,     0,     0,     0,   296,     0,   784,
     2953       0,     0,   284,   285,     0,   286,    46,    47,   298,   299,
     2954     300,   301,   287,     0,     0,     0,     0,     0,   288,     0,
     2955       0,     0,   289,     0,     0,   290,   291,   292,   293,    41,
     2956      42,   287,   294,   295,     0,     0,     0,   288,     0,     0,
     2957      43,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2958       0,   294,   295,     0,     0,   296,     0,   380,     0,    43,
     2959     284,   285,     0,   286,   345,    47,   298,   299,   300,   301,
     2960       0,     0,     0,     0,   296,     0,     0,     0,     0,   284,
     2961     285,     0,   286,    46,    47,   298,   299,   300,   301,   287,
     2962       0,     0,     0,     0,     0,   288,     0,     0,     0,   289,
     2963       0,     0,   290,   291,   292,   293,    41,    42,   287,   294,
     2964     295,     0,     0,     0,   288,     0,     0,    43,   289,     0,
     2965       0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
     2966       0,     0,   520,     0,     0,     0,    43,     0,     0,     0,
     2967       0,    46,    47,   298,   299,   300,   301,     0,     0,     0,
     2968       0,   523,     0,     0,     0,     0,     0,     0,     0,     0,
     2969      46,    47,   298,   299,   300,   301,     2,   208,     4,     5,
     2970       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2971      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2972       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2973       0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
     2974       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2975       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2976       0,    35,     0,    36,    37,     0,   176,   177,    40,     0,
     2977       0,     0,     0,     0,     0,    41,    42,   207,     2,   208,
     2978       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2979      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2980      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2981       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    26882982       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26892983       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2690        0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
    2691        0,   208,    39,     0,     2,   207,     4,     5,     6,     7,
    2692        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2693       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2694       26,    27,    28,     0,     0,     0,     0,     0,   271,    31,
    2695        0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
    2696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2697        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2698        0,    36,     0,     0,    38,    39,     0,     2,   207,     4,
    2699        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2700       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2701       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2702        0,   687,    31,     0,     0,     0,     0,     0,    45,    46,
    2703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2704        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2705       34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
    2706        2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    2707       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2708       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2709        0,     0,     0,     0,   601,    31,     0,     0,     0,     0,
    2710        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
    2711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2712        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2713      208,    39,     8,     9,    10,    11,    12,    13,    14,    15,
    2714       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2715        0,     0,    26,    27,    28,     0,     0,     0,     0,   283,
    2716      284,    31,   285,     0,     0,     0,     0,   209,     0,     0,
    2717        0,     0,     0,     0,    45,    46,     0,     0,     0,     0,
    2718        0,     0,     0,     0,     0,     0,     0,     0,   286,    34,
    2719        0,     0,     0,     0,   287,     0,    38,    39,   288,     0,
    2720        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2721        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
    2722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2723        0,   296,     0,   527,     0,     0,   172,     0,     0,     0,
    2724       45,    46,   298,   299,   300,   301,     8,     9,    10,    11,
    2725       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2726       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2727        0,     0,     0,   283,   284,    31,   285,     8,     9,    10,
    2728       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2729       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2730        0,     0,   286,    34,     0,     0,    31,     0,   649,     0,
    2731       38,    39,   288,     0,     0,   289,   290,   291,   292,    41,
    2732       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2733      295,     0,     0,     0,    34,     0,     0,     0,     0,   111,
    2734        0,    38,    39,     0,     0,   296,   -35,   766,     0,     0,
    2735       41,    42,     0,     0,    45,    46,   298,   299,   300,   301,
    2736        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2737       18,    19,    20,    21,    22,    23,    24,    25,    44,     0,
    2738       26,    27,    28,     0,     0,    45,    46,   283,   284,    31,
    2739      285,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2740       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2741        0,    26,    27,    28,     0,     0,   286,    34,     0,     0,
    2742       31,   455,   287,     0,    38,    39,   288,     0,     0,   289,
    2743      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
    2744        0,     0,     0,     0,   295,     0,     0,     0,    34,     0,
    2745        0,     0,     0,     0,     0,    38,    39,     0,     0,   296,
    2746        0,   297,     0,     0,     0,     0,     0,     0,    45,    46,
    2747      298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
    2748       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2749       24,    25,   456,     0,    26,    27,    28,     0,     0,    45,
    2750       46,   283,   284,    31,   285,     8,     9,    10,    11,    12,
    2751       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2752       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2753      286,    34,     0,     0,    31,     0,   287,     0,    38,    39,
    2754      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2755      293,   294,     0,     0,     0,     0,     0,     0,   295,     0,
    2756        0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    2757       39,     0,     0,   296,     0,   158,     0,     0,     0,     0,
    2758        0,     0,    45,    46,   298,   299,   300,   301,     8,     9,
    2759       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2760       20,    21,    22,    23,    24,    25,   258,     0,    26,    27,
    2761       28,     0,     0,    45,    46,   283,   284,    31,   285,     8,
    2762        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2763       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2764       27,    28,     0,     0,   286,    34,     0,     0,    31,     0,
    2765      287,     0,    38,    39,   288,     0,     0,   289,   290,   291,
    2766      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2767        0,     0,   295,     0,     0,     0,    34,     0,     0,     0,
    2768        0,     0,     0,    38,    39,     0,     0,   296,     0,   601,
    2769        0,     0,     0,     0,     0,     0,    45,    46,   298,   299,
    2770      300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
    2771       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2772      158,     0,    26,    27,    28,     0,     0,    45,    46,   283,
    2773      284,    31,   285,     0,     8,     9,    10,    11,    12,    13,
    2774       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2775       24,    25,  -295,     0,    26,    27,    28,     0,   286,    34,
    2776        0,     0,     0,    31,   287,     0,    38,    39,   288,     0,
    2777        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2778        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
    2779        0,    34,     0,     0,     0,     0,    37,     0,   337,   338,
    2780       40,   296,  -295,   380,     0,     0,     0,    41,    42,     0,
    2781       45,    46,   298,   299,   300,   301,     8,     9,    10,    11,
    2782       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2783       22,    23,    24,    25,     0,   339,    26,    27,    28,     0,
    2784        0,     0,    45,    46,     0,    31,     8,     9,    10,    11,
    2785       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2786       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2787        0,     0,     0,    34,     0,    31,     0,     0,    37,     0,
    2788       38,    39,    40,     0,     0,     0,     0,     0,     0,    41,
    2789       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2790        0,     0,     0,    34,     0,     0,     0,     0,    37,     0,
    2791      208,    39,    40,     0,     0,    43,     0,    44,     0,    41,
    2792       42,     0,     0,     0,    45,    46,     0,     0,     0,     0,
    2793        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2794        0,     0,     0,     0,     0,    43,     0,   271,     0,     0,
    2795        0,     0,     0,     0,    45,    46,     8,     9,    10,    11,
    2796       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2797       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2798        0,     0,     0,     0,     0,    31,     8,     9,    10,    11,
    2799       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2800       22,    23,    24,    25,  -295,     0,    26,    27,    28,     0,
    2801        0,     0,     0,    34,     0,    31,     0,     0,    37,     0,
    2802      337,   338,    40,     0,     0,     0,     0,     0,     0,    41,
    2803       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2804        0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
    2805       38,    39,     0,     0,  -295,   643,     0,   339,     0,     0,
    2806        0,     0,     0,     0,    45,    46,     0,     0,     8,     9,
    2807       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2808       20,    21,    22,    23,    24,    25,     0,   339,    26,    27,
    2809       28,     0,     0,     0,    45,    46,     0,    31,   455,     8,
    2810        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2811       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2812       27,    28,     0,     0,     0,    34,     0,     0,    31,   455,
    2813        0,     0,    38,    39,     0,     0,     0,     8,     9,    10,
    2814       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2815       21,    22,    23,    24,    25,     0,    34,    26,    27,    28,
    2816        0,     0,     0,    38,    39,     0,    31,     0,     0,   456,
    2817        0,     0,     0,  1109,     0,     0,    45,    46,     0,     0,
    2818        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2819        0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
    2820      456,   208,    39,     0,  1236,     0,     0,    45,    46,     0,
    2821        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2822       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2823       26,    27,    28,     0,     0,     0,     0,     0,   271,    31,
    2824        0,     0,     0,     0,     0,    45,    46,     0,     8,     9,
    2825       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2826       20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
    2827       28,     0,     0,     0,    38,    39,     0,    31,     8,     9,
    2828       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2829       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2830       28,     0,     0,     0,     0,    34,     0,    31,     0,     0,
    2831        0,   339,    38,    39,     0,     0,     0,     0,    45,    46,
    2832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2833        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2834        0,     0,    38,    39,     0,     0,     0,     0,     0,   456,
    2835        0,     0,     0,     0,     0,     0,    45,    46,     0,     0,
    2836        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2837       18,    19,    20,    21,    22,    23,    24,    25,     0,   601,
    2838       26,    27,    28,     0,     0,     0,    45,    46,     0,    31,
    2839        0,     0,     2,   207,     4,     5,     6,     7,     8,     9,
    2840       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2841       20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
    2842       28,     0,     0,     0,    38,    39,     0,    31,     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        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2846        0,    44,    38,    39,     0,     0,     0,     0,    45,    46,
    2847      283,   284,     0,   285,  1063,     0,  1064,     0,     0,  1065,
    2848     1066,  1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1551,
    2849     1073,     0,     0,     0,  1074,  1075,     0,    33,  -416,   286,
    2850        0,     0,     0,     0,     0,   649,     0,     0,     0,   288,
    2851        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2852      294,     0,     0,     0,     0,     0,     0,   295,     0,     0,
    2853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2854        0,     0,   296,     0,   380,     0,     0,   172,     0,     0,
    2855        0,    45,    46,   298,   299,   300,   301,     0,     0,     0,
    2856        0,  1077,     0,   283,   284,  -130,   285,  1063,     0,  1064,
    2857        0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
    2858        0,     0,     0,  1073,     0,     0,     0,  1074,  1075,     0,
    2859       33,     0,   286,     0,     0,     0,     0,     0,   649,     0,
    2860        0,     0,   288,     0,     0,   289,   290,   291,   292,    41,
    2861       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2862      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2863        0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
    2864      172,     0,     0,     0,    45,    46,   298,   299,   300,   301,
    2865        0,     0,     0,     0,  1077,     0,     0,     0,  -130,     2,
    2866      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2867       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2868       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2869        0,     0,     0,     0,    31,     0,   283,   284,     0,   285,
    2870     1063,     0,  1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,
    2871     1070,  1071,  1072,     0,     0,  1551,  1073,     0,     0,     0,
    2872     1074,  1075,    34,    33,    35,   286,    36,     0,     0,    38,
    2873       39,   649,     0,     0,     0,   288,     0,     0,   289,   290,
    2874      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2875        0,  1330,     0,   295,     0,     0,     0,     0,     0,     0,
    2876        0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
    2877      380,     0,     0,   172,     0,     0,     0,    45,    46,   298,
    2878      299,   300,   301,     0,     0,   283,   284,  1077,   285,  1063,
    2879        0,  1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,
    2880     1071,  1072,     0,     0,     0,  1073,     0,     0,     0,  1074,
    2881     1075,     0,    33,     0,   286,     0,     0,     0,     0,     0,
    2882      649,     0,     0,     0,   288,     0,     0,   289,   290,   291,
    2883      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2884        0,     0,   295,     0,     0,     0,     0,     0,     0,     0,
    2885        0,     0,     0,     0,     0,     0,     0,   296,     0,   380,
    2886        0,     0,   172,     0,     0,     0,    45,    46,   298,   299,
    2887      300,   301,     0,     0,   283,   284,  1077,   285,  1063,     0,
    2888     1064,     0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
    2889     1072,     0,     0,     0,  1073,     0,     0,     0,  1074,  1075,
    2890        0,    33,     0,   286,     0,     0,     0,     0,     0,   649,
    2891        0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
    2892       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2893        0,   295,   283,   284,     0,   285,     0,     0,     0,     0,
    2894        0,     0,     0,     0,     0,     0,   296,     0,   380,     0,
    2895        0,   172,     0,     0,     0,    45,    46,   298,   299,   300,
    2896      301,   286,     0,     0,     0,  1077,     0,   287,     0,     0,
    2897        0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2898        0,   293,   294,     0,     0,     0,     0,     0,     0,   295,
    2899        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2900        0,     0,     0,     0,   523,     0,     0,     0,     0,     0,
    2901        0,     0,     0,    45,    46,   298,   299,   300,   301,     2,
    2902      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2903       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2904       23,    24,    25,     0,     0,     0,     0,     0,     0,     0,
    2905        0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
    2906        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2908        0,     0,    34,     0,    35,     0,    36,    37,     0,   175,
    2909      176,    40,     0,     0,     0,     0,     0,     0,    41,    42,
    2910      206,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2984       0,    34,     0,    35,     0,    36,     0,     0,   209,    39,
     2985     476,     2,   208,     4,     5,     6,     7,     8,     9,    10,
    29112986      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    29122987      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     
    29152990       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    29162991       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
    2917        0,   208,    39,   476,     2,   207,     4,     5,     6,     7,
    2918        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2919       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2920       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2992       0,    38,    39,     2,   208,     4,     5,     6,     7,     8,
     2993       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2994      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2995      27,    28,     0,     0,     0,     0,     0,     0,    31,     0,
    29212996       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    29222997       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2923        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2924        0,    36,     0,     0,    38,    39,     2,   207,     4,     5,
     2998       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2999      36,     0,     0,   209,    39
     3000};
     3001
     3002#define yypact_value_is_default(yystate) \
     3003  ((yystate) == (-1355))
     3004
     3005#define yytable_value_is_error(yytable_value) \
     3006  YYID (0)
     3007
     3008static const yytype_int16 yycheck[] =
     3009{
     3010       0,     1,    44,    44,    44,     0,     1,     0,   118,     1,
     3011     542,   241,   221,   697,   187,   187,   187,   187,   187,   206,
     3012     170,   171,   187,   501,   283,   697,   608,   505,   758,    58,
     3013     628,   187,    32,   697,   522,   281,   107,    32,   997,    32,
     3014      50,   610,   717,   350,    44,   655,   779,   900,   900,   458,
     3015      50,   350,     0,   188,    82,   611,   608,    50,   188,     0,
     3016     419,   617,   608,   608,    64,   579,  1420,    67,   610,    44,
     3017      70,    64,    44,  1061,    67,    70,    32,    70,    70,   108,
     3018     439,     0,   111,  1424,    32,   189,   157,    50,   447,   608,
     3019      44,    32,   776,   203,   267,   267,   267,   267,   267,     0,
     3020      39,   457,   267,    44,   776,   115,   296,   107,    95,    50,
     3021       0,   267,   776,    32,   608,   115,    82,    51,   118,   119,
     3022     109,    39,    72,    64,   608,    72,    67,    63,   157,    70,
     3023     110,    32,  1339,   268,    28,    39,   346,   117,   268,  1004,
     3024    1494,  1476,    32,   130,    58,   187,   187,   187,   148,   149,
     3025      72,   117,   115,  1073,  1074,    82,   149,   157,   158,   263,
     3026     264,  1042,   162,    39,   365,    44,    45,   110,   369,   162,
     3027     109,   118,   111,   116,   530,   109,  1511,   258,  1513,  1041,
     3028    1042,  1522,   132,   110,    78,   148,  1527,   187,   188,  1054,
     3029     497,   220,    39,   111,   108,   188,   132,   111,    64,    44,
     3030      45,   211,   411,   203,    82,   109,  1547,   111,   149,  1061,
     3031     132,   211,   187,  1554,   109,   187,    85,    11,   211,   427,
     3032     428,   162,  1142,   223,   743,   267,   267,   267,   491,    96,
     3033     223,   109,   242,   187,   109,  1442,   115,   427,   428,    44,
     3034      45,   241,   242,   109,   113,   274,   187,   188,   211,   743,
     3035      82,   926,   281,   253,   513,   837,   123,    80,   253,   743,
     3036     253,   261,   109,   273,   111,   230,   266,   267,   268,   114,
     3037     211,   342,   407,   273,  1007,   268,    67,   407,   241,   111,
     3038     849,   491,   223,   839,   249,   837,   296,   397,   111,   473,
     3039     113,   837,   837,    84,   117,   503,   296,   253,   308,  1258,
     3040     116,   372,   112,   116,   818,   253,   220,   849,   308,   114,
     3041     273,   610,   253,   114,   522,   425,   132,  1305,   837,   132,
     3042     349,   431,   457,    39,   324,   515,   267,   457,   119,   329,
     3043     520,   690,   116,   523,   253,    82,   329,   366,   419,   949,
     3044    1070,   370,   342,   837,     3,   308,   346,    39,   109,     3,
     3045     350,   351,   253,   837,   489,    90,    91,   258,   439,   489,
     3046     274,  1242,   109,   253,   116,   365,   447,   281,   258,   369,
     3047     131,   162,   372,  1226,  1226,   957,     0,     1,   586,   642,
     3048     643,   644,   515,   346,   517,   575,  1527,   520,   329,   958,
     3049     523,   126,   127,   109,     0,   111,   597,   397,   661,   109,
     3050     107,   642,   643,   644,   433,   957,  1547,   407,    32,   350,
     3051     131,  1292,   957,  1554,   407,   698,   675,   109,   628,   111,
     3052     661,     0,  1020,   633,   131,   425,    32,   427,   428,  1291,
     3053    1292,   431,   223,   696,   434,   349,    96,   720,   639,    72,
     3054    1527,    74,    75,    67,   116,   455,    70,   110,   458,     0,
     3055      83,    84,   366,  1305,   117,   455,   370,   457,   458,   109,
     3056     132,    67,   533,   123,   427,   428,   407,  1554,   131,   116,
     3057     261,    72,   735,  1029,  1030,   266,   499,  1465,   111,   110,
     3058     110,   481,    83,    84,  1472,   132,   696,   117,   966,   489,
     3059     129,   491,   131,   493,   735,   679,   489,   497,   493,   473,
     3060     493,   109,   761,   503,   109,   515,   656,   517,   109,   772,
     3061     520,   757,   109,   523,  1002,   515,   457,   517,   419,   109,
     3062     520,   111,   522,   523,   697,   697,   697,   697,   697,   419,
     3063     530,  1141,   697,   533,   534,  1416,   945,  1525,   439,   116,
     3064     503,   697,   849,  1408,  1409,   493,   447,  1116,   109,   439,
     3065     849,   116,   493,   663,  1416,   132,   497,   447,   110,   522,
     3066     351,   665,   772,   826,   699,   643,   644,   132,   597,   699,
     3067      72,   116,    74,    75,   493,  1305,    82,   109,   578,   579,
     3068     936,    83,    84,   661,    72,   826,   586,   132,   944,   612,
     3069     491,   110,   493,   616,   110,    83,    84,   597,   598,   223,
     3070     629,   110,   602,   493,   110,   115,   116,   109,   608,   690,
     3071     610,   117,   114,  1465,   637,   112,   645,   223,   641,   116,
     3072    1472,   131,   116,   586,   695,    72,   110,   828,   628,   253,
     3073     814,   660,   833,   633,   990,   635,    83,    84,   132,   639,
     3074     824,   432,   642,   643,   644,    80,   116,   253,   112,   112,
     3075     598,   732,  1382,   116,   838,   962,   116,   735,   116,   116,
     3076     110,   661,   132,   663,   111,   628,   116,   608,   109,   610,
     3077     633,   109,   132,  1525,   132,   132,   111,   886,   113,   112,
     3078     109,   110,   117,   116,     4,     5,     6,     7,     8,     9,
     3079      72,   482,  1101,   976,   115,   695,   696,   697,   907,   699,
     3080     771,    83,    84,   116,   116,   679,   109,   717,     4,     5,
     3081       6,     7,     8,     9,   112,   629,     3,   717,   116,   132,
     3082     132,   922,    72,    10,    11,    12,    13,    14,   757,   111,
     3083     109,   645,   111,    83,    84,   735,   736,   737,   968,  1469,
     3084     132,  1471,   892,   743,   744,   351,   660,   118,   826,    69,
     3085      64,    71,    39,   124,   125,   109,   697,    72,   699,    74,
     3086      75,   111,     4,     5,     6,     7,     8,     9,    83,    84,
     3087      72,   771,   772,    69,    76,    71,   776,   777,  1041,   112,
     3088      67,    83,    84,   116,    10,    11,    12,    13,    14,   690,
     3089    1322,    33,    94,    72,   109,   696,  1526,   120,   121,   114,
     3090     690,   936,   743,   744,    83,    84,   936,   109,   109,   944,
     3091    1020,   602,   132,    39,   944,   110,   118,   119,   818,   110,
     3092    1132,   116,    88,    89,  1136,   116,   826,    69,   828,    71,
     3093     830,   732,   111,   833,   834,   286,   109,   837,   111,   630,
     3094     814,    67,   732,   757,   635,   112,  1033,  1531,   871,   849,
     3095     824,  1134,    92,    93,  1038,  1039,   132,   308,   309,  1531,
     3096     110,   109,   112,   111,   838,   114,   116,  1531,   109,   493,
     3097     111,   772,    72,  1132,    74,    75,   482,  1136,  1137,   110,
     3098     114,   131,   132,    83,    84,   116,   834,   493,  1497,     0,
     3099       1,   110,   114,   922,  1503,   346,   837,   116,  1161,   132,
     3100     900,  1102,   109,   110,   111,   900,  1056,   132,   849,  1192,
     3101    1193,   110,  1096,  1097,   114,  1524,   926,   116,    29,    30,
     3102    1529,    32,   922,   110,   110,   109,   926,   111,   110,   116,
     3103     116,   382,   723,    44,   116,   945,   936,   110,   109,    50,
     3104     963,    82,   110,   116,   944,   945,   737,    58,   116,   110,
     3105     109,  1161,   900,    64,   110,   116,    67,   957,   958,    70,
     3106     116,   109,   962,    85,    86,    87,   112,   967,   968,   109,
     3107       3,   111,   967,    84,    85,   967,   110,    10,    11,    12,
     3108      13,    14,   116,   109,   984,   111,   109,   109,   111,   111,
     3109     990,   113,   114,  1252,    82,   936,   110,   108,   110,   900,
     3110     111,   119,   116,   944,   116,   968,    39,   118,   115,   116,
     3111     900,   110,   128,    30,  1124,  1205,  1206,   116,  1208,   129,
     3112    1020,   962,    94,   110,   630,  1215,   131,  1217,  1291,   116,
     3113      94,   702,  1242,   704,    67,   109,   110,   111,   149,   830,
     3114     111,  1041,  1042,   116,   117,   109,   157,   111,   109,   110,
     3115     111,   162,   110,   111,   118,   119,  1240,  1020,    85,    86,
     3116      87,  1061,   109,     3,  1038,  1039,  1061,    84,    85,   109,
     3117      10,    11,    12,    13,    14,   112,   187,   188,   109,   110,
     3118     111,  1340,   109,   112,   111,  1344,   113,   114,  1272,    58,
     3119      59,  1101,   203,    58,    59,    60,  1280,  1281,  1282,    39,
     3120     211,  1101,  1102,  1264,  1265,  1266,   557,   558,   559,   220,
     3121     112,    94,   223,  1061,   110,    94,  1116,   723,   110,   230,
     3122    1403,   110,  1096,  1097,  1124,   110,   109,    67,   111,   110,
     3123     109,   737,   111,   110,   245,   118,   119,  1420,   249,   118,
     3124     119,   109,   253,   254,  1328,   564,   565,   566,   567,   116,
     3125    1506,  1222,   115,   116,   116,   117,   267,   268,   116,   117,
     3126    1061,  1161,   698,   274,    44,    45,   560,   561,   568,   569,
     3127     281,  1061,    10,    11,    12,    13,    14,   112,    72,   111,
     3128      74,    75,    76,   112,   720,   562,   563,  1446,  1378,    83,
     3129      84,   114,   131,  1222,    72,   114,    74,    75,    76,   114,
     3130    1556,    39,   109,  1203,  1204,    83,    84,     1,   112,  1204,
     3131    1493,  1494,  1204,   110,   110,   109,   117,   112,   329,   112,
     3132     112,   112,  1222,    29,   830,   110,  1226,   117,   245,    67,
     3133     117,  1226,  1023,    72,   116,    74,    75,    76,   349,   350,
     3134     110,   112,  1242,   117,    83,    84,  1246,   114,   110,   115,
     3135      72,  1246,    74,    75,  1246,   366,    94,   115,   115,   370,
     3136    1161,    83,    84,   116,   109,   900,  1240,   110,   132,   110,
     3137     381,   109,   116,   111,   110,   811,   900,   117,  1226,   110,
     3138     118,   119,   110,   110,   116,   110,   397,   110,    29,  1399,
     3139     110,  1291,  1292,   110,   900,   110,   407,   110,  1272,   110,
     3140    1300,   110,   110,   110,   116,  1305,  1280,  1281,  1282,   110,
     3141    1305,  1541,   110,   110,   425,   115,   112,   131,   110,   110,
     3142     431,   110,   433,   110,   112,  1226,    72,   112,   779,   110,
     3143      76,   110,   116,   110,   117,   110,  1226,    83,    84,  1339,
     3144     116,  1242,   114,   967,  1339,   116,   457,  1339,    94,   112,
     3145     116,   462,   888,   679,  1328,   116,   110,  1305,  1531,  1531,
     3146    1531,  1531,  1531,   109,   381,   476,  1531,    67,   110,  1398,
     3147     481,   115,   118,   119,   112,  1531,   109,    77,   489,   109,
     3148     109,    72,   493,    74,    75,    76,   497,   109,   109,   500,
     3149       1,   502,    83,    84,   117,   112,  1506,  1532,   132,  1399,
     3150     110,   110,  1532,   115,  1305,   110,   132,   115,   114,   129,
     3151     112,   522,  1203,   110,   112,  1305,  1416,  1023,   109,   119,
     3152     116,  1556,   116,   112,   110,   536,  1556,   110,   539,  1064,
     3153     541,   542,   110,   112,    47,   112,   112,  1061,   110,    50,
     3154     976,   112,  1442,   112,   112,   462,   110,  1442,   132,   115,
     3155    1442,   132,   132,   115,   117,  1061,   110,   132,   132,   112,
     3156     254,   112,   162,   115,  1474,  1465,  1476,   112,   112,   112,
     3157    1465,  1007,  1472,   112,  1474,   112,  1476,  1472,   112,   590,
     3158     110,   110,   109,   500,  1398,   502,   597,   112,   814,  1531,
     3159    1531,  1531,   112,   109,   109,    60,   107,   608,   824,   610,
     3160     110,  1511,   110,  1513,   115,   114,  1506,   112,   132,  1300,
     3161     117,  1511,   838,  1513,   112,   110,   112,  1465,   629,   110,
     3162      96,    96,  1058,   223,  1472,  1525,   109,   109,   132,   115,
     3163    1525,  1531,  1532,   112,   645,   116,   110,   148,   110,  1532,
     3164     651,  1541,   110,   110,    42,   132,   157,   117,   132,   660,
     3165     110,   662,   663,   664,   110,    96,  1556,    96,   110,   132,
     3166     110,   261,   117,  1556,  1465,   110,   266,   110,   132,  1020,
     3167     132,  1472,   112,   115,   112,  1465,   109,  1525,  1541,  1203,
     3168    1204,   281,  1472,   132,   132,   115,   697,   115,   699,   110,
     3169    1531,  1226,   110,   110,    56,   132,   207,  1203,  1134,   110,
     3170     211,   712,  1226,  1077,   570,  1226,  1494,   718,   572,  1384,
     3171    1061,   722,   571,   573,  1566,  1315,  1137,   574,  1344,   730,
     3172    1226,  1472,  1246,  1092,  1525,   455,   455,   944,   704,   722,
     3173     241,   242,   743,   744,   651,  1525,    71,    99,   946,   590,
     3174      75,   892,   991,    78,   657,    80,   757,    50,   964,   747,
     3175    1246,   351,    87,   757,   578,    -1,  1192,  1193,   493,    -1,
     3176     578,    64,   273,    -1,    67,   276,   578,    70,    -1,    -1,
     3177      -1,    -1,    -1,    -1,    -1,    -1,  1300,    -1,    -1,    -1,
     3178      -1,  1305,   476,    -1,    -1,   296,  1321,    -1,    -1,    -1,
     3179      -1,    -1,    -1,    -1,  1300,   712,    -1,   308,    -1,  1305,
     3180      -1,   718,    -1,    -1,    -1,   722,    -1,    -1,    -1,    -1,
     3181      -1,    -1,  1038,  1039,    -1,  1339,    -1,    -1,    72,    -1,
     3182      74,    75,    76,    -1,    -1,    -1,   837,    -1,   522,    83,
     3183      84,   342,   432,   195,    -1,   346,    -1,    -1,   849,    -1,
     3184      94,  1376,   536,    -1,  1379,   539,   149,   541,   542,   449,
     3185      -1,    -1,    -1,    -1,   365,   109,   218,   111,   369,   162,
     3186      -1,   372,    -1,   117,   118,   119,   228,    -1,    -1,    -1,
     3187    1096,  1097,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   214,
     3188      -1,   892,   482,    -1,    -1,   188,    67,    -1,   899,  1424,
     3189      -1,    -1,    -1,    72,  1429,    -1,   590,    76,    -1,    10,
     3190      11,    12,    13,    14,    83,    84,    -1,    -1,   211,    -1,
     3191      -1,   922,    -1,    -1,    -1,    94,   427,   428,  1442,    -1,
     3192     223,    -1,    -1,    -1,  1459,   936,    -1,    -1,    39,    -1,
     3193     109,    -1,   111,   944,   296,    -1,    -1,    -1,   119,   118,
     3194     119,  1465,    -1,    -1,   455,    -1,    -1,   458,  1472,    -1,
     3195      72,   962,    74,    75,    76,    -1,    67,    -1,    -1,  1465,
     3196      -1,    83,    84,    -1,    -1,   476,  1472,  1403,   662,    -1,
     3197     664,   982,    94,    -1,    -1,   892,    -1,    -1,    -1,    -1,
     3198     991,   162,   899,    94,  1420,    -1,    -1,   109,   999,   111,
     3199     501,  1002,   503,  1004,   505,    -1,   118,   119,   109,    -1,
     3200     111,  1525,   602,    -1,   515,    -1,   517,   118,   119,   520,
     3201    1545,   522,   523,    -1,    -1,    -1,  1551,    -1,   353,  1525,
     3202     355,    -1,   533,    -1,    -1,    -1,   329,  1562,    -1,    -1,
     3203     630,  1566,    -1,     0,    -1,   635,   730,    10,    11,    12,
     3204      13,    14,   223,  1054,    -1,    -1,  1272,    -1,    -1,    -1,
     3205      -1,    -1,    -1,    -1,  1280,  1281,  1282,  1493,  1494,    -1,
     3206       0,     1,    -1,    -1,    -1,    32,    39,    -1,    -1,    -1,
     3207      -1,    -1,    -1,    -1,   991,   586,    -1,    -1,    -1,    -1,
     3208     261,  1092,   444,    -1,    -1,   266,   597,    72,    -1,    74,
     3209      75,    76,    32,    -1,    67,    -1,    -1,    -1,    83,    84,
     3210      -1,    -1,  1328,    70,   407,    -1,    -1,    -1,   443,    94,
     3211      50,    -1,    -1,  1124,    -1,    -1,   478,   628,    -1,    -1,
     3212      -1,    94,   633,   723,   109,    -1,   111,    -1,   639,    -1,
     3213      70,    -1,    -1,   118,   119,    -1,   109,   737,   111,    -1,
     3214     191,    -1,    -1,    -1,    -1,   118,   119,   198,    10,    11,
     3215      12,    13,    14,   515,    -1,    -1,    -1,   757,   520,    -1,
     3216      -1,   523,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
     3217     351,    -1,    -1,    -1,    -1,  1092,    -1,    39,    72,    -1,
     3218      74,    75,    76,    -1,   695,    -1,    -1,    -1,  1199,    83,
     3219      84,   158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3220      94,    -1,    -1,    -1,    -1,    67,   717,    -1,    -1,   149,
     3221      72,  1222,    74,    75,    76,   109,    -1,   157,   158,   270,
     3222      -1,    83,    84,    -1,   118,   119,    -1,    -1,    -1,    -1,
     3223     830,    -1,    94,    -1,    -1,    -1,   747,    -1,    -1,    -1,
     3224      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   188,   111,
     3225      -1,   432,    -1,  1264,  1265,  1266,   118,   119,    -1,    -1,
     3226     771,    -1,    -1,   203,    -1,   232,   206,   207,    -1,    -1,
     3227      -1,   211,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,
     3228      -1,   332,  1199,    -1,   335,    -1,   253,    -1,   982,    -1,
     3229      -1,   258,   232,    -1,    -1,    -1,   236,    -1,   238,    -1,
     3230      -1,   482,    -1,    -1,    -1,   999,    -1,   247,  1002,    -1,
     3231    1004,  1322,    -1,   253,    -1,    -1,   678,   828,   258,    -1,
     3232      -1,    -1,   833,    -1,    -1,   687,    -1,    -1,   268,   691,
     3233      -1,    72,    -1,    74,    75,    76,   276,    -1,    -1,    -1,
     3234      -1,    -1,    83,    84,    -1,    -1,    -1,    72,   399,    74,
     3235      75,    76,   403,    94,    -1,    -1,    -1,    -1,    83,    84,
     3236    1054,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    94,
     3237     111,    -1,     0,    -1,    -1,    -1,    -1,   118,   119,    -1,
     3238      -1,    -1,    -1,    -1,   109,   352,    -1,  1398,  1399,    -1,
     3239      -1,    -1,    -1,   118,   119,    -1,    -1,  1408,  1409,    -1,
     3240      -1,    -1,   342,    -1,    32,    -1,   346,    -1,    -1,    -1,
     3241      -1,   922,   352,    -1,    -1,   926,    -1,    -1,    -1,    -1,
     3242      -1,   602,    -1,  1023,    -1,   365,    -1,    -1,    -1,   369,
     3243      -1,    -1,   372,    -1,   945,    -1,  1447,   488,    -1,    -1,
     3244      -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,   630,
     3245      -1,    -1,   419,    -1,   635,   966,   967,   968,    -1,    -1,
     3246      -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,
     3247      -1,    -1,   439,    -1,    -1,    -1,    -1,    -1,    -1,   419,
     3248     447,    97,    98,    99,   100,   101,   102,   103,   104,   105,
     3249     106,    -1,    -1,    -1,   434,  1506,  1507,    -1,    -1,   439,
     3250      -1,    -1,    -1,    -1,    -1,  1516,   473,   447,    -1,  1020,
     3251      -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,
     3252    1531,  1532,    -1,    -1,   491,    -1,   493,   578,   579,    -1,
     3253     158,    -1,    -1,   473,    -1,    -1,   476,    -1,    -1,    -1,
     3254      -1,    -1,   723,    -1,    -1,  1556,    -1,    -1,    -1,    -1,
     3255      -1,   491,    -1,   493,    -1,    -1,   737,    -1,    -1,    -1,
     3256      -1,   501,   924,    -1,    -1,   505,    -1,   534,    -1,    -1,
     3257    1264,  1265,  1266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3258      -1,    10,    11,    12,    13,    14,     0,     1,    -1,    -1,
     3259    1101,  1102,    -1,   533,   534,    -1,    -1,    -1,    -1,    -1,
     3260      -1,    -1,    -1,  1203,    -1,    -1,    -1,    -1,    -1,    -1,
     3261      39,    -1,    -1,    -1,    -1,   666,    -1,    -1,    32,   670,
     3262      -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,  1322,    -1,
     3263     258,   598,    -1,    -1,    -1,    -1,    -1,    -1,    67,   579,
     3264      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,   830,
     3265      -1,    -1,   703,    67,    83,    84,    70,   597,   598,    -1,
     3266      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3267     610,    -1,    -1,    -1,    -1,   642,   643,   644,    -1,    -1,
     3268     109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   628,   118,
     3269     119,    -1,    -1,   633,   661,    -1,    -1,    -1,    -1,   639,
     3270    1300,    -1,   642,   643,   644,    -1,    -1,    -1,    -1,    -1,
     3271    1072,  1222,   679,    -1,  1408,  1409,    -1,    -1,    -1,    -1,
     3272      -1,   661,    -1,   690,   352,    -1,    -1,    -1,    -1,   696,
     3273      -1,    -1,    -1,    -1,    -1,  1246,    -1,    -1,    -1,   679,
     3274      -1,    -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,    -1,
     3275     690,    -1,    -1,  1447,    -1,   695,   696,    -1,    -1,   699,
     3276      -1,    -1,    -1,    -1,    -1,   732,    -1,   818,   735,    -1,
     3277      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3278      -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
     3279      -1,   419,   732,    -1,    -1,   735,    10,    11,    12,    13,
     3280      14,    -1,    -1,    -1,   744,   772,   434,   747,    -1,   223,
     3281      -1,   439,    -1,  1507,    -1,    -1,    -1,    32,    -1,   447,
     3282      -1,    -1,  1516,    -1,    -1,    39,    -1,    -1,  1339,    -1,
     3283      -1,   771,   772,    -1,    -1,    -1,    -1,   777,    -1,   253,
     3284      -1,    -1,  1023,    -1,    -1,   473,    -1,   814,    -1,    -1,
     3285      -1,    -1,    -1,    67,    -1,    70,    -1,   824,    72,   826,
     3286      74,    75,    76,   491,   831,   493,    -1,   834,    -1,    83,
     3287      84,   838,    -1,    -1,   814,    -1,    -1,    -1,    -1,   930,
     3288      94,    -1,    -1,    -1,   824,    -1,   826,    -1,   828,    -1,
     3289      -1,   831,    -1,   833,   834,   109,    -1,   111,   838,    -1,
     3290      -1,    -1,    -1,    -1,   118,   119,   534,    -1,   848,    -1,
     3291      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3292      -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
     3293      -1,  1442,    -1,   900,    -1,    -1,    -1,    -1,    -1,    -1,
     3294      -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,    -1,    -1,
     3295      -1,    -1,  1314,    -1,    -1,    -1,    -1,    32,  1009,    -1,
     3296     900,    -1,    -1,  1474,    -1,  1476,    -1,    -1,    -1,    -1,
     3297     598,    -1,    -1,    -1,    -1,  1026,    -1,    -1,    -1,    -1,
     3298      -1,    -1,   922,    10,    11,    12,    13,    14,    -1,    -1,
     3299      -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
     3300    1511,    -1,  1513,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3301      -1,    -1,    39,    -1,   642,   643,   644,   984,   958,    -1,
     3302     434,    -1,  1203,    -1,    -1,    -1,   966,   967,    -1,    -1,
     3303    1541,    -1,    -1,   661,    -1,    -1,    -1,    -1,   253,    -1,
     3304      67,    -1,    -1,   258,   984,    72,    -1,    74,    75,    76,
     3305      -1,   679,  1103,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3306      -1,    -1,   690,    -1,    -1,    -1,    -1,    94,   696,    -1,
     3307      -1,  1038,  1039,    -1,  1041,  1042,    -1,    -1,    -1,   493,
     3308    1020,    -1,   109,   158,    -1,    -1,    -1,    -1,    -1,    -1,
     3309      -1,   118,   119,  1033,  1061,    -1,    -1,    -1,  1038,  1039,
     3310      -1,  1041,  1042,    -1,   732,    -1,    -1,   735,    -1,    -1,
     3311      -1,  1473,    -1,  1475,    -1,    -1,    -1,    -1,    -1,  1300,
     3312     534,  1061,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1096,
     3313    1097,    -1,    -1,    -1,    -1,    -1,    -1,   352,    -1,    -1,
     3314      -1,    -1,    -1,    -1,   772,    -1,    -1,    -1,  1510,    -1,
     3315    1512,    -1,    -1,    -1,    -1,    -1,  1096,  1097,    -1,    26,
     3316      27,    28,  1102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3317      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,
     3318      -1,    -1,    -1,   258,   598,    -1,   814,    -1,    -1,    -1,
     3319      -1,    -1,    -1,  1555,  1161,  1557,   824,    -1,   826,    -1,
     3320      -1,    -1,    -1,   831,   419,    -1,   834,    -1,  1570,  1571,
     3321     838,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,
     3322      -1,  1161,    -1,    -1,   439,    -1,    -1,    -1,   642,   643,
     3323     644,    -1,   447,   100,    -1,   102,    -1,  1204,    -1,    -1,
     3324      -1,    -1,    -1,    -1,    -1,    -1,    -1,   661,    -1,    -1,
     3325      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   473,  1226,
     3326      -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,    -1,    -1,
     3327      -1,    -1,   900,  1240,    -1,  1242,   491,   352,   493,    -1,
     3328      -1,    -1,  1222,    -1,    -1,    -1,  1226,    -1,    -1,    -1,
     3329      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3330    1240,    -1,  1242,    -1,    -1,  1272,  1246,    -1,    -1,    -1,
     3331      -1,    -1,    -1,  1280,  1281,  1282,   183,    -1,    -1,   534,
     3332      -1,   735,    -1,    -1,  1291,  1292,   193,   194,    -1,    -1,
     3333      -1,   198,  1272,   200,   201,    -1,    -1,    -1,  1305,    -1,
     3334    1280,  1281,  1282,    -1,   419,    -1,    -1,    -1,    -1,    -1,
     3335      -1,  1291,  1292,    -1,    -1,    -1,   984,    -1,    -1,   434,
     3336      -1,  1328,    -1,    -1,   439,  1305,    -1,    -1,    -1,    -1,
     3337      -1,    -1,   447,    -1,    10,    11,    12,    13,    14,    -1,
     3338      -1,    -1,    -1,   598,    -1,    -1,    -1,    -1,  1328,    -1,
     3339      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   473,  1339,
     3340      -1,    -1,    -1,    39,    -1,    10,    11,    12,    13,    14,
     3341    1038,  1039,   826,  1041,  1042,    -1,   491,    -1,   493,    -1,
     3342     834,    -1,    -1,    -1,    -1,    -1,    -1,   642,   643,   644,
     3343      -1,    67,    -1,  1061,    39,    -1,    72,    -1,    74,    75,
     3344      76,    -1,    -1,    -1,    -1,    -1,   661,    83,    84,  1416,
     3345      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,   534,
     3346      -1,    -1,    67,    -1,   679,    -1,    -1,    72,  1096,  1097,
     3347      -1,    76,    -1,   109,    -1,   690,  1416,    -1,    83,    84,
     3348      -1,   696,   118,   119,    -1,    -1,   900,    -1,    -1,    94,
     3349      -1,    -1,    -1,    -1,    54,    -1,    56,    -1,  1465,    59,
     3350      60,    61,  1442,    63,   109,  1472,    -1,    -1,    -1,    -1,
     3351      -1,    -1,    -1,   118,   119,    -1,    -1,   732,    78,    -1,
     3352     735,    -1,    -1,   598,    -1,  1465,    -1,    -1,    -1,    -1,
     3353      90,    91,  1472,  1161,    10,    11,    12,    13,    14,    -1,
     3354      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3355      -1,    -1,    -1,   967,    -1,    -1,    -1,   772,  1525,    -1,
     3356      -1,    -1,    -1,    39,    -1,    -1,    -1,   642,   643,   644,
     3357     984,    -1,    -1,    -1,    -1,    -1,  1204,    -1,   284,    -1,
     3358     286,   287,    -1,    -1,    -1,  1525,   661,    -1,   294,   295,
     3359      -1,    67,  1532,    -1,    -1,    -1,    72,    -1,  1226,   814,
     3360      76,    -1,   308,   309,   679,    -1,    -1,    83,    84,   824,
     3361      -1,   826,  1240,    -1,  1242,   690,   831,    -1,    94,   834,
     3362      -1,   696,    -1,   838,    -1,    -1,    -1,  1041,  1042,    -1,
     3363      -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
     3364     346,    -1,   118,   119,  1272,    37,    38,  1061,    40,    -1,
     3365      -1,    -1,  1280,  1281,  1282,    -1,    -1,   732,    -1,    -1,
     3366     735,    -1,    -1,  1291,  1292,    -1,    -1,    -1,    -1,    -1,
     3367      -1,    -1,    -1,    -1,    66,    -1,   382,  1305,    -1,    -1,
     3368      72,    -1,    74,    75,    76,   900,    -1,    79,    80,    81,
     3369      82,    83,    84,    -1,    86,    87,    -1,   772,    -1,    -1,
     3370    1328,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3371      -1,    -1,    -1,    -1,    -1,   582,   583,   109,    -1,   111,
     3372      -1,   113,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     3373     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   814,
     3374      -1,    -1,    -1,    -1,   611,    -1,    -1,   614,   615,   824,
     3375     617,   826,   619,   620,    -1,    -1,   831,   624,   625,   834,
     3376      -1,    -1,    -1,   838,    -1,    -1,    -1,    -1,    -1,   984,
     3377      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3378      -1,    -1,    -1,    -1,    -1,   345,    -1,   347,  1416,  1203,
     3379    1204,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,   359,
     3380      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3381      -1,    -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3382      -1,    -1,    -1,  1038,  1039,   900,  1041,  1042,    -1,    -1,
     3383      -1,    -1,  1246,    -1,    -1,    -1,    -1,  1465,    -1,    -1,
     3384      -1,   708,   709,    -1,  1472,    -1,  1061,   714,    -1,    -1,
     3385      -1,   557,   558,   559,   560,   561,   562,   563,   564,   565,
     3386     566,   567,   568,   569,   570,   571,   572,   573,   574,    -1,
     3387      -1,    37,    38,    -1,    40,    -1,    -1,  1291,  1292,    -1,
     3388      -1,  1096,  1097,    -1,    -1,    -1,  1300,    -1,    -1,    -1,
     3389      -1,  1305,    -1,    -1,    -1,    -1,    -1,  1525,    -1,    -1,
     3390      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,   984,
     3391      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3392      86,    87,    -1,    -1,    -1,  1339,    -1,    -1,    94,    -1,
     3393      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3394      -1,    -1,    -1,   109,    -1,   111,  1161,    -1,   114,    -1,
     3395      -1,    -1,   118,   119,   120,   121,   122,   123,    -1,    -1,
     3396      -1,    -1,    -1,  1038,  1039,    -1,  1041,  1042,    -1,    -1,
     3397      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3398      -1,    -1,    -1,    -1,    -1,    -1,  1061,    -1,    -1,  1204,
     3399      -1,    -1,   698,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3400      -1,    -1,  1416,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3401      -1,  1226,    -1,    -1,   720,    -1,    -1,    -1,    -1,    -1,
     3402      -1,  1096,  1097,    -1,    -1,  1240,    -1,  1242,  1442,    -1,
     3403      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3404      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3405      28,  1465,    30,    31,    32,    -1,    -1,  1272,  1472,    -1,
     3406      -1,    39,    -1,    -1,    -1,  1280,  1281,  1282,    -1,    -1,
     3407      -1,    -1,    -1,   779,    -1,    -1,  1291,  1292,    -1,    -1,
     3408      -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,    67,
     3409    1305,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
     3410      78,    -1,    -1,    37,    38,   811,    40,    -1,    -1,    -1,
     3411      -1,  1525,    -1,  1328,    -1,    -1,    94,    -1,    -1,    -1,
     3412      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,
     3413      -1,   109,    66,   111,    -1,    -1,    -1,    -1,    72,    -1,
     3414     118,   119,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3415      84,  1226,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3416      94,    -1,    -1,    -1,   724,  1240,   726,  1242,    -1,    -1,
     3417      -1,    -1,    -1,   733,   734,   109,    -1,   111,   738,    -1,
     3418      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,   123,
     3419     750,    -1,    -1,    -1,    -1,   755,    -1,  1272,    -1,    37,
     3420      38,  1416,    40,    -1,    -1,  1280,  1281,  1282,    -1,    -1,
     3421      -1,    -1,    -1,    -1,    -1,    -1,  1291,  1292,    -1,    -1,
     3422      -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
     3423    1305,  1098,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     3424      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3425    1465,    -1,    -1,  1328,    -1,    -1,    94,  1472,    -1,    -1,
     3426      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3427     976,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    50,
     3428     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3429      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
     3430      -1,  1007,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3431    1525,    -1,    -1,    -1,  1020,    -1,    -1,    37,    38,    -1,
     3432      40,    -1,   882,   883,   884,   885,    -1,   887,    -1,    -1,
     3433      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3434      -1,  1416,    -1,   903,   115,    -1,    66,    -1,   119,    -1,
     3435      -1,    -1,    72,    -1,  1221,  1061,    76,   917,    -1,    79,
     3436      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3437      -1,    67,    -1,    -1,    94,    -1,    -1,   148,    -1,    -1,
     3438      -1,    77,    -1,    79,    -1,    81,    -1,   158,    -1,   109,
     3439    1465,   162,    88,    -1,    -1,    -1,   956,  1472,   118,   119,
     3440     120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
     3441      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3442      -1,    -1,    -1,   119,    -1,   121,   122,   123,  1134,    -1,
     3443      -1,    -1,    -1,    -1,    -1,    -1,   996,    -1,    -1,    -1,
     3444     211,    -1,    -1,  1003,    -1,    -1,    -1,    -1,  1008,    -1,
     3445    1525,    -1,   223,  1013,    -1,  1015,    -1,    -1,    -1,  1019,
     3446      -1,  1021,  1022,    -1,    -1,  1025,   162,    -1,    -1,    -1,
     3447     241,   242,    -1,    -1,  1034,    -1,    -1,    -1,    -1,    -1,
     3448      -1,    -1,    -1,    -1,    -1,    -1,  1192,  1193,    -1,    -1,
     3449      -1,    -1,  1052,  1053,    -1,   266,    -1,    -1,    -1,    -1,
     3450      -1,    -1,   273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3451      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1079,
     3452      -1,    -1,  1082,    -1,    -1,   296,    -1,   223,    -1,   225,
     3453     226,   227,    -1,    -1,    -1,    -1,    -1,   308,    26,    27,
     3454      28,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3455      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3456      28,  1121,    30,    31,    32,   261,    -1,  1127,  1128,    -1,
     3457     266,    39,    -1,    -1,    -1,   346,    -1,    -1,    -1,  1139,
     3458     351,    -1,    -1,    -1,  1144,   281,    -1,  1147,    -1,  1149,
     3459      -1,    -1,  1152,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3460      -1,    -1,    -1,    -1,    72,  1165,    74,    75,    76,    -1,
     3461      78,    -1,   100,    -1,   102,    83,    84,    -1,  1178,    -1,
     3462    1180,  1181,  1182,  1183,    -1,    -1,    94,    -1,    -1,    -1,
     3463      -1,    -1,    -1,   329,    -1,    -1,  1196,    -1,  1198,   127,
     3464      -1,   109,  1202,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3465     118,   119,    -1,    -1,    -1,   351,   427,   428,    -1,    -1,
     3466     356,   357,    -1,   434,    -1,    -1,    -1,    -1,   364,    -1,
     3467      -1,  1231,  1232,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3468      -1,    -1,    -1,    -1,   455,    -1,    -1,   458,    -1,    -1,
     3469      -1,    -1,    -1,    -1,    -1,   183,    -1,  1403,    -1,    -1,
     3470      -1,    -1,    -1,   191,    -1,   193,   194,    -1,    -1,    -1,
     3471     198,   407,   200,   201,  1420,    -1,    -1,    -1,    -1,    -1,
     3472     491,    -1,    -1,  1283,  1284,    -1,    -1,    -1,    -1,   425,
     3473      -1,    -1,   503,  1293,   430,    -1,   432,    -1,    -1,    -1,
     3474      -1,    -1,    -1,    -1,   515,    -1,   517,    -1,    -1,   520,
     3475      -1,   522,   523,   449,    -1,    -1,   452,   453,    -1,    -1,
     3476      -1,    -1,    -1,   534,    -1,    -1,    -1,    -1,    -1,    -1,
     3477      -1,    -1,   468,     7,    -1,    -1,    10,    11,    12,    13,
     3478      14,    -1,   270,    -1,    -1,  1345,   482,  1493,  1494,    -1,
     3479      -1,    -1,    -1,   489,    -1,    -1,    -1,  1357,    -1,  1359,
     3480    1360,  1361,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
     3481      -1,  1371,    -1,    -1,    -1,   586,    45,    -1,    -1,    -1,
     3482    1380,    -1,    -1,    -1,    -1,    -1,    -1,   598,    -1,    -1,
     3483      -1,   602,    66,    67,    -1,    -1,  1396,    -1,    72,    -1,
     3484      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3485      84,    -1,    86,    87,    -1,    -1,    -1,   628,    -1,    -1,
     3486      94,    -1,   633,    -1,    93,    -1,    -1,    -1,    -1,    -1,
     3487      -1,   642,   643,   644,   103,   109,    -1,   111,    -1,    -1,
     3488      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3489     661,    -1,  1452,  1453,    -1,    -1,    -1,    -1,    -1,    -1,
     3490      -1,    -1,    -1,    -1,    -1,  1465,   602,    -1,    -1,    -1,
     3491      -1,    -1,  1472,    37,    38,    -1,    40,    -1,    -1,    -1,
     3492      -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,    -1,    -1,
     3493     159,    -1,    -1,    -1,   630,    -1,    -1,    -1,    -1,   635,
     3494      -1,    -1,    66,    -1,   173,  1505,   717,    -1,    72,  1509,
     3495      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3496      84,    -1,    86,    87,   735,    -1,   737,   196,    -1,    -1,
     3497      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1538,    -1,
     3498    1540,   210,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3499     219,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3500     229,   772,    -1,    -1,    -1,    -1,    -1,    -1,  1568,  1569,
     3501      -1,    -1,    -1,    -1,    -1,    -1,  1576,  1577,    -1,    -1,
     3502      -1,    -1,    -1,    -1,    -1,   254,    -1,   723,    -1,    -1,
     3503     259,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3504      -1,   737,    -1,   272,    -1,    -1,    -1,    -1,    -1,   278,
     3505      -1,   280,    -1,    -1,    -1,   826,    -1,    -1,    -1,   830,
     3506      -1,   757,    -1,   834,    -1,    -1,    -1,    -1,   297,    -1,
     3507      -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3508      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3509      24,    25,    26,    27,   582,   583,    30,    31,    32,    -1,
     3510      -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
     3511     339,    -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,
     3512      -1,    -1,   818,   611,    -1,    -1,   614,   615,    -1,   617,
     3513      -1,   619,   620,    67,   830,    -1,   624,   625,    -1,    -1,
     3514      74,    75,    -1,    -1,   373,    -1,    -1,    -1,   377,   378,
     3515      -1,   380,    -1,   849,    -1,   926,    -1,    -1,   387,   388,
     3516      94,   390,   391,    -1,   393,    -1,   395,    -1,    -1,    -1,
     3517      -1,    -1,    -1,    -1,   945,    -1,    -1,   111,    -1,    -1,
     3518      -1,   115,    -1,   412,   118,   119,    -1,    -1,    -1,    -1,
     3519      -1,   420,    -1,    -1,    -1,    -1,    -1,   968,    -1,    -1,
     3520      -1,    -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,
     3521      14,    -1,    -1,   984,    -1,   703,   445,    -1,    -1,    -1,
     3522     708,   709,    -1,    -1,    -1,    -1,   714,   456,    -1,    -1,
     3523      -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
     3524     936,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1020,
     3525     479,    -1,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,
     3526      -1,   490,    66,    67,    -1,    -1,   962,    -1,    72,    -1,
     3527    1041,  1042,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3528      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3529      94,    -1,    -1,    -1,   990,    -1,    -1,   526,    -1,    -1,
     3530      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3531      -1,   540,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3532      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1023,    -1,    -1,
     3533    1101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1034,    -1,
     3534      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   578,
     3535      -1,    -1,    37,    38,    -1,    40,    -1,    -1,   587,   157,
     3536     158,    -1,    -1,    -1,    -1,   594,    -1,    -1,    -1,    -1,
     3537      -1,   600,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3538     609,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3539    1161,    76,    -1,   191,    79,    80,    81,    82,    83,    84,
     3540     198,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3541      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3542    1116,   650,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
     3543      -1,    -1,  1203,   118,   119,   120,   121,   122,   123,    -1,
     3544      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3545      -1,    -1,    -1,    -1,    -1,    -1,    -1,   686,    -1,    -1,
     3546      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3547      -1,  1242,   270,    -1,    -1,     3,     4,     5,     6,     7,
     3548       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3549      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3550      28,    -1,    30,    31,    32,    33,    -1,  1203,    36,    -1,
     3551      -1,    39,   741,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3552    1291,  1292,   751,   752,    -1,    -1,   324,    -1,    -1,  1300,
     3553      -1,    -1,    -1,    -1,   332,   333,   765,   335,   336,    67,
     3554      -1,    69,    -1,    71,    -1,    -1,    74,    75,   346,    -1,
     3555      78,    -1,   350,   782,    -1,   784,    -1,    -1,    -1,   788,
     3556      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3557      -1,   369,    -1,    -1,   372,    -1,    -1,    -1,    -1,    -1,
     3558      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3559     118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3560      -1,   399,    -1,    -1,  1300,   403,    -1,    -1,    -1,    -1,
     3561    1098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3562      -1,    -1,    -1,    -1,   853,    -1,    -1,    -1,    -1,    -1,
     3563      -1,   860,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,
     3564      -1,    -1,    -1,    -1,   873,  1416,   875,    -1,    -1,    -1,
     3565      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   457,
     3566     889,    -1,    -1,    -1,    -1,    -1,    -1,   896,    -1,    -1,
     3567      -1,    -1,    -1,    -1,    -1,    -1,   148,    -1,    -1,   908,
     3568      -1,    -1,   911,    -1,    -1,    -1,   158,    -1,    -1,    -1,
     3569     488,    -1,    -1,   491,    -1,    -1,    -1,    -1,   170,   171,
     3570     929,    -1,    -1,  1474,    -1,  1476,    -1,    -1,    10,    11,
     3571      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3572      22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
     3573      32,    -1,   530,  1221,    -1,   533,   534,    39,    -1,    -1,
     3574    1511,    -1,  1513,    -1,    -1,    -1,    10,    11,    12,    13,
     3575      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3576      24,    25,    26,    27,    28,    67,    -1,    -1,    -1,   241,
     3577    1541,    -1,    74,    75,    -1,    39,    78,    -1,    -1,    -1,
     3578     578,   579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1018,
     3579      -1,    -1,    94,   265,    -1,    -1,    -1,    -1,    -1,   597,
     3580     598,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   111,
     3581     608,    -1,   610,   611,    78,    -1,   118,   119,    -1,   617,
     3582      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   627,
     3583     628,    -1,    -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,
     3584      -1,    -1,    -1,    -1,   642,   643,   644,  1076,    -1,    -1,
     3585      -1,    -1,    -1,  1082,    -1,    -1,    -1,    -1,    -1,    -1,
     3586    1556,    -1,    -1,   661,    -1,    -1,    -1,    -1,   666,   667,
     3587      -1,    -1,   670,   671,    -1,    -1,    -1,    -1,    -1,   677,
     3588      -1,    -1,    -1,  1112,    -1,    -1,    -1,    -1,  1117,    -1,
     3589      -1,    -1,    -1,    -1,    -1,    -1,  1125,   695,   696,   697,
     3590      -1,   699,    -1,    -1,    -1,   703,    -1,    -1,    -1,   381,
     3591      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3592      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1156,    -1,    -1,
     3593      -1,    -1,    -1,    -1,    -1,    -1,    -1,   735,   736,  1168,
     3594      -1,    -1,  1171,    -1,  1173,    -1,    -1,    -1,    -1,    -1,
     3595      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1187,  1188,
     3596      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3597      -1,    -1,    -1,   771,   772,    -1,    -1,    -1,   776,   777,
     3598    1209,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3599      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3600      22,    23,    24,    25,    26,    27,    -1,  1236,    30,    31,
     3601      32,   483,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3602     818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   826,    -1,
     3603      -1,    -1,    -1,    -1,    -1,   833,   834,    -1,    -1,   837,
     3604      -1,   839,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3605     522,   849,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
     3606      -1,    -1,   534,    -1,    -1,    -1,    -1,   539,    -1,    -1,
     3607     542,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3608      -1,   553,   554,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     3609      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
     3610      -1,    -1,    -1,    -1,   576,  1334,    -1,  1336,    -1,    -1,
     3611      -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,    -1,    -1,
     3612    1349,   593,  1351,    -1,   922,    -1,   598,    -1,    -1,    -1,
     3613      -1,    -1,   930,    -1,    -1,    -1,    -1,    -1,   936,    -1,
     3614    1369,    -1,    -1,    -1,    -1,    -1,   944,    -1,    -1,    -1,
     3615      -1,    -1,    -1,    -1,    -1,    -1,  1385,  1386,    -1,   957,
     3616     958,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1397,    -1,
     3617      -1,  1400,    -1,    -1,    -1,   647,    -1,    -1,    -1,    -1,
     3618      -1,    -1,    -1,    -1,   656,    -1,   984,    -1,    -1,    -1,
     3619      -1,    -1,   990,  1422,    -1,    -1,    -1,    -1,    -1,    -1,
     3620      -1,    -1,  1431,    -1,    -1,  1434,    -1,  1436,  1437,  1438,
     3621      -1,  1009,  1010,    37,    38,    -1,    40,    -1,    -1,    -1,
     3622      -1,    -1,  1020,    -1,   696,    -1,    -1,    -1,  1026,  1027,
     3623      -1,  1029,  1030,  1031,    -1,    -1,    -1,    -1,    -1,    -1,
     3624      -1,    -1,    66,  1041,  1042,    -1,    -1,    -1,    72,  1478,
     3625      -1,  1480,    76,    -1,  1483,    79,    80,    81,    82,    83,
     3626      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,  1498,
     3627      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3628      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3629      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3630     772,    -1,   774,    -1,  1102,  1103,  1104,    -1,   780,    -1,
     3631      -1,    -1,    -1,    -1,    -1,   787,    -1,    -1,  1116,     3,
     3632       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3633      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3634      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
     3635      -1,    -1,    36,    37,    38,    39,    40,    -1,   830,   831,
     3636      -1,    -1,   834,  1161,    -1,    -1,    -1,    -1,    -1,    -1,
     3637      -1,    -1,    -1,    -1,    -1,    -1,   848,    -1,    -1,    -1,
     3638      -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,
     3639      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3640      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3641      94,    -1,    -1,    -1,    -1,    -1,   888,    -1,    -1,    -1,
     3642     892,    -1,    -1,    -1,  1222,   109,    -1,   111,    -1,    -1,
     3643      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3644      -1,    -1,    -1,    -1,  1242,    -1,    -1,    -1,   132,    -1,
     3645      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3646      -1,    -1,    -1,    -1,     4,     5,     6,     7,     8,     9,
     3647      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3648      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3649      30,    31,    32,  1291,  1292,    -1,   968,    37,    38,    39,
     3650      40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3651      -1,    -1,   984,   985,    -1,    -1,    -1,    -1,    -1,   991,
     3652      -1,    -1,    -1,    -1,    -1,   997,    66,    67,  1000,    69,
     3653    1002,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3654      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3655      -1,  1023,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
     3656      -1,    -1,  1034,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3657      -1,   111,    -1,    -1,    -1,    -1,   116,    -1,   118,   119,
     3658     120,   121,   122,   123,  1056,    -1,  1058,    -1,    -1,    -1,
     3659      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3660      -1,  1073,  1074,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1416,    -1,
     3662      -1,    -1,  1094,    -1,    -1,    -1,     0,    -1,    -1,     3,
     3663       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3664      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3665      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
     3666      -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
     3667    1142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3668      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
     3669      64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     3670      74,    75,    76,    -1,  1176,  1177,    -1,    -1,  1506,    83,
     3671      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3672      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3673      -1,    -1,    -1,  1531,  1532,   109,    -1,   111,    -1,    -1,
     3674      -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,
     3675      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1556,    -1,
     3676       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3677      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3678      23,    24,    25,    26,    27,    -1,  1258,    30,    31,    32,
     3679      33,    -1,    -1,    36,    37,    38,    39,    40,    41,    -1,
     3680      43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
     3681      53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
     3682      -1,    64,    -1,    66,    67,    -1,    69,    -1,    71,    72,
     3683      -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3684      83,    84,    -1,    86,    87,    -1,    -1,  1319,    -1,    -1,
     3685    1322,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3686      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     3687      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3688     123,    -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,   132,
     3689       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3690      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3691      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3692      33,    -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,
     3693      -1,    -1,    -1,    -1,    -1,  1407,    -1,    -1,    -1,    -1,
     3694      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3695      -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,
     3696      -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3697      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3698      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     3700      -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3701     123,    -1,    -1,    -1,    -1,    -1,    -1,  1489,     4,     5,
    29253702       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    29263703      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2927        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2928        0,    31,     0,     8,     9,    10,    11,    12,    13,    14,
    2929       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2930       25,     0,     0,    26,    27,    28,   494,   495,   496,    34,
    2931        0,    35,    31,    36,     0,     0,   208,    39,     0,     0,
    2932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2933        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2934       34,     0,     0,     0,     0,     0,     0,    38,    39
    2935 };
    2936 
    2937 #define yypact_value_is_default(yystate) \
    2938   ((yystate) == (-1328))
    2939 
    2940 #define yytable_value_is_error(yytable_value) \
    2941   YYID (0)
    2942 
    2943 static const yytype_int16 yycheck[] =
    2944 {
    2945        0,     1,     1,    43,   205,     0,   186,    43,    43,   186,
    2946      240,   117,   186,   543,   698,   186,   282,   611,     0,  1062,
    2947      186,   186,   106,   220,   186,   629,   698,   458,   656,    29,
    2948       30,   522,    32,     0,     1,   698,   609,    32,   350,   609,
    2949      169,   170,     1,    43,   187,   998,   901,   609,   901,    49,
    2950       32,   457,   280,     0,    49,   609,     0,    57,   609,  1005,
    2951      350,   609,   611,    63,   499,    32,    66,   609,    63,    69,
    2952       69,    66,   156,  1340,    69,   501,  1042,  1043,  1043,   505,
    2953      718,    57,    43,    83,    84,    32,   266,   187,    32,   266,
    2954      759,    32,   266,   777,  1421,   266,   202,   188,    43,    66,
    2955      266,   266,    69,   580,   266,   777,     0,   107,   419,  1055,
    2956      110,    43,   780,   107,   777,    63,   473,   117,    39,    39,
    2957      257,   427,   428,    39,   267,   531,   365,    95,   439,   116,
    2958      369,   107,    82,    28,   110,   112,   447,   131,    32,   116,
    2959      285,   644,   645,   612,    82,   132,   186,   109,   148,   618,
    2960      186,   186,   109,   148,    51,   346,   156,    44,    45,   662,
    2961      110,   161,   130,   308,   309,    82,   161,   267,  1495,    44,
    2962       45,   262,   263,    64,   744,    82,  1443,    49,   613,    39,
    2963       44,    45,   617,    78,   132,   497,   186,   187,   109,   109,
    2964      111,   111,   187,   744,    82,   111,   744,   503,   109,    39,
    2965      117,   346,   202,   638,   111,  1074,  1075,   642,    85,  1062,
    2966      210,    96,   109,   699,   411,   210,   522,   110,   109,   219,
    2967      131,   109,   222,   116,   116,   186,   266,   222,   115,   229,
    2968      266,   266,    82,   736,   491,   721,   113,   382,   123,   114,
    2969      132,   186,   114,   219,   244,    39,    39,   513,   248,   109,
    2970      114,   111,   252,   253,   186,   222,   850,   252,   342,   109,
    2971      643,   644,   645,  1306,   407,   838,   266,   267,   838,   109,
    2972      252,   111,   267,   273,  1143,   147,   838,   116,  1243,   662,
    2973      280,   587,   419,  1477,   838,   252,    11,   838,   372,   927,
    2974      838,   397,   110,   132,   253,   295,   838,   273,     0,   117,
    2975      491,   850,   439,   110,   280,   252,  1259,   407,   252,   116,
    2976      447,   252,    49,   257,   457,   109,   229,   111,  1512,   425,
    2977     1514,   611,   950,   680,   827,   431,  1292,  1293,  1293,   329,
    2978       32,   109,    72,    96,   329,   248,   295,   473,   210,   110,
    2979     1008,    43,   819,    83,    84,   116,   489,    49,   110,   349,
    2980      350,     0,     1,   736,   116,  1528,    82,   457,   252,   598,
    2981      123,    63,    80,   257,    66,   959,   366,    69,   240,  1425,
    2982      370,   840,  1227,   349,  1227,  1548,   112,   114,   296,  1528,
    2983      691,   381,  1555,    32,   110,   958,   643,   644,   645,   489,
    2984      366,   117,   132,   111,   370,   113,   958,   397,   114,   117,
    2985      272,   640,  1071,     0,   958,   662,  1555,   407,   115,   116,
    2986      676,   116,   407,   558,   559,   560,    72,  1021,    74,    75,
    2987       69,   109,   110,  1466,   131,   425,   116,    83,    84,   116,
    2988     1473,   431,   116,   433,   190,    32,   308,   872,   629,   116,
    2989      697,   197,   132,   634,   827,   132,   148,     3,   132,    72,
    2990      534,  1417,  1417,  1306,   116,   111,     3,   457,   815,   161,
    2991       83,    84,   462,  1409,  1410,   110,    72,  1523,   825,    66,
    2992      132,   116,  1528,   210,   346,   419,   476,    83,    84,   736,
    2993      110,   481,   839,  1526,   186,   187,   112,   117,   111,   489,
    2994      116,   977,  1548,   493,   489,   439,   762,   497,   493,  1555,
    2995      500,   131,   502,   447,   241,   111,   697,     0,   210,   427,
    2996      428,   493,  1003,   269,  1142,   946,   773,   476,   698,    57,
    2997      222,   698,   522,  1117,   698,   419,   493,   698,   657,   964,
    2998      758,   937,   698,   698,     0,   272,   698,   537,   850,   945,
    2999      540,   967,   542,   543,   680,   439,   493,   491,   112,   493,
    3000      252,   116,   116,   447,   691,   427,   428,   700,   664,   296,
    3001      850,  1030,  1031,   522,   266,   120,   121,   132,   324,   107,
    3002      827,   308,   110,    80,   110,   666,   332,    72,   537,   335,
    3003      116,   540,   773,   542,   543,   991,   109,   118,    83,    84,
    3004      829,   591,   116,   124,   125,   834,   733,   515,   598,   493,
    3005      700,   110,   520,   252,   111,   523,   113,   116,   132,   609,
    3006      117,   611,   696,  1466,   680,   112,   131,   599,   156,   116,
    3007     1473,   110,   116,   118,   109,   222,   116,   329,   116,    72,
    3008      630,   503,   591,    76,   109,   780,   111,  1306,   132,   110,
    3009       83,    84,   132,   399,   132,   116,   646,   403,   350,  1135,
    3010      522,   963,   652,    70,   630,   252,    72,    74,   576,   109,
    3011       77,   661,    79,   663,   664,   665,   109,    83,    84,    86,
    3012      646,  1102,   110,  1526,   109,   118,   119,   109,   116,   815,
    3013       72,   219,  1039,  1040,   923,   661,     3,   109,   772,   825,
    3014      887,    83,    84,    10,    11,    12,    13,    14,   698,   129,
    3015      700,   131,   110,   839,   663,   407,   665,  1193,  1194,   117,
    3016      109,   908,   111,   713,  1383,   587,   132,   109,   455,   719,
    3017      116,   458,    39,   723,    90,    91,    72,   116,    74,    75,
    3018      112,   731,   488,   109,   116,   273,   132,    83,    84,   969,
    3019     1097,  1098,   280,   132,   744,   745,   110,   691,   110,   815,
    3020       67,   110,   116,   697,   351,   457,   110,   629,   758,   825,
    3021      126,   127,   634,   109,   893,    72,  1133,   110,   114,   110,
    3022     1137,   110,   731,   839,   112,   116,    83,    84,   515,   109,
    3023      517,   111,   758,   520,   110,  1042,   523,  1498,    72,   733,
    3024      116,   493,  1322,  1504,   937,   497,   213,   691,     3,    83,
    3025       84,  1470,   945,  1472,   111,    10,    11,    12,    13,    14,
    3026       72,   349,    74,    75,  1525,   109,    55,   111,   109,  1530,
    3027      699,    83,    84,   579,   580,     0,     1,   111,   366,   773,
    3028     1021,   109,   370,  1034,    39,   110,   115,   937,   838,   733,
    3029      109,   116,   721,    72,   493,   945,    66,    76,  1532,   109,
    3030      850,   111,   114,   835,    83,    84,   132,    32,  1527,    98,
    3031     1532,    64,    67,    83,  1103,    88,    89,  1133,   110,  1532,
    3032      114,  1137,  1138,   109,   116,    72,  1021,    74,    75,    76,
    3033      109,   109,   111,   111,  1241,   482,    83,    84,   109,   118,
    3034      119,    66,   132,   893,    69,   433,   493,   109,   118,   111,
    3035      900,   901,   110,  1039,  1040,  1162,   112,   609,   116,   611,
    3036      114,   667,   109,   132,   111,   671,  1273,  1062,  1404,   901,
    3037      117,   118,   119,   923,  1281,  1282,  1283,   109,  1057,   111,
    3038       85,    86,    87,   812,   901,  1421,   353,   937,   355,    72,
    3039      132,   161,   901,    76,   515,   945,   517,   110,   704,   520,
    3040       83,    84,   523,   116,   109,   194,   111,   901,   113,   114,
    3041      114,  1097,  1098,   963,    10,    11,    12,    13,    14,   968,
    3042      109,  1162,  1329,  1039,  1040,   109,   109,   111,   217,    72,
    3043       82,   718,   157,   983,   109,   118,   119,  1253,   227,   110,
    3044       83,    84,   992,    39,   109,   116,   698,   703,   700,   705,
    3045     1000,   968,   222,  1003,   112,  1005,    82,   901,  1494,  1495,
    3046      889,     4,     5,     6,     7,     8,     9,    92,    93,  1125,
    3047      119,    67,   116,   117,   983,    72,   443,    74,    75,    76,
    3048      128,  1097,  1098,   110,   631,  1292,    83,    84,   129,   116,
    3049      260,  1000,   744,   745,  1003,   265,  1005,   222,   110,   109,
    3050       94,   111,  1243,   131,   116,  1055,   111,   296,   118,   119,
    3051      598,   109,   109,   819,   111,  1065,   115,   116,  1068,  1069,
    3052     1070,   118,   119,   110,   111,  1341,    69,   252,    71,  1345,
    3053     1062,    58,    59,    10,    11,    12,    13,    14,    72,   109,
    3054       74,    75,   630,  1093,   112,  1062,  1055,   969,   977,    83,
    3055       84,  1507,   109,   110,   111,  1241,  1065,   112,   646,  1068,
    3056     1069,  1070,    39,   110,   112,   112,   115,   116,  1062,   116,
    3057      109,   110,   111,   661,   110,  1125,   109,   724,   110,  1008,
    3058      110,   351,    44,    45,   131,   132,   838,  1273,  1222,   132,
    3059       67,   738,   109,   110,   111,  1281,  1282,  1283,   850,  1021,
    3060      110,  1557,   116,   117,     4,     5,     6,     7,     8,     9,
    3061      110,     4,     5,     6,     7,     8,     9,    72,  1062,    74,
    3062       75,    76,   109,   110,   111,   931,   116,   117,    83,    84,
    3063     1059,  1447,   109,    33,   111,   110,   109,   901,   111,   111,
    3064      927,   118,   119,  1329,   112,   118,   119,   569,   570,    72,
    3065     1200,    74,    75,   112,   109,   444,  1205,  1273,   114,   946,
    3066       83,    84,   432,   118,   119,  1281,  1282,  1283,  1162,    69,
    3067      758,    71,  1222,   109,   116,   111,    69,  1227,    71,    85,
    3068       86,    87,   118,   119,   831,   937,   109,  1204,  1205,   478,
    3069      131,   114,   114,   945,   114,  1227,   561,   562,  1247,    30,
    3070      563,   564,   901,   109,  1010,   111,  1135,   113,   114,   434,
    3071     1227,   963,   482,  1329,   109,  1265,  1266,  1267,  1227,   110,
    3072      112,  1027,    58,    59,    60,    72,   515,    74,    75,    76,
    3073     1247,   520,   110,  1227,   523,   112,    83,    84,  1206,  1207,
    3074      112,  1209,   112,   112,  1400,    29,   117,  1215,   116,  1243,
    3075     1218,   117,    83,    84,   901,   117,  1265,  1266,  1267,  1265,
    3076     1266,  1267,  1542,   112,  1193,  1194,   110,   110,   493,   968,
    3077      115,   117,  1322,  1323,  1306,     0,     1,    66,   565,   566,
    3078      567,   568,   114,  1227,  1301,   110,   115,    76,   115,  1306,
    3079      116,  1340,    72,   109,    74,    75,    76,   110,  1104,   132,
    3080      110,  1065,  1532,    83,    84,  1532,   110,    32,  1532,   116,
    3081      535,  1532,  1306,  1322,  1323,  1102,  1532,  1532,    43,   117,
    3082     1532,   116,   110,  1340,    49,   110,    29,  1377,    49,   118,
    3083     1380,   110,   110,   603,   110,   923,   110,   110,    63,   110,
    3084     1533,    66,    63,   110,    69,    66,   110,   110,    69,  1399,
    3085     1400,  1507,   110,   110,   110,   110,   110,   110,   110,  1409,
    3086     1410,   631,  1306,  1062,  1557,   115,   636,   112,  1377,   131,
    3087      110,  1380,   161,  1399,   599,  1425,   110,  1024,   116,   112,
    3088     1430,   106,   112,  1533,   110,   116,   110,   110,   117,   114,
    3089      679,   109,   117,   118,  1443,   114,   116,   112,  1448,   688,
    3090     1409,  1410,   116,   692,   110,   116,   116,  1557,   110,   110,
    3091     1460,  1379,   112,   244,   109,  1062,  1425,   109,   643,   644,
    3092      645,  1430,   147,   148,   109,   109,  1443,   148,   117,   112,
    3093      110,   156,   157,   222,  1466,   132,   161,   662,   115,  1448,
    3094      161,  1473,  1532,   110,   115,   110,  1532,  1532,   129,  1466,
    3095      114,  1460,   115,   112,   724,   110,  1473,  1507,  1508,   132,
    3096      116,   186,   187,  1227,   112,   116,   187,  1517,   738,   112,
    3097      110,   260,  1466,  1523,   110,  1404,   265,   202,  1528,  1473,
    3098      110,   112,  1532,  1533,   112,   210,    66,   112,  1533,   210,
    3099      110,   280,  1421,   112,  1526,   112,  1546,   222,  1548,  1508,
    3100      112,   222,  1552,    47,   110,  1555,  1205,  1557,  1517,  1526,
    3101      132,   736,  1557,  1563,  1523,   240,   241,  1567,   132,  1528,
    3102      115,   132,  1466,   132,   132,   115,   117,   252,  1227,  1473,
    3103      112,   110,  1526,   110,   115,   260,   112,  1546,   118,  1548,
    3104      265,   266,   267,  1552,   112,   112,  1555,   272,  1247,   112,
    3105      381,   112,   112,   112,  1563,   110,   112,  1204,  1567,  1323,
    3106      112,   831,   351,   109,   109,  1494,  1495,   109,    60,   110,
    3107      110,   296,    96,   110,   132,   114,   112,   112,   112,   117,
    3108     1227,   161,  1526,   308,   110,    96,     3,   109,   109,   132,
    3109      115,   110,   112,    10,    11,    12,    13,    14,   110,   324,
    3110      110,   110,   827,   116,   329,    42,   110,  1306,   329,   117,
    3111      835,   110,    96,  1377,   132,   132,  1380,   342,    96,   110,
    3112     1542,   346,    39,   110,   117,   350,   351,   132,   110,   132,
    3113      132,   462,   115,   110,  1222,   132,   925,   112,   112,   109,
    3114      365,  1340,   222,   432,   369,   110,   132,   372,   115,   115,
    3115       67,   110,   132,   110,  1301,   110,  1077,   571,   573,  1306,
    3116      449,  1425,   572,   574,  1227,  1495,  1430,   575,  1385,   500,
    3117     1567,   502,   397,  1316,  1138,  1345,   901,  1473,  1093,   945,
    3118      260,   705,   407,   455,   947,   265,   407,   455,  1475,   591,
    3119     1477,   992,   723,   482,   893,   658,  1460,   748,   965,  1247,
    3120      425,   493,   427,   428,   758,   579,   431,    -1,    -1,   434,
    3121       -1,    72,   579,    74,    75,    76,   579,    -1,    -1,    -1,
    3122       -1,    -1,    83,    84,    -1,  1512,    -1,  1514,    -1,    -1,
    3123      455,    -1,   457,   458,    -1,    -1,    -1,    -1,    -1,    -1,
    3124       -1,    -1,    -1,   968,  1443,    -1,    -1,    -1,   109,    -1,
    3125      111,    -1,    -1,    -1,  1024,    -1,   481,   118,   119,    -1,
    3126      985,    -1,    -1,    -1,   489,    -1,   491,  1466,   493,    -1,
    3127       -1,   351,   497,    -1,  1473,    -1,    -1,    -1,   503,    -1,
    3128     1532,    -1,  1546,    -1,  1073,    -1,    -1,    -1,  1552,    -1,
    3129      515,    -1,   517,    -1,    -1,   520,    -1,   522,   523,  1563,
    3130        1,    -1,    -1,  1567,    -1,    -1,   531,    -1,    -1,   534,
    3131      535,  1399,    -1,    -1,   603,    -1,    -1,  1042,  1043,  1466,
    3132       -1,   652,    -1,    -1,    -1,    -1,  1473,  1526,    -1,    -1,
    3133       -1,    -1,    10,    11,    12,    13,    14,  1062,    -1,    -1,
    3134       -1,    -1,   631,    -1,    -1,    -1,    -1,   636,    49,    -1,
    3135       -1,    -1,   432,    -1,   579,   580,    72,    -1,    74,    75,
    3136       76,    39,   587,    -1,    -1,    -1,    -1,    83,    84,    -1,
    3137       -1,    -1,    -1,   598,   599,    -1,    -1,    -1,   603,  1526,
    3138       -1,    -1,   713,    -1,   609,    -1,   611,    -1,   719,    67,
    3139       -1,    -1,   723,   109,    -1,    10,    11,    12,    13,    14,
    3140       -1,    -1,   482,    -1,   629,   106,    -1,    -1,    -1,   634,
    3141       -1,   636,    -1,   114,    -1,   640,    -1,    -1,   643,   644,
    3142      645,    -1,    -1,    -1,    39,    10,    11,    12,    13,    14,
    3143       -1,   109,    -1,   111,  1204,   724,    -1,   662,    -1,   664,
    3144      118,   119,    -1,    -1,    -1,    -1,   147,    -1,    -1,   738,
    3145       -1,    -1,    67,    -1,    39,   156,    -1,    -1,    -1,    -1,
    3146       -1,    -1,    -1,    26,    27,    28,    -1,    -1,    -1,   758,
    3147       -1,   696,   697,   698,    -1,   700,    -1,    -1,    -1,  1204,
    3148     1205,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3149       75,    76,    -1,   718,   109,    -1,   111,    -1,    83,    84,
    3150       -1,    -1,  1227,   118,   119,   206,    -1,    -1,    -1,   210,
    3151       -1,   736,   737,   738,    -1,    -1,    -1,    -1,    -1,   744,
    3152      745,    -1,  1247,   603,   109,    -1,  1315,    -1,    -1,    -1,
    3153       -1,  1301,    -1,   118,   119,    -1,    99,    -1,   101,   240,
    3154      241,    -1,   831,    -1,    -1,    -1,    -1,   772,   773,    -1,
    3155       -1,   631,   777,   778,    -1,    -1,   636,    -1,    -1,    -1,
    3156       -1,    -1,   893,   126,    -1,    -1,    -1,  1292,  1293,   900,
    3157       -1,   272,    -1,    -1,   275,    72,  1301,    74,    75,    76,
    3158       -1,  1306,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
    3159       -1,    -1,    -1,    -1,   819,   296,    -1,    -1,    -1,    -1,
    3160       -1,    -1,   827,    -1,   829,    -1,   831,   308,    -1,   834,
    3161      835,    -1,   109,   838,    -1,  1340,    -1,    -1,    -1,   182,
    3162       10,    11,    12,    13,    14,   850,    -1,   190,    -1,   192,
    3163      193,    -1,    -1,    -1,   197,    -1,   199,   200,    -1,    -1,
    3164       -1,   342,    -1,    -1,   724,   346,    -1,    -1,    -1,    39,
    3165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   738,    -1,
    3166       -1,   992,    -1,    72,   365,    74,    75,    76,   369,    -1,
    3167       -1,   372,    -1,    -1,    83,    84,   901,    67,    -1,    -1,
    3168       -1,    -1,    72,    -1,    -1,  1474,    76,  1476,    -1,    -1,
    3169       -1,    -1,  1417,    83,    84,    -1,    -1,    -1,   923,    -1,
    3170      109,    -1,   927,    -1,    -1,    -1,   269,    -1,    -1,   118,
    3171      119,    -1,   937,    -1,    -1,    -1,    -1,    -1,  1443,   109,
    3172      945,   946,  1511,    -1,  1513,    -1,   427,   428,   118,   119,
    3173       -1,    -1,    -1,   958,   959,  1024,    -1,    -1,   963,    -1,
    3174       -1,  1466,    -1,   968,   969,    -1,    -1,    -1,  1473,    -1,
    3175       -1,   831,    -1,    -1,   455,    -1,    -1,   458,    -1,    -1,
    3176      985,    -1,  1093,    -1,    -1,    -1,   991,  1556,    -1,  1558,
    3177       -1,    -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,
    3178       -1,    -1,  1571,  1572,    -1,    -1,    -1,    -1,    -1,    -1,
    3179       26,    27,    28,    -1,    -1,    -1,  1021,    -1,    -1,    -1,
    3180      501,  1526,   503,    -1,   505,    -1,    -1,    -1,    -1,    10,
    3181       11,    12,    13,    14,   515,    -1,   517,  1042,  1043,   520,
    3182       -1,   522,   523,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3183       -1,    -1,    -1,   534,    -1,    -1,    -1,  1062,    39,    10,
    3184       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3185       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
    3186       31,    32,    -1,    99,    -1,   101,    67,    -1,    39,  1200,
    3187       -1,    72,    -1,    74,    75,    76,    -1,  1102,  1103,    -1,
    3188       -1,    -1,    83,    84,    -1,    -1,   587,    -1,    -1,    -1,
    3189       -1,    -1,  1117,    -1,    -1,    -1,    67,   598,    -1,    -1,
    3190     1125,    72,    -1,    74,    75,    76,    -1,    78,   109,    -1,
    3191      111,    -1,    83,    84,    -1,  1204,    -1,   118,   119,    -1,
    3192       10,    11,    12,    13,    14,    -1,    -1,    -1,   629,    -1,
    3193       -1,    -1,    -1,   634,     0,     1,    -1,  1162,   109,   640,
    3194      111,    -1,    -1,    -1,  1024,    -1,   182,   118,   119,    39,
    3195       -1,    -1,    -1,    -1,    -1,    -1,   192,   193,    -1,    -1,
    3196       -1,   197,    -1,   199,   200,    -1,    32,    97,    98,    99,
    3197      100,   101,   102,   103,   104,   105,   106,    67,    -1,  1204,
    3198     1205,    -1,    72,    49,    74,    75,    76,    72,    -1,    74,
    3199       75,    76,    -1,    83,    84,   696,    -1,  1222,    83,    84,
    3200       -1,   131,  1227,    69,     0,    -1,    -1,    -1,    -1,    -1,
    3201       -1,    -1,  1301,    -1,    -1,    -1,    -1,   718,  1243,   109,
    3202      583,   584,  1247,    -1,   109,    -1,   111,    -1,   118,   119,
    3203       -1,    -1,    -1,   118,   119,    -1,    32,    -1,    -1,    -1,
    3204      106,    -1,    -1,    -1,    -1,    -1,    -1,   748,    -1,   612,
    3205       -1,    -1,   615,   616,    -1,   618,    -1,   620,   621,    -1,
    3206       -1,    -1,   625,   626,    -1,    -1,    -1,  1292,  1293,    -1,
    3207       -1,   772,    -1,    69,    -1,    -1,  1301,    -1,    -1,    -1,
    3208       -1,  1306,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3209      156,   157,    -1,    -1,    10,    11,    12,    13,    14,    -1,
    3210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3211       -1,    -1,    -1,    -1,    -1,  1340,    10,    11,    12,    13,
    3212       14,   187,    -1,    39,  1204,    -1,    -1,    -1,   829,    -1,
    3213       -1,    -1,    -1,   834,    -1,    -1,   202,    -1,    -1,   205,
    3214      206,   704,    -1,    -1,   210,    39,   709,   710,    -1,    -1,
    3215       -1,    67,   715,    -1,    -1,    -1,    72,    -1,    74,    75,
    3216       76,   157,    -1,    -1,    -1,   231,    -1,    83,    84,   235,
    3217       -1,   237,    -1,    67,    -1,  1400,    -1,    -1,    72,    -1,
    3218      246,    -1,    76,    -1,    -1,    -1,   252,    -1,    -1,    83,
    3219       84,   257,  1417,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3220       -1,   267,   118,   119,    -1,    -1,    -1,    -1,    -1,   275,
    3221       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,  1443,    -1,
    3222       -1,  1301,   923,    -1,   118,   119,   927,    -1,    -1,    -1,
    3223       -1,    -1,    -1,    -1,    -1,   231,    -1,    -1,    -1,    -1,
    3224       -1,  1466,    -1,    -1,    -1,   946,    -1,    -1,  1473,    -1,
    3225     1475,    -1,  1477,    -1,    -1,    -1,   252,    -1,    -1,    -1,
    3226       -1,   257,    -1,    -1,    -1,    -1,   967,   968,   969,    -1,
    3227       -1,    -1,    -1,    -1,    -1,    -1,   342,    -1,    -1,    -1,
    3228      346,    -1,  1507,    -1,    -1,    -1,   352,  1512,    -1,  1514,
    3229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   365,
    3230       -1,  1526,    -1,   369,    -1,    -1,   372,  1532,  1533,    -1,
    3231       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1542,    -1,    -1,
    3232     1021,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3233       -1,    -1,  1557,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3234       -1,    -1,    -1,    -1,    -1,    -1,    -1,   583,   584,    -1,
    3235       -1,    -1,    -1,   419,    -1,    -1,   352,    -1,    -1,    -1,
    3236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,
    3237       -1,     0,    -1,   439,    -1,    -1,   612,    -1,    -1,   615,
    3238      616,   447,   618,    -1,   620,   621,    -1,    -1,    -1,   625,
    3239      626,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3240       -1,  1102,  1103,    32,    -1,    -1,    -1,   473,    -1,    -1,
    3241      476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3242       39,    -1,    -1,   419,    -1,   491,    -1,   493,    -1,    -1,
    3243       -1,    -1,    -1,    -1,    -1,   501,    -1,    -1,   434,   505,
    3244       69,    -1,    -1,   439,    -1,    -1,    -1,    -1,    67,    -1,
    3245       -1,   447,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
    3246       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,   534,   535,
    3247       -1,    -1,    -1,   709,   710,    -1,    -1,   473,     7,   715,
    3248       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3249      109,    -1,   111,    -1,    -1,   491,    -1,   493,    -1,   118,
    3250      119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
    3251       39,    40,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,
    3252       -1,  1222,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,
    3253       -1,    -1,   598,   599,    -1,    -1,  1099,    66,    67,   535,
    3254       -1,    -1,    -1,    72,    -1,   611,  1247,    76,    -1,    -1,
    3255       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3256       -1,    -1,    -1,   629,    -1,    94,    -1,    -1,   634,    -1,
    3257       -1,    -1,    -1,    -1,   640,    -1,    -1,   643,   644,   645,
    3258      109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
    3259      119,   120,   121,   122,   123,    -1,   662,    -1,    -1,    -1,
    3260       -1,    -1,    -1,   599,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,
    3262       -1,    -1,    -1,   252,    -1,   691,    -1,    -1,   257,    -1,
    3263      696,   697,    -1,    -1,   700,    -1,    -1,    -1,    -1,  1340,
    3264       -1,    -1,    -1,    -1,    -1,    -1,    -1,   643,   644,   645,
    3265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3266       -1,  1224,    -1,    -1,    -1,    -1,   662,   733,    -1,    -1,
    3267      736,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,
    3268       -1,    -1,   748,    -1,   680,    -1,    -1,    -1,    -1,    -1,
    3269       -1,    -1,    -1,    -1,    -1,   691,    -1,    -1,    -1,    -1,
    3270       -1,   697,    -1,    -1,    -1,    -1,   772,   773,    -1,    -1,
    3271       -1,    -1,   778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3272       -1,    -1,    -1,   352,    -1,    -1,    -1,    -1,    -1,    -1,
    3273       -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,
    3274      736,    -1,  1443,    -1,    -1,    -1,    -1,    -1,    -1,   815,
    3275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,
    3276       -1,   827,    -1,   829,    -1,    -1,   832,    -1,   834,   835,
    3277       -1,    -1,    -1,   839,  1475,    -1,  1477,   773,    -1,    -1,
    3278       -1,    -1,    -1,   849,    -1,    -1,    -1,    -1,    -1,    -1,
    3279      419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3280       -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,    -1,
    3281      439,  1512,    -1,  1514,    -1,    -1,    -1,    -1,   447,   815,
    3282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,
    3283       -1,   827,    -1,    -1,    -1,   901,   832,    -1,    -1,   835,
    3284       -1,  1542,    -1,   839,   473,    -1,    -1,    -1,    -1,    -1,
    3285       -1,    -1,    -1,    -1,    -1,    -1,     0,   923,    -1,    -1,
    3286       -1,    -1,   491,  1099,   493,    37,    38,    -1,    40,    -1,
    3287       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3288       20,    21,    22,    23,    24,    25,    26,    27,    32,    -1,
    3289       30,    31,    32,   959,    66,    -1,    -1,    -1,    -1,    39,
    3290       72,   967,   968,    -1,    76,   901,   535,    79,    80,    81,
    3291       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,   985,
    3292       -1,    -1,    94,    -1,    -1,    69,     0,    67,    -1,    -1,
    3293       -1,    -1,    72,    -1,    74,    75,    76,   109,    -1,   111,
    3294       -1,    -1,   114,    83,    84,    -1,   118,   119,   120,   121,
    3295      122,   123,    -1,    -1,    -1,  1021,    -1,    -1,    32,    -1,
    3296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1034,   109,
    3297      599,   111,    -1,  1039,  1040,    -1,  1042,  1043,   118,   119,
    3298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1224,   985,
    3299       -1,    -1,    -1,    -1,    -1,    69,  1062,    -1,    -1,    -1,
    3300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3301       -1,    -1,    -1,   157,   643,   644,   645,    -1,    -1,    -1,
    3302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3303       -1,  1097,  1098,   662,    -1,    -1,    -1,  1103,    -1,    -1,
    3304       -1,    -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,    -1,
    3305       -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3306       -1,    -1,   691,    -1,    -1,    -1,  1062,    -1,   697,    -1,
    3307       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3308       -1,    -1,    -1,   157,    -1,    -1,    37,    38,    -1,    40,
    3309       -1,    -1,    -1,    -1,    -1,    -1,  1162,    -1,    -1,    -1,
    3310       -1,  1097,  1098,    -1,   733,    -1,    -1,   736,   252,    -1,
    3311       -1,    -1,    -1,   257,    -1,    66,    -1,    -1,    -1,    -1,
    3312       -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3313       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,  1205,
    3314       -1,    -1,    -1,    94,   773,    -1,    -1,    -1,    -1,    -1,
    3315       -1,    -1,    -1,    -1,    -1,    -1,  1222,    -1,   109,    -1,
    3316      111,  1227,   113,   114,    -1,    -1,  1162,   118,   119,   120,
    3317      121,   122,   123,    -1,    -1,  1241,    -1,  1243,   252,    -1,
    3318       -1,  1247,    -1,   257,    -1,    -1,   815,    -1,    -1,    -1,
    3319       -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,   827,    -1,
    3320       -1,    -1,    -1,   832,    -1,    -1,   835,  1273,   352,  1205,
    3321      839,    -1,    -1,    -1,    -1,  1281,  1282,  1283,    -1,    -1,
    3322       -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,    -1,    -1,
    3323       -1,  1227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3324     1306,    -1,    -1,    -1,    -1,  1241,    -1,  1243,    -1,    -1,
    3325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3326       -1,    -1,    -1,  1329,    -1,    -1,    -1,    -1,    -1,    -1,
    3327       -1,    -1,   901,    -1,  1340,   419,    -1,  1273,   352,    -1,
    3328       -1,    -1,    -1,    -1,    -1,  1281,  1282,  1283,    -1,    -1,
    3329      434,    -1,    -1,    -1,    -1,   439,  1292,  1293,    -1,    -1,
    3330       -1,    -1,    -1,   447,    -1,    -1,    -1,    -1,    -1,    -1,
    3331     1306,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3332       19,    20,    21,    22,    23,    24,    25,    26,    27,   473,
    3333       -1,    -1,    -1,  1329,    -1,    -1,    -1,    -1,    -1,    -1,
    3334       39,    -1,    -1,    -1,    -1,   419,    -1,   491,    -1,   493,
    3335       -1,  1417,    -1,    -1,    -1,    -1,   985,    -1,    -1,    -1,
    3336      434,    -1,    -1,    -1,    -1,   439,    -1,    -1,    67,    -1,
    3337       -1,    -1,    -1,   447,    -1,    -1,    -1,  1443,    -1,    -1,
    3338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3339       -1,   535,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   473,
    3340     1466,    -1,    -1,    -1,    -1,    -1,    -1,  1473,    -1,    -1,
    3341     1039,  1040,    -1,  1042,  1043,    -1,    -1,   491,    -1,   493,
    3342       -1,  1417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3343       -1,    -1,    -1,  1062,    -1,    10,    11,    12,    13,    14,
    3344       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3345       25,    26,    27,    28,    -1,   599,    -1,    -1,    -1,    -1,
    3346     1526,   535,    -1,    -1,    39,    -1,    -1,  1533,  1097,  1098,
    3347     1466,    -1,    -1,    -1,    -1,    -1,    -1,  1473,    -1,    -1,
    3348       -1,    -1,    -1,    -1,    53,    -1,    55,    -1,    -1,    58,
    3349       59,    60,    67,    62,    -1,    -1,    -1,    -1,    -1,   643,
    3350      644,   645,    -1,    78,    -1,    -1,    -1,    -1,    77,    -1,
    3351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   662,    -1,
    3352       89,    90,    -1,    -1,    -1,   599,    -1,    -1,    -1,    -1,
    3353     1526,    -1,    -1,  1162,    -1,    -1,   680,    -1,    -1,    -1,
    3354       -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,    -1,    -1,
    3355       -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
    3356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   643,
    3357      644,   645,    -1,    -1,    -1,    -1,  1205,    -1,    -1,    -1,
    3358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   662,   733,
    3359       -1,    -1,   736,    -1,    -1,    -1,    -1,    -1,  1227,    -1,
    3360       -1,    -1,    -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,
    3361       -1,    -1,  1241,    -1,  1243,    -1,    -1,   691,    -1,    -1,
    3362       -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,   773,
    3363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3364       -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,   733,
    3366       -1,    -1,   736,  1292,  1293,    -1,    -1,    -1,    -1,    -1,
    3367       -1,   815,    -1,    -1,    -1,    -1,    -1,  1306,    -1,    -1,
    3368       -1,   825,    -1,   827,    -1,    -1,    -1,    -1,   832,    -1,
    3369       -1,   835,    -1,    -1,    -1,   839,    -1,    -1,    -1,   773,
    3370     1329,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3372       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3373       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3374       32,   815,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3375       -1,   825,    -1,   827,    -1,    -1,    -1,   901,   832,    -1,
    3376       -1,   835,    -1,    -1,    -1,   839,    -1,    -1,    -1,    -1,
    3377       -1,    -1,    -1,    -1,    -1,    67,   345,    69,   347,    71,
    3378       -1,    -1,    74,    75,    -1,    -1,    -1,    -1,  1417,   358,
    3379      359,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     4,     5,
    3380        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3381       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3382       26,    27,   114,    -1,    30,    31,    32,   901,    -1,    -1,
    3383       -1,    37,    38,    39,    40,    -1,    -1,  1466,    -1,    -1,
    3384       -1,   985,    -1,    -1,  1473,    -1,    -1,    -1,    -1,    -1,
     3704      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3705      -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
     3706      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1541,
    33853707      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    33863708      66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
    33873709      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    33883710      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3389       -1,    -1,    -1,    -1,    -1,  1039,  1040,  1526,  1042,  1043,
     3711      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    33903712      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3391      116,   985,   118,   119,   120,   121,   122,   123,  1062,    -1,
    3392       -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3713     116,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
     3714       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3715      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3716      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3717      -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3718      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3719      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3720      66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
     3721      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3722      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3723      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3724      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    83,    84,
     3725     116,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
     3726       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3727      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3728      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3729      -1,    37,    38,    39,    40,    -1,    -1,    -1,    10,    11,
    33933730      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3394       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3395       32,    -1,    -1,  1097,  1098,    37,    38,    39,    40,    -1,
    3396       -1,    66,    -1,    -1,    -1,  1039,  1040,    -1,  1042,  1043,
    3397       -1,    76,    -1,    78,    -1,    80,    -1,    -1,    -1,    -1,
    3398       -1,    -1,    87,    -1,    66,    67,    -1,    69,  1062,    71,
    3399       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3400       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3401       -1,    -1,    94,   118,    -1,   120,   121,   122,  1162,    -1,
    3402       -1,    -1,    -1,  1097,  1098,    -1,    -1,   109,    -1,   111,
    3403       37,    38,    -1,    40,   116,    -1,   118,   119,   120,   121,
    3404      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3405       -1,    -1,    -1,    -1,    -1,    -1,   161,    -1,    -1,    66,
    3406       -1,  1205,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3407       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3408       87,    -1,    -1,  1227,    -1,    -1,    -1,    94,  1162,    -1,
    3409       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1241,    -1,  1243,
    3410       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3411      117,   118,   119,   120,   121,   122,   123,   222,    -1,   224,
    3412      225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1273,
    3413       -1,  1205,    -1,    -1,    -1,    -1,    -1,  1281,  1282,  1283,
    3414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,
    3415       -1,    -1,    -1,  1227,    -1,   260,   725,    -1,   727,    -1,
    3416      265,    -1,  1306,    -1,    -1,   734,   735,  1241,    -1,  1243,
    3417      739,    -1,    -1,    -1,    -1,   280,    -1,    -1,    -1,    -1,
    3418       -1,    -1,   751,    -1,    -1,  1329,    -1,   756,    -1,    -1,
    3419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1273,
    3420       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1281,  1282,  1283,
    3421       -1,    -1,    -1,   782,    -1,    -1,    -1,    -1,  1292,  1293,
    3422       49,    -1,    -1,    -1,   329,    37,    38,    -1,    40,    -1,
    3423       -1,    -1,  1306,    -1,    -1,    -1,    -1,    66,    -1,    -1,
    3424       -1,    -1,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,
    3425       -1,   356,   357,    -1,    66,  1329,    -1,    -1,    -1,   364,
    3426       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    3427       82,    83,    84,  1417,    86,    87,    -1,    -1,    -1,    -1,
    3428       -1,    -1,    94,    -1,    -1,   114,    -1,    -1,    -1,   118,
    3429       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3430       -1,    -1,   407,    -1,   116,    -1,   118,   119,   120,   121,
    3431      122,   123,    -1,    -1,   883,   884,   885,   886,   147,   888,
    3432      425,    -1,  1466,    37,    38,   430,    40,   432,   157,  1473,
    3433       -1,    -1,   161,    -1,    -1,   904,    -1,    -1,    -1,    -1,
    3434       -1,    -1,    -1,  1417,   449,    -1,    -1,   452,   453,   918,
    3435       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    3436       -1,    -1,    76,   468,    -1,    79,    80,    81,    82,    83,
    3437       84,    -1,    86,    87,    -1,    -1,    -1,   482,    -1,    -1,
    3438       94,   210,  1526,    -1,   489,    -1,    -1,    -1,   957,    -1,
    3439       -1,    -1,  1466,   222,    -1,   109,    -1,   111,    -1,  1473,
    3440      114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3441       -1,   240,   241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   997,    -1,
    3443       -1,    -1,    -1,    -1,    -1,  1004,   265,    -1,    -1,    -1,
    3444     1009,    -1,    -1,   272,    -1,  1014,    -1,  1016,    -1,    -1,
    3445       -1,  1020,  1526,  1022,  1023,    -1,    -1,  1026,    37,    38,
    3446       -1,    40,    -1,    -1,    -1,    -1,  1035,   296,    -1,    -1,
    3447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,
    3448       -1,    -1,    -1,    -1,  1053,  1054,    -1,    66,    -1,    -1,
    3449       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,   603,    -1,
    3450       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3451       -1,  1080,    -1,    -1,  1083,    94,    -1,   346,    -1,    -1,
    3452       -1,    -1,   351,    -1,    -1,    -1,   631,    44,    -1,    -1,
    3453      109,   636,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
    3454      119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
    3455       -1,    -1,    -1,  1122,    -1,    -1,    -1,    -1,    -1,  1128,
    3456     1129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3457       -1,  1140,    -1,    -1,    -1,    92,  1145,    -1,    -1,  1148,
    3458       -1,  1150,    -1,    -1,  1153,   102,    -1,    -1,    -1,    -1,
    3459       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1166,   427,   428,
    3460       -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,    -1,
    3461     1179,    -1,  1181,  1182,  1183,  1184,    -1,    -1,    -1,   724,
    3462       -1,    -1,    -1,    -1,    -1,    -1,   455,    -1,  1197,   458,
    3463     1199,    -1,    -1,   738,  1203,    -1,    -1,    -1,    -1,    -1,
    3464       -1,   158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3465       -1,    -1,    -1,   758,    -1,   172,    -1,    -1,    -1,    -1,
    3466       -1,    -1,   491,  1232,  1233,    -1,    -1,    -1,    -1,    -1,
    3467       -1,    -1,    -1,    -1,   503,    -1,    -1,    -1,   195,    -1,
    3468       -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,   517,    -1,
    3469       -1,   520,   209,   522,   523,    -1,    -1,    -1,    -1,    -1,
    3470       -1,   218,    -1,    -1,    -1,    -1,   535,    -1,    -1,    -1,
    3471       -1,   228,    -1,    -1,   819,  1284,  1285,    -1,    -1,    -1,
    3472       -1,    -1,    -1,    -1,    -1,  1294,   831,    -1,    -1,    -1,
    3473       -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,
    3474       -1,   258,    -1,    -1,    -1,   850,    -1,    -1,    -1,    -1,
    3475       -1,    -1,    -1,    -1,   271,    -1,    -1,    -1,   587,    -1,
    3476      277,    -1,   279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3477      599,    -1,    -1,    -1,   603,    -1,    -1,  1346,    -1,    -1,
    3478      297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1358,
    3479       -1,  1360,  1361,  1362,    -1,    -1,    -1,    -1,    -1,    -1,
    3480      629,    -1,    -1,  1372,    -1,   634,    -1,    -1,    -1,    -1,
    3481       -1,    -1,  1381,    -1,   643,   644,   645,    -1,    -1,    -1,
    3482       -1,    -1,   339,    -1,    -1,    -1,    -1,   344,  1397,    -1,
    3483       -1,    -1,   937,   662,    -1,    -1,    -1,    10,    11,    12,
    3484       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3485       23,    24,    25,    26,    27,    28,   373,    -1,   963,    -1,
    3486      377,   378,    -1,   380,    -1,    -1,    39,    -1,   697,    -1,
    3487      387,   388,    -1,   390,   391,    -1,   393,    -1,   395,    -1,
    3488       -1,    -1,    -1,    -1,  1453,  1454,   991,    -1,    -1,   718,
    3489       -1,    -1,    -1,    -1,    67,   412,    -1,  1466,    -1,    -1,
    3490       -1,    -1,    -1,   420,  1473,    78,    -1,   736,    -1,   738,
    3491       -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,    -1,  1024,
    3492       10,    11,    12,    13,    14,    -1,    -1,    -1,   445,    -1,
    3493     1035,    -1,    -1,    -1,    -1,    -1,    -1,  1506,    -1,   456,
    3494       -1,  1510,    -1,    -1,   773,    -1,    -1,    37,    38,    39,
    3495       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3496       -1,    -1,   479,    -1,    -1,    -1,    -1,    -1,   485,    -1,
    3497     1539,    -1,  1541,   490,    -1,    -1,    66,    67,    -1,    -1,
    3498       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3499       80,    81,    82,    83,    84,    -1,    86,    87,   827,    -1,
    3500     1569,  1570,   831,    -1,    94,    -1,   835,    -1,  1577,  1578,
    3501      527,    -1,  1117,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3502       -1,   111,    -1,    -1,   541,    -1,    -1,    -1,   118,   119,
    3503      120,   121,   122,   123,    -1,    -1,    -1,    10,    11,    12,
    3504       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3505       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
    3506      147,    -1,   579,    -1,    -1,    -1,    39,    -1,    -1,    -1,
    3507      157,   588,    -1,    -1,    -1,    -1,    -1,    -1,   595,    -1,
    3508       -1,    -1,   169,   170,   601,    -1,    -1,    -1,    -1,    -1,
    3509       -1,    -1,    -1,   610,    67,    -1,    -1,    -1,   927,  1204,
    3510       -1,    74,    75,    -1,    -1,    78,    -1,    -1,    -1,    -1,
    3511       -1,    -1,    -1,    -1,    -1,    -1,    -1,   946,    -1,    37,
    3512       38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3513       -1,    -1,    -1,    -1,   651,    -1,   109,    -1,   111,    -1,
    3514      969,    -1,    -1,    -1,    -1,   118,   119,    -1,    66,    -1,
    3515       -1,    -1,    -1,   240,    72,    -1,   985,    -1,    76,    -1,
    3516       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3517      687,    -1,    -1,    -1,    -1,    -1,    94,   264,    -1,    -1,
    3518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3519       -1,   109,  1021,   111,    -1,    -1,  1301,    -1,    -1,    -1,
    3520      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3521       -1,    -1,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,
    3522       -1,    -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,
    3523       -1,    -1,    -1,    -1,    -1,   752,   753,    -1,    -1,    -1,
    3524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   766,
    3525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3526       -1,    -1,    -1,    -1,    -1,    -1,   783,    -1,   785,    -1,
    3527       -1,    -1,   789,  1102,    -1,    -1,    -1,    -1,    -1,    -1,
    3528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3529       -1,    -1,    -1,    -1,   381,    -1,     3,     4,     5,     6,
    3530        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3531       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3532       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3533       -1,    -1,    39,  1162,    -1,    -1,    -1,   854,    -1,    -1,
    3534       -1,    -1,    -1,    -1,   861,    -1,    -1,    -1,    -1,    -1,
    3535       -1,    -1,   156,   157,    -1,    -1,    -1,   874,    -1,   876,
    3536       67,    -1,    69,    -1,    71,    72,    -1,    74,    75,    76,
    3537       -1,    -1,    -1,   890,    -1,  1204,    83,    84,    -1,    -1,
    3538      897,    -1,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,
    3539       -1,    -1,   909,   197,    -1,   912,   483,    -1,    -1,    -1,
    3540       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3541       -1,   118,   119,   930,  1243,    -1,    10,    11,    12,    13,
    3542       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3543       24,    25,    26,    27,    -1,   522,    30,    31,    32,    -1,
    3544       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,   535,    -1,
    3545       -1,    -1,  1557,   540,    -1,    -1,   543,    -1,    -1,    -1,
    3546       -1,    -1,    -1,  1292,  1293,   269,    -1,   554,   555,    -1,
    3547       -1,    -1,  1301,    67,    -1,    -1,    -1,    -1,    -1,    -1,
    3548       74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3549      577,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3550      587,    -1,  1019,    -1,    -1,    -1,    -1,   594,    -1,    -1,
    3551       -1,    -1,   599,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3552      324,   115,    -1,    -1,   118,   119,    -1,    -1,   332,   333,
    3553       -1,   335,   336,    -1,    37,    38,    -1,    40,    -1,    -1,
    3554       -1,    -1,   346,    -1,    -1,    -1,   350,    -1,    -1,    -1,
    3555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1076,
    3556       -1,   648,    -1,    66,    -1,   369,  1083,    -1,   372,    72,
    3557      657,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3558       83,    84,    -1,    86,    87,    -1,    -1,    -1,  1417,    -1,
    3559       -1,    94,    -1,    -1,    -1,   399,  1113,    -1,    -1,   403,
    3560       -1,  1118,    -1,    -1,    -1,    -1,   109,    -1,   111,  1126,
    3561      697,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3562      123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3563      434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3564     1157,    -1,    -1,    -1,    -1,    -1,  1475,    -1,  1477,    -1,
    3565       -1,    -1,  1169,   457,    -1,  1172,    -1,  1174,    -1,    -1,
    3566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3567       -1,  1188,  1189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3568       -1,    -1,    -1,  1512,   488,  1514,   773,   491,   775,    -1,
    3569       -1,    -1,    -1,  1210,   781,    -1,    -1,    -1,    -1,    -1,
    3570       -1,   788,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
    3571       40,    -1,    -1,  1542,    -1,    -1,    -1,    -1,    -1,    -1,
    3572     1237,    -1,    -1,    -1,    -1,    -1,    -1,   531,    -1,    -1,
    3573      534,   535,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
    3574       -1,    -1,    72,    -1,   831,   832,    76,    -1,   835,    79,
    3575       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3576       -1,    -1,   849,    -1,    94,    -1,    -1,    -1,    -1,    -1,
    3577       -1,    -1,    -1,    -1,    -1,   579,   580,    -1,    -1,   109,
    3578       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3579      120,   121,   122,   123,   598,   599,    -1,    -1,    -1,    -1,
    3580       -1,    -1,   889,    -1,    -1,   609,   893,   611,   612,    -1,
    3581       -1,    -1,    -1,    -1,   618,    -1,    -1,    -1,  1335,    -1,
    3582     1337,    -1,    -1,    -1,   628,   629,   283,    -1,   285,   286,
    3583      634,    -1,    -1,  1350,    -1,  1352,   293,   294,    -1,   643,
    3584      644,   645,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3585       -1,   308,   309,  1370,    -1,    -1,    -1,    -1,   662,    -1,
    3586       -1,    -1,    -1,   667,   668,    -1,    -1,   671,   672,  1386,
    3587     1387,    -1,    -1,    -1,   678,    -1,    -1,    -1,    -1,    -1,
    3588       -1,  1398,   969,    -1,  1401,    -1,    -1,    -1,    -1,   346,
    3589       -1,    -1,   696,   697,   698,    -1,   700,    -1,   985,   986,
    3590      704,    -1,    -1,    -1,    -1,   992,  1423,    -1,    -1,    -1,
    3591       -1,   998,    -1,    -1,  1001,  1432,  1003,    -1,  1435,    -1,
    3592     1437,  1438,  1439,    -1,    -1,   382,    -1,    -1,    -1,    -1,
    3593       -1,    -1,   736,   737,    -1,    -1,    -1,  1024,    -1,    -1,
    3594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1035,    -1,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       -1,    -1,  1479,    -1,  1481,    -1,    -1,  1484,   772,   773,
    3597     1057,    -1,  1059,   777,   778,    -1,    -1,    -1,    -1,    -1,
    3598       -1,    -1,  1499,    -1,    -1,    -1,    -1,  1074,  1075,    -1,
    3599       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3600       20,    21,    22,    23,    24,    25,    26,    27,  1095,    -1,
    3601       30,    31,    32,    -1,    -1,   819,    -1,    -1,    -1,    39,
    3602       -1,    -1,    -1,   827,    -1,    -1,    -1,    -1,    -1,    -1,
    3603      834,   835,    -1,    -1,   838,    -1,   840,    -1,    -1,    -1,
    3604       -1,    -1,    -1,    -1,    -1,    -1,   850,    67,    -1,    -1,
    3605       -1,    -1,    -1,    -1,    74,    75,  1143,    -1,    -1,    -1,
    3606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3607       -1,    -1,    -1,    -1,    -1,  1162,    -1,    -1,    -1,    -1,
    3608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3609     1177,  1178,    -1,    37,    38,    -1,    40,    -1,   118,   119,
    3610       -1,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    3611      567,   568,   569,   570,   571,   572,   573,   574,   575,   923,
    3612       -1,    -1,    66,    -1,    -1,    -1,    -1,   931,    72,    -1,
    3613       -1,    -1,    76,   937,    -1,    79,    80,    81,    82,    83,
    3614       84,   945,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3615       94,    -1,    -1,    -1,   958,   959,    -1,    -1,    -1,    -1,
    3616       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
    3617       -1,    -1,  1259,    -1,   118,   119,   120,   121,   122,   123,
    3618       -1,   985,    -1,    -1,    -1,    -1,    -1,   991,    -1,    -1,
    3619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3620       -1,    -1,    -1,    -1,    -1,    -1,  1010,  1011,    -1,    -1,
    3621       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,
    3622       -1,    -1,    -1,  1027,  1028,    -1,  1030,  1031,  1032,    -1,
    3623       -1,    -1,    -1,  1320,    -1,  1322,    -1,    -1,  1042,  1043,
    3624       -1,    -1,   699,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3626       -1,    -1,    -1,    -1,   721,    -1,    -1,    -1,    -1,     4,
     3731      22,    23,    24,    25,    26,    27,    28,    -1,    -1,    -1,
     3732      66,    67,    -1,    69,    -1,    71,    72,    39,    74,    75,
     3733      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3734      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3735      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3736      -1,    -1,    -1,   109,    -1,   111,    78,    -1,    -1,    -1,
     3737      -1,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
     3738       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3739      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3740      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3741      -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3742      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3743      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3744      66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
     3745      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3746      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3747      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3748      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3749      -1,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
     3750       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3751      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3752      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3753      -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3754      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3755      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3756      66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
     3757      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3758      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3759      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3760      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3761      -1,    -1,   118,   119,   120,   121,   122,   123,     4,     5,
     3762       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3763      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3764      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3765      -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3766      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3767      25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3768      66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
     3769      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3770      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3771      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3772      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3773      -1,    -1,   118,   119,   120,   121,   122,   123,     3,     4,
    36273774       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    36283775      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3629       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,  1103,
    3630     1104,  1105,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3631       -1,    -1,    -1,  1117,    -1,    -1,    -1,    -1,    -1,    -1,
    3632       -1,  1408,    -1,   780,    -1,    -1,    -1,    -1,    -1,    -1,
    3633       -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3634       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3635       -1,    86,    87,    -1,    -1,   812,    -1,    -1,  1162,    94,
    3636       -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3776      25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
     3777      -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,
     3778      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3779      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,
     3780      -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3781      75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
     3782      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3783      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36373784      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3638       -1,   116,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3639       -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3640       -1,    76,    -1,  1490,    79,    80,    81,    82,    83,    84,
    3641       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,  1222,    94,
    3642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3643       -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,  1243,
    3644       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3645       -1,    -1,    -1,    -1,    -1,  1542,    -1,    -1,    -1,    -1,
    3646       -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
    3647       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3648       20,    21,    22,    23,    24,    25,    26,    27,  1292,  1293,
    3649       30,    31,    32,    33,    -1,    -1,    36,    37,    38,    39,
    3650       40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
    3651       50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
    3652      977,    61,    62,    -1,    64,    -1,    66,    67,    -1,    69,
    3653       -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3654       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3655       -1,  1008,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
    3656       -1,    -1,    -1,    -1,  1021,    -1,    -1,    -1,    -1,   109,
    3657       -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
    3658      120,   121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,
    3659       -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3660       -1,    -1,    -1,    -1,    -1,  1062,    -1,    -1,    -1,    -1,
    3661       -1,    -1,     0,  1417,    -1,     3,     4,     5,     6,     7,
     3785     115,    -1,    -1,   118,   119,     3,     4,     5,     6,     7,
    36623786       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    36633787      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    36643788      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    36653789      -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3666       -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3667       -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,  1135,    67,
     3790      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3791      -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,
    36683792      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3669       -1,    66,    -1,    -1,    -1,    83,    84,    72,    -1,    -1,
    3670       -1,    76,    -1,  1507,    79,    80,    81,    82,    83,    84,
    3671       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    3672       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,  1532,  1533,
    3673      118,   119,    -1,    -1,   109,    -1,  1193,  1194,    -1,    -1,
    3674       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3675       -1,    -1,    -1,  1557,     3,     4,     5,     6,     7,     8,
    3676        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3677       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3678       -1,    30,    31,    32,    33,    -1,    -1,    36,    37,    38,
    3679       39,    40,    10,    11,    12,    13,    14,    15,    16,    17,
    3680       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3681       -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,
    3682       69,    39,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3683       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3684       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,
    3685       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,    -1,
    3686      109,    -1,   111,    -1,    -1,    83,    84,    -1,    -1,   118,
    3687      119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
    3688       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,     3,
     3793      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     3794      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3795      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3796      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3797     118,   119,     3,     4,     5,     6,     7,     8,     9,    10,
     3798      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3799      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3800      31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
     3801      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3802      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3803      30,    31,    32,    33,    34,    35,    67,    -1,    69,    39,
     3804      71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
     3805      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
     3806      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3807      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3808     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     3,
    36893809       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    36903810      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    36913811      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
    3692       -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,    -1,
     3812      -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    36933813      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3694       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1404,    -1,    -1,
    3695       -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,
    3696       74,    75,    76,    -1,  1421,    79,    80,    81,    82,    83,
     3814      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3815      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3816      74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3817      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3818      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3819      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3820      -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,     7,
     3821       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3822      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3823      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3824      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3825      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3826      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3827      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3828      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     3829      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3830      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3831      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3832     118,   119,     4,     5,     6,     7,     8,     9,    10,    11,
     3833      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3834      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3835      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3836      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3837      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3838      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3839      -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3841      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3842      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3843      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     4,     5,
     3844       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3845      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3846      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3847      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3848      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3849      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3850      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     3851      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3852      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3853      96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3854      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3855      -1,    -1,   118,   119,     4,     5,     6,     7,     8,     9,
     3856      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3857      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3858      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3859      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3860      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3861      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3862      -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
     3863      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3864      -1,    -1,    -1,    -1,    94,    -1,    96,    -1,    -1,    -1,
     3865      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3866      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3867       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3868      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3869      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3870      -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
     3871      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3872      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3873      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3874      74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3876      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3877      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3878      -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,     7,
     3879       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3880      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3881      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3882      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3883      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3884      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3885      -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
     3886      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3887      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3888      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3889      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3890     118,   119,     4,     5,     6,     7,     8,     9,    10,    11,
     3891      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3892      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3893      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3894      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3895      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3896      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3897      -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
     3898      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3899      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3900      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     3901      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     4,     5,
     3902       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3903      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3904      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3905      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3906      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3907      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3908      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     3909      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3910      20,    21,    22,    23,    24,    25,    26,    27,    94,    -1,
     3911      30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
     3912      40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3913      -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,
     3914      -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
     3915      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3916      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3917      -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
     3918      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3919      -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
     3920     120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
     3921      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3922      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3923      -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
     3924      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3925      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3926      66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3927      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3928      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3929      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3930      -1,    -1,    -1,   109,   110,   111,    -1,    -1,    -1,    -1,
     3931      -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
     3932      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3933      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3934      32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
     3935      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3936      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3937      -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,    -1,
     3938      72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
     3939      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3940      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3941      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     3942      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     3943     122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
     3944      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3945      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3946      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3947      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3948      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3949      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     3950      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3951      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3952      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3953      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3954     118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
     3955      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3956      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3957      -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
     3958      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3959      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3960      -1,    -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,
     3961      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    36973962      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    36983963      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36993964      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    37003965      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3701       -1,    -1,    -1,     4,     5,     6,     7,     8,     9,    10,
    3702       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3703       21,    22,    23,    24,    25,    26,    27,  1494,  1495,    30,
    3704       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    37053966      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    37063967      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3707       30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
    3708       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3709       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3710       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3711       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3712      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3713      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3714       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3715       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3716       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3717       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3718       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3719       30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
    3720       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3721       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3722       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3723       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3724      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3725      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3726       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3727       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3728       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3731       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3732       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3733       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3734       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3736      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3737      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3738       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3739       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3740       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3743       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3744       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3745       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3746       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3748      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3749      121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
    3750       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3751       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3752       30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,    39,
     3968      30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
    37533969      40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37543970      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3755       -1,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    69,
    3756       -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
    3757       -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
    3758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3971      -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
     3972      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3973      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3974      -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
    37593975      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3760       -1,   111,    -1,    -1,    -1,   115,    -1,    -1,   118,   119,
    3761        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3762       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3763       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3764       33,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,
    3765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3767       -1,    64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,
    3768       -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
    3769       83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3771       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3772       -1,    -1,    -1,    -1,    -1,   118,   119,     3,     4,     5,
    3773        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3774       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3775       26,    27,    28,    -1,    30,    31,    32,    33,    -1,    -1,
    3776       36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3779       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3780       -1,    -1,    78,     3,     4,     5,     6,     7,     8,     9,
    3781       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3782       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3783       30,    31,    32,    33,    -1,   111,    36,    -1,    -1,    39,
    3784       -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,
    3785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3787       -1,    71,    -1,    -1,    74,    75,     3,     4,     5,     6,
    3788        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3789       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3790       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3791       -1,   111,    39,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3794       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3795        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3796       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3797       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3798       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3799       -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3801       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3802       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3803       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3805       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3806       -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,     7,
    3807        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3808       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3809       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3810       -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3811       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3812       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
    3813       -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
    3814        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3815       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3816       25,    26,    27,    67,    -1,    30,    31,    32,    -1,    -1,
    3817       74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,    -1,
    3818      118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3820       -1,    -1,    67,    -1,    69,   109,    71,   111,    -1,    74,
    3821       75,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,
    3822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3823       -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3824       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3825       -1,    -1,    -1,   118,   119,     4,     5,     6,     7,     8,
     3976      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3977     120,   121,   122,   123,     3,     4,     5,     6,     7,     8,
    38263978       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    38273979      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     
    38293981      39,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    38303982      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3831       26,    27,    -1,    -1,    30,    31,    32,    -1,    67,    -1,
     3983      26,    27,    28,    -1,    30,    31,    32,    -1,    67,    -1,
    38323984      69,    -1,    71,    39,    -1,    74,    75,    -1,    -1,    -1,
     3985      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3986      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3987      -1,    67,    30,    31,    32,    -1,    72,    -1,    74,    75,
     3988      76,    39,    78,    -1,    -1,   114,    -1,    83,    84,    -1,
     3989      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3990      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3991      -1,    -1,    -1,    -1,    72,   111,    74,    75,    76,    -1,
     3992      -1,    -1,   118,   119,    -1,    83,    84,    -1,    -1,    -1,
     3993      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    38333994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
    3835       -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3836       76,    -1,   111,    -1,    -1,    -1,    -1,    83,    84,   118,
    3837      119,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3838       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3839       23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
    3840       -1,    -1,   118,   119,    -1,    -1,    39,    -1,    -1,    -1,
     3995      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3996     118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
     3997      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3998      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3999      -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     4000      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4001      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
     4002      -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     4003      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     4004      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    67,
     4005      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     4006      -1,   109,    -1,   111,    -1,    83,    84,    -1,    -1,    -1,
     4007     118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    38414008      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4009      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     4010     118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
     4011      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4012      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     4013      -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     4014      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4015      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
     4016      -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     4017      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     4018      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    67,
     4019      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     4020      -1,   109,    -1,   111,    -1,    83,    84,    -1,    -1,    -1,
     4021     118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    38424022      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3843       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
    3844       -1,    74,    75,    -1,     4,     5,     6,     7,     8,     9,
    3845       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3846       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3847       30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,
    3848       -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,
     4023      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     4024     118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
     4025      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4026      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     4027      -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     4028      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4029      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
     4030      -1,    39,    40,    -1,    72,    -1,    74,    75,    -1,    -1,
     4031      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     4032      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    67,
     4033      -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
     4034      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     4035     118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    38494036      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3851       -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
    3852        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     4037      -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,
     4038     118,   119,    10,    11,    12,    13,    14,    15,    16,    17,
     4039      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     4040      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     4041      -1,    39,    40,    10,    11,    12,    13,    14,    15,    16,
     4042      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4043      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    67,
     4044      -1,    -1,    39,    40,    -1,    -1,    74,    75,    -1,    -1,
     4045      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4046      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     4047      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4048      -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,
     4049     118,   119,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4050      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4051      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4052      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
    38534053      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    38544054      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3855       -1,   111,    39,    -1,    -1,    -1,    -1,    -1,   118,   119,
     4055      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4056      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4057      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4058      67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
    38564059      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4060      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4061      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4062      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4063      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    38574064      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3858       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3859        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3860       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3861       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3862       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3863       -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4065      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4066      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4067      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4068      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4069      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4070      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4071      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4072      67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
    38644073      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3865       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3866       74,    75,    10,    11,    12,    13,    14,    15,    16,    17,
    3867       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3868       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3869       38,    39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3870       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,
    3871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3872       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    3873       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3874       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     4074      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4075      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4076      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4077      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    38754078      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3876       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3877      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
    3878       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3879       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3880       -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
    3881       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3882       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3883       -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
    3884       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3885       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3886       94,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
    3887       -1,    74,    75,    -1,    -1,   109,   110,   111,    -1,    -1,
    3888       83,    84,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3889       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3890       20,    21,    22,    23,    24,    25,    26,    27,   111,    -1,
    3891       30,    31,    32,    -1,    -1,   118,   119,    37,    38,    39,
    3892       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4079      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4080      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4081      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4082      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4083      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4084      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4085      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4086      67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4087      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4088      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4089      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4090      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4091      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4092      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4093      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4094      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4095      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4096      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4097      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4098      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4099      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4100      67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4101      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4102      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4103      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4104      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4105      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4106      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4107      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4108      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4109      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4110      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4111      -1,    -1,    39,    -1,    -1,     4,     5,     6,     7,     8,
     4112       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    38934113      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3894       -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
    3895       39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3896       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3897       -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,
    3898       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
    3899       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3900      120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
    3901       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3902       26,    27,   111,    -1,    30,    31,    32,    -1,    -1,   118,
    3903      119,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3904       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3905       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3906       66,    67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,
    3907       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3908       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3909       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3910       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3911       -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
    3912       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3913       22,    23,    24,    25,    26,    27,   111,    -1,    30,    31,
    3914       32,    -1,    -1,   118,   119,    37,    38,    39,    40,    10,
    3915       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3916       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3917       31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,    -1,
    3918       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3919       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3920       -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3921       -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,   111,
    3922       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    3923      122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
    3924       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3925      111,    -1,    30,    31,    32,    -1,    -1,   118,   119,    37,
    3926       38,    39,    40,    -1,    10,    11,    12,    13,    14,    15,
    3927       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3928       26,    27,    28,    -1,    30,    31,    32,    -1,    66,    67,
    3929       -1,    -1,    -1,    39,    72,    -1,    74,    75,    76,    -1,
    3930       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3931       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3932       -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3933       76,   109,    78,   111,    -1,    -1,    -1,    83,    84,    -1,
    3934      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
    3935       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3936       24,    25,    26,    27,    -1,   111,    30,    31,    32,    -1,
    3937       -1,    -1,   118,   119,    -1,    39,    10,    11,    12,    13,
    3938       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3939       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3940       -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    72,    -1,
    3941       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3942       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3943       -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,
    3944       74,    75,    76,    -1,    -1,   109,    -1,   111,    -1,    83,
    3945       84,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,
    3946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3947       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3948       -1,    -1,    -1,    -1,   118,   119,    10,    11,    12,    13,
    3949       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3950       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3951       -1,    -1,    -1,    -1,    -1,    39,    10,    11,    12,    13,
    3952       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3953       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
    3954       -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    72,    -1,
    3955       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3956       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3957       -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,
    3958       74,    75,    -1,    -1,    78,   109,    -1,   111,    -1,    -1,
    3959       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    10,    11,
    3960       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3961       22,    23,    24,    25,    26,    27,    -1,   111,    30,    31,
    3962       32,    -1,    -1,    -1,   118,   119,    -1,    39,    40,    10,
    3963       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3964       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3965       31,    32,    -1,    -1,    -1,    67,    -1,    -1,    39,    40,
    3966       -1,    -1,    74,    75,    -1,    -1,    -1,    10,    11,    12,
    3967       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3968       23,    24,    25,    26,    27,    -1,    67,    30,    31,    32,
    3969       -1,    -1,    -1,    74,    75,    -1,    39,    -1,    -1,   111,
    3970       -1,    -1,    -1,   115,    -1,    -1,   118,   119,    -1,    -1,
    3971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3972       -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
    3973      111,    74,    75,    -1,   115,    -1,    -1,   118,   119,    -1,
    3974       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3975       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3976       30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,
    3977       -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    10,    11,
    3978       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3979       22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
    3980       32,    -1,    -1,    -1,    74,    75,    -1,    39,    10,    11,
    3981       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3982       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3983       32,    -1,    -1,    -1,    -1,    67,    -1,    39,    -1,    -1,
    3984       -1,   111,    74,    75,    -1,    -1,    -1,    -1,   118,   119,
    3985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3986       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3987       -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,   111,
    3988       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
    3989       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3990       20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
    3991       30,    31,    32,    -1,    -1,    -1,   118,   119,    -1,    39,
    3992       -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
    3993       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3994       22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
    3995       32,    -1,    -1,    -1,    74,    75,    -1,    39,    -1,    -1,
    3996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3997       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3998       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3999       -1,   111,    74,    75,    -1,    -1,    -1,    -1,   118,   119,
    4000       37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,
    4001       47,    48,    49,    50,    51,    52,    53,    -1,    -1,    56,
    4002       57,    -1,    -1,    -1,    61,    62,    -1,    64,   110,    66,
    4003       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    4004       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    4005       87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    4006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4007       -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,
    4008       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    4009       -1,   128,    -1,    37,    38,   132,    40,    41,    -1,    43,
     4114      67,    30,    31,    32,    -1,    -1,    -1,    74,    75,    -1,
     4115      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4116      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4117      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     4118      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
     4119      -1,   118,   119,    37,    38,    -1,    40,    41,    -1,    43,
    40104120      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    4011       -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,
    4012       64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4121      -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,
     4122      64,   110,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    40134123      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    40144124      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     
    40164126      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    40174127     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    4018       -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,   132,     4,
    4019        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    4020       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    4021       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    4022       -1,    -1,    -1,    -1,    39,    -1,    37,    38,    -1,    40,
    4023       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
    4024       51,    52,    53,    -1,    -1,    56,    57,    -1,    -1,    -1,
    4025       61,    62,    67,    64,    69,    66,    71,    -1,    -1,    74,
    4026       75,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     4128      -1,    -1,    -1,    -1,   128,    -1,    37,    38,   132,    40,
     4129      41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
     4130      51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
     4131      61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
     4132      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    40274133      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    4028       -1,    96,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     4134      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    40294135      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    40304136     111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
    4031      121,   122,   123,    -1,    -1,    37,    38,   128,    40,    41,
    4032       -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    4033       52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,
    4034       62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,
     4137     121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
     4138      -1,   132,     4,     5,     6,     7,     8,     9,    10,    11,
     4139      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4140      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     4141      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    37,
     4142      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
     4143      48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
     4144      -1,    -1,    -1,    61,    62,    67,    64,    69,    66,    71,
     4145      -1,    -1,    74,    75,    72,    -1,    -1,    -1,    76,    -1,
     4146      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     4147      -1,    -1,    -1,    -1,    96,    -1,    94,    -1,    -1,    -1,
     4148      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4149      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     4150     118,   119,   120,   121,   122,   123,    -1,    -1,    37,    38,
     4151     128,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
     4152      49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
     4153      -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
     4154      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     4155      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     4156      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     4157      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4158     109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,
     4159     119,   120,   121,   122,   123,    -1,    -1,    37,    38,   128,
     4160      40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
     4161      50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
     4162      -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
     4163      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     4164      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     4165      -1,    -1,    -1,    -1,    94,    37,    38,    -1,    40,    -1,
     4166      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     4167      -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
     4168     120,   121,   122,   123,    66,    -1,    -1,    -1,   128,    -1,
    40354169      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    40364170      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    4037       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4171      -1,    -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,
    40384172      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    4039       -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
    4040      122,   123,    -1,    -1,    37,    38,   128,    40,    41,    -1,
    4041       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
    4042       53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
    4043       -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
    4044       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    4045       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    4046       -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    4047       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    4048       -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    4049      123,    66,    -1,    -1,    -1,   128,    -1,    72,    -1,    -1,
    4050       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    4051       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     4173      -1,    -1,    37,    38,    -1,    40,   118,   119,   120,   121,
     4174     122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4175      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4176      84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,    -1,
     4177      94,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     4178      -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,    94,
     4179      37,    38,    -1,    40,   118,   119,   120,   121,   122,   123,
     4180      -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    37,
     4181      38,    -1,    40,   118,   119,   120,   121,   122,   123,    66,
     4182      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     4183      -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
     4184      87,    -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,
     4185      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     4186      -1,    -1,   109,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     4187      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     4188      -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4189     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     4190       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     4191      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    40524192      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4053       -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,
    4054       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,     4,
    4055        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    4056       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    4057       25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4058       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
     4193      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4194      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4195      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     4196      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     4197      -1,    -1,    -1,    -1,    -1,    83,    84,     3,     4,     5,
     4198       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     4199      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4200      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4201      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    40594202      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40604203      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4061       -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    4062       75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
     4204      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    40634205       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    40644206      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     
    40684210      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40694211      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
    4070       -1,    74,    75,     3,     4,     5,     6,     7,     8,     9,
    4071       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    4072       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    4073       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     4212      -1,    74,    75,     4,     5,     6,     7,     8,     9,    10,
     4213      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     4214      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     4215      31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
    40744216      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40754217      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    4077       -1,    71,    -1,    -1,    74,    75,     4,     5,     6,     7,
    4078        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    4079       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    4080       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    4081       -1,    39,    -1,    10,    11,    12,    13,    14,    15,    16,
    4082       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4083       27,    -1,    -1,    30,    31,    32,    33,    34,    35,    67,
    4084       -1,    69,    39,    71,    -1,    -1,    74,    75,    -1,    -1,
    4085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4087       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75
     4218      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     4219      71,    -1,    -1,    74,    75
    40884220};
    40894221
     
    40964228      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    40974229      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    4098       76,    83,    84,   109,   111,   118,   119,   137,   140,   149,
    4099      198,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    4100      221,   222,   223,   224,   225,   226,   227,   228,   229,   231,
    4101      232,   233,   234,   235,   236,   237,   238,   240,   241,   242,
    4102      243,   244,   245,   247,   255,   256,   283,   284,   285,   293,
    4103      296,   302,   303,   305,   307,   308,   314,   319,   323,   324,
    4104      325,   326,   327,   328,   329,   330,   350,   367,   368,   369,
    4105      370,    72,   139,   140,   149,   215,   217,   225,   227,   237,
    4106      241,   243,   284,    82,   109,   312,   313,   314,   312,   312,
    4107       72,    74,    75,    76,   138,   139,   273,   274,   294,   295,
    4108       74,    75,   274,   109,   305,    11,   199,   109,   149,   319,
    4109      324,   325,   326,   328,   329,   330,   112,   134,   111,   218,
    4110      225,   227,   323,   327,   366,   367,   370,   371,   135,   107,
    4111      131,   277,   114,   135,   173,    74,    75,   137,   272,   135,
    4112      135,   135,   116,   135,    74,    75,   109,   149,   309,   318,
    4113      319,   320,   321,   322,   323,   327,   331,   332,   333,   334,
    4114      335,   341,     3,    28,    78,   239,     3,     5,    74,   111,
    4115      149,   217,   228,   232,   235,   244,   285,   323,   327,   370,
    4116      215,   217,   227,   237,   241,   243,   284,   323,   327,    33,
    4117      233,   233,   228,   235,   135,   233,   228,   233,   228,    75,
    4118      109,   114,   274,   285,   114,   274,   233,   228,   116,   135,
    4119      135,     0,   134,   109,   173,   312,   312,   134,   111,   225,
    4120      227,   368,   272,   272,   131,   227,   109,   149,   309,   319,
    4121      323,   111,   149,   370,   306,   230,   314,   109,   290,   109,
    4122      109,    51,   109,    37,    38,    40,    66,    72,    76,    79,
    4123       80,    81,    82,    86,    87,    94,   109,   111,   120,   121,
     4230      76,    83,    84,    94,   109,   111,   118,   119,   137,   140,
     4231     149,   198,   212,   213,   214,   215,   216,   217,   218,   219,
     4232     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
     4233     231,   232,   233,   234,   235,   236,   237,   238,   240,   241,
     4234     242,   243,   244,   245,   247,   255,   256,   283,   284,   285,
     4235     293,   296,   302,   303,   305,   307,   308,   314,   319,   323,
     4236     324,   325,   326,   327,   328,   329,   330,   350,   367,   368,
     4237     369,   370,    72,   139,   140,   149,   215,   217,   225,   227,
     4238     237,   241,   243,   284,    82,   109,   312,   313,   314,   312,
     4239     312,    72,    74,    75,    76,   138,   139,   273,   274,   294,
     4240     295,    74,    75,   274,   109,   305,    11,   199,   109,   149,
     4241     319,   324,   325,   326,   328,   329,   330,   112,   134,   111,
     4242     218,   225,   227,   323,   327,   366,   367,   370,   371,   135,
     4243     107,   131,   277,   114,   135,   173,    74,    75,   137,   272,
     4244     135,   135,   135,   116,   135,    74,    75,   109,   149,   309,
     4245     318,   319,   320,   321,   322,   323,   327,   331,   332,   333,
     4246     334,   335,   341,     3,    28,    78,   239,     3,     5,    74,
     4247     111,   149,   217,   228,   232,   235,   244,   285,   323,   327,
     4248     370,   215,   217,   227,   237,   241,   243,   284,   323,   327,
     4249      33,   233,   233,   228,   235,   135,   233,   228,   233,   228,
     4250      75,   109,   114,   274,   285,   114,   274,   233,   228,   116,
     4251     135,   135,     0,   134,   109,   173,   312,   312,   134,   111,
     4252     225,   227,   368,   272,   272,   131,   227,   109,   149,   309,
     4253     319,   323,   111,   149,   370,   306,   230,   314,   109,   290,
     4254     109,   109,    51,   109,    37,    38,    40,    66,    72,    76,
     4255      79,    80,    81,    82,    86,    87,   109,   111,   120,   121,
    41244256     122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
    41254257     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
     
    41444276     289,   134,   129,   131,   291,   134,   228,   234,   235,   272,
    41454277     315,   316,   317,   109,   141,   109,   148,   109,   148,   151,
    4146      109,   148,   109,   109,   148,   148,   139,   111,   164,   169,
    4147      173,   225,   275,   366,   112,   134,    82,    85,    86,    87,
    4148      109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
    4149      103,   104,   105,   106,   131,   168,   151,   151,   118,   124,
    4150      125,   120,   121,    88,    89,    90,    91,   126,   127,    92,
    4151       93,   119,   128,   129,    94,    95,   130,   131,   373,   109,
    4152      149,   345,   346,   347,   348,   349,   110,   116,   109,   349,
    4153      350,   109,   349,   350,   134,   109,   225,   368,   112,   134,
    4154      135,   111,   225,   227,   361,   362,   370,   371,   135,   109,
    4155      111,   149,   319,   336,   337,   338,   339,   340,   341,   342,
    4156      343,   344,   350,   351,   352,   353,   354,   355,   356,   149,
    4157      370,   227,   135,   135,   149,   225,   227,   363,   272,   225,
    4158      350,   363,   272,   109,   134,   134,   134,   112,   134,    72,
    4159       80,   111,   113,   140,   274,   278,   279,   280,   281,   282,
    4160      134,   134,   134,   134,   134,   134,   309,   110,   110,   110,
    4161      110,   110,   110,   110,   318,   331,   109,   277,   112,   207,
    4162      134,   309,   169,   276,   169,   276,   309,   111,   207,   311,
    4163      173,   134,   207,   110,   250,   251,   112,   134,   109,   117,
    4164      149,   252,   254,   318,   319,   331,   349,   357,   358,   359,
    4165      360,   115,   249,   116,   132,   116,   132,   274,   114,   116,
    4166      372,   131,   259,   114,   227,   264,   265,   266,   269,   270,
    4167      110,   116,   173,   134,   118,   164,   134,   224,   227,   263,
    4168      362,   370,   303,   304,   109,   149,   336,   110,   116,   373,
    4169      274,   286,   109,   114,   274,   276,   286,   110,   116,   109,
    4170      141,   110,   117,   275,   275,   275,   111,   139,   145,   164,
    4171      276,   275,   112,   134,   110,   116,   110,   109,   149,   357,
    4172      110,   116,   164,   111,   139,   111,   144,   145,   134,   111,
    4173      139,   144,   164,   164,   151,   151,   151,   152,   152,   153,
    4174      153,   154,   154,   154,   154,   155,   155,   156,   157,   158,
    4175      159,   160,   117,   169,   164,   134,   346,   347,   348,   227,
    4176      345,   312,   312,   164,   276,   134,   271,   134,   225,   350,
    4177      363,   227,   231,   112,   112,   134,   370,   112,   109,   134,
    4178      319,   337,   338,   339,   342,   352,   353,   354,   112,   134,
    4179      227,   336,   340,   351,   109,   312,   355,   373,   312,   312,
    4180      373,   109,   312,   355,   312,   312,   312,   312,   350,   225,
    4181      361,   371,   272,   112,   116,   112,   116,   373,   225,   363,
    4182      373,   260,   261,   262,   263,   260,   260,   272,   164,   134,
    4183      111,   274,   117,   116,   372,   278,    80,   111,   117,   282,
    4184       29,   209,   210,   272,   260,   139,   309,   139,   311,   109,
    4185      349,   350,   109,   349,   350,   141,   350,   173,   264,   110,
    4186      110,   110,   110,   112,   173,   207,   173,   114,   132,   132,
    4187      111,   319,   358,   359,   360,   162,   163,   227,   357,   253,
    4188      254,   253,   312,   312,   274,   312,   248,   274,   115,   163,
    4189      258,   135,   135,   139,   222,   135,   135,   260,   109,   149,
    4190      370,   135,   115,   227,   287,   288,   135,   134,   134,   109,
    4191      135,   110,   316,   169,   170,   117,   132,   111,   141,   200,
    4192      201,   202,   110,   116,   110,   134,   117,   110,   110,   110,
    4193      164,   227,   114,   151,   166,   164,   165,   167,   116,   135,
    4194      134,   134,   110,   116,   164,   134,   115,   162,   117,   264,
    4195      110,   110,   110,   345,   264,   110,   260,   225,   363,   111,
    4196      118,   149,   164,   164,   227,   342,   264,   110,   110,   110,
    4197      110,   110,   110,   110,     7,   227,   336,   340,   351,   134,
    4198      134,   373,   134,   134,   110,   135,   135,   135,   135,   277,
    4199      135,   162,   163,   164,   310,   134,   278,   280,   115,   134,
    4200      211,   274,    40,    41,    43,    46,    47,    48,    49,    50,
    4201       51,    52,    53,    57,    61,    62,   111,   128,   139,   170,
    4202      171,   172,   173,   174,   175,   177,   178,   190,   192,   193,
    4203      198,   212,   308,    29,   135,   131,   277,   134,   134,   110,
    4204      135,   173,   248,   112,   110,   110,   110,   357,   252,   115,
    4205      259,   372,   110,   116,   112,   112,   135,   227,   116,   373,
    4206      290,   110,   286,   215,   217,   225,   298,   299,   300,   301,
    4207      292,   110,   110,   117,   163,   109,   110,   117,   116,   139,
    4208      164,   164,   279,   116,   135,   167,   112,   139,   146,   147,
    4209      164,   145,   135,   146,   162,   166,   135,   109,   349,   350,
    4210      135,   135,   134,   135,   135,   135,   164,   110,   135,   109,
    4211      349,   350,   109,   355,   109,   355,   350,   226,     7,   118,
    4212      135,   164,   264,   264,   263,   267,   267,   268,   116,   116,
    4213      110,   110,   112,    96,   123,   135,   135,   146,   278,   164,
    4214      116,   132,   212,   216,   227,   231,   109,   109,   171,   109,
    4215      109,   132,   139,   132,   139,   118,   139,   170,   109,   173,
    4216      165,   165,   112,   143,   117,   132,   135,   134,   135,   211,
    4217      110,   164,   264,   264,   312,   110,   115,   109,   349,   350,
    4218      115,   134,   110,   134,   135,   309,   115,   134,   135,   135,
    4219      110,   114,   200,   112,   163,   132,   200,   202,   110,   116,
    4220      135,   372,   165,   112,   135,    85,   113,   116,   135,   135,
    4221      112,   135,   110,   134,   110,   110,   112,   112,   112,   135,
    4222      110,   134,   134,   134,   164,   164,   135,   112,   135,   135,
    4223      135,   135,   134,   134,   163,   163,   112,   112,   135,   135,
    4224      274,   227,   169,   169,    47,   169,   134,   132,   132,   169,
    4225      132,   132,   169,    58,    59,    60,   194,   195,   196,   132,
    4226       63,   132,   114,   312,   175,   115,   132,   135,   135,   134,
    4227       96,   269,   270,   110,   299,   116,   132,   116,   132,   115,
    4228      297,   117,   141,   110,   110,   117,   167,   112,   115,   112,
    4229      111,   147,   111,   147,   147,   112,   112,   112,   264,   112,
    4230      264,   264,   264,   135,   135,   112,   112,   110,   110,   112,
    4231      116,    96,   263,    96,   135,   112,   112,   110,   110,   109,
    4232      110,   170,   191,   212,   132,   110,   109,   109,   173,   196,
    4233       58,    59,   164,   144,   171,   110,   110,   264,   114,   134,
    4234      134,   298,   141,   203,   109,   132,   203,   135,   117,   134,
    4235      134,   135,   135,   135,   135,   112,   112,   134,   135,   112,
    4236      171,    44,    45,   114,   181,   182,   183,   169,   171,   135,
    4237      110,   170,   114,   183,    96,   134,    96,   134,   109,   109,
    4238      132,   115,   135,   134,   272,   309,   115,   116,   117,   163,
    4239      110,   112,   164,   146,   146,   110,   110,   110,   110,   267,
    4240       42,   163,   179,   180,   310,   117,   134,   171,   181,   110,
    4241      132,   171,   132,   134,   110,   134,   110,   134,    96,   134,
    4242       96,   134,   132,   110,   298,   141,   139,   204,   110,   132,
    4243      117,   135,   135,   171,    96,   116,   117,   135,   205,   206,
    4244      212,   132,   170,   170,   205,   173,   197,   225,   366,   173,
    4245      197,   110,   134,   110,   134,   115,   110,   116,   164,   112,
    4246      112,   163,   179,   182,   184,   185,   134,   132,   182,   186,
    4247      187,   135,   109,   149,   309,   357,   139,   135,   173,   197,
    4248      173,   197,   109,   132,   139,   171,   176,   115,   182,   212,
    4249      170,    56,   176,   189,   115,   182,   110,   227,   110,   135,
    4250      135,   292,   171,   176,   132,   188,   189,   176,   189,   173,
    4251      173,   110,   110,   110,   188,   135,   135,   173,   173,   135,
    4252      135
     4278     109,   148,   109,   109,   148,   148,   111,   164,   169,   173,
     4279     225,   275,   366,   112,   134,    82,    85,    86,    87,   109,
     4280     111,   113,   114,    97,    98,    99,   100,   101,   102,   103,
     4281     104,   105,   106,   131,   168,   151,   151,   118,   124,   125,
     4282     120,   121,    88,    89,    90,    91,   126,   127,    92,    93,
     4283     119,   128,   129,    94,    95,   130,   131,   373,   109,   149,
     4284     345,   346,   347,   348,   349,   110,   116,   109,   349,   350,
     4285     109,   349,   350,   134,   109,   225,   368,   112,   134,   135,
     4286     111,   225,   227,   361,   362,   370,   371,   135,   109,   111,
     4287     149,   319,   336,   337,   338,   339,   340,   341,   342,   343,
     4288     344,   350,   351,   352,   353,   354,   355,   356,   149,   370,
     4289     227,   135,   135,   149,   225,   227,   363,   272,   225,   350,
     4290     363,   272,   109,   134,   134,   134,   112,   134,    72,    80,
     4291     111,   113,   140,   274,   278,   279,   280,   281,   282,   134,
     4292     134,   134,   134,   134,   134,   309,   110,   110,   110,   110,
     4293     110,   110,   110,   318,   331,   109,   277,   112,   207,   134,
     4294     309,   169,   276,   169,   276,   309,   111,   207,   311,   173,
     4295     134,   207,   110,   250,   251,   112,   134,   109,   117,   149,
     4296     252,   254,   318,   319,   331,   349,   357,   358,   359,   360,
     4297     115,   249,   116,   132,   116,   132,   274,   114,   116,   372,
     4298     131,   259,   114,   227,   264,   265,   266,   269,   270,   110,
     4299     116,   173,   134,   118,   164,   134,   224,   227,   263,   362,
     4300     370,   303,   304,   109,   149,   336,   110,   116,   373,   274,
     4301     286,   109,   114,   274,   276,   286,   110,   116,   109,   141,
     4302     110,   117,   275,   275,   275,   111,   139,   145,   164,   276,
     4303     275,   112,   134,   110,   116,   110,   109,   149,   357,   110,
     4304     116,   164,   111,   139,   111,   144,   145,   134,   111,   139,
     4305     144,   164,   164,   151,   151,   151,   152,   152,   153,   153,
     4306     154,   154,   154,   154,   155,   155,   156,   157,   158,   159,
     4307     160,   117,   169,   164,   134,   346,   347,   348,   227,   345,
     4308     312,   312,   164,   276,   134,   271,   134,   225,   350,   363,
     4309     227,   231,   112,   112,   134,   370,   112,   109,   134,   319,
     4310     337,   338,   339,   342,   352,   353,   354,   112,   134,   227,
     4311     336,   340,   351,   109,   312,   355,   373,   312,   312,   373,
     4312     109,   312,   355,   312,   312,   312,   312,   350,   225,   361,
     4313     371,   272,   112,   116,   112,   116,   373,   225,   363,   373,
     4314     260,   261,   262,   263,   260,   260,   272,   164,   134,   111,
     4315     274,   117,   116,   372,   278,    80,   111,   117,   282,    29,
     4316     209,   210,   272,   260,   139,   309,   139,   311,   109,   349,
     4317     350,   109,   349,   350,   141,   350,   173,   264,   110,   110,
     4318     110,   110,   112,   173,   207,   173,   114,   132,   132,   111,
     4319     319,   358,   359,   360,   162,   163,   227,   357,   253,   254,
     4320     253,   312,   312,   274,   312,   248,   274,   115,   163,   258,
     4321     135,   135,   139,   222,   135,   135,   260,   109,   149,   370,
     4322     135,   115,   227,   287,   288,   135,   134,   134,   109,   135,
     4323     110,   316,   169,   170,   117,   132,   111,   141,   200,   201,
     4324     202,   110,   116,   110,   134,   117,   110,   110,   110,   164,
     4325     227,   114,   151,   166,   164,   165,   167,   116,   135,   134,
     4326     134,   110,   116,   164,   134,   115,   162,   117,   264,   110,
     4327     110,   110,   345,   264,   110,   260,   225,   363,   111,   118,
     4328     149,   164,   164,   227,   342,   264,   110,   110,   110,   110,
     4329     110,   110,   110,     7,   227,   336,   340,   351,   134,   134,
     4330     373,   134,   134,   110,   135,   135,   135,   135,   277,   135,
     4331     162,   163,   164,   310,   134,   278,   280,   115,   134,   211,
     4332     274,    40,    41,    43,    46,    47,    48,    49,    50,    51,
     4333      52,    53,    57,    61,    62,    72,   111,   128,   170,   171,
     4334     172,   173,   174,   175,   177,   178,   190,   192,   193,   198,
     4335     212,   308,    29,   135,   131,   277,   134,   134,   110,   135,
     4336     173,   248,   112,   110,   110,   110,   357,   252,   115,   259,
     4337     372,   110,   116,   112,   112,   135,   227,   116,   373,   290,
     4338     110,   286,   215,   217,   225,   298,   299,   300,   301,   292,
     4339     110,   110,   117,   163,   109,   110,   117,   116,   139,   164,
     4340     164,   279,   116,   135,   167,   112,   139,   146,   147,   164,
     4341     145,   135,   146,   162,   166,   135,   109,   349,   350,   135,
     4342     135,   134,   135,   135,   135,   164,   110,   135,   109,   349,
     4343     350,   109,   355,   109,   355,   350,   226,     7,   118,   135,
     4344     164,   264,   264,   263,   267,   267,   268,   116,   116,   110,
     4345     110,   112,    96,   123,   135,   135,   146,   278,   164,   116,
     4346     132,   212,   216,   227,   231,   109,   109,   171,   109,   109,
     4347      72,   132,    72,   132,    72,   118,   170,   109,   173,   165,
     4348     165,   117,   112,   143,   132,   135,   134,   135,   211,   110,
     4349     164,   264,   264,   312,   110,   115,   109,   349,   350,   115,
     4350     134,   110,   134,   135,   309,   115,   134,   135,   135,   110,
     4351     114,   200,   112,   163,   132,   200,   202,   110,   116,   135,
     4352     372,   165,   112,   135,    85,   113,   116,   135,   135,   112,
     4353     135,   110,   134,   110,   110,   112,   112,   112,   135,   110,
     4354     134,   134,   134,   164,   164,   135,   112,   135,   135,   135,
     4355     135,   134,   134,   163,   163,   112,   112,   135,   135,   274,
     4356     227,   169,   169,    47,   169,   134,   132,   132,   132,   169,
     4357     132,   169,    58,    59,    60,   194,   195,   196,   132,    63,
     4358     132,   312,   114,   175,   115,   132,   135,   135,   134,    96,
     4359     269,   270,   110,   299,   116,   132,   116,   132,   115,   297,
     4360     117,   141,   110,   110,   117,   167,   112,   115,   112,   111,
     4361     147,   111,   147,   147,   112,   112,   112,   264,   112,   264,
     4362     264,   264,   135,   135,   112,   112,   110,   110,   112,   116,
     4363      96,   263,    96,   135,   112,   112,   110,   110,   109,   110,
     4364     170,   191,   212,   132,   110,   109,   109,   173,   196,    58,
     4365      59,   164,   171,   144,   110,   110,   264,   114,   134,   134,
     4366     298,   141,   203,   109,   132,   203,   135,   117,   134,   134,
     4367     135,   135,   135,   135,   112,   112,   134,   135,   112,   171,
     4368      44,    45,   114,   181,   182,   183,   169,   171,   135,   110,
     4369     170,   114,   183,    96,   134,    96,   134,   109,   109,   132,
     4370     115,   135,   134,   272,   309,   115,   116,   117,   163,   110,
     4371     112,   164,   146,   146,   110,   110,   110,   110,   267,    42,
     4372     163,   179,   180,   310,   117,   134,   171,   181,   110,   132,
     4373     171,   132,   134,   110,   134,   110,   134,    96,   134,    96,
     4374     134,   132,   110,   298,   141,   139,   204,   110,   132,   117,
     4375     135,   135,   171,    96,   116,   117,   135,   205,   206,   212,
     4376     132,   170,   170,   205,   173,   197,   225,   366,   173,   197,
     4377     110,   134,   110,   134,   115,   110,   116,   164,   112,   112,
     4378     163,   179,   182,   184,   185,   134,   132,   182,   186,   187,
     4379     135,   109,   149,   309,   357,   139,   135,   173,   197,   173,
     4380     197,   109,   132,   139,   171,   176,   115,   182,   212,   170,
     4381      56,   176,   189,   115,   182,   110,   227,   110,   135,   135,
     4382     292,   171,   176,   132,   188,   189,   176,   189,   173,   173,
     4383     110,   110,   110,   188,   135,   135,   173,   173,   135,   135
    42534384};
    42544385
     
    54095540
    54105541/* Line 1806 of yacc.c  */
    5411 #line 459 "parser.yy"
    5412     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    5413     break;
    5414 
    5415   case 64:
    5416 
    5417 /* Line 1806 of yacc.c  */
    54185542#line 463 "parser.yy"
    54195543    { (yyval.en) = new OperatorNode( OperatorNode::PointTo ); }
    54205544    break;
    54215545
    5422   case 65:
     5546  case 64:
    54235547
    54245548/* Line 1806 of yacc.c  */
     
    54275551    break;
    54285552
     5553  case 65:
     5554
     5555/* Line 1806 of yacc.c  */
     5556#line 466 "parser.yy"
     5557    { (yyval.en) = new OperatorNode( OperatorNode::And ); }
     5558    break;
     5559
    54295560  case 66:
    54305561
    54315562/* Line 1806 of yacc.c  */
    5432 #line 468 "parser.yy"
     5563#line 470 "parser.yy"
    54335564    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    54345565    break;
     
    54375568
    54385569/* Line 1806 of yacc.c  */
    5439 #line 469 "parser.yy"
     5570#line 471 "parser.yy"
    54405571    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    54415572    break;
     
    54445575
    54455576/* Line 1806 of yacc.c  */
    5446 #line 470 "parser.yy"
     5577#line 472 "parser.yy"
    54475578    { (yyval.en) = new OperatorNode( OperatorNode::Neg ); }
    54485579    break;
     
    54515582
    54525583/* Line 1806 of yacc.c  */
    5453 #line 471 "parser.yy"
     5584#line 473 "parser.yy"
    54545585    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    54555586    break;
    54565587
    54575588  case 71:
    5458 
    5459 /* Line 1806 of yacc.c  */
    5460 #line 477 "parser.yy"
    5461     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    5462     break;
    5463 
    5464   case 72:
    54655589
    54665590/* Line 1806 of yacc.c  */
     
    54695593    break;
    54705594
     5595  case 72:
     5596
     5597/* Line 1806 of yacc.c  */
     5598#line 481 "parser.yy"
     5599    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5600    break;
     5601
    54715602  case 74:
    54725603
    54735604/* Line 1806 of yacc.c  */
    5474 #line 485 "parser.yy"
     5605#line 487 "parser.yy"
    54755606    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54765607    break;
     
    54795610
    54805611/* Line 1806 of yacc.c  */
    5481 #line 487 "parser.yy"
     5612#line 489 "parser.yy"
    54825613    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54835614    break;
     
    54865617
    54875618/* Line 1806 of yacc.c  */
    5488 #line 489 "parser.yy"
     5619#line 491 "parser.yy"
    54895620    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54905621    break;
     
    54935624
    54945625/* Line 1806 of yacc.c  */
    5495 #line 495 "parser.yy"
     5626#line 497 "parser.yy"
    54965627    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54975628    break;
     
    55005631
    55015632/* Line 1806 of yacc.c  */
    5502 #line 497 "parser.yy"
     5633#line 499 "parser.yy"
    55035634    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55045635    break;
     
    55075638
    55085639/* Line 1806 of yacc.c  */
    5509 #line 503 "parser.yy"
     5640#line 505 "parser.yy"
    55105641    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55115642    break;
     
    55145645
    55155646/* Line 1806 of yacc.c  */
    5516 #line 505 "parser.yy"
     5647#line 507 "parser.yy"
    55175648    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55185649    break;
     
    55215652
    55225653/* Line 1806 of yacc.c  */
    5523 #line 511 "parser.yy"
     5654#line 513 "parser.yy"
    55245655    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55255656    break;
     
    55285659
    55295660/* Line 1806 of yacc.c  */
    5530 #line 513 "parser.yy"
     5661#line 515 "parser.yy"
    55315662    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55325663    break;
     
    55355666
    55365667/* Line 1806 of yacc.c  */
    5537 #line 515 "parser.yy"
     5668#line 517 "parser.yy"
    55385669    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55395670    break;
     
    55425673
    55435674/* Line 1806 of yacc.c  */
    5544 #line 517 "parser.yy"
     5675#line 519 "parser.yy"
    55455676    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55465677    break;
     
    55495680
    55505681/* Line 1806 of yacc.c  */
    5551 #line 523 "parser.yy"
     5682#line 525 "parser.yy"
    55525683    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55535684    break;
     
    55565687
    55575688/* Line 1806 of yacc.c  */
    5558 #line 525 "parser.yy"
     5689#line 527 "parser.yy"
    55595690    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55605691    break;
     
    55635694
    55645695/* Line 1806 of yacc.c  */
    5565 #line 531 "parser.yy"
     5696#line 533 "parser.yy"
    55665697    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55675698    break;
     
    55705701
    55715702/* Line 1806 of yacc.c  */
    5572 #line 537 "parser.yy"
     5703#line 539 "parser.yy"
    55735704    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55745705    break;
     
    55775708
    55785709/* Line 1806 of yacc.c  */
    5579 #line 543 "parser.yy"
     5710#line 545 "parser.yy"
    55805711    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55815712    break;
     
    55845715
    55855716/* Line 1806 of yacc.c  */
    5586 #line 549 "parser.yy"
     5717#line 551 "parser.yy"
    55875718    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55885719    break;
     
    55915722
    55925723/* Line 1806 of yacc.c  */
    5593 #line 555 "parser.yy"
     5724#line 557 "parser.yy"
    55945725    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55955726    break;
     
    55985729
    55995730/* Line 1806 of yacc.c  */
    5600 #line 561 "parser.yy"
     5731#line 563 "parser.yy"
    56015732    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    56025733    break;
     
    56055736
    56065737/* Line 1806 of yacc.c  */
    5607 #line 563 "parser.yy"
     5738#line 565 "parser.yy"
    56085739    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    56095740    break;
     
    56125743
    56135744/* Line 1806 of yacc.c  */
    5614 #line 565 "parser.yy"
     5745#line 567 "parser.yy"
    56155746    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    56165747    break;
     
    56195750
    56205751/* Line 1806 of yacc.c  */
    5621 #line 576 "parser.yy"
     5752#line 578 "parser.yy"
    56225753    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56235754    break;
     
    56265757
    56275758/* Line 1806 of yacc.c  */
    5628 #line 578 "parser.yy"
     5759#line 580 "parser.yy"
    56295760    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56305761    break;
     
    56335764
    56345765/* Line 1806 of yacc.c  */
    5635 #line 580 "parser.yy"
     5766#line 582 "parser.yy"
    56365767    { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    56375768    break;
     
    56405771
    56415772/* Line 1806 of yacc.c  */
    5642 #line 585 "parser.yy"
     5773#line 587 "parser.yy"
    56435774    { (yyval.en) = new NullExprNode; }
    56445775    break;
     
    56475778
    56485779/* Line 1806 of yacc.c  */
    5649 #line 593 "parser.yy"
     5780#line 595 "parser.yy"
    56505781    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    56515782    break;
     
    56545785
    56555786/* Line 1806 of yacc.c  */
    5656 #line 595 "parser.yy"
     5787#line 597 "parser.yy"
    56575788    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    56585789    break;
     
    56615792
    56625793/* Line 1806 of yacc.c  */
    5663 #line 597 "parser.yy"
     5794#line 599 "parser.yy"
    56645795    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    56655796    break;
     
    56685799
    56695800/* Line 1806 of yacc.c  */
    5670 #line 599 "parser.yy"
     5801#line 601 "parser.yy"
    56715802    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    56725803    break;
     
    56755806
    56765807/* Line 1806 of yacc.c  */
    5677 #line 605 "parser.yy"
     5808#line 607 "parser.yy"
    56785809    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    56795810    break;
     
    56825813
    56835814/* Line 1806 of yacc.c  */
    5684 #line 609 "parser.yy"
     5815#line 611 "parser.yy"
    56855816    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    56865817    break;
     
    56895820
    56905821/* Line 1806 of yacc.c  */
    5691 #line 610 "parser.yy"
     5822#line 612 "parser.yy"
    56925823    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    56935824    break;
     
    56965827
    56975828/* Line 1806 of yacc.c  */
    5698 #line 611 "parser.yy"
     5829#line 613 "parser.yy"
    56995830    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    57005831    break;
     
    57035834
    57045835/* Line 1806 of yacc.c  */
    5705 #line 612 "parser.yy"
     5836#line 614 "parser.yy"
    57065837    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    57075838    break;
     
    57105841
    57115842/* Line 1806 of yacc.c  */
    5712 #line 613 "parser.yy"
     5843#line 615 "parser.yy"
    57135844    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    57145845    break;
     
    57175848
    57185849/* Line 1806 of yacc.c  */
    5719 #line 614 "parser.yy"
     5850#line 616 "parser.yy"
    57205851    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    57215852    break;
     
    57245855
    57255856/* Line 1806 of yacc.c  */
    5726 #line 615 "parser.yy"
     5857#line 617 "parser.yy"
    57275858    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    57285859    break;
     
    57315862
    57325863/* Line 1806 of yacc.c  */
    5733 #line 616 "parser.yy"
     5864#line 618 "parser.yy"
    57345865    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    57355866    break;
     
    57385869
    57395870/* Line 1806 of yacc.c  */
    5740 #line 617 "parser.yy"
     5871#line 619 "parser.yy"
    57415872    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    57425873    break;
     
    57455876
    57465877/* Line 1806 of yacc.c  */
    5747 #line 618 "parser.yy"
     5878#line 620 "parser.yy"
    57485879    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    57495880    break;
     
    57525883
    57535884/* Line 1806 of yacc.c  */
    5754 #line 624 "parser.yy"
     5885#line 626 "parser.yy"
    57555886    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57565887    break;
     
    57595890
    57605891/* Line 1806 of yacc.c  */
    5761 #line 629 "parser.yy"
     5892#line 631 "parser.yy"
    57625893    { (yyval.en) = 0; }
    57635894    break;
     
    57665897
    57675898/* Line 1806 of yacc.c  */
    5768 #line 638 "parser.yy"
     5899#line 640 "parser.yy"
    57695900    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    57705901    break;
     
    57735904
    57745905/* Line 1806 of yacc.c  */
    5775 #line 645 "parser.yy"
     5906#line 647 "parser.yy"
    57765907    {
    57775908                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    57845915
    57855916/* Line 1806 of yacc.c  */
    5786 #line 654 "parser.yy"
     5917#line 657 "parser.yy"
    57875918    {
    57885919                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57935924
    57945925/* Line 1806 of yacc.c  */
    5795 #line 661 "parser.yy"
     5926#line 664 "parser.yy"
    57965927    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57975928    break;
     
    58005931
    58015932/* Line 1806 of yacc.c  */
    5802 #line 668 "parser.yy"
     5933#line 671 "parser.yy"
    58035934    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    58045935    break;
     
    58075938
    58085939/* Line 1806 of yacc.c  */
    5809 #line 674 "parser.yy"
     5940#line 677 "parser.yy"
    58105941    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    58115942    break;
     
    58145945
    58155946/* Line 1806 of yacc.c  */
    5816 #line 679 "parser.yy"
     5947#line 682 "parser.yy"
    58175948    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    58185949    break;
     
    58215952
    58225953/* Line 1806 of yacc.c  */
    5823 #line 681 "parser.yy"
     5954#line 684 "parser.yy"
    58245955    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) )/*->set_extension( true )*/; }
    58255956    break;
     
    58285959
    58295960/* Line 1806 of yacc.c  */
    5830 #line 683 "parser.yy"
     5961#line 686 "parser.yy"
    58315962    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    58325963    break;
     
    58355966
    58365967/* Line 1806 of yacc.c  */
    5837 #line 690 "parser.yy"
     5968#line 693 "parser.yy"
    58385969    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    58395970    break;
     
    58425973
    58435974/* Line 1806 of yacc.c  */
    5844 #line 695 "parser.yy"
     5975#line 698 "parser.yy"
    58455976    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    58465977    break;
     
    58495980
    58505981/* Line 1806 of yacc.c  */
    5851 #line 701 "parser.yy"
     5982#line 704 "parser.yy"
    58525983    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58535984    break;
     
    58565987
    58575988/* Line 1806 of yacc.c  */
    5858 #line 703 "parser.yy"
     5989#line 706 "parser.yy"
    58595990    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    58605991    break;
     
    58635994
    58645995/* Line 1806 of yacc.c  */
    5865 #line 705 "parser.yy"
     5996#line 708 "parser.yy"
    58665997    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58675998    break;
     
    58706001
    58716002/* Line 1806 of yacc.c  */
    5872 #line 707 "parser.yy"
     6003#line 710 "parser.yy"
    58736004    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    58746005    break;
     
    58776008
    58786009/* Line 1806 of yacc.c  */
    5879 #line 712 "parser.yy"
     6010#line 715 "parser.yy"
    58806011    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58816012    break;
     
    58846015
    58856016/* Line 1806 of yacc.c  */
    5886 #line 714 "parser.yy"
     6017#line 717 "parser.yy"
    58876018    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    58886019    break;
     
    58916022
    58926023/* Line 1806 of yacc.c  */
    5893 #line 721 "parser.yy"
     6024#line 724 "parser.yy"
    58946025    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    58956026    break;
     
    58986029
    58996030/* Line 1806 of yacc.c  */
    5900 #line 723 "parser.yy"
     6031#line 726 "parser.yy"
    59016032    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    59026033    break;
     
    59056036
    59066037/* Line 1806 of yacc.c  */
    5907 #line 730 "parser.yy"
     6038#line 733 "parser.yy"
    59086039    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    59096040    break;
     
    59126043
    59136044/* Line 1806 of yacc.c  */
    5914 #line 734 "parser.yy"
     6045#line 737 "parser.yy"
    59156046    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    59166047    break;
     
    59196050
    59206051/* Line 1806 of yacc.c  */
    5921 #line 735 "parser.yy"
     6052#line 738 "parser.yy"
    59226053    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    59236054    break;
     
    59266057
    59276058/* Line 1806 of yacc.c  */
    5928 #line 741 "parser.yy"
     6059#line 744 "parser.yy"
    59296060    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    59306061    break;
     
    59336064
    59346065/* Line 1806 of yacc.c  */
    5935 #line 745 "parser.yy"
     6066#line 748 "parser.yy"
    59366067    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59376068    break;
     
    59406071
    59416072/* Line 1806 of yacc.c  */
    5942 #line 750 "parser.yy"
     6073#line 753 "parser.yy"
    59436074    { (yyval.sn) = 0; }
    59446075    break;
     
    59476078
    59486079/* Line 1806 of yacc.c  */
    5949 #line 756 "parser.yy"
     6080#line 759 "parser.yy"
    59506081    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59516082    break;
     
    59546085
    59556086/* Line 1806 of yacc.c  */
    5956 #line 758 "parser.yy"
     6087#line 761 "parser.yy"
    59576088    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59586089    break;
     
    59616092
    59626093/* Line 1806 of yacc.c  */
    5963 #line 763 "parser.yy"
     6094#line 766 "parser.yy"
    59646095    { (yyval.sn) = 0; }
    59656096    break;
     
    59686099
    59696100/* Line 1806 of yacc.c  */
    5970 #line 769 "parser.yy"
     6101#line 772 "parser.yy"
    59716102    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59726103    break;
     
    59756106
    59766107/* Line 1806 of yacc.c  */
    5977 #line 771 "parser.yy"
     6108#line 774 "parser.yy"
    59786109    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    59796110    break;
     
    59826113
    59836114/* Line 1806 of yacc.c  */
    5984 #line 773 "parser.yy"
     6115#line 776 "parser.yy"
    59856116    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59866117    break;
     
    59896120
    59906121/* Line 1806 of yacc.c  */
    5991 #line 775 "parser.yy"
     6122#line 778 "parser.yy"
    59926123    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
    59936124    break;
     
    59966127
    59976128/* Line 1806 of yacc.c  */
    5998 #line 780 "parser.yy"
     6129#line 783 "parser.yy"
    59996130    { (yyval.sn) = 0; }
    60006131    break;
     
    60036134
    60046135/* Line 1806 of yacc.c  */
    6005 #line 785 "parser.yy"
     6136#line 788 "parser.yy"
    60066137    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    60076138    break;
     
    60106141
    60116142/* Line 1806 of yacc.c  */
    6012 #line 786 "parser.yy"
     6143#line 789 "parser.yy"
    60136144    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    60146145    break;
     
    60176148
    60186149/* Line 1806 of yacc.c  */
    6019 #line 791 "parser.yy"
     6150#line 794 "parser.yy"
    60206151    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    60216152    break;
     
    60246155
    60256156/* Line 1806 of yacc.c  */
    6026 #line 793 "parser.yy"
     6157#line 796 "parser.yy"
    60276158    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    60286159    break;
     
    60316162
    60326163/* Line 1806 of yacc.c  */
    6033 #line 795 "parser.yy"
     6164#line 798 "parser.yy"
    60346165    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    60356166    break;
     
    60386169
    60396170/* Line 1806 of yacc.c  */
    6040 #line 800 "parser.yy"
     6171#line 803 "parser.yy"
    60416172    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    60426173    break;
     
    60456176
    60466177/* Line 1806 of yacc.c  */
    6047 #line 802 "parser.yy"
     6178#line 805 "parser.yy"
    60486179    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    60496180    break;
     
    60526183
    60536184/* Line 1806 of yacc.c  */
    6054 #line 807 "parser.yy"
     6185#line 810 "parser.yy"
    60556186    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    60566187    break;
     
    60596190
    60606191/* Line 1806 of yacc.c  */
    6061 #line 811 "parser.yy"
     6192#line 814 "parser.yy"
    60626193    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    60636194    break;
     
    60666197
    60676198/* Line 1806 of yacc.c  */
    6068 #line 814 "parser.yy"
     6199#line 817 "parser.yy"
    60696200    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    60706201    break;
     
    60736204
    60746205/* Line 1806 of yacc.c  */
    6075 #line 818 "parser.yy"
     6206#line 821 "parser.yy"
    60766207    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    60776208    break;
     
    60806211
    60816212/* Line 1806 of yacc.c  */
    6082 #line 821 "parser.yy"
     6213#line 824 "parser.yy"
    60836214    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    60846215    break;
     
    60876218
    60886219/* Line 1806 of yacc.c  */
    6089 #line 825 "parser.yy"
     6220#line 828 "parser.yy"
    60906221    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    60916222    break;
     
    60946225
    60956226/* Line 1806 of yacc.c  */
    6096 #line 827 "parser.yy"
     6227#line 830 "parser.yy"
    60976228    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    60986229    break;
     
    61016232
    61026233/* Line 1806 of yacc.c  */
    6103 #line 829 "parser.yy"
     6234#line 832 "parser.yy"
    61046235    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    61056236    break;
     
    61086239
    61096240/* Line 1806 of yacc.c  */
    6110 #line 833 "parser.yy"
     6241#line 836 "parser.yy"
    61116242    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    61126243    break;
     
    61156246
    61166247/* Line 1806 of yacc.c  */
    6117 #line 835 "parser.yy"
     6248#line 838 "parser.yy"
    61186249    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    61196250    break;
     
    61226253
    61236254/* Line 1806 of yacc.c  */
    6124 #line 842 "parser.yy"
     6255#line 845 "parser.yy"
    61256256    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    61266257    break;
     
    61296260
    61306261/* Line 1806 of yacc.c  */
    6131 #line 844 "parser.yy"
     6262#line 847 "parser.yy"
    61326263    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    61336264    break;
     
    61366267
    61376268/* Line 1806 of yacc.c  */
    6138 #line 846 "parser.yy"
     6269#line 849 "parser.yy"
    61396270    {
    61406271                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    61466277
    61476278/* Line 1806 of yacc.c  */
    6148 #line 857 "parser.yy"
     6279#line 860 "parser.yy"
    61496280    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61506281    break;
     
    61536284
    61546285/* Line 1806 of yacc.c  */
    6155 #line 859 "parser.yy"
     6286#line 862 "parser.yy"
    61566287    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61576288    break;
     
    61606291
    61616292/* Line 1806 of yacc.c  */
    6162 #line 861 "parser.yy"
     6293#line 864 "parser.yy"
    61636294    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61646295    break;
     
    61676298
    61686299/* Line 1806 of yacc.c  */
    6169 #line 863 "parser.yy"
     6300#line 866 "parser.yy"
    61706301    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61716302    break;
     
    61746305
    61756306/* Line 1806 of yacc.c  */
    6176 #line 868 "parser.yy"
     6307#line 871 "parser.yy"
    61776308    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61786309    break;
     
    61816312
    61826313/* Line 1806 of yacc.c  */
    6183 #line 870 "parser.yy"
     6314#line 873 "parser.yy"
    61846315    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61856316    break;
     
    61886319
    61896320/* Line 1806 of yacc.c  */
    6190 #line 872 "parser.yy"
     6321#line 875 "parser.yy"
    61916322    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61926323    break;
     
    61956326
    61966327/* Line 1806 of yacc.c  */
    6197 #line 874 "parser.yy"
     6328#line 877 "parser.yy"
    61986329    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61996330    break;
     
    62026333
    62036334/* Line 1806 of yacc.c  */
    6204 #line 879 "parser.yy"
     6335#line 882 "parser.yy"
    62056336    {
    62066337                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    62126343
    62136344/* Line 1806 of yacc.c  */
    6214 #line 893 "parser.yy"
     6345#line 896 "parser.yy"
    62156346    {
    62166347                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62226353
    62236354/* Line 1806 of yacc.c  */
    6224 #line 898 "parser.yy"
     6355#line 901 "parser.yy"
    62256356    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    62266357    break;
     
    62296360
    62306361/* Line 1806 of yacc.c  */
    6231 #line 900 "parser.yy"
     6362#line 903 "parser.yy"
    62326363    {
    62336364                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62396370
    62406371/* Line 1806 of yacc.c  */
    6241 #line 909 "parser.yy"
     6372#line 912 "parser.yy"
    62426373    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    62436374    break;
     
    62466377
    62476378/* Line 1806 of yacc.c  */
    6248 #line 911 "parser.yy"
     6379#line 914 "parser.yy"
    62496380    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    62506381    break;
     
    62536384
    62546385/* Line 1806 of yacc.c  */
    6255 #line 913 "parser.yy"
     6386#line 916 "parser.yy"
    62566387    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    62576388    break;
     
    62606391
    62616392/* Line 1806 of yacc.c  */
    6262 #line 915 "parser.yy"
     6393#line 918 "parser.yy"
    62636394    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
    62646395    break;
     
    62676398
    62686399/* Line 1806 of yacc.c  */
    6269 #line 917 "parser.yy"
     6400#line 920 "parser.yy"
    62706401    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); }
    62716402    break;
     
    62746405
    62756406/* Line 1806 of yacc.c  */
    6276 #line 922 "parser.yy"
     6407#line 925 "parser.yy"
    62776408    { (yyval.flag) = false; }
    62786409    break;
     
    62816412
    62826413/* Line 1806 of yacc.c  */
    6283 #line 924 "parser.yy"
     6414#line 927 "parser.yy"
    62846415    { (yyval.flag) = true; }
    62856416    break;
     
    62886419
    62896420/* Line 1806 of yacc.c  */
    6290 #line 929 "parser.yy"
     6421#line 932 "parser.yy"
    62916422    { (yyval.en) = 0; }
    62926423    break;
     
    62956426
    62966427/* Line 1806 of yacc.c  */
    6297 #line 936 "parser.yy"
     6428#line 939 "parser.yy"
    62986429    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62996430    break;
     
    63026433
    63036434/* Line 1806 of yacc.c  */
    6304 #line 941 "parser.yy"
     6435#line 944 "parser.yy"
    63056436    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    63066437    break;
     
    63096440
    63106441/* Line 1806 of yacc.c  */
    6311 #line 943 "parser.yy"
     6442#line 946 "parser.yy"
    63126443    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    63136444    break;
     
    63166447
    63176448/* Line 1806 of yacc.c  */
    6318 #line 948 "parser.yy"
     6449#line 951 "parser.yy"
    63196450    { (yyval.constant) = 0; }
    63206451    break;
     
    63236454
    63246455/* Line 1806 of yacc.c  */
    6325 #line 950 "parser.yy"
     6456#line 953 "parser.yy"
    63266457    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    63276458    break;
     
    63306461
    63316462/* Line 1806 of yacc.c  */
    6332 #line 952 "parser.yy"
     6463#line 955 "parser.yy"
    63336464    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    63346465    break;
     
    63376468
    63386469/* Line 1806 of yacc.c  */
    6339 #line 957 "parser.yy"
     6470#line 960 "parser.yy"
    63406471    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    63416472    break;
     
    63446475
    63456476/* Line 1806 of yacc.c  */
    6346 #line 959 "parser.yy"
     6477#line 962 "parser.yy"
    63476478    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    63486479    break;
     
    63516482
    63526483/* Line 1806 of yacc.c  */
    6353 #line 966 "parser.yy"
     6484#line 969 "parser.yy"
    63546485    { (yyval.decl) = 0; }
    63556486    break;
     
    63586489
    63596490/* Line 1806 of yacc.c  */
    6360 #line 973 "parser.yy"
     6491#line 976 "parser.yy"
    63616492    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63626493    break;
     
    63656496
    63666497/* Line 1806 of yacc.c  */
    6367 #line 978 "parser.yy"
     6498#line 981 "parser.yy"
    63686499    { (yyval.decl) = 0; }
    63696500    break;
     
    63726503
    63736504/* Line 1806 of yacc.c  */
    6374 #line 985 "parser.yy"
     6505#line 988 "parser.yy"
    63756506    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63766507    break;
     
    63796510
    63806511/* Line 1806 of yacc.c  */
    6381 #line 999 "parser.yy"
     6512#line 1002 "parser.yy"
    63826513    {}
    63836514    break;
     
    63866517
    63876518/* Line 1806 of yacc.c  */
    6388 #line 1000 "parser.yy"
     6519#line 1003 "parser.yy"
    63896520    {}
    63906521    break;
     
    63936524
    63946525/* Line 1806 of yacc.c  */
    6395 #line 1029 "parser.yy"
     6526#line 1032 "parser.yy"
    63966527    {
    63976528                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64036534
    64046535/* Line 1806 of yacc.c  */
    6405 #line 1036 "parser.yy"
     6536#line 1039 "parser.yy"
    64066537    {
    64076538                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64136544
    64146545/* Line 1806 of yacc.c  */
    6415 #line 1041 "parser.yy"
     6546#line 1044 "parser.yy"
    64166547    {
    64176548                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    64236554
    64246555/* Line 1806 of yacc.c  */
    6425 #line 1051 "parser.yy"
     6556#line 1054 "parser.yy"
    64266557    {
    64276558                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64336564
    64346565/* Line 1806 of yacc.c  */
    6435 #line 1056 "parser.yy"
     6566#line 1059 "parser.yy"
    64366567    {
    64376568                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64436574
    64446575/* Line 1806 of yacc.c  */
    6445 #line 1061 "parser.yy"
     6576#line 1064 "parser.yy"
    64466577    {
    64476578                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    64536584
    64546585/* Line 1806 of yacc.c  */
    6455 #line 1069 "parser.yy"
     6586#line 1072 "parser.yy"
    64566587    {
    64576588                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64636594
    64646595/* Line 1806 of yacc.c  */
    6465 #line 1074 "parser.yy"
     6596#line 1077 "parser.yy"
    64666597    {
    64676598                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64736604
    64746605/* Line 1806 of yacc.c  */
    6475 #line 1079 "parser.yy"
     6606#line 1082 "parser.yy"
    64766607    {
    64776608                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64836614
    64846615/* Line 1806 of yacc.c  */
    6485 #line 1084 "parser.yy"
     6616#line 1087 "parser.yy"
    64866617    {
    64876618                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64936624
    64946625/* Line 1806 of yacc.c  */
    6495 #line 1089 "parser.yy"
     6626#line 1092 "parser.yy"
    64966627    {
    64976628                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    65036634
    65046635/* Line 1806 of yacc.c  */
    6505 #line 1097 "parser.yy"
     6636#line 1100 "parser.yy"
    65066637    {
    65076638                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    65126643
    65136644/* Line 1806 of yacc.c  */
    6514 #line 1120 "parser.yy"
     6645#line 1123 "parser.yy"
    65156646    {
    65166647                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    65216652
    65226653/* Line 1806 of yacc.c  */
    6523 #line 1124 "parser.yy"
     6654#line 1127 "parser.yy"
    65246655    {
    65256656                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    65306661
    65316662/* Line 1806 of yacc.c  */
    6532 #line 1131 "parser.yy"
     6663#line 1134 "parser.yy"
    65336664    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    65346665    break;
     
    65376668
    65386669/* Line 1806 of yacc.c  */
    6539 #line 1135 "parser.yy"
     6670#line 1138 "parser.yy"
    65406671    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    65416672    break;
     
    65446675
    65456676/* Line 1806 of yacc.c  */
    6546 #line 1140 "parser.yy"
     6677#line 1143 "parser.yy"
    65476678    {
    65486679                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65546685
    65556686/* Line 1806 of yacc.c  */
    6556 #line 1145 "parser.yy"
     6687#line 1148 "parser.yy"
    65576688    {
    65586689                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65646695
    65656696/* Line 1806 of yacc.c  */
    6566 #line 1150 "parser.yy"
     6697#line 1153 "parser.yy"
    65676698    {
    65686699                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    65746705
    65756706/* Line 1806 of yacc.c  */
    6576 #line 1161 "parser.yy"
     6707#line 1164 "parser.yy"
    65776708    {
    65786709                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65846715
    65856716/* Line 1806 of yacc.c  */
    6586 #line 1166 "parser.yy"
     6717#line 1169 "parser.yy"
    65876718    {
    65886719                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65946725
    65956726/* Line 1806 of yacc.c  */
    6596 #line 1171 "parser.yy"
     6727#line 1174 "parser.yy"
    65976728    {
    65986729                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66046735
    66056736/* Line 1806 of yacc.c  */
    6606 #line 1176 "parser.yy"
     6737#line 1179 "parser.yy"
    66076738    {
    66086739                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66146745
    66156746/* Line 1806 of yacc.c  */
    6616 #line 1181 "parser.yy"
     6747#line 1184 "parser.yy"
    66176748    {
    66186749                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66246755
    66256756/* Line 1806 of yacc.c  */
    6626 #line 1190 "parser.yy"
     6757#line 1193 "parser.yy"
    66276758    {
    66286759                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    66346765
    66356766/* Line 1806 of yacc.c  */
    6636 #line 1195 "parser.yy"
     6767#line 1198 "parser.yy"
    66376768    {
    66386769                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    66446775
    66456776/* Line 1806 of yacc.c  */
    6646 #line 1212 "parser.yy"
     6777#line 1215 "parser.yy"
    66476778    {
    66486779                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66546785
    66556786/* Line 1806 of yacc.c  */
    6656 #line 1217 "parser.yy"
     6787#line 1220 "parser.yy"
    66576788    {
    66586789                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66646795
    66656796/* Line 1806 of yacc.c  */
    6666 #line 1239 "parser.yy"
     6797#line 1242 "parser.yy"
    66676798    { (yyval.decl) = 0; }
    66686799    break;
     
    66716802
    66726803/* Line 1806 of yacc.c  */
    6673 #line 1251 "parser.yy"
     6804#line 1254 "parser.yy"
    66746805    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66756806    break;
     
    66786809
    66796810/* Line 1806 of yacc.c  */
    6680 #line 1262 "parser.yy"
     6811#line 1265 "parser.yy"
    66816812    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    66826813    break;
     
    66856816
    66866817/* Line 1806 of yacc.c  */
    6687 #line 1264 "parser.yy"
     6818#line 1267 "parser.yy"
    66886819    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    66896820    break;
     
    66926823
    66936824/* Line 1806 of yacc.c  */
    6694 #line 1266 "parser.yy"
     6825#line 1269 "parser.yy"
    66956826    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66966827    break;
     
    66996830
    67006831/* Line 1806 of yacc.c  */
    6701 #line 1268 "parser.yy"
     6832#line 1271 "parser.yy"
    67026833    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    67036834    break;
     
    67066837
    67076838/* Line 1806 of yacc.c  */
    6708 #line 1270 "parser.yy"
     6839#line 1273 "parser.yy"
    67096840    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    67106841    break;
     
    67136844
    67146845/* Line 1806 of yacc.c  */
    6715 #line 1272 "parser.yy"
     6846#line 1275 "parser.yy"
    67166847    {
    67176848                        typedefTable.enterScope();
     
    67226853
    67236854/* Line 1806 of yacc.c  */
    6724 #line 1276 "parser.yy"
     6855#line 1279 "parser.yy"
    67256856    {
    67266857                        typedefTable.leaveScope();
     
    67326863
    67336864/* Line 1806 of yacc.c  */
    6734 #line 1285 "parser.yy"
     6865#line 1288 "parser.yy"
    67356866    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67366867    break;
     
    67396870
    67406871/* Line 1806 of yacc.c  */
    6741 #line 1287 "parser.yy"
     6872#line 1290 "parser.yy"
    67426873    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67436874    break;
     
    67466877
    67476878/* Line 1806 of yacc.c  */
    6748 #line 1298 "parser.yy"
     6879#line 1301 "parser.yy"
    67496880    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67506881    break;
     
    67536884
    67546885/* Line 1806 of yacc.c  */
    6755 #line 1307 "parser.yy"
     6886#line 1310 "parser.yy"
    67566887    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    67576888    break;
     
    67606891
    67616892/* Line 1806 of yacc.c  */
    6762 #line 1309 "parser.yy"
     6893#line 1312 "parser.yy"
    67636894    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    67646895    break;
     
    67676898
    67686899/* Line 1806 of yacc.c  */
    6769 #line 1311 "parser.yy"
     6900#line 1314 "parser.yy"
    67706901    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    67716902    break;
     
    67746905
    67756906/* Line 1806 of yacc.c  */
    6776 #line 1313 "parser.yy"
     6907#line 1316 "parser.yy"
    67776908    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    67786909    break;
     
    67816912
    67826913/* Line 1806 of yacc.c  */
    6783 #line 1315 "parser.yy"
     6914#line 1318 "parser.yy"
    67846915    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    67856916    break;
     
    67886919
    67896920/* Line 1806 of yacc.c  */
    6790 #line 1317 "parser.yy"
     6921#line 1320 "parser.yy"
    67916922    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67926923    break;
     
    67956926
    67966927/* Line 1806 of yacc.c  */
    6797 #line 1319 "parser.yy"
     6928#line 1322 "parser.yy"
    67986929    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    67996930    break;
     
    68026933
    68036934/* Line 1806 of yacc.c  */
    6804 #line 1321 "parser.yy"
     6935#line 1324 "parser.yy"
    68056936    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    68066937    break;
     
    68096940
    68106941/* Line 1806 of yacc.c  */
    6811 #line 1326 "parser.yy"
     6942#line 1329 "parser.yy"
    68126943    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    68136944    break;
     
    68166947
    68176948/* Line 1806 of yacc.c  */
    6818 #line 1328 "parser.yy"
     6949#line 1331 "parser.yy"
    68196950    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    68206951    break;
     
    68236954
    68246955/* Line 1806 of yacc.c  */
    6825 #line 1330 "parser.yy"
     6956#line 1333 "parser.yy"
    68266957    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    68276958    break;
     
    68306961
    68316962/* Line 1806 of yacc.c  */
    6832 #line 1332 "parser.yy"
     6963#line 1335 "parser.yy"
    68336964    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    68346965    break;
     
    68376968
    68386969/* Line 1806 of yacc.c  */
    6839 #line 1334 "parser.yy"
     6970#line 1337 "parser.yy"
    68406971    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    68416972    break;
     
    68446975
    68456976/* Line 1806 of yacc.c  */
    6846 #line 1336 "parser.yy"
     6977#line 1339 "parser.yy"
    68476978    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    68486979    break;
     
    68516982
    68526983/* Line 1806 of yacc.c  */
    6853 #line 1338 "parser.yy"
     6984#line 1341 "parser.yy"
    68546985    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    68556986    break;
     
    68586989
    68596990/* Line 1806 of yacc.c  */
    6860 #line 1340 "parser.yy"
     6991#line 1343 "parser.yy"
    68616992    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    68626993    break;
     
    68656996
    68666997/* Line 1806 of yacc.c  */
    6867 #line 1342 "parser.yy"
     6998#line 1345 "parser.yy"
    68686999    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    68697000    break;
     
    68727003
    68737004/* Line 1806 of yacc.c  */
    6874 #line 1344 "parser.yy"
     7005#line 1347 "parser.yy"
    68757006    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    68767007    break;
     
    68797010
    68807011/* Line 1806 of yacc.c  */
    6881 #line 1346 "parser.yy"
     7012#line 1349 "parser.yy"
    68827013    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    68837014    break;
     
    68867017
    68877018/* Line 1806 of yacc.c  */
    6888 #line 1348 "parser.yy"
     7019#line 1351 "parser.yy"
    68897020    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    68907021    break;
     
    68937024
    68947025/* Line 1806 of yacc.c  */
    6895 #line 1350 "parser.yy"
     7026#line 1353 "parser.yy"
    68967027    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    68977028    break;
     
    69007031
    69017032/* Line 1806 of yacc.c  */
    6902 #line 1357 "parser.yy"
     7033#line 1360 "parser.yy"
    69037034    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69047035    break;
     
    69077038
    69087039/* Line 1806 of yacc.c  */
    6909 #line 1359 "parser.yy"
     7040#line 1362 "parser.yy"
    69107041    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69117042    break;
     
    69147045
    69157046/* Line 1806 of yacc.c  */
    6916 #line 1361 "parser.yy"
     7047#line 1364 "parser.yy"
    69177048    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69187049    break;
     
    69217052
    69227053/* Line 1806 of yacc.c  */
    6923 #line 1363 "parser.yy"
     7054#line 1366 "parser.yy"
    69247055    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    69257056    break;
     
    69287059
    69297060/* Line 1806 of yacc.c  */
    6930 #line 1369 "parser.yy"
     7061#line 1372 "parser.yy"
    69317062    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69327063    break;
     
    69357066
    69367067/* Line 1806 of yacc.c  */
    6937 #line 1376 "parser.yy"
     7068#line 1379 "parser.yy"
    69387069    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69397070    break;
     
    69427073
    69437074/* Line 1806 of yacc.c  */
    6944 #line 1378 "parser.yy"
     7075#line 1381 "parser.yy"
    69457076    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69467077    break;
     
    69497080
    69507081/* Line 1806 of yacc.c  */
    6951 #line 1380 "parser.yy"
     7082#line 1383 "parser.yy"
    69527083    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    69537084    break;
     
    69567087
    69577088/* Line 1806 of yacc.c  */
    6958 #line 1385 "parser.yy"
     7089#line 1388 "parser.yy"
    69597090    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    69607091    break;
     
    69637094
    69647095/* Line 1806 of yacc.c  */
    6965 #line 1387 "parser.yy"
     7096#line 1390 "parser.yy"
    69667097    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    69677098    break;
     
    69707101
    69717102/* Line 1806 of yacc.c  */
    6972 #line 1389 "parser.yy"
     7103#line 1392 "parser.yy"
    69737104    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    69747105    break;
     
    69777108
    69787109/* Line 1806 of yacc.c  */
    6979 #line 1391 "parser.yy"
     7110#line 1394 "parser.yy"
    69807111    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    69817112    break;
     
    69847115
    69857116/* Line 1806 of yacc.c  */
    6986 #line 1397 "parser.yy"
     7117#line 1400 "parser.yy"
    69877118    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69887119    break;
     
    69917122
    69927123/* Line 1806 of yacc.c  */
    6993 #line 1399 "parser.yy"
     7124#line 1402 "parser.yy"
    69947125    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69957126    break;
     
    69987129
    69997130/* Line 1806 of yacc.c  */
    7000 #line 1401 "parser.yy"
     7131#line 1404 "parser.yy"
    70017132    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    70027133    break;
     
    70057136
    70067137/* Line 1806 of yacc.c  */
    7007 #line 1407 "parser.yy"
     7138#line 1410 "parser.yy"
    70087139    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70097140    break;
     
    70127143
    70137144/* Line 1806 of yacc.c  */
    7014 #line 1409 "parser.yy"
     7145#line 1412 "parser.yy"
    70157146    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70167147    break;
     
    70197150
    70207151/* Line 1806 of yacc.c  */
    7021 #line 1415 "parser.yy"
     7152#line 1418 "parser.yy"
    70227153    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70237154    break;
     
    70267157
    70277158/* Line 1806 of yacc.c  */
    7028 #line 1417 "parser.yy"
     7159#line 1420 "parser.yy"
    70297160    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70307161    break;
     
    70337164
    70347165/* Line 1806 of yacc.c  */
    7035 #line 1419 "parser.yy"
     7166#line 1422 "parser.yy"
    70367167    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    70377168    break;
     
    70407171
    70417172/* Line 1806 of yacc.c  */
    7042 #line 1424 "parser.yy"
     7173#line 1427 "parser.yy"
    70437174    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    70447175    break;
     
    70477178
    70487179/* Line 1806 of yacc.c  */
    7049 #line 1426 "parser.yy"
     7180#line 1429 "parser.yy"
    70507181    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70517182    break;
     
    70547185
    70557186/* Line 1806 of yacc.c  */
    7056 #line 1428 "parser.yy"
     7187#line 1431 "parser.yy"
    70577188    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70587189    break;
     
    70617192
    70627193/* Line 1806 of yacc.c  */
    7063 #line 1438 "parser.yy"
     7194#line 1441 "parser.yy"
    70647195    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    70657196    break;
     
    70687199
    70697200/* Line 1806 of yacc.c  */
    7070 #line 1440 "parser.yy"
     7201#line 1443 "parser.yy"
    70717202    {
    70727203                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    70787209
    70797210/* Line 1806 of yacc.c  */
    7080 #line 1445 "parser.yy"
     7211#line 1448 "parser.yy"
    70817212    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    70827213    break;
     
    70857216
    70867217/* Line 1806 of yacc.c  */
    7087 #line 1447 "parser.yy"
     7218#line 1450 "parser.yy"
    70887219    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }
    70897220    break;
     
    70927223
    70937224/* Line 1806 of yacc.c  */
    7094 #line 1449 "parser.yy"
     7225#line 1452 "parser.yy"
    70957226    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    70967227    break;
     
    70997230
    71007231/* Line 1806 of yacc.c  */
    7101 #line 1451 "parser.yy"
     7232#line 1454 "parser.yy"
    71027233    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    71037234    break;
     
    71067237
    71077238/* Line 1806 of yacc.c  */
    7108 #line 1456 "parser.yy"
     7239#line 1459 "parser.yy"
    71097240    { (yyval.aggKey) = DeclarationNode::Struct; }
    71107241    break;
     
    71137244
    71147245/* Line 1806 of yacc.c  */
    7115 #line 1458 "parser.yy"
     7246#line 1461 "parser.yy"
    71167247    { (yyval.aggKey) = DeclarationNode::Union; }
    71177248    break;
     
    71207251
    71217252/* Line 1806 of yacc.c  */
    7122 #line 1463 "parser.yy"
     7253#line 1466 "parser.yy"
    71237254    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    71247255    break;
     
    71277258
    71287259/* Line 1806 of yacc.c  */
    7129 #line 1465 "parser.yy"
     7260#line 1468 "parser.yy"
    71307261    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    71317262    break;
    71327263
    71337264  case 377:
    7134 
    7135 /* Line 1806 of yacc.c  */
    7136 #line 1471 "parser.yy"
    7137     { (yyval.decl) = (yyvsp[(2) - (3)].decl)/*->set_extension( true )*/; }
    7138     break;
    7139 
    7140   case 379:
    71417265
    71427266/* Line 1806 of yacc.c  */
     
    71457269    break;
    71467270
     7271  case 379:
     7272
     7273/* Line 1806 of yacc.c  */
     7274#line 1477 "parser.yy"
     7275    { (yyval.decl) = (yyvsp[(2) - (3)].decl)/*->set_extension( true )*/; }
     7276    break;
     7277
    71477278  case 381:
    71487279
    71497280/* Line 1806 of yacc.c  */
    7150 #line 1480 "parser.yy"
     7281#line 1483 "parser.yy"
    71517282    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    71527283    break;
     
    71557286
    71567287/* Line 1806 of yacc.c  */
    7157 #line 1482 "parser.yy"
     7288#line 1485 "parser.yy"
    71587289    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    71597290    break;
     
    71627293
    71637294/* Line 1806 of yacc.c  */
    7164 #line 1484 "parser.yy"
     7295#line 1487 "parser.yy"
    71657296    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    71667297    break;
     
    71697300
    71707301/* Line 1806 of yacc.c  */
    7171 #line 1489 "parser.yy"
     7302#line 1492 "parser.yy"
    71727303    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    71737304    break;
     
    71767307
    71777308/* Line 1806 of yacc.c  */
    7178 #line 1491 "parser.yy"
     7309#line 1494 "parser.yy"
    71797310    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    71807311    break;
     
    71837314
    71847315/* Line 1806 of yacc.c  */
    7185 #line 1496 "parser.yy"
     7316#line 1499 "parser.yy"
    71867317    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    71877318    break;
     
    71907321
    71917322/* Line 1806 of yacc.c  */
    7192 #line 1498 "parser.yy"
     7323#line 1501 "parser.yy"
    71937324    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    71947325    break;
    71957326
    71967327  case 388:
    7197 
    7198 /* Line 1806 of yacc.c  */
    7199 #line 1501 "parser.yy"
    7200     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    7201     break;
    7202 
    7203   case 389:
    72047328
    72057329/* Line 1806 of yacc.c  */
     
    72087332    break;
    72097333
     7334  case 389:
     7335
     7336/* Line 1806 of yacc.c  */
     7337#line 1507 "parser.yy"
     7338    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7339    break;
     7340
    72107341  case 391:
    72117342
    72127343/* Line 1806 of yacc.c  */
    7213 #line 1510 "parser.yy"
     7344#line 1513 "parser.yy"
    72147345    { (yyval.en) = 0; }
    72157346    break;
     
    72187349
    72197350/* Line 1806 of yacc.c  */
    7220 #line 1512 "parser.yy"
     7351#line 1515 "parser.yy"
    72217352    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    72227353    break;
     
    72257356
    72267357/* Line 1806 of yacc.c  */
    7227 #line 1517 "parser.yy"
     7358#line 1520 "parser.yy"
    72287359    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72297360    break;
     
    72327363
    72337364/* Line 1806 of yacc.c  */
    7234 #line 1526 "parser.yy"
     7365#line 1529 "parser.yy"
    72357366    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    72367367    break;
     
    72397370
    72407371/* Line 1806 of yacc.c  */
    7241 #line 1528 "parser.yy"
     7372#line 1531 "parser.yy"
    72427373    {
    72437374                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    72497380
    72507381/* Line 1806 of yacc.c  */
    7251 #line 1533 "parser.yy"
     7382#line 1536 "parser.yy"
    72527383    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    72537384    break;
     
    72567387
    72577388/* Line 1806 of yacc.c  */
    7258 #line 1535 "parser.yy"
     7389#line 1538 "parser.yy"
    72597390    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    72607391    break;
     
    72637394
    72647395/* Line 1806 of yacc.c  */
    7265 #line 1540 "parser.yy"
     7396#line 1543 "parser.yy"
    72667397    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    72677398    break;
     
    72707401
    72717402/* Line 1806 of yacc.c  */
    7272 #line 1542 "parser.yy"
     7403#line 1545 "parser.yy"
    72737404    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    72747405    break;
     
    72777408
    72787409/* Line 1806 of yacc.c  */
    7279 #line 1547 "parser.yy"
     7410#line 1550 "parser.yy"
    72807411    { (yyval.en) = 0; }
    72817412    break;
     
    72847415
    72857416/* Line 1806 of yacc.c  */
    7286 #line 1549 "parser.yy"
     7417#line 1552 "parser.yy"
    72877418    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72887419    break;
     
    72917422
    72927423/* Line 1806 of yacc.c  */
    7293 #line 1556 "parser.yy"
     7424#line 1559 "parser.yy"
    72947425    { (yyval.decl) = 0; }
    72957426    break;
     
    72987429
    72997430/* Line 1806 of yacc.c  */
    7300 #line 1564 "parser.yy"
     7431#line 1567 "parser.yy"
    73017432    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73027433    break;
     
    73057436
    73067437/* Line 1806 of yacc.c  */
    7307 #line 1566 "parser.yy"
     7438#line 1569 "parser.yy"
    73087439    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73097440    break;
     
    73127443
    73137444/* Line 1806 of yacc.c  */
    7314 #line 1568 "parser.yy"
     7445#line 1571 "parser.yy"
    73157446    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73167447    break;
     
    73197450
    73207451/* Line 1806 of yacc.c  */
    7321 #line 1576 "parser.yy"
     7452#line 1579 "parser.yy"
    73227453    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73237454    break;
     
    73267457
    73277458/* Line 1806 of yacc.c  */
    7328 #line 1578 "parser.yy"
     7459#line 1581 "parser.yy"
    73297460    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73307461    break;
     
    73337464
    73347465/* Line 1806 of yacc.c  */
    7335 #line 1580 "parser.yy"
     7466#line 1583 "parser.yy"
    73367467    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    73377468    break;
     
    73407471
    73417472/* Line 1806 of yacc.c  */
    7342 #line 1586 "parser.yy"
     7473#line 1589 "parser.yy"
    73437474    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73447475    break;
     
    73477478
    73487479/* Line 1806 of yacc.c  */
    7349 #line 1591 "parser.yy"
     7480#line 1594 "parser.yy"
    73507481    { (yyval.decl) = 0; }
    73517482    break;
     
    73547485
    73557486/* Line 1806 of yacc.c  */
    7356 #line 1598 "parser.yy"
     7487#line 1601 "parser.yy"
    73577488    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73587489    break;
     
    73617492
    73627493/* Line 1806 of yacc.c  */
    7363 #line 1605 "parser.yy"
     7494#line 1608 "parser.yy"
    73647495    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73657496    break;
     
    73687499
    73697500/* Line 1806 of yacc.c  */
    7370 #line 1607 "parser.yy"
     7501#line 1610 "parser.yy"
    73717502    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73727503    break;
    73737504
    73747505  case 425:
    7375 
    7376 /* Line 1806 of yacc.c  */
    7377 #line 1616 "parser.yy"
    7378     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7379     break;
    7380 
    7381   case 426:
    73827506
    73837507/* Line 1806 of yacc.c  */
     
    73867510    break;
    73877511
     7512  case 426:
     7513
     7514/* Line 1806 of yacc.c  */
     7515#line 1622 "parser.yy"
     7516    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7517    break;
     7518
    73887519  case 427:
    73897520
    73907521/* Line 1806 of yacc.c  */
    7391 #line 1621 "parser.yy"
     7522#line 1624 "parser.yy"
    73927523    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    73937524    break;
     
    73967527
    73977528/* Line 1806 of yacc.c  */
    7398 #line 1631 "parser.yy"
     7529#line 1634 "parser.yy"
    73997530    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74007531    break;
     
    74037534
    74047535/* Line 1806 of yacc.c  */
    7405 #line 1637 "parser.yy"
     7536#line 1640 "parser.yy"
    74067537    {
    74077538                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74137544
    74147545/* Line 1806 of yacc.c  */
    7415 #line 1642 "parser.yy"
     7546#line 1645 "parser.yy"
    74167547    {
    74177548                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74237554
    74247555/* Line 1806 of yacc.c  */
    7425 #line 1651 "parser.yy"
     7556#line 1654 "parser.yy"
    74267557    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74277558    break;
     
    74307561
    74317562/* Line 1806 of yacc.c  */
    7432 #line 1660 "parser.yy"
     7563#line 1663 "parser.yy"
    74337564    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    74347565    break;
     
    74377568
    74387569/* Line 1806 of yacc.c  */
    7439 #line 1662 "parser.yy"
     7570#line 1665 "parser.yy"
    74407571    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    74417572    break;
     
    74447575
    74457576/* Line 1806 of yacc.c  */
    7446 #line 1687 "parser.yy"
     7577#line 1690 "parser.yy"
    74477578    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74487579    break;
     
    74517582
    74527583/* Line 1806 of yacc.c  */
    7453 #line 1695 "parser.yy"
     7584#line 1698 "parser.yy"
    74547585    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74557586    break;
     
    74587589
    74597590/* Line 1806 of yacc.c  */
    7460 #line 1700 "parser.yy"
     7591#line 1703 "parser.yy"
    74617592    { (yyval.in) = 0; }
    74627593    break;
     
    74657596
    74667597/* Line 1806 of yacc.c  */
    7467 #line 1702 "parser.yy"
     7598#line 1705 "parser.yy"
    74687599    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    74697600    break;
     
    74727603
    74737604/* Line 1806 of yacc.c  */
    7474 #line 1704 "parser.yy"
     7605#line 1707 "parser.yy"
    74757606    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    74767607    break;
     
    74797610
    74807611/* Line 1806 of yacc.c  */
    7481 #line 1708 "parser.yy"
     7612#line 1711 "parser.yy"
    74827613    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    74837614    break;
     
    74867617
    74877618/* Line 1806 of yacc.c  */
    7488 #line 1709 "parser.yy"
     7619#line 1712 "parser.yy"
    74897620    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    74907621    break;
     
    74937624
    74947625/* Line 1806 of yacc.c  */
    7495 #line 1714 "parser.yy"
     7626#line 1717 "parser.yy"
    74967627    { (yyval.in) = 0; }
    74977628    break;
     
    75007631
    75017632/* Line 1806 of yacc.c  */
    7502 #line 1716 "parser.yy"
     7633#line 1719 "parser.yy"
    75037634    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    75047635    break;
     
    75077638
    75087639/* Line 1806 of yacc.c  */
    7509 #line 1717 "parser.yy"
     7640#line 1720 "parser.yy"
    75107641    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    75117642    break;
     
    75147645
    75157646/* Line 1806 of yacc.c  */
    7516 #line 1719 "parser.yy"
     7647#line 1722 "parser.yy"
    75177648    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    75187649    break;
     
    75217652
    75227653/* Line 1806 of yacc.c  */
    7523 #line 1735 "parser.yy"
     7654#line 1738 "parser.yy"
    75247655    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    75257656    break;
     
    75287659
    75297660/* Line 1806 of yacc.c  */
    7530 #line 1741 "parser.yy"
     7661#line 1744 "parser.yy"
    75317662    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    75327663    break;
     
    75357666
    75367667/* Line 1806 of yacc.c  */
    7537 #line 1749 "parser.yy"
     7668#line 1752 "parser.yy"
    75387669    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    75397670    break;
     
    75427673
    75437674/* Line 1806 of yacc.c  */
    7544 #line 1751 "parser.yy"
     7675#line 1754 "parser.yy"
    75457676    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    75467677    break;
     
    75497680
    75507681/* Line 1806 of yacc.c  */
    7551 #line 1754 "parser.yy"
     7682#line 1757 "parser.yy"
    75527683    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    75537684    break;
     
    75567687
    75577688/* Line 1806 of yacc.c  */
    7558 #line 1756 "parser.yy"
     7689#line 1759 "parser.yy"
    75597690    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    75607691    break;
     
    75637694
    75647695/* Line 1806 of yacc.c  */
    7565 #line 1758 "parser.yy"
     7696#line 1761 "parser.yy"
    75667697    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    75677698    break;
     
    75707701
    75717702/* Line 1806 of yacc.c  */
    7572 #line 1760 "parser.yy"
     7703#line 1763 "parser.yy"
    75737704    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    75747705    break;
     
    75777708
    75787709/* Line 1806 of yacc.c  */
    7579 #line 1784 "parser.yy"
     7710#line 1787 "parser.yy"
    75807711    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75817712    break;
     
    75847715
    75857716/* Line 1806 of yacc.c  */
    7586 #line 1786 "parser.yy"
     7717#line 1789 "parser.yy"
    75877718    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75887719    break;
     
    75917722
    75927723/* Line 1806 of yacc.c  */
    7593 #line 1788 "parser.yy"
     7724#line 1791 "parser.yy"
    75947725    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    75957726    break;
     
    75987729
    75997730/* Line 1806 of yacc.c  */
    7600 #line 1794 "parser.yy"
     7731#line 1797 "parser.yy"
    76017732    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    76027733    break;
     
    76057736
    76067737/* Line 1806 of yacc.c  */
    7607 #line 1796 "parser.yy"
     7738#line 1799 "parser.yy"
    76087739    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    76097740    break;
     
    76127743
    76137744/* Line 1806 of yacc.c  */
    7614 #line 1801 "parser.yy"
     7745#line 1804 "parser.yy"
    76157746    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    76167747    break;
     
    76197750
    76207751/* Line 1806 of yacc.c  */
    7621 #line 1807 "parser.yy"
     7752#line 1810 "parser.yy"
    76227753    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    76237754    break;
     
    76267757
    76277758/* Line 1806 of yacc.c  */
    7628 #line 1812 "parser.yy"
     7759#line 1815 "parser.yy"
    76297760    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    76307761    break;
     
    76337764
    76347765/* Line 1806 of yacc.c  */
    7635 #line 1814 "parser.yy"
     7766#line 1817 "parser.yy"
    76367767    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    76377768    break;
     
    76407771
    76417772/* Line 1806 of yacc.c  */
    7642 #line 1820 "parser.yy"
     7773#line 1823 "parser.yy"
    76437774    { (yyval.tclass) = DeclarationNode::Type; }
    76447775    break;
     
    76477778
    76487779/* Line 1806 of yacc.c  */
    7649 #line 1822 "parser.yy"
     7780#line 1825 "parser.yy"
    76507781    { (yyval.tclass) = DeclarationNode::Ftype; }
    76517782    break;
     
    76547785
    76557786/* Line 1806 of yacc.c  */
    7656 #line 1824 "parser.yy"
     7787#line 1827 "parser.yy"
    76577788    { (yyval.tclass) = DeclarationNode::Dtype; }
    76587789    break;
     
    76617792
    76627793/* Line 1806 of yacc.c  */
    7663 #line 1829 "parser.yy"
     7794#line 1832 "parser.yy"
    76647795    { (yyval.decl) = 0; }
    76657796    break;
     
    76687799
    76697800/* Line 1806 of yacc.c  */
    7670 #line 1831 "parser.yy"
     7801#line 1834 "parser.yy"
    76717802    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    76727803    break;
     
    76757806
    76767807/* Line 1806 of yacc.c  */
    7677 #line 1836 "parser.yy"
     7808#line 1839 "parser.yy"
    76787809    {
    76797810                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    76857816
    76867817/* Line 1806 of yacc.c  */
    7687 #line 1841 "parser.yy"
     7818#line 1844 "parser.yy"
    76887819    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    76897820    break;
     
    76927823
    76937824/* Line 1806 of yacc.c  */
    7694 #line 1843 "parser.yy"
     7825#line 1846 "parser.yy"
    76957826    { (yyval.decl) = 0; }
    76967827    break;
     
    76997830
    77007831/* Line 1806 of yacc.c  */
    7701 #line 1848 "parser.yy"
     7832#line 1851 "parser.yy"
    77027833    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    77037834    break;
     
    77067837
    77077838/* Line 1806 of yacc.c  */
    7708 #line 1851 "parser.yy"
     7839#line 1854 "parser.yy"
    77097840    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    77107841    break;
     
    77137844
    77147845/* Line 1806 of yacc.c  */
    7715 #line 1853 "parser.yy"
     7846#line 1856 "parser.yy"
    77167847    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    77177848    break;
     
    77207851
    77217852/* Line 1806 of yacc.c  */
    7722 #line 1858 "parser.yy"
     7853#line 1861 "parser.yy"
    77237854    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    77247855    break;
     
    77277858
    77287859/* Line 1806 of yacc.c  */
    7729 #line 1860 "parser.yy"
     7860#line 1863 "parser.yy"
    77307861    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    77317862    break;
     
    77347865
    77357866/* Line 1806 of yacc.c  */
    7736 #line 1862 "parser.yy"
     7867#line 1865 "parser.yy"
    77377868    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    77387869    break;
     
    77417872
    77427873/* Line 1806 of yacc.c  */
    7743 #line 1867 "parser.yy"
     7874#line 1870 "parser.yy"
    77447875    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    77457876    break;
     
    77487879
    77497880/* Line 1806 of yacc.c  */
    7750 #line 1869 "parser.yy"
     7881#line 1872 "parser.yy"
    77517882    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    77527883    break;
     
    77557886
    77567887/* Line 1806 of yacc.c  */
    7757 #line 1874 "parser.yy"
     7888#line 1877 "parser.yy"
    77587889    {
    77597890                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    77657896
    77667897/* Line 1806 of yacc.c  */
    7767 #line 1879 "parser.yy"
     7898#line 1882 "parser.yy"
    77687899    {
    77697900                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    77757906
    77767907/* Line 1806 of yacc.c  */
    7777 #line 1887 "parser.yy"
     7908#line 1890 "parser.yy"
    77787909    {
    77797910                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    77857916
    77867917/* Line 1806 of yacc.c  */
    7787 #line 1892 "parser.yy"
     7918#line 1895 "parser.yy"
    77887919    {
    77897920                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    77957926
    77967927/* Line 1806 of yacc.c  */
    7797 #line 1897 "parser.yy"
     7928#line 1900 "parser.yy"
    77987929    {
    77997930                        typedefTable.leaveTrait();
     
    78067937
    78077938/* Line 1806 of yacc.c  */
    7808 #line 1907 "parser.yy"
     7939#line 1910 "parser.yy"
    78097940    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    78107941    break;
     
    78137944
    78147945/* Line 1806 of yacc.c  */
    7815 #line 1917 "parser.yy"
     7946#line 1920 "parser.yy"
    78167947    {
    78177948                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78237954
    78247955/* Line 1806 of yacc.c  */
    7825 #line 1922 "parser.yy"
     7956#line 1925 "parser.yy"
    78267957    {
    78277958                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78337964
    78347965/* Line 1806 of yacc.c  */
    7835 #line 1927 "parser.yy"
     7966#line 1930 "parser.yy"
    78367967    {
    78377968                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    78437974
    78447975/* Line 1806 of yacc.c  */
    7845 #line 1935 "parser.yy"
     7976#line 1938 "parser.yy"
    78467977    {
    78477978                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78537984
    78547985/* Line 1806 of yacc.c  */
    7855 #line 1940 "parser.yy"
     7986#line 1943 "parser.yy"
    78567987    {
    78577988                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78637994
    78647995/* Line 1806 of yacc.c  */
    7865 #line 1950 "parser.yy"
     7996#line 1953 "parser.yy"
    78667997    {}
    78677998    break;
     
    78708001
    78718002/* Line 1806 of yacc.c  */
    7872 #line 1952 "parser.yy"
     8003#line 1955 "parser.yy"
    78738004    {
    78748005                        if ( theTree ) {
     
    78838014
    78848015/* Line 1806 of yacc.c  */
    7885 #line 1964 "parser.yy"
     8016#line 1967 "parser.yy"
    78868017    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    78878018    break;
     
    78908021
    78918022/* Line 1806 of yacc.c  */
    7892 #line 1969 "parser.yy"
     8023#line 1972 "parser.yy"
    78938024    { (yyval.decl) = 0; }
    78948025    break;
     
    78978028
    78988029/* Line 1806 of yacc.c  */
    7899 #line 1977 "parser.yy"
     8030#line 1980 "parser.yy"
    79008031    {}
    79018032    break;
     
    79048035
    79058036/* Line 1806 of yacc.c  */
    7906 #line 1979 "parser.yy"
     8037#line 1982 "parser.yy"
    79078038    {
    79088039                        linkageStack.push( linkage );
     
    79148045
    79158046/* Line 1806 of yacc.c  */
    7916 #line 1984 "parser.yy"
     8047#line 1987 "parser.yy"
    79178048    {
    79188049                        linkage = linkageStack.top();
     
    79258056
    79268057/* Line 1806 of yacc.c  */
    7927 #line 1990 "parser.yy"
     8058#line 1993 "parser.yy"
    79288059    { (yyval.decl) = (yyvsp[(2) - (2)].decl)/*->set_extension( true )*/; }
    79298060    break;
     
    79328063
    79338064/* Line 1806 of yacc.c  */
    7934 #line 2000 "parser.yy"
     8065#line 2004 "parser.yy"
    79358066    {
    79368067                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79438074
    79448075/* Line 1806 of yacc.c  */
    7945 #line 2006 "parser.yy"
     8076#line 2010 "parser.yy"
    79468077    {
    79478078                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79548085
    79558086/* Line 1806 of yacc.c  */
    7956 #line 2015 "parser.yy"
     8087#line 2019 "parser.yy"
    79578088    {
    79588089                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79658096
    79668097/* Line 1806 of yacc.c  */
    7967 #line 2021 "parser.yy"
     8098#line 2025 "parser.yy"
    79688099    {
    79698100                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79768107
    79778108/* Line 1806 of yacc.c  */
    7978 #line 2027 "parser.yy"
     8109#line 2031 "parser.yy"
    79798110    {
    79808111                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79878118
    79888119/* Line 1806 of yacc.c  */
    7989 #line 2033 "parser.yy"
     8120#line 2037 "parser.yy"
    79908121    {
    79918122                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79988129
    79998130/* Line 1806 of yacc.c  */
    8000 #line 2039 "parser.yy"
     8131#line 2043 "parser.yy"
    80018132    {
    80028133                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80098140
    80108141/* Line 1806 of yacc.c  */
    8011 #line 2047 "parser.yy"
     8142#line 2051 "parser.yy"
    80128143    {
    80138144                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80208151
    80218152/* Line 1806 of yacc.c  */
    8022 #line 2053 "parser.yy"
     8153#line 2057 "parser.yy"
    80238154    {
    80248155                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80318162
    80328163/* Line 1806 of yacc.c  */
    8033 #line 2061 "parser.yy"
     8164#line 2065 "parser.yy"
    80348165    {
    80358166                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80428173
    80438174/* Line 1806 of yacc.c  */
    8044 #line 2067 "parser.yy"
     8175#line 2071 "parser.yy"
    80458176    {
    80468177                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80538184
    80548185/* Line 1806 of yacc.c  */
    8055 #line 2082 "parser.yy"
     8186#line 2086 "parser.yy"
    80568187    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    80578188    break;
     
    80608191
    80618192/* Line 1806 of yacc.c  */
    8062 #line 2092 "parser.yy"
     8193#line 2096 "parser.yy"
    80638194    { (yyval.decl) = 0; }
    80648195    break;
     
    80678198
    80688199/* Line 1806 of yacc.c  */
    8069 #line 2099 "parser.yy"
     8200#line 2103 "parser.yy"
    80708201    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    80718202    break;
     
    80748205
    80758206/* Line 1806 of yacc.c  */
    8076 #line 2105 "parser.yy"
     8207#line 2109 "parser.yy"
    80778208    { (yyval.decl) = 0; }
    80788209    break;
     
    80818212
    80828213/* Line 1806 of yacc.c  */
    8083 #line 2120 "parser.yy"
     8214#line 2124 "parser.yy"
    80848215    {}
    80858216    break;
     
    80888219
    80898220/* Line 1806 of yacc.c  */
    8090 #line 2121 "parser.yy"
     8221#line 2125 "parser.yy"
    80918222    {}
    80928223    break;
     
    80958226
    80968227/* Line 1806 of yacc.c  */
    8097 #line 2122 "parser.yy"
     8228#line 2126 "parser.yy"
    80988229    {}
    80998230    break;
     
    81028233
    81038234/* Line 1806 of yacc.c  */
    8104 #line 2123 "parser.yy"
     8235#line 2127 "parser.yy"
    81058236    {}
    81068237    break;
     
    81098240
    81108241/* Line 1806 of yacc.c  */
    8111 #line 2158 "parser.yy"
     8242#line 2162 "parser.yy"
    81128243    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81138244    break;
     
    81168247
    81178248/* Line 1806 of yacc.c  */
    8118 #line 2161 "parser.yy"
     8249#line 2165 "parser.yy"
    81198250    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81208251    break;
     
    81238254
    81248255/* Line 1806 of yacc.c  */
    8125 #line 2163 "parser.yy"
     8256#line 2167 "parser.yy"
    81268257    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81278258    break;
     
    81308261
    81318262/* Line 1806 of yacc.c  */
    8132 #line 2168 "parser.yy"
     8263#line 2172 "parser.yy"
    81338264    {
    81348265                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    81408271
    81418272/* Line 1806 of yacc.c  */
    8142 #line 2173 "parser.yy"
     8273#line 2177 "parser.yy"
    81438274    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81448275    break;
     
    81478278
    81488279/* Line 1806 of yacc.c  */
    8149 #line 2178 "parser.yy"
     8280#line 2182 "parser.yy"
    81508281    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81518282    break;
     
    81548285
    81558286/* Line 1806 of yacc.c  */
    8156 #line 2180 "parser.yy"
     8287#line 2184 "parser.yy"
    81578288    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81588289    break;
     
    81618292
    81628293/* Line 1806 of yacc.c  */
    8163 #line 2182 "parser.yy"
     8294#line 2186 "parser.yy"
    81648295    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81658296    break;
     
    81688299
    81698300/* Line 1806 of yacc.c  */
    8170 #line 2187 "parser.yy"
     8301#line 2191 "parser.yy"
    81718302    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    81728303    break;
     
    81758306
    81768307/* Line 1806 of yacc.c  */
    8177 #line 2189 "parser.yy"
     8308#line 2193 "parser.yy"
    81788309    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81798310    break;
     
    81828313
    81838314/* Line 1806 of yacc.c  */
    8184 #line 2191 "parser.yy"
     8315#line 2195 "parser.yy"
    81858316    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81868317    break;
     
    81898320
    81908321/* Line 1806 of yacc.c  */
    8191 #line 2193 "parser.yy"
     8322#line 2197 "parser.yy"
    81928323    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81938324    break;
     
    81968327
    81978328/* Line 1806 of yacc.c  */
    8198 #line 2198 "parser.yy"
     8329#line 2202 "parser.yy"
    81998330    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82008331    break;
     
    82038334
    82048335/* Line 1806 of yacc.c  */
    8205 #line 2200 "parser.yy"
     8336#line 2204 "parser.yy"
    82068337    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82078338    break;
    82088339
    82098340  case 579:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2210 "parser.yy"
    8213     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8214     break;
    8215 
    8216   case 581:
    82178341
    82188342/* Line 1806 of yacc.c  */
     
    82218345    break;
    82228346
     8347  case 581:
     8348
     8349/* Line 1806 of yacc.c  */
     8350#line 2216 "parser.yy"
     8351    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8352    break;
     8353
    82238354  case 582:
    82248355
    82258356/* Line 1806 of yacc.c  */
    8226 #line 2218 "parser.yy"
     8357#line 2221 "parser.yy"
    82278358    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    82288359    break;
     
    82318362
    82328363/* Line 1806 of yacc.c  */
    8233 #line 2220 "parser.yy"
     8364#line 2223 "parser.yy"
    82348365    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82358366    break;
     
    82388369
    82398370/* Line 1806 of yacc.c  */
    8240 #line 2222 "parser.yy"
     8371#line 2225 "parser.yy"
    82418372    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82428373    break;
     
    82458376
    82468377/* Line 1806 of yacc.c  */
    8247 #line 2227 "parser.yy"
     8378#line 2230 "parser.yy"
    82488379    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82498380    break;
     
    82528383
    82538384/* Line 1806 of yacc.c  */
    8254 #line 2229 "parser.yy"
     8385#line 2232 "parser.yy"
    82558386    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82568387    break;
     
    82598390
    82608391/* Line 1806 of yacc.c  */
    8261 #line 2231 "parser.yy"
     8392#line 2234 "parser.yy"
    82628393    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82638394    break;
     
    82668397
    82678398/* Line 1806 of yacc.c  */
    8268 #line 2236 "parser.yy"
     8399#line 2239 "parser.yy"
    82698400    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82708401    break;
     
    82738404
    82748405/* Line 1806 of yacc.c  */
    8275 #line 2238 "parser.yy"
     8406#line 2241 "parser.yy"
    82768407    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82778408    break;
     
    82808411
    82818412/* Line 1806 of yacc.c  */
    8282 #line 2240 "parser.yy"
     8413#line 2243 "parser.yy"
    82838414    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82848415    break;
     
    82878418
    82888419/* Line 1806 of yacc.c  */
    8289 #line 2255 "parser.yy"
     8420#line 2258 "parser.yy"
    82908421    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    82918422    break;
     
    82948425
    82958426/* Line 1806 of yacc.c  */
    8296 #line 2257 "parser.yy"
     8427#line 2260 "parser.yy"
    82978428    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    82988429    break;
     
    83018432
    83028433/* Line 1806 of yacc.c  */
    8303 #line 2259 "parser.yy"
     8434#line 2262 "parser.yy"
    83048435    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83058436    break;
     
    83088439
    83098440/* Line 1806 of yacc.c  */
    8310 #line 2264 "parser.yy"
     8441#line 2267 "parser.yy"
    83118442    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83128443    break;
     
    83158446
    83168447/* Line 1806 of yacc.c  */
    8317 #line 2266 "parser.yy"
     8448#line 2269 "parser.yy"
    83188449    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83198450    break;
     
    83228453
    83238454/* Line 1806 of yacc.c  */
    8324 #line 2268 "parser.yy"
     8455#line 2271 "parser.yy"
    83258456    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83268457    break;
     
    83298460
    83308461/* Line 1806 of yacc.c  */
    8331 #line 2273 "parser.yy"
     8462#line 2276 "parser.yy"
    83328463    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83338464    break;
     
    83368467
    83378468/* Line 1806 of yacc.c  */
    8338 #line 2275 "parser.yy"
     8469#line 2278 "parser.yy"
    83398470    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83408471    break;
     
    83438474
    83448475/* Line 1806 of yacc.c  */
    8345 #line 2277 "parser.yy"
     8476#line 2280 "parser.yy"
    83468477    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83478478    break;
    83488479
    83498480  case 603:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2292 "parser.yy"
    8353     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8354     break;
    8355 
    8356   case 605:
    83578481
    83588482/* Line 1806 of yacc.c  */
     
    83618485    break;
    83628486
     8487  case 605:
     8488
     8489/* Line 1806 of yacc.c  */
     8490#line 2298 "parser.yy"
     8491    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8492    break;
     8493
    83638494  case 606:
    83648495
    83658496/* Line 1806 of yacc.c  */
    8366 #line 2297 "parser.yy"
     8497#line 2300 "parser.yy"
    83678498    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83688499    break;
     
    83718502
    83728503/* Line 1806 of yacc.c  */
    8373 #line 2303 "parser.yy"
     8504#line 2306 "parser.yy"
    83748505    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83758506    break;
     
    83788509
    83798510/* Line 1806 of yacc.c  */
    8380 #line 2308 "parser.yy"
     8511#line 2311 "parser.yy"
    83818512    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83828513    break;
     
    83858516
    83868517/* Line 1806 of yacc.c  */
    8387 #line 2310 "parser.yy"
     8518#line 2313 "parser.yy"
    83888519    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83898520    break;
     
    83928523
    83938524/* Line 1806 of yacc.c  */
    8394 #line 2312 "parser.yy"
     8525#line 2315 "parser.yy"
    83958526    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83968527    break;
     
    83998530
    84008531/* Line 1806 of yacc.c  */
    8401 #line 2317 "parser.yy"
     8532#line 2320 "parser.yy"
    84028533    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84038534    break;
     
    84068537
    84078538/* Line 1806 of yacc.c  */
    8408 #line 2319 "parser.yy"
     8539#line 2322 "parser.yy"
    84098540    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84108541    break;
     
    84138544
    84148545/* Line 1806 of yacc.c  */
    8415 #line 2321 "parser.yy"
     8546#line 2324 "parser.yy"
    84168547    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84178548    break;
     
    84208551
    84218552/* Line 1806 of yacc.c  */
    8422 #line 2323 "parser.yy"
     8553#line 2326 "parser.yy"
    84238554    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84248555    break;
     
    84278558
    84288559/* Line 1806 of yacc.c  */
    8429 #line 2328 "parser.yy"
     8560#line 2331 "parser.yy"
    84308561    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84318562    break;
     
    84348565
    84358566/* Line 1806 of yacc.c  */
    8436 #line 2330 "parser.yy"
     8567#line 2333 "parser.yy"
    84378568    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84388569    break;
     
    84418572
    84428573/* Line 1806 of yacc.c  */
    8443 #line 2332 "parser.yy"
     8574#line 2335 "parser.yy"
    84448575    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84458576    break;
    84468577
    84478578  case 619:
    8448 
    8449 /* Line 1806 of yacc.c  */
    8450 #line 2342 "parser.yy"
    8451     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8452     break;
    8453 
    8454   case 621:
    84558579
    84568580/* Line 1806 of yacc.c  */
     
    84598583    break;
    84608584
     8585  case 621:
     8586
     8587/* Line 1806 of yacc.c  */
     8588#line 2348 "parser.yy"
     8589    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8590    break;
     8591
    84618592  case 622:
    84628593
    84638594/* Line 1806 of yacc.c  */
    8464 #line 2347 "parser.yy"
     8595#line 2350 "parser.yy"
    84658596    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84668597    break;
     
    84698600
    84708601/* Line 1806 of yacc.c  */
    8471 #line 2352 "parser.yy"
     8602#line 2355 "parser.yy"
    84728603    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84738604    break;
     
    84768607
    84778608/* Line 1806 of yacc.c  */
    8478 #line 2354 "parser.yy"
     8609#line 2357 "parser.yy"
    84798610    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84808611    break;
     
    84838614
    84848615/* Line 1806 of yacc.c  */
    8485 #line 2356 "parser.yy"
     8616#line 2359 "parser.yy"
    84868617    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84878618    break;
     
    84908621
    84918622/* Line 1806 of yacc.c  */
    8492 #line 2361 "parser.yy"
     8623#line 2364 "parser.yy"
    84938624    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84948625    break;
     
    84978628
    84988629/* Line 1806 of yacc.c  */
    8499 #line 2363 "parser.yy"
     8630#line 2366 "parser.yy"
    85008631    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85018632    break;
     
    85048635
    85058636/* Line 1806 of yacc.c  */
    8506 #line 2365 "parser.yy"
     8637#line 2368 "parser.yy"
    85078638    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85088639    break;
     
    85118642
    85128643/* Line 1806 of yacc.c  */
    8513 #line 2367 "parser.yy"
     8644#line 2370 "parser.yy"
    85148645    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85158646    break;
     
    85188649
    85198650/* Line 1806 of yacc.c  */
    8520 #line 2372 "parser.yy"
     8651#line 2375 "parser.yy"
    85218652    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85228653    break;
     
    85258656
    85268657/* Line 1806 of yacc.c  */
    8527 #line 2374 "parser.yy"
     8658#line 2377 "parser.yy"
    85288659    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85298660    break;
     
    85328663
    85338664/* Line 1806 of yacc.c  */
    8534 #line 2376 "parser.yy"
     8665#line 2379 "parser.yy"
    85358666    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85368667    break;
    85378668
    85388669  case 633:
    8539 
    8540 /* Line 1806 of yacc.c  */
    8541 #line 2407 "parser.yy"
    8542     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8543     break;
    8544 
    8545   case 635:
    85468670
    85478671/* Line 1806 of yacc.c  */
     
    85508674    break;
    85518675
     8676  case 635:
     8677
     8678/* Line 1806 of yacc.c  */
     8679#line 2413 "parser.yy"
     8680    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8681    break;
     8682
    85528683  case 636:
    85538684
    85548685/* Line 1806 of yacc.c  */
    8555 #line 2412 "parser.yy"
     8686#line 2415 "parser.yy"
    85568687    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85578688    break;
     
    85608691
    85618692/* Line 1806 of yacc.c  */
    8562 #line 2417 "parser.yy"
     8693#line 2420 "parser.yy"
    85638694    {
    85648695                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85708701
    85718702/* Line 1806 of yacc.c  */
    8572 #line 2422 "parser.yy"
     8703#line 2425 "parser.yy"
    85738704    {
    85748705                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85808711
    85818712/* Line 1806 of yacc.c  */
    8582 #line 2430 "parser.yy"
     8713#line 2433 "parser.yy"
    85838714    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85848715    break;
     
    85878718
    85888719/* Line 1806 of yacc.c  */
    8589 #line 2432 "parser.yy"
     8720#line 2435 "parser.yy"
    85908721    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85918722    break;
     
    85948725
    85958726/* Line 1806 of yacc.c  */
    8596 #line 2434 "parser.yy"
     8727#line 2437 "parser.yy"
    85978728    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85988729    break;
     
    86018732
    86028733/* Line 1806 of yacc.c  */
    8603 #line 2439 "parser.yy"
     8734#line 2442 "parser.yy"
    86048735    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    86058736    break;
     
    86088739
    86098740/* Line 1806 of yacc.c  */
    8610 #line 2441 "parser.yy"
     8741#line 2444 "parser.yy"
    86118742    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86128743    break;
     
    86158746
    86168747/* Line 1806 of yacc.c  */
    8617 #line 2446 "parser.yy"
     8748#line 2449 "parser.yy"
    86188749    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    86198750    break;
     
    86228753
    86238754/* Line 1806 of yacc.c  */
    8624 #line 2448 "parser.yy"
     8755#line 2451 "parser.yy"
    86258756    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86268757    break;
     
    86298760
    86308761/* Line 1806 of yacc.c  */
    8631 #line 2463 "parser.yy"
     8762#line 2466 "parser.yy"
    86328763    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86338764    break;
     
    86368767
    86378768/* Line 1806 of yacc.c  */
    8638 #line 2465 "parser.yy"
     8769#line 2468 "parser.yy"
    86398770    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86408771    break;
     
    86438774
    86448775/* Line 1806 of yacc.c  */
    8645 #line 2470 "parser.yy"
     8776#line 2473 "parser.yy"
    86468777    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86478778    break;
     
    86508781
    86518782/* Line 1806 of yacc.c  */
    8652 #line 2472 "parser.yy"
     8783#line 2475 "parser.yy"
    86538784    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86548785    break;
     
    86578788
    86588789/* Line 1806 of yacc.c  */
    8659 #line 2474 "parser.yy"
     8790#line 2477 "parser.yy"
    86608791    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86618792    break;
     
    86648795
    86658796/* Line 1806 of yacc.c  */
    8666 #line 2476 "parser.yy"
     8797#line 2479 "parser.yy"
    86678798    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86688799    break;
     
    86718802
    86728803/* Line 1806 of yacc.c  */
    8673 #line 2478 "parser.yy"
     8804#line 2481 "parser.yy"
    86748805    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86758806    break;
     
    86788809
    86798810/* Line 1806 of yacc.c  */
    8680 #line 2484 "parser.yy"
     8811#line 2487 "parser.yy"
    86818812    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86828813    break;
     
    86858816
    86868817/* Line 1806 of yacc.c  */
    8687 #line 2486 "parser.yy"
     8818#line 2489 "parser.yy"
    86888819    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86898820    break;
     
    86928823
    86938824/* Line 1806 of yacc.c  */
    8694 #line 2488 "parser.yy"
     8825#line 2491 "parser.yy"
    86958826    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86968827    break;
     
    86998830
    87008831/* Line 1806 of yacc.c  */
    8701 #line 2493 "parser.yy"
     8832#line 2496 "parser.yy"
    87028833    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    87038834    break;
     
    87068837
    87078838/* Line 1806 of yacc.c  */
    8708 #line 2495 "parser.yy"
     8839#line 2498 "parser.yy"
    87098840    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87108841    break;
     
    87138844
    87148845/* Line 1806 of yacc.c  */
    8715 #line 2497 "parser.yy"
     8846#line 2500 "parser.yy"
    87168847    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87178848    break;
     
    87208851
    87218852/* Line 1806 of yacc.c  */
    8722 #line 2503 "parser.yy"
     8853#line 2506 "parser.yy"
    87238854    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87248855    break;
     
    87278858
    87288859/* Line 1806 of yacc.c  */
    8729 #line 2505 "parser.yy"
     8860#line 2508 "parser.yy"
    87308861    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    87318862    break;
     
    87348865
    87358866/* Line 1806 of yacc.c  */
    8736 #line 2511 "parser.yy"
     8867#line 2514 "parser.yy"
    87378868    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    87388869    break;
     
    87418872
    87428873/* Line 1806 of yacc.c  */
    8743 #line 2513 "parser.yy"
     8874#line 2516 "parser.yy"
    87448875    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    87458876    break;
     
    87488879
    87498880/* Line 1806 of yacc.c  */
    8750 #line 2515 "parser.yy"
     8881#line 2518 "parser.yy"
    87518882    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    87528883    break;
     
    87558886
    87568887/* Line 1806 of yacc.c  */
    8757 #line 2517 "parser.yy"
     8888#line 2520 "parser.yy"
    87588889    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    87598890    break;
     
    87628893
    87638894/* Line 1806 of yacc.c  */
    8764 #line 2532 "parser.yy"
     8895#line 2535 "parser.yy"
    87658896    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87668897    break;
     
    87698900
    87708901/* Line 1806 of yacc.c  */
    8771 #line 2534 "parser.yy"
     8902#line 2537 "parser.yy"
    87728903    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87738904    break;
     
    87768907
    87778908/* Line 1806 of yacc.c  */
    8778 #line 2539 "parser.yy"
     8909#line 2542 "parser.yy"
    87798910    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    87808911    break;
     
    87838914
    87848915/* Line 1806 of yacc.c  */
    8785 #line 2541 "parser.yy"
     8916#line 2544 "parser.yy"
    87868917    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    87878918    break;
     
    87908921
    87918922/* Line 1806 of yacc.c  */
    8792 #line 2543 "parser.yy"
     8923#line 2546 "parser.yy"
    87938924    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    87948925    break;
     
    87978928
    87988929/* Line 1806 of yacc.c  */
    8799 #line 2545 "parser.yy"
     8930#line 2548 "parser.yy"
    88008931    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88018932    break;
     
    88048935
    88058936/* Line 1806 of yacc.c  */
    8806 #line 2547 "parser.yy"
     8937#line 2550 "parser.yy"
    88078938    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88088939    break;
     
    88118942
    88128943/* Line 1806 of yacc.c  */
    8813 #line 2553 "parser.yy"
     8944#line 2556 "parser.yy"
    88148945    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88158946    break;
     
    88188949
    88198950/* Line 1806 of yacc.c  */
    8820 #line 2555 "parser.yy"
     8951#line 2558 "parser.yy"
    88218952    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88228953    break;
     
    88258956
    88268957/* Line 1806 of yacc.c  */
    8827 #line 2557 "parser.yy"
     8958#line 2560 "parser.yy"
    88288959    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88298960    break;
     
    88328963
    88338964/* Line 1806 of yacc.c  */
    8834 #line 2562 "parser.yy"
     8965#line 2565 "parser.yy"
    88358966    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    88368967    break;
     
    88398970
    88408971/* Line 1806 of yacc.c  */
    8841 #line 2564 "parser.yy"
     8972#line 2567 "parser.yy"
    88428973    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88438974    break;
     
    88468977
    88478978/* Line 1806 of yacc.c  */
    8848 #line 2566 "parser.yy"
     8979#line 2569 "parser.yy"
    88498980    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88508981    break;
     
    88538984
    88548985/* Line 1806 of yacc.c  */
    8855 #line 2573 "parser.yy"
     8986#line 2576 "parser.yy"
    88568987    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    88578988    break;
     
    88608991
    88618992/* Line 1806 of yacc.c  */
    8862 #line 2584 "parser.yy"
     8993#line 2587 "parser.yy"
    88638994    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    88648995    break;
     
    88678998
    88688999/* Line 1806 of yacc.c  */
    8869 #line 2587 "parser.yy"
     9000#line 2590 "parser.yy"
    88709001    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    88719002    break;
     
    88749005
    88759006/* Line 1806 of yacc.c  */
    8876 #line 2589 "parser.yy"
     9007#line 2592 "parser.yy"
    88779008    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    88789009    break;
     
    88819012
    88829013/* Line 1806 of yacc.c  */
    8883 #line 2592 "parser.yy"
     9014#line 2595 "parser.yy"
    88849015    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    88859016    break;
     
    88889019
    88899020/* Line 1806 of yacc.c  */
    8890 #line 2594 "parser.yy"
     9021#line 2597 "parser.yy"
    88919022    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    88929023    break;
     
    88959026
    88969027/* Line 1806 of yacc.c  */
    8897 #line 2596 "parser.yy"
     9028#line 2599 "parser.yy"
    88989029    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    88999030    break;
     
    89029033
    89039034/* Line 1806 of yacc.c  */
    8904 #line 2610 "parser.yy"
     9035#line 2613 "parser.yy"
    89059036    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    89069037    break;
     
    89099040
    89109041/* Line 1806 of yacc.c  */
    8911 #line 2612 "parser.yy"
     9042#line 2615 "parser.yy"
    89129043    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    89139044    break;
     
    89169047
    89179048/* Line 1806 of yacc.c  */
    8918 #line 2617 "parser.yy"
     9049#line 2620 "parser.yy"
    89199050    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    89209051    break;
     
    89239054
    89249055/* Line 1806 of yacc.c  */
    8925 #line 2619 "parser.yy"
     9056#line 2622 "parser.yy"
    89269057    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    89279058    break;
     
    89309061
    89319062/* Line 1806 of yacc.c  */
    8932 #line 2621 "parser.yy"
     9063#line 2624 "parser.yy"
    89339064    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    89349065    break;
     
    89379068
    89389069/* Line 1806 of yacc.c  */
    8939 #line 2623 "parser.yy"
     9070#line 2626 "parser.yy"
    89409071    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    89419072    break;
     
    89449075
    89459076/* Line 1806 of yacc.c  */
    8946 #line 2625 "parser.yy"
     9077#line 2628 "parser.yy"
    89479078    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89489079    break;
     
    89519082
    89529083/* Line 1806 of yacc.c  */
    8953 #line 2631 "parser.yy"
     9084#line 2634 "parser.yy"
    89549085    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    89559086    break;
     
    89589089
    89599090/* Line 1806 of yacc.c  */
    8960 #line 2633 "parser.yy"
     9091#line 2636 "parser.yy"
    89619092    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    89629093    break;
     
    89659096
    89669097/* Line 1806 of yacc.c  */
    8967 #line 2635 "parser.yy"
     9098#line 2638 "parser.yy"
    89689099    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89699100    break;
     
    89729103
    89739104/* Line 1806 of yacc.c  */
    8974 #line 2640 "parser.yy"
     9105#line 2643 "parser.yy"
    89759106    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    89769107    break;
     
    89799110
    89809111/* Line 1806 of yacc.c  */
    8981 #line 2642 "parser.yy"
     9112#line 2645 "parser.yy"
    89829113    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89839114    break;
     
    89869117
    89879118/* Line 1806 of yacc.c  */
    8988 #line 2652 "parser.yy"
     9119#line 2655 "parser.yy"
    89899120    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89909121    break;
     
    89939124
    89949125/* Line 1806 of yacc.c  */
    8995 #line 2662 "parser.yy"
     9126#line 2665 "parser.yy"
    89969127    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89979128    break;
     
    90009131
    90019132/* Line 1806 of yacc.c  */
    9002 #line 2664 "parser.yy"
     9133#line 2667 "parser.yy"
    90039134    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90049135    break;
     
    90079138
    90089139/* Line 1806 of yacc.c  */
    9009 #line 2666 "parser.yy"
     9140#line 2669 "parser.yy"
    90109141    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90119142    break;
     
    90149145
    90159146/* Line 1806 of yacc.c  */
    9016 #line 2668 "parser.yy"
     9147#line 2671 "parser.yy"
    90179148    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90189149    break;
     
    90219152
    90229153/* Line 1806 of yacc.c  */
    9023 #line 2670 "parser.yy"
     9154#line 2673 "parser.yy"
    90249155    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90259156    break;
     
    90289159
    90299160/* Line 1806 of yacc.c  */
    9030 #line 2672 "parser.yy"
     9161#line 2675 "parser.yy"
    90319162    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90329163    break;
     
    90359166
    90369167/* Line 1806 of yacc.c  */
    9037 #line 2679 "parser.yy"
     9168#line 2682 "parser.yy"
    90389169    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90399170    break;
     
    90429173
    90439174/* Line 1806 of yacc.c  */
    9044 #line 2681 "parser.yy"
     9175#line 2684 "parser.yy"
    90459176    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90469177    break;
     
    90499180
    90509181/* Line 1806 of yacc.c  */
    9051 #line 2683 "parser.yy"
     9182#line 2686 "parser.yy"
    90529183    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90539184    break;
     
    90569187
    90579188/* Line 1806 of yacc.c  */
    9058 #line 2685 "parser.yy"
     9189#line 2688 "parser.yy"
    90599190    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    90609191    break;
     
    90639194
    90649195/* Line 1806 of yacc.c  */
    9065 #line 2687 "parser.yy"
     9196#line 2690 "parser.yy"
    90669197    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90679198    break;
     
    90709201
    90719202/* Line 1806 of yacc.c  */
    9072 #line 2689 "parser.yy"
     9203#line 2692 "parser.yy"
    90739204    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90749205    break;
     
    90779208
    90789209/* Line 1806 of yacc.c  */
    9079 #line 2691 "parser.yy"
     9210#line 2694 "parser.yy"
    90809211    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90819212    break;
     
    90849215
    90859216/* Line 1806 of yacc.c  */
    9086 #line 2693 "parser.yy"
     9217#line 2696 "parser.yy"
    90879218    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90889219    break;
     
    90919222
    90929223/* Line 1806 of yacc.c  */
    9093 #line 2695 "parser.yy"
     9224#line 2698 "parser.yy"
    90949225    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    90959226    break;
     
    90989229
    90999230/* Line 1806 of yacc.c  */
    9100 #line 2697 "parser.yy"
     9231#line 2700 "parser.yy"
    91019232    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91029233    break;
     
    91059236
    91069237/* Line 1806 of yacc.c  */
    9107 #line 2702 "parser.yy"
     9238#line 2705 "parser.yy"
    91089239    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    91099240    break;
     
    91129243
    91139244/* Line 1806 of yacc.c  */
    9114 #line 2704 "parser.yy"
     9245#line 2707 "parser.yy"
    91159246    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    91169247    break;
     
    91199250
    91209251/* Line 1806 of yacc.c  */
    9121 #line 2709 "parser.yy"
     9252#line 2712 "parser.yy"
    91229253    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    91239254    break;
     
    91269257
    91279258/* Line 1806 of yacc.c  */
    9128 #line 2711 "parser.yy"
     9259#line 2714 "parser.yy"
    91299260    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    91309261    break;
     
    91339264
    91349265/* Line 1806 of yacc.c  */
    9135 #line 2738 "parser.yy"
     9266#line 2741 "parser.yy"
    91369267    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    91379268    break;
     
    91409271
    91419272/* Line 1806 of yacc.c  */
    9142 #line 2749 "parser.yy"
     9273#line 2752 "parser.yy"
    91439274    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91449275    break;
     
    91479278
    91489279/* Line 1806 of yacc.c  */
    9149 #line 2751 "parser.yy"
     9280#line 2754 "parser.yy"
    91509281    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91519282    break;
     
    91549285
    91559286/* Line 1806 of yacc.c  */
    9156 #line 2753 "parser.yy"
     9287#line 2756 "parser.yy"
    91579288    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91589289    break;
     
    91619292
    91629293/* Line 1806 of yacc.c  */
    9163 #line 2755 "parser.yy"
     9294#line 2758 "parser.yy"
    91649295    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91659296    break;
     
    91689299
    91699300/* Line 1806 of yacc.c  */
    9170 #line 2757 "parser.yy"
     9301#line 2760 "parser.yy"
    91719302    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    91729303    break;
     
    91759306
    91769307/* Line 1806 of yacc.c  */
    9177 #line 2759 "parser.yy"
     9308#line 2762 "parser.yy"
    91789309    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91799310    break;
     
    91829313
    91839314/* Line 1806 of yacc.c  */
    9184 #line 2766 "parser.yy"
     9315#line 2769 "parser.yy"
    91859316    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91869317    break;
     
    91899320
    91909321/* Line 1806 of yacc.c  */
    9191 #line 2768 "parser.yy"
     9322#line 2771 "parser.yy"
    91929323    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91939324    break;
     
    91969327
    91979328/* Line 1806 of yacc.c  */
    9198 #line 2770 "parser.yy"
     9329#line 2773 "parser.yy"
    91999330    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    92009331    break;
     
    92039334
    92049335/* Line 1806 of yacc.c  */
    9205 #line 2772 "parser.yy"
     9336#line 2775 "parser.yy"
    92069337    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    92079338    break;
     
    92109341
    92119342/* Line 1806 of yacc.c  */
    9212 #line 2774 "parser.yy"
     9343#line 2777 "parser.yy"
    92139344    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    92149345    break;
     
    92179348
    92189349/* Line 1806 of yacc.c  */
    9219 #line 2776 "parser.yy"
     9350#line 2779 "parser.yy"
    92209351    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    92219352    break;
     
    92249355
    92259356/* Line 1806 of yacc.c  */
    9226 #line 2781 "parser.yy"
     9357#line 2784 "parser.yy"
    92279358    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    92289359    break;
     
    92319362
    92329363/* Line 1806 of yacc.c  */
    9233 #line 2786 "parser.yy"
     9364#line 2789 "parser.yy"
    92349365    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    92359366    break;
     
    92389369
    92399370/* Line 1806 of yacc.c  */
    9240 #line 2788 "parser.yy"
     9371#line 2791 "parser.yy"
    92419372    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    92429373    break;
     
    92459376
    92469377/* Line 1806 of yacc.c  */
    9247 #line 2790 "parser.yy"
     9378#line 2793 "parser.yy"
    92489379    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    92499380    break;
     
    92529383
    92539384/* Line 1806 of yacc.c  */
    9254 #line 2814 "parser.yy"
     9385#line 2817 "parser.yy"
    92559386    { (yyval.en) = 0; }
    92569387    break;
     
    92599390
    92609391/* Line 1806 of yacc.c  */
    9261 #line 2816 "parser.yy"
     9392#line 2819 "parser.yy"
    92629393    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    92639394    break;
     
    92669397
    92679398/* Line 1806 of yacc.c  */
    9268 #line 9269 "Parser/parser.cc"
     9399#line 9400 "Parser/parser.cc"
    92699400      default: break;
    92709401    }
     
    94979628
    94989629/* Line 2067 of yacc.c  */
    9499 #line 2819 "parser.yy"
     9630#line 2822 "parser.yy"
    95009631
    95019632// ----end of grammar----
  • src/Parser/parser.yy

    re39aa0f r4dcea3f  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun 22 21:20:17 2016
    13 // Update Count     : 1584
     12// Last Modified On : Mon Jun 27 17:47:56 2016
     13// Update Count     : 1627
    1414//
    1515
     
    224224%type<decl> typedef type_array typedef_declaration typedef_declaration_specifier typedef_expression
    225225%type<decl> type_function type_parameter_array type_parameter_function type_parameter_ptr
    226 %type<decl> type_parameter_redeclarator type_ptr type_redeclarator typedef_type_specifier
     226%type<decl> type_parameter_redeclarator type_ptr variable_type_redeclarator typedef_type_specifier
    227227%type<decl> typegen_declaration_specifier typegen_type_specifier typegen_name
    228228
     
    350350        primary_expression
    351351        | postfix_expression '[' push assignment_expression pop ']'
    352                 // CFA, comma_expression disallowed in the context because it results in a commom user error: subscripting a
     352                // CFA, comma_expression disallowed in this context because it results in a common user error: subscripting a
    353353                // matrix with x[i,j] instead of x[i][j]. While this change is not backwards compatible, there seems to be
    354354                // little advantage to this feature and many disadvantages. It is possible to write x[(i,j)] in CFA, which is
     
    421421unary_expression:
    422422        postfix_expression
    423         // first location where constant/string can have operator applied: sizeof 3/sizeof "abc" still requires semantics
    424         // checks, e.g., ++3, 3--, *3, &&3
     423                // first location where constant/string can have operator applied: sizeof 3/sizeof "abc" still requires
     424                // semantics checks, e.g., ++3, 3--, *3, &&3
    425425        | constant
    426426                { $$ = $1; }
     
    431431        | ptrref_operator cast_expression                                       // CFA
    432432                { $$ = new CompositeExprNode( $1, $2 ); }
    433         // '*' ('&') is separated from unary_operator because of shift/reduce conflict in:
    434         //              { * X; }         // dereference X
    435         //              { * int X; } // CFA declaration of pointer to int
     433                // '*' ('&') is separated from unary_operator because of shift/reduce conflict in:
     434                //              { * X; }         // dereference X
     435                //              { * int X; } // CFA declaration of pointer to int
    436436        | unary_operator cast_expression
    437437                { $$ = new CompositeExprNode( $1, $2 ); }
     
    456456        | ALIGNOF '(' type_name_no_function ')'                         // GCC, type alignment
    457457                { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( $3 ) ); }
    458         | ANDAND no_attr_identifier                                                     // GCC, address of label
    459                 { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( $2, true ) ); }
     458//      | ANDAND IDENTIFIER                                                                     // GCC, address of label
     459//              { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( $2, true ) ); }
    460460        ;
    461461
     
    463463        '*'                                                                                     { $$ = new OperatorNode( OperatorNode::PointTo ); }
    464464        | '&'                                                                           { $$ = new OperatorNode( OperatorNode::AddressOf ); }
     465                // GCC, address of label must be handled by semantic check for ref,ref,label
     466        | ANDAND                                                                        { $$ = new OperatorNode( OperatorNode::And ); }
    465467        ;
    466468
     
    651653
    652654labeled_statement:
    653         no_attr_identifier ':' attribute_list_opt statement
     655                // labels cannot be identifiers 0 or 1
     656        IDENTIFIER ':' attribute_list_opt statement
    654657                {
    655658                        $$ = $4->add_label( $1 );
     
    804807
    805808jump_statement:
    806         GOTO no_attr_identifier ';'
     809        GOTO IDENTIFIER ';'
    807810                { $$ = new StatementNode( StatementNode::Goto, $2 ); }
    808811        | GOTO '*' comma_expression ';'                                         // GCC, computed goto
     
    813816                // A semantic check is required to ensure this statement appears only in the body of an iteration statement.
    814817                { $$ = new StatementNode( StatementNode::Continue ); }
    815         | CONTINUE no_attr_identifier ';'                                       // CFA, multi-level continue
     818        | CONTINUE IDENTIFIER ';'                                       // CFA, multi-level continue
    816819                // A semantic check is required to ensure this statement appears only in the body of an iteration statement, and
    817820                // the target of the transfer appears only at the start of an iteration statement.
     
    820823                // A semantic check is required to ensure this statement appears only in the body of an iteration statement.
    821824                { $$ = new StatementNode( StatementNode::Break ); }
    822         | BREAK no_attr_identifier ';'                                          // CFA, multi-level exit
     825        | BREAK IDENTIFIER ';'                                          // CFA, multi-level exit
    823826                // A semantic check is required to ensure this statement appears only in the body of an iteration statement, and
    824827                // the target of the transfer appears only at the start of an iteration statement.
     
    15001503                // A semantic check is required to ensure bit_subrange only appears on base type int.
    15011504                { $$ = $1->addBitfield( $2 ); }
    1502         | type_redeclarator bit_subrange_size_opt
     1505        | variable_type_redeclarator bit_subrange_size_opt
    15031506                // A semantic check is required to ensure bit_subrange only appears on base type int.
    15041507                { $$ = $1->addBitfield( $2 ); }
     
    17441747
    17451748designator:
    1746         // lexer ambiguity: designator ".0" is floating-point constant or designator for name 0
    1747         // only ".0" and ".1" allowed => semantic check
     1749                // lexer ambiguity: designator ".0" is floating-point constant or designator for name 0 only ".0" and ".1"
     1750                // allowed => semantic check
    17481751        FLOATINGconstant
    17491752                { $$ = new DesignatorNode( new VarRefNode( $1 ) ); }
     
    19941997        function_definition
    19951998                // These rules are a concession to the "implicit int" type_specifier because there is a significant amount of
    1996                 // code with functions missing a type-specifier on the return type.  Parsing is possible because
    1997                 // function_definition does not appear in the context of an expression (nested functions would preclude this
    1998                 // concession). A function prototype declaration must still have a type_specifier.  OBSOLESCENT (see 1)
     1999                // legacy code with global functions missing the type-specifier for the return type, and assuming "int".
     2000                // Parsing is possible because function_definition does not appear in the context of an expression (nested
     2001                // functions preclude this concession, i.e., all nested function must have a return type). A function prototype
     2002                // declaration must still have a type_specifier.  OBSOLESCENT (see 1)
    19992003        | function_declarator compound_statement
    20002004                {
     
    20742078declarator:
    20752079        variable_declarator
     2080        | variable_type_redeclarator
    20762081        | function_declarator
    2077         | type_redeclarator
    20782082        ;
    20792083
     
    22012205        ;
    22022206
    2203 // This pattern parses a function declarator that is not redefining a typedef name. Because functions cannot be nested,
    2204 // there is no context where a function definition can redefine a typedef name. To allow nested functions requires
    2205 // further separation of variable and function declarators in type_redeclarator.  The pattern precludes returning
    2206 // arrays and functions versus pointers to arrays and functions.
     2207// This pattern parses a function declarator that is not redefining a typedef name. For non-nested functions, there is
     2208// no context where a function definition can redefine a typedef name, i.e., the typedef and function name cannot exist
     2209// is the same scope.  The pattern precludes returning arrays and functions versus pointers to arrays and functions.
    22072210
    22082211function_declarator:
     
    22882291// and functions versus pointers to arrays and functions.
    22892292
    2290 type_redeclarator:
     2293variable_type_redeclarator:
    22912294        paren_type attribute_list_opt
    22922295                { $$ = $1->addQualifiers( $2 ); }
     
    23052308
    23062309type_ptr:
    2307         ptrref_operator type_redeclarator
     2310        ptrref_operator variable_type_redeclarator
    23082311                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2309         | ptrref_operator type_qualifier_list type_redeclarator
     2312        | ptrref_operator type_qualifier_list variable_type_redeclarator
    23102313                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    23112314        | '(' type_ptr ')'
     
    23902393//              not as redundant parentheses around the identifier."
    23912394//
    2392 // which precludes the following cases:
     2395// For example:
    23932396//
    23942397//              typedef float T;
  • src/tests/.expect/castError.txt

    re39aa0f r4dcea3f  
    4040
    4141
    42 make: *** [CastError] Error 1
     42make: *** [castError] Error 1
  • src/tests/.expect/constant0-1DP.txt

    re39aa0f r4dcea3f  
    3232Error: duplicate object definition for x: const pointer to pointer to signed int
    3333Error: duplicate object definition for 0: pointer to pointer to signed int
    34 make: *** [Constant0-1DP] Error 1
     34make: *** [constant0-1DP] Error 1
  • src/tests/.expect/constant0-1NDDP.txt

    re39aa0f r4dcea3f  
    1616Error: duplicate object definition for x: const pointer to signed int
    1717Error: duplicate object definition for 0: const pointer to signed int
    18 make: *** [Constant0-1NDDP] Error 1
     18make: *** [constant0-1NDDP] Error 1
  • src/tests/.expect/declarationErrors.txt

    re39aa0f r4dcea3f  
    1414Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
    1515
    16 make: *** [DeclarationErrors] Error 1
     16make: *** [declarationErrors] Error 1
  • src/tests/.expect/declarationSpecifier.txt

    re39aa0f r4dcea3f  
    1414Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
    1515
    16 make: *** [DeclarationSpecifier] Error 1
     16make: *** [declarationSpecifier] Error 1
  • src/tests/.expect/labelledExit.txt

    re39aa0f r4dcea3f  
    11CFA Version 1.0.0 (debug)
    22Error: 'break' outside a loop or switch
    3 make: *** [LabelledExit] Error 1
     3make: *** [labelledExit] Error 1
  • src/tests/.expect/scopeErrors.txt

    re39aa0f r4dcea3f  
    99    CompoundStmt
    1010
    11 make: *** [ScopeErrors] Error 1
     11make: *** [scopeErrors] Error 1
  • src/tests/Makefile.am

    re39aa0f r4dcea3f  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun 20 14:30:52 2016
    14 ## Update Count     : 33
     13## Last Modified On : Mon Jun 27 14:39:08 2016
     14## Update Count     : 34
    1515###############################################################################
    1616
     
    2727
    2828all-local :
    29         python test.py vector_test avl_test operators numericConstants expression enum asmName array typeof cast
     29        +python test.py vector_test avl_test operators numericConstants expression enum asmName array typeof cast
    3030
    3131all-tests :
    32         python test.py --all
     32        +python test.py --all
    3333
    3434clean-local :
     
    3636
    3737list :
    38         python test.py --list
     38        +python test.py --list
    3939
    4040constant0-1DP : constant0-1.c
  • src/tests/Makefile.in

    re39aa0f r4dcea3f  
    634634
    635635all-local :
    636         python test.py vector_test avl_test operators numericConstants expression enum asmName array typeof cast
     636        +python test.py vector_test avl_test operators numericConstants expression enum asmName array typeof cast
    637637
    638638all-tests :
    639         python test.py --all
     639        +python test.py --all
    640640
    641641clean-local :
     
    643643
    644644list :
    645         python test.py --list
     645        +python test.py --list
    646646
    647647constant0-1DP : constant0-1.c
  • src/tests/test.py

    re39aa0f r4dcea3f  
    6161
    6262        # build, skipping to next test on error
    63         make_ret = sh("make -j 8 %s 2> %s 1> /dev/null" % (test, out_file), dry_run)
     63        make_ret = sh("%s %s 2> %s 1> /dev/null" % (make_cmd, test, out_file), dry_run)
    6464
    6565        if make_ret == 0 :
     
    8484
    8585def run_tests(tests, generate, dry_run) :
    86         sh('make clean > /dev/null 2>&1', dry_run)
     86        sh("%s clean > /dev/null 2>&1" % make_cmd, dry_run)
    8787        sh('mkdir -p .out .expect', dry_run)
    8888
     
    102102                        print( "Done" )
    103103
    104         sh('make clean > /dev/null 2>&1', dry_run)
     104        sh("%s clean > /dev/null 2>&1" % make_cmd, dry_run)
    105105
    106106        return 1 if failed else 0
     
    141141                sys.exit(1)
    142142
     143tests.sort()
     144make_flags = environ.get('MAKEFLAGS')
     145make_cmd = "make" if make_flags and "-j" in make_flags else "make -j8"
     146
    143147if options.list :
    144148        print("\n".join(tests))
  • src/tests/typedef.c

    re39aa0f r4dcea3f  
    22
    33void f( void ) {
    4     int T( T );
     4    int T( T p ) { return 3; }
    55    T( 3 );
    66}
     
    3838typedef [ int, int ] tupleType;
    3939typedef * [ int, int ] tupleTypePtr;
    40 typedef * int a, b;
     40typedef * int c, d;
    4141typedef [ int ] f( * int ), g;
    4242typedef [ * [static 10] int ] t;
    43 typedef [ * [static 10] int x ] f();
     43typedef [ * [static 10] int x ] h();
    4444
    4545// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.