Changeset a839867


Ignore:
Timestamp:
Aug 25, 2016, 10:50:33 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
4999940, 6d665d9
Parents:
4e2b9710
Message:

add @= assignment operator

Location:
src/Parser
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    r4e2b9710 ra839867  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Aug 21 09:43:31 2016
    13 // Update Count     : 501
     12// Last Modified On : Thu Aug 25 21:39:40 2016
     13// Update Count     : 503
    1414//
    1515
     
    184184        "SizeOf", "AlignOf", "OffsetOf", "?+?", "?-?", "?*?", "?/?", "?%?", "||", "&&",
    185185        "?|?", "?&?", "?^?", "Cast", "?<<?", "?>>?", "?<?", "?>?", "?<=?", "?>=?", "?==?", "?!=?",
    186         "?=?", "?*=?", "?/=?", "?%=?", "?+=?", "?-=?", "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?",
     186        "?=?", "?@=?", "?*=?", "?/=?", "?%=?", "?+=?", "?-=?", "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?",
    187187        "?[?]", "...",
    188188        // monadic
  • src/Parser/ParseNode.h

    r4e2b9710 ra839867  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 25 21:00:08 2016
    13 // Update Count     : 563
     12// Last Modified On : Thu Aug 25 22:46:24 2016
     13// Update Count     : 564
    1414//
    1515
     
    145145        SizeOf, AlignOf, OffsetOf, Plus, Minus, Mul, Div, Mod, Or, And,
    146146        BitOr, BitAnd, Xor, Cast, LShift, RShift, LThan, GThan, LEThan, GEThan, Eq, Neq,
    147         Assign, MulAssn, DivAssn, ModAssn, PlusAssn, MinusAssn, LSAssn, RSAssn, AndAssn, ERAssn, OrAssn,
     147        Assign, AtAssn, MulAssn, DivAssn, ModAssn, PlusAssn, MinusAssn, LSAssn, RSAssn, AndAssn, ERAssn, OrAssn,
    148148        Index, Range,
    149149        // monadic
  • src/Parser/parser.cc

    r4e2b9710 ra839867  
    598598#define YYFINAL  250
    599599/* YYLAST -- Last index in YYTABLE.  */
    600 #define YYLAST   10841
     600#define YYLAST   10863
    601601
    602602/* YYNTOKENS -- Number of terminals.  */
     
    605605#define YYNNTS  241
    606606/* YYNRULES -- Number of rules.  */
    607 #define YYNRULES  750
     607#define YYNRULES  751
    608608/* YYNRULES -- Number of states.  */
    609 #define YYNSTATES  1554
     609#define YYNSTATES  1555
    610610
    611611/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    675675     326,   331,   337,   339,   341,   345,   348,   349,   351,   353,
    676676     355,   357,   359,   361,   363,   365,   367,   369,   371,   373,
    677      376,   382,   389,   397,   399,   403,   405,   409,   410,   412,
    678      414,   416,   418,   420,   422,   424,   426,   428,   435,   440,
    679      443,   451,   453,   457,   459,   462,   464,   467,   469,   472,
    680      475,   481,   489,   495,   505,   511,   521,   523,   527,   529,
    681      531,   535,   539,   542,   544,   547,   550,   551,   553,   556,
    682      560,   561,   563,   566,   570,   574,   579,   580,   582,   584,
    683      587,   593,   601,   608,   615,   620,   624,   629,   632,   636,
    684      639,   643,   647,   651,   655,   661,   665,   669,   674,   676,
    685      682,   689,   695,   702,   712,   723,   733,   744,   747,   749,
    686      752,   755,   758,   760,   767,   776,   787,   800,   815,   816,
    687      818,   819,   821,   823,   827,   832,   840,   841,   843,   847,
    688      849,   853,   855,   857,   859,   863,   865,   867,   869,   873,
    689      874,   876,   880,   885,   887,   891,   893,   895,   899,   903,
    690      907,   911,   915,   918,   922,   929,   933,   937,   942,   944,
    691      947,   950,   954,   960,   969,   977,   985,   991,  1001,  1004,
    692     1007,  1013,  1017,  1023,  1028,  1032,  1037,  1042,  1050,  1054,
    693     1058,  1062,  1066,  1071,  1078,  1080,  1082,  1084,  1086,  1088,
    694     1090,  1092,  1094,  1095,  1097,  1099,  1102,  1104,  1106,  1108,
    695     1110,  1112,  1114,  1116,  1117,  1123,  1125,  1128,  1132,  1134,
    696     1137,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
     677     375,   378,   384,   391,   399,   401,   405,   407,   411,   412,
     678     414,   416,   418,   420,   422,   424,   426,   428,   430,   437,
     679     442,   445,   453,   455,   459,   461,   464,   466,   469,   471,
     680     474,   477,   483,   491,   497,   507,   513,   523,   525,   529,
     681     531,   533,   537,   541,   544,   546,   549,   552,   553,   555,
     682     558,   562,   563,   565,   568,   572,   576,   581,   582,   584,
     683     586,   589,   595,   603,   610,   617,   622,   626,   631,   634,
     684     638,   641,   645,   649,   653,   657,   663,   667,   671,   676,
     685     678,   684,   691,   697,   704,   714,   725,   735,   746,   749,
     686     751,   754,   757,   760,   762,   769,   778,   789,   802,   817,
     687     818,   820,   821,   823,   825,   829,   834,   842,   843,   845,
     688     849,   851,   855,   857,   859,   861,   865,   867,   869,   871,
     689     875,   876,   878,   882,   887,   889,   893,   895,   897,   901,
     690     905,   909,   913,   917,   920,   924,   931,   935,   939,   944,
     691     946,   949,   952,   956,   962,   971,   979,   987,   993,  1003,
     692    1006,  1009,  1015,  1019,  1025,  1030,  1034,  1039,  1044,  1052,
     693    1056,  1060,  1064,  1068,  1073,  1080,  1082,  1084,  1086,  1088,
     694    1090,  1092,  1094,  1096,  1097,  1099,  1101,  1104,  1106,  1108,
     695    1110,  1112,  1114,  1116,  1118,  1119,  1125,  1127,  1130,  1134,
     696    1136,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
    697697    1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    698     1177,  1179,  1181,  1184,  1187,  1191,  1195,  1197,  1201,  1203,
    699     1206,  1209,  1212,  1217,  1222,  1227,  1232,  1234,  1237,  1240,
    700     1244,  1246,  1249,  1252,  1254,  1257,  1260,  1264,  1266,  1269,
    701     1272,  1274,  1276,  1281,  1284,  1285,  1292,  1300,  1303,  1306,
    702     1309,  1310,  1313,  1316,  1320,  1323,  1327,  1329,  1332,  1336,
    703     1339,  1342,  1347,  1348,  1350,  1353,  1356,  1358,  1359,  1361,
    704     1364,  1367,  1373,  1376,  1377,  1385,  1388,  1393,  1394,  1397,
    705     1398,  1400,  1402,  1404,  1410,  1416,  1422,  1424,  1430,  1436,
    706     1446,  1448,  1454,  1455,  1457,  1459,  1465,  1467,  1469,  1475,
    707     1481,  1483,  1487,  1491,  1496,  1498,  1500,  1502,  1504,  1507,
    708     1509,  1513,  1517,  1519,  1522,  1524,  1528,  1530,  1532,  1534,
    709     1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1553,  1555,
    710     1557,  1559,  1562,  1563,  1566,  1569,  1571,  1576,  1577,  1579,
    711     1582,  1586,  1591,  1594,  1597,  1599,  1602,  1605,  1611,  1617,
    712     1625,  1632,  1634,  1637,  1640,  1644,  1646,  1649,  1652,  1657,
    713     1660,  1665,  1666,  1671,  1674,  1676,  1678,  1680,  1681,  1684,
    714     1690,  1696,  1710,  1712,  1714,  1718,  1722,  1725,  1729,  1733,
    715     1736,  1741,  1743,  1750,  1760,  1761,  1773,  1775,  1779,  1783,
    716     1787,  1789,  1791,  1797,  1800,  1806,  1807,  1809,  1811,  1815,
    717     1816,  1818,  1820,  1822,  1824,  1825,  1832,  1835,  1837,  1840,
    718     1845,  1848,  1852,  1856,  1860,  1865,  1871,  1877,  1883,  1890,
    719     1892,  1894,  1896,  1900,  1901,  1907,  1908,  1910,  1912,  1915,
    720     1922,  1924,  1928,  1929,  1931,  1936,  1938,  1940,  1942,  1944,
    721     1947,  1949,  1952,  1955,  1957,  1961,  1964,  1968,  1972,  1975,
    722     1980,  1985,  1989,  1998,  2002,  2005,  2007,  2010,  2017,  2026,
    723     2030,  2033,  2037,  2041,  2046,  2051,  2055,  2057,  2059,  2061,
    724     2066,  2073,  2077,  2080,  2084,  2088,  2093,  2098,  2102,  2105,
    725     2107,  2110,  2113,  2115,  2119,  2122,  2126,  2130,  2133,  2138,
    726     2143,  2147,  2154,  2163,  2167,  2170,  2172,  2175,  2178,  2181,
    727     2185,  2189,  2192,  2197,  2202,  2206,  2213,  2222,  2226,  2229,
    728     2231,  2234,  2237,  2239,  2241,  2244,  2248,  2252,  2255,  2260,
    729     2267,  2276,  2278,  2281,  2284,  2286,  2289,  2292,  2296,  2300,
    730     2302,  2307,  2312,  2316,  2322,  2331,  2335,  2338,  2342,  2344,
    731     2350,  2356,  2363,  2370,  2372,  2375,  2378,  2380,  2383,  2386,
    732     2390,  2394,  2396,  2401,  2406,  2410,  2416,  2425,  2429,  2431,
    733     2434,  2436,  2439,  2446,  2452,  2459,  2467,  2475,  2477,  2480,
    734     2483,  2485,  2488,  2491,  2495,  2499,  2501,  2506,  2511,  2515,
    735     2524,  2528,  2530,  2532,  2535,  2537,  2539,  2542,  2546,  2549,
    736     2553,  2556,  2560,  2564,  2567,  2572,  2576,  2579,  2583,  2586,
    737     2591,  2595,  2598,  2605,  2612,  2619,  2627,  2629,  2632,  2634,
    738     2636,  2638,  2641,  2645,  2648,  2652,  2655,  2659,  2663,  2668,
    739     2671,  2675,  2680,  2683,  2689,  2695,  2702,  2709,  2710,  2712,
    740     2713
     698    1177,  1179,  1181,  1183,  1186,  1189,  1193,  1197,  1199,  1203,
     699    1205,  1208,  1211,  1214,  1219,  1224,  1229,  1234,  1236,  1239,
     700    1242,  1246,  1248,  1251,  1254,  1256,  1259,  1262,  1266,  1268,
     701    1271,  1274,  1276,  1278,  1283,  1286,  1287,  1294,  1302,  1305,
     702    1308,  1311,  1312,  1315,  1318,  1322,  1325,  1329,  1331,  1334,
     703    1338,  1341,  1344,  1349,  1350,  1352,  1355,  1358,  1360,  1361,
     704    1363,  1366,  1369,  1375,  1378,  1379,  1387,  1390,  1395,  1396,
     705    1399,  1400,  1402,  1404,  1406,  1412,  1418,  1424,  1426,  1432,
     706    1438,  1448,  1450,  1456,  1457,  1459,  1461,  1467,  1469,  1471,
     707    1477,  1483,  1485,  1489,  1493,  1498,  1500,  1502,  1504,  1506,
     708    1509,  1511,  1515,  1519,  1521,  1524,  1526,  1530,  1532,  1534,
     709    1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1552,  1555,
     710    1557,  1559,  1561,  1564,  1565,  1568,  1571,  1573,  1578,  1579,
     711    1581,  1584,  1588,  1593,  1596,  1599,  1601,  1604,  1607,  1613,
     712    1619,  1627,  1634,  1636,  1639,  1642,  1646,  1648,  1651,  1654,
     713    1659,  1662,  1667,  1668,  1673,  1676,  1678,  1680,  1682,  1683,
     714    1686,  1692,  1698,  1712,  1714,  1716,  1720,  1724,  1727,  1731,
     715    1735,  1738,  1743,  1745,  1752,  1762,  1763,  1775,  1777,  1781,
     716    1785,  1789,  1791,  1793,  1799,  1802,  1808,  1809,  1811,  1813,
     717    1817,  1818,  1820,  1822,  1824,  1826,  1827,  1834,  1837,  1839,
     718    1842,  1847,  1850,  1854,  1858,  1862,  1867,  1873,  1879,  1885,
     719    1892,  1894,  1896,  1898,  1902,  1903,  1909,  1910,  1912,  1914,
     720    1917,  1924,  1926,  1930,  1931,  1933,  1938,  1940,  1942,  1944,
     721    1946,  1949,  1951,  1954,  1957,  1959,  1963,  1966,  1970,  1974,
     722    1977,  1982,  1987,  1991,  2000,  2004,  2007,  2009,  2012,  2019,
     723    2028,  2032,  2035,  2039,  2043,  2048,  2053,  2057,  2059,  2061,
     724    2063,  2068,  2075,  2079,  2082,  2086,  2090,  2095,  2100,  2104,
     725    2107,  2109,  2112,  2115,  2117,  2121,  2124,  2128,  2132,  2135,
     726    2140,  2145,  2149,  2156,  2165,  2169,  2172,  2174,  2177,  2180,
     727    2183,  2187,  2191,  2194,  2199,  2204,  2208,  2215,  2224,  2228,
     728    2231,  2233,  2236,  2239,  2241,  2243,  2246,  2250,  2254,  2257,
     729    2262,  2269,  2278,  2280,  2283,  2286,  2288,  2291,  2294,  2298,
     730    2302,  2304,  2309,  2314,  2318,  2324,  2333,  2337,  2340,  2344,
     731    2346,  2352,  2358,  2365,  2372,  2374,  2377,  2380,  2382,  2385,
     732    2388,  2392,  2396,  2398,  2403,  2408,  2412,  2418,  2427,  2431,
     733    2433,  2436,  2438,  2441,  2448,  2454,  2461,  2469,  2477,  2479,
     734    2482,  2485,  2487,  2490,  2493,  2497,  2501,  2503,  2508,  2513,
     735    2517,  2526,  2530,  2532,  2534,  2537,  2539,  2541,  2544,  2548,
     736    2551,  2555,  2558,  2562,  2566,  2569,  2574,  2578,  2581,  2585,
     737    2588,  2593,  2597,  2600,  2607,  2614,  2621,  2629,  2631,  2634,
     738    2636,  2638,  2640,  2643,  2647,  2650,  2654,  2657,  2661,  2665,
     739    2670,  2673,  2677,  2682,  2685,  2691,  2697,  2704,  2711,  2712,
     740    2714,  2715
    741741};
    742742
     
    779779      -1,   162,   129,   170,   130,   168,    -1,   163,    -1,   163,
    780780      -1,   149,   167,   165,    -1,   168,   373,    -1,    -1,   165,
    781       -1,   131,    -1,    97,    -1,    98,    -1,    99,    -1,   100,
    782       -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,
    783       -1,   106,    -1,   111,   112,    -1,   111,   134,   165,   135,
    784      112,    -1,   111,   134,   116,   169,   135,   112,    -1,   111,
    785      134,   165,   116,   169,   135,   112,    -1,   166,    -1,   169,
    786      116,   166,    -1,   165,    -1,   170,   116,   165,    -1,    -1,
    787      170,    -1,   173,    -1,   174,    -1,   178,    -1,   179,    -1,
    788      191,    -1,   193,    -1,   194,    -1,   199,    -1,   127,   144,
    789      114,   145,   115,   132,    -1,    72,   130,   312,   172,    -1,
    790      114,   115,    -1,   114,   134,   134,   210,   175,   135,   115,
    791       -1,   176,    -1,   175,   134,   176,    -1,   213,    -1,    40,
    792      213,    -1,   308,    -1,   172,   135,    -1,   172,    -1,   177,
    793      172,    -1,   171,   132,    -1,    41,   109,   170,   110,   172,
    794       -1,    41,   109,   170,   110,   172,    42,   172,    -1,    43,
    795      109,   170,   110,   184,    -1,    43,   109,   170,   110,   114,
    796      134,   206,   185,   115,    -1,    53,   109,   170,   110,   184,
    797       -1,    53,   109,   170,   110,   114,   134,   206,   187,   115,
    798       -1,   164,    -1,   164,    96,   164,    -1,   310,    -1,   180,
    799       -1,   181,   116,   180,    -1,    44,   181,   130,    -1,    45,
    800      130,    -1,   182,    -1,   183,   182,    -1,   183,   172,    -1,
    801       -1,   186,    -1,   183,   177,    -1,   186,   183,   177,    -1,
    802       -1,   188,    -1,   183,   190,    -1,   183,   177,   189,    -1,
    803      188,   183,   190,    -1,   188,   183,   177,   189,    -1,    -1,
    804      190,    -1,    56,    -1,    56,   132,    -1,    47,   109,   170,
    805      110,   172,    -1,    46,   172,    47,   109,   170,   110,   132,
    806       -1,    48,   109,   134,   192,   110,   172,    -1,   171,   135,
    807      132,   171,   132,   171,    -1,   213,   171,   132,   171,    -1,
    808       51,    72,   132,    -1,    51,   117,   170,   132,    -1,    50,
    809      132,    -1,    50,    72,   132,    -1,    49,   132,    -1,    49,
    810       72,   132,    -1,    52,   171,   132,    -1,    61,   166,   132,
    811       -1,    62,   166,   132,    -1,    62,   166,    63,   165,   132,
    812       -1,    57,   174,   195,    -1,    57,   174,   197,    -1,    57,
    813      174,   195,   197,    -1,   196,    -1,    58,   109,    96,   110,
    814      174,    -1,   196,    58,   109,    96,   110,   174,    -1,    59,
    815      109,    96,   110,   174,    -1,   196,    59,   109,    96,   110,
    816      174,    -1,    58,   109,   134,   134,   198,   135,   110,   174,
    817      135,    -1,   196,    58,   109,   134,   134,   198,   135,   110,
    818      174,   135,    -1,    59,   109,   134,   134,   198,   135,   110,
    819      174,   135,    -1,   196,    59,   109,   134,   134,   198,   135,
    820      110,   174,   135,    -1,    60,   174,    -1,   226,    -1,   226,
    821      309,    -1,   226,   357,    -1,   366,   139,    -1,   366,    -1,
    822       64,   200,   109,   141,   110,   132,    -1,    64,   200,   109,
    823      141,   130,   201,   110,   132,    -1,    64,   200,   109,   141,
    824      130,   201,   130,   201,   110,   132,    -1,    64,   200,   109,
    825      141,   130,   201,   130,   201,   130,   204,   110,   132,    -1,
    826       64,   200,    51,   109,   141,   130,   130,   201,   130,   204,
    827      130,   205,   110,   132,    -1,    -1,    11,    -1,    -1,   202,
    828       -1,   203,    -1,   202,   116,   203,    -1,   141,   109,   164,
    829      110,    -1,   111,   164,   112,   141,   109,   164,   110,    -1,
    830       -1,   141,    -1,   204,   116,   141,    -1,   139,    -1,   205,
    831      116,   139,    -1,   135,    -1,   207,    -1,   213,    -1,   207,
    832      134,   213,    -1,   135,    -1,   209,    -1,   223,    -1,   209,
    833      134,   223,    -1,    -1,   211,    -1,    29,   212,   132,    -1,
    834      211,    29,   212,   132,    -1,   274,    -1,   212,   116,   274,
    835       -1,   214,    -1,   223,    -1,   215,   135,   132,    -1,   220,
    836      135,   132,    -1,   217,   135,   132,    -1,   293,   135,   132,
    837       -1,   296,   135,   132,    -1,   216,   277,    -1,   232,   216,
    838      277,    -1,   215,   135,   116,   134,   272,   277,    -1,   367,
    839      272,   311,    -1,   370,   272,   311,    -1,   228,   370,   272,
    840      311,    -1,   218,    -1,   228,   218,    -1,   232,   218,    -1,
    841      232,   228,   218,    -1,   217,   135,   116,   134,   272,    -1,
    842      111,   112,   272,   109,   134,   260,   135,   110,    -1,   370,
    843      272,   109,   134,   260,   135,   110,    -1,   219,   272,   109,
    844      134,   260,   135,   110,    -1,   111,   134,   262,   135,   112,
    845       -1,   111,   134,   262,   135,   116,   134,   263,   135,   112,
    846       -1,     3,   216,    -1,     3,   218,    -1,   220,   135,   116,
    847      134,   139,    -1,     3,   226,   309,    -1,   221,   135,   116,
    848      134,   309,    -1,   228,     3,   226,   309,    -1,   226,     3,
    849      309,    -1,   226,     3,   228,   309,    -1,     3,   139,   131,
    850      165,    -1,   222,   135,   116,   134,   139,   131,   165,    -1,
    851      224,   135,   132,    -1,   221,   135,   132,    -1,   222,   135,
    852      132,    -1,   240,   135,   132,    -1,   225,   309,   311,   277,
    853       -1,   224,   116,   312,   309,   311,   277,    -1,   236,    -1,
    854      240,    -1,   242,    -1,   283,    -1,   237,    -1,   241,    -1,
    855      243,    -1,   284,    -1,    -1,   228,    -1,   229,    -1,   228,
    856      229,    -1,   230,    -1,   314,    -1,    10,    -1,    12,    -1,
    857       11,    -1,    14,    -1,    67,    -1,    -1,    13,   109,   231,
    858      286,   110,    -1,   233,    -1,   228,   233,    -1,   232,   228,
    859      233,    -1,   234,    -1,   233,   234,    -1,     5,    -1,     7,
    860       -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,    69,
    861       -1,    71,    -1,    16,    -1,    21,    -1,    20,    -1,    18,
    862       -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,    15,
    863       -1,    25,    -1,    26,    -1,    27,    -1,    24,    -1,   237,
    864       -1,   232,   237,    -1,   236,   234,    -1,   236,   234,   228,
    865       -1,   236,   234,   237,    -1,   238,    -1,   227,   239,   227,
    866       -1,   235,    -1,   228,   235,    -1,   238,   229,    -1,   238,
    867      235,    -1,    28,   109,   276,   110,    -1,    28,   109,   170,
    868      110,    -1,    78,   109,   276,   110,    -1,    78,   109,   170,
    869      110,    -1,   241,    -1,   232,   241,    -1,   240,   234,    -1,
    870      240,   234,   228,    -1,   244,    -1,   228,   244,    -1,   241,
    871      229,    -1,   243,    -1,   232,   243,    -1,   242,   234,    -1,
    872      242,   234,   228,    -1,    74,    -1,   228,    74,    -1,   243,
    873      229,    -1,   245,    -1,   256,    -1,   247,   114,   248,   115,
    874       -1,   247,   274,    -1,    -1,   247,   274,   246,   114,   248,
    875      115,    -1,   247,   109,   292,   110,   114,   248,   115,    -1,
    876      247,   285,    -1,    31,   312,    -1,    32,   312,    -1,    -1,
    877      248,   249,    -1,   250,   132,    -1,    40,   250,   132,    -1,
    878      251,   132,    -1,    40,   251,   132,    -1,   366,    -1,   366,
    879      274,    -1,   250,   116,   274,    -1,   250,   116,    -1,   226,
    880      252,    -1,   251,   116,   312,   252,    -1,    -1,   254,    -1,
    881      318,   253,    -1,   331,   253,    -1,   357,    -1,    -1,   254,
    882       -1,   130,   164,    -1,    30,   312,    -1,   255,   114,   258,
    883      372,   115,    -1,   255,   274,    -1,    -1,   255,   274,   257,
    884      114,   258,   372,   115,    -1,   274,   259,    -1,   258,   116,
    885      274,   259,    -1,    -1,   131,   164,    -1,    -1,   261,    -1,
    886      263,    -1,   262,    -1,   262,   135,   116,   134,   263,    -1,
    887      263,   135,   116,   134,    96,    -1,   262,   135,   116,   134,
    888       96,    -1,   267,    -1,   263,   135,   116,   134,   267,    -1,
    889      262,   135,   116,   134,   267,    -1,   262,   135,   116,   134,
    890      263,   135,   116,   134,   267,    -1,   268,    -1,   263,   135,
    891      116,   134,   268,    -1,    -1,   265,    -1,   266,    -1,   266,
    892      135,   116,   134,    96,    -1,   270,    -1,   269,    -1,   266,
    893      135,   116,   134,   270,    -1,   266,   135,   116,   134,   269,
    894       -1,   269,    -1,   362,   272,   373,    -1,   370,   272,   373,
    895       -1,   228,   370,   272,   373,    -1,   218,    -1,   270,    -1,
    896      362,    -1,   370,    -1,   228,   370,    -1,   371,    -1,   225,
    897      336,   373,    -1,   225,   340,   373,    -1,   225,    -1,   225,
    898      351,    -1,   139,    -1,   271,   116,   139,    -1,   137,    -1,
    899       74,    -1,    75,    -1,   138,    -1,    74,    -1,    75,    -1,
    900      139,    -1,    74,    -1,    75,    -1,   366,    -1,   226,    -1,
    901      226,   357,    -1,   366,    -1,   371,    -1,   226,    -1,   226,
    902      345,    -1,    -1,   131,   278,    -1,   107,   278,    -1,   165,
    903       -1,   114,   279,   372,   115,    -1,    -1,   278,    -1,   280,
    904      278,    -1,   279,   116,   278,    -1,   279,   116,   280,   278,
    905       -1,   281,   130,    -1,   274,   130,    -1,   282,    -1,   281,
    906      282,    -1,   113,   274,    -1,   111,   134,   165,   135,   112,
    907       -1,   111,   134,   310,   135,   112,    -1,   111,   134,   164,
    908       96,   164,   135,   112,    -1,   113,   111,   134,   147,   135,
    909      112,    -1,   284,    -1,   232,   284,    -1,   283,   234,    -1,
    910      283,   234,   228,    -1,   285,    -1,   228,   285,    -1,   284,
    911      229,    -1,    75,   109,   292,   110,    -1,   287,   373,    -1,
    912      286,   116,   287,   373,    -1,    -1,   289,   274,   288,   290,
    913       -1,   226,   336,    -1,    33,    -1,    35,    -1,    34,    -1,
    914       -1,   290,   291,    -1,   128,   274,   109,   292,   110,    -1,
    915      128,   114,   134,   298,   115,    -1,   128,   109,   134,   286,
    916      135,   110,   114,   134,   298,   115,   109,   292,   110,    -1,
    917      276,    -1,   165,    -1,   292,   116,   276,    -1,   292,   116,
    918      165,    -1,    33,   294,    -1,   233,    33,   294,    -1,   293,
    919      116,   294,    -1,   295,   290,    -1,   295,   290,   131,   276,
    920       -1,   274,    -1,   273,   109,   134,   286,   135,   110,    -1,
    921       36,   274,   109,   134,   286,   135,   110,   114,   115,    -1,
    922       -1,    36,   274,   109,   134,   286,   135,   110,   114,   297,
    923      298,   115,    -1,   299,    -1,   298,   134,   299,    -1,   300,
    924      135,   132,    -1,   301,   135,   132,    -1,   216,    -1,   218,
    925       -1,   300,   135,   116,   134,   272,    -1,   226,   309,    -1,
    926      301,   135,   116,   134,   309,    -1,    -1,   303,    -1,   305,
    927       -1,   303,   134,   305,    -1,    -1,   303,    -1,   213,    -1,
    928      307,    -1,   199,    -1,    -1,     5,    82,   306,   114,   304,
    929      115,    -1,    40,   305,    -1,   308,    -1,   323,   174,    -1,
    930      327,   134,   208,   174,    -1,   217,   174,    -1,   225,   323,
    931      174,    -1,   228,   323,   174,    -1,   232,   323,   174,    -1,
    932      232,   228,   323,   174,    -1,   225,   327,   134,   208,   174,
    933       -1,   228,   327,   134,   208,   174,    -1,   232,   327,   134,
    934      208,   174,    -1,   232,   228,   327,   134,   208,   174,    -1,
    935      318,    -1,   331,    -1,   323,    -1,   164,   122,   164,    -1,
    936       -1,    64,   109,   142,   110,   312,    -1,    -1,   313,    -1,
    937      314,    -1,   313,   314,    -1,    39,   109,   109,   315,   110,
    938      110,    -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,
    939       -1,   317,   109,   171,   110,    -1,   272,    -1,   234,    -1,
    940      235,    -1,   229,    -1,   319,   312,    -1,   320,    -1,   321,
    941      312,    -1,   322,   312,    -1,   137,    -1,   109,   319,   110,
    942       -1,   150,   318,    -1,   150,   228,   318,    -1,   109,   320,
    943      110,    -1,   319,   349,    -1,   109,   320,   110,   349,    -1,
    944      109,   321,   110,   350,    -1,   109,   321,   110,    -1,   109,
    945      320,   110,   109,   134,   264,   135,   110,    -1,   109,   322,
    946      110,    -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,
    947      319,   109,   134,   264,   135,   110,    -1,   109,   325,   110,
    948      109,   134,   264,   135,   110,    -1,   109,   324,   110,    -1,
    949      150,   323,    -1,   150,   228,   323,    -1,   109,   325,   110,
    950       -1,   109,   325,   110,   349,    -1,   109,   326,   110,   350,
    951       -1,   109,   326,   110,    -1,   328,    -1,   329,    -1,   330,
    952       -1,   319,   109,   271,   110,    -1,   109,   329,   110,   109,
    953      271,   110,    -1,   109,   328,   110,    -1,   150,   327,    -1,
    954      150,   228,   327,    -1,   109,   329,   110,    -1,   109,   329,
    955      110,   349,    -1,   109,   330,   110,   350,    -1,   109,   330,
    956      110,    -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,
    957      335,   312,    -1,   341,    -1,   109,   332,   110,    -1,   150,
    958      331,    -1,   150,   228,   331,    -1,   109,   333,   110,    -1,
    959      332,   349,    -1,   109,   333,   110,   349,    -1,   109,   334,
    960      110,   350,    -1,   109,   334,   110,    -1,   332,   109,   134,
    961      264,   135,   110,    -1,   109,   333,   110,   109,   134,   264,
    962      135,   110,    -1,   109,   335,   110,    -1,   319,   312,    -1,
    963      337,    -1,   338,   312,    -1,   339,   312,    -1,   150,   336,
    964       -1,   150,   228,   336,    -1,   109,   337,   110,    -1,   319,
    965      355,    -1,   109,   337,   110,   349,    -1,   109,   338,   110,
    966      350,    -1,   109,   338,   110,    -1,   319,   109,   134,   264,
    967      135,   110,    -1,   109,   337,   110,   109,   134,   264,   135,
    968      110,    -1,   109,   339,   110,    -1,   341,   312,    -1,   342,
    969       -1,   343,   312,    -1,   344,   312,    -1,    74,    -1,    75,
    970       -1,   150,   340,    -1,   150,   228,   340,    -1,   109,   342,
    971      110,    -1,   341,   355,    -1,   109,   342,   110,   355,    -1,
    972      341,   109,   134,   264,   135,   110,    -1,   109,   342,   110,
    973      109,   134,   264,   135,   110,    -1,   346,    -1,   347,   312,
    974       -1,   348,   312,    -1,   150,    -1,   150,   228,    -1,   150,
    975      345,    -1,   150,   228,   345,    -1,   109,   346,   110,    -1,
    976      349,    -1,   109,   346,   110,   349,    -1,   109,   347,   110,
    977      350,    -1,   109,   347,   110,    -1,   109,   134,   264,   135,
    978      110,    -1,   109,   346,   110,   109,   134,   264,   135,   110,
    979       -1,   109,   348,   110,    -1,   111,   112,    -1,   111,   112,
    980      350,    -1,   350,    -1,   111,   134,   165,   135,   112,    -1,
    981      111,   134,   117,   135,   112,    -1,   350,   111,   134,   165,
    982      135,   112,    -1,   350,   111,   134,   117,   135,   112,    -1,
    983      352,    -1,   353,   312,    -1,   354,   312,    -1,   150,    -1,
    984      150,   228,    -1,   150,   351,    -1,   150,   228,   351,    -1,
    985      109,   352,   110,    -1,   355,    -1,   109,   352,   110,   355,
    986       -1,   109,   353,   110,   350,    -1,   109,   353,   110,    -1,
    987      109,   134,   264,   135,   110,    -1,   109,   352,   110,   109,
    988      134,   264,   135,   110,    -1,   109,   354,   110,    -1,   356,
    989       -1,   356,   350,    -1,   350,    -1,   111,   112,    -1,   111,
    990      134,   228,   117,   135,   112,    -1,   111,   134,   228,   135,
    991      112,    -1,   111,   134,   228,   165,   135,   112,    -1,   111,
    992      134,     7,   227,   165,   135,   112,    -1,   111,   134,   228,
    993        7,   165,   135,   112,    -1,   358,    -1,   359,   312,    -1,
    994      360,   312,    -1,   150,    -1,   150,   228,    -1,   150,   357,
    995       -1,   150,   228,   357,    -1,   109,   358,   110,    -1,   349,
    996       -1,   109,   358,   110,   349,    -1,   109,   359,   110,   350,
    997       -1,   109,   359,   110,    -1,   109,   358,   110,   109,   134,
    998      264,   135,   110,    -1,   109,   360,   110,    -1,   362,    -1,
    999      370,    -1,   228,   370,    -1,   363,    -1,   364,    -1,   150,
    1000      226,    -1,   228,   150,   226,    -1,   150,   371,    -1,   228,
    1001      150,   371,    -1,   150,   361,    -1,   228,   150,   361,    -1,
    1002      111,   112,   226,    -1,   365,   226,    -1,   111,   112,   350,
    1003      226,    -1,   365,   350,   226,    -1,   350,   226,    -1,   111,
    1004      112,   363,    -1,   365,   363,    -1,   111,   112,   350,   363,
    1005       -1,   365,   350,   363,    -1,   350,   363,    -1,   111,   134,
    1006      228,   117,   135,   112,    -1,   111,   134,   228,   165,   135,
    1007      112,    -1,   111,   134,   232,   165,   135,   112,    -1,   111,
    1008      134,   232,   228,   165,   135,   112,    -1,   370,    -1,   228,
    1009      370,    -1,   367,    -1,   368,    -1,   369,    -1,   150,   226,
    1010       -1,   228,   150,   226,    -1,   150,   371,    -1,   228,   150,
    1011      371,    -1,   150,   366,    -1,   228,   150,   366,    -1,   111,
    1012      112,   226,    -1,   111,   112,   350,   226,    -1,   350,   226,
    1013       -1,   111,   112,   368,    -1,   111,   112,   350,   368,    -1,
    1014      350,   368,    -1,   111,   134,   263,   135,   112,    -1,   111,
    1015      112,   109,   260,   110,    -1,   370,   109,   134,   260,   135,
    1016      110,    -1,   219,   109,   134,   260,   135,   110,    -1,    -1,
    1017      116,    -1,    -1,   131,   165,    -1
     781      -1,   131,    -1,   107,    -1,    97,    -1,    98,    -1,    99,
     782      -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,
     783      -1,   105,    -1,   106,    -1,   111,   112,    -1,   111,   134,
     784     165,   135,   112,    -1,   111,   134,   116,   169,   135,   112,
     785      -1,   111,   134,   165,   116,   169,   135,   112,    -1,   166,
     786      -1,   169,   116,   166,    -1,   165,    -1,   170,   116,   165,
     787      -1,    -1,   170,    -1,   173,    -1,   174,    -1,   178,    -1,
     788     179,    -1,   191,    -1,   193,    -1,   194,    -1,   199,    -1,
     789     127,   144,   114,   145,   115,   132,    -1,    72,   130,   312,
     790     172,    -1,   114,   115,    -1,   114,   134,   134,   210,   175,
     791     135,   115,    -1,   176,    -1,   175,   134,   176,    -1,   213,
     792      -1,    40,   213,    -1,   308,    -1,   172,   135,    -1,   172,
     793      -1,   177,   172,    -1,   171,   132,    -1,    41,   109,   170,
     794     110,   172,    -1,    41,   109,   170,   110,   172,    42,   172,
     795      -1,    43,   109,   170,   110,   184,    -1,    43,   109,   170,
     796     110,   114,   134,   206,   185,   115,    -1,    53,   109,   170,
     797     110,   184,    -1,    53,   109,   170,   110,   114,   134,   206,
     798     187,   115,    -1,   164,    -1,   164,    96,   164,    -1,   310,
     799      -1,   180,    -1,   181,   116,   180,    -1,    44,   181,   130,
     800      -1,    45,   130,    -1,   182,    -1,   183,   182,    -1,   183,
     801     172,    -1,    -1,   186,    -1,   183,   177,    -1,   186,   183,
     802     177,    -1,    -1,   188,    -1,   183,   190,    -1,   183,   177,
     803     189,    -1,   188,   183,   190,    -1,   188,   183,   177,   189,
     804      -1,    -1,   190,    -1,    56,    -1,    56,   132,    -1,    47,
     805     109,   170,   110,   172,    -1,    46,   172,    47,   109,   170,
     806     110,   132,    -1,    48,   109,   134,   192,   110,   172,    -1,
     807     171,   135,   132,   171,   132,   171,    -1,   213,   171,   132,
     808     171,    -1,    51,    72,   132,    -1,    51,   117,   170,   132,
     809      -1,    50,   132,    -1,    50,    72,   132,    -1,    49,   132,
     810      -1,    49,    72,   132,    -1,    52,   171,   132,    -1,    61,
     811     166,   132,    -1,    62,   166,   132,    -1,    62,   166,    63,
     812     165,   132,    -1,    57,   174,   195,    -1,    57,   174,   197,
     813      -1,    57,   174,   195,   197,    -1,   196,    -1,    58,   109,
     814      96,   110,   174,    -1,   196,    58,   109,    96,   110,   174,
     815      -1,    59,   109,    96,   110,   174,    -1,   196,    59,   109,
     816      96,   110,   174,    -1,    58,   109,   134,   134,   198,   135,
     817     110,   174,   135,    -1,   196,    58,   109,   134,   134,   198,
     818     135,   110,   174,   135,    -1,    59,   109,   134,   134,   198,
     819     135,   110,   174,   135,    -1,   196,    59,   109,   134,   134,
     820     198,   135,   110,   174,   135,    -1,    60,   174,    -1,   226,
     821      -1,   226,   309,    -1,   226,   357,    -1,   366,   139,    -1,
     822     366,    -1,    64,   200,   109,   141,   110,   132,    -1,    64,
     823     200,   109,   141,   130,   201,   110,   132,    -1,    64,   200,
     824     109,   141,   130,   201,   130,   201,   110,   132,    -1,    64,
     825     200,   109,   141,   130,   201,   130,   201,   130,   204,   110,
     826     132,    -1,    64,   200,    51,   109,   141,   130,   130,   201,
     827     130,   204,   130,   205,   110,   132,    -1,    -1,    11,    -1,
     828      -1,   202,    -1,   203,    -1,   202,   116,   203,    -1,   141,
     829     109,   164,   110,    -1,   111,   164,   112,   141,   109,   164,
     830     110,    -1,    -1,   141,    -1,   204,   116,   141,    -1,   139,
     831      -1,   205,   116,   139,    -1,   135,    -1,   207,    -1,   213,
     832      -1,   207,   134,   213,    -1,   135,    -1,   209,    -1,   223,
     833      -1,   209,   134,   223,    -1,    -1,   211,    -1,    29,   212,
     834     132,    -1,   211,    29,   212,   132,    -1,   274,    -1,   212,
     835     116,   274,    -1,   214,    -1,   223,    -1,   215,   135,   132,
     836      -1,   220,   135,   132,    -1,   217,   135,   132,    -1,   293,
     837     135,   132,    -1,   296,   135,   132,    -1,   216,   277,    -1,
     838     232,   216,   277,    -1,   215,   135,   116,   134,   272,   277,
     839      -1,   367,   272,   311,    -1,   370,   272,   311,    -1,   228,
     840     370,   272,   311,    -1,   218,    -1,   228,   218,    -1,   232,
     841     218,    -1,   232,   228,   218,    -1,   217,   135,   116,   134,
     842     272,    -1,   111,   112,   272,   109,   134,   260,   135,   110,
     843      -1,   370,   272,   109,   134,   260,   135,   110,    -1,   219,
     844     272,   109,   134,   260,   135,   110,    -1,   111,   134,   262,
     845     135,   112,    -1,   111,   134,   262,   135,   116,   134,   263,
     846     135,   112,    -1,     3,   216,    -1,     3,   218,    -1,   220,
     847     135,   116,   134,   139,    -1,     3,   226,   309,    -1,   221,
     848     135,   116,   134,   309,    -1,   228,     3,   226,   309,    -1,
     849     226,     3,   309,    -1,   226,     3,   228,   309,    -1,     3,
     850     139,   131,   165,    -1,   222,   135,   116,   134,   139,   131,
     851     165,    -1,   224,   135,   132,    -1,   221,   135,   132,    -1,
     852     222,   135,   132,    -1,   240,   135,   132,    -1,   225,   309,
     853     311,   277,    -1,   224,   116,   312,   309,   311,   277,    -1,
     854     236,    -1,   240,    -1,   242,    -1,   283,    -1,   237,    -1,
     855     241,    -1,   243,    -1,   284,    -1,    -1,   228,    -1,   229,
     856      -1,   228,   229,    -1,   230,    -1,   314,    -1,    10,    -1,
     857      12,    -1,    11,    -1,    14,    -1,    67,    -1,    -1,    13,
     858     109,   231,   286,   110,    -1,   233,    -1,   228,   233,    -1,
     859     232,   228,   233,    -1,   234,    -1,   233,   234,    -1,     5,
     860      -1,     7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,
     861      -1,    69,    -1,    71,    -1,    16,    -1,    21,    -1,    20,
     862      -1,    18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,
     863      -1,    15,    -1,    25,    -1,    26,    -1,    27,    -1,    24,
     864      -1,   237,    -1,   232,   237,    -1,   236,   234,    -1,   236,
     865     234,   228,    -1,   236,   234,   237,    -1,   238,    -1,   227,
     866     239,   227,    -1,   235,    -1,   228,   235,    -1,   238,   229,
     867      -1,   238,   235,    -1,    28,   109,   276,   110,    -1,    28,
     868     109,   170,   110,    -1,    78,   109,   276,   110,    -1,    78,
     869     109,   170,   110,    -1,   241,    -1,   232,   241,    -1,   240,
     870     234,    -1,   240,   234,   228,    -1,   244,    -1,   228,   244,
     871      -1,   241,   229,    -1,   243,    -1,   232,   243,    -1,   242,
     872     234,    -1,   242,   234,   228,    -1,    74,    -1,   228,    74,
     873      -1,   243,   229,    -1,   245,    -1,   256,    -1,   247,   114,
     874     248,   115,    -1,   247,   274,    -1,    -1,   247,   274,   246,
     875     114,   248,   115,    -1,   247,   109,   292,   110,   114,   248,
     876     115,    -1,   247,   285,    -1,    31,   312,    -1,    32,   312,
     877      -1,    -1,   248,   249,    -1,   250,   132,    -1,    40,   250,
     878     132,    -1,   251,   132,    -1,    40,   251,   132,    -1,   366,
     879      -1,   366,   274,    -1,   250,   116,   274,    -1,   250,   116,
     880      -1,   226,   252,    -1,   251,   116,   312,   252,    -1,    -1,
     881     254,    -1,   318,   253,    -1,   331,   253,    -1,   357,    -1,
     882      -1,   254,    -1,   130,   164,    -1,    30,   312,    -1,   255,
     883     114,   258,   372,   115,    -1,   255,   274,    -1,    -1,   255,
     884     274,   257,   114,   258,   372,   115,    -1,   274,   259,    -1,
     885     258,   116,   274,   259,    -1,    -1,   131,   164,    -1,    -1,
     886     261,    -1,   263,    -1,   262,    -1,   262,   135,   116,   134,
     887     263,    -1,   263,   135,   116,   134,    96,    -1,   262,   135,
     888     116,   134,    96,    -1,   267,    -1,   263,   135,   116,   134,
     889     267,    -1,   262,   135,   116,   134,   267,    -1,   262,   135,
     890     116,   134,   263,   135,   116,   134,   267,    -1,   268,    -1,
     891     263,   135,   116,   134,   268,    -1,    -1,   265,    -1,   266,
     892      -1,   266,   135,   116,   134,    96,    -1,   270,    -1,   269,
     893      -1,   266,   135,   116,   134,   270,    -1,   266,   135,   116,
     894     134,   269,    -1,   269,    -1,   362,   272,   373,    -1,   370,
     895     272,   373,    -1,   228,   370,   272,   373,    -1,   218,    -1,
     896     270,    -1,   362,    -1,   370,    -1,   228,   370,    -1,   371,
     897      -1,   225,   336,   373,    -1,   225,   340,   373,    -1,   225,
     898      -1,   225,   351,    -1,   139,    -1,   271,   116,   139,    -1,
     899     137,    -1,    74,    -1,    75,    -1,   138,    -1,    74,    -1,
     900      75,    -1,   139,    -1,    74,    -1,    75,    -1,   366,    -1,
     901     226,    -1,   226,   357,    -1,   366,    -1,   371,    -1,   226,
     902      -1,   226,   345,    -1,    -1,   131,   278,    -1,   107,   278,
     903      -1,   165,    -1,   114,   279,   372,   115,    -1,    -1,   278,
     904      -1,   280,   278,    -1,   279,   116,   278,    -1,   279,   116,
     905     280,   278,    -1,   281,   130,    -1,   274,   130,    -1,   282,
     906      -1,   281,   282,    -1,   113,   274,    -1,   111,   134,   165,
     907     135,   112,    -1,   111,   134,   310,   135,   112,    -1,   111,
     908     134,   164,    96,   164,   135,   112,    -1,   113,   111,   134,
     909     147,   135,   112,    -1,   284,    -1,   232,   284,    -1,   283,
     910     234,    -1,   283,   234,   228,    -1,   285,    -1,   228,   285,
     911      -1,   284,   229,    -1,    75,   109,   292,   110,    -1,   287,
     912     373,    -1,   286,   116,   287,   373,    -1,    -1,   289,   274,
     913     288,   290,    -1,   226,   336,    -1,    33,    -1,    35,    -1,
     914      34,    -1,    -1,   290,   291,    -1,   128,   274,   109,   292,
     915     110,    -1,   128,   114,   134,   298,   115,    -1,   128,   109,
     916     134,   286,   135,   110,   114,   134,   298,   115,   109,   292,
     917     110,    -1,   276,    -1,   165,    -1,   292,   116,   276,    -1,
     918     292,   116,   165,    -1,    33,   294,    -1,   233,    33,   294,
     919      -1,   293,   116,   294,    -1,   295,   290,    -1,   295,   290,
     920     131,   276,    -1,   274,    -1,   273,   109,   134,   286,   135,
     921     110,    -1,    36,   274,   109,   134,   286,   135,   110,   114,
     922     115,    -1,    -1,    36,   274,   109,   134,   286,   135,   110,
     923     114,   297,   298,   115,    -1,   299,    -1,   298,   134,   299,
     924      -1,   300,   135,   132,    -1,   301,   135,   132,    -1,   216,
     925      -1,   218,    -1,   300,   135,   116,   134,   272,    -1,   226,
     926     309,    -1,   301,   135,   116,   134,   309,    -1,    -1,   303,
     927      -1,   305,    -1,   303,   134,   305,    -1,    -1,   303,    -1,
     928     213,    -1,   307,    -1,   199,    -1,    -1,     5,    82,   306,
     929     114,   304,   115,    -1,    40,   305,    -1,   308,    -1,   323,
     930     174,    -1,   327,   134,   208,   174,    -1,   217,   174,    -1,
     931     225,   323,   174,    -1,   228,   323,   174,    -1,   232,   323,
     932     174,    -1,   232,   228,   323,   174,    -1,   225,   327,   134,
     933     208,   174,    -1,   228,   327,   134,   208,   174,    -1,   232,
     934     327,   134,   208,   174,    -1,   232,   228,   327,   134,   208,
     935     174,    -1,   318,    -1,   331,    -1,   323,    -1,   164,   122,
     936     164,    -1,    -1,    64,   109,   142,   110,   312,    -1,    -1,
     937     313,    -1,   314,    -1,   313,   314,    -1,    39,   109,   109,
     938     315,   110,   110,    -1,   316,    -1,   315,   116,   316,    -1,
     939      -1,   317,    -1,   317,   109,   171,   110,    -1,   272,    -1,
     940     234,    -1,   235,    -1,   229,    -1,   319,   312,    -1,   320,
     941      -1,   321,   312,    -1,   322,   312,    -1,   137,    -1,   109,
     942     319,   110,    -1,   150,   318,    -1,   150,   228,   318,    -1,
     943     109,   320,   110,    -1,   319,   349,    -1,   109,   320,   110,
     944     349,    -1,   109,   321,   110,   350,    -1,   109,   321,   110,
     945      -1,   109,   320,   110,   109,   134,   264,   135,   110,    -1,
     946     109,   322,   110,    -1,   324,   312,    -1,   325,    -1,   326,
     947     312,    -1,   319,   109,   134,   264,   135,   110,    -1,   109,
     948     325,   110,   109,   134,   264,   135,   110,    -1,   109,   324,
     949     110,    -1,   150,   323,    -1,   150,   228,   323,    -1,   109,
     950     325,   110,    -1,   109,   325,   110,   349,    -1,   109,   326,
     951     110,   350,    -1,   109,   326,   110,    -1,   328,    -1,   329,
     952      -1,   330,    -1,   319,   109,   271,   110,    -1,   109,   329,
     953     110,   109,   271,   110,    -1,   109,   328,   110,    -1,   150,
     954     327,    -1,   150,   228,   327,    -1,   109,   329,   110,    -1,
     955     109,   329,   110,   349,    -1,   109,   330,   110,   350,    -1,
     956     109,   330,   110,    -1,   332,   312,    -1,   333,    -1,   334,
     957     312,    -1,   335,   312,    -1,   341,    -1,   109,   332,   110,
     958      -1,   150,   331,    -1,   150,   228,   331,    -1,   109,   333,
     959     110,    -1,   332,   349,    -1,   109,   333,   110,   349,    -1,
     960     109,   334,   110,   350,    -1,   109,   334,   110,    -1,   332,
     961     109,   134,   264,   135,   110,    -1,   109,   333,   110,   109,
     962     134,   264,   135,   110,    -1,   109,   335,   110,    -1,   319,
     963     312,    -1,   337,    -1,   338,   312,    -1,   339,   312,    -1,
     964     150,   336,    -1,   150,   228,   336,    -1,   109,   337,   110,
     965      -1,   319,   355,    -1,   109,   337,   110,   349,    -1,   109,
     966     338,   110,   350,    -1,   109,   338,   110,    -1,   319,   109,
     967     134,   264,   135,   110,    -1,   109,   337,   110,   109,   134,
     968     264,   135,   110,    -1,   109,   339,   110,    -1,   341,   312,
     969      -1,   342,    -1,   343,   312,    -1,   344,   312,    -1,    74,
     970      -1,    75,    -1,   150,   340,    -1,   150,   228,   340,    -1,
     971     109,   342,   110,    -1,   341,   355,    -1,   109,   342,   110,
     972     355,    -1,   341,   109,   134,   264,   135,   110,    -1,   109,
     973     342,   110,   109,   134,   264,   135,   110,    -1,   346,    -1,
     974     347,   312,    -1,   348,   312,    -1,   150,    -1,   150,   228,
     975      -1,   150,   345,    -1,   150,   228,   345,    -1,   109,   346,
     976     110,    -1,   349,    -1,   109,   346,   110,   349,    -1,   109,
     977     347,   110,   350,    -1,   109,   347,   110,    -1,   109,   134,
     978     264,   135,   110,    -1,   109,   346,   110,   109,   134,   264,
     979     135,   110,    -1,   109,   348,   110,    -1,   111,   112,    -1,
     980     111,   112,   350,    -1,   350,    -1,   111,   134,   165,   135,
     981     112,    -1,   111,   134,   117,   135,   112,    -1,   350,   111,
     982     134,   165,   135,   112,    -1,   350,   111,   134,   117,   135,
     983     112,    -1,   352,    -1,   353,   312,    -1,   354,   312,    -1,
     984     150,    -1,   150,   228,    -1,   150,   351,    -1,   150,   228,
     985     351,    -1,   109,   352,   110,    -1,   355,    -1,   109,   352,
     986     110,   355,    -1,   109,   353,   110,   350,    -1,   109,   353,
     987     110,    -1,   109,   134,   264,   135,   110,    -1,   109,   352,
     988     110,   109,   134,   264,   135,   110,    -1,   109,   354,   110,
     989      -1,   356,    -1,   356,   350,    -1,   350,    -1,   111,   112,
     990      -1,   111,   134,   228,   117,   135,   112,    -1,   111,   134,
     991     228,   135,   112,    -1,   111,   134,   228,   165,   135,   112,
     992      -1,   111,   134,     7,   227,   165,   135,   112,    -1,   111,
     993     134,   228,     7,   165,   135,   112,    -1,   358,    -1,   359,
     994     312,    -1,   360,   312,    -1,   150,    -1,   150,   228,    -1,
     995     150,   357,    -1,   150,   228,   357,    -1,   109,   358,   110,
     996      -1,   349,    -1,   109,   358,   110,   349,    -1,   109,   359,
     997     110,   350,    -1,   109,   359,   110,    -1,   109,   358,   110,
     998     109,   134,   264,   135,   110,    -1,   109,   360,   110,    -1,
     999     362,    -1,   370,    -1,   228,   370,    -1,   363,    -1,   364,
     1000      -1,   150,   226,    -1,   228,   150,   226,    -1,   150,   371,
     1001      -1,   228,   150,   371,    -1,   150,   361,    -1,   228,   150,
     1002     361,    -1,   111,   112,   226,    -1,   365,   226,    -1,   111,
     1003     112,   350,   226,    -1,   365,   350,   226,    -1,   350,   226,
     1004      -1,   111,   112,   363,    -1,   365,   363,    -1,   111,   112,
     1005     350,   363,    -1,   365,   350,   363,    -1,   350,   363,    -1,
     1006     111,   134,   228,   117,   135,   112,    -1,   111,   134,   228,
     1007     165,   135,   112,    -1,   111,   134,   232,   165,   135,   112,
     1008      -1,   111,   134,   232,   228,   165,   135,   112,    -1,   370,
     1009      -1,   228,   370,    -1,   367,    -1,   368,    -1,   369,    -1,
     1010     150,   226,    -1,   228,   150,   226,    -1,   150,   371,    -1,
     1011     228,   150,   371,    -1,   150,   366,    -1,   228,   150,   366,
     1012      -1,   111,   112,   226,    -1,   111,   112,   350,   226,    -1,
     1013     350,   226,    -1,   111,   112,   368,    -1,   111,   112,   350,
     1014     368,    -1,   350,   368,    -1,   111,   134,   263,   135,   112,
     1015      -1,   111,   112,   109,   260,   110,    -1,   370,   109,   134,
     1016     260,   135,   110,    -1,   219,   109,   134,   260,   135,   110,
     1017      -1,    -1,   116,    -1,    -1,   131,   165,    -1
    10181018};
    10191019
     
    10321032     555,   556,   561,   562,   567,   568,   573,   574,   579,   580,
    10331033     583,   585,   590,   595,   596,   598,   604,   605,   609,   610,
    1034      611,   612,   613,   614,   615,   616,   617,   618,   619,   625,
    1035      627,   629,   631,   636,   637,   642,   643,   649,   650,   656,
    1036      657,   658,   659,   660,   661,   662,   663,   664,   674,   681,
    1037      683,   693,   694,   699,   701,   707,   709,   713,   714,   719,
    1038      724,   727,   729,   731,   741,   743,   754,   755,   757,   761,
    1039      763,   767,   768,   773,   774,   778,   783,   784,   788,   790,
    1040      796,   797,   801,   803,   805,   807,   813,   814,   818,   820,
    1041      825,   827,   829,   834,   836,   841,   843,   847,   850,   854,
    1042      857,   861,   863,   865,   867,   872,   874,   876,   881,   883,
    1043      885,   887,   889,   894,   896,   898,   900,   905,   917,   918,
    1044      923,   925,   930,   934,   936,   938,   940,   942,   948,   949,
    1045      955,   956,   960,   961,   966,   968,   974,   975,   977,   982,
    1046      987,   997,   999,  1003,  1004,  1009,  1011,  1015,  1016,  1020,
    1047     1022,  1026,  1027,  1031,  1032,  1036,  1037,  1052,  1053,  1054,
    1048     1055,  1056,  1060,  1065,  1072,  1082,  1087,  1092,  1100,  1105,
    1049     1110,  1115,  1120,  1128,  1150,  1155,  1162,  1164,  1171,  1176,
    1050     1181,  1192,  1197,  1202,  1207,  1212,  1221,  1226,  1234,  1235,
    1051     1236,  1237,  1243,  1248,  1256,  1257,  1258,  1259,  1263,  1264,
    1052     1265,  1266,  1271,  1272,  1281,  1282,  1287,  1288,  1293,  1295,
    1053     1297,  1299,  1301,  1304,  1303,  1315,  1316,  1318,  1328,  1329,
    1054     1334,  1336,  1338,  1340,  1342,  1345,  1347,  1350,  1355,  1357,
    1055     1359,  1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,
    1056     1379,  1385,  1386,  1388,  1390,  1392,  1397,  1398,  1404,  1405,
    1057     1407,  1409,  1414,  1416,  1418,  1420,  1425,  1426,  1428,  1430,
    1058     1435,  1436,  1438,  1443,  1444,  1446,  1448,  1453,  1455,  1457,
    1059     1462,  1463,  1467,  1469,  1475,  1474,  1478,  1480,  1485,  1487,
    1060     1493,  1494,  1499,  1500,  1502,  1503,  1512,  1513,  1515,  1517,
    1061     1522,  1524,  1530,  1531,  1533,  1536,  1539,  1544,  1545,  1550,
    1062     1555,  1559,  1561,  1567,  1566,  1573,  1575,  1581,  1582,  1590,
    1063     1591,  1595,  1596,  1597,  1599,  1601,  1608,  1609,  1611,  1613,
    1064     1618,  1619,  1625,  1626,  1630,  1631,  1636,  1637,  1638,  1640,
    1065     1648,  1649,  1651,  1654,  1656,  1660,  1661,  1662,  1664,  1666,
    1066     1670,  1675,  1683,  1684,  1693,  1695,  1700,  1701,  1702,  1706,
    1067     1707,  1708,  1712,  1713,  1714,  1718,  1719,  1720,  1725,  1726,
    1068     1727,  1728,  1734,  1735,  1737,  1742,  1743,  1748,  1749,  1750,
    1069     1751,  1752,  1767,  1768,  1773,  1774,  1780,  1782,  1785,  1787,
    1070     1789,  1812,  1813,  1815,  1817,  1822,  1823,  1825,  1830,  1835,
    1071     1836,  1842,  1841,  1845,  1849,  1851,  1853,  1859,  1860,  1865,
    1072     1870,  1872,  1877,  1879,  1880,  1882,  1887,  1889,  1891,  1896,
    1073     1898,  1903,  1908,  1916,  1922,  1921,  1935,  1936,  1941,  1942,
    1074     1946,  1951,  1956,  1964,  1969,  1980,  1981,  1986,  1987,  1993,
    1075     1994,  1998,  1999,  2000,  2003,  2002,  2013,  2022,  2028,  2034,
    1076     2043,  2049,  2055,  2061,  2067,  2075,  2081,  2089,  2095,  2104,
    1077     2105,  2106,  2110,  2114,  2116,  2121,  2122,  2126,  2127,  2132,
    1078     2138,  2139,  2142,  2144,  2145,  2149,  2150,  2151,  2152,  2186,
    1079     2188,  2189,  2191,  2196,  2201,  2206,  2208,  2210,  2215,  2217,
    1080     2219,  2221,  2226,  2228,  2237,  2239,  2240,  2245,  2247,  2249,
    1081     2254,  2256,  2258,  2263,  2265,  2267,  2276,  2277,  2278,  2282,
    1082     2284,  2286,  2291,  2293,  2295,  2300,  2302,  2304,  2319,  2321,
    1083     2322,  2324,  2329,  2330,  2335,  2337,  2339,  2344,  2346,  2348,
    1084     2350,  2355,  2357,  2359,  2369,  2371,  2372,  2374,  2379,  2381,
    1085     2383,  2388,  2390,  2392,  2394,  2399,  2401,  2403,  2434,  2436,
    1086     2437,  2439,  2444,  2449,  2457,  2459,  2461,  2466,  2468,  2473,
    1087     2475,  2489,  2490,  2492,  2497,  2499,  2501,  2503,  2505,  2510,
    1088     2511,  2513,  2515,  2520,  2522,  2524,  2530,  2532,  2534,  2538,
    1089     2540,  2542,  2544,  2558,  2559,  2561,  2566,  2568,  2570,  2572,
    1090     2574,  2579,  2580,  2582,  2584,  2589,  2591,  2593,  2599,  2600,
    1091     2602,  2611,  2614,  2616,  2619,  2621,  2623,  2636,  2637,  2639,
    1092     2644,  2646,  2648,  2650,  2652,  2657,  2658,  2660,  2662,  2667,
    1093     2669,  2677,  2678,  2679,  2684,  2685,  2689,  2691,  2693,  2695,
    1094     2697,  2699,  2706,  2708,  2710,  2712,  2714,  2716,  2718,  2720,
    1095     2722,  2724,  2729,  2731,  2733,  2738,  2764,  2765,  2767,  2771,
    1096     2772,  2776,  2778,  2780,  2782,  2784,  2786,  2793,  2795,  2797,
    1097     2799,  2801,  2803,  2808,  2813,  2815,  2817,  2835,  2837,  2842,
    1098     2843
     1034     611,   612,   613,   614,   615,   616,   617,   618,   619,   620,
     1035     626,   628,   630,   632,   637,   638,   643,   644,   650,   651,
     1036     657,   658,   659,   660,   661,   662,   663,   664,   665,   675,
     1037     682,   684,   694,   695,   700,   702,   708,   710,   714,   715,
     1038     720,   725,   728,   730,   732,   742,   744,   755,   756,   758,
     1039     762,   764,   768,   769,   774,   775,   779,   784,   785,   789,
     1040     791,   797,   798,   802,   804,   806,   808,   814,   815,   819,
     1041     821,   826,   828,   830,   835,   837,   842,   844,   848,   851,
     1042     855,   858,   862,   864,   866,   868,   873,   875,   877,   882,
     1043     884,   886,   888,   890,   895,   897,   899,   901,   906,   918,
     1044     919,   924,   926,   931,   935,   937,   939,   941,   943,   949,
     1045     950,   956,   957,   961,   962,   967,   969,   975,   976,   978,
     1046     983,   988,   998,  1000,  1004,  1005,  1010,  1012,  1016,  1017,
     1047    1021,  1023,  1027,  1028,  1032,  1033,  1037,  1038,  1053,  1054,
     1048    1055,  1056,  1057,  1061,  1066,  1073,  1083,  1088,  1093,  1101,
     1049    1106,  1111,  1116,  1121,  1129,  1151,  1156,  1163,  1165,  1172,
     1050    1177,  1182,  1193,  1198,  1203,  1208,  1213,  1222,  1227,  1235,
     1051    1236,  1237,  1238,  1244,  1249,  1257,  1258,  1259,  1260,  1264,
     1052    1265,  1266,  1267,  1272,  1273,  1282,  1283,  1288,  1289,  1294,
     1053    1296,  1298,  1300,  1302,  1305,  1304,  1316,  1317,  1319,  1329,
     1054    1330,  1335,  1337,  1339,  1341,  1343,  1346,  1348,  1351,  1356,
     1055    1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1376,
     1056    1378,  1380,  1386,  1387,  1389,  1391,  1393,  1398,  1399,  1405,
     1057    1406,  1408,  1410,  1415,  1417,  1419,  1421,  1426,  1427,  1429,
     1058    1431,  1436,  1437,  1439,  1444,  1445,  1447,  1449,  1454,  1456,
     1059    1458,  1463,  1464,  1468,  1470,  1476,  1475,  1479,  1481,  1486,
     1060    1488,  1494,  1495,  1500,  1501,  1503,  1504,  1513,  1514,  1516,
     1061    1518,  1523,  1525,  1531,  1532,  1534,  1537,  1540,  1545,  1546,
     1062    1551,  1556,  1560,  1562,  1568,  1567,  1574,  1576,  1582,  1583,
     1063    1591,  1592,  1596,  1597,  1598,  1600,  1602,  1609,  1610,  1612,
     1064    1614,  1619,  1620,  1626,  1627,  1631,  1632,  1637,  1638,  1639,
     1065    1641,  1649,  1650,  1652,  1655,  1657,  1661,  1662,  1663,  1665,
     1066    1667,  1671,  1676,  1684,  1685,  1694,  1696,  1701,  1702,  1703,
     1067    1707,  1708,  1709,  1713,  1714,  1715,  1719,  1720,  1721,  1726,
     1068    1727,  1728,  1729,  1735,  1736,  1738,  1743,  1744,  1749,  1750,
     1069    1751,  1752,  1753,  1768,  1769,  1774,  1775,  1781,  1783,  1786,
     1070    1788,  1790,  1813,  1814,  1816,  1818,  1823,  1824,  1826,  1831,
     1071    1836,  1837,  1843,  1842,  1846,  1850,  1852,  1854,  1860,  1861,
     1072    1866,  1871,  1873,  1878,  1880,  1881,  1883,  1888,  1890,  1892,
     1073    1897,  1899,  1904,  1909,  1917,  1923,  1922,  1936,  1937,  1942,
     1074    1943,  1947,  1952,  1957,  1965,  1970,  1981,  1982,  1987,  1988,
     1075    1994,  1995,  1999,  2000,  2001,  2004,  2003,  2014,  2023,  2029,
     1076    2035,  2044,  2050,  2056,  2062,  2068,  2076,  2082,  2090,  2096,
     1077    2105,  2106,  2107,  2111,  2115,  2117,  2122,  2123,  2127,  2128,
     1078    2133,  2139,  2140,  2143,  2145,  2146,  2150,  2151,  2152,  2153,
     1079    2187,  2189,  2190,  2192,  2197,  2202,  2207,  2209,  2211,  2216,
     1080    2218,  2220,  2222,  2227,  2229,  2238,  2240,  2241,  2246,  2248,
     1081    2250,  2255,  2257,  2259,  2264,  2266,  2268,  2277,  2278,  2279,
     1082    2283,  2285,  2287,  2292,  2294,  2296,  2301,  2303,  2305,  2320,
     1083    2322,  2323,  2325,  2330,  2331,  2336,  2338,  2340,  2345,  2347,
     1084    2349,  2351,  2356,  2358,  2360,  2370,  2372,  2373,  2375,  2380,
     1085    2382,  2384,  2389,  2391,  2393,  2395,  2400,  2402,  2404,  2435,
     1086    2437,  2438,  2440,  2445,  2450,  2458,  2460,  2462,  2467,  2469,
     1087    2474,  2476,  2490,  2491,  2493,  2498,  2500,  2502,  2504,  2506,
     1088    2511,  2512,  2514,  2516,  2521,  2523,  2525,  2531,  2533,  2535,
     1089    2539,  2541,  2543,  2545,  2559,  2560,  2562,  2567,  2569,  2571,
     1090    2573,  2575,  2580,  2581,  2583,  2585,  2590,  2592,  2594,  2600,
     1091    2601,  2603,  2612,  2615,  2617,  2620,  2622,  2624,  2637,  2638,
     1092    2640,  2645,  2647,  2649,  2651,  2653,  2658,  2659,  2661,  2663,
     1093    2668,  2670,  2678,  2679,  2680,  2685,  2686,  2690,  2692,  2694,
     1094    2696,  2698,  2700,  2707,  2709,  2711,  2713,  2715,  2717,  2719,
     1095    2721,  2723,  2725,  2730,  2732,  2734,  2739,  2765,  2766,  2768,
     1096    2772,  2773,  2777,  2779,  2781,  2783,  2785,  2787,  2794,  2796,
     1097    2798,  2800,  2802,  2804,  2809,  2814,  2816,  2818,  2836,  2838,
     1098    2843,  2844
    10991099};
    11001100#endif
     
    12491249     159,   159,   160,   160,   161,   161,   162,   162,   163,   163,
    12501250     163,   163,   164,   165,   165,   165,   166,   166,   167,   167,
    1251      167,   167,   167,   167,   167,   167,   167,   167,   167,   168,
    1252      168,   168,   168,   169,   169,   170,   170,   171,   171,   172,
    1253      172,   172,   172,   172,   172,   172,   172,   172,   173,   174,
    1254      174,   175,   175,   176,   176,   176,   176,   177,   177,   178,
    1255      179,   179,   179,   179,   179,   179,   180,   180,   180,   181,
    1256      181,   182,   182,   183,   183,   184,   185,   185,   186,   186,
    1257      187,   187,   188,   188,   188,   188,   189,   189,   190,   190,
    1258      191,   191,   191,   192,   192,   193,   193,   193,   193,   193,
    1259      193,   193,   193,   193,   193,   194,   194,   194,   195,   195,
    1260      195,   195,   195,   196,   196,   196,   196,   197,   198,   198,
    1261      198,   198,   198,   199,   199,   199,   199,   199,   200,   200,
    1262      201,   201,   202,   202,   203,   203,   204,   204,   204,   205,
    1263      205,   206,   206,   207,   207,   208,   208,   209,   209,   210,
    1264      210,   211,   211,   212,   212,   213,   213,   214,   214,   214,
    1265      214,   214,   215,   215,   215,   216,   216,   216,   217,   217,
    1266      217,   217,   217,   218,   218,   218,   219,   219,   220,   220,
    1267      220,   221,   221,   221,   221,   221,   222,   222,   223,   223,
    1268      223,   223,   224,   224,   225,   225,   225,   225,   226,   226,
    1269      226,   226,   227,   227,   228,   228,   229,   229,   230,   230,
    1270      230,   230,   230,   231,   230,   232,   232,   232,   233,   233,
    1271      234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
     1251     167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
     1252     168,   168,   168,   168,   169,   169,   170,   170,   171,   171,
     1253     172,   172,   172,   172,   172,   172,   172,   172,   172,   173,
     1254     174,   174,   175,   175,   176,   176,   176,   176,   177,   177,
     1255     178,   179,   179,   179,   179,   179,   179,   180,   180,   180,
     1256     181,   181,   182,   182,   183,   183,   184,   185,   185,   186,
     1257     186,   187,   187,   188,   188,   188,   188,   189,   189,   190,
     1258     190,   191,   191,   191,   192,   192,   193,   193,   193,   193,
     1259     193,   193,   193,   193,   193,   193,   194,   194,   194,   195,
     1260     195,   195,   195,   195,   196,   196,   196,   196,   197,   198,
     1261     198,   198,   198,   198,   199,   199,   199,   199,   199,   200,
     1262     200,   201,   201,   202,   202,   203,   203,   204,   204,   204,
     1263     205,   205,   206,   206,   207,   207,   208,   208,   209,   209,
     1264     210,   210,   211,   211,   212,   212,   213,   213,   214,   214,
     1265     214,   214,   214,   215,   215,   215,   216,   216,   216,   217,
     1266     217,   217,   217,   217,   218,   218,   218,   219,   219,   220,
     1267     220,   220,   221,   221,   221,   221,   221,   222,   222,   223,
     1268     223,   223,   223,   224,   224,   225,   225,   225,   225,   226,
     1269     226,   226,   226,   227,   227,   228,   228,   229,   229,   230,
     1270     230,   230,   230,   230,   231,   230,   232,   232,   232,   233,
     1271     233,   234,   234,   234,   234,   234,   234,   234,   234,   235,
    12721272     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
    1273      235,   236,   236,   236,   236,   236,   237,   237,   238,   238,
    1274      238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
    1275      241,   241,   241,   242,   242,   242,   242,   243,   243,   243,
    1276      244,   244,   245,   245,   246,   245,   245,   245,   247,   247,
    1277      248,   248,   249,   249,   249,   249,   250,   250,   250,   250,
    1278      251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
    1279      255,   256,   256,   257,   256,   258,   258,   259,   259,   260,
    1280      260,   261,   261,   261,   261,   261,   262,   262,   262,   262,
    1281      263,   263,   264,   264,   265,   265,   266,   266,   266,   266,
    1282      267,   267,   267,   267,   267,   268,   268,   268,   268,   268,
    1283      269,   269,   270,   270,   271,   271,   272,   272,   272,   273,
    1284      273,   273,   274,   274,   274,   275,   275,   275,   276,   276,
    1285      276,   276,   277,   277,   277,   278,   278,   279,   279,   279,
    1286      279,   279,   280,   280,   281,   281,   282,   282,   282,   282,
    1287      282,   283,   283,   283,   283,   284,   284,   284,   285,   286,
    1288      286,   288,   287,   287,   289,   289,   289,   290,   290,   291,
    1289      291,   291,   292,   292,   292,   292,   293,   293,   293,   294,
    1290      294,   295,   295,   296,   297,   296,   298,   298,   299,   299,
    1291      300,   300,   300,   301,   301,   302,   302,   303,   303,   304,
    1292      304,   305,   305,   305,   306,   305,   305,   307,   307,   307,
    1293      308,   308,   308,   308,   308,   308,   308,   308,   308,   309,
    1294      309,   309,   310,   311,   311,   312,   312,   313,   313,   314,
    1295      315,   315,   316,   316,   316,   317,   317,   317,   317,   318,
    1296      318,   318,   318,   319,   319,   320,   320,   320,   321,   321,
    1297      321,   321,   322,   322,   323,   323,   323,   324,   324,   324,
    1298      325,   325,   325,   326,   326,   326,   327,   327,   327,   328,
    1299      328,   328,   329,   329,   329,   330,   330,   330,   331,   331,
    1300      331,   331,   332,   332,   333,   333,   333,   334,   334,   334,
    1301      334,   335,   335,   335,   336,   336,   336,   336,   337,   337,
    1302      337,   338,   338,   338,   338,   339,   339,   339,   340,   340,
    1303      340,   340,   341,   341,   342,   342,   342,   343,   343,   344,
    1304      344,   345,   345,   345,   346,   346,   346,   346,   346,   347,
    1305      347,   347,   347,   348,   348,   348,   349,   349,   349,   350,
    1306      350,   350,   350,   351,   351,   351,   352,   352,   352,   352,
    1307      352,   353,   353,   353,   353,   354,   354,   354,   355,   355,
    1308      355,   356,   356,   356,   356,   356,   356,   357,   357,   357,
    1309      358,   358,   358,   358,   358,   359,   359,   359,   359,   360,
    1310      360,   361,   361,   361,   362,   362,   363,   363,   363,   363,
    1311      363,   363,   364,   364,   364,   364,   364,   364,   364,   364,
    1312      364,   364,   365,   365,   365,   365,   366,   366,   366,   367,
    1313      367,   368,   368,   368,   368,   368,   368,   369,   369,   369,
    1314      369,   369,   369,   370,   371,   371,   371,   372,   372,   373,
    1315      373
     1273     235,   235,   236,   236,   236,   236,   236,   237,   237,   238,
     1274     238,   238,   238,   239,   239,   239,   239,   240,   240,   240,
     1275     240,   241,   241,   241,   242,   242,   242,   242,   243,   243,
     1276     243,   244,   244,   245,   245,   246,   245,   245,   245,   247,
     1277     247,   248,   248,   249,   249,   249,   249,   250,   250,   250,
     1278     250,   251,   251,   252,   252,   252,   252,   252,   253,   253,
     1279     254,   255,   256,   256,   257,   256,   258,   258,   259,   259,
     1280     260,   260,   261,   261,   261,   261,   261,   262,   262,   262,
     1281     262,   263,   263,   264,   264,   265,   265,   266,   266,   266,
     1282     266,   267,   267,   267,   267,   267,   268,   268,   268,   268,
     1283     268,   269,   269,   270,   270,   271,   271,   272,   272,   272,
     1284     273,   273,   273,   274,   274,   274,   275,   275,   275,   276,
     1285     276,   276,   276,   277,   277,   277,   278,   278,   279,   279,
     1286     279,   279,   279,   280,   280,   281,   281,   282,   282,   282,
     1287     282,   282,   283,   283,   283,   283,   284,   284,   284,   285,
     1288     286,   286,   288,   287,   287,   289,   289,   289,   290,   290,
     1289     291,   291,   291,   292,   292,   292,   292,   293,   293,   293,
     1290     294,   294,   295,   295,   296,   297,   296,   298,   298,   299,
     1291     299,   300,   300,   300,   301,   301,   302,   302,   303,   303,
     1292     304,   304,   305,   305,   305,   306,   305,   305,   307,   307,
     1293     307,   308,   308,   308,   308,   308,   308,   308,   308,   308,
     1294     309,   309,   309,   310,   311,   311,   312,   312,   313,   313,
     1295     314,   315,   315,   316,   316,   316,   317,   317,   317,   317,
     1296     318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
     1297     321,   321,   321,   322,   322,   323,   323,   323,   324,   324,
     1298     324,   325,   325,   325,   326,   326,   326,   327,   327,   327,
     1299     328,   328,   328,   329,   329,   329,   330,   330,   330,   331,
     1300     331,   331,   331,   332,   332,   333,   333,   333,   334,   334,
     1301     334,   334,   335,   335,   335,   336,   336,   336,   336,   337,
     1302     337,   337,   338,   338,   338,   338,   339,   339,   339,   340,
     1303     340,   340,   340,   341,   341,   342,   342,   342,   343,   343,
     1304     344,   344,   345,   345,   345,   346,   346,   346,   346,   346,
     1305     347,   347,   347,   347,   348,   348,   348,   349,   349,   349,
     1306     350,   350,   350,   350,   351,   351,   351,   352,   352,   352,
     1307     352,   352,   353,   353,   353,   353,   354,   354,   354,   355,
     1308     355,   355,   356,   356,   356,   356,   356,   356,   357,   357,
     1309     357,   358,   358,   358,   358,   358,   359,   359,   359,   359,
     1310     360,   360,   361,   361,   361,   362,   362,   363,   363,   363,
     1311     363,   363,   363,   364,   364,   364,   364,   364,   364,   364,
     1312     364,   364,   364,   365,   365,   365,   365,   366,   366,   366,
     1313     367,   367,   368,   368,   368,   368,   368,   368,   369,   369,
     1314     369,   369,   369,   369,   370,   371,   371,   371,   372,   372,
     1315     373,   373
    13161316};
    13171317
     
    13301330       1,     3,     1,     3,     1,     3,     1,     3,     1,     5,
    13311331       4,     5,     1,     1,     3,     2,     0,     1,     1,     1,
    1332        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
    1333        5,     6,     7,     1,     3,     1,     3,     0,     1,     1,
    1334        1,     1,     1,     1,     1,     1,     1,     6,     4,     2,
    1335        7,     1,     3,     1,     2,     1,     2,     1,     2,     2,
    1336        5,     7,     5,     9,     5,     9,     1,     3,     1,     1,
    1337        3,     3,     2,     1,     2,     2,     0,     1,     2,     3,
    1338        0,     1,     2,     3,     3,     4,     0,     1,     1,     2,
    1339        5,     7,     6,     6,     4,     3,     4,     2,     3,     2,
    1340        3,     3,     3,     3,     5,     3,     3,     4,     1,     5,
    1341        6,     5,     6,     9,    10,     9,    10,     2,     1,     2,
    1342        2,     2,     1,     6,     8,    10,    12,    14,     0,     1,
    1343        0,     1,     1,     3,     4,     7,     0,     1,     3,     1,
    1344        3,     1,     1,     1,     3,     1,     1,     1,     3,     0,
    1345        1,     3,     4,     1,     3,     1,     1,     3,     3,     3,
    1346        3,     3,     2,     3,     6,     3,     3,     4,     1,     2,
    1347        2,     3,     5,     8,     7,     7,     5,     9,     2,     2,
    1348        5,     3,     5,     4,     3,     4,     4,     7,     3,     3,
    1349        3,     3,     4,     6,     1,     1,     1,     1,     1,     1,
    1350        1,     1,     0,     1,     1,     2,     1,     1,     1,     1,
    1351        1,     1,     1,     0,     5,     1,     2,     3,     1,     2,
    13521332       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1333       2,     5,     6,     7,     1,     3,     1,     3,     0,     1,
     1334       1,     1,     1,     1,     1,     1,     1,     1,     6,     4,
     1335       2,     7,     1,     3,     1,     2,     1,     2,     1,     2,
     1336       2,     5,     7,     5,     9,     5,     9,     1,     3,     1,
     1337       1,     3,     3,     2,     1,     2,     2,     0,     1,     2,
     1338       3,     0,     1,     2,     3,     3,     4,     0,     1,     1,
     1339       2,     5,     7,     6,     6,     4,     3,     4,     2,     3,
     1340       2,     3,     3,     3,     3,     5,     3,     3,     4,     1,
     1341       5,     6,     5,     6,     9,    10,     9,    10,     2,     1,
     1342       2,     2,     2,     1,     6,     8,    10,    12,    14,     0,
     1343       1,     0,     1,     1,     3,     4,     7,     0,     1,     3,
     1344       1,     3,     1,     1,     1,     3,     1,     1,     1,     3,
     1345       0,     1,     3,     4,     1,     3,     1,     1,     3,     3,
     1346       3,     3,     3,     2,     3,     6,     3,     3,     4,     1,
     1347       2,     2,     3,     5,     8,     7,     7,     5,     9,     2,
     1348       2,     5,     3,     5,     4,     3,     4,     4,     7,     3,
     1349       3,     3,     3,     4,     6,     1,     1,     1,     1,     1,
     1350       1,     1,     1,     0,     1,     1,     2,     1,     1,     1,
     1351       1,     1,     1,     1,     0,     5,     1,     2,     3,     1,
     1352       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    13531353       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1354        1,     1,     2,     2,     3,     3,     1,     3,     1,     2,
    1355        2,     2,     4,     4,     4,     4,     1,     2,     2,     3,
    1356        1,     2,     2,     1,     2,     2,     3,     1,     2,     2,
    1357        1,     1,     4,     2,     0,     6,     7,     2,     2,     2,
    1358        0,     2,     2,     3,     2,     3,     1,     2,     3,     2,
    1359        2,     4,     0,     1,     2,     2,     1,     0,     1,     2,
    1360        2,     5,     2,     0,     7,     2,     4,     0,     2,     0,
    1361        1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
    1362        1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
    1363        1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
    1364        3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
    1365        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
    1366        1,     2,     0,     2,     2,     1,     4,     0,     1,     2,
    1367        3,     4,     2,     2,     1,     2,     2,     5,     5,     7,
    1368        6,     1,     2,     2,     3,     1,     2,     2,     4,     2,
    1369        4,     0,     4,     2,     1,     1,     1,     0,     2,     5,
    1370        5,    13,     1,     1,     3,     3,     2,     3,     3,     2,
    1371        4,     1,     6,     9,     0,    11,     1,     3,     3,     3,
    1372        1,     1,     5,     2,     5,     0,     1,     1,     3,     0,
    1373        1,     1,     1,     1,     0,     6,     2,     1,     2,     4,
    1374        2,     3,     3,     3,     4,     5,     5,     5,     6,     1,
    1375        1,     1,     3,     0,     5,     0,     1,     1,     2,     6,
    1376        1,     3,     0,     1,     4,     1,     1,     1,     1,     2,
     1354       1,     1,     1,     2,     2,     3,     3,     1,     3,     1,
     1355       2,     2,     2,     4,     4,     4,     4,     1,     2,     2,
     1356       3,     1,     2,     2,     1,     2,     2,     3,     1,     2,
     1357       2,     1,     1,     4,     2,     0,     6,     7,     2,     2,
     1358       2,     0,     2,     2,     3,     2,     3,     1,     2,     3,
     1359       2,     2,     4,     0,     1,     2,     2,     1,     0,     1,
     1360       2,     2,     5,     2,     0,     7,     2,     4,     0,     2,
     1361       0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
     1362       9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
     1363       5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
     1364       1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
     1365       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
     1366       1,     1,     2,     0,     2,     2,     1,     4,     0,     1,
     1367       2,     3,     4,     2,     2,     1,     2,     2,     5,     5,
     1368       7,     6,     1,     2,     2,     3,     1,     2,     2,     4,
     1369       2,     4,     0,     4,     2,     1,     1,     1,     0,     2,
     1370       5,     5,    13,     1,     1,     3,     3,     2,     3,     3,
     1371       2,     4,     1,     6,     9,     0,    11,     1,     3,     3,
     1372       3,     1,     1,     5,     2,     5,     0,     1,     1,     3,
     1373       0,     1,     1,     1,     1,     0,     6,     2,     1,     2,
     1374       4,     2,     3,     3,     3,     4,     5,     5,     5,     6,
     1375       1,     1,     1,     3,     0,     5,     0,     1,     1,     2,
     1376       6,     1,     3,     0,     1,     4,     1,     1,     1,     1,
     1377       2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
     1378       4,     4,     3,     8,     3,     2,     1,     2,     6,     8,
     1379       3,     2,     3,     3,     4,     4,     3,     1,     1,     1,
     1380       4,     6,     3,     2,     3,     3,     4,     4,     3,     2,
    13771381       1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1378        4,     3,     8,     3,     2,     1,     2,     6,     8,     3,
    1379        2,     3,     3,     4,     4,     3,     1,     1,     1,     4,
    1380        6,     3,     2,     3,     3,     4,     4,     3,     2,     1,
    1381        2,     2,     1,     3,     2,     3,     3,     2,     4,     4,
    1382        3,     6,     8,     3,     2,     1,     2,     2,     2,     3,
    1383        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1384        2,     2,     1,     1,     2,     3,     3,     2,     4,     6,
    1385        8,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1386        4,     4,     3,     5,     8,     3,     2,     3,     1,     5,
    1387        5,     6,     6,     1,     2,     2,     1,     2,     2,     3,
    1388        3,     1,     4,     4,     3,     5,     8,     3,     1,     2,
    1389        1,     2,     6,     5,     6,     7,     7,     1,     2,     2,
    1390        1,     2,     2,     3,     3,     1,     4,     4,     3,     8,
    1391        3,     1,     1,     2,     1,     1,     2,     3,     2,     3,
    1392        2,     3,     3,     2,     4,     3,     2,     3,     2,     4,
    1393        3,     2,     6,     6,     6,     7,     1,     2,     1,     1,
    1394        1,     2,     3,     2,     3,     2,     3,     3,     4,     2,
    1395        3,     4,     2,     5,     5,     6,     6,     0,     1,     0,
    1396        2
     1382       4,     3,     6,     8,     3,     2,     1,     2,     2,     2,
     1383       3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
     1384       1,     2,     2,     1,     1,     2,     3,     3,     2,     4,
     1385       6,     8,     1,     2,     2,     1,     2,     2,     3,     3,
     1386       1,     4,     4,     3,     5,     8,     3,     2,     3,     1,
     1387       5,     5,     6,     6,     1,     2,     2,     1,     2,     2,
     1388       3,     3,     1,     4,     4,     3,     5,     8,     3,     1,
     1389       2,     1,     2,     6,     5,     6,     7,     7,     1,     2,
     1390       2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
     1391       8,     3,     1,     1,     2,     1,     1,     2,     3,     2,
     1392       3,     2,     3,     3,     2,     4,     3,     2,     3,     2,
     1393       4,     3,     2,     6,     6,     6,     7,     1,     2,     1,
     1394       1,     1,     2,     3,     2,     3,     2,     3,     3,     4,
     1395       2,     3,     4,     2,     5,     5,     6,     6,     0,     1,
     1396       0,     2
    13971397};
    13981398
     
    14021402static const yytype_uint16 yydefact[] =
    14031403{
    1404      292,   292,   312,   310,   313,   311,   314,   315,   298,   300,
    1405      299,     0,   301,   326,   318,   323,   321,   322,   320,   319,
    1406      324,   325,   330,   327,   328,   329,   545,   545,   545,     0,
    1407        0,     0,   292,   218,   302,   316,   317,     7,   357,     0,
    1408        8,    14,    15,     0,     2,    61,    62,   563,     9,   292,
    1409      523,   521,   245,     3,   452,     3,   258,     0,     3,     3,
    1410        3,   246,     3,     0,     0,     0,   293,   294,   296,   292,
    1411      305,   308,   338,   284,   331,   336,   285,   346,   286,   353,
    1412      350,   360,     0,     0,   361,   287,   471,   475,     3,     3,
    1413        0,     2,   517,   522,   527,   297,     0,     0,   545,   575,
    1414      545,     2,   586,   587,   588,   292,     0,   729,   730,     0,
    1415       12,     0,    13,   292,   268,   269,     0,   293,   288,   289,
    1416      290,   291,   524,   303,   390,   546,   547,   368,   369,    12,
    1417      443,   444,    11,   439,   442,     0,   501,   496,   487,   443,
    1418      444,     0,     0,   526,   219,     0,   292,     0,     0,     0,
    1419        0,     0,     0,     0,     0,   292,   292,     2,     0,   731,
    1420      293,   580,   592,   735,   728,   726,   733,     0,     0,     0,
    1421      252,     2,     0,   530,   437,   438,   436,     0,     0,     0,
    1422        0,   545,     0,   632,   633,     0,     0,   543,   539,   545,
    1423      560,   545,   545,   541,     2,   540,   545,   599,   545,   545,
    1424      602,     0,     0,     0,   292,   292,   310,   358,     2,   292,
    1425      259,   295,   306,   339,   351,   476,     0,     2,     0,   452,
    1426      260,   293,   332,   347,   354,   472,     0,     2,     0,   309,
    1427      333,   340,   341,     0,   348,   352,   355,   359,   444,   292,
    1428      370,   363,   367,     0,   392,   473,   477,     0,     0,     0,
    1429        1,   292,     2,   528,   574,   576,   292,     2,   739,   293,
    1430      742,   543,   543,     0,   293,     0,     0,   271,   545,   541,
    1431        2,   292,     0,     0,   292,   548,     2,   499,     2,   552,
     1404     293,   293,   313,   311,   314,   312,   315,   316,   299,   301,
     1405     300,     0,   302,   327,   319,   324,   322,   323,   321,   320,
     1406     325,   326,   331,   328,   329,   330,   546,   546,   546,     0,
     1407       0,     0,   293,   219,   303,   317,   318,     7,   358,     0,
     1408       8,    14,    15,     0,     2,    61,    62,   564,     9,   293,
     1409     524,   522,   246,     3,   453,     3,   259,     0,     3,     3,
     1410       3,   247,     3,     0,     0,     0,   294,   295,   297,   293,
     1411     306,   309,   339,   285,   332,   337,   286,   347,   287,   354,
     1412     351,   361,     0,     0,   362,   288,   472,   476,     3,     3,
     1413       0,     2,   518,   523,   528,   298,     0,     0,   546,   576,
     1414     546,     2,   587,   588,   589,   293,     0,   730,   731,     0,
     1415      12,     0,    13,   293,   269,   270,     0,   294,   289,   290,
     1416     291,   292,   525,   304,   391,   547,   548,   369,   370,    12,
     1417     444,   445,    11,   440,   443,     0,   502,   497,   488,   444,
     1418     445,     0,     0,   527,   220,     0,   293,     0,     0,     0,
     1419       0,     0,     0,     0,     0,   293,   293,     2,     0,   732,
     1420     294,   581,   593,   736,   729,   727,   734,     0,     0,     0,
     1421     253,     2,     0,   531,   438,   439,   437,     0,     0,     0,
     1422       0,   546,     0,   633,   634,     0,     0,   544,   540,   546,
     1423     561,   546,   546,   542,     2,   541,   546,   600,   546,   546,
     1424     603,     0,     0,     0,   293,   293,   311,   359,     2,   293,
     1425     260,   296,   307,   340,   352,   477,     0,     2,     0,   453,
     1426     261,   294,   333,   348,   355,   473,     0,     2,     0,   310,
     1427     334,   341,   342,     0,   349,   353,   356,   360,   445,   293,
     1428     371,   364,   368,     0,   393,   474,   478,     0,     0,     0,
     1429       1,   293,     2,   529,   575,   577,   293,     2,   740,   294,
     1430     743,   544,   544,     0,   294,     0,     0,   272,   546,   542,
     1431       2,   293,     0,     0,   293,   549,     2,   500,     2,   553,
    14321432       0,     0,     0,     0,     0,     0,    19,    58,     4,     5,
    1433        6,    17,     0,     0,   292,     2,    63,    64,    65,    66,
    1434       46,    20,    47,    16,    23,    45,    67,   292,     0,    70,
     1433       6,    17,     0,     0,   293,     2,    63,    64,    65,    66,
     1434      46,    20,    47,    16,    23,    45,    67,   293,     0,    70,
    14351435      74,    77,    80,    85,    88,    90,    92,    94,    96,    98,
    1436      103,   493,   749,   450,   492,     0,   448,   449,     0,   564,
    1437      579,   582,   585,   591,   594,   597,   357,     0,     2,   737,
    1438        0,   292,   740,     2,    61,   292,     3,   424,     0,   432,
    1439      293,   292,   305,   331,   285,   346,   353,     3,     3,   406,
    1440      410,   420,   425,   471,   292,   426,   704,   705,   292,   427,
    1441      429,   292,     2,   581,   593,   727,     2,     2,   247,     2,
    1442      457,     0,   455,   454,   453,   139,     2,     2,   249,     2,
    1443        2,   248,     2,   279,     2,   280,     0,   278,     0,     0,
    1444        0,     0,     0,     0,     0,     0,     0,   565,   604,     0,
    1445      452,     2,   559,   568,   658,   561,   562,   531,   292,     2,
    1446      598,   607,   600,   601,     0,   274,   292,   292,   337,   293,
    1447        0,   293,     0,   292,   732,   736,   734,   532,   292,   543,
    1448      253,   261,   307,     0,     2,   533,   292,   497,   334,   335,
    1449      281,   349,   356,     0,   292,     0,   747,   397,     0,   474,
    1450      498,   250,   251,   518,   292,   434,     0,   292,   235,     0,
    1451        2,   237,     0,   293,     0,   255,     2,   256,   276,     0,
    1452        0,     2,   292,   543,   292,   484,   486,   485,     0,     0,
    1453      749,     0,   292,     0,   292,   488,   292,   558,   556,   557,
    1454      555,     0,   550,   553,     0,     0,   292,    53,   292,    67,
    1455       48,   292,    55,   292,   292,    51,    52,     2,   125,     0,
    1456        0,   446,     0,   445,   726,   119,   292,    18,     0,    30,
    1457       31,    36,     2,     0,    36,   109,   110,   111,   112,   113,
    1458      114,   115,   116,   117,   118,   108,     0,    49,    50,     0,
     1436     103,   494,   750,   451,   493,     0,   449,   450,     0,   565,
     1437     580,   583,   586,   592,   595,   598,   358,     0,     2,   738,
     1438       0,   293,   741,     2,    61,   293,     3,   425,     0,   433,
     1439     294,   293,   306,   332,   286,   347,   354,     3,     3,   407,
     1440     411,   421,   426,   472,   293,   427,   705,   706,   293,   428,
     1441     430,   293,     2,   582,   594,   728,     2,     2,   248,     2,
     1442     458,     0,   456,   455,   454,   140,     2,     2,   250,     2,
     1443       2,   249,     2,   280,     2,   281,     0,   279,     0,     0,
     1444       0,     0,     0,     0,     0,     0,     0,   566,   605,     0,
     1445     453,     2,   560,   569,   659,   562,   563,   532,   293,     2,
     1446     599,   608,   601,   602,     0,   275,   293,   293,   338,   294,
     1447       0,   294,     0,   293,   733,   737,   735,   533,   293,   544,
     1448     254,   262,   308,     0,     2,   534,   293,   498,   335,   336,
     1449     282,   350,   357,     0,   293,     0,   748,   398,     0,   475,
     1450     499,   251,   252,   519,   293,   435,     0,   293,   236,     0,
     1451       2,   238,     0,   294,     0,   256,     2,   257,   277,     0,
     1452       0,     2,   293,   544,   293,   485,   487,   486,     0,     0,
     1453     750,     0,   293,     0,   293,   489,   293,   559,   557,   558,
     1454     556,     0,   551,   554,     0,     0,   293,    53,   293,    67,
     1455      48,   293,    55,   293,   293,    51,    52,     2,   126,     0,
     1456       0,   447,     0,   446,   727,   120,   293,    18,     0,    30,
     1457      31,    36,     2,     0,    36,   110,   111,   112,   113,   114,
     1458     115,   116,   117,   118,   119,   109,   108,     0,    49,    50,
    14591459       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1460        0,     0,     0,     0,     0,     0,     0,     0,     0,   105,
    1461        2,   644,   451,   641,   545,   545,   649,   478,   292,     2,
    1462      583,   584,     0,   595,   596,     0,     2,   738,   741,   119,
    1463      292,     0,     2,   706,   293,   710,   701,   702,   708,     0,
    1464        2,     2,   666,   545,   749,   615,   545,   545,   749,   545,
    1465      629,   545,   545,   680,   433,   663,   545,   545,   671,   678,
    1466      292,   428,   293,     0,     0,   292,   716,   293,   721,   749,
    1467      713,   292,   718,   749,   292,   292,   292,     0,   119,     0,
    1468       19,     2,     0,    20,     0,   458,   747,     0,     0,   464,
    1469      239,     0,   292,     0,     0,     0,   543,   567,   571,   573,
    1470      603,   606,   610,   613,   566,   605,     0,   282,   656,     0,
    1471      292,   275,     0,     0,     0,     0,   273,     2,     0,   257,
    1472      534,   292,     0,     0,   292,     2,   362,   382,   371,     0,
    1473        0,   376,   370,   748,     0,     0,   395,     0,   293,     3,
    1474      413,     3,   417,   416,   589,     0,   529,   292,    61,     3,
    1475      292,   432,   293,     3,   426,   427,     2,     0,     0,     0,
    1476      483,   304,   292,   479,   481,     3,     2,     2,     0,   500,
    1477        3,     0,   552,   127,     0,     0,   220,     0,     0,     0,
    1478        0,    37,     0,     0,   119,   292,    21,     0,    22,     0,
    1479      690,   695,   447,   687,   545,   545,     0,   106,     3,     2,
    1480       28,     0,    34,     0,     2,    26,     0,   104,    71,    72,
    1481       73,    75,    76,    78,    79,    83,    84,    81,    82,    86,
    1482       87,    89,    91,    93,    95,    97,     0,     0,   750,   292,
    1483        0,     0,     0,   645,   646,   642,   643,   495,   494,   292,
    1484        0,   292,   712,   292,   717,   293,   292,   660,   292,   292,
    1485      703,   659,     2,   292,     0,     0,     0,     0,     0,     0,
    1486        0,     0,   681,     0,   667,   618,   634,   668,     2,   614,
    1487      621,   430,   616,   617,   431,     2,   628,   637,   630,   631,
    1488      664,   665,   679,   707,   711,   709,   749,   266,     2,   743,
    1489        2,   421,   715,   720,   422,     0,   400,     3,     3,     3,
    1490        3,   452,     3,     0,     2,   466,   463,   748,     0,   459,
    1491        2,   462,   465,     0,   292,   240,   262,     3,   270,   272,
    1492        0,   452,     2,   569,   570,     2,   608,   609,     0,   657,
    1493      535,     3,   343,   342,   345,   344,   292,   536,     0,   537,
    1494      370,     0,     0,   292,   292,     0,     0,   690,   380,   383,
    1495      387,   545,   387,   386,   379,   372,   545,   374,   377,   292,
    1496      397,   391,   102,   398,   747,     0,     0,   435,   238,     0,
    1497        0,     3,     2,   666,   428,     0,   525,     0,   749,   487,
    1498        0,   292,   292,   292,     0,   549,   551,   128,     0,     0,
    1499      213,     0,     0,     0,   221,   222,    54,     0,    56,    59,
    1500       60,     0,     2,   126,     0,     0,     0,   691,   692,   688,
    1501      689,   457,    68,    69,   107,   123,     3,   106,     0,     0,
    1502       25,    36,     3,     0,    33,   100,     0,     3,   648,   652,
    1503      655,   647,     3,   590,     3,   714,   719,     2,    61,   292,
    1504        3,     3,   293,     0,     3,   620,   624,   627,   636,   670,
    1505      674,   677,   292,     3,   619,   635,   669,   292,   292,   423,
    1506      292,   292,   744,     0,     0,     0,     0,   254,     0,   102,
    1507        0,     3,     3,     0,   460,     0,   456,     0,     0,   243,
    1508      292,     0,     0,   127,     0,     0,     0,     0,     0,   127,
    1509        0,     0,   106,   106,    19,     2,     0,     0,     3,   129,
    1510      130,     2,   141,   131,   132,   133,   134,   135,   136,   143,
    1511      145,     0,     0,     0,   283,   292,   292,   545,     0,   538,
    1512      292,   373,   375,     0,   389,   691,   384,   388,   385,   378,
    1513      382,   365,   396,     0,   577,     2,   662,   661,     0,   667,
    1514        2,   480,   482,   502,     3,   510,   511,     0,     2,   506,
    1515        3,     3,     0,     0,   554,   220,     0,     0,     0,   220,
    1516        0,     0,   119,   694,   698,   700,   693,   747,   106,     0,
    1517        3,   659,    40,     3,    38,    35,     0,     3,    99,   101,
    1518        0,     2,   650,   651,     0,     0,   292,     0,     0,     0,
    1519        3,   636,     0,     2,   622,   623,     2,   638,     2,   672,
    1520      673,     0,     0,    61,     0,     3,     3,     3,     3,   408,
    1521      407,   411,     2,     2,   746,   745,   120,     0,     0,     0,
    1522        0,     3,   461,     3,     0,   241,   144,     3,   293,   292,
    1523        0,     0,     0,     0,     2,     0,   189,     0,   187,     0,
    1524        0,     0,     0,     0,     0,     0,   545,   119,     0,   149,
    1525      146,   292,     0,     0,   265,   277,     3,     3,   544,   611,
    1526      366,   381,   394,   292,   264,   292,     0,   513,   490,   292,
    1527        0,     0,   489,   504,     0,     0,     0,   214,     0,   223,
    1528       57,     2,   696,   697,     0,   124,   121,     0,     0,     0,
    1529        0,     0,    24,     0,   653,   292,   578,   263,   722,   723,
    1530      724,     0,   675,   292,   292,   292,     3,     3,     0,   683,
    1531        0,     0,     0,     0,   292,   292,     3,   542,   120,   468,
    1532        0,     0,   244,   293,     0,     0,     0,     0,   292,   190,
    1533      188,   185,     0,   191,     0,     0,     0,     0,   195,   198,
    1534      196,   192,     0,   193,   127,    36,   142,   140,   242,     0,
    1535        0,   415,   419,   418,     0,   507,     2,   508,     2,   509,
    1536      503,   292,   226,     0,   224,     0,   226,   292,    32,   122,
    1537        2,    43,     2,    41,    39,    29,    27,     3,   725,     3,
    1538        3,     3,     0,     0,   682,   684,   625,   639,   267,     2,
    1539      405,     3,   404,     0,   470,   467,   127,     0,     0,   127,
    1540        3,     0,   127,   186,     0,     2,     2,   207,   197,     0,
    1541        0,     0,   138,     0,   572,   612,     2,     0,     0,     2,
    1542      227,     0,     0,   215,     0,     3,     0,     0,     0,     0,
    1543        0,     0,   685,   686,   292,     0,   469,   150,     0,     0,
    1544        2,   163,   127,   152,     0,   180,     0,   127,     0,     2,
    1545      154,     0,     2,     0,     2,     2,     2,   194,    33,   292,
    1546      512,   514,   505,     0,     0,     0,     0,     0,     3,     3,
    1547      654,   626,   640,   676,   409,   127,   156,   159,     0,   158,
    1548      162,     3,   165,   164,     0,   127,   182,   127,     3,     0,
    1549      292,     0,   292,     0,     2,     0,     2,   137,     2,   228,
    1550      229,     0,   225,   216,   699,     0,     0,   151,     0,     0,
    1551      161,   231,   166,     2,   233,   181,     0,   184,   170,   199,
    1552        3,   208,   212,   201,     3,     0,   292,     0,   292,     0,
    1553        0,     0,    44,    42,   157,   160,   127,     0,   167,   292,
    1554      127,   127,     0,   171,     0,     0,   690,   209,   210,   211,
    1555        0,   200,     3,   202,     3,   292,   217,   230,   147,   168,
    1556      153,   127,   234,   183,   178,   176,   172,   155,   127,     0,
    1557      691,     0,     0,     0,     0,   148,   169,   179,   173,   177,
    1558      176,   174,     3,     3,     0,     0,   491,   175,   203,   205,
    1559        3,     3,   204,   206
     1460       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1461     105,     2,   645,   452,   642,   546,   546,   650,   479,   293,
     1462       2,   584,   585,     0,   596,   597,     0,     2,   739,   742,
     1463     120,   293,     0,     2,   707,   294,   711,   702,   703,   709,
     1464       0,     2,     2,   667,   546,   750,   616,   546,   546,   750,
     1465     546,   630,   546,   546,   681,   434,   664,   546,   546,   672,
     1466     679,   293,   429,   294,     0,     0,   293,   717,   294,   722,
     1467     750,   714,   293,   719,   750,   293,   293,   293,     0,   120,
     1468       0,    19,     2,     0,    20,     0,   459,   748,     0,     0,
     1469     465,   240,     0,   293,     0,     0,     0,   544,   568,   572,
     1470     574,   604,   607,   611,   614,   567,   606,     0,   283,   657,
     1471       0,   293,   276,     0,     0,     0,     0,   274,     2,     0,
     1472     258,   535,   293,     0,     0,   293,     2,   363,   383,   372,
     1473       0,     0,   377,   371,   749,     0,     0,   396,     0,   294,
     1474       3,   414,     3,   418,   417,   590,     0,   530,   293,    61,
     1475       3,   293,   433,   294,     3,   427,   428,     2,     0,     0,
     1476       0,   484,   305,   293,   480,   482,     3,     2,     2,     0,
     1477     501,     3,     0,   553,   128,     0,     0,   221,     0,     0,
     1478       0,     0,    37,     0,     0,   120,   293,    21,     0,    22,
     1479       0,   691,   696,   448,   688,   546,   546,     0,   106,     3,
     1480       2,    28,     0,    34,     0,     2,    26,     0,   104,    71,
     1481      72,    73,    75,    76,    78,    79,    83,    84,    81,    82,
     1482      86,    87,    89,    91,    93,    95,    97,     0,     0,   751,
     1483     293,     0,     0,     0,   646,   647,   643,   644,   496,   495,
     1484     293,     0,   293,   713,   293,   718,   294,   293,   661,   293,
     1485     293,   704,   660,     2,   293,     0,     0,     0,     0,     0,
     1486       0,     0,     0,   682,     0,   668,   619,   635,   669,     2,
     1487     615,   622,   431,   617,   618,   432,     2,   629,   638,   631,
     1488     632,   665,   666,   680,   708,   712,   710,   750,   267,     2,
     1489     744,     2,   422,   716,   721,   423,     0,   401,     3,     3,
     1490       3,     3,   453,     3,     0,     2,   467,   464,   749,     0,
     1491     460,     2,   463,   466,     0,   293,   241,   263,     3,   271,
     1492     273,     0,   453,     2,   570,   571,     2,   609,   610,     0,
     1493     658,   536,     3,   344,   343,   346,   345,   293,   537,     0,
     1494     538,   371,     0,     0,   293,   293,     0,     0,   691,   381,
     1495     384,   388,   546,   388,   387,   380,   373,   546,   375,   378,
     1496     293,   398,   392,   102,   399,   748,     0,     0,   436,   239,
     1497       0,     0,     3,     2,   667,   429,     0,   526,     0,   750,
     1498     488,     0,   293,   293,   293,     0,   550,   552,   129,     0,
     1499       0,   214,     0,     0,     0,   222,   223,    54,     0,    56,
     1500      59,    60,     0,     2,   127,     0,     0,     0,   692,   693,
     1501     689,   690,   458,    68,    69,   107,   124,     3,   106,     0,
     1502       0,    25,    36,     3,     0,    33,   100,     0,     3,   649,
     1503     653,   656,   648,     3,   591,     3,   715,   720,     2,    61,
     1504     293,     3,     3,   294,     0,     3,   621,   625,   628,   637,
     1505     671,   675,   678,   293,     3,   620,   636,   670,   293,   293,
     1506     424,   293,   293,   745,     0,     0,     0,     0,   255,     0,
     1507     102,     0,     3,     3,     0,   461,     0,   457,     0,     0,
     1508     244,   293,     0,     0,   128,     0,     0,     0,     0,     0,
     1509     128,     0,     0,   106,   106,    19,     2,     0,     0,     3,
     1510     130,   131,     2,   142,   132,   133,   134,   135,   136,   137,
     1511     144,   146,     0,     0,     0,   284,   293,   293,   546,     0,
     1512     539,   293,   374,   376,     0,   390,   692,   385,   389,   386,
     1513     379,   383,   366,   397,     0,   578,     2,   663,   662,     0,
     1514     668,     2,   481,   483,   503,     3,   511,   512,     0,     2,
     1515     507,     3,     3,     0,     0,   555,   221,     0,     0,     0,
     1516     221,     0,     0,   120,   695,   699,   701,   694,   748,   106,
     1517       0,     3,   660,    40,     3,    38,    35,     0,     3,    99,
     1518     101,     0,     2,   651,   652,     0,     0,   293,     0,     0,
     1519       0,     3,   637,     0,     2,   623,   624,     2,   639,     2,
     1520     673,   674,     0,     0,    61,     0,     3,     3,     3,     3,
     1521     409,   408,   412,     2,     2,   747,   746,   121,     0,     0,
     1522       0,     0,     3,   462,     3,     0,   242,   145,     3,   294,
     1523     293,     0,     0,     0,     0,     2,     0,   190,     0,   188,
     1524       0,     0,     0,     0,     0,     0,     0,   546,   120,     0,
     1525     150,   147,   293,     0,     0,   266,   278,     3,     3,   545,
     1526     612,   367,   382,   395,   293,   265,   293,     0,   514,   491,
     1527     293,     0,     0,   490,   505,     0,     0,     0,   215,     0,
     1528     224,    57,     2,   697,   698,     0,   125,   122,     0,     0,
     1529       0,     0,     0,    24,     0,   654,   293,   579,   264,   723,
     1530     724,   725,     0,   676,   293,   293,   293,     3,     3,     0,
     1531     684,     0,     0,     0,     0,   293,   293,     3,   543,   121,
     1532     469,     0,     0,   245,   294,     0,     0,     0,     0,   293,
     1533     191,   189,   186,     0,   192,     0,     0,     0,     0,   196,
     1534     199,   197,   193,     0,   194,   128,    36,   143,   141,   243,
     1535       0,     0,   416,   420,   419,     0,   508,     2,   509,     2,
     1536     510,   504,   293,   227,     0,   225,     0,   227,   293,    32,
     1537     123,     2,    43,     2,    41,    39,    29,    27,     3,   726,
     1538       3,     3,     3,     0,     0,   683,   685,   626,   640,   268,
     1539       2,   406,     3,   405,     0,   471,   468,   128,     0,     0,
     1540     128,     3,     0,   128,   187,     0,     2,     2,   208,   198,
     1541       0,     0,     0,   139,     0,   573,   613,     2,     0,     0,
     1542       2,   228,     0,     0,   216,     0,     3,     0,     0,     0,
     1543       0,     0,     0,   686,   687,   293,     0,   470,   151,     0,
     1544       0,     2,   164,   128,   153,     0,   181,     0,   128,     0,
     1545       2,   155,     0,     2,     0,     2,     2,     2,   195,    33,
     1546     293,   513,   515,   506,     0,     0,     0,     0,     0,     3,
     1547       3,   655,   627,   641,   677,   410,   128,   157,   160,     0,
     1548     159,   163,     3,   166,   165,     0,   128,   183,   128,     3,
     1549       0,   293,     0,   293,     0,     2,     0,     2,   138,     2,
     1550     229,   230,     0,   226,   217,   700,     0,     0,   152,     0,
     1551       0,   162,   232,   167,     2,   234,   182,     0,   185,   171,
     1552     200,     3,   209,   213,   202,     3,     0,   293,     0,   293,
     1553       0,     0,     0,    44,    42,   158,   161,   128,     0,   168,
     1554     293,   128,   128,     0,   172,     0,     0,   691,   210,   211,
     1555     212,     0,   201,     3,   203,     3,   293,   218,   231,   148,
     1556     169,   154,   128,   235,   184,   179,   177,   173,   156,   128,
     1557       0,   692,     0,     0,     0,     0,   149,   170,   180,   174,
     1558     178,   177,   175,     3,     3,     0,     0,   492,   176,   204,
     1559     206,     3,     3,   205,   207
    15601560};
    15611561
     
    15631563static const yytype_int16 yydefgoto[] =
    15641564{
    1565       -1,   813,   468,   300,    47,   133,   134,   301,   302,   303,
    1566      304,   305,   761,   762,  1133,  1134,   306,   381,   308,   309,
     1565      -1,   814,   468,   300,    47,   133,   134,   301,   302,   303,
     1566     304,   305,   762,   763,  1134,  1135,   306,   381,   308,   309,
    15671567     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
    1568      320,  1030,   518,   975,   546,   322,   976,   947,  1057,  1518,
    1569     1059,  1060,  1061,  1062,  1519,  1063,  1064,  1437,  1438,  1401,
    1570     1402,  1403,  1497,  1498,  1502,  1503,  1538,  1539,  1065,  1361,
    1571     1066,  1067,  1298,  1299,  1300,  1480,  1068,   145,   953,   954,
    1572      955,  1381,  1461,  1472,  1473,   469,   470,   874,   875,  1038,
     1568     320,  1031,   518,   976,   547,   322,   977,   948,  1058,  1519,
     1569    1060,  1061,  1062,  1063,  1520,  1064,  1065,  1438,  1439,  1402,
     1570    1403,  1404,  1498,  1499,  1503,  1504,  1539,  1540,  1066,  1362,
     1571    1067,  1068,  1299,  1300,  1301,  1481,  1069,   145,   954,   955,
     1572     956,  1382,  1462,  1473,  1474,   469,   470,   875,   876,  1039,
    15731573      51,    52,    53,    54,    55,   347,   158,    58,    59,    60,
    15741574      61,    62,   349,    64,    65,   264,    67,    68,   274,   351,
    15751575     352,    71,    72,    73,   118,    75,   204,   354,   119,    78,
    1576      120,    80,    81,   455,    82,   454,   688,   689,   690,   908,
    1577     1086,   909,    83,    84,   458,   456,   696,   855,   856,   857,
    1578      858,   699,   700,   701,   359,   360,   361,   362,   466,   340,
    1579      135,   136,   522,   324,   170,   645,   646,   647,   648,   649,
    1580       85,   121,    87,   489,   490,   939,   491,   277,   495,   325,
    1581       88,   137,   138,    89,  1321,  1108,  1109,  1110,  1111,    90,
    1582       91,   717,    92,   273,    93,    94,   187,  1032,   679,   412,
     1576     120,    80,    81,   455,    82,   454,   689,   690,   691,   909,
     1577    1087,   910,    83,    84,   458,   456,   697,   856,   857,   858,
     1578     859,   700,   701,   702,   359,   360,   361,   362,   466,   340,
     1579     135,   136,   522,   324,   170,   646,   647,   648,   649,   650,
     1580      85,   121,    87,   489,   490,   940,   491,   277,   495,   325,
     1581      88,   137,   138,    89,  1322,  1109,  1110,  1111,  1112,    90,
     1582      91,   718,    92,   273,    93,    94,   187,  1033,   680,   412,
    15831583     125,    95,   501,   502,   503,   188,   268,   190,   191,   192,
    15841584     269,    98,    99,   100,   101,   102,   103,   104,   195,   196,
    1585      197,   198,   199,   825,   605,   606,   607,   608,   200,   610,
    1586      611,   612,   572,   573,   574,   575,   751,   105,   614,   615,
    1587      616,   617,   618,   619,   968,   753,   754,   755,   595,   365,
    1588      366,   367,   368,   326,   164,   107,   108,   109,   370,   694,
    1589      569
     1585     197,   198,   199,   826,   606,   607,   608,   609,   200,   611,
     1586     612,   613,   573,   574,   575,   576,   752,   105,   615,   616,
     1587     617,   618,   619,   620,   969,   754,   755,   756,   596,   365,
     1588     366,   367,   368,   326,   164,   107,   108,   109,   370,   695,
     1589     570
    15901590};
    15911591
    15921592/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15931593   STATE-NUM.  */
    1594 #define YYPACT_NINF -1282
     1594#define YYPACT_NINF -1323
    15951595static const yytype_int16 yypact[] =
    15961596{
    1597     7429,  6461, -1282,    36, -1282, -1282, -1282, -1282, -1282, -1282,
    1598    -1282,    83, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
    1599    -1282, -1282, -1282, -1282, -1282, -1282,   131,   131,   131,  1844,
    1600      994,   124,  7661,   230, -1282, -1282, -1282, -1282, -1282,   175,
    1601    -1282, -1282, -1282,   965,   193, -1282, -1282, -1282, -1282,  5932,
    1602    -1282, -1282, -1282, -1282,   122,   216, -1282,  1880, -1282, -1282,
    1603    -1282, -1282,   251,  1298,   387,    61,  7777, -1282, -1282,  9536,
    1604     1247, -1282, -1282,   557,   425,  3682,   886,   409,   557,  1203,
    1605    -1282, -1282,   744,   941, -1282,   557,  1708, -1282,   342, -1282,
    1606      478,   483, -1282, -1282, -1282, -1282,   384,   216,   131, -1282,
    1607      131, -1282, -1282, -1282, -1282,  2963,  1880, -1282, -1282,  1880,
    1608    -1282,   381, -1282,  8264, -1282, -1282,  1830,  9075, -1282,   713,
    1609      713,   713, -1282, -1282, -1282,   131, -1282, -1282, -1282,   410,
    1610      433,   443, -1282, -1282, -1282,   470, -1282, -1282, -1282, -1282,
    1611    -1282,   487,   492, -1282, -1282,    90,  9044,  2201,   567,   421,
    1612      477,   513,   520,   554,   575,  5546,  6949,   504,   495, -1282,
    1613     9574, -1282, -1282, -1282, -1282,   558, -1282,   116,  4885,  4885,
    1614    -1282,   577,   253, -1282, -1282, -1282, -1282,   613,   284,   302,
    1615      335,   131,   616, -1282, -1282,  1298,  2031,   692, -1282,    65,
    1616    -1282,   131,   131,   216, -1282, -1282,   103, -1282,   131,   131,
    1617    -1282,  3459,   673,   678,   713,  6742, -1282, -1282,   702,  5932,
    1618    -1282, -1282,   557, -1282, -1282, -1282,   216, -1282,  1880,   122,
    1619    -1282,  8115, -1282,   713,   713,   713,   216, -1282,  1844, -1282,
    1620     4853, -1282, -1282,   627,   713, -1282,   713, -1282,   175,  9044,
    1621    -1282,   738, -1282,   994,   742,   713, -1282,  1844,   706,   717,
    1622    -1282,  7661,   598, -1282, -1282, -1282,  9503, -1282, -1282,  5769,
    1623    -1282,   692,    43, 10287,  9075,  1830,  3459, -1282,   197, -1282,
    1624    -1282,  8264,  1880,   745,  7808, -1282, -1282,   441, -1282, 10539,
    1625      754,   784,  3526,   766,  3896,  4720, -1282,   770, -1282, -1282,
    1626    -1282, -1282, 10420, 10420,  8818,   772, -1282, -1282, -1282, -1282,
    1627    -1282, -1282, -1282,   805, -1282,  1317,  2104,  9157,  3896, -1282,
    1628      619,   651,   733,   206,   860,   791,   775,   785,   823,   -65,
    1629    -1282, -1282,   794,   596, -1282,   337, -1282, -1282,  2201, -1282,
    1630    -1282,   290,   810, -1282,   298,   810,   819,   175, -1282, -1282,
    1631      836,  2963, -1282,   844,   858,  9270, -1282, -1282,  1515,  1616,
    1632     8533,  6742,   557, -1282,   557,   713,   713, -1282, -1282, -1282,
    1633    -1282, -1282, -1282,   713,  2963,  1880, -1282, -1282,  9188,  1765,
    1634    -1282,  4463, -1282, -1282, -1282, -1282, -1282, -1282, -1282,   869,
    1635     6164,  3896, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
    1636    -1282, -1282, -1282, -1282, -1282, -1282,  1830, -1282,   592,   881,
    1637      887,   907,   977,   913,   918,   926,  2031, -1282, -1282,   917,
    1638      122,   952, -1282, -1282,   968, -1282, -1282, -1282,  9503, -1282,
    1639    -1282, -1282, -1282, -1282,  3459, -1282,  9044,  9044, -1282,   713,
    1640     1830,  6861,  1880,  8606, -1282, -1282, -1282, -1282,  9503,    43,
    1641    -1282, -1282,   557,   216, -1282, -1282,  9503, -1282,  5584, -1282,
    1642    -1282,   713,   713,   429,  4617,   967,   975,   972,   982,   713,
    1643    -1282, -1282, -1282, -1282,  9803, -1282,   430,  6623, -1282,   216,
    1644      991, -1282,  1830, 10621, 10344, -1282, -1282, -1282, -1282,   984,
    1645     3459, -1282,  8679,   692,  7545, -1282, -1282, -1282,  1025,   534,
    1646      794,   994,  7808,  1044,  8264, -1282,  7808, -1282, -1282, -1282,
    1647    -1282,   539, -1282,   997,   784,    70,  8818, -1282,  9301, -1282,
    1648    -1282,  8818, -1282,  8931,  8818, -1282, -1282,   999, -1282,   564,
    1649     1000,   689,  1003, -1282, -1282,  9650,  6592, -1282,   291, -1282,
    1650    -1282, 10287, -1282,   331, 10287, -1282, -1282, -1282, -1282, -1282,
    1651    -1282, -1282, -1282, -1282, -1282, -1282, 10287, -1282, -1282,  3896,
    1652     3896,  3896,  3896,  3896,  3896,  3896,  3896,  3896,  3896,  3896,
    1653     3896,  3896,  3896,  3896,  3896,  3896,  3896,  5176, 10287, -1282,
    1654      596,  1665, -1282, -1282,   131,   131, -1282, -1282,  9044, -1282,
    1655    -1282,   968,   598, -1282,   968, 10363, -1282, -1282, -1282,  5001,
    1656     6592,  1005,  1011, -1282,  9075, -1282, -1282,   558, -1282,  1017,
    1657      501,  1020,  3131,   211,   794, -1282,   131,   131,   794,   231,
    1658    -1282,   131,   131,   968, -1282, -1282,   131,   131, -1282,   810,
    1659     9421,  1880, 10766,    79,   605,  9421, -1282,  5769, -1282,   794,
    1660    -1282,  2963, -1282,   183,  8230,  8230,  8230,  1880, -1282, 10173,
    1661     1006,   869,   840,  1015,  1018, -1282,  1008,  4885,   242, -1282,
    1662     1104,  1880,  8230,   598,  1830,   598,   692,   448,   810, -1282,
    1663    -1282,   771,   810, -1282, -1282, -1282,   784, -1282,   810,   216,
    1664     9803, -1282,   637,  1041,   647,  1049, -1282,  1023,   216, -1282,
    1665    -1282,  9503,   216,  1046,  9301,  1053, -1282,   759, -1282,   357,
    1666      422,   994, -1282,   994,  1051,  3896, -1282,   994, 10766, -1282,
    1667    -1282,  1057, -1282, -1282, -1282,   598, -1282, 10694,   858, -1282,
    1668     8230,   851,  8533, -1282, -1282,   558,  1055,  1056,  1025,  2498,
    1669    -1282, -1282,  7808, -1282, -1282,  1062, -1282, -1282,  1070, -1282,
    1670     1062,  1072, 10539, 10287,  1060,  1061,   100,  1073,  1071,  1088,
    1671     1090, -1282,  1094,  1095,  9688,  6711, -1282, 10287, -1282,   689,
    1672     1753, -1282, -1282, -1282,   131,   131, 10230, 10287,  1080, -1282,
    1673    -1282,   650, -1282, 10287, -1282, -1282,   885, -1282, -1282, -1282,
    1674    -1282,   619,   619,   651,   651,   733,   733,   733,   733,   206,
    1675      206,   860,   791,   775,   785,   823,  3896,    14, -1282,  9803,
    1676     1099,  1100,  1102,  1665, -1282, -1282, -1282, -1282, -1282,  9803,
    1677      657,  8230, -1282,  2963, -1282,  7068,  9383, -1282,  4463,  6949,
    1678    -1282, -1282,   501,  9803,  1030,  1108,  1109,  1110,  1111,  1112,
    1679     1114,  1117, -1282,  3725,  3131, -1282, -1282, -1282, -1282, -1282,
    1680    -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
    1681    -1282, -1282,   968, -1282, -1282, -1282,   794, -1282, -1282, -1282,
    1682    -1282, -1282, -1282, -1282, -1282,  1118, -1282,  1120,  1122, -1282,
    1683    -1282,   122,  1080, 10173, -1282, -1282, -1282,  6164,  1123, -1282,
    1684    -1282, -1282, -1282,   994,  6295,  1204, -1282, -1282, -1282, -1282,
    1685     1116,   122, -1282, -1282,   968, -1282, -1282,   968,   125,   968,
    1686    -1282, -1282, -1282, -1282, -1282, -1282,  9612, -1282,   216, -1282,
    1687    -1282,   460,   467,  9188,  7187,  1951,  3896,  3145, -1282, -1282,
    1688     1105,    87,  1105, -1282,   994, -1282,   131, -1282, -1282,  8451,
    1689      972, -1282, -1282, -1282,   975,  1133,  1129, -1282, -1282,  1137,
    1690     1146, -1282,   851,  1870, -1282,   683, -1282,  2498,   794, -1282,
    1691     1149,  7808,  9721,  9044,  1151, -1282, -1282,  1150,  1152,  1138,
    1692    -1282,  3896,  1158,   250,  1153, -1282,  1157,   598,  1157, -1282,
    1693    -1282,  1157,  1160, -1282,  1166,  1169,  1172,  1753, -1282, -1282,
    1694    -1282,  6164, -1282, -1282, -1282, -1282,  1168, 10287,  1175,   598,
    1695    -1282, 10287, -1282,   598, -1282, -1282, 10287, -1282,   809,   810,
    1696    -1282, -1282, -1282, -1282, -1282, -1282, -1282,   869,   858,  9270,
    1697    -1282, -1282,  7306,  1180, -1282,   829,   810, -1282,   854,   868,
    1698      810, -1282,   713,  4154, -1282, -1282, -1282,  9803,  9803, -1282,
    1699     8606,  8606, -1282,  1176,  1181,  1183,  1189, -1282,  1179,   724,
    1700      -22,  1080, -1282,   598, -1282,  4885, -1282, 10287,   475, -1282,
    1701     6430,  1191,  1192, 10116,  1193,  1195,    21,    55,   195, 10287,
    1702     1196,   216, 10287, 10287,  1182,  1205,   579,  1209, -1282, -1282,
    1703    -1282,  1200, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
    1704    -1282,   994,  1213, 10287, -1282,  9803,  9803,   131,  1214, -1282,
    1705     8962, -1282, -1282,   893, -1282,  3145, -1282, -1282, -1282, -1282,
    1706      759, -1282, -1282,  1218, -1282, -1282, -1282, -1282,  1227,  1870,
    1707    -1282, -1282,  1215, -1282,  1062, -1282, -1282,  1830,  1231, -1282,
    1708    -1282, -1282,   669,  1234, -1282,   100,  1237,  3896,  1220,   100,
    1709      100,  1248,  9650,   876,   810, -1282, -1282,  1008, 10287,  1251,
    1710     1168,   563,   204,  1250, -1282, -1282,  1255,  1250, -1282, -1282,
    1711     1258, -1282, -1282,   968,  1259,  1261,  6830,  1263,  1265,  1267,
    1712    -1282, -1282,  1273, -1282, -1282,   968, -1282, -1282, -1282, -1282,
    1713      968, 10287, 10287,   858,  1275, -1282, -1282, -1282, -1282, -1282,
    1714    -1282, -1282, -1282, -1282, -1282, -1282, -1282,  3896,  3896,  1278,
    1715     1279,  1250, -1282, -1282,   994, -1282, -1282, -1282,  8042,  9721,
    1716    10287, 10287,  1345, 10287, -1282,  1266, -1282,  1268, -1282,  1276,
    1717    10287,  1282, 10287,  1096,  1293,    49,   131,  5155,  1347, -1282,
    1718    -1282,  6295,  1280,   482, -1282, -1282, -1282, -1282, -1282, -1282,
    1719    -1282, -1282, -1282,  9936, -1282,  8679,  1287, -1282, -1282,  9721,
    1720      490,   497, -1282,  1290,  1281,   784,  1319, -1282,   334, -1282,
    1721    -1282, -1282, -1282,   968,  1323, -1282, -1282,  1327,   444,   549,
    1722      598,  1332, -1282,  1333, -1282,  9803, -1282, -1282, -1282, -1282,
    1723    -1282,  1334, -1282,  9803,  9803,  9803, -1282, -1282,  1335, -1282,
    1724     1337,  1341,  1343,   735,  8303,  8418, -1282, -1282,   248, -1282,
    1725     1351,  1356, -1282,  8752,   676,   686,  1350,   707,  6096, -1282,
    1726    -1282, -1282,   537, -1282,   716,  1365,  1367,   216,  1419,   951,
    1727    -1282, -1282, 10287, -1282, 10116, 10287, -1282, -1282, -1282,  1370,
    1728     1372, -1282, -1282, -1282,  1369, -1282, -1282, -1282, -1282, -1282,
    1729    -1282,  9721,   784,  1375, -1282,  1353,   784,  9803, -1282, -1282,
    1730    -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
    1731    -1282, -1282,  1378,  1379, -1282, -1282, -1282, -1282, -1282, -1282,
    1732    -1282,  1377, -1282,  1382, -1282, -1282, 10116,   104, 10287, 10116,
    1733    -1282,  1387, 10287, -1282,   243,  1402,  1405, -1282, -1282,  1393,
    1734     1394,  1388, -1282,   916, -1282, -1282, -1282,  1880,  1830,  1389,
    1735    -1282,   246,  3896, -1282,   729, -1282,   598,   598,  1399,  1400,
    1736     1404,  1409, -1282, -1282,  8606,  1407, -1282,  1479,  3896,  1395,
    1737    -1282, -1282, 10028, -1282,   757, -1282,  1401, 10116,  1403, -1282,
    1738    -1282,  1416, -1282,  1417, -1282,  1436,  1440, -1282,  1408,  9721,
    1739    -1282, -1282, -1282,   784,   598,  1429,  1411,  1431,  1250,  1250,
    1740    -1282, -1282, -1282, -1282, -1282, 10116,    10, -1282,   370, -1282,
    1741    -1282,  7893, -1282, -1282,  1412, 10287, -1282, 10287,  7893,   216,
    1742     9301,   216,  9301,  1437, -1282,  1438, -1282, -1282,  1434, -1282,
    1743    -1282,   790, -1282, -1282, -1282,  1441,  1442, -1282,  3896,  3896,
    1744    -1282, -1282,   998,    93, -1282, -1282,  1424, -1282,   998, -1282,
    1745    -1282,  2145,   598, -1282, -1282,   216,  9301,   216,  9301,  1446,
    1746     1425,   598, -1282, -1282, -1282, -1282, 10028,  1443,   998,  7969,
    1747    10287,  9940,  1455,   998,  1463,  2145,  3286, -1282, -1282, -1282,
    1748     1465, -1282, -1282, -1282, -1282,  9044, -1282, -1282, -1282,  9807,
    1749    -1282, 10028, -1282, -1282,  1453,  5404, -1282, -1282,  9940,   216,
    1750     3286,   216,  1476,  1478,   831, -1282,  9807, -1282, -1282, -1282,
    1751     5404, -1282, -1282, -1282,   216,   216, -1282, -1282, -1282, -1282,
    1752    -1282, -1282, -1282, -1282
     1597    7329,  8828, -1323,    37, -1323, -1323, -1323, -1323, -1323, -1323,
     1598   -1323,   109, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
     1599   -1323, -1323, -1323, -1323, -1323, -1323,    85,    85,    85,   873,
     1600     733,   178,  7561,   370, -1323, -1323, -1323, -1323, -1323,   191,
     1601   -1323, -1323, -1323,   614,   225, -1323, -1323, -1323, -1323,  4615,
     1602   -1323, -1323, -1323, -1323,   229,   285, -1323,   934, -1323, -1323,
     1603   -1323, -1323,   435,  1196,   579,   110,  7677, -1323, -1323,  4858,
     1604    1038, -1323, -1323,   580,   596,  6761,  1021,   875,   580,  1103,
     1605   -1323, -1323,  1317,   308, -1323,   580,  1224, -1323,   495, -1323,
     1606     616,   623, -1323, -1323, -1323, -1323,   547,   285,    85, -1323,
     1607      85, -1323, -1323, -1323, -1323,  9174,   934, -1323, -1323,   934,
     1608   -1323,   551, -1323,  9403, -1323, -1323,  1899,  9436, -1323,   844,
     1609     844,   844, -1323, -1323, -1323,    85, -1323, -1323, -1323,   584,
     1610     608,   632, -1323, -1323, -1323,   646, -1323, -1323, -1323, -1323,
     1611   -1323,   664,   687, -1323, -1323,   -28,  8797,  2908,   117,   701,
     1612     717,   726,   771,   786,   799,  8715,  6849,   731,   757, -1323,
     1613    5600, -1323, -1323, -1323, -1323,   804, -1323,   223,  5225,  5225,
     1614   -1323,   802,   365, -1323, -1323, -1323, -1323,   816,   443,   480,
     1615     534,    85,   827, -1323, -1323,  1196,  4341,   868, -1323,    50,
     1616   -1323,    85,    85,   285, -1323, -1323,    61, -1323,    85,    85,
     1617   -1323,  4647,   857,   864,   844,  6523, -1323, -1323,   869,  4615,
     1618   -1323, -1323,   580, -1323, -1323, -1323,   285, -1323,   934,   229,
     1619   -1323,  7868, -1323,   844,   844,   844,   285, -1323,   873, -1323,
     1620    5676, -1323, -1323,   852,   844, -1323,   844, -1323,   191,  8797,
     1621   -1323,   884, -1323,   733,   890,   844, -1323,   873,   888,   892,
     1622   -1323,  7561,   631, -1323, -1323, -1323,  9256, -1323, -1323,  9621,
     1623   -1323,   868,   151, 10214,  9436,  1899,  4647, -1323,    88, -1323,
     1624   -1323,  9403,   934,   891,  7708, -1323, -1323,   347, -1323, 10561,
     1625     922,   956, 10347,   945, 10366, 10423, -1323,   954, -1323, -1323,
     1626   -1323, -1323, 10442, 10442,  8571,   952, -1323, -1323, -1323, -1323,
     1627   -1323, -1323, -1323,   988, -1323,   966,  1946,  8910, 10366, -1323,
     1628     756,   338,   485,   411,   635,   955,   947,   957,   984,   237,
     1629   -1323, -1323,   962,   647, -1323,   302, -1323, -1323,  2908, -1323,
     1630   -1323,   235,   985, -1323,   312,   985,   989,   191, -1323, -1323,
     1631     990,  9174, -1323,   999,  1006,  9023, -1323, -1323,  1335,  2030,
     1632    8286,  6523,   580, -1323,   580,   844,   844, -1323, -1323, -1323,
     1633   -1323, -1323, -1323,   844,  9174,   934, -1323, -1323,  9474,  1575,
     1634   -1323,  8017, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  1008,
     1635    5958, 10366, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
     1636   -1323, -1323, -1323, -1323, -1323, -1323,  1899, -1323,   973,   991,
     1637     992,  1012,   978,  1017,  1018,  1020,  4341, -1323, -1323,  1029,
     1638     229,  1031, -1323, -1323,  1033, -1323, -1323, -1323,  9256, -1323,
     1639   -1323, -1323, -1323, -1323,  4647, -1323,  8797,  8797, -1323,   844,
     1640    1899,  6642,   934,  8359, -1323, -1323, -1323, -1323,  9256,   151,
     1641   -1323, -1323,   580,   285, -1323, -1323,  9256, -1323,  5770, -1323,
     1642   -1323,   844,   844,   337,  8204,  1032,  1036,  1023,  1042,   844,
     1643   -1323, -1323, -1323, -1323,  9660, -1323,   367,  6404, -1323,   285,
     1644    1044, -1323,  1899, 10643, 10271, -1323, -1323, -1323, -1323,  1015,
     1645    4647, -1323,  8432,   868,  7445, -1323, -1323, -1323,   843,   436,
     1646     962,   733,  7708,  1341,  9403, -1323,  7708, -1323, -1323, -1323,
     1647   -1323,   508, -1323,  1051,   956,   248,  8571, -1323,  9512, -1323,
     1648   -1323,  8571, -1323,  8684,  8571, -1323, -1323,  1049, -1323,   606,
     1649    1057,   682,  1059, -1323, -1323,  3527,  6492, -1323,   362, -1323,
     1650   -1323, 10214, -1323,   368, 10214, -1323, -1323, -1323, -1323, -1323,
     1651   -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10214, -1323, -1323,
     1652   10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366,
     1653   10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366,  3593, 10214,
     1654   -1323,   647,  1677, -1323, -1323,    85,    85, -1323, -1323,  8797,
     1655   -1323, -1323,  1033,   631, -1323,  1033, 10290, -1323, -1323, -1323,
     1656    5046,  6492,  1060,  1063, -1323,  9436, -1323, -1323,   804, -1323,
     1657    1067,   750,  1068,  2627,   125,   962, -1323,    85,    85,   962,
     1658     132, -1323,    85,    85,  1033, -1323, -1323,    85,    85, -1323,
     1659     985,  9545,   934, 10788,   532,   656,  9545, -1323,  9621, -1323,
     1660     962, -1323,  9174, -1323,   238,  7983,  7983,  7983,   934, -1323,
     1661    5791,  1047,  1008,   493,  1058,  1061, -1323,  1076,  5225,   528,
     1662   -1323,  1165,   934,  7983,   631,  1899,   631,   868,   430,   985,
     1663   -1323, -1323,   536,   985, -1323, -1323, -1323,   956, -1323,   985,
     1664     285,  9660, -1323,   619,  1086,   633,  1088, -1323,  1087,   285,
     1665   -1323, -1323,  9256,   285,  1089,  9512,  1092, -1323,  1065, -1323,
     1666     538,   552,   733, -1323,   733,  1085, 10366, -1323,   733, 10788,
     1667   -1323, -1323,  1096, -1323, -1323, -1323,   631, -1323, 10716,  1006,
     1668   -1323,  7983,   703,  8286, -1323, -1323,   804,  1095,  1098,   843,
     1669    5016, -1323, -1323,  7708, -1323, -1323,  1091, -1323, -1323,  1102,
     1670   -1323,  1091,  1104, 10561, 10214,  1090,  1093,    94,  1109,  1107,
     1671    1111,  1114, -1323,  1118,  1129,  9365,  6611, -1323, 10214, -1323,
     1672     682,  1717, -1323, -1323, -1323,    85,    85, 10157, 10214,  1125,
     1673   -1323, -1323,   653, -1323, 10214, -1323, -1323,   736, -1323, -1323,
     1674   -1323, -1323,   756,   756,   338,   338,   485,   485,   485,   485,
     1675     411,   411,   635,   955,   947,   957,   984, 10366,   260, -1323,
     1676    9660,  1132,  1136,  1137,  1677, -1323, -1323, -1323, -1323, -1323,
     1677    9660,   708,  7983, -1323,  9174, -1323,  6968,  9136, -1323,  8017,
     1678    6849, -1323, -1323,   750,  9660,  1022,  1140,  1141,  1142,  1143,
     1679    1146,  1149,  1154, -1323,  3715,  2627, -1323, -1323, -1323, -1323,
     1680   -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
     1681   -1323, -1323, -1323,  1033, -1323, -1323, -1323,   962, -1323, -1323,
     1682   -1323, -1323, -1323, -1323, -1323, -1323,  1155, -1323,  1157,  1159,
     1683   -1323, -1323,   229,  1125,  5791, -1323, -1323, -1323,  5958,  1158,
     1684   -1323, -1323, -1323, -1323,   733,  6174,  1248, -1323, -1323, -1323,
     1685   -1323,  1151,   229, -1323, -1323,  1033, -1323, -1323,  1033,    84,
     1686    1033, -1323, -1323, -1323, -1323, -1323, -1323,  9327, -1323,   285,
     1687   -1323, -1323,   559,   562,  9474,  7087,  2137, 10366,  3114, -1323,
     1688   -1323,  1156,    51,  1156, -1323,   733, -1323,    85, -1323, -1323,
     1689    8941,  1023, -1323, -1323, -1323,  1036,  1175,  1171, -1323, -1323,
     1690    1178,  1181, -1323,   703,  1901, -1323,   672, -1323,  5016,   962,
     1691   -1323,  1184,  7708,  9583,  8797,  1185, -1323, -1323,  1180,  1187,
     1692    1170, -1323, 10366,  1197,   326,  1194, -1323,  1202,   631,  1202,
     1693   -1323, -1323,  1202,  1199, -1323,  1208,  1210,  1211,  1717, -1323,
     1694   -1323, -1323,  5958, -1323, -1323, -1323, -1323,  1209, 10214,  1212,
     1695     631, -1323, 10214, -1323,   631, -1323, -1323, 10214, -1323,   558,
     1696     985, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  1008,  1006,
     1697    9023, -1323, -1323,  7206,  1218, -1323,   674,   985, -1323,   813,
     1698     861,   985, -1323,   844,  4029, -1323, -1323, -1323,  9660,  9660,
     1699   -1323,  8359,  8359, -1323,  1215,  1216,  1225,  1230, -1323,  1232,
     1700     685,    82,  1125, -1323,   631, -1323,  5225, -1323, 10214,   564,
     1701   -1323,  6373,  1236,  1240, 10100,  1242,  1243,    70,    79,    96,
     1702   10214,  1244,   285, 10214, 10214,  1227,  1249,   522,  1222, -1323,
     1703   -1323, -1323,  1250, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
     1704   -1323, -1323,   733,  1254, 10214, -1323,  9660,  9660,    85,  1257,
     1705   -1323,  9054, -1323, -1323,   752, -1323,  3114, -1323, -1323, -1323,
     1706   -1323,  1065, -1323, -1323,  1255, -1323, -1323, -1323, -1323,  1258,
     1707    1901, -1323, -1323,  1245, -1323,  1091, -1323, -1323,  1899,  1260,
     1708   -1323, -1323, -1323,   713,  1264, -1323,    94,  1269, 10366,  1252,
     1709      94,    94,  1262,  3527,   879,   985, -1323, -1323,  1076, 10214,
     1710    1273,  1209,   358,   204,  1270, -1323, -1323,  1275,  1270, -1323,
     1711   -1323,  1278, -1323, -1323,  1033,  1280,  1284,  6730,  1285,  1290,
     1712    1291, -1323, -1323,  1286, -1323, -1323,  1033, -1323, -1323, -1323,
     1713   -1323,  1033, 10214, 10214,  1006,  1294, -1323, -1323, -1323, -1323,
     1714   -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10366, 10366,
     1715    1300,  1302,  1270, -1323, -1323,   733, -1323, -1323, -1323,  5213,
     1716    9583, 10214, 10214,  1374, 10214, -1323,  1295, -1323,  1296, -1323,
     1717    1297, 10214,  1301, 10214,  1105,  1304,    12,    85,  9289,  1625,
     1718   -1323, -1323,  6174,  1322,   573, -1323, -1323, -1323, -1323, -1323,
     1719   -1323, -1323, -1323, -1323,  9920, -1323,  8432,  1330, -1323, -1323,
     1720    9583,   576,   602, -1323,  1331,  1315,   956,  1337, -1323,   329,
     1721   -1323, -1323, -1323, -1323,  1033,  1339, -1323, -1323,  1320,   486,
     1722     509,   631,  1340, -1323,  1344, -1323,  9660, -1323, -1323, -1323,
     1723   -1323, -1323,  1347, -1323,  9660,  9660,  9660, -1323, -1323,  1348,
     1724   -1323,  1351,  1354,  1355,   716,  8056,  8171, -1323, -1323,   529,
     1725   -1323,  1357,  1362, -1323,  8505,   721,   730,  1358,   761,  3837,
     1726   -1323, -1323, -1323,   605, -1323,   766,  1366,  1367,   285,  1419,
     1727     834, -1323, -1323, 10214, -1323, 10100, 10214, -1323, -1323, -1323,
     1728    1370,  1375, -1323, -1323, -1323,  1372, -1323, -1323, -1323, -1323,
     1729   -1323, -1323,  9583,   956,  1379, -1323,  1352,   956,  9660, -1323,
     1730   -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
     1731   -1323, -1323, -1323,  1378,  1382, -1323, -1323, -1323, -1323, -1323,
     1732   -1323, -1323,  1387, -1323,  1386, -1323, -1323, 10100,   289, 10214,
     1733   10100, -1323,  1389, 10214, -1323,   318,  1405,  1406, -1323, -1323,
     1734    1399,  1400,  1380, -1323,   821, -1323, -1323, -1323,   934,  1899,
     1735    1396, -1323,   402, 10366, -1323,   785, -1323,   631,   631,  1407,
     1736    1408,  1413,  1415, -1323, -1323,  8359,  1414, -1323,  1490, 10366,
     1737    1385, -1323, -1323, 10012, -1323,   800, -1323,  1402, 10100,  1403,
     1738   -1323, -1323,  1426, -1323,  1427, -1323,  1445,  1446, -1323,  1411,
     1739    9583, -1323, -1323, -1323,   956,   631,  1434,  1417,  1435,  1270,
     1740    1270, -1323, -1323, -1323, -1323, -1323, 10100,   107, -1323,   433,
     1741   -1323, -1323,  7793, -1323, -1323,  1418, 10214, -1323, 10214,  7793,
     1742     285,  9512,   285,  9512,  1436, -1323,  1442, -1323, -1323,  1440,
     1743   -1323, -1323,   825, -1323, -1323, -1323,  1444,  1449, -1323, 10366,
     1744   10366, -1323, -1323,   909,   211, -1323, -1323,  1425, -1323,   909,
     1745   -1323, -1323,  2166,   631, -1323, -1323,   285,  9512,   285,  9512,
     1746    1453,  1431,   631, -1323, -1323, -1323, -1323, 10012,  1443,   909,
     1747    6091, 10214,  9924,  1452,   909,  1454,  2166,  3344, -1323, -1323,
     1748   -1323,  1458, -1323, -1323, -1323, -1323,  8797, -1323, -1323, -1323,
     1749    9791, -1323, 10012, -1323, -1323,  1438,  9703, -1323, -1323,  9924,
     1750     285,  3344,   285,  1464,  1466,   853, -1323,  9791, -1323, -1323,
     1751   -1323,  9703, -1323, -1323, -1323,   285,   285, -1323, -1323, -1323,
     1752   -1323, -1323, -1323, -1323, -1323
    17531753};
    17541754
     
    17561756static const yytype_int16 yypgoto[] =
    17571757{
    1758    -1282,  4519,  3402, -1282,   393, -1282,   353,   929,  -255,   927,
    1759    -1282,   536,  -524,  -496,  -864,   -86,  4763,     0, -1282,  1012,
    1760      494,   506,   417,   512,  1032,  1034,  1040,  1042,  1039, -1282,
    1761     -348,  -520,  3026,  -967, -1282,  -684,   629,   -16,  -590,   453,
    1762    -1282,   172, -1282,   397, -1192, -1282, -1282,   141, -1282, -1281,
    1763    -1043,   247, -1282, -1282, -1282, -1282,    72, -1149, -1282, -1282,
    1764    -1282, -1282, -1282, -1282,   315,  -843,    50, -1282,  -384, -1282,
    1765      498,   288, -1282,   167, -1282,  -343, -1282, -1282, -1282,   546,
    1766     -651, -1282, -1282,     8, -1002,    97,  1423, -1282, -1282, -1282,
    1767     -125, -1282,    23,  1201,  -202,  1925,  4332, -1282, -1282,    52,
    1768      224,   459,  1086, -1282,  1865, -1282, -1282,    25,  2362, -1282,
    1769     2640,  1529, -1282, -1282, -1282,  -646, -1282,   935,   945,   535,
    1770      718,    78, -1282, -1282, -1282,   934,   722,  -464, -1282,   -94,
    1771      -89,   313, -1282, -1282,  -870,  -942,   -24,  1177,  1054,   368,
    1772    -1282,  1732,   548,  -317,  -213,  -127,   662,   776, -1282,   990,
    1773    -1282,  3077,  1178,  -438,   923, -1282, -1282,   710, -1282,  -234,
    1774    -1282,    99, -1282, -1282, -1282, -1240,   423, -1282, -1282, -1282,
    1775     1170, -1282,   -20, -1282, -1282,  -853,  -105, -1239,  -126,  2286,
    1776    -1282,  2146, -1282,   921, -1282,  -146,    59,  -177,  -171,  -166,
    1777        7,   -40,   -28,   -27,   725,     4,    28,    37,   -63,  -154,
    1778     -151,  -150,  -141,  -271,  -540,  -513,  -508,  -569,  -320,  -517,
    1779    -1282, -1282,  -518,  1092,  1093,  1097,  1371,  5065,  -582,  -555,
    1780     -549,  -535,  -441, -1282,  -497,  -722,  -721,  -701,  -607,  -309,
    1781     -346, -1282, -1282,   185,   133,   -15, -1282,  3702,   -45,  -609,
    1782     -238
     1758   -1323,  4572,  3263, -1323,   197, -1323,   601,   950,  -251,   910,
     1759   -1323,   521,  -520,  -467,  -853,   -64,  3183,     0, -1323,  -150,
     1760     423,   446,   477,   450,  1016,  1025,  1019,  1026,  1028, -1323,
     1761    -622,  -408,  5012,  -745, -1323,  -735,   604,   472,  -656,   413,
     1762   -1323,  1279, -1323,   374, -1058, -1323, -1323,   126, -1323,  -823,
     1763   -1106,   222, -1323, -1323, -1323, -1323,    58, -1209, -1323, -1323,
     1764   -1323, -1323, -1323, -1323,   301, -1149,    35, -1323,  -933, -1323,
     1765     482,   274, -1323,   159, -1323,  -303, -1323, -1323, -1323,   535,
     1766    -827, -1323, -1323,    15, -1007,    71,    28, -1323, -1323, -1323,
     1767     -21, -1323,   357,  1253,  -198,  1636,  4113, -1323, -1323,    80,
     1768      54,   422,  1473, -1323,  1886, -1323, -1323,   192,  2183, -1323,
     1769    2495,   898, -1323, -1323, -1323,  -638, -1323,   924,   925,   524,
     1770     699,    83, -1323, -1323, -1323,   915,   695,  -339, -1323,  -106,
     1771      34,  1281, -1323, -1323,  -847,  -986,  1046,  1127,  1039,     5,
     1772   -1323,  1536,   481,  -165,  -210,  -124,   651,   758, -1323,   979,
     1773   -1323,  2789,  1548,  -413,   904, -1323, -1323,   689, -1323,  -235,
     1774   -1323,   158, -1323, -1323, -1323, -1257,   401, -1323, -1323, -1323,
     1775    1148, -1323,    21, -1323, -1323,  -858,  -105, -1322,  -129,  2267,
     1776   -1323,  2391, -1323,   906, -1323,  -184,    59,  -180,  -173,  -170,
     1777       7,   -40,   -35,   -33,    60,    -6,    25,    93,  -168,  -164,
     1778    -158,  -147,  -144,  -292,  -471,  -462,  -452,  -551,  -302,  -537,
     1779   -1323, -1323,  -511,  1069,  1072,  1074,  2608,  4844,  -578,  -514,
     1780    -502,  -495,  -500, -1323,  -508,  -724,  -717,  -708,  -590,  -305,
     1781    -195, -1323, -1323,   246,    19,    36, -1323,  3865,   104,  -623,
     1782    -397
    17831783};
    17841784
     
    17861786   positive, shift that token.  If negative, reduce the rule which
    17871787   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1788 #define YYTABLE_NINF -521
     1788#define YYTABLE_NINF -522
    17891789static const yytype_int16 yytable[] =
    17901790{
    1791       49,   113,   428,   149,   166,   453,   440,    97,   399,   114,
    1792      766,   267,   143,   844,   400,   150,   151,   740,   628,   401,
    1793      827,  1070,   632,    63,   752,    76,   505,   964,   965,   609,
    1794      566,   402,    49,   826,   403,   404,   596,   868,  1187,    97,
    1795      407,   383,   384,   147,   405,   819,   919,   152,   966,    49,
    1796       50,   820,    69,   794,   725,    63,   161,    76,   730,    96,
    1797      815,   410,   357,   186,   567,   821,   209,   358,   166,    49,
    1798      193,   153,   973,   216,  1177,   669,   226,   219,   604,  1171,
    1799      154,  1379,    50,   818,    69,  1204,  1205,   816,   399,   202,
    1800      260,    96,   817,  1195,   400,   678,   425,    56,   115,   401,
    1801     1178,   327,   148,   682,    31,   113,  1468,   409,    96,   673,
    1802      675,   402,  1302,   113,   403,   404,   266,   271,   122,  1137,
    1803      407,  1443,   189,   408,   405,    96,    31,  1197,    96,    56,
    1804      747,   471,  1178,   106,   106,   475,   477,  -232,  -232,   203,
    1805      342,   280,    31,   948,   986,   149,   307,   147,  1398,  1399,
    1806     1169,  1170,   476,  1196,   161,   113,   345,   150,   151,  1439,
    1807      209,  1245,   830,   210,   436,   106,   220,   373,   837,  1181,
    1808       31,   859,   860,   714,   252,   923,   411,   729,   815,  1458,
    1809      735,  1303,   291,   964,   965,   186,   186,  1198,   877,   152,
    1810      913,   847,   123,   161,   327,   848,   742,   667,   411,   281,
    1811      736,   266,   106,   408,   966,   816,    96,   527,  -232,    49,
    1812      817,   951,   419,   153,   411,  1443,   161,   720,  1400,    96,
    1813     1443,   209,   154,  1069,    70,   149,   436,   173,   443,   168,
    1814     1439,   463,   377,   142,   163,  1077,    31,   150,   151,   307,
    1815     1443,   144,  1016,   804,   398,   189,   931,  1443,   378,   734,
    1816       31,    49,   723,   169,  1080,  1015,    70,   819,    97,   271,
    1817      664,   798,   166,   820,   271,   266,   266,  1199,    96,   253,
    1818       31,   113,   815,   161,    63,   991,    76,   821,   519,   472,
    1819       96,    76,   609,  1171,   146,   853,  1187,  1398,  1399,  1248,
    1820      212,   656,   476,   471,   307,  1003,   556,   557,   163,   816,
    1821      598,    50,  1139,    69,   817,   155,   481,   307,   411,  1525,
    1822       96,   596,  1200,   471,   568,  1093,   596,  1249,   441,   671,
    1823      828,   471,   601,   571,   479,   676,   588,   447,   147,  1536,
    1824      171,   558,   559,  1171,   664,   373,  1540,   994,   898,   357,
    1825      835,   113,   601,   665,   358,   345,   460,   922,    56,   602,
    1826      620,   827,  1526,   870,   111,   642,   342,  1409,  1070,  -467,
    1827     1118,  -467,  1423,   110,   625,   417,   831,   181,   625,   387,
    1828      834,   113,   871,   830,    41,    42,  1424,   819,  -467,  1541,
    1829     1119,   327,   327,   820,   106,   388,  1084,    96,   437,  1186,
    1830      201,   851,   844,   713,   435,   854,   266,   821,   445,   579,
    1831      390,   411,   759,   110,  1169,  1170,   186,   582,   603,   411,
    1832      672,   674,  -289,   373,    41,    42,   391,   665,   392,     8,
    1833        9,    10,    11,    12,   266,   177,   307,   307,  -288,  1496,
    1834      266,  1116,   357,   625,   393,  1501,   714,   358,   985,  1187,
    1835      702,   472,   764,    76,  1325,   442,  1187,   577,    31,   327,
    1836      176,   394,  1171,   578,   113,  1521,   435,   996,   247,  1201,
    1837     1528,   472,   804,    76,  1326,   189,   520,   395,   327,   472,
    1838     1126,    76,   266,   914,   261,    70,    34,   262,   250,   523,
    1839      266,   952,   625,  -516,    49,  1135,  1469,   373,   719,   915,
    1840      519,    97,   163,   252,   113,   519,   357,  1187,   519,   176,
    1841     1470,   358,   176,  1104,   609,   711,   307,    63,   113,    76,
    1842      342,   307,   263,   307,   307,  1029,   110,  1016,  1244,   -10,
    1843      869,   750,  1428,  1429,  1434,   113,   345,    41,    42,   229,
    1844      881,   330,   230,   327,    50,   234,    69,   236,   916,   683,
    1845      704,   910,  -440,    96,   245,   578,   705,   603,   176,   879,
    1846      804,   787,  -441,  1014,   917,  1330,   471,   882,   922,   411,
    1847     1069,     2,   206,     4,     5,     6,     7,  1157,  1159,   493,
    1848      571,   571,   494,    37,   212,   845,   914,    40,   307,   276,
    1849      598,    56,   928,   916,    41,    42,   439,   331,  1126,   625,
    1850      345,  1184,  1081,   913,   620,   714,   278,  1236,  1184,  1082,
    1851      602,   279,   602,   922,   372,   465,  1316,  1185,  1019,  1484,
    1852      812,   176,   601,  1318,  1308,   680,   371,   106,    45,    46,
    1853      625,   110,  1317,   332,   912,   625,    35,   620,    36,  1319,
    1854      333,   625,    41,    42,   625,   625,   625,  1362,  1138,   691,
    1855      483,   706,   806,  1512,   721,  1514,   702,   500,  1027,   731,
    1856      722,   286,   625,   747,   266,   732,   713,  1276,  1277,   814,
    1857     1332,   603,    41,    42,   334,   176,  1014,   376,  1074,  1363,
    1858      110,   229,   176,  -120,   746,  -120,   252,   329,   520,  -120,
    1859      747,    41,    42,   520,   113,   335,   520,   907,   514,  1029,
    1860      596,   523,   385,   523,  -120,  -120,   523,   212,  1360,   523,
    1861     1101,   252,   329,   411,   472,   570,    76,   411,    70,  1112,
    1862      625,   933,   620,    45,    46,   357,   177,   849,   719,   719,
    1863      358,   850,   389,     8,     9,    10,    11,    12,   399,   342,
    1864      472,  1234,    76,   629,   400,  1238,   549,   633,   498,   401,
    1865     1034,   176,   550,   551,   113,   345,   911,   892,   397,   750,
    1866      750,   402,    31,   747,   403,   404,   409,   894,   176,   450,
    1867      980,   407,   176,   747,   405,   702,   981,   993,   711,   922,
    1868      552,   553,  1408,   705,   162,   702,   804,   814,   603,  1232,
    1869       34,  1373,   426,   964,   965,   578,  1356,   427,   194,   702,
    1870     1474,   217,   747,   571,   227,   849,  1357,  1474,   749,  1100,
    1871      411,   625,   747,   625,   966,   999,    45,    46,   625,   345,
    1872     1161,   229,   602,   234,   432,   713,   110,  1359,   139,   238,
    1873      111,   554,   555,   747,   602,   176,  1364,    41,    42,   922,
    1874      922,    37,   747,   183,   184,    40,  -103,   714,   461,  1426,
    1875     -103,   890,    41,    42,   408,  1423,   442,  1348,  1522,   462,
    1876      897,  1349,  -364,   239,   899,  1476,  -393,  1477,   240,   484,
    1877      952,   806,  1425,   504,   952,   952,   291,  1444,   905,   691,
    1878      411,   814,   162,   747,   307,   508,    45,    46,  1436,   513,
    1879      885,   760,   411,   603,   525,   374,   765,   527,   342,   906,
    1880        2,   206,     4,     5,     6,     7,   625,    63,   327,    76,
    1881     1490,   229,   563,   113,   345,   907,  1491,   907,  1182,   562,
    1882     1523,   162,   110,   564,   139,   140,   714,   565,  1141,   113,
    1883      411,   338,   212,    41,    42,   568,    69,   711,  -437,    48,
    1884      112,  1168,   933,   933,   162,   465,   212,   719,  1153,   664,
    1885      411,  1546,   113,   307,   910,   586,   444,   578,  1494,  1436,
    1886     1105,   864,   560,   561,   845,    35,   589,    36,   112,   112,
    1887      932,    48,   601,  1156,  1083,   601,   911,   750,    45,    46,
    1888       -3,    56,    48,   775,   776,   777,   778,  1158,    48,   601,
    1889     1323,   638,   176,   891,  1508,  1241,    48,   411,  1087,   846,
    1890     1087,   657,    48,   702,   702,    48,   603,   658,    48,   345,
    1891      984,   981,  1227,   329,   411,   861,   878,   106,   880,  1369,
    1892     1370,   112,   112,   110,   176,   139,   140,   659,    -3,   876,
    1893      625,   625,   665,   661,    41,    42,   666,   912,   662,   212,
    1894      176,  1418,   981,  1126,   922,    48,   663,    37,    48,  1106,
    1895      307,    40,  1398,  1399,   176,    48,   771,   772,    41,    42,
    1896      922,   702,   702,   374,   737,   243,   738,   713,   927,   739,
    1897      773,   774,   743,   472,   668,    76,   110,  1380,   139,   140,
    1898     1079,  1380,   779,   780,    43,   106,    48,    41,    42,   257,
    1899      113,   692,    45,    46,    48,   907,   419,   660,   411,    48,
    1900      907,   693,  1189,   481,   329,   411,   697,    37,    70,   933,
    1901      500,    40,   987,   695,   691,  -236,   733,   266,    41,    42,
    1902      748,   744,   992,   756,    48,    48,   110,   807,   139,   140,
    1903      922,   922,   625,   808,   867,   176,  1004,    41,    42,   811,
    1904       48,   374,   822,   873,   718,   896,   -12,    56,    48,   828,
    1905      329,   601,    45,    46,   911,   -13,   345,    48,   866,   911,
    1906       48,   893,   213,   726,  1295,  1296,  1297,   112,   727,   895,
    1907      900,   232,  1331,  1333,  1334,   903,   921,  -414,  1459,   711,
    1908     -520,   936,   112,   106,  1284,  1285,   112,  1287,   722,   943,
    1909       48,   112,   945,   956,  1292,  1351,  1294,   957,   271,   113,
    1910      949,   498,   342,   950,    48,    48,   977,   219,   958,  1312,
    1911      959,    48,   116,   213,   960,   961,  -290,   113,    48,   988,
    1912      989,   307,   990,     8,     9,    10,    11,    12,  1005,  1006,
    1913     1007,  1008,  1009,  1203,  1010,   625,   442,  1011,  1022,   113,
    1914     -402,   702,  -401,  1071,    63,   906,    76,  1105,  1036,   702,
    1915      702,   702,    31,  1094,   215,  1095,   213,  1073,   711,  1096,
    1916      159,     2,   206,     4,     5,     6,     7,    48,  1097,  1103,
    1917      242,  1113,  1114,    69,    70,   691,   747,  1117,  1115,  1120,
    1918       34,   971,  1122,  1421,   625,   625,  1123,    48,    48,  1124,
    1919      228,  1534,  1125,   271,  1128,   210,   220,  1131,   307,   176,
    1920     1151,  1176,  1172,  1174,    48,   215,   510,  1173,    48,  1175,
    1921     1190,  1191,  1193,   702,  1194,  1202,   258,   213,    56,   643,
    1922     1121,   472,  1206,    76,   159,    -3,    35,  1207,    36,   547,
    1923      548,   113,   106,  1214,  1219,    48,  1106,  1058,   399,  1105,
    1924     1166,  1167,  1132,  1222,   400,    48,  1132,  1224,   215,   401,
    1925     1189,  1209,  1404,   493,   106,   213,  1228,   323,  1233,  1235,
    1926      213,   402,  1237,    48,   403,   404,   339,   547,  1240,    48,
    1927      407,    48,   106,  1246,   405,   499,  1250,  1252,  1254,  1256,
    1928       37,  1257,   183,   184,    40,  1258,  1507,  1259,   266,  1260,
    1929      441,    41,    42,  1262,   664,    56,  1132,  1269,  1216,  1217,
    1930     1278,  1279,  1286,   547,   625,  1307,   112,  1314,  1289,   215,
    1931     1290,    48,   528,   529,   530,  1320,   430,   185,  1291,    48,
    1932      434,  1322,   212,    48,  1293,    45,    46,    48,  1106,   113,
    1933      112,   106,   112,    57,    57,  1301,   531,  1105,   532,  1324,
    1934      533,   534,   528,   529,   530,    70,   213,   215,  1328,  1329,
    1935      323,   113,   215,   408,  1335,  1336,  1338,  1344,   113,  1345,
    1936      113,  1346,   113,  1347,   106,    57,   531,   112,   532,  1358,
    1937      533,  1305,   112,  1354,   472,   149,    76,   665,  1355,  1367,
    1938      327,   472,   434,    76,  1365,   488,  1366,   150,   151,  1297,
    1939     1374,  1506,  1375,  1376,  1382,  1383,   113,  -403,   113,    57,
    1940     1392,  1393,    57,  1189,  1396,   521,  1192,  1407,  1411,   113,
    1941     1189,  1413,  1415,  1416,  1422,  1506,  1506,   442,   159,  1430,
    1942     1431,   112,    70,   161,  1432,   307,  1106,   213,    48,  1433,
    1943     1417,  1435,   472,  1349,    76,  1440,  1449,  1451,   215,    48,
    1944     1506,    48,  1453,  1445,   213,  1447,  1455,   373,    56,  1462,
    1945     1457,  1464,   587,  1463,  1475,    56,   593,  1485,  1487,  1489,
    1946       48,  1189,   106,  1492,  1493,  1515,  1500,  1516,  1520,   213,
    1947      413,   768,   769,   770,   479,   626,    48,   421,  1337,   630,
    1948     1527,   112,   339,  1529,   106,  1531,  1339,  1340,  1341,   348,
    1949       48,   106,   112,    48,   112,  1537,  1544,    37,  1545,   174,
    1950      175,    40,  1208,   888,   781,   214,    56,   782,    41,    42,
    1951      176,  1132,  1132,  1132,   783,   785,  1130,   784,  1306,   215,
    1952     1495,  1410,  1547,  1368,  1384,  1478,    48,  1213,  1239,   901,
    1953      112,  1479,   112,  1483,   372,  1221,   112,   323,   323,   902,
    1954     1088,   924,   106,  1127,   112,  1482,   800,  1482,   872,   413,
    1955     1385,   703,  1092,  1035,    57,   938,   214,    48,    48,  1102,
    1956        0,   215,  1315,   946,   716,   687,     0,  1511,     0,  1513,
    1957        0,    48,   790,   791,  1058,    70,     0,   792,   116,     0,
    1958        0,  1482,    70,  1482,    57,     8,     9,    10,    11,    12,
    1959      213,     0,     0,     0,     0,     0,     0,     0,    37,   214,
    1960      183,   184,    40,   488,   576,   323,     0,   488,     0,    41,
    1961       42,  1542,   580,  1543,    31,   583,     0,   521,   213,   521,
    1962        0,  -291,   521,   213,   323,   521,  1550,  1551,     8,     9,
    1963       10,    11,    12,    70,     0,   600,   339,   601,     0,     0,
    1964        0,     0,    34,    45,    46,     0,     0,     0,     0,  1132,
    1965     1132,    48,     0,     0,     0,  1420,     0,    31,     0,     0,
    1966      214,     0,     0,    48,     0,     0,     0,  1372,     0,     0,
    1967        0,     0,   141,     8,     9,    10,    11,    12,   972,   413,
    1968      176,     0,   215,   421,   570,    34,   411,  1460,     0,   323,
    1969        0,     0,    45,    46,   213,     0,     0,     0,   214,     0,
    1970      802,     0,    31,   214,     0,     0,   643,     0,   213,     0,
    1971      215,     0,   112,     0,     0,   215,     0,     0,     0,  1397,
    1972        0,     0,  1405,     0,   241,   244,     0,     0,   499,     0,
    1973       34,   843,     0,     0,     0,    48,   593,     0,     0,     0,
    1974        0,     0,   852,     0,    48,  1509,    48,    37,     0,   174,
    1975      175,    40,     0,   112,  1517,     0,     0,   703,    41,    42,
    1976      413,     0,     0,     0,     0,  1442,   348,     0,     0,     0,
    1977     1446,     0,   749,     0,   411,    74,    48,     0,     0,     0,
    1978       45,    46,     0,     0,   376,     0,   215,     0,     0,   214,
    1979        8,     9,    10,    11,    12,   687,   112,     0,  1467,     0,
    1980      215,   213,     0,     0,     0,     0,     0,    74,     0,     0,
    1981      643,     0,    37,     0,   183,   184,    40,    57,   112,    31,
    1982        0,     0,   112,    41,    42,     0,   129,     0,   130,   131,
    1983      132,     0,     0,   488,     0,    66,   117,    41,    42,     0,
    1984        0,     0,     0,     0,   222,     0,     0,    34,     0,   265,
    1985        0,   576,   576,     0,     0,   339,     0,    45,    46,   348,
    1986        0,     0,    37,     0,   174,   175,    40,    66,     0,     0,
    1987      214,     0,   112,    41,    42,     0,   703,     0,     0,     0,
    1988        0,     0,  1535,     0,   160,   457,   703,     0,  1535,   932,
    1989        0,   601,     0,   215,     0,     0,     0,    45,    46,  1535,
    1990      703,     0,     0,  1535,   221,     0,     0,     0,     0,     0,
    1991      112,     0,   214,     0,   995,     0,     0,     0,     0,   802,
    1992        0,   547,     0,   348,    48,     0,     0,     0,     0,    48,
    1993        0,   353,     0,    37,     0,   183,   184,    40,   883,     0,
    1994      259,     0,   886,     0,    41,    42,    48,     0,     0,     0,
    1995        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    1996        0,     0,   510,     0,     0,     0,     0,   348,   348,   348,
    1997      905,     0,   411,     0,     0,     0,     0,     0,    45,    46,
    1998       31,     0,   328,     0,     0,   348,     0,     0,     0,     0,
    1999      259,   350,     0,     0,     0,     0,     0,     0,   213,     0,
    2000        0,     0,     0,     0,     0,   449,     0,   802,    34,     0,
    2001        0,     0,     0,    37,   339,   183,   184,    40,     0,     0,
    2002        0,   406,   644,   112,    41,    42,    74,     0,     0,     0,
    2003      687,    74,     0,   214,     0,     0,   424,     0,     0,   429,
    2004      431,     0,     0,   348,   160,     0,    48,     0,     0,     0,
    2005      185,     0,   488,  1107,   323,     0,     0,     0,    45,    46,
    2006        0,   214,     0,     0,     0,   448,   214,     0,     0,   451,
    2007        0,   452,     0,     0,   576,     0,     0,     0,     0,     0,
    2008      459,     0,   126,   126,   126,     0,    66,   112,   112,   112,
    2009      215,   473,     0,     0,     0,     0,     0,     0,     0,     0,
    2010        0,   480,     0,     0,   703,   703,     0,     0,     0,   431,
    2011      843,   535,   536,   537,   538,   539,   540,   541,   542,   543,
    2012      544,     8,     9,    10,    11,    12,   222,    37,     0,   183,
    2013      184,    40,     0,   724,   348,   728,     0,   214,    41,    42,
    2014        0,     0,   348,     0,     0,   545,     0,     0,     0,     0,
    2015       31,   214,     0,     0,   126,     0,   126,     0,     0,     0,
    2016        0,     0,   703,   703,  1505,     0,   411,     0,     0,     0,
    2017        0,     0,    45,    46,     0,     0,   259,     0,    34,     0,
    2018      594,   275,     0,    37,   213,     0,   622,    40,     0,     0,
    2019        0,   687,   413,    74,    41,    42,     0,     0,     0,   627,
    2020        0,     0,     0,   627,     0,     0,   259,    57,   353,     0,
    2021        0,     0,     0,    74,     0,     0,    48,    48,     0,     0,
    2022       43,    74,   124,   127,   128,   112,   112,     0,    45,    46,
    2023        0,     0,     0,   802,     0,     0,     0,   126,     0,   353,
    2024        0,     0,     0,     0,   214,   126,     0,   126,   126,     0,
    2025        0,     0,   126,   473,   126,   126,     0,   353,     0,    74,
    2026        0,     0,     0,   112,     0,     0,     0,     0,   350,  1142,
    2027        0,     0,    77,   473,     0,    57,   215,     0,     0,   213,
    2028        0,   473,     0,     0,   865,     0,  1154,     0,     0,     0,
    2029        0,     0,     0,     0,   254,     0,   255,     0,     0,   698,
    2030        0,   353,   431,     0,    77,     0,     0,     0,     0,     0,
    2031     1313,     0,     0,     0,     0,     0,     0,   712,   339,    66,
    2032       48,   112,     0,     0,   126,     0,     0,   431,     0,     0,
    2033      112,   431,     0,   918,     0,   920,     0,     0,     0,   457,
    2034     1107,   223,   703,     0,    48,    48,     0,     0,     0,     0,
    2035      703,   703,   703,   348,   348,     0,     0,     0,     0,     0,
    2036      259,   350,     0,     0,   413,   353,     0,     0,     0,    48,
    2037        0,   215,     0,    57,     0,     0,     0,   396,     0,     0,
    2038        0,     0,     0,     0,     0,     0,     0,   415,   416,     0,
    2039        0,     0,   420,     0,   422,   423,     0,     0,     0,     0,
    2040        0,     0,     0,     0,  1242,     0,   793,     0,     0,   353,
    2041      353,   353,     0,     0,   703,     0,     0,     0,     8,     9,
    2042       10,    11,    12,     0,   627,   805,     0,   353,   355,     0,
    2043        0,     0,  1107,     0,     0,     0,     0,   824,     0,     0,
    2044        0,   214,     0,     0,     0,   353,     0,    31,     0,     0,
    2045        0,     0,     0,     0,     0,   594,    74,     0,     0,     0,
    2046      594,     0,     0,     0,     0,     0,   627,     0,     0,   350,
    2047      350,   350,     0,     0,     0,    34,     0,     0,     0,     0,
    2048       37,     0,    74,     0,    40,   353,     0,   350,     0,     0,
    2049        0,    41,    42,     0,     0,     0,     0,     0,     0,     0,
    2050        0,     0,     0,     0,     0,   698,     0,     0,     0,   644,
    2051        0,     0,     0,     0,     0,  1039,   473,   718,     0,     0,
    2052      353,    57,    57,    77,     0,    45,    46,     0,    77,     0,
    2053     1107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2054        0,     0,   473,     0,    57,   350,     0,     0,     0,     0,
    2055       79,     0,     0,     0,   937,     0,  1089,   431,     0,     0,
    2056        0,  1481,    57,  1481,   353,     0,     0,     0,     0,     0,
    2057        0,     0,     0,     0,   353,     0,   353,     0,     0,   259,
    2058      712,   222,    79,     0,   353,   967,     0,     0,   353,     0,
    2059        0,     0,     0,     0,     0,     0,     0,  1481,     0,  1481,
    2060        0,     0,     0,     0,     0,     0,     0,   348,   348,     0,
    2061        0,     0,     0,   644,     0,     0,    57,     0,     0,   224,
    2062        0,    57,     0,   223,   698,     0,   323,   214,     0,     0,
    2063      126,   126,     0,     0,   698,     0,   350,     0,   627,     0,
    2064        0,  1002,     0,   627,   805,     0,     0,     0,   698,    74,
    2065        0,     0,     0,     0,    57,     0,     0,     0,  1013,   126,
    2066        0,     0,   126,   126,     0,   126,     0,   126,   126,     0,
    2067        0,     0,   126,   126,     0,     0,     0,     0,     0,   353,
     1791      49,   113,   407,   149,   453,   399,   428,    97,   150,   440,
     1792     151,   267,   400,   753,   767,   401,   114,  1071,   408,   106,
     1793     106,   402,   974,   280,   869,   828,   965,   403,    57,    57,
     1794     505,   845,    49,   966,  1188,    50,  1172,   152,   404,    97,
     1795     597,   405,   967,   147,   383,   384,   741,   610,  1070,    49,
     1796     357,   106,   827,   143,    70,   920,   161,   605,   410,    96,
     1797      57,   795,   177,   186,   819,  1380,   209,    50,   153,    49,
     1798     193,    56,   115,   216,   923,  1303,   226,  1440,   949,   726,
     1799      69,   281,   407,   731,   219,   399,    70,   820,   106,    31,
     1800      31,    96,   400,   724,    57,   401,   425,    57,   408,   821,
     1801      31,   402,   148,    56,   831,   113,   822,   403,    96,   162,
     1802     838,   261,    69,   113,   262,   670,   266,   271,   404,   122,
     1803     212,   405,   189,   194,    31,    96,   217,    31,    96,   227,
     1804     816,  1138,   475,   477,   510,   679,   154,   210,   202,   817,
     1805     220,   260,  1196,   683,  1304,   149,   307,   147,  1440,   818,
     1806     150,  1198,   151,   166,   161,   113,   345,   548,   549,   252,
     1807     209,   411,   411,  1459,    31,   986,   527,   373,  1200,   629,
     1808     419,    31,   411,   633,  1170,  1171,   291,   715,  1178,   152,
     1809     914,  1182,   965,  1235,   348,   186,   186,  1239,   203,   966,
     1810     358,   342,    76,   161,  1078,   548,   721,   481,   967,   411,
     1811     668,   266,  1197,  1469,  1179,   952,    96,   162,   832,    49,
     1812     153,  1199,   835,  1201,  1187,   409,   161,   166,   123,    96,
     1813     374,   209,   665,   439,    76,   149,   252,   329,   443,  1179,
     1814     150,   548,   151,   852,   829,   471,   602,   855,   666,   307,
     1815    1172,   836,  1030,   602,   398,   189,   162,  1017,   816,    57,
     1816     327,    49,  1140,   735,   176,  -233,  -233,   817,    97,   271,
     1817     476,   674,   676,  1081,   271,   266,   266,   818,    96,   162,
     1818     106,   113,   463,   161,  1016,   442,  1004,   483,   154,    57,
     1819      96,   444,  1188,   992,   500,   923,    50,   142,   924,  1249,
     1820    1172,   657,   441,  1527,   307,   163,   665,   860,   861,   820,
     1821     146,   610,  1094,   176,  1485,    70,   176,   307,  1205,  1206,
     1822      96,   821,   666,   436,   878,   831,   597,  1250,   822,   672,
     1823    1542,   597,    56,   572,   479,   677,  -233,   357,   147,   730,
     1824     923,    69,   567,  1399,  1400,   373,   168,   155,  1513,   377,
     1825    1515,   113,   816,   327,   580,   345,   411,   476,   743,   603,
     1826     621,   817,   176,   177,  1071,   378,   828,    63,   736,   163,
     1827     169,   818,  1399,  1400,   626,  1139,   568,  1497,   626,   569,
     1828     630,   113,   932,  1502,   634,   436,   748,   589,   737,   899,
     1829     110,   144,   139,   140,  1246,  1070,   447,    96,   374,    63,
     1830     987,    41,    42,  1522,  1202,   805,   266,   471,  1529,   171,
     1831     769,   770,   771,  1401,   212,   460,   186,   342,   604,  1172,
     1832     845,   166,   578,   373,   799,   176,  1030,   471,   579,   820,
     1833     357,   583,   243,   411,   266,   471,   307,   307,  1170,  1171,
     1834     266,   821,  1410,   626,   110,  1188,  1119,   854,   822,  1326,
     1835     110,   715,  1188,    76,  1526,    41,    42,   684,    76,   599,
     1836    1020,    41,    42,   579,   113,   435,  1120,   553,   554,  1327,
     1837    1127,   348,  1363,   995,  1537,   189,   374,   358,  -121,   176,
     1838    -121,  1541,   266,   760,  -121,   493,   176,   705,   494,   765,
     1839     266,   387,   626,   706,    49,   357,   953,   373,   720,  -121,
     1840    -121,    97,   229,  1188,   113,   230,   923,   388,   234,  1085,
     1841     236,   557,   558,   106,   911,  1245,   307,   245,   113,  1158,
     1842    1160,   307,    57,   307,   307,  1136,   714,   435,  1424,    50,
     1843     913,   751,  1017,   610,   870,   113,   345,   212,   882,  1105,
     1844     327,   327,  1425,  1015,  1429,  1430,   559,   560,    70,   883,
     1845     523,   411,  1102,    96,  1117,   176,   722,   604,  1435,  1470,
     1846     880,   181,   723,   163,   348,    56,   923,   923,   110,   390,
     1847     358,   342,   176,  1471,    69,   110,   176,   139,   140,    41,
     1848      42,   572,   572,   555,   556,   391,    41,    42,  1127,   307,
     1849    1444,   110,   201,   914,     2,   206,     4,     5,     6,     7,
     1850     626,   345,    41,    42,   286,   621,   392,  1331,   327,  -289,
     1851     715,   603,   111,   603,   865,    41,    42,   973,    63,   997,
     1852      76,   247,   393,   472,   805,  1475,   250,   327,   732,   348,
     1853    1333,   626,  1475,  -517,   733,   358,   626,   847,   621,   176,
     1854      76,   514,   626,  1361,   229,   626,   626,   626,    76,   871,
     1855    -468,   643,  -468,   862,   848,   886,  1015,   411,   849,    35,
     1856     394,    36,  1028,   626,   915,   266,   252,   877,   872,  -468,
     1857     815,   471,   604,   348,   348,   348,   395,  1142,   917,   411,
     1858     916,   807,  1075,  1523,  1444,   915,    76,   442,   917,  1444,
     1859    1185,   348,   263,   327,   918,   113,    37,   929,   908,  1185,
     1860      40,  1082,  1317,   -10,  1083,   597,  1186,    41,    42,  1444,
     1861     692,   498,   805,   110,   357,  1309,  1444,  1409,  1318,  1113,
     1862    1237,   626,   934,   621,    41,    42,   747,  -441,  1319,   720,
     1863     720,   748,   748,    43,   407,   846,   399,   561,   562,   893,
     1864     599,    45,    46,   400,  1320,   748,   401,  1364,   500,   348,
     1865     408,  -442,   402,   895,  1035,   113,   345,   912,   403,   748,
     1866     751,   751,   523,   212,   523,   276,   571,   523,   411,   404,
     1867     523,   923,   405,   981,    45,    46,   519,   212,   850,   982,
     1868    1277,  1278,   851,   278,   229,   472,   234,   923,   815,   604,
     1869     714,   342,   965,  1154,   850,   411,  1374,   176,  1101,   966,
     1870    1477,   750,  1478,   411,   572,   472,   279,  -103,   967,    45,
     1871      46,  -103,   626,   472,   626,   110,  1000,   139,   140,   626,
     1872     345,   330,   933,   603,   602,  1162,    41,    42,   994,   176,
     1873      45,    46,    37,  1233,   706,   603,    40,   331,  1349,   579,
     1874     348,  1357,  1350,    41,    42,   176,   332,   748,   348,   712,
     1875    1358,    63,   715,   371,   358,  1524,   748,   923,   923,   176,
     1876     548,   985,   982,   465,     8,     9,    10,    11,    12,   813,
     1877     212,   602,   329,   411,   229,   953,   372,    45,    46,   953,
     1878     953,  1360,   815,   550,    76,   307,  1365,   748,  -290,   551,
     1879     552,   333,   748,    31,   604,     8,     9,    10,    11,    12,
     1880     807,   510,  1370,  1371,   106,  1427,   334,   626,   673,   675,
     1881      76,  1424,   665,    57,   113,   345,   908,   911,   908,   335,
     1882    1445,    34,  1183,   376,    31,    37,   748,   385,   666,    40,
     1883     113,   715,  1157,   913,   602,   389,    41,    42,   805,    70,
     1884     176,   692,   409,   934,   934,  1491,  1419,   982,   720,   714,
     1885     342,  1492,    34,   113,   307,   129,    56,   130,   131,   132,
     1886      48,   112,   719,  1399,  1400,    69,    41,    42,  1106,   397,
     1887      45,    46,   106,  1547,   214,  1084,   426,   912,   751,   579,
     1888    1159,    57,   602,   427,  1509,  1426,   772,   773,   519,   112,
     1889     112,   432,    48,   519,   450,  1324,   519,   738,  1242,   739,
     1890     411,  1437,   740,    48,  1088,   744,  1088,   604,  -365,    48,
     1891     345,   774,   775,  1228,  -394,   484,    37,    48,   174,   175,
     1892      40,   780,   781,    48,  1107,   214,    48,    41,    42,    48,
     1893     461,   626,   626,  1127,   462,     2,   206,     4,     5,     6,
     1894       7,   504,   112,   112,   776,   777,   778,   779,   291,   472,
     1895     788,   307,     2,   206,     4,     5,     6,     7,   327,   348,
     1896     348,   528,   529,   530,   508,  1169,    48,   442,   214,    48,
     1897     106,  1495,  1437,   513,   525,   472,    48,    76,   111,    57,
     1898     527,   228,  1381,   563,   564,   531,  1381,   532,   566,   533,
     1899     534,   113,   252,   329,   411,   565,   908,   419,   661,   411,
     1900      35,   908,    36,   569,   176,    70,   338,    48,  -438,   587,
     1901     934,   658,   659,   712,   846,    48,  -291,    35,   266,    36,
     1902      48,   590,    56,     8,     9,    10,    11,    12,    -3,   214,
     1903     639,  1190,   660,   626,   481,   329,   411,   662,   663,   761,
     1904     664,   829,   329,   602,   766,    48,    48,    37,   667,   183,
     1905     184,    40,    31,   669,   257,   912,   693,   345,    41,    42,
     1906     912,    48,   694,    -3,   696,   498,   698,   214,  -237,    48,
     1907     734,   745,   214,  1296,  1297,  1298,   692,   749,    48,   757,
     1908      34,    48,   808,  1460,   906,   809,   411,   -12,   112,   812,
     1909     823,   714,    45,    46,   465,  1332,  1334,  1335,   -13,   271,
     1910     113,   867,   868,   112,   874,   907,   894,   112,   896,   897,
     1911     922,    48,   112,   901,   904,   219,  -415,   723,   113,   106,
     1912    -521,   944,   307,   937,   946,    48,    48,    57,    57,   957,
     1913     950,   959,    48,   958,   960,   951,   626,  -292,   961,    48,
     1914     113,   106,    63,    76,     8,     9,    10,    11,    12,   962,
     1915      57,   978,   989,   212,   342,  1106,   990,   991,   214,   106,
     1916    1006,  1007,  1008,  1009,   116,   879,  1010,   881,    57,  1011,
     1917     210,   220,   712,    31,  1012,  1023,    70,  -403,    37,  -402,
     1918     183,   184,    40,  1037,  1422,   626,   626,  1072,    48,    41,
     1919      42,  1535,  1074,    56,   271,  1095,   907,  1096,  1059,   307,
     1920    1097,    34,    69,  1098,  1104,  1114,   748,  1115,    48,    48,
     1921    1116,  1107,   159,   348,   348,   185,  1118,   928,   106,  1352,
     1922    1121,  1123,    57,    45,    46,    48,   972,    57,  1124,    48,
     1923    1125,  1126,   113,   407,  1132,  1129,   399,   692,  1152,   214,
     1924     644,  1173,  1174,   400,   173,  1175,   401,  1106,   442,   408,
     1925    1176,   106,   402,    70,  1177,  1191,    48,   665,   403,  1192,
     1926      57,  1194,  1195,  1203,  1210,   441,    48,  1207,   258,   404,
     1927      56,  1208,   405,   666,  1215,    -3,   159,  1220,  1225,  1190,
     1928    1223,   214,  1241,   493,    48,  1229,   253,  1508,  1234,   266,
     1929      48,  1236,    48,  1421,  1238,  1247,  1251,  1253,  1255,   110,
     1930    1257,   139,   238,  1107,  1258,   626,  1263,  1259,   472,   323,
     1931      41,    42,  1260,  1261,    76,   176,  1270,    37,   339,   174,
     1932     175,    40,  1279,   110,  1280,   139,   140,   112,    41,    42,
     1933     113,  1287,    48,   348,    41,    42,   239,  1290,  1291,  1292,
     1934      48,   240,  1330,  1294,    48,  1106,  1302,  1308,    48,   106,
     1935    1315,   112,   113,   112,   372,  1323,  1321,  1325,    57,   113,
     1936     727,   113,  1336,   113,  1329,   728,  1337,  1193,   430,  1339,
     1937    1345,   106,   434,  1346,  1347,  1348,   149,  1359,   106,  1355,
     1938      57,   150,   417,   151,  1356,  1366,  1367,    57,   112,  1298,
     1939    1375,    76,  1507,   112,  1384,  1376,  1377,   113,  1383,   113,
     1940    1393,  1107,   323,   214,  1394,   437,    70,  -404,  1397,  1408,
     1941     113,  1412,  1414,    70,   712,   445,  1507,  1507,  1416,  1417,
     1942     703,  1423,  1418,    56,   161,  1441,   307,  1431,  1432,   106,
     1943      56,   214,  1190,  1433,   434,  1434,   214,   488,    57,  1190,
     1944    1350,  1507,  1436,   112,  1446,  1448,  1450,  1452,   373,   213,
     1945      48,  1454,  1456,  1458,  1463,  1465,  1486,   521,   232,  1464,
     1946    1476,    48,  1488,    48,    70,  1490,  1493,  1501,  1521,  1122,
     1947     159,  1494,  1516,  1517,  1530,   479,   141,  1528,  1532,    63,
     1948    1538,    56,    48,   520,  1545,   176,  1546,   889,  1209,   782,
     1949    1190,  1133,  1131,   712,   784,  1133,  1307,  1411,    48,   783,
     1950     213,   704,   785,   112,   588,   786,  1496,   214,   594,  1548,
     1951    1369,  1385,    48,  1240,   112,    48,   112,  1214,  1479,   902,
     1952     903,   214,  1089,   925,   215,  1222,  1093,   627,   241,   244,
     1953     327,   631,   801,  1128,   339,  1059,  1036,   939,   873,  1103,
     1954     242,  1316,   717,   213,    76,  1133,    66,   117,    48,   947,
     1955     791,    76,   112,   792,   112,   793,   472,    37,   112,   174,
     1956     175,    40,     0,     0,     0,     0,   112,     0,    41,    42,
     1957       0,     0,     0,  1285,  1286,   215,  1288,     0,    66,    48,
     1958      48,     0,     0,  1293,     0,  1295,     0,     0,     0,   323,
     1959     323,     0,     0,    48,   376,   160,     0,     8,     9,    10,
     1960      11,    12,    76,     0,   213,     0,     0,  1483,     0,  1483,
     1961       0,     0,     0,     0,   214,   221,     0,   688,   215,     0,
     1962     528,   529,   530,     0,     0,     0,    31,   703,  1373,     0,
     1963     116,     0,   681,     0,     0,     0,     0,     8,     9,    10,
     1964      11,    12,   213,  1483,   531,  1483,   532,   213,   533,  1306,
     1965       0,   259,     0,     0,    34,   488,     0,   323,   707,   488,
     1966       0,     0,   499,     0,     0,     0,    31,     0,     0,   521,
     1967       0,   521,     0,    48,   521,     0,   323,   521,     0,   215,
     1968    1398,     0,     0,  1406,     0,    48,     0,     0,   339,   457,
     1969       0,     0,     0,   328,    34,   520,   571,     0,   411,     0,
     1970     520,   259,   350,   520,    45,    46,     0,     0,   704,   472,
     1971       0,     0,     0,     0,     0,     0,   472,   215,     0,     0,
     1972       0,     0,   215,     0,     0,     0,  1443,     0,   644,     0,
     1973       0,  1447,   406,   213,   112,     0,   750,     0,   411,     0,
     1974       0,  1405,   323,     0,    45,    46,   703,   424,     0,     0,
     1975     429,   431,     0,   803,     0,   160,   703,    48,     0,  1468,
     1976    1133,  1133,  1133,     0,     0,     0,    48,   472,    48,     0,
     1977     703,     0,     0,     0,     0,   112,   448,     0,     0,     0,
     1978     451,     0,   452,     0,   844,     0,     0,     0,     0,   594,
     1979       0,   459,     0,     0,     0,   853,    74,    66,    48,     0,
     1980       0,     0,   473,     0,     0,     0,     0,     0,   215,     0,
     1981       0,   214,   480,     0,   213,     0,     0,     0,   112,     0,
     1982     431,     8,     9,    10,    11,    12,   645,   704,    74,     0,
     1983       0,   213,   644,     0,     0,     0,     0,   704,     0,     0,
     1984     112,     0,     0,  1536,   112,     0,     0,     0,   688,  1536,
     1985      31,   704,     0,     0,     0,     0,   213,     0,     0,   891,
     1986    1536,     0,   892,     0,  1536,   222,     0,     0,   898,     0,
     1987       0,     0,   900,     0,     0,     0,     0,     0,    34,     0,
     1988       0,    37,     0,   183,   184,    40,   488,   259,     0,   215,
     1989       0,   595,    41,    42,   112,     0,     0,   623,  1133,  1133,
     1990       0,     0,     0,     0,     0,     0,     0,     0,   339,     0,
     1991     628,     0,     0,     0,   628,     0,     0,   259,   265,     0,
     1992     933,     0,   602,     0,     0,     0,    45,    46,    45,    46,
     1993       0,   215,   112,     0,     0,     0,  1461,   725,     0,   729,
     1994       0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
     1995       0,    48,   353,   535,   536,   537,   538,   539,   540,   541,
     1996     542,   543,   544,   545,   473,     0,     0,   996,    48,     0,
     1997       0,     0,   803,     0,   703,   703,     0,     0,   213,   350,
     1998       0,   988,     0,     0,   473,     0,     0,   546,     0,     0,
     1999       0,   993,   473,     0,  1510,     0,     0,   214,     0,     0,
     2000       0,     0,     0,  1518,     0,  1005,   213,     0,     0,     0,
     2001     699,   213,    37,   431,   183,   184,    40,     0,     0,     0,
     2002       0,     0,     0,    41,    42,     0,   449,     0,   713,     0,
     2003      66,     0,   703,   703,     0,     0,     0,     0,   431,     0,
     2004       0,     0,   431,     0,     0,   112,     0,    74,     0,   601,
     2005       0,   602,    74,   215,     0,   704,   704,    45,    46,     0,
     2006     803,     0,     0,     0,     0,     0,     0,   339,    48,     0,
     2007       0,   259,   350,     0,     0,     0,     0,     0,     0,     0,
     2008       0,   215,   213,   688,     0,     0,   215,     0,  1080,   866,
     2009       0,     0,   214,    77,     0,     0,   213,     0,     0,     0,
     2010       0,     0,     0,     0,     0,   488,  1108,   323,     0,   112,
     2011     112,   112,     0,   704,   704,     0,   499,     0,   794,    37,
     2012       0,   183,   184,    40,     0,    77,     0,     0,     0,     0,
     2013      41,    42,     0,     0,     0,     0,   628,   806,   919,     0,
     2014     921,     0,     0,     0,   457,     0,     0,   222,    37,   825,
     2015     183,   184,    40,     0,     0,     0,   906,   215,   411,    41,
     2016      42,     0,   223,   844,    45,    46,     0,   595,     0,     0,
     2017       0,   215,   595,     0,     0,     0,     0,     0,   628,     0,
     2018    1313,   350,   350,   350,     0,  1506,     0,   411,     0,   213,
     2019       0,     0,     0,    45,    46,     0,     0,     0,     0,   350,
     2020       0,     0,     0,   124,   127,   128,     0,     0,     0,  1167,
     2021    1168,     0,   703,     0,    74,     0,     0,   699,     0,     0,
     2022     703,   703,   703,     0,     0,     0,     0,     0,   473,   353,
     2023       0,     0,     0,     0,    74,     0,     0,     0,    48,    48,
     2024       0,  1204,    74,     0,   688,     0,     0,   112,   112,   355,
     2025       0,     0,     0,     0,   473,     0,     0,   350,     0,     0,
     2026     353,  1314,     0,     0,   215,     0,   938,  1217,  1218,   431,
     2027       0,     0,     0,     0,     0,   254,     0,   255,   353,     0,
     2028      74,     0,     0,     0,   703,   112,   803,     0,     0,     0,
     2029       0,   259,   713,   704,     0,     0,     0,   968,     0,     0,
     2030       0,   704,   704,   704,     0,     0,     0,     0,     0,     0,
     2031       0,     0,     0,     0,   645,     0,     0,     0,     0,     0,
     2032    1040,     0,   353,     0,     0,     0,     0,   126,   126,   126,
     2033       0,     0,     0,     0,     0,     0,   699,     0,     0,     0,
     2034       0,     0,    48,   112,    77,     0,   699,     0,   350,    77,
     2035     628,     0,   112,  1003,     0,   628,   806,     0,   396,     0,
     2036     699,  1090,     0,     0,     0,   704,    48,    48,   415,   416,
     2037    1014,   339,     0,   420,     0,   422,   423,     0,     0,     0,
     2038       0,     0,     0,     0,     0,     0,   213,   353,     0,     0,
     2039       0,    48,     0,  1108,     0,     0,     0,     0,     0,   126,
     2040       0,   126,     0,     0,     0,    79,     0,     0,     0,     0,
     2041       0,     0,     0,     0,     0,     0,     0,     0,   645,     0,
     2042       0,    66,     0,     0,     0,     0,   275,     0,     0,     0,
     2043       0,   353,   353,   353,     0,     0,     0,    79,     0,     0,
     2044       0,     0,     0,   628,   223,     0,     0,  1338,     0,   353,
     2045     259,   713,     0,     0,  1086,  1340,  1341,  1342,     0,     0,
     2046       0,   215,     0,     0,     0,     0,     0,   353,     0,     0,
     2047       0,     0,     0,     0,   224,     0,     0,     0,    74,     0,
     2048    1100,     0,   126,     0,     0,  1108,     0,  1368,   431,   117,
     2049     126,     0,   126,   126,     0,     0,     0,   126,     0,   126,
     2050     126,     0,     0,     0,    74,     0,     0,   353,     0,     0,
     2051       0,    77,     0,     0,     0,     0,     0,     0,  1040,  1386,
     2052       0,     0,     0,     0,     0,     0,   355,     0,     0,     0,
     2053       0,    77,     0,     0,     0,     0,     0,     0,     0,    77,
     2054       0,     0,   353,     0,     0,     0,   595,     8,     9,    10,
     2055      11,    12,     0,     0,     0,     0,     0,   355,     0,   429,
     2056       0,   356,     0,     0,   699,   699,     0,   350,   350,   126,
     2057       0,     0,   213,     0,     0,   355,    31,    77,     0,     0,
     2058       0,     0,     0,  1108,     0,     0,   353,  1189,     0,     0,
     2059       0,     0,     0,     0,     0,     0,   353,     0,   353,     0,
     2060       0,     0,     0,   222,    34,     0,   353,     0,     0,    37,
     2061     353,   183,   184,    40,  1482,     0,  1482,     0,     0,   355,
     2062      41,    42,   699,   699,     0,     0,     0,     0,     0,     0,
     2063       0,  1283,     0,     0,     0,     0,     0,     0,     0,  1480,
     2064       0,  1484,     0,     0,     0,     0,   601,   215,   602,     0,
     2065    1482,     0,  1482,     0,    45,    46,    79,     0,     0,     0,
     2066       0,    79,     0,     0,     0,     0,     0,   213,     0,   628,
     2067       0,    74,     0,     0,     0,  1512,     0,  1514,     0,   323,
     2068       0,     0,     0,     0,   355,     0,     0,     0,     0,     0,
     2069       0,     0,     0,   713,     0,     0,     0,     0,     0,    86,
     2070       0,   353,     0,     0,     0,     0,     0,   413,     0,     0,
     2071       0,     0,     0,     0,   421,     0,     0,     0,     0,  1543,
     2072       0,  1544,     0,     0,     0,     0,     0,     0,   355,   355,
     2073     355,    86,     0,     0,  1551,  1552,  1284,     0,     0,     0,
     2074       0,     0,   215,     0,     0,     0,   355,     0,     0,     0,
     2075       0,     0,   796,   797,   259,     0,   224,     0,    66,     0,
     2076       0,     0,     0,     0,   355,     0,     0,     0,   225,     0,
     2077     699,     0,   713,     0,     0,    77,   117,     0,     0,     0,
     2078       0,   830,     0,     0,   833,   834,   413,   837,     0,   839,
     2079     840,     0,     0,     0,   841,   842,     0,     0,     0,     0,
     2080       0,    77,   699,     0,   355,     0,     0,     0,     0,     0,
     2081     699,   699,   699,     0,   353,   353,     0,   353,   353,     0,
     2082       0,   350,   350,    79,     0,     0,     0,     0,     8,     9,
     2083      10,    11,    12,     0,     0,  1189,     0,    74,   356,   355,
     2084       0,   577,     0,    79,     0,     0,     0,     0,     0,   581,
     2085       0,    79,   584,     0,     0,   363,     0,    31,     0,     0,
     2086       0,     0,     0,     0,     0,     0,     0,     0,   117,   356,
     2087       0,     0,   353,   353,   699,     0,   126,   126,     0,     0,
     2088       0,     0,     0,   355,     0,    34,     0,   356,     0,    79,
     2089      37,     0,     0,   355,    40,   355,     0,     0,     0,     0,
     2090     223,    41,    42,   355,     0,   126,     0,   355,   126,   126,
     2091       0,   126,     0,   126,   126,     0,   413,     0,   126,   126,
     2092     421,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2093       0,   356,   970,   971,     0,    45,    46,     0,     0,     0,
     2094       0,   350,     0,   353,     0,     0,     0,     0,     0,     0,
     2095      86,     0,     0,     0,     0,    86,     0,     0,     0,     0,
     2096       0,     0,     0,     0,     0,     0,   117,     0,    77,     0,
    20682097       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2069       77,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2070        0,     0,     0,     0,     0,   355,   356,     0,     0,    66,
    2071       77,     0,     0,  1039,     0,     0,     0,     0,    77,     0,
    2072        0,     0,   214,     0,     0,     0,     0,   348,     0,     0,
    2073        0,   627,     0,     0,     0,     0,   355,     0,   259,   712,
    2074        0,     0,  1085,     0,     0,     0,     0,     0,     0,     0,
    2075        0,     0,    57,     0,   355,     0,    77,     0,     0,     0,
    2076        0,     0,     0,     0,     0,     0,     0,     0,  1099,     0,
    2077      795,   796,     0,     0,    57,     0,   431,   117,     0,     0,
    2078        0,    57,     0,     0,     0,     0,     0,     0,     0,     0,
    2079        0,     0,   353,   353,     0,   353,   353,     0,   355,   829,
    2080        0,    79,   832,   833,     0,   836,    79,   838,   839,     0,
    2081      126,   126,   840,   841,     0,    74,     0,     0,     0,     0,
    2082        0,     0,     0,     0,     0,     0,  1282,     0,     0,     0,
    2083        0,     0,    57,     0,   594,     0,     0,     0,     0,     0,
    2084        0,     0,     0,     0,     0,     0,     0,   429,     0,     0,
    2085      353,   353,   698,   698,     0,   350,   350,     0,     0,     0,
    2086        0,     0,   355,     0,     0,     0,     0,     0,     0,     0,
    2087        0,     0,     0,     0,     0,  1188,     0,     0,     0,     0,
    2088        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2098       0,     0,     0,     0,     0,     0,   222,     0,  1189,     0,
     2099       0,     0,     0,     0,     0,  1189,   356,   413,   355,     0,
     2100       0,     0,     0,     0,     0,     0,     0,     0,    74,     0,
     2101       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2102     353,     0,   353,     0,     0,     0,     0,     0,     0,     0,
     2103       0,     0,     0,     0,     8,     9,    10,    11,    12,     0,
     2104     356,   356,   356,     0,     0,     0,  1189,     0,     0,     0,
     2105     225,     0,   353,  1531,     0,     0,   126,   126,   356,     0,
     2106     353,   353,   353,    31,     0,     0,     0,     0,     0,     0,
     2107       0,   353,   353,     0,     0,     0,   356,     0,     0,     0,
     2108       0,     0,     0,     0,     0,    74,     0,    79,     0,   577,
     2109     577,    34,     0,     0,  1091,     0,    37,     0,   183,   184,
     2110      40,     0,     0,     0,     0,     0,     0,    41,    42,     0,
     2111       0,   355,   355,    79,   355,   355,   356,    86,     0,     0,
     2112       0,     0,     0,     0,   353,     0,     0,     0,     0,     0,
     2113       0,     0,   363,   906,    77,   411,     0,    86,     0,     0,
     2114       0,    45,    46,     0,     0,    86,     0,     0,     0,     0,
     2115       0,   356,     0,     0,     0,     0,     0,     0,     0,     0,
     2116       0,     0,     0,   363,     0,     0,     0,     0,     0,   355,
     2117     355,     0,     0,     0,     0,     0,   884,     0,     0,     0,
     2118     887,   363,     0,    86,     0,     0,     0,     0,     0,     0,
     2119       0,   353,     0,     0,     0,   356,     0,     0,     0,     0,
     2120       0,     0,     0,     0,     0,   356,     0,   356,     0,     0,
     2121       0,     0,   224,   126,     0,   356,     0,     0,   126,   356,
     2122       0,     0,     0,     0,     0,   363,   167,     0,   172,     0,
     2123       0,   178,   179,   180,     0,   182,     0,     0,    74,     0,
     2124     355,     0,     0,     0,     0,    74,     0,     0,     0,   233,
     2125       0,     0,     0,     0,     0,  1219,     0,     0,     0,     0,
     2126       0,   248,   249,     0,     8,     9,    10,    11,    12,     0,
     2127       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2128      79,     0,     0,   223,     0,     0,     0,     0,     0,     0,
     2129     363,     0,     0,    31,     0,     0,    74,     0,     0,     0,
     2130       0,     0,     0,     0,     0,    77,     0,     0,     0,     0,
     2131     356,     0,   577,     0,     0,     0,     0,   355,     0,   355,
     2132       0,    34,     0,     0,     0,     0,    37,     0,   183,   184,
     2133      40,     0,     0,     0,   363,   363,   363,    41,    42,     0,
     2134       0,     0,     0,     0,     0,     0,     0,     0,     0,   355,
     2135       0,     0,   363,     0,     0,     0,     0,   355,   355,   355,
     2136       0,     0,     0,  1506,     0,   411,     0,     0,   355,   355,
     2137     363,    45,    46,     0,     0,   507,     0,   509,   512,   126,
     2138       0,    86,    77,     0,  1305,   515,   516,     0,     0,     0,
     2139       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2140     509,   509,     0,     0,     0,     0,     0,    86,     0,     0,
     2141     363,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2142       0,   355,     0,   356,   356,     0,   356,   356,     0,     0,
     2143     413,     0,     0,     0,     0,     0,     0,     0,   509,     0,
     2144       0,     0,     0,     0,     0,   363,    79,     8,     9,    10,
     2145      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2146      21,    22,    23,    24,    25,  -293,     0,    26,    27,    28,
     2147       0,     0,     0,     0,   509,     0,    31,     0,     0,     0,
     2148       0,   356,   356,     0,     0,     0,     0,     0,   355,   363,
     2149       0,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2150       0,   363,     0,     0,    34,     0,   225,  1143,   126,   363,
     2151       0,    38,    39,   363,     0,  -293,     0,   592,     0,   600,
     2152       0,     0,     0,     0,  1155,     0,     0,     0,     0,     0,
     2153     624,   625,     0,     0,     0,    77,     0,     0,     0,     0,
     2154     282,   283,    77,   284,     0,     0,   635,     0,   338,     0,
     2155       0,     0,   356,     0,    45,    46,     0,     0,     0,     0,
     2156       0,     0,     0,     0,     0,     0,     0,     0,     0,   285,
     2157       0,     0,     0,     0,    86,   286,     0,     0,     0,   287,
     2158       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2159     293,     0,     0,    77,     0,   224,     0,     0,     0,     0,
     2160       0,     0,   413,     0,   363,     0,     0,     0,     0,     0,
     2161       0,     0,   294,     0,   379,     0,     0,    79,     0,     0,
     2162      45,    46,   296,   297,   298,   299,     0,     0,     0,   356,
     2163       0,   356,  1013,   787,     0,     8,     9,    10,    11,    12,
     2164       0,     0,  1243,   509,   509,   509,   509,   509,   509,   509,
     2165     509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
     2166     509,   356,   282,   283,    31,   284,     0,     0,     0,   356,
     2167     356,   356,     0,     0,     0,     0,     0,     0,     0,     0,
     2168     356,   356,     0,     0,     0,     0,     0,     0,     0,     0,
     2169       0,   285,    34,     0,    79,     0,     0,   286,     0,     0,
     2170       0,   287,     0,     0,   288,   289,   290,   291,    41,    42,
     2171       0,   292,   293,     0,     0,     0,     0,   363,   363,     0,
     2172     363,   363,     0,     0,     0,     0,     0,     0,     0,     0,
     2173       0,     0,     0,   356,   294,     0,   379,     0,     0,     0,
     2174      86,     0,   344,    46,   296,   297,   298,   299,     0,     0,
     2175       1,     2,   206,     4,     5,     6,     7,     8,     9,    10,
     2176      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2177      21,    22,    23,    24,    25,   363,   363,    26,    27,    28,
     2178      29,     0,     0,    30,   282,   283,    31,   284,     0,   509,
     2179       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2180     356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2181       0,     0,     0,   285,    34,     0,    35,     0,    36,   286,
     2182       0,    38,    39,   287,   165,     0,   288,   289,   290,   291,
     2183      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
     2184       0,   218,     0,     0,     0,     0,   363,    79,     0,     0,
     2185     509,     0,     0,     0,    79,     0,   294,     0,  1056,     0,
     2186       0,     0,     0,     0,    45,    46,   296,   297,   298,   299,
     2187       0,     0,     0,   926,     0,   927,     0,     0,     0,  -128,
     2188     509,     0,   930,   931,     0,     0,     0,   936,   165,   225,
     2189       0,     0,   272,     0,     0,     0,     0,     0,     0,   941,
     2190       0,     0,     0,     0,   945,    79,     0,     0,     0,     0,
     2191       0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
     2192       0,   165,     0,   363,     0,   363,     0,     0,     0,     0,
     2193       0,   369,   979,     0,     0,   375,     0,     0,     0,     0,
     2194       0,     0,     0,     0,     0,     0,  1163,     0,     0,     8,
     2195       9,    10,    11,    12,     0,   363,     0,     0,     0,     0,
     2196       0,     0,     0,   363,   363,   363,     0,     0,     0,     0,
     2197       0,     0,     0,     0,   363,   363,   282,   283,    31,   284,
     2198       0,     0,     0,     0,   165,     0,     0,     0,    86,     0,
     2199       0,     0,     0,     0,     0,     0,   218,     0,     0,     0,
     2200     509,     0,     0,     0,     0,   285,    34,     0,     0,     0,
     2201       0,   286,     0,     0,   165,   287,     0,     0,   288,   289,
     2202     290,   291,    41,    42,     0,   292,   293,   363,     0,     0,
     2203       0,  1024,  1025,  1026,  1027,     0,  1029,     0,     0,   375,
     2204       0,     0,     0,     0,     0,   509,   165,     0,   294,     0,
     2205     379,  1073,     0,     0,     0,     0,  1164,    46,   296,   297,
     2206     298,   299,     0,     0,     0,  1079,     0,     0,     0,   524,
     2207       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2208     509,     0,   165,     0,     0,     0,     0,     0,     0,   211,
     2209       0,     0,     0,   509,   363,     0,     0,     0,   231,     0,
     2210     235,     0,   237,     0,     0,  1099,     0,     0,     0,   246,
     2211       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2212     598,     0,     0,     0,     0,   622,     0,     0,     0,     0,
     2213       0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
     2214     211,    86,   235,   237,   246,     0,     0,     0,    86,     0,
     2215    1130,     0,     0,     0,     0,     0,  1137,     0,     0,     0,
     2216       0,  1141,     0,     0,     0,     0,  1145,     0,  1146,     0,
     2217       0,     0,  1148,     0,  1149,  1150,     0,     0,  1153,     0,
     2218       0,     0,     0,   211,     0,     0,     0,  1165,     0,     0,
     2219       0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
     2220       0,   165,   165,     0,     0,  1180,  1181,     0,   369,     0,
     2221       0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
     2222       0,     0,     0,     0,     0,     0,     0,     0,     0,   524,
     2223       0,     0,  1211,     0,     0,  1213,     0,     0,     0,     0,
     2224       0,     0,     0,     0,   211,     0,   235,   237,   246,     0,
     2225       0,     0,     0,     0,     0,     0,     0,   716,     0,     0,
     2226       0,     8,     9,    10,    11,    12,     0,     0,     0,   165,
     2227       0,   509,   509,     0,     0,     0,     0,     0,  1227,     0,
     2228       0,   524,   211,   524,  1231,  1232,   524,   211,   165,   524,
     2229      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2230       0,   369,   497,     0,  1248,     0,     0,  1252,     0,     0,
     2231       0,  1254,     0,     0,     0,     0,     0,     0,    34,     0,
     2232       0,     0,     0,    37,  1262,   183,   184,    40,     0,     0,
     2233       0,     0,     0,     0,    41,    42,     0,  1269,     0,  1271,
     2234    1272,  1273,  1274,     0,     0,     0,     0,     0,     0,     0,
     2235       0,   211,     0,     0,   165,  1281,     0,  1282,     0,     0,
     2236     185,   172,     0,     0,     0,     0,   369,     0,    45,    46,
     2237     811,     0,     0,   211,     0,     0,     0,     0,   235,   237,
     2238       0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
     2239    1310,  1311,     0,     0,     0,     0,   598,     0,     0,     0,
     2240       0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
     2241     369,   369,   369,     0,     0,     0,     0,     0,     0,     0,
     2242       0,     0,     0,     0,     0,     0,     0,     0,   369,   211,
     2243       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2244    1343,  1344,     0,     0,     0,     0,     0,   211,     0,     0,
     2245    1354,     0,   211,     0,   211,     0,     0,     0,     0,     0,
     2246     524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2247       0,   211,     0,     0,   211,   211,   509,     0,     0,     0,
     2248       0,     0,   211,     0,     0,     0,   369,     0,   935,     0,
     2249       0,     0,   509,     0,     0,     0,   211,     0,     0,     0,
     2250       0,     0,     0,   211,     0,     0,     0,     0,     0,     0,
     2251       0,  1389,     0,  1390,  1391,  1392,     0,     0,     0,     0,
     2252       0,   716,     0,     0,     0,  1396,   156,     0,     0,     0,
     2253       0,     0,     0,     0,  1407,     8,     9,    10,    11,    12,
     2254      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2255      23,    24,    25,     0,     0,    26,    27,    28,     0,  1428,
     2256       0,     0,   509,   509,    31,     0,     0,     8,     9,    10,
     2257      11,    12,     0,   251,     0,     0,     0,   369,     0,     0,
     2258       0,   622,     0,   256,     0,   369,     0,     0,     0,     0,
     2259       0,     0,    34,     0,     0,     0,    31,    37,     0,    38,
     2260      39,    40,  1466,  1467,     0,     0,     0,     0,    41,    42,
     2261       0,     0,     0,     0,     0,  1472,     0,     0,   211,     0,
     2262       0,     0,  1472,     0,    34,     0,     0,     0,     0,    37,
     2263       0,   183,   184,    40,    43,     0,   157,     0,     0,   156,
     2264      41,    42,    45,    46,     0,     0,   211,     0,     0,     0,
     2265       0,   211,     0,   386,  1505,     0,     0,     0,  1511,     0,
     2266       0,     0,     0,     0,     0,     0,   265,     0,     0,     0,
     2267       0,     0,     0,     0,    45,    46,   418,     0,     0,     0,
     2268     716,     0,     0,     0,     0,     0,  1533,     0,  1534,     0,
     2269     433,     0,     0,     0,     0,   524,     0,     0,     0,   438,
     2270       0,     0,     0,     0,     0,     0,     0,     0,     0,   446,
     2271       0,     0,     0,     0,     0,     0,  1549,  1550,     0,   165,
     2272       0,     0,   211,     0,  1553,  1554,     0,     0,     0,     0,
     2273       0,     0,     0,     0,   464,     0,   211,     0,     0,   474,
     2274       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2275       0,     0,   482,     0,     0,     0,   497,     0,   492,     0,
     2276     496,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2277       0,     0,     0,     0,     0,   598,     0,   526,     8,     9,
     2278      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2279      20,    21,    22,    23,    24,    25,   369,   369,    26,    27,
     2280      28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
     2281       0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
     2282     586,     0,     0,     0,     0,   591,     0,     0,     0,   211,
     2283       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2284      37,     0,    38,    39,    40,     0,     0,     0,   211,     0,
     2285       0,    41,    42,     0,   636,     0,   524,     0,   637,   638,
     2286       0,   640,     0,     0,     0,     0,     0,     0,   651,   652,
     2287       0,   653,   654,     0,   655,     0,   656,    43,     0,    44,
     2288       0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
     2289       0,     0,     0,   586,     0,     0,     0,     0,     0,     0,
     2290       0,   671,     0,     0,     0,     0,     0,     0,     0,   341,
     2291     364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2292       0,     0,   716,     0,     0,     0,   682,     0,     0,     0,
     2293       0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
     2294      12,     0,     0,   414,     0,     0,     0,     0,     0,     0,
     2295     414,     0,   708,     0,     0,     0,     0,     0,   711,     0,
     2296       0,   211,     0,   464,   218,    31,     8,     9,    10,    11,
     2297      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2298      22,    23,    24,    25,  -293,     0,    26,    27,    28,     0,
     2299       0,   211,     0,    34,     0,    31,     0,     0,    37,   746,
     2300       0,   716,    40,     0,     0,     0,     0,     0,     0,    41,
     2301      42,     0,     0,     0,   764,     0,     0,     0,     0,     0,
     2302       0,     0,   414,    34,     0,     0,   211,     0,    37,     0,
     2303     336,   337,    40,     0,  -293,   719,     0,   211,     0,    41,
     2304      42,     0,     0,    45,    46,     0,     0,     0,     0,     0,
     2305     369,   369,     0,   790,     0,     0,     0,     0,     0,   218,
     2306       0,     0,   800,     0,     0,   635,     0,   338,   321,   802,
     2307       0,     0,     0,    45,    46,   810,     0,   414,   346,     0,
     2308       0,     0,     0,     0,   824,   414,   582,     0,   414,   585,
     2309     382,   382,     0,     0,     0,     0,     0,     0,     0,   364,
     2310       0,     0,     0,   614,     0,     0,     0,     0,     0,   211,
     2311       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2312       0,     0,   632,   211,   864,   341,   205,     2,   206,     4,
     2313       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    20892314      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2090       25,   224,     0,    26,    27,    28,   355,   355,   355,     0,
    2091      698,   698,    31,     0,     0,     0,     0,     0,     0,     0,
    2092        0,   353,     0,     0,   355,     0,     0,     0,     0,     0,
     2315      25,     0,   414,    26,    27,    28,   414,     0,     0,     0,
     2316     810,   321,    31,     0,     0,     0,     0,     0,   905,     0,
     2317     369,     0,   282,   283,     0,   284,     0,     0,     0,     0,
     2318       0,     0,     0,     0,     0,   478,     0,   364,     0,     0,
     2319      34,     0,    35,     0,    36,     0,     0,   207,    39,   251,
     2320       0,   285,     0,     0,     0,     0,     0,   286,     0,   942,
     2321     943,   287,   211,     0,   288,   289,   290,   291,    41,    42,
     2322       0,   292,   293,     0,     0,     0,   524,     0,   524,     0,
     2323       0,     0,     0,   414,   208,     0,   364,     0,     0,     0,
     2324      45,    46,   980,     0,   294,     0,   379,   984,     0,   380,
     2325       0,     0,    45,    46,   296,   297,   298,   299,     0,     0,
     2326       0,     0,   524,     0,   524,     0,     0,     0,     0,     0,
     2327       0,     0,     0,     0,     0,   414,     0,     0,     0,   341,
     2328     364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2329       0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
     2330       0,     0,   382,     0,     0,     0,     0,   211,     0,     0,
     2331       0,  1018,     0,     0,     0,     0,     0,     0,  1019,     0,
     2332       0,     0,     0,     0,     0,   414,   414,     0,     0,     0,
     2333       0,  1021,     0,  1022,     0,     0,     0,     0,     0,     0,
     2334       0,     0,     0,     0,   804,   364,     0,  1034,     0,     0,
     2335       0,     0,     0,  1038,     0,   614,     0,   614,   614,     0,
     2336       0,     0,     0,     0,   614,  1076,     0,     0,  1077,     0,
     2337       0,     0,     0,     0,   843,   364,     0,     0,     0,     0,
     2338     364,     0,     0,     0,     0,     0,     0,     0,     0,   364,
     2339     364,   364,     0,     0,     0,     0,   710,     0,     0,     0,
     2340       0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
     2341       0,     0,   414,   885,     0,     0,   414,   888,     0,     0,
     2342       0,     0,     0,   890,     0,     0,     0,     0,     0,     0,
     2343       0,     0,     0,     0,     0,   742,     0,     0,     0,     0,
     2344       0,     0,   414,     0,     0,   591,     0,     0,   759,     0,
     2345       0,     0,     0,   742,     0,     0,   742,     0,     0,     0,
     2346       0,     0,     0,     0,     0,   364,   614,     0,     0,   768,
    20932347       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2094       34,     0,   355,     0,     0,     0,     0,    38,    39,     0,
    2095      969,   970,     0,    77,     0,     0,     0,   627,     0,     0,
    2096        0,     0,     0,     0,   222,     0,     0,   126,    79,     0,
    2097        0,     0,   126,     0,     0,     0,     0,     0,     0,    77,
    2098        0,   712,   355,   356,   257,     0,    74,    86,    79,     0,
    2099       45,    46,     0,     0,     0,     0,    79,     0,   353,     0,
    2100      353,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2101        0,     0,     0,     0,   356,     0,     0,   355,     0,    86,
    2102        0,     0,     0,     0,  1283,     0,     0,     0,     0,     0,
    2103      353,     0,   356,     0,    79,     0,     0,     0,   353,   353,
    2104      353,     0,   259,     0,     0,     0,    66,     0,     0,   353,
    2105      353,     8,     9,    10,    11,    12,   225,     0,   698,     0,
    2106      712,   355,     0,    74,   117,     8,     9,    10,    11,    12,
    2107        0,   355,     0,   355,     0,     0,   356,     0,   223,     0,
    2108       31,   355,   321,     0,     0,   355,     0,     0,     0,     0,
    2109      698,     0,   346,     0,    31,     0,     0,     0,   698,   698,
    2110      698,     0,   353,     0,   382,   382,     0,     0,    34,   350,
    2111      350,     0,  1090,    37,     0,   183,   184,    40,     0,     0,
    2112        0,     0,    34,  1188,    41,    42,     0,    37,     0,   183,
    2113      184,    40,     0,   126,     0,     0,     0,     0,    41,    42,
    2114      356,     0,     0,   363,     0,     0,    77,     0,     0,     0,
    2115      600,     0,   601,     0,     0,     0,   117,     0,    45,    46,
    2116        0,     0,   698,     0,   905,     0,   411,     0,     0,   353,
    2117        0,     0,    45,    46,     0,   321,   355,     0,     0,     0,
    2118        0,     0,     0,     0,   356,   356,   356,     0,     0,     0,
    2119        0,     0,     0,     0,     0,     0,     0,     0,     0,   478,
    2120        0,     0,   356,     0,     0,     0,     8,     9,    10,    11,
    2121       12,     0,     0,     0,     0,     0,    74,     0,     0,     0,
    2122      356,     0,     0,    74,     0,     0,     0,     0,     0,   350,
    2123        0,    79,     0,     0,     0,    31,     0,     0,    86,     0,
    2124        0,     0,     0,    86,     0,     0,     0,     0,     0,     0,
    2125        0,     0,     0,     0,   117,     0,     0,    79,     0,     0,
    2126      356,     0,   126,    34,     0,     0,     0,     0,    37,     0,
    2127      183,   184,    40,  1218,    74,     0,  1188,     0,     0,    41,
    2128       42,     0,     0,  1188,     0,     0,     0,     0,     0,   355,
    2129      355,     0,   355,   355,     0,   356,     0,     0,     0,     0,
    2130        0,     0,     0,     0,     0,  1505,     0,   411,     0,     0,
    2131        0,     0,    77,    45,    46,     0,   382,     0,     0,     0,
     2348    1147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2349       0,   789,     0,     0,     0,     0,     0,     0,     0,   341,
     2350     364,   798,     0,     0,   414,   414,     0,     0,   346,     0,
     2351       0,     0,     0,   759,     0,     0,     0,     0,     0,     0,
     2352       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2353      18,    19,    20,    21,    22,    23,    24,    25,   526,     0,
     2354      26,    27,    28,     0,  1212,     0,     0,     0,   414,    31,
     2355       0,     0,     0,     0,   211,     0,   364,     0,     0,     0,
     2356       0,     0,   863,   804,   364,     0,     0,   614,     0,   614,
     2357     382,     0,     0,     0,     0,     0,     0,    34,  1224,   614,
     2358       0,     0,    37,  1226,   207,    39,    40,     0,     0,     0,
     2359       0,  1230,     0,    41,    42,     0,     8,     9,    10,    11,
     2360      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2361      22,    23,    24,    25,  -293,     0,     0,     0,     0,    43,
     2362       0,   270,     0,     0,  1256,    31,     0,    45,    46,     0,
     2363       0,     0,     0,     0,     0,     0,  1264,     0,     0,  1265,
     2364       0,  1266,     0,     0,     0,     0,     0,     0,     0,     0,
     2365       0,   804,     0,    34,     0,  1275,  1276,     0,   341,   364,
     2366     414,     0,   414,     0,  -293,     0,   414,     0,   759,     0,
     2367     964,     0,     0,     0,     0,     0,     0,  1289,     0,     0,
     2368     975,     0,     0,     0,     0,     0,   983,   614,   614,     0,
     2369       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2370      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2371       0,     0,     0,     0,     0,     0,     0,     0,     0,    31,
     2372       0,     0,   414,     0,  1328,     0,     0,     0,  1001,  1002,
     2373       0,     0,   346,     0,     0,     0,     0,     0,   282,   283,
     2374       0,   284,     0,   414,  1144,     0,   346,    34,     0,     0,
     2375       0,     0,     0,     0,   364,     0,     0,     0,  -294,     0,
     2376     414,  1156,     0,   614,   614,  1161,     0,   285,     0,     0,
     2377       0,     0,     0,   286,     0,   364,   364,   287,     0,     0,
     2378     288,   289,   290,   291,    41,    42,  1032,   292,   293,     0,
     2379     382,     0,     0,     0,     0,     0,     0,     0,     0,  1378,
     2380       0,  1379,     0,     0,     0,     0,     0,     0,     0,     0,
     2381     294,     0,   379,  1387,     0,  1388,     0,   758,    45,    46,
     2382     296,   297,   298,   299,     0,     0,     0,   346,     0,     0,
     2383       0,     0,  1395,     0,     0,     0,     0,     0,   414,     0,
     2384     414,     0,     0,     0,     0,   414,     0,     0,  1413,  1415,
     2385       0,     0,     0,     0,   614,     0,     0,     0,     0,  1420,
     2386       0,     0,  1230,     0,     0,     0,   321,     0,     0,     0,
     2387       0,     0,     0,     0,     0,     0,     0,   804,   414,  1244,
     2388       0,     0,     0,  1442,     0,     0,     0,     0,     0,     0,
     2389       0,     0,  1449,     0,   382,  1451,     0,  1453,  1455,  1457,
     2390     975,   364,     0,     0,   742,   282,   283,     0,   284,     0,
    21322391       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2133        0,     0,     0,     0,  1188,     0,     0,     0,   225,   356,
    2134        0,  1530,     0,     0,     0,     0,     0,   355,   355,   356,
    2135        0,   356,     0,     0,     0,     0,   224,     0,     0,   356,
    2136        0,     0,     0,   356,     0,   167,     0,   172,     0,     0,
    2137      178,   179,   180,     0,   182,     0,     0,     0,     0,     8,
    2138        9,    10,    11,    12,     0,     0,     0,     0,   233,     0,
    2139        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2140      248,   249,  1304,     0,     0,    86,     0,     0,    31,     0,
    2141      709,     0,     0,     0,     0,     0,     0,     0,   355,     0,
    2142      363,     0,     0,     0,    79,    86,     0,     0,     0,     0,
    2143        0,     0,     0,    86,     0,     0,    34,     0,     0,     0,
    2144        0,    37,     0,   183,   184,    40,     0,     0,     0,   741,
    2145        0,   363,    41,    42,   356,     0,     0,     0,     0,     0,
    2146        0,   223,   758,     0,     0,     0,     0,   741,     0,   363,
    2147      741,    86,     0,   282,   283,     0,   284,     0,   265,     0,
    2148        0,     0,   767,    77,     0,     0,    45,    46,     0,     0,
    2149        0,     0,     0,     0,     0,   355,     0,   355,     0,     0,
    2150        0,     0,   285,     0,   788,     0,     0,     0,   286,     0,
    2151        0,     0,   287,   363,   797,   288,   289,   290,   291,    41,
    2152       42,   346,   292,   293,     0,     0,   758,   355,     0,     0,
    2153        0,     0,     0,     0,     0,   355,   355,   355,     0,     0,
    2154        0,     0,     0,     0,     0,   506,   355,   355,     0,     0,
    2155        0,     0,     0,    45,    46,   296,   297,   298,   299,     0,
    2156       77,     0,     0,     0,     0,     0,     0,   356,   356,     0,
    2157      356,   356,     0,     0,     0,   862,     0,   363,     0,     0,
    2158        0,     0,     0,   382,     0,     0,     0,     0,     0,     0,
    2159       79,     0,     0,     0,     0,     0,     0,     0,     0,   355,
    2160        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2161       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2162        0,   363,   363,   363,     0,   356,   356,     0,     0,     0,
    2163        0,    31,     0,     0,     0,     0,     0,     0,     0,   363,
    2164        0,     0,  1012,     0,     0,     8,     9,    10,    11,    12,
    2165        0,     0,     0,     0,     0,     0,   591,   363,   599,    34,
    2166        0,   165,     0,     0,     0,     0,   355,     0,    86,   623,
    2167      624,     0,   282,   283,    31,   284,     0,     0,   218,     0,
    2168        0,   758,     0,   963,     0,     0,     0,     0,     0,     0,
    2169        0,     0,     0,   974,    86,     0,   356,   363,     0,   982,
    2170        0,   285,    34,     0,     0,     0,     0,   286,     0,     0,
    2171        0,   287,     0,    77,   288,   289,   290,   291,    41,    42,
    2172       77,   292,   293,     0,     0,   165,     0,     0,     0,   272,
    2173        0,     0,   363,     0,     0,     0,     0,     0,     0,   224,
    2174        0,  1000,  1001,     0,   294,   346,   379,     0,     0,     0,
    2175        0,     0,   344,    46,   296,   297,   298,   299,   165,   346,
    2176        0,    79,     0,     0,     0,     0,     0,     0,   369,     0,
    2177        0,    77,   375,   356,     0,   356,   363,     0,     0,     0,
    2178        0,     0,     0,     0,     0,     0,   363,     0,   363,     0,
    2179        0,     0,     0,   225,     0,     0,   363,     0,     0,  1031,
    2180      363,     0,     0,   382,     0,   356,     0,     0,     0,     0,
    2181        0,     0,     0,   356,   356,   356,     0,     0,     0,     0,
    2182        0,   165,     0,     0,   356,   356,     0,     0,     0,     0,
    2183        0,     0,     0,   218,     0,     0,     0,     0,    79,     0,
    2184      346,     0,     0,   282,   283,     0,   284,     0,     0,     0,
    2185        0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
    2186        0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
    2187        0,     0,   285,     0,     0,     0,   375,   356,   286,   321,
    2188        0,     0,   287,   165,     0,   288,   289,   290,   291,    41,
    2189       42,   363,   292,   293,     0,     0,     0,     0,     0,     0,
    2190        0,     0,     0,     0,     0,     0,   524,   382,     0,     0,
    2191        0,     0,     0,   974,     0,   294,     0,   741,     0,   165,
    2192        0,     0,     0,    45,    46,   296,   297,   298,   299,     0,
    2193        0,     0,     0,     0,     0,     0,     0,     0,  1150,     0,
    2194        0,     0,     0,     0,   356,     0,     0,     0,     0,  1165,
    2195        0,     0,     0,     0,     0,     0,     0,   597,     0,     0,
    2196        0,     0,   621,     0,     0,     0,     0,     0,     0,     0,
    2197        0,   382,     0,  1183,     0,     0,     0,     0,     0,     0,
    2198        0,     0,     0,     0,     0,     0,     0,     0,   974,   974,
    2199        0,    79,     0,     0,     0,     0,     0,     0,    79,     0,
    2200        0,     0,     0,     0,   363,   363,     0,   363,   363,  1215,
    2201        0,   925,     0,   926,     0,     0,     0,     0,     0,     0,
    2202      929,   930,     0,     0,     0,   935,     0,    86,     0,     0,
    2203        0,     0,     0,     0,     0,     0,     0,   940,   165,   165,
    2204        0,     0,   944,     0,     0,   369,     0,     0,     0,    79,
    2205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2206        0,     0,   363,   363,   974,     0,   524,     0,     0,     0,
    2207      978,  1162,     0,     0,     8,     9,    10,    11,    12,     0,
    2208        0,     0,   862,     0,     0,     0,     0,     0,     0,     0,
    2209        0,     0,     0,     0,   715,     0,     0,  1266,  1267,     0,
    2210        0,   282,   283,    31,   284,     0,   165,     0,     0,     0,
    2211        0,     0,     0,     0,     0,     0,     0,     0,   524,     0,
    2212      524,     0,     0,   524,     0,   165,   524,     0,     0,     0,
    2213      285,    34,     0,   363,     0,     0,   286,     0,   369,     0,
    2214      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    2215      292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2216        0,     0,     0,     0,     0,     0,     0,     0,     0,  1023,
    2217     1024,  1025,  1026,   294,  1028,   379,   225,     0,     0,     0,
    2218        0,  1163,    46,   296,   297,   298,   299,     0,     0,  1072,
    2219      165,     0,     0,     0,     0,     0,     0,     0,    86,     0,
    2220        0,     0,   369,  1078,     0,     0,   810,     0,     0,     0,
    2221      363,     0,   363,     0,     0,     0,     0,     0,     0,     0,
    2222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2223        0,     0,   597,     0,     0,     0,     0,   597,  1371,     0,
    2224        0,   741,   363,  1098,     0,     0,   369,   369,   369,     0,
    2225      363,   363,   363,     0,     0,     0,     0,     0,     0,     0,
    2226        0,   363,   363,     0,   369,     0,     0,     0,     0,     0,
    2227        0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
    2228        0,     0,     0,     0,     0,     0,     0,     0,  1129,     0,
    2229        0,     0,     0,     0,  1136,     0,   524,     0,     0,  1140,
    2230        0,     0,     0,     0,  1144,     0,  1145,     0,   211,     0,
    2231     1147,     0,  1148,  1149,   363,     0,  1152,   231,     0,   235,
    2232        0,   237,   369,     0,   934,  1164,     0,     0,   246,     0,
    2233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2234        0,     0,     0,  1179,  1180,     0,     0,     0,     0,     0,
    2235        0,     0,     0,     0,     0,     0,     0,   715,     0,   211,
    2236        0,   235,   237,   246,     0,     0,     0,     0,     0,     0,
    2237     1210,     0,     0,  1212,     0,     0,     0,     0,     0,     0,
    2238        0,   363,     0,     8,     9,    10,    11,    12,    13,    14,
    2239       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2240       25,     0,   211,    26,    27,    28,     0,     0,     0,     0,
    2241        0,     0,    31,   369,     0,     0,  1226,   621,     0,     0,
    2242        0,   369,  1230,  1231,     0,     0,     0,     0,    86,     0,
    2243        0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
    2244       34,     0,  1247,     0,     0,  1251,     0,    38,    39,  1253,
    2245        0,   321,     0,     0,     0,     0,     0,     0,     0,     0,
    2246        0,     0,  1261,   211,     0,   235,   237,   246,     0,     0,
    2247        0,     0,     0,   156,     0,  1268,     0,  1270,  1271,  1272,
    2248     1273,     0,   634,     0,   338,     0,    86,     0,     0,     0,
    2249       45,    46,     0,  1280,     0,  1281,     0,     0,     0,   172,
    2250        0,   211,     0,     0,     0,     0,   211,     0,     0,     0,
    2251        0,     0,     0,     0,     0,     0,   715,     0,     0,     0,
    2252      251,   497,     0,     0,     0,     0,     0,     0,  1309,  1310,
    2253      256,   524,     0,     0,     0,     0,     0,     8,     9,    10,
    2254       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2255       21,    22,    23,    24,    25,   165,     0,    26,    27,    28,
    2256        0,     0,     0,     0,     0,     0,    31,   684,     0,     0,
    2257      211,     0,     0,     0,     0,     0,     0,     0,  1342,  1343,
    2258        0,     0,     0,     0,     0,     0,   156,     0,  1353,     0,
    2259        0,     0,   211,     0,    34,     0,     0,   235,   237,     0,
    2260      386,    38,    39,     0,     0,   246,     0,     0,     0,     0,
    2261        0,   597,     0,     0,     0,     0,     0,     0,     0,     0,
    2262        0,     0,     0,   418,     0,     0,     0,     0,     0,     0,
    2263        0,     0,   369,   369,     0,     0,     0,   433,   685,     0,
    2264        0,     0,   686,     0,    45,    46,   438,     0,   211,  1388,
    2265        0,  1389,  1390,  1391,     0,     0,   446,     0,     0,     0,
    2266        0,     0,     0,  1395,     0,     0,   211,   282,   283,     0,
    2267      284,   211,  1406,   211,     0,     0,     0,     0,     0,     0,
    2268        0,   464,     0,     0,     0,     0,   474,     0,     0,     0,
    2269      211,     0,   524,   211,   211,     0,   285,  1427,     0,   482,
    2270        0,   211,   286,     0,     0,   492,   287,   496,     0,   288,
    2271      289,   290,   291,    41,    42,   211,   292,   293,     0,     0,
    2272        0,     0,   211,     0,   526,     0,     0,     0,     0,     0,
    2273        0,     0,     0,     0,     0,     0,     0,     0,     0,   511,
    2274     1465,  1466,     0,     0,     0,     0,     0,    45,    46,   296,
    2275      297,   298,   299,  1471,     0,     0,     0,     0,   715,     0,
    2276     1471,     0,     0,     0,     0,     0,     0,   585,     0,     0,
    2277        0,     0,   590,     8,     9,    10,    11,    12,    13,    14,
    2278       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2279       25,  -292,  1504,     0,     0,     0,  1510,     0,     0,     0,
    2280      218,   635,    31,     0,     0,   636,   637,     0,   639,     0,
    2281        0,     0,     0,     0,     0,   650,   651,     0,   652,   653,
    2282        0,   654,     0,   655,  1532,     0,  1533,     0,     0,     0,
    2283       34,     0,   282,   283,     0,   284,   211,   715,     0,     0,
    2284      585,  -292,     0,     0,     0,     0,     0,     0,   670,     0,
    2285        0,     0,     0,     0,  1548,  1549,     0,     0,     0,     0,
    2286        0,   285,  1552,  1553,   211,     0,     0,   286,     0,   211,
    2287        0,   287,     0,   681,   288,   289,   290,   291,    41,    42,
    2288        0,   292,   293,     0,     0,     0,   369,   369,     0,     0,
    2289        0,     0,     0,     0,     0,   218,     0,     0,     0,   707,
    2290        0,     0,     0,     0,   294,   710,   379,     0,     0,   380,
    2291      464,     0,    45,    46,   296,   297,   298,   299,     0,     0,
    2292        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2293       17,    18,    19,    20,    21,    22,    23,    24,    25,  -292,
    2294      211,    26,    27,    28,     0,     0,   745,     0,     0,     0,
    2295       31,     0,     0,     0,   211,   507,     0,   509,   512,     0,
    2296        0,   763,     0,     0,     0,   515,   516,     0,     0,     0,
    2297        0,     0,     0,     0,   497,     0,     0,     0,    34,     0,
    2298      509,   509,     0,    37,     0,   336,   337,    40,     0,  -292,
    2299        0,     0,     0,     0,    41,    42,     0,     0,     0,   789,
    2300        0,     0,     0,     0,     0,     0,   369,     0,   799,     0,
    2301        0,     0,     0,     0,     0,   801,     0,     0,   509,     0,
    2302      634,   809,   338,     0,     0,     0,     0,     0,    45,    46,
    2303      823,     0,     0,     0,     0,   211,     0,     0,     0,     0,
    2304        0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
    2305        0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
    2306        0,     0,   524,     0,   524,     0,   211,     0,     0,     0,
    2307      863,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2308       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2309       23,    24,    25,  -292,     0,    26,    27,    28,   524,     0,
    2310      524,     0,     0,     0,    31,     0,   809,     0,     0,     0,
    2311        0,     0,     0,     0,   904,     0,     0,     0,     0,     0,
    2312        0,     0,     0,   282,   283,     0,   284,   165,     0,     0,
    2313      341,   364,    34,     0,     0,     0,     0,    37,     0,   336,
    2314      337,    40,     0,  -292,     0,   251,     0,     0,    41,    42,
    2315        0,     0,   285,     0,     0,   941,   942,     0,   286,     0,
    2316        0,     0,   287,     0,   414,   288,   289,   290,   291,    41,
    2317       42,   414,   292,   293,     0,     0,   338,     0,     0,   211,
    2318        0,     0,    45,    46,     0,     0,     0,     0,   979,     0,
    2319        0,     0,     0,   983,     0,   294,     0,   379,     0,     0,
    2320        0,     0,     0,    45,    46,   296,   297,   298,   299,   211,
    2321        0,     0,     0,     0,     0,     0,   786,     0,     0,     0,
    2322        0,     0,   509,   509,   509,   509,   509,   509,   509,   509,
    2323      509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
    2324        0,     0,     0,   414,   211,     0,     0,     0,     0,     0,
    2325        0,     0,     0,     0,     0,   211,     0,  1017,     0,     0,
    2326        0,     0,     0,     0,  1018,     0,     0,     0,     0,     0,
    2327        0,     0,     0,     0,     0,     0,     0,  1020,     0,  1021,
    2328        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2329        0,     0,     0,  1033,     0,     0,     0,     0,   414,  1037,
    2330        0,     0,     0,     0,     0,     0,   414,   581,     0,   414,
    2331      584,  1075,     0,     0,  1076,     0,     0,     0,     0,     0,
    2332      364,     0,     0,     0,   613,     0,     0,   211,     0,     0,
    2333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2334        0,   211,     0,   631,     0,     0,   341,     0,     0,     0,
    2335        0,   282,   283,     0,   284,  1041,     0,  1042,     0,     0,
    2336     1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,   509,     0,
    2337     1524,  1051,     0,   414,     0,  1052,  1053,   414,    33,     0,
    2338      285,     0,     0,     0,     0,     0,  1054,     0,     0,     0,
    2339      287,   590,     0,   288,   289,   290,   291,    41,    42,     0,
    2340      292,   293,     0,     0,     0,     0,     0,     0,   364,     0,
    2341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2342        0,     0,     0,   294,     0,   379,  1146,     0,   171,   509,
    2343      211,    45,    46,   296,   297,   298,   299,     0,     0,     0,
    2344        0,  1056,     0,     0,     0,     0,  -127,     0,     0,     0,
    2345        0,     0,     0,     0,   414,     0,     0,   364,     0,   509,
    2346        0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2347       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2348       22,    23,    24,    25,   526,     0,    26,    27,    28,     0,
    2349     1211,     0,     0,     0,     0,    31,   414,     0,     0,     0,
    2350      341,   364,     0,     0,     8,     9,    10,    11,    12,    13,
     2392       0,     0,     0,     0,     0,  1151,     0,     0,     0,     0,
     2393       0,     0,     0,     0,   285,     0,  1166,  1487,     0,  1489,
     2394     641,  1230,   139,   140,   287,     0,     0,   288,   289,   290,
     2395     291,    41,    42,     0,   292,   293,  1500,     0,   382,     0,
     2396    1184,     0,   341,     0,     0,     0,     0,     0,     0,     0,
     2397       0,     0,     0,     0,     0,   975,   975,   294,     0,   642,
     2398     364,   643,   380,     0,     0,    45,    46,   296,   297,   298,
     2399     299,     0,     0,     0,     0,     0,  1216,     0,     0,     0,
     2400       0,     0,     0,     0,     1,     2,   206,     4,     5,     6,
     2401       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2402      17,    18,    19,    20,    21,    22,    23,    24,    25,   364,
     2403     364,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2404      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2405       0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,     0,     0,     0,     0,     0,    34,   863,
     2407      35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
     2408       0,     0,     0,     0,  1267,  1268,     0,     1,     2,   206,
     2409       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    23512410      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2352       24,    25,  -293,    34,  1223,   211,     0,     0,    37,  1225,
    2353      336,   337,    40,    31,     0,     0,     0,  1229,     0,    41,
    2354       42,     0,     0,     0,     0,   414,   414,     0,     0,     0,
    2355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2356        0,    34,     0,     0,   803,   364,     0,   338,     0,     0,
    2357     1255,     0,  -293,    45,    46,   613,     0,   613,   613,   509,
    2358        0,     0,  1263,     0,   613,  1264,     0,  1265,     0,     0,
    2359        0,     0,     0,     0,   842,   364,     0,     0,     0,     0,
    2360      364,  1274,  1275,     0,     0,     0,     0,     0,     0,   364,
    2361      364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
    2362        0,     0,     0,  1288,   509,     0,     0,   364,     0,     0,
    2363        0,     0,   414,   884,     0,     0,   414,   887,     0,     0,
    2364        0,     0,     0,   889,     0,     0,     0,     0,     0,     0,
    2365        0,     0,     0,     0,     0,     0,     0,     0,     0,   509,
    2366        0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
    2367     1327,     0,   509,     0,     0,     0,     0,     0,     0,     0,
    2368        0,     0,     0,     0,     0,   364,   613,     0,     0,     8,
    2369        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2370       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2371       27,    28,     0,   509,     0,     0,     0,     0,    31,   341,
    2372      364,     0,     0,     0,   414,   414,     0,     0,     0,     0,
    2373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2374        0,     0,     0,     0,     0,  1377,    34,  1378,     0,     0,
    2375        0,     0,     0,   207,    39,     0,     0,     0,     0,  1386,
    2376        0,  1387,     0,     0,     0,     0,     0,     0,   414,     0,
    2377        0,     0,   211,     0,     0,     0,   364,     0,  1394,     0,
    2378        0,     0,     0,   803,   364,     0,     0,   613,     0,   613,
    2379      509,     0,     0,     0,  1412,  1414,    45,    46,     0,   613,
    2380        0,     0,     0,     0,     0,  1419,     0,     0,  1229,     0,
    2381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2382        0,     0,     0,     0,     0,     0,     0,     0,     0,  1441,
    2383        0,     0,     0,     0,     0,     0,     0,     0,  1448,     0,
    2384        0,  1450,     0,  1452,  1454,  1456,     0,     0,     0,     0,
    2385      509,   509,     8,     9,    10,    11,    12,    13,    14,    15,
    2386       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2387        0,   803,    26,    27,    28,     0,     0,     0,   341,   364,
    2388      414,    31,   414,  1486,     0,  1488,   414,  1229,     0,     0,
    2389        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2390        0,     0,  1499,     0,     0,     0,     0,   613,   613,    34,
    2391        0,     0,     0,     0,    37,     0,    38,    39,    40,     0,
    2392        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2394        0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
    2395        0,    43,     0,   157,     0,     0,     0,     0,     0,    45,
    2396       46,     0,     0,   414,  1143,     0,     0,     0,     0,     0,
    2397        0,     0,     0,     0,   364,     0,     0,     0,     0,     0,
    2398      414,  1155,     0,   613,   613,  1160,     0,     0,     0,     0,
    2399        0,     0,     0,     0,     0,   364,   364,     0,     0,     0,
    2400        0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
    2401        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2402       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2403       22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    2404        0,     0,    30,   282,   283,    31,   284,     0,     0,     0,
    2405        0,     0,     0,     0,     0,   509,     0,     0,   414,     0,
    2406      414,     0,     0,     0,     0,   414,     0,     0,     0,     0,
    2407        0,   509,   285,    34,   613,    35,     0,    36,   286,     0,
    2408       38,    39,   287,     0,     0,   288,   289,   290,   291,    41,
    2409       42,     0,   292,   293,     0,     0,     0,   803,   414,  1243,
    2410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2411        0,   282,   283,     0,   284,   294,     0,  1055,     0,     0,
    2412        0,   364,     0,    45,    46,   296,   297,   298,   299,     0,
    2413        0,     0,     0,     0,     0,     0,     0,     0,  -127,     0,
    2414      285,   509,   509,     0,     0,     0,   640,     0,   139,   140,
     2411      24,    25,    44,     0,    26,    27,    28,    29,    45,    46,
     2412      30,   282,   283,    31,  1041,  1042,     0,  1043,     0,     0,
     2413    1044,  1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,
     2414       0,  1052,     0,     0,     0,  1053,  1054,     0,    33,   364,
     2415     285,    34,     0,    35,     0,    36,  1055,     0,    38,    39,
    24152416     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    24162417     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    24172418       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2418        0,     0,   341,   294,     0,   641,     0,   642,   380,     0,
     2419       0,     0,     0,   294,     0,  1056,     0,     0,   171,     0,
    24192420       0,    45,    46,   296,   297,   298,   299,     0,     0,     0,
    2420      364,     0,     0,     0,     0,     0,     0,     0,     1,     2,
    2421      206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2422       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2423       23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
    2424        0,    30,   282,   283,    31,  1040,  1041,     0,  1042,   364,
    2425      364,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,
    2426        0,     0,  1051,     0,     0,     0,  1052,  1053,     0,    33,
    2427        0,   285,    34,     0,    35,     0,    36,  1054,     0,    38,
    2428       39,   287,     0,     0,   288,   289,   290,   291,    41,    42,
    2429        0,   292,   293,     0,     0,     0,     0,     0,     0,     0,
     2421       0,  1057,     0,     0,     0,     0,  -128,     0,     0,     0,
     2422       0,     0,     0,     0,     0,  1372,     0,     0,   742,     0,
     2423       0,     0,     0,     0,     0,     0,   414,     0,     0,     0,
    24302424       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2431        0,     0,     0,     0,   294,     0,  1055,     0,     0,   171,
    2432        0,     0,    45,    46,   296,   297,   298,   299,     0,     0,
    2433        0,     0,  1056,     0,     0,     0,     0,  -127,     0,     0,
    2434        0,     0,     0,     1,     2,   206,     4,     5,     6,     7,
    2435        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2436       18,    19,    20,    21,    22,    23,    24,    25,     0,   364,
    2437       26,    27,    28,    29,     0,     0,    30,   282,   283,    31,
    2438      284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2439       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2440        0,    26,    27,    28,     0,     0,   285,    34,     0,    35,
    2441       31,    36,   286,     0,    38,    39,   287,     0,     0,   288,
    2442      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2443        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2444        0,     0,     0,   110,     0,    38,    39,     0,     0,   294,
    2445        0,    44,     0,     0,    41,    42,   414,    45,    46,   296,
    2446      297,   298,   299,     0,     0,     0,     0,     0,     0,     0,
    24472425       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2448      414,   414,    44,     0,     0,     0,     0,     0,    45,    46,
     2426     414,   414,     0,     0,     0,     0,     0,     0,     0,     0,
    24492427       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2450        0,     0,     0,     0,     0,   414,     2,   206,     4,     5,
     2428       0,     0,     0,     0,     0,   414,     1,     2,   206,     4,
     2429       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2430      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2431      25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
     2432     282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
     2433      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2434      24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
     2435      34,     0,    35,    31,    36,   286,     0,    38,    39,   287,
     2436       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2437     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2438       0,    34,     0,     0,     0,     0,   110,     0,    38,    39,
     2439       0,     0,   294,     0,    44,     0,     0,    41,    42,     0,
     2440      45,    46,   296,   297,   298,   299,     2,   206,     4,     5,
    24512441       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24522442      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2453        0,     0,    26,    27,    28,     0,     0,     0,     0,   282,
     2443       0,     0,    26,    27,    28,     0,     0,     0,   321,   282,
    24542444     283,    31,   284,     8,     9,    10,    11,    12,    13,    14,
    24552445      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    24582448       0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
    24592449       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2460       34,     0,     0,     0,     0,   110,     0,    38,    39,     0,
    2461        0,   294,     0,   343,     0,     0,    41,    42,   757,   344,
     2450      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2451       0,   294,     0,   343,     0,     0,     0,     0,   758,   344,
    24622452      46,   296,   297,   298,   299,     2,   206,     4,     5,     6,
    24632453       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     
    24702460     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
    24712461       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2472        0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
    2473      294,     0,   962,     0,     0,     0,     0,   757,   344,    46,
     2462       0,     0,     0,     0,     0,     0,   207,    39,     0,     0,
     2463     294,     0,   963,     0,     0,     0,     0,   758,   344,    46,
    24742464     296,   297,   298,   299,     2,   206,     4,     5,     6,     7,
    24752465       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     
    24782468     284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    24792469      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2480        0,    26,    27,    28,     0,     0,   285,    34,     0,    35,
     2470       0,     0,     0,     0,     0,     0,   285,    34,     0,    35,
    24812471      31,    36,   286,     0,    38,    39,   287,     0,     0,   288,
    24822472     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    24832473       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2484        0,     0,     0,     0,     0,   207,    39,     0,     0,   294,
    2485        0,   962,     0,     0,     0,     0,   757,    45,    46,   296,
     2474       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2475       0,   963,     0,     0,     0,     0,   758,    45,    46,   296,
    24862476     297,   298,   299,     2,   206,     4,     5,     6,     7,     8,
    24872477       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     
    25062496     291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
    25072497       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2508        0,     0,     0,     0,     0,     0,     0,   294,     0,   997,
    2509        0,     0,     0,     0,     0,   998,    46,   296,   297,   298,
     2498       0,     0,     0,     0,     0,     0,     0,   294,     0,   998,
     2499       0,     0,     0,     0,     0,   999,    46,   296,   297,   298,
    25102500     299,     2,   206,     4,     5,     6,     7,     8,     9,    10,
    25112501      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     
    25182508      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    25192509       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2520        0,     0,     0,     0,     0,     0,   294,     0,   962,     0,
     2510       0,     0,     0,     0,     0,     0,   294,     0,   963,     0,
    25212511       0,     0,     0,     0,   344,    46,   296,   297,   298,   299,
    25222512       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     
    25312521       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25322522       0,     0,     0,     0,     0,   294,     0,   379,     0,     0,
    2533        0,     0,     0,    45,    46,   296,   297,   298,   299,  -515,
     2523       0,     0,     0,    45,    46,   296,   297,   298,   299,  -516,
    25342524       0,     0,     1,     2,     3,     4,     5,     6,     7,     8,
    25352525       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     
    25552545       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25562546       0,     0,     0,     0,    43,     0,    44,     0,     0,     0,
    2557     -519,     0,    45,    46,     1,     2,     3,     4,     5,     6,
     2547    -520,     0,    45,    46,     1,     2,     3,     4,     5,     6,
    25582548       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    25592549      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     
    25812571       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25822572      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2583       25,  -292,     0,    26,    27,    28,    29,     0,     0,    30,
     2573      25,  -293,     0,    26,    27,    28,    29,     0,     0,    30,
    25842574       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    25852575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25862576       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25872577      34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
    2588        0,  -292,     1,     2,   206,     4,     5,     6,     7,     8,
    2589        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2590       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2591       27,    28,    29,     0,    44,    30,     0,     0,    31,     0,
     2578       0,  -293,     2,   206,     4,     5,     6,     7,     8,     9,
     2579      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2580      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2581      28,     0,     0,     0,    44,     0,     0,    31,     0,     0,
    25922582      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
    25932583       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2594        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2595       36,     0,     0,    38,    39,   205,     2,   206,     4,     5,
    2596        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2597       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2598        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2599       44,    31,     0,     0,     0,     0,    45,    46,     0,     0,
     2584       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2585      37,     0,   207,    39,    40,     0,     0,     0,     0,     0,
     2586       0,    41,    42,     0,     0,     0,     0,     0,     0,     0,
    26002587       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2601        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2602        0,    35,     0,    36,     0,     0,   207,    39,     0,     2,
    2603      206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2604       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2605       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2606        0,     0,     0,   208,    31,     0,     0,     0,     0,    45,
    2607       46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2609        0,     0,    34,     0,    35,     0,    36,    37,     0,   207,
    2610       39,    40,     0,     0,     0,     0,     0,     0,    41,    42,
    2611        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2613        0,     0,     0,     0,    43,     0,   208,     0,     0,     0,
    2614        0,     0,    45,    46,     2,   206,     4,     5,     6,     7,
    2615        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2616       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2617       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2618        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2619       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2620       24,    25,     0,     0,    26,    27,    28,    34,     0,    35,
    2621        0,    36,     0,    31,    38,    39,     0,     2,   206,     4,
    2622        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2623       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2624       25,    34,     0,    26,    27,    28,     0,     0,    38,    39,
    2625     -399,   677,    31,     0,     0,     0,     0,    45,    46,     0,
    2626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2628       34,     0,    35,     0,    36,   157,     0,    38,    39,     0,
    2629        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
    2630        0,     0,     0,     0,     0,     0,     0,     0,     0,  1350,
    2631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2632        0,     0,     0,     0,   677,     0,     0,     0,     0,     0,
    2633       45,    46,     2,   206,     4,     5,     6,     7,     8,     9,
    2634       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2635       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2636       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2637        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2638       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2639        0,    26,    27,    28,     0,    34,     0,    35,     0,    36,
    2640       31,   684,    38,    39,     0,     0,     0,     0,     0,     0,
    2641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2642        0,     0,     0,     0,  1352,     0,     0,     0,    34,     0,
    2643        0,     0,     0,     0,     0,    38,    39,     0,     0,   677,
     2588       0,     0,     0,     0,     0,     0,     0,    43,     0,   208,
    26442589       0,     0,     0,     0,     0,    45,    46,     2,   206,     4,
    26452590       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    26462591      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2647       25,     0,   685,    26,    27,    28,  1091,     0,    45,    46,
    2648        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2592      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2593       0,     0,    31,     0,     0,     0,     0,     8,     9,    10,
     2594      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2595      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2596      34,     0,    35,     0,    36,     0,    31,    38,    39,     0,
     2597       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     2598      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2599      22,    23,    24,    25,    34,     0,    26,    27,    28,     0,
     2600       0,    38,    39,  -400,   678,    31,     0,     0,     0,     0,
     2601      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2602       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2603       0,     0,     0,    34,     0,    35,   635,    36,   338,     0,
     2604      38,    39,     0,     0,    45,    46,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2606       0,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,   678,     0,     0,
     2608       0,     0,     0,    45,    46,     2,   206,     4,     5,     6,
     2609       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2610      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2611       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2612      31,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2613      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2614      24,    25,     0,     0,    26,    27,    28,     0,    34,     0,
     2615      35,     0,    36,    31,   685,    38,    39,     0,     0,     0,
     2616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2617       0,     0,     0,     0,     0,     0,     0,  1353,     0,     0,
     2618       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2619       0,     0,   678,     0,     0,     0,     0,     0,    45,    46,
     2620       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     2621      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2622      22,    23,    24,    25,     0,   686,    26,    27,    28,   687,
     2623       0,    45,    46,     0,     0,    31,     0,     0,     0,     0,
    26492624       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26502625       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2651       34,     0,    35,     0,    36,     0,     0,   207,    39,     0,
    2652        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2653       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2654       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2655        0,     0,     0,     0,   270,    31,     0,     0,     0,     0,
    2656       45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
    2657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26582626       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2659       38,    39,     0,     2,   206,     4,     5,     6,     7,     8,
     2627     207,    39,     0,     2,   206,     4,     5,     6,     7,     8,
    26602628       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    26612629      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2662       27,    28,     0,     0,     0,     0,     0,   677,    31,     0,
     2630      27,    28,     0,     0,     0,     0,     0,   270,    31,     0,
    26632631       0,     0,     0,    45,    46,     0,     0,     0,     0,     0,
    26642632       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     
    26682636      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    26692637       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2670      592,    31,     0,     0,     0,     0,    45,    46,     0,     0,
     2638     678,    31,     0,     0,     0,     0,    45,    46,     0,     0,
    26712639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26722640       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2673        0,    35,     0,    36,     0,     0,   207,    39,     8,     9,
    2674       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2675       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2676       28,     0,     0,     0,     0,   282,   283,    31,   284,     0,
    2677        0,     0,     0,   208,     0,     0,     0,     0,     0,    45,
     2641       0,    35,     0,    36,     0,     0,    38,    39,     0,     2,
     2642     206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2643      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2644      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2645       0,     0,     0,   593,    31,     0,     0,     0,     0,    45,
    26782646      46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2679        0,     0,     0,     0,   285,    34,     0,     0,     0,     0,
    2680      286,     0,    38,    39,   287,     0,     0,   288,   289,   290,
    2681      291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
    26822647       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2683        0,     0,     0,     0,     0,     0,     0,   294,     0,   517,
    2684        0,     0,   171,     0,     0,    45,    46,   296,   297,   298,
    2685      299,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2648       0,     0,    34,     0,    35,     0,    36,     0,     0,   207,
     2649      39,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    26862650      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    26872651       0,    26,    27,    28,     0,     0,     0,     0,   282,   283,
    2688       31,   284,     8,     9,    10,    11,    12,    13,    14,    15,
    2689       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2690        0,     0,    26,    27,    28,     0,     0,   285,    34,     0,
    2691        0,    31,   684,   286,     0,    38,    39,   287,     0,     0,
     2652      31,   284,     0,     0,     0,     0,   208,     0,     0,     0,
     2653       0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
     2654       0,     0,     0,     0,     0,     0,     0,   285,    34,     0,
     2655       0,     0,     0,   286,     0,    38,    39,   287,     0,     0,
    26922656     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
    2693        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2694        0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
    2695      294,   -36,   295,     0,     0,     0,     0,     0,    45,    46,
     2657       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2658       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2659     294,     0,   517,     0,     0,   171,     0,     0,    45,    46,
    26962660     296,   297,   298,   299,     8,     9,    10,    11,    12,    13,
    26972661      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2698       24,    25,     0,   685,    26,    27,    28,  1220,     0,    45,
    2699       46,   282,   283,    31,   284,     8,     9,    10,    11,    12,
     2662      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2663       0,   282,   283,    31,   284,     8,     9,    10,    11,    12,
    27002664      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    27012665      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     
    27032667     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    27042668     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2705        0,     0,    34,     0,     0,     0,     0,     0,     0,   207,
    2706       39,     0,     0,   294,     0,   295,     0,     0,     0,     0,
     2669       0,     0,    34,     0,     0,     0,     0,    37,     0,   336,
     2670     337,    40,     0,   294,   -36,   295,     0,     0,    41,    42,
    27072671       0,    45,    46,   296,   297,   298,   299,     8,     9,    10,
    27082672      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2709       21,    22,    23,    24,    25,     0,   270,    26,    27,    28,
     2673      21,    22,    23,    24,    25,     0,   338,    26,    27,    28,
    27102674       0,     0,    45,    46,   282,   283,    31,   284,     8,     9,
    27112675      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     
    27152679      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    27162680       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2717        0,     0,    38,    39,     0,     0,   294,     0,   157,     0,
    2718        0,     0,     0,     0,    45,    46,   296,   297,   298,   299,
     2681     110,     0,    38,    39,     0,     0,   294,     0,   295,     0,
     2682       0,    41,    42,     0,    45,    46,   296,   297,   298,   299,
    27192683       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2720       18,    19,    20,    21,    22,    23,    24,    25,     0,   338,
     2684      18,    19,    20,    21,    22,    23,    24,    25,     0,    44,
    27212685      26,    27,    28,     0,     0,    45,    46,   282,   283,    31,
    27222686     284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27232687      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    27242688       0,    26,    27,    28,     0,     0,   285,    34,     0,     0,
    2725       31,     0,   286,     0,    38,    39,   287,     0,     0,   288,
     2689      31,   685,   286,     0,    38,    39,   287,     0,     0,   288,
    27262690     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    27272691       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    27282692       0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
    2729        0,   592,     0,     0,     0,     0,     0,    45,    46,   296,
     2693       0,   157,     0,     0,     0,     0,     0,    45,    46,   296,
    27302694     297,   298,   299,     8,     9,    10,    11,    12,    13,    14,
    27312695      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2732       25,     0,   685,    26,    27,    28,     0,     0,    45,    46,
    2733      282,   283,    31,   284,     0,     0,     0,     0,     0,     0,
    2734        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2735       17,    18,    19,    20,    21,    22,    23,    24,    25,   285,
    2736       34,    26,    27,    28,     0,   286,     0,    38,    39,   287,
    2737       31,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2696      25,     0,   686,    26,    27,    28,  1092,     0,    45,    46,
     2697     282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
     2698      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2699      24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
     2700      34,     0,     0,    31,   685,   286,     0,    38,    39,   287,
     2701       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    27382702     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2739        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2740        0,     0,   294,     0,   379,    38,    39,     0,     0,     0,
    2741       45,    46,   296,   297,   298,   299,   467,     2,   206,     4,
    2742        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2703       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2704       0,     0,   294,     0,   593,     0,     0,     0,     0,     0,
     2705      45,    46,   296,   297,   298,   299,     8,     9,    10,    11,
     2706      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2707      22,    23,    24,    25,     0,   686,    26,    27,    28,  1221,
     2708       0,    45,    46,   282,   283,    31,   284,     0,     0,     0,
     2709       0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2710      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2711      24,    25,   285,    34,    26,    27,    28,     0,   286,     0,
     2712      38,    39,   287,    31,     0,   288,   289,   290,   291,    41,
     2713      42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
     2714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2715       0,    34,     0,     0,     0,   294,     0,   379,    38,    39,
     2716       0,     0,     0,    45,    46,   296,   297,   298,   299,   467,
     2717       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     2718      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2719      22,    23,    24,    25,     0,   257,    26,    27,    28,     0,
     2720       0,    45,    46,     0,     0,    31,     0,     0,     0,     8,
     2721       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2722      19,    20,    21,    22,    23,    24,    25,  -293,     0,    26,
     2723      27,    28,     0,    34,     0,    35,     0,    36,    31,     0,
     2724      38,    39,     0,     0,     0,     0,     0,     8,     9,    10,
     2725      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2726      21,    22,    23,    24,    25,     0,    34,    26,    27,    28,
     2727       0,    37,     0,   336,   337,    40,    31,  -293,     0,     0,
     2728      -3,     0,    41,    42,     0,     8,     9,    10,    11,    12,
     2729      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2730      23,    24,    25,  -293,    34,    26,    27,    28,     0,    37,
     2731     338,   336,   337,    40,    31,     0,    45,    46,     0,     0,
     2732      41,    42,     0,     8,     9,    10,    11,    12,    13,    14,
    27432733      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2744       25,     0,   592,    26,    27,    28,     0,     0,    45,    46,
    2745        0,     0,    31,     0,     0,     0,     8,     9,    10,    11,
     2734      25,     0,    34,    26,    27,    28,   635,     0,   338,    38,
     2735      39,     0,    31,  -293,    45,    46,     8,     9,    10,    11,
    27462736      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    27472737      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2748       34,     0,    35,     0,    36,    31,     0,    38,    39,     0,
    2749        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2738      34,     0,     0,     0,     0,    31,   338,    38,    39,     0,
     2739       0,     0,    45,    46,     8,     9,    10,    11,    12,    13,
    27502740      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2751       24,    25,     0,    34,    26,    27,    28,     0,    37,     0,
    2752       38,    39,    40,    31,     0,     0,     0,    -3,     0,    41,
    2753       42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2741      24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
     2742     207,    39,     0,    31,   157,     0,     0,     0,     0,     0,
     2743      45,    46,     8,     9,    10,    11,    12,    13,    14,    15,
    27542744      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2755        0,    34,    26,    27,    28,    43,    37,    44,   207,    39,
    2756       40,    31,     0,    45,    46,     0,     0,    41,    42,     0,
    2757        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2758       18,    19,    20,    21,    22,    23,    24,    25,  -292,    34,
    2759       26,    27,    28,    43,    37,   270,   336,   337,    40,    31,
    2760        0,    45,    46,     0,     0,    41,    42,     0,     8,     9,
    2761       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2762       20,    21,    22,    23,    24,    25,  -292,    34,    26,    27,
    2763       28,   634,     0,   338,    38,    39,     0,    31,  -292,    45,
     2745       0,    34,    26,    27,    28,     0,     0,   270,    38,    39,
     2746       0,    31,     0,    45,    46,     8,     9,    10,    11,    12,
     2747      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2748      23,    24,    25,     0,     0,    26,    27,    28,     0,    34,
     2749       0,     0,     0,     0,    31,   338,    38,    39,     0,     0,
     2750       0,    45,    46,     8,     9,    10,    11,    12,    13,    14,
     2751      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2752      25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
     2753      39,     0,    31,   686,     0,     0,     0,     0,     0,    45,
    27642754      46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27652755      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2766        0,    26,    27,    28,     0,    34,     0,     0,     0,   634,
    2767       31,   338,    38,    39,     0,     0,  -292,    45,    46,     0,
     2756      34,    26,    27,    28,     0,     0,   593,    38,    39,     0,
     2757      31,     0,    45,    46,     2,   206,     4,     5,     6,     7,
     2758       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2759      18,    19,    20,    21,    22,    23,    24,    25,    34,     0,
     2760      26,    27,    28,     0,    44,   207,    39,     0,     0,    31,
     2761      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
    27682762       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2769        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2770        0,     0,     0,     0,     0,    38,    39,     0,     0,   338,
    2771        0,     0,     0,     0,     0,    45,    46,     2,   206,     4,
    2772        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2773       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2774       25,     0,    44,    26,    27,    28,     0,     0,    45,    46,
    2775        0,     0,    31,     0,   282,   283,     0,   284,  1041,     0,
    2776     1042,     0,     0,  1043,  1044,  1045,  1046,  1047,  1048,  1049,
    2777     1050,     0,     0,     0,  1051,     0,     0,     0,  1052,  1053,
    2778       34,    33,    35,   285,    36,     0,     0,    38,    39,  1054,
    2779        0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
    2780       41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
     2763       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2764       0,    36,     0,     0,    38,    39,     0,     0,    45,    46,
     2765     282,   283,     0,   284,  1042,     0,  1043,     0,     0,  1044,
     2766    1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,  1525,
     2767    1052,     0,     0,     0,  1053,  1054,     0,    33,     0,   285,
     2768    -413,     0,     0,     0,     0,  1055,     0,     0,     0,   287,
     2769       0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
     2770     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    27812771       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2782        0,     0,     0,  -412,     0,     0,   294,     0,   379,     0,
    2783        0,   171,     0,     0,    45,    46,   296,   297,   298,   299,
    2784        0,     0,     0,     0,  1056,     0,     0,     0,     0,  -127,
    2785        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2786       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2787       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2788        0,     0,     0,     0,     0,    31,     0,   282,   283,     0,
    2789      284,  1041,     0,  1042,  1398,  1399,  1043,  1044,  1045,  1046,
    2790     1047,  1048,  1049,  1050,     0,     0,  1524,  1051,     0,     0,
    2791        0,  1052,  1053,    34,    33,    35,   285,    36,     0,     0,
    2792       38,    39,  1054,     0,     0,     0,   287,     0,     0,   288,
    2793      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2794        0,     0,  1311,     0,     0,     0,     0,     0,     0,     0,
    2795        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2796        0,   379,     0,     0,   171,     0,     0,    45,    46,   296,
    2797      297,   298,   299,     0,     0,   282,   283,  1056,   284,  1041,
    2798        0,  1042,  1398,  1399,  1043,  1044,  1045,  1046,  1047,  1048,
    2799     1049,  1050,     0,     0,     0,  1051,     0,     0,     0,  1052,
    2800     1053,     0,    33,     0,   285,     0,     0,     0,     0,     0,
    2801     1054,     0,     0,     0,   287,     0,     0,   288,   289,   290,
    2802      291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
     2772       0,     0,   294,     0,   379,     0,     0,   171,     0,     0,
     2773      45,    46,   296,   297,   298,   299,     0,     0,   282,   283,
     2774    1057,   284,  1042,     0,  1043,  -128,     0,  1044,  1045,  1046,
     2775    1047,  1048,  1049,  1050,  1051,     0,     0,     0,  1052,     0,
     2776       0,     0,  1053,  1054,     0,    33,     0,   285,     0,     0,
     2777       0,     0,     0,  1055,     0,     0,     0,   287,     0,     0,
     2778     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
    28032779       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2804        0,     0,     0,     0,     0,     0,     0,   294,     0,   379,
    2805        0,     0,   171,     0,     0,    45,    46,   296,   297,   298,
    2806      299,     0,     0,   282,   283,  1056,   284,  1041,     0,  1042,
    2807        0,     0,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,
    2808        0,     0,     0,  1051,     0,     0,     0,  1052,  1053,     0,
    2809       33,     0,   285,     0,     0,     0,     0,     0,  1054,     0,
    2810        0,     0,   287,     0,     0,   288,   289,   290,   291,    41,
    2811       42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
    2812      282,   283,     0,   284,     0,     0,     0,     0,     0,     0,
    2813        0,     0,     0,     0,     0,   294,     0,   379,     0,     0,
    2814      171,     0,     0,    45,    46,   296,   297,   298,   299,   285,
    2815        0,     0,     0,  1056,     0,   286,     0,     0,     0,   287,
    2816        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2817      293,     0,     0,     0,     0,     0,     0,   282,   283,     0,
    2818      284,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2819        0,     0,   294,     0,   379,     0,     0,     0,     0,   757,
    2820       45,    46,   296,   297,   298,   299,   285,     0,     0,     0,
    2821        0,     0,   286,     0,     0,     0,   287,     0,     0,   288,
     2780       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2781     294,     0,   379,     0,     0,   171,     0,     0,    45,    46,
     2782     296,   297,   298,   299,     0,     0,     0,     0,  1057,     0,
     2783       0,     0,     0,  -128,     2,   206,     4,     5,     6,     7,
     2784       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2785      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2786      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2787       0,   282,   283,     0,   284,  1042,     0,  1043,  1399,  1400,
     2788    1044,  1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,
     2789    1525,  1052,     0,     0,     0,  1053,  1054,    34,    33,    35,
     2790     285,    36,     0,     0,    38,    39,  1055,     0,     0,     0,
     2791     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2792     292,   293,     0,     0,     0,     0,  1312,     0,     0,     0,
     2793       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2794       0,     0,     0,   294,     0,   379,     0,     0,   171,     0,
     2795       0,    45,    46,   296,   297,   298,   299,     0,     0,   282,
     2796     283,  1057,   284,  1042,     0,  1043,  1399,  1400,  1044,  1045,
     2797    1046,  1047,  1048,  1049,  1050,  1051,     0,     0,     0,  1052,
     2798       0,     0,     0,  1053,  1054,     0,    33,     0,   285,     0,
     2799       0,     0,     0,     0,  1055,     0,     0,     0,   287,     0,
     2800       0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
     2801       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2802       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2803       0,   294,     0,   379,     0,     0,   171,     0,     0,    45,
     2804      46,   296,   297,   298,   299,     0,     0,   282,   283,  1057,
     2805     284,  1042,     0,  1043,     0,     0,  1044,  1045,  1046,  1047,
     2806    1048,  1049,  1050,  1051,     0,     0,     0,  1052,     0,     0,
     2807       0,  1053,  1054,     0,    33,     0,   285,     0,     0,     0,
     2808       0,     0,  1055,     0,     0,     0,   287,     0,     0,   288,
    28222809     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    28232810       0,     0,     0,     0,   282,   283,     0,   284,     0,     0,
    28242811       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2825        0,   379,     0,     0,   971,     0,     0,    45,    46,   296,
    2826      297,   298,   299,   285,     0,     0,     0,     0,     0,   286,
     2812       0,   379,     0,     0,   171,     0,     0,    45,    46,   296,
     2813     297,   298,   299,   285,     0,     0,     0,  1057,     0,   286,
    28272814       0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
    28282815      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    28292816       0,   282,   283,     0,   284,     0,     0,     0,     0,     0,
    28302817       0,     0,     0,     0,     0,     0,   294,     0,   379,     0,
    2831      282,   283,     0,   284,    45,    46,   296,   297,   298,   299,
     2818       0,   972,     0,     0,    45,    46,   296,   297,   298,   299,
    28322819     285,     0,     0,     0,     0,     0,   286,     0,     0,     0,
    2833      287,     0,     0,   288,   289,   290,   291,    41,    42,   285,
    2834      292,   293,     0,     0,     0,   286,     0,     0,     0,   287,
    2835        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2836      293,     0,     0,   294,     0,   379,     0,   282,   283,     0,
    2837      284,   708,    46,   296,   297,   298,   299,     0,     0,     0,
    2838        0,     0,   294,     0,   379,     0,     0,     0,     0,     0,
    2839      344,    46,   296,   297,   298,   299,   285,     0,     0,     0,
     2820     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2821     292,   293,     0,     0,     0,     0,     0,     0,   282,   283,
     2822       0,   284,     0,     0,     0,     0,     0,     0,     0,     0,
     2823       0,     0,     0,   294,     0,   379,     0,   282,   283,     0,
     2824     284,    45,    46,   296,   297,   298,   299,   285,     0,     0,
     2825       0,     0,     0,   286,     0,     0,     0,   287,     0,     0,
     2826     288,   289,   290,   291,    41,    42,   285,   292,   293,     0,
    28402827       0,     0,   286,     0,     0,     0,   287,     0,     0,   288,
    28412828     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2843        0,     0,     0,     0,     0,     0,     0,     0,     0,   514,
    2844        0,     0,     0,     0,     0,     0,     0,    45,    46,   296,
    2845      297,   298,   299,     2,   206,     4,     5,     6,     7,     8,
    2846        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2847       19,    20,    21,    22,    23,    24,    25,     0,     0,     0,
    2848        0,     0,     0,     0,     0,     0,     0,     0,    31,     0,
    2849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2851        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2852       36,    37,     0,   174,   175,    40,     0,     0,     0,     0,
    2853        0,     0,    41,    42,   205,     2,   206,     4,     5,     6,
     2829     294,     0,   379,     0,   282,   283,     0,   284,   709,    46,
     2830     296,   297,   298,   299,     0,     0,     0,     0,     0,   294,
     2831       0,   379,     0,   282,   283,     0,   284,   344,    46,   296,
     2832     297,   298,   299,   285,     0,     0,     0,     0,     0,   286,
     2833       0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
     2834      41,    42,   285,   292,   293,     0,     0,     0,   286,     0,
     2835       0,     0,   287,     0,     0,   288,   289,   290,   291,    41,
     2836      42,     0,   292,   293,     0,     0,   506,     0,     0,     0,
     2837     282,   283,     0,   284,    45,    46,   296,   297,   298,   299,
     2838       0,     0,     0,     0,     0,   294,     0,     0,     0,   282,
     2839     283,     0,   284,    45,    46,   296,   297,   298,   299,   285,
     2840       0,     0,     0,     0,     0,   286,     0,     0,     0,   287,
     2841       0,     0,   288,   289,   290,   291,    41,    42,   285,   292,
     2842     293,     0,     0,     0,   286,     0,     0,     0,   287,     0,
     2843       0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
     2844       0,     0,   511,     0,     0,     0,     0,     0,     0,     0,
     2845      45,    46,   296,   297,   298,   299,     0,     0,     0,     0,
     2846       0,   514,     0,     0,     0,     0,     0,     0,     0,    45,
     2847      46,   296,   297,   298,   299,     2,   206,     4,     5,     6,
    28542848       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    28552849      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2856        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2850       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28572851      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28582852       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28592853       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2860       35,     0,    36,     0,     0,   207,    39,   467,     2,   206,
    2861        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2862       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2863       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2864        0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
     2854      35,     0,    36,    37,     0,   174,   175,    40,     0,     0,
     2855       0,     0,     0,     0,    41,    42,   205,     2,   206,     4,
     2856       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2857      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2858      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2859       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    28652860       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28662861       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2867        0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
     2862      34,     0,    35,     0,    36,     0,     0,   207,    39,   467,
    28682863       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    28692864      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     
    28732868       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28742869       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2875      207,    39
     2870      38,    39,     2,   206,     4,     5,     6,     7,     8,     9,
     2871      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2872      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2873      28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
     2874       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2875       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2876       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2877       0,     0,   207,    39
    28762878};
    28772879
    28782880#define yypact_value_is_default(yystate) \
    2879   ((yystate) == (-1282))
     2881  ((yystate) == (-1323))
    28802882
    28812883#define yytable_value_is_error(yytable_value) \
     
    28842886static const yytype_int16 yycheck[] =
    28852887{
    2886        0,     1,   204,    43,    49,   239,   219,     0,   185,     1,
    2887      534,   116,    32,   620,   185,    43,    43,   513,   364,   185,
    2888      602,   874,   368,     0,   521,     0,   281,   749,   749,   349,
    2889       95,   185,    32,   602,   185,   185,   345,   646,  1040,    32,
    2890      186,   168,   169,    43,   185,   600,   692,    43,   749,    49,
    2891        0,   600,     0,   571,   492,    32,    49,    32,   496,     0,
    2892      600,   187,   156,    63,   129,   600,    66,   156,   113,    69,
    2893       63,    43,   756,    66,    96,   418,    69,    69,   349,  1021,
    2894       43,  1321,    32,   600,    32,  1052,  1053,   600,   265,    28,
    2895      105,    32,   600,    72,   265,   438,   201,     0,     1,   265,
    2896      122,   146,    43,   446,    39,   105,    96,    64,    49,   426,
    2897      427,   265,    63,   113,   265,   265,   116,   117,    82,   983,
    2898      266,  1402,    63,   186,   265,    66,    39,    72,    69,    32,
    2899      116,   256,   122,     0,     1,   261,   262,    44,    45,    78,
    2900      155,    51,    39,   733,   130,   185,   146,   147,    44,    45,
    2901     1020,  1021,   109,   132,   147,   155,   156,   185,   185,  1398,
    2902      160,  1128,   603,    66,   209,    32,    69,   160,   609,  1033,
    2903       39,   635,   636,   482,   109,   695,   111,   494,   718,  1419,
    2904      110,   132,    82,   905,   905,   185,   186,   132,   652,   185,
    2905      687,   112,   109,   186,   239,   116,   513,   410,   111,   109,
    2906      130,   201,    69,   266,   905,   718,   147,    82,   115,   209,
    2907      718,   111,   109,   185,   111,  1496,   209,   488,   114,   160,
    2908     1501,   221,   185,   874,     0,   265,   271,    55,   221,   107,
    2909     1469,   251,   116,   109,    49,   110,    39,   265,   265,   239,
    2910     1521,    11,   824,   589,   185,   186,   710,  1528,   132,   504,
    2911       39,   251,   490,   131,   900,   824,    32,   812,   251,   259,
    2912      406,   578,   307,   812,   264,   265,   266,    72,   209,    97,
    2913       39,   271,   812,   266,   251,   793,   251,   812,   294,   256,
    2914      221,   256,   602,  1225,   109,   631,  1288,    44,    45,    85,
    2915       66,   396,   109,   418,   294,   812,    90,    91,   113,   812,
    2916      345,   251,   986,   251,   812,   112,   109,   307,   111,  1501,
    2917      251,   620,   117,   438,   131,   924,   625,   113,   221,   424,
    2918      109,   446,   111,   323,   265,   430,   341,   228,   328,  1521,
    2919      114,   125,   126,  1275,   480,   328,  1528,   801,   681,   433,
    2920      109,   341,   111,   406,   433,   345,   247,   695,   251,   349,
    2921      350,   933,  1501,   111,     1,   113,   371,   114,  1211,   111,
    2922      110,   113,   116,    72,   364,   193,   604,   116,   368,   116,
    2923      608,   371,   130,   814,    83,    84,   130,   932,   130,  1528,
    2924      130,   426,   427,   932,   251,   132,   906,   328,   216,  1040,
    2925        3,   629,   999,   482,   209,   633,   396,   932,   226,   109,
    2926      116,   111,   111,    72,  1274,  1275,   406,   109,   349,   111,
    2927      426,   427,     3,   406,    83,    84,   132,   480,   116,    10,
    2928       11,    12,    13,    14,   424,    57,   426,   427,     3,  1472,
    2929      430,   951,   526,   433,   132,  1478,   745,   526,   786,  1441,
    2930      464,   418,   111,   418,   110,   221,  1448,   110,    39,   494,
    2931       57,   116,  1394,   116,   454,  1498,   271,   803,   116,  1049,
    2932     1503,   438,   808,   438,   130,   406,   294,   132,   513,   446,
    2933      967,   446,   472,   116,   106,   251,    67,   109,     0,   294,
    2934      480,   736,   482,     0,   484,   981,   116,   480,   488,   132,
    2935      506,   484,   307,   109,   494,   511,   590,  1499,   514,   106,
    2936      130,   590,   109,   941,   824,   482,   506,   484,   508,   484,
    2937      525,   511,   131,   513,   514,   863,    72,  1099,  1127,   109,
    2938      647,   521,  1386,  1387,  1394,   525,   526,    83,    84,    70,
    2939      656,   110,    73,   578,   484,    76,   484,    78,   116,   110,
    2940      110,   687,   109,   484,    85,   116,   116,   488,   155,   654,
    2941      896,   567,   109,   824,   132,   111,   681,   109,   906,   111,
    2942     1211,     4,     5,     6,     7,     8,     9,  1008,  1009,   128,
    2943      570,   571,   131,    72,   350,   620,   116,    76,   578,   109,
    2944      625,   484,   707,   116,    83,    84,   218,   110,  1085,   589,
    2945      590,   116,   132,  1090,   594,   904,   109,  1117,   116,   132,
    2946      600,   109,   602,   951,   109,   252,   116,   132,   846,  1452,
    2947      109,   218,   111,   116,   132,   443,   112,   484,   117,   118,
    2948      620,    72,   132,   110,   687,   625,    69,   627,    71,   132,
    2949      110,   631,    83,    84,   634,   635,   636,  1288,   986,   454,
    2950      272,   469,   590,  1486,   110,  1488,   670,   279,   861,   110,
    2951      116,    72,   652,   116,   654,   116,   745,  1177,  1178,   600,
    2952      111,   602,    83,    84,   110,   272,   937,   109,   881,   132,
    2953       72,   212,   279,   110,   110,   112,   109,   110,   506,   116,
    2954      116,    83,    84,   511,   684,   110,   514,   687,   109,  1037,
    2955      999,   506,   115,   508,   131,   132,   511,   473,  1288,   514,
    2956      938,   109,   110,   111,   681,   109,   681,   111,   484,   943,
    2957      710,   711,   712,   117,   118,   809,   348,   112,   718,   719,
    2958      809,   116,   109,    10,    11,    12,    13,    14,   905,   744,
    2959      707,  1115,   707,   365,   905,  1119,   117,   369,   279,   905,
    2960      867,   348,   123,   124,   744,   745,   687,   110,   132,   749,
    2961      750,   905,    39,   116,   905,   905,    64,   110,   365,   132,
    2962      110,   907,   369,   116,   905,   789,   116,   110,   745,  1117,
    2963      119,   120,  1362,   116,    49,   799,  1122,   718,   719,   110,
    2964       67,  1305,   109,  1505,  1505,   116,   110,   109,    63,   813,
    2965     1441,    66,   116,   793,    69,   112,   110,  1448,   109,   116,
    2966      111,   801,   116,   803,  1505,   805,   117,   118,   808,   809,
    2967     1012,   352,   812,   354,   112,   904,    72,   110,    74,    75,
    2968      467,    88,    89,   116,   824,   432,   110,    83,    84,  1177,
    2969     1178,    72,   116,    74,    75,    76,   112,  1146,   132,   110,
    2970      116,   669,    83,    84,   907,   116,   622,   112,  1499,   132,
    2971      678,   116,   114,   109,   682,  1445,   114,  1447,   114,   114,
    2972     1115,   809,  1382,   109,  1119,  1120,    82,   110,   109,   684,
    2973      111,   812,   147,   116,   874,   109,   117,   118,  1398,   109,
    2974      109,   528,   111,   824,   112,   160,   533,    82,   903,   130,
    2975        4,     5,     6,     7,     8,     9,   896,   874,   943,   874,
    2976      110,   442,   127,   903,   904,   905,   116,   907,  1035,   118,
    2977     1500,   186,    72,   128,    74,    75,  1225,    94,   109,   919,
    2978      111,   111,   698,    83,    84,   131,   874,   904,   109,     0,
    2979        1,  1020,   932,   933,   209,   582,   712,   937,   109,  1085,
    2980      111,   110,   942,   943,  1090,   109,   221,   116,  1468,  1469,
    2981      942,   111,    92,    93,   999,    69,   112,    71,    29,    30,
    2982      109,    32,   111,   109,   905,   111,   907,   967,   117,   118,
    2983      112,   874,    43,   556,   557,   558,   559,   109,    49,   111,
    2984     1235,   112,   589,   670,  1481,   109,    57,   111,   910,   621,
    2985      912,   110,    63,  1017,  1018,    66,   937,   110,    69,   999,
    2986      115,   116,  1107,   110,   111,   637,   653,   874,   655,    58,
    2987       59,    82,    83,    72,   621,    74,    75,   110,   132,   651,
    2988     1020,  1021,  1085,   110,    83,    84,   109,  1090,   110,   805,
    2989      637,   115,   116,  1530,  1382,   106,   110,    72,   109,   942,
    2990     1040,    76,    44,    45,   651,   116,   552,   553,    83,    84,
    2991     1398,  1075,  1076,   328,   506,   114,   508,  1146,   705,   511,
    2992      554,   555,   514,  1040,   112,  1040,    72,  1322,    74,    75,
    2993      898,  1326,   560,   561,   109,   942,   147,    83,    84,   111,
    2994     1080,   114,   117,   118,   155,  1085,   109,   110,   111,   160,
    2995     1090,   116,  1040,   109,   110,   111,   114,    72,   874,  1099,
    2996      732,    76,   789,   131,   919,   114,   109,  1107,    83,    84,
    2997      110,   112,   799,   110,   185,   186,    72,   112,    74,    75,
    2998     1468,  1469,  1122,   112,   116,   732,   813,    83,    84,   112,
    2999      201,   406,   112,    29,   109,   112,   130,  1040,   209,   109,
    3000      110,   111,   117,   118,  1085,   130,  1146,   218,   130,  1090,
    3001      221,   110,    66,   109,    58,    59,    60,   228,   114,   110,
    3002      114,    75,  1248,  1249,  1250,   112,   115,   110,  1423,  1146,
    3003      115,   115,   243,  1040,  1190,  1191,   247,  1193,   116,   109,
    3004      251,   252,   110,   110,  1200,  1274,  1202,   116,  1188,  1189,
    3005      130,   732,  1207,   132,   265,   266,   116,  1189,   110,  1223,
    3006      110,   272,     1,   117,   110,   110,     3,  1207,   279,   110,
    3007      110,  1211,   110,    10,    11,    12,    13,    14,   110,   110,
    3008      110,   110,   110,  1051,   110,  1225,  1002,   110,   110,  1229,
    3009      110,  1255,   110,    29,  1211,   130,  1211,  1229,   115,  1263,
    3010     1264,  1265,    39,   110,    66,   116,   160,   131,  1225,   112,
    3011       49,     4,     5,     6,     7,     8,     9,   328,   112,   110,
    3012       82,   110,   110,  1211,  1040,  1080,   116,   109,   130,   116,
    3013       67,   114,   112,  1378,  1274,  1275,   110,   348,   349,   110,
    3014       33,  1515,   110,  1283,   116,  1188,  1189,   112,  1288,   896,
    3015      110,   112,   116,   110,   365,   117,   284,   116,   369,   110,
    3016      109,   109,   109,  1327,   109,   109,   105,   221,  1211,   380,
    3017      957,  1288,   130,  1288,   113,   115,    69,   112,    71,   307,
    3018      308,  1321,  1189,   110,   110,   396,  1229,   874,  1505,  1321,
    3019     1017,  1018,   979,   115,  1505,   406,   983,   110,   160,  1505,
    3020     1288,   132,  1358,   128,  1211,   259,   115,   146,   114,   112,
    3021      264,  1505,   132,   424,  1505,  1505,   155,   345,   110,   430,
    3022     1506,   432,  1229,   112,  1505,   279,   116,   112,   110,   110,
    3023       72,   110,    74,    75,    76,   112,  1481,   112,  1378,   112,
    3024     1283,    83,    84,   110,  1530,  1288,  1033,   112,  1075,  1076,
    3025      112,   112,    47,   381,  1394,   115,   467,   110,   132,   221,
    3026      132,   472,    85,    86,    87,   115,   205,   109,   132,   480,
    3027      209,   130,  1188,   484,   132,   117,   118,   488,  1321,  1419,
    3028      491,  1288,   493,     0,     1,   132,   109,  1419,   111,   110,
    3029      113,   114,    85,    86,    87,  1211,   350,   259,   115,   112,
    3030      239,  1441,   264,  1506,   112,   112,   112,   112,  1448,   112,
    3031     1450,   110,  1452,   110,  1321,    32,   109,   528,   111,   109,
    3032      113,   114,   533,   112,  1441,  1505,  1441,  1530,   112,  1297,
    3033     1515,  1448,   271,  1448,   109,   274,   109,  1505,  1505,    60,
    3034      110,  1481,   110,   114,   109,   132,  1486,   110,  1488,    66,
    3035      112,   112,    69,  1441,   112,   294,  1043,   110,    96,  1499,
    3036     1448,    96,   109,   109,   115,  1505,  1506,  1283,   307,   110,
    3037      110,   582,  1288,  1506,   110,  1515,  1419,   431,   589,   110,
    3038      132,    42,  1499,   116,  1499,   130,   110,   110,   350,   600,
    3039     1530,   602,    96,   132,   448,   132,    96,  1530,  1441,   110,
    3040      132,   110,   341,   132,   132,  1448,   345,   110,   110,   115,
    3041      621,  1499,  1419,   112,   112,   109,   132,   132,   115,   473,
    3042      189,   549,   550,   551,  1505,   364,   637,   196,  1255,   368,
    3043      115,   642,   371,   110,  1441,   110,  1263,  1264,  1265,   156,
    3044      651,  1448,   653,   654,   655,   132,   110,    72,   110,    74,
    3045       75,    76,  1056,   666,   562,    66,  1499,   563,    83,    84,
    3046     1207,  1248,  1249,  1250,   564,   566,   977,   565,  1211,   431,
    3047     1469,  1364,  1540,  1298,  1326,  1448,   687,  1071,  1120,   684,
    3048      691,  1449,   693,  1451,   109,  1090,   697,   426,   427,   684,
    3049      912,   697,  1499,   971,   705,  1450,   582,  1452,   648,   268,
    3050     1327,   464,   920,   867,   221,   722,   117,   718,   719,   939,
    3051       -1,   473,  1229,   732,   484,   454,    -1,  1485,    -1,  1487,
    3052       -1,   732,   570,   570,  1211,  1441,    -1,   570,   467,    -1,
    3053       -1,  1486,  1448,  1488,   251,    10,    11,    12,    13,    14,
    3054      594,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,   160,
    3055       74,    75,    76,   492,   323,   494,    -1,   496,    -1,    83,
    3056       84,  1529,   331,  1531,    39,   334,    -1,   506,   622,   508,
    3057       -1,     3,   511,   627,   513,   514,  1544,  1545,    10,    11,
    3058       12,    13,    14,  1499,    -1,   109,   525,   111,    -1,    -1,
    3059       -1,    -1,    67,   117,   118,    -1,    -1,    -1,    -1,  1386,
    3060     1387,   812,    -1,    -1,    -1,  1377,    -1,    39,    -1,    -1,
    3061      221,    -1,    -1,   824,    -1,    -1,    -1,  1304,    -1,    -1,
    3062       -1,    -1,    30,    10,    11,    12,    13,    14,   756,   398,
    3063     1377,    -1,   594,   402,   109,    67,   111,  1424,    -1,   578,
    3064       -1,    -1,   117,   118,   698,    -1,    -1,    -1,   259,    -1,
    3065      589,    -1,    39,   264,    -1,    -1,   867,    -1,   712,    -1,
    3066      622,    -1,   873,    -1,    -1,   627,    -1,    -1,    -1,  1356,
    3067       -1,    -1,  1359,    -1,    82,    83,    -1,    -1,   732,    -1,
    3068       67,   620,    -1,    -1,    -1,   896,   625,    -1,    -1,    -1,
    3069       -1,    -1,   631,    -1,   905,  1482,   907,    72,    -1,    74,
    3070       75,    76,    -1,   914,  1491,    -1,    -1,   670,    83,    84,
    3071      479,    -1,    -1,    -1,    -1,  1402,   433,    -1,    -1,    -1,
    3072     1407,    -1,   109,    -1,   111,     0,   937,    -1,    -1,    -1,
    3073      117,   118,    -1,    -1,   109,    -1,   698,    -1,    -1,   350,
    3074       10,    11,    12,    13,    14,   684,   957,    -1,  1435,    -1,
    3075      712,   805,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,
    3076      971,    -1,    72,    -1,    74,    75,    76,   484,   979,    39,
    3077       -1,    -1,   983,    83,    84,    -1,    72,    -1,    74,    75,
    3078       76,    -1,    -1,   722,    -1,     0,     1,    83,    84,    -1,
    3079       -1,    -1,    -1,    -1,    69,    -1,    -1,    67,    -1,   109,
    3080       -1,   570,   571,    -1,    -1,   744,    -1,   117,   118,   526,
    3081       -1,    -1,    72,    -1,    74,    75,    76,    32,    -1,    -1,
    3082      431,    -1,  1033,    83,    84,    -1,   789,    -1,    -1,    -1,
    3083       -1,    -1,  1519,    -1,    49,   243,   799,    -1,  1525,   109,
    3084       -1,   111,    -1,   805,    -1,    -1,    -1,   117,   118,  1536,
    3085      813,    -1,    -1,  1540,    69,    -1,    -1,    -1,    -1,    -1,
    3086     1071,    -1,   473,    -1,   803,    -1,    -1,    -1,    -1,   808,
    3087       -1,   999,    -1,   590,  1085,    -1,    -1,    -1,    -1,  1090,
    3088       -1,   156,    -1,    72,    -1,    74,    75,    76,   657,    -1,
    3089      105,    -1,   661,    -1,    83,    84,  1107,    -1,    -1,    -1,
    3090       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3091       -1,    -1,  1040,    -1,    -1,    -1,    -1,   634,   635,   636,
    3092      109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3093       39,    -1,   147,    -1,    -1,   652,    -1,    -1,    -1,    -1,
    3094      155,   156,    -1,    -1,    -1,    -1,    -1,    -1,  1002,    -1,
    3095       -1,    -1,    -1,    -1,    -1,   230,    -1,   896,    67,    -1,
    3096       -1,    -1,    -1,    72,   903,    74,    75,    76,    -1,    -1,
    3097       -1,   186,   380,  1184,    83,    84,   251,    -1,    -1,    -1,
    3098      919,   256,    -1,   594,    -1,    -1,   201,    -1,    -1,   204,
    3099      205,    -1,    -1,   710,   209,    -1,  1207,    -1,    -1,    -1,
    3100      109,    -1,   941,   942,   943,    -1,    -1,    -1,   117,   118,
    3101       -1,   622,    -1,    -1,    -1,   230,   627,    -1,    -1,   234,
    3102       -1,   236,    -1,    -1,   793,    -1,    -1,    -1,    -1,    -1,
    3103      245,    -1,    26,    27,    28,    -1,   251,  1248,  1249,  1250,
    3104     1002,   256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3105       -1,   266,    -1,    -1,  1017,  1018,    -1,    -1,    -1,   274,
    3106      999,    97,    98,    99,   100,   101,   102,   103,   104,   105,
    3107      106,    10,    11,    12,    13,    14,   351,    72,    -1,    74,
    3108       75,    76,    -1,   491,   801,   493,    -1,   698,    83,    84,
    3109       -1,    -1,   809,    -1,    -1,   131,    -1,    -1,    -1,    -1,
    3110       39,   712,    -1,    -1,    98,    -1,   100,    -1,    -1,    -1,
    3111       -1,    -1,  1075,  1076,   109,    -1,   111,    -1,    -1,    -1,
    3112       -1,    -1,   117,   118,    -1,    -1,   341,    -1,    67,    -1,
    3113      345,   125,    -1,    72,  1188,    -1,   351,    76,    -1,    -1,
    3114       -1,  1080,   911,   418,    83,    84,    -1,    -1,    -1,   364,
    3115       -1,    -1,    -1,   368,    -1,    -1,   371,   874,   433,    -1,
    3116       -1,    -1,    -1,   438,    -1,    -1,  1377,  1378,    -1,    -1,
    3117      109,   446,    26,    27,    28,  1386,  1387,    -1,   117,   118,
    3118       -1,    -1,    -1,  1122,    -1,    -1,    -1,   181,    -1,   464,
    3119       -1,    -1,    -1,    -1,   805,   189,    -1,   191,   192,    -1,
    3120       -1,    -1,   196,   418,   198,   199,    -1,   482,    -1,   484,
    3121       -1,    -1,    -1,  1424,    -1,    -1,    -1,    -1,   433,   988,
    3122       -1,    -1,     0,   438,    -1,   942,  1188,    -1,    -1,  1283,
    3123       -1,   446,    -1,    -1,   642,    -1,  1005,    -1,    -1,    -1,
    3124       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,    -1,   464,
    3125       -1,   526,   467,    -1,    32,    -1,    -1,    -1,    -1,    -1,
    3126     1223,    -1,    -1,    -1,    -1,    -1,    -1,   482,  1207,   484,
    3127     1481,  1482,    -1,    -1,   268,    -1,    -1,   492,    -1,    -1,
    3128     1491,   496,    -1,   691,    -1,   693,    -1,    -1,    -1,   697,
    3129     1229,    69,  1255,    -1,  1505,  1506,    -1,    -1,    -1,    -1,
    3130     1263,  1264,  1265,  1020,  1021,    -1,    -1,    -1,    -1,    -1,
    3131      525,   526,    -1,    -1,  1083,   590,    -1,    -1,    -1,  1530,
    3132       -1,  1283,    -1,  1040,    -1,    -1,    -1,   181,    -1,    -1,
    3133       -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,   192,    -1,
    3134       -1,    -1,   196,    -1,   198,   199,    -1,    -1,    -1,    -1,
    3135       -1,    -1,    -1,    -1,  1123,    -1,   571,    -1,    -1,   634,
    3136      635,   636,    -1,    -1,  1327,    -1,    -1,    -1,    10,    11,
    3137       12,    13,    14,    -1,   589,   590,    -1,   652,   156,    -1,
    3138       -1,    -1,  1321,    -1,    -1,    -1,    -1,   602,    -1,    -1,
    3139       -1,  1002,    -1,    -1,    -1,   670,    -1,    39,    -1,    -1,
    3140       -1,    -1,    -1,    -1,    -1,   620,   681,    -1,    -1,    -1,
    3141      625,    -1,    -1,    -1,    -1,    -1,   631,    -1,    -1,   634,
    3142      635,   636,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3143       72,    -1,   707,    -1,    76,   710,    -1,   652,    -1,    -1,
    3144       -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3145       -1,    -1,    -1,    -1,    -1,   670,    -1,    -1,    -1,   867,
    3146       -1,    -1,    -1,    -1,    -1,   873,   681,   109,    -1,    -1,
    3147      745,  1188,  1189,   251,    -1,   117,   118,    -1,   256,    -1,
    3148     1419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3149       -1,    -1,   707,    -1,  1211,   710,    -1,    -1,    -1,    -1,
    3150        0,    -1,    -1,    -1,   719,    -1,   914,   722,    -1,    -1,
    3151       -1,  1450,  1229,  1452,   789,    -1,    -1,    -1,    -1,    -1,
    3152       -1,    -1,    -1,    -1,   799,    -1,   801,    -1,    -1,   744,
    3153      745,   806,    32,    -1,   809,   750,    -1,    -1,   813,    -1,
    3154       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1486,    -1,  1488,
    3155       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1274,  1275,    -1,
    3156       -1,    -1,    -1,   971,    -1,    -1,  1283,    -1,    -1,    69,
    3157       -1,  1288,    -1,   351,   789,    -1,  1515,  1188,    -1,    -1,
    3158      574,   575,    -1,    -1,   799,    -1,   801,    -1,   803,    -1,
    3159       -1,   806,    -1,   808,   809,    -1,    -1,    -1,   813,   874,
    3160       -1,    -1,    -1,    -1,  1321,    -1,    -1,    -1,   823,   603,
    3161       -1,    -1,   606,   607,    -1,   609,    -1,   611,   612,    -1,
    3162       -1,    -1,   616,   617,    -1,    -1,    -1,    -1,    -1,   904,
     2888       0,     1,   186,    43,   239,   185,   204,     0,    43,   219,
     2889      43,   116,   185,   521,   534,   185,     1,   875,   186,     0,
     2890       1,   185,   757,    51,   647,   603,   750,   185,     0,     1,
     2891     281,   621,    32,   750,  1041,     0,  1022,    43,   185,    32,
     2892     345,   185,   750,    43,   168,   169,   513,   349,   875,    49,
     2893     156,    32,   603,    32,     0,   693,    49,   349,   187,     0,
     2894      32,   572,    57,    63,   601,  1322,    66,    32,    43,    69,
     2895      63,     0,     1,    66,   696,    63,    69,  1399,   734,   492,
     2896       0,   109,   266,   496,    69,   265,    32,   601,    69,    39,
     2897      39,    32,   265,   490,    66,   265,   201,    69,   266,   601,
     2898      39,   265,    43,    32,   604,   105,   601,   265,    49,    49,
     2899     610,   106,    32,   113,   109,   418,   116,   117,   265,    82,
     2900      66,   265,    63,    63,    39,    66,    66,    39,    69,    69,
     2901     601,   984,   261,   262,   284,   438,    43,    66,    28,   601,
     2902      69,   105,    72,   446,   132,   185,   146,   147,  1470,   601,
     2903     185,    72,   185,    49,   147,   155,   156,   307,   308,   109,
     2904     160,   111,   111,  1420,    39,   787,    82,   160,    72,   364,
     2905     109,    39,   111,   368,  1021,  1022,    82,   482,    96,   185,
     2906     688,  1034,   906,  1116,   156,   185,   186,  1120,    78,   906,
     2907     156,   155,     0,   186,   110,   345,   488,   109,   906,   111,
     2908     410,   201,   132,    96,   122,   111,   147,   147,   605,   209,
     2909     185,   132,   609,   117,  1041,    64,   209,   113,   109,   160,
     2910     160,   221,   406,   218,    32,   265,   109,   110,   221,   122,
     2911     265,   381,   265,   630,   109,   256,   111,   634,   406,   239,
     2912    1226,   109,   864,   111,   185,   186,   186,   825,   719,   221,
     2913     146,   251,   987,   504,    57,    44,    45,   719,   251,   259,
     2914     109,   426,   427,   901,   264,   265,   266,   719,   209,   209,
     2915     251,   271,   251,   266,   825,   221,   813,   272,   185,   251,
     2916     221,   221,  1289,   794,   279,   907,   251,   109,   696,    85,
     2917    1276,   396,   221,  1502,   294,    49,   480,   636,   637,   813,
     2918     109,   603,   925,   106,  1453,   251,   109,   307,  1053,  1054,
     2919     251,   813,   480,   209,   653,   815,   621,   113,   813,   424,
     2920    1529,   626,   251,   323,   265,   430,   115,   433,   328,   494,
     2921     952,   251,    95,    44,    45,   328,   107,   112,  1487,   116,
     2922    1489,   341,   813,   239,   109,   345,   111,   109,   513,   349,
     2923     350,   813,   155,   348,  1212,   132,   934,     0,   110,   113,
     2924     131,   813,    44,    45,   364,   987,   129,  1473,   368,   131,
     2925     365,   371,   711,  1479,   369,   271,   116,   341,   130,   682,
     2926      72,    11,    74,    75,  1129,  1212,   228,   328,   328,    32,
     2927     130,    83,    84,  1499,  1050,   590,   396,   418,  1504,   114,
     2928     550,   551,   552,   114,   350,   247,   406,   371,   349,  1395,
     2929    1000,   307,   110,   406,   579,   218,  1038,   438,   116,   933,
     2930     526,   109,   114,   111,   424,   446,   426,   427,  1275,  1276,
     2931     430,   933,   114,   433,    72,  1442,   110,   632,   933,   110,
     2932      72,   746,  1449,   251,  1502,    83,    84,   110,   256,   345,
     2933     847,    83,    84,   116,   454,   209,   130,   119,   120,   130,
     2934     968,   433,  1289,   802,  1522,   406,   406,   433,   110,   272,
     2935     112,  1529,   472,   111,   116,   128,   279,   110,   131,   111,
     2936     480,   116,   482,   116,   484,   591,   737,   480,   488,   131,
     2937     132,   484,    70,  1500,   494,    73,  1118,   132,    76,   907,
     2938      78,    90,    91,   484,   688,  1128,   506,    85,   508,  1009,
     2939    1010,   511,   484,   513,   514,   982,   482,   271,   116,   484,
     2940     688,   521,  1100,   825,   648,   525,   526,   473,   657,   942,
     2941     426,   427,   130,   825,  1387,  1388,   125,   126,   484,   109,
     2942     294,   111,   939,   484,   952,   348,   110,   488,  1395,   116,
     2943     655,   116,   116,   307,   526,   484,  1178,  1179,    72,   116,
     2944     526,   525,   365,   130,   484,    72,   369,    74,    75,    83,
     2945      84,   571,   572,    88,    89,   132,    83,    84,  1086,   579,
     2946    1403,    72,     3,  1091,     4,     5,     6,     7,     8,     9,
     2947     590,   591,    83,    84,    72,   595,   116,   111,   494,     3,
     2948     905,   601,     1,   603,   111,    83,    84,   757,   251,   804,
     2949     418,   116,   132,   256,   809,  1442,     0,   513,   110,   591,
     2950     111,   621,  1449,     0,   116,   591,   626,   622,   628,   432,
     2951     438,   109,   632,  1289,   212,   635,   636,   637,   446,   111,
     2952     111,   113,   113,   638,   112,   109,   938,   111,   116,    69,
     2953     116,    71,   862,   653,   116,   655,   109,   652,   130,   130,
     2954     601,   682,   603,   635,   636,   637,   132,   109,   116,   111,
     2955     132,   591,   882,  1500,  1497,   116,   484,   623,   116,  1502,
     2956     116,   653,   131,   579,   132,   685,    72,   708,   688,   116,
     2957      76,   132,   116,   109,   132,  1000,   132,    83,    84,  1522,
     2958     454,   279,   897,    72,   810,   132,  1529,  1363,   132,   944,
     2959    1118,   711,   712,   713,    83,    84,   110,   109,   116,   719,
     2960     720,   116,   116,   109,   908,   621,   906,    92,    93,   110,
     2961     626,   117,   118,   906,   132,   116,   906,   132,   733,   711,
     2962     908,   109,   906,   110,   868,   745,   746,   688,   906,   116,
     2963     750,   751,   506,   699,   508,   109,   109,   511,   111,   906,
     2964     514,  1383,   906,   110,   117,   118,   294,   713,   112,   116,
     2965    1178,  1179,   116,   109,   352,   418,   354,  1399,   719,   720,
     2966     746,   745,  1506,   109,   112,   111,  1306,   590,   116,  1506,
     2967    1446,   109,  1448,   111,   794,   438,   109,   112,  1506,   117,
     2968     118,   116,   802,   446,   804,    72,   806,    74,    75,   809,
     2969     810,   110,   109,   813,   111,  1013,    83,    84,   110,   622,
     2970     117,   118,    72,   110,   116,   825,    76,   110,   112,   116,
     2971     802,   110,   116,    83,    84,   638,   110,   116,   810,   482,
     2972     110,   484,  1147,   112,   810,  1501,   116,  1469,  1470,   652,
     2973    1000,   115,   116,   252,    10,    11,    12,    13,    14,   109,
     2974     806,   111,   110,   111,   442,  1116,   109,   117,   118,  1120,
     2975    1121,   110,   813,   117,   682,   875,   110,   116,     3,   123,
     2976     124,   110,   116,    39,   825,    10,    11,    12,    13,    14,
     2977     810,  1041,    58,    59,   875,   110,   110,   897,   426,   427,
     2978     708,   116,  1086,   875,   904,   905,   906,  1091,   908,   110,
     2979     110,    67,  1036,   109,    39,    72,   116,   115,  1086,    76,
     2980     920,  1226,   109,  1091,   111,   109,    83,    84,  1123,   875,
     2981     733,   685,    64,   933,   934,   110,   115,   116,   938,   905,
     2982     904,   116,    67,   943,   944,    72,   875,    74,    75,    76,
     2983       0,     1,   109,    44,    45,   875,    83,    84,   943,   132,
     2984     117,   118,   943,   110,    66,   906,   109,   908,   968,   116,
     2985     109,   943,   111,   109,  1482,  1383,   553,   554,   506,    29,
     2986      30,   112,    32,   511,   132,  1236,   514,   506,   109,   508,
     2987     111,  1399,   511,    43,   911,   514,   913,   938,   114,    49,
     2988    1000,   555,   556,  1108,   114,   114,    72,    57,    74,    75,
     2989      76,   561,   562,    63,   943,   117,    66,    83,    84,    69,
     2990     132,  1021,  1022,  1531,   132,     4,     5,     6,     7,     8,
     2991       9,   109,    82,    83,   557,   558,   559,   560,    82,   682,
     2992     568,  1041,     4,     5,     6,     7,     8,     9,   944,  1021,
     2993    1022,    85,    86,    87,   109,  1021,   106,  1003,   160,   109,
     2994    1041,  1469,  1470,   109,   112,   708,   116,   875,   467,  1041,
     2995      82,    33,  1323,   118,   127,   109,  1327,   111,    94,   113,
     2996     114,  1081,   109,   110,   111,   128,  1086,   109,   110,   111,
     2997      69,  1091,    71,   131,   897,  1041,   111,   147,   109,   109,
     2998    1100,   110,   110,   746,  1000,   155,     3,    69,  1108,    71,
     2999     160,   112,  1041,    10,    11,    12,    13,    14,   112,   221,
     3000     112,  1041,   110,  1123,   109,   110,   111,   110,   110,   528,
     3001     110,   109,   110,   111,   533,   185,   186,    72,   109,    74,
     3002      75,    76,    39,   112,   111,  1086,   114,  1147,    83,    84,
     3003    1091,   201,   116,   132,   131,   733,   114,   259,   114,   209,
     3004     109,   112,   264,    58,    59,    60,   920,   110,   218,   110,
     3005      67,   221,   112,  1424,   109,   112,   111,   130,   228,   112,
     3006     112,  1147,   117,   118,   583,  1249,  1250,  1251,   130,  1189,
     3007    1190,   130,   116,   243,    29,   130,   110,   247,   110,   112,
     3008     115,   251,   252,   114,   112,  1190,   110,   116,  1208,  1190,
     3009     115,   109,  1212,   115,   110,   265,   266,  1189,  1190,   110,
     3010     130,   110,   272,   116,   110,   132,  1226,     3,   110,   279,
     3011    1230,  1212,   875,  1041,    10,    11,    12,    13,    14,   110,
     3012    1212,   116,   110,  1189,  1208,  1230,   110,   110,   350,  1230,
     3013     110,   110,   110,   110,     1,   654,   110,   656,  1230,   110,
     3014    1189,  1190,   905,    39,   110,   110,  1212,   110,    72,   110,
     3015      74,    75,    76,   115,  1379,  1275,  1276,    29,   328,    83,
     3016      84,  1516,   131,  1212,  1284,   110,   130,   116,   875,  1289,
     3017     112,    67,  1212,   112,   110,   110,   116,   110,   348,   349,
     3018     130,  1230,    49,  1275,  1276,   109,   109,   706,  1289,  1275,
     3019     116,   112,  1284,   117,   118,   365,   114,  1289,   110,   369,
     3020     110,   110,  1322,  1507,   112,   116,  1506,  1081,   110,   431,
     3021     380,   116,   116,  1506,    55,   110,  1506,  1322,  1284,  1507,
     3022     110,  1322,  1506,  1289,   112,   109,   396,  1531,  1506,   109,
     3023    1322,   109,   109,   109,   132,  1284,   406,   130,   105,  1506,
     3024    1289,   112,  1506,  1531,   110,   115,   113,   110,   110,  1289,
     3025     115,   473,   110,   128,   424,   115,    97,  1482,   114,  1379,
     3026     430,   112,   432,  1378,   132,   112,   116,   112,   110,    72,
     3027     110,    74,    75,  1322,   110,  1395,   110,   112,  1041,   146,
     3028      83,    84,   112,   112,  1212,  1208,   112,    72,   155,    74,
     3029      75,    76,   112,    72,   112,    74,    75,   467,    83,    84,
     3030    1420,    47,   472,  1395,    83,    84,   109,   132,   132,   132,
     3031     480,   114,   112,   132,   484,  1420,   132,   115,   488,  1420,
     3032     110,   491,  1442,   493,   109,   130,   115,   110,  1420,  1449,
     3033     109,  1451,   112,  1453,   115,   114,   112,  1044,   205,   112,
     3034     112,  1442,   209,   112,   110,   110,  1506,   109,  1449,   112,
     3035    1442,  1506,   193,  1506,   112,   109,   109,  1449,   528,    60,
     3036     110,  1289,  1482,   533,   132,   110,   114,  1487,   109,  1489,
     3037     112,  1420,   239,   595,   112,   216,  1442,   110,   112,   110,
     3038    1500,    96,    96,  1449,  1147,   226,  1506,  1507,   109,   109,
     3039     464,   115,   132,  1442,  1507,   130,  1516,   110,   110,  1500,
     3040    1449,   623,  1442,   110,   271,   110,   628,   274,  1500,  1449,
     3041     116,  1531,    42,   583,   132,   132,   110,   110,  1531,    66,
     3042     590,    96,    96,   132,   110,   110,   110,   294,    75,   132,
     3043     132,   601,   110,   603,  1500,   115,   112,   132,   115,   958,
     3044     307,   112,   109,   132,   110,  1506,    30,   115,   110,  1212,
     3045     132,  1500,   622,   294,   110,  1378,   110,   667,  1057,   563,
     3046    1500,   980,   978,  1226,   565,   984,  1212,  1365,   638,   564,
     3047     117,   464,   566,   643,   341,   567,  1470,   699,   345,  1541,
     3048    1299,  1327,   652,  1121,   654,   655,   656,  1072,  1449,   685,
     3049     685,   713,   913,   698,    66,  1091,   921,   364,    82,    83,
     3050    1516,   368,   583,   972,   371,  1212,   868,   723,   649,   940,
     3051      82,  1230,   484,   160,  1442,  1034,     0,     1,   688,   733,
     3052     571,  1449,   692,   571,   694,   571,  1289,    72,   698,    74,
     3053      75,    76,    -1,    -1,    -1,    -1,   706,    -1,    83,    84,
     3054      -1,    -1,    -1,  1191,  1192,   117,  1194,    -1,    32,   719,
     3055     720,    -1,    -1,  1201,    -1,  1203,    -1,    -1,    -1,   426,
     3056     427,    -1,    -1,   733,   109,    49,    -1,    10,    11,    12,
     3057      13,    14,  1500,    -1,   221,    -1,    -1,  1451,    -1,  1453,
     3058      -1,    -1,    -1,    -1,   806,    69,    -1,   454,   160,    -1,
     3059      85,    86,    87,    -1,    -1,    -1,    39,   671,  1305,    -1,
     3060     467,    -1,   443,    -1,    -1,    -1,    -1,    10,    11,    12,
     3061      13,    14,   259,  1487,   109,  1489,   111,   264,   113,   114,
     3062      -1,   105,    -1,    -1,    67,   492,    -1,   494,   469,   496,
     3063      -1,    -1,   279,    -1,    -1,    -1,    39,    -1,    -1,   506,
     3064      -1,   508,    -1,   813,   511,    -1,   513,   514,    -1,   221,
     3065    1357,    -1,    -1,  1360,    -1,   825,    -1,    -1,   525,   243,
     3066      -1,    -1,    -1,   147,    67,   506,   109,    -1,   111,    -1,
     3067     511,   155,   156,   514,   117,   118,    -1,    -1,   671,  1442,
     3068      -1,    -1,    -1,    -1,    -1,    -1,  1449,   259,    -1,    -1,
     3069      -1,    -1,   264,    -1,    -1,    -1,  1403,    -1,   868,    -1,
     3070      -1,  1408,   186,   350,   874,    -1,   109,    -1,   111,    -1,
     3071      -1,  1359,   579,    -1,   117,   118,   790,   201,    -1,    -1,
     3072     204,   205,    -1,   590,    -1,   209,   800,   897,    -1,  1436,
     3073    1249,  1250,  1251,    -1,    -1,    -1,   906,  1500,   908,    -1,
     3074     814,    -1,    -1,    -1,    -1,   915,   230,    -1,    -1,    -1,
     3075     234,    -1,   236,    -1,   621,    -1,    -1,    -1,    -1,   626,
     3076      -1,   245,    -1,    -1,    -1,   632,     0,   251,   938,    -1,
     3077      -1,    -1,   256,    -1,    -1,    -1,    -1,    -1,   350,    -1,
     3078      -1,  1003,   266,    -1,   431,    -1,    -1,    -1,   958,    -1,
     3079     274,    10,    11,    12,    13,    14,   380,   790,    32,    -1,
     3080      -1,   448,   972,    -1,    -1,    -1,    -1,   800,    -1,    -1,
     3081     980,    -1,    -1,  1520,   984,    -1,    -1,    -1,   685,  1526,
     3082      39,   814,    -1,    -1,    -1,    -1,   473,    -1,    -1,   670,
     3083    1537,    -1,   671,    -1,  1541,    69,    -1,    -1,   679,    -1,
     3084      -1,    -1,   683,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3085      -1,    72,    -1,    74,    75,    76,   723,   341,    -1,   431,
     3086      -1,   345,    83,    84,  1034,    -1,    -1,   351,  1387,  1388,
     3087      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,    -1,
     3088     364,    -1,    -1,    -1,   368,    -1,    -1,   371,   109,    -1,
     3089     109,    -1,   111,    -1,    -1,    -1,   117,   118,   117,   118,
     3090      -1,   473,  1072,    -1,    -1,    -1,  1425,   491,    -1,   493,
     3091      -1,    -1,    -1,    -1,    -1,    -1,  1086,    -1,    -1,    -1,
     3092      -1,  1091,   156,    97,    98,    99,   100,   101,   102,   103,
     3093     104,   105,   106,   107,   418,    -1,    -1,   804,  1108,    -1,
     3094      -1,    -1,   809,    -1,  1018,  1019,    -1,    -1,   595,   433,
     3095      -1,   790,    -1,    -1,   438,    -1,    -1,   131,    -1,    -1,
     3096      -1,   800,   446,    -1,  1483,    -1,    -1,  1189,    -1,    -1,
     3097      -1,    -1,    -1,  1492,    -1,   814,   623,    -1,    -1,    -1,
     3098     464,   628,    72,   467,    74,    75,    76,    -1,    -1,    -1,
     3099      -1,    -1,    -1,    83,    84,    -1,   230,    -1,   482,    -1,
     3100     484,    -1,  1076,  1077,    -1,    -1,    -1,    -1,   492,    -1,
     3101      -1,    -1,   496,    -1,    -1,  1185,    -1,   251,    -1,   109,
     3102      -1,   111,   256,   595,    -1,  1018,  1019,   117,   118,    -1,
     3103     897,    -1,    -1,    -1,    -1,    -1,    -1,   904,  1208,    -1,
     3104      -1,   525,   526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3105      -1,   623,   699,   920,    -1,    -1,   628,    -1,   899,   643,
     3106      -1,    -1,  1284,     0,    -1,    -1,   713,    -1,    -1,    -1,
     3107      -1,    -1,    -1,    -1,    -1,   942,   943,   944,    -1,  1249,
     3108    1250,  1251,    -1,  1076,  1077,    -1,   733,    -1,   572,    72,
     3109      -1,    74,    75,    76,    -1,    32,    -1,    -1,    -1,    -1,
     3110      83,    84,    -1,    -1,    -1,    -1,   590,   591,   692,    -1,
     3111     694,    -1,    -1,    -1,   698,    -1,    -1,   351,    72,   603,
     3112      74,    75,    76,    -1,    -1,    -1,   109,   699,   111,    83,
     3113      84,    -1,    69,  1000,   117,   118,    -1,   621,    -1,    -1,
     3114      -1,   713,   626,    -1,    -1,    -1,    -1,    -1,   632,    -1,
     3115    1224,   635,   636,   637,    -1,   109,    -1,   111,    -1,   806,
     3116      -1,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,   653,
     3117      -1,    -1,    -1,    26,    27,    28,    -1,    -1,    -1,  1018,
     3118    1019,    -1,  1256,    -1,   418,    -1,    -1,   671,    -1,    -1,
     3119    1264,  1265,  1266,    -1,    -1,    -1,    -1,    -1,   682,   433,
     3120      -1,    -1,    -1,    -1,   438,    -1,    -1,    -1,  1378,  1379,
     3121      -1,  1052,   446,    -1,  1081,    -1,    -1,  1387,  1388,   156,
     3122      -1,    -1,    -1,    -1,   708,    -1,    -1,   711,    -1,    -1,
     3123     464,  1224,    -1,    -1,   806,    -1,   720,  1076,  1077,   723,
     3124      -1,    -1,    -1,    -1,    -1,    98,    -1,   100,   482,    -1,
     3125     484,    -1,    -1,    -1,  1328,  1425,  1123,    -1,    -1,    -1,
     3126      -1,   745,   746,  1256,    -1,    -1,    -1,   751,    -1,    -1,
     3127      -1,  1264,  1265,  1266,    -1,    -1,    -1,    -1,    -1,    -1,
     3128      -1,    -1,    -1,    -1,   868,    -1,    -1,    -1,    -1,    -1,
     3129     874,    -1,   526,    -1,    -1,    -1,    -1,    26,    27,    28,
     3130      -1,    -1,    -1,    -1,    -1,    -1,   790,    -1,    -1,    -1,
     3131      -1,    -1,  1482,  1483,   251,    -1,   800,    -1,   802,   256,
     3132     804,    -1,  1492,   807,    -1,   809,   810,    -1,   181,    -1,
     3133     814,   915,    -1,    -1,    -1,  1328,  1506,  1507,   191,   192,
     3134     824,  1208,    -1,   196,    -1,   198,   199,    -1,    -1,    -1,
     3135      -1,    -1,    -1,    -1,    -1,    -1,  1003,   591,    -1,    -1,
     3136      -1,  1531,    -1,  1230,    -1,    -1,    -1,    -1,    -1,    98,
     3137      -1,   100,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
     3138      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   972,    -1,
     3139      -1,   875,    -1,    -1,    -1,    -1,   125,    -1,    -1,    -1,
     3140      -1,   635,   636,   637,    -1,    -1,    -1,    32,    -1,    -1,
     3141      -1,    -1,    -1,   897,   351,    -1,    -1,  1256,    -1,   653,
     3142     904,   905,    -1,    -1,   908,  1264,  1265,  1266,    -1,    -1,
     3143      -1,  1003,    -1,    -1,    -1,    -1,    -1,   671,    -1,    -1,
     3144      -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,   682,    -1,
     3145     934,    -1,   181,    -1,    -1,  1322,    -1,  1298,   942,   943,
     3146     189,    -1,   191,   192,    -1,    -1,    -1,   196,    -1,   198,
     3147     199,    -1,    -1,    -1,   708,    -1,    -1,   711,    -1,    -1,
     3148      -1,   418,    -1,    -1,    -1,    -1,    -1,    -1,  1072,  1328,
     3149      -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,
     3150      -1,   438,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   446,
     3151      -1,    -1,   746,    -1,    -1,    -1,  1000,    10,    11,    12,
     3152      13,    14,    -1,    -1,    -1,    -1,    -1,   464,    -1,  1013,
     3153      -1,   156,    -1,    -1,  1018,  1019,    -1,  1021,  1022,   268,
     3154      -1,    -1,  1189,    -1,    -1,   482,    39,   484,    -1,    -1,
     3155      -1,    -1,    -1,  1420,    -1,    -1,   790,  1041,    -1,    -1,
     3156      -1,    -1,    -1,    -1,    -1,    -1,   800,    -1,   802,    -1,
     3157      -1,    -1,    -1,   807,    67,    -1,   810,    -1,    -1,    72,
     3158     814,    74,    75,    76,  1451,    -1,  1453,    -1,    -1,   526,
     3159      83,    84,  1076,  1077,    -1,    -1,    -1,    -1,    -1,    -1,
     3160      -1,  1185,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1450,
     3161      -1,  1452,    -1,    -1,    -1,    -1,   109,  1189,   111,    -1,
     3162    1487,    -1,  1489,    -1,   117,   118,   251,    -1,    -1,    -1,
     3163      -1,   256,    -1,    -1,    -1,    -1,    -1,  1284,    -1,  1123,
     3164      -1,   875,    -1,    -1,    -1,  1486,    -1,  1488,    -1,  1516,
     3165      -1,    -1,    -1,    -1,   591,    -1,    -1,    -1,    -1,    -1,
     3166      -1,    -1,    -1,  1147,    -1,    -1,    -1,    -1,    -1,     0,
     3167      -1,   905,    -1,    -1,    -1,    -1,    -1,   189,    -1,    -1,
     3168      -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,  1530,
     3169      -1,  1532,    -1,    -1,    -1,    -1,    -1,    -1,   635,   636,
     3170     637,    32,    -1,    -1,  1545,  1546,  1190,    -1,    -1,    -1,
     3171      -1,    -1,  1284,    -1,    -1,    -1,   653,    -1,    -1,    -1,
     3172      -1,    -1,   575,   576,  1208,    -1,   351,    -1,  1212,    -1,
     3173      -1,    -1,    -1,    -1,   671,    -1,    -1,    -1,    69,    -1,
     3174    1224,    -1,  1226,    -1,    -1,   682,  1230,    -1,    -1,    -1,
     3175      -1,   604,    -1,    -1,   607,   608,   268,   610,    -1,   612,
     3176     613,    -1,    -1,    -1,   617,   618,    -1,    -1,    -1,    -1,
     3177      -1,   708,  1256,    -1,   711,    -1,    -1,    -1,    -1,    -1,
     3178    1264,  1265,  1266,    -1,  1018,  1019,    -1,  1021,  1022,    -1,
     3179      -1,  1275,  1276,   418,    -1,    -1,    -1,    -1,    10,    11,
     3180      12,    13,    14,    -1,    -1,  1289,    -1,  1041,   433,   746,
     3181      -1,   323,    -1,   438,    -1,    -1,    -1,    -1,    -1,   331,
     3182      -1,   446,   334,    -1,    -1,   156,    -1,    39,    -1,    -1,
     3183      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1322,   464,
     3184      -1,    -1,  1076,  1077,  1328,    -1,   575,   576,    -1,    -1,
     3185      -1,    -1,    -1,   790,    -1,    67,    -1,   482,    -1,   484,
     3186      72,    -1,    -1,   800,    76,   802,    -1,    -1,    -1,    -1,
     3187     807,    83,    84,   810,    -1,   604,    -1,   814,   607,   608,
     3188      -1,   610,    -1,   612,   613,    -1,   398,    -1,   617,   618,
     3189     402,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,
     3190      -1,   526,   755,   756,    -1,   117,   118,    -1,    -1,    -1,
     3191      -1,  1395,    -1,  1147,    -1,    -1,    -1,    -1,    -1,    -1,
     3192     251,    -1,    -1,    -1,    -1,   256,    -1,    -1,    -1,    -1,
     3193      -1,    -1,    -1,    -1,    -1,    -1,  1420,    -1,   875,    -1,
    31633194      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3164      418,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3165       -1,    -1,    -1,    -1,    -1,   433,   156,    -1,    -1,   874,
    3166      438,    -1,    -1,  1071,    -1,    -1,    -1,    -1,   446,    -1,
    3167       -1,    -1,  1283,    -1,    -1,    -1,    -1,  1394,    -1,    -1,
    3168       -1,   896,    -1,    -1,    -1,    -1,   464,    -1,   903,   904,
    3169       -1,    -1,   907,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3170       -1,    -1,  1419,    -1,   482,    -1,   484,    -1,    -1,    -1,
    3171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   933,    -1,
    3172      574,   575,    -1,    -1,  1441,    -1,   941,   942,    -1,    -1,
    3173       -1,  1448,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3174       -1,    -1,  1017,  1018,    -1,  1020,  1021,    -1,   526,   603,
    3175       -1,   251,   606,   607,    -1,   609,   256,   611,   612,    -1,
    3176      754,   755,   616,   617,    -1,  1040,    -1,    -1,    -1,    -1,
    3177       -1,    -1,    -1,    -1,    -1,    -1,  1184,    -1,    -1,    -1,
    3178       -1,    -1,  1499,    -1,   999,    -1,    -1,    -1,    -1,    -1,
    3179       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1012,    -1,    -1,
    3180     1075,  1076,  1017,  1018,    -1,  1020,  1021,    -1,    -1,    -1,
    3181       -1,    -1,   590,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3182       -1,    -1,    -1,    -1,    -1,  1040,    -1,    -1,    -1,    -1,
    3183       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3195      -1,    -1,    -1,    -1,    -1,    -1,  1190,    -1,  1442,    -1,
     3196      -1,    -1,    -1,    -1,    -1,  1449,   591,   479,   905,    -1,
     3197      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1212,    -1,
     3198      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3199    1224,    -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3200      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3201     635,   636,   637,    -1,    -1,    -1,  1500,    -1,    -1,    -1,
     3202     351,    -1,  1256,  1507,    -1,    -1,   755,   756,   653,    -1,
     3203    1264,  1265,  1266,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3204      -1,  1275,  1276,    -1,    -1,    -1,   671,    -1,    -1,    -1,
     3205      -1,    -1,    -1,    -1,    -1,  1289,    -1,   682,    -1,   571,
     3206     572,    67,    -1,    -1,   917,    -1,    72,    -1,    74,    75,
     3207      76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
     3208      -1,  1018,  1019,   708,  1021,  1022,   711,   418,    -1,    -1,
     3209      -1,    -1,    -1,    -1,  1328,    -1,    -1,    -1,    -1,    -1,
     3210      -1,    -1,   433,   109,  1041,   111,    -1,   438,    -1,    -1,
     3211      -1,   117,   118,    -1,    -1,   446,    -1,    -1,    -1,    -1,
     3212      -1,   746,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3213      -1,    -1,    -1,   464,    -1,    -1,    -1,    -1,    -1,  1076,
     3214    1077,    -1,    -1,    -1,    -1,    -1,   658,    -1,    -1,    -1,
     3215     662,   482,    -1,   484,    -1,    -1,    -1,    -1,    -1,    -1,
     3216      -1,  1395,    -1,    -1,    -1,   790,    -1,    -1,    -1,    -1,
     3217      -1,    -1,    -1,    -1,    -1,   800,    -1,   802,    -1,    -1,
     3218      -1,    -1,   807,   912,    -1,   810,    -1,    -1,   917,   814,
     3219      -1,    -1,    -1,    -1,    -1,   526,    53,    -1,    55,    -1,
     3220      -1,    58,    59,    60,    -1,    62,    -1,    -1,  1442,    -1,
     3221    1147,    -1,    -1,    -1,    -1,  1449,    -1,    -1,    -1,    76,
     3222      -1,    -1,    -1,    -1,    -1,  1078,    -1,    -1,    -1,    -1,
     3223      -1,    88,    89,    -1,    10,    11,    12,    13,    14,    -1,
     3224      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3225     875,    -1,    -1,  1190,    -1,    -1,    -1,    -1,    -1,    -1,
     3226     591,    -1,    -1,    39,    -1,    -1,  1500,    -1,    -1,    -1,
     3227      -1,    -1,    -1,    -1,    -1,  1212,    -1,    -1,    -1,    -1,
     3228     905,    -1,   794,    -1,    -1,    -1,    -1,  1224,    -1,  1226,
     3229      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3230      76,    -1,    -1,    -1,   635,   636,   637,    83,    84,    -1,
     3231      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1256,
     3232      -1,    -1,   653,    -1,    -1,    -1,    -1,  1264,  1265,  1266,
     3233      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,  1275,  1276,
     3234     671,   117,   118,    -1,    -1,   282,    -1,   284,   285,  1078,
     3235      -1,   682,  1289,    -1,  1207,   292,   293,    -1,    -1,    -1,
     3236      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3237     307,   308,    -1,    -1,    -1,    -1,    -1,   708,    -1,    -1,
     3238     711,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3239      -1,  1328,    -1,  1018,  1019,    -1,  1021,  1022,    -1,    -1,
     3240     912,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,    -1,
     3241      -1,    -1,    -1,    -1,    -1,   746,  1041,    10,    11,    12,
     3242      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3243      23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
     3244      -1,    -1,    -1,    -1,   381,    -1,    39,    -1,    -1,    -1,
     3245      -1,  1076,  1077,    -1,    -1,    -1,    -1,    -1,  1395,   790,
     3246      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   800,
     3247      -1,   802,    -1,    -1,    67,    -1,   807,   989,  1207,   810,
     3248      -1,    74,    75,   814,    -1,    78,    -1,   344,    -1,   346,
     3249      -1,    -1,    -1,    -1,  1006,    -1,    -1,    -1,    -1,    -1,
     3250     357,   358,    -1,    -1,    -1,  1442,    -1,    -1,    -1,    -1,
     3251      37,    38,  1449,    40,    -1,    -1,   109,    -1,   111,    -1,
     3252      -1,    -1,  1147,    -1,   117,   118,    -1,    -1,    -1,    -1,
     3253      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3254      -1,    -1,    -1,    -1,   875,    72,    -1,    -1,    -1,    76,
     3255      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3256      87,    -1,    -1,  1500,    -1,  1190,    -1,    -1,    -1,    -1,
     3257      -1,    -1,  1084,    -1,   905,    -1,    -1,    -1,    -1,    -1,
     3258      -1,    -1,   109,    -1,   111,    -1,    -1,  1212,    -1,    -1,
     3259     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,  1224,
     3260      -1,  1226,     7,   130,    -1,    10,    11,    12,    13,    14,
     3261      -1,    -1,  1124,   550,   551,   552,   553,   554,   555,   556,
     3262     557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
     3263     567,  1256,    37,    38,    39,    40,    -1,    -1,    -1,  1264,
     3264    1265,  1266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3265    1275,  1276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3266      -1,    66,    67,    -1,  1289,    -1,    -1,    72,    -1,    -1,
     3267      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3268      -1,    86,    87,    -1,    -1,    -1,    -1,  1018,  1019,    -1,
     3269    1021,  1022,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3270      -1,    -1,    -1,  1328,   109,    -1,   111,    -1,    -1,    -1,
     3271    1041,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3272       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3273      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3274      23,    24,    25,    26,    27,  1076,  1077,    30,    31,    32,
     3275      33,    -1,    -1,    36,    37,    38,    39,    40,    -1,   696,
     3276      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3277    1395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3278      -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,
     3279      -1,    74,    75,    76,    49,    -1,    79,    80,    81,    82,
     3280      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3281      -1,    66,    -1,    -1,    -1,    -1,  1147,  1442,    -1,    -1,
     3282     757,    -1,    -1,    -1,  1449,    -1,   109,    -1,   111,    -1,
     3283      -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3284      -1,    -1,    -1,   700,    -1,   702,    -1,    -1,    -1,   132,
     3285     787,    -1,   709,   710,    -1,    -1,    -1,   714,   113,  1190,
     3286      -1,    -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,   726,
     3287      -1,    -1,    -1,    -1,   731,  1500,    -1,    -1,    -1,    -1,
     3288      -1,  1212,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3289      -1,   146,    -1,  1224,    -1,  1226,    -1,    -1,    -1,    -1,
     3290      -1,   156,   759,    -1,    -1,   160,    -1,    -1,    -1,    -1,
     3291      -1,    -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,    10,
     3292      11,    12,    13,    14,    -1,  1256,    -1,    -1,    -1,    -1,
     3293      -1,    -1,    -1,  1264,  1265,  1266,    -1,    -1,    -1,    -1,
     3294      -1,    -1,    -1,    -1,  1275,  1276,    37,    38,    39,    40,
     3295      -1,    -1,    -1,    -1,   209,    -1,    -1,    -1,  1289,    -1,
     3296      -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    -1,    -1,
     3297     907,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,
     3298      -1,    72,    -1,    -1,   239,    76,    -1,    -1,    79,    80,
     3299      81,    82,    83,    84,    -1,    86,    87,  1328,    -1,    -1,
     3300      -1,   858,   859,   860,   861,    -1,   863,    -1,    -1,   264,
     3301      -1,    -1,    -1,    -1,    -1,   952,   271,    -1,   109,    -1,
     3302     111,   878,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
     3303     121,   122,    -1,    -1,    -1,   892,    -1,    -1,    -1,   294,
     3304      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3305     987,    -1,   307,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3306      -1,    -1,    -1,  1000,  1395,    -1,    -1,    -1,    75,    -1,
     3307      77,    -1,    79,    -1,    -1,   932,    -1,    -1,    -1,    86,
     3308      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3309     345,    -1,    -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,
     3310      -1,    -1,    -1,    -1,  1041,    -1,    -1,    -1,    -1,    -1,
     3311     117,  1442,   119,   120,   121,    -1,    -1,    -1,  1449,    -1,
     3312     977,    -1,    -1,    -1,    -1,    -1,   983,    -1,    -1,    -1,
     3313      -1,   988,    -1,    -1,    -1,    -1,   993,    -1,   995,    -1,
     3314      -1,    -1,   999,    -1,  1001,  1002,    -1,    -1,  1005,    -1,
     3315      -1,    -1,    -1,   160,    -1,    -1,    -1,  1014,    -1,    -1,
     3316      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1500,
     3317      -1,   426,   427,    -1,    -1,  1032,  1033,    -1,   433,    -1,
     3318      -1,  1118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3319      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,
     3320      -1,    -1,  1059,    -1,    -1,  1062,    -1,    -1,    -1,    -1,
     3321      -1,    -1,    -1,    -1,   221,    -1,   223,   224,   225,    -1,
     3322      -1,    -1,    -1,    -1,    -1,    -1,    -1,   482,    -1,    -1,
     3323      -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,   494,
     3324      -1,  1178,  1179,    -1,    -1,    -1,    -1,    -1,  1105,    -1,
     3325      -1,   506,   259,   508,  1111,  1112,   511,   264,   513,   514,
     3326      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3327      -1,   526,   279,    -1,  1131,    -1,    -1,  1134,    -1,    -1,
     3328      -1,  1138,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3329      -1,    -1,    -1,    72,  1151,    74,    75,    76,    -1,    -1,
     3330      -1,    -1,    -1,    -1,    83,    84,    -1,  1164,    -1,  1166,
     3331    1167,  1168,  1169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3332      -1,   328,    -1,    -1,   579,  1182,    -1,  1184,    -1,    -1,
     3333     109,  1188,    -1,    -1,    -1,    -1,   591,    -1,   117,   118,
     3334     595,    -1,    -1,   350,    -1,    -1,    -1,    -1,   355,   356,
     3335      -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,    -1,
     3336    1217,  1218,    -1,    -1,    -1,    -1,   621,    -1,    -1,    -1,
     3337      -1,   626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3338     635,   636,   637,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3339      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   653,   406,
     3340      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3341    1267,  1268,    -1,    -1,    -1,    -1,    -1,   424,    -1,    -1,
     3342    1277,    -1,   429,    -1,   431,    -1,    -1,    -1,    -1,    -1,
     3343     685,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3344      -1,   448,    -1,    -1,   451,   452,  1383,    -1,    -1,    -1,
     3345      -1,    -1,   459,    -1,    -1,    -1,   711,    -1,   713,    -1,
     3346      -1,    -1,  1399,    -1,    -1,    -1,   473,    -1,    -1,    -1,
     3347      -1,    -1,    -1,   480,    -1,    -1,    -1,    -1,    -1,    -1,
     3348      -1,  1338,    -1,  1340,  1341,  1342,    -1,    -1,    -1,    -1,
     3349      -1,   746,    -1,    -1,    -1,  1352,    44,    -1,    -1,    -1,
     3350      -1,    -1,    -1,    -1,  1361,    10,    11,    12,    13,    14,
     3351      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3352      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,  1386,
     3353      -1,    -1,  1469,  1470,    39,    -1,    -1,    10,    11,    12,
     3354      13,    14,    -1,    91,    -1,    -1,    -1,   802,    -1,    -1,
     3355      -1,   806,    -1,   101,    -1,   810,    -1,    -1,    -1,    -1,
     3356      -1,    -1,    67,    -1,    -1,    -1,    39,    72,    -1,    74,
     3357      75,    76,  1429,  1430,    -1,    -1,    -1,    -1,    83,    84,
     3358      -1,    -1,    -1,    -1,    -1,  1442,    -1,    -1,   595,    -1,
     3359      -1,    -1,  1449,    -1,    67,    -1,    -1,    -1,    -1,    72,
     3360      -1,    74,    75,    76,   109,    -1,   111,    -1,    -1,   157,
     3361      83,    84,   117,   118,    -1,    -1,   623,    -1,    -1,    -1,
     3362      -1,   628,    -1,   171,  1481,    -1,    -1,    -1,  1485,    -1,
     3363      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
     3364      -1,    -1,    -1,    -1,   117,   118,   194,    -1,    -1,    -1,
     3365     905,    -1,    -1,    -1,    -1,    -1,  1513,    -1,  1515,    -1,
     3366     208,    -1,    -1,    -1,    -1,   920,    -1,    -1,    -1,   217,
     3367      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,
     3368      -1,    -1,    -1,    -1,    -1,    -1,  1543,  1544,    -1,   944,
     3369      -1,    -1,   699,    -1,  1551,  1552,    -1,    -1,    -1,    -1,
     3370      -1,    -1,    -1,    -1,   252,    -1,   713,    -1,    -1,   257,
     3371      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3372      -1,    -1,   270,    -1,    -1,    -1,   733,    -1,   276,    -1,
     3373     278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3374      -1,    -1,    -1,    -1,    -1,  1000,    -1,   295,    10,    11,
     3375      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3376      22,    23,    24,    25,    26,    27,  1021,  1022,    30,    31,
     3377      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3378      -1,    -1,    -1,    -1,    -1,    -1,    -1,   794,    -1,    -1,
     3379     338,    -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,   806,
     3380      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3381      72,    -1,    74,    75,    76,    -1,    -1,    -1,   825,    -1,
     3382      -1,    83,    84,    -1,   372,    -1,  1081,    -1,   376,   377,
     3383      -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,   386,   387,
     3384      -1,   389,   390,    -1,   392,    -1,   394,   109,    -1,   111,
     3385      -1,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,
     3386      -1,    -1,    -1,   411,    -1,    -1,    -1,    -1,    -1,    -1,
     3387      -1,   419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
     3388     156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3389      -1,    -1,  1147,    -1,    -1,    -1,   444,    -1,    -1,    -1,
     3390      -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3391      14,    -1,    -1,   189,    -1,    -1,    -1,    -1,    -1,    -1,
     3392     196,    -1,   470,    -1,    -1,    -1,    -1,    -1,   476,    -1,
     3393      -1,   938,    -1,   481,  1189,    39,    10,    11,    12,    13,
     3394      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3395      24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
     3396      -1,   968,    -1,    67,    -1,    39,    -1,    -1,    72,   517,
     3397      -1,  1226,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     3398      84,    -1,    -1,    -1,   532,    -1,    -1,    -1,    -1,    -1,
     3399      -1,    -1,   268,    67,    -1,    -1,  1003,    -1,    72,    -1,
     3400      74,    75,    76,    -1,    78,   109,    -1,  1014,    -1,    83,
     3401      84,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,
     3402    1275,  1276,    -1,   571,    -1,    -1,    -1,    -1,    -1,  1284,
     3403      -1,    -1,   580,    -1,    -1,   109,    -1,   111,   146,   587,
     3404      -1,    -1,    -1,   117,   118,   593,    -1,   323,   156,    -1,
     3405      -1,    -1,    -1,    -1,   602,   331,   332,    -1,   334,   335,
     3406     168,   169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,
     3407      -1,    -1,    -1,   349,    -1,    -1,    -1,    -1,    -1,  1086,
     3408      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3409      -1,    -1,   368,  1100,   642,   371,     3,     4,     5,     6,
     3410       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    31843411      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3185       27,   351,    -1,    30,    31,    32,   634,   635,   636,    -1,
    3186     1075,  1076,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3187       -1,  1146,    -1,    -1,   652,    -1,    -1,    -1,    -1,    -1,
     3412      27,    -1,   398,    30,    31,    32,   402,    -1,    -1,    -1,
     3413     678,   239,    39,    -1,    -1,    -1,    -1,    -1,   686,    -1,
     3414    1395,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3415      -1,    -1,    -1,    -1,    -1,   263,    -1,   433,    -1,    -1,
     3416      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,   717,
     3417      -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,   727,
     3418     728,    76,  1189,    -1,    79,    80,    81,    82,    83,    84,
     3419      -1,    86,    87,    -1,    -1,    -1,  1451,    -1,  1453,    -1,
     3420      -1,    -1,    -1,   479,   111,    -1,   482,    -1,    -1,    -1,
     3421     117,   118,   760,    -1,   109,    -1,   111,   765,    -1,   114,
     3422      -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3423      -1,    -1,  1487,    -1,  1489,    -1,    -1,    -1,    -1,    -1,
     3424      -1,    -1,    -1,    -1,    -1,   521,    -1,    -1,    -1,   525,
     3425     526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3426      -1,  1516,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3427      -1,    -1,   380,    -1,    -1,    -1,    -1,  1284,    -1,    -1,
     3428      -1,   829,    -1,    -1,    -1,    -1,    -1,    -1,   836,    -1,
     3429      -1,    -1,    -1,    -1,    -1,   571,   572,    -1,    -1,    -1,
     3430      -1,   849,    -1,   851,    -1,    -1,    -1,    -1,    -1,    -1,
     3431      -1,    -1,    -1,    -1,   590,   591,    -1,   865,    -1,    -1,
     3432      -1,    -1,    -1,   871,    -1,   601,    -1,   603,   604,    -1,
     3433      -1,    -1,    -1,    -1,   610,   883,    -1,    -1,   886,    -1,
     3434      -1,    -1,    -1,    -1,   620,   621,    -1,    -1,    -1,    -1,
     3435     626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   635,
     3436     636,   637,    -1,    -1,    -1,    -1,   474,    -1,    -1,    -1,
     3437      -1,    -1,    -1,    -1,    -1,    -1,    -1,   653,    -1,    -1,
     3438      -1,    -1,   658,   659,    -1,    -1,   662,   663,    -1,    -1,
     3439      -1,    -1,    -1,   669,    -1,    -1,    -1,    -1,    -1,    -1,
     3440      -1,    -1,    -1,    -1,    -1,   513,    -1,    -1,    -1,    -1,
     3441      -1,    -1,   688,    -1,    -1,   963,    -1,    -1,   526,    -1,
     3442      -1,    -1,    -1,   531,    -1,    -1,   534,    -1,    -1,    -1,
     3443      -1,    -1,    -1,    -1,    -1,   711,   712,    -1,    -1,   547,
    31883444      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3189       67,    -1,   670,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3190      754,   755,    -1,   681,    -1,    -1,    -1,  1122,    -1,    -1,
    3191       -1,    -1,    -1,    -1,  1189,    -1,    -1,   911,   418,    -1,
    3192       -1,    -1,   916,    -1,    -1,    -1,    -1,    -1,    -1,   707,
    3193       -1,  1146,   710,   433,   111,    -1,  1211,     0,   438,    -1,
    3194      117,   118,    -1,    -1,    -1,    -1,   446,    -1,  1223,    -1,
    3195     1225,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3196       -1,    -1,    -1,    -1,   464,    -1,    -1,   745,    -1,    32,
    3197       -1,    -1,    -1,    -1,  1189,    -1,    -1,    -1,    -1,    -1,
    3198     1255,    -1,   482,    -1,   484,    -1,    -1,    -1,  1263,  1264,
    3199     1265,    -1,  1207,    -1,    -1,    -1,  1211,    -1,    -1,  1274,
    3200     1275,    10,    11,    12,    13,    14,    69,    -1,  1223,    -1,
    3201     1225,   789,    -1,  1288,  1229,    10,    11,    12,    13,    14,
    3202       -1,   799,    -1,   801,    -1,    -1,   526,    -1,   806,    -1,
    3203       39,   809,   146,    -1,    -1,   813,    -1,    -1,    -1,    -1,
    3204     1255,    -1,   156,    -1,    39,    -1,    -1,    -1,  1263,  1264,
    3205     1265,    -1,  1327,    -1,   168,   169,    -1,    -1,    67,  1274,
    3206     1275,    -1,   916,    72,    -1,    74,    75,    76,    -1,    -1,
    3207       -1,    -1,    67,  1288,    83,    84,    -1,    72,    -1,    74,
    3208       75,    76,    -1,  1077,    -1,    -1,    -1,    -1,    83,    84,
    3209      590,    -1,    -1,   156,    -1,    -1,   874,    -1,    -1,    -1,
    3210      109,    -1,   111,    -1,    -1,    -1,  1321,    -1,   117,   118,
    3211       -1,    -1,  1327,    -1,   109,    -1,   111,    -1,    -1,  1394,
    3212       -1,    -1,   117,   118,    -1,   239,   904,    -1,    -1,    -1,
    3213       -1,    -1,    -1,    -1,   634,   635,   636,    -1,    -1,    -1,
    3214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   263,
    3215       -1,    -1,   652,    -1,    -1,    -1,    10,    11,    12,    13,
    3216       14,    -1,    -1,    -1,    -1,    -1,  1441,    -1,    -1,    -1,
    3217      670,    -1,    -1,  1448,    -1,    -1,    -1,    -1,    -1,  1394,
    3218       -1,   681,    -1,    -1,    -1,    39,    -1,    -1,   251,    -1,
    3219       -1,    -1,    -1,   256,    -1,    -1,    -1,    -1,    -1,    -1,
    3220       -1,    -1,    -1,    -1,  1419,    -1,    -1,   707,    -1,    -1,
    3221      710,    -1,  1206,    67,    -1,    -1,    -1,    -1,    72,    -1,
    3222       74,    75,    76,  1077,  1499,    -1,  1441,    -1,    -1,    83,
    3223       84,    -1,    -1,  1448,    -1,    -1,    -1,    -1,    -1,  1017,
    3224     1018,    -1,  1020,  1021,    -1,   745,    -1,    -1,    -1,    -1,
    3225       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3226       -1,    -1,  1040,   117,   118,    -1,   380,    -1,    -1,    -1,
     3445     998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3446      -1,   569,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,
     3447     746,   579,    -1,    -1,   750,   751,    -1,    -1,   586,    -1,
     3448      -1,    -1,    -1,   591,    -1,    -1,    -1,    -1,    -1,    -1,
     3449      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3450      20,    21,    22,    23,    24,    25,    26,    27,  1056,    -1,
     3451      30,    31,    32,    -1,  1062,    -1,    -1,    -1,   794,    39,
     3452      -1,    -1,    -1,    -1,  1531,    -1,   802,    -1,    -1,    -1,
     3453      -1,    -1,   640,   809,   810,    -1,    -1,   813,    -1,   815,
     3454     648,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1096,   825,
     3455      -1,    -1,    72,  1101,    74,    75,    76,    -1,    -1,    -1,
     3456      -1,  1109,    -1,    83,    84,    -1,    10,    11,    12,    13,
     3457      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3458      24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,   109,
     3459      -1,   111,    -1,    -1,  1142,    39,    -1,   117,   118,    -1,
     3460      -1,    -1,    -1,    -1,    -1,    -1,  1154,    -1,    -1,  1157,
     3461      -1,  1159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3462      -1,   897,    -1,    67,    -1,  1173,  1174,    -1,   904,   905,
     3463     906,    -1,   908,    -1,    78,    -1,   912,    -1,   746,    -1,
     3464     748,    -1,    -1,    -1,    -1,    -1,    -1,  1195,    -1,    -1,
     3465     758,    -1,    -1,    -1,    -1,    -1,   764,   933,   934,    -1,
     3466      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3467      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3468      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3469      -1,    -1,   968,    -1,  1242,    -1,    -1,    -1,   806,   807,
     3470      -1,    -1,   810,    -1,    -1,    -1,    -1,    -1,    37,    38,
     3471      -1,    40,    -1,   989,   990,    -1,   824,    67,    -1,    -1,
     3472      -1,    -1,    -1,    -1,  1000,    -1,    -1,    -1,    78,    -1,
     3473    1006,  1007,    -1,  1009,  1010,  1011,    -1,    66,    -1,    -1,
     3474      -1,    -1,    -1,    72,    -1,  1021,  1022,    76,    -1,    -1,
     3475      79,    80,    81,    82,    83,    84,   864,    86,    87,    -1,
     3476     868,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1317,
     3477      -1,  1319,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3478     109,    -1,   111,  1331,    -1,  1333,    -1,   116,   117,   118,
     3479     119,   120,   121,   122,    -1,    -1,    -1,   905,    -1,    -1,
     3480      -1,    -1,  1350,    -1,    -1,    -1,    -1,    -1,  1084,    -1,
     3481    1086,    -1,    -1,    -1,    -1,  1091,    -1,    -1,  1366,  1367,
     3482      -1,    -1,    -1,    -1,  1100,    -1,    -1,    -1,    -1,  1377,
     3483      -1,    -1,  1380,    -1,    -1,    -1,   944,    -1,    -1,    -1,
     3484      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1123,  1124,  1125,
     3485      -1,    -1,    -1,  1401,    -1,    -1,    -1,    -1,    -1,    -1,
     3486      -1,    -1,  1410,    -1,   972,  1413,    -1,  1415,  1416,  1417,
     3487     978,  1147,    -1,    -1,   982,    37,    38,    -1,    40,    -1,
    32273488      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3228       -1,    -1,    -1,    -1,  1499,    -1,    -1,    -1,   351,   789,
    3229       -1,  1506,    -1,    -1,    -1,    -1,    -1,  1075,  1076,   799,
    3230       -1,   801,    -1,    -1,    -1,    -1,   806,    -1,    -1,   809,
    3231       -1,    -1,    -1,   813,    -1,    53,    -1,    55,    -1,    -1,
    3232       58,    59,    60,    -1,    62,    -1,    -1,    -1,    -1,    10,
    3233       11,    12,    13,    14,    -1,    -1,    -1,    -1,    76,    -1,
    3234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3235       88,    89,  1206,    -1,    -1,   418,    -1,    -1,    39,    -1,
    3236      474,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1146,    -1,
    3237      433,    -1,    -1,    -1,   874,   438,    -1,    -1,    -1,    -1,
    3238       -1,    -1,    -1,   446,    -1,    -1,    67,    -1,    -1,    -1,
    3239       -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,   513,
    3240       -1,   464,    83,    84,   904,    -1,    -1,    -1,    -1,    -1,
    3241       -1,  1189,   526,    -1,    -1,    -1,    -1,   531,    -1,   482,
    3242      534,   484,    -1,    37,    38,    -1,    40,    -1,   109,    -1,
    3243       -1,    -1,   546,  1211,    -1,    -1,   117,   118,    -1,    -1,
    3244       -1,    -1,    -1,    -1,    -1,  1223,    -1,  1225,    -1,    -1,
    3245       -1,    -1,    66,    -1,   568,    -1,    -1,    -1,    72,    -1,
    3246       -1,    -1,    76,   526,   578,    79,    80,    81,    82,    83,
    3247       84,   585,    86,    87,    -1,    -1,   590,  1255,    -1,    -1,
    3248       -1,    -1,    -1,    -1,    -1,  1263,  1264,  1265,    -1,    -1,
    3249       -1,    -1,    -1,    -1,    -1,   109,  1274,  1275,    -1,    -1,
    3250       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
    3251     1288,    -1,    -1,    -1,    -1,    -1,    -1,  1017,  1018,    -1,
    3252     1020,  1021,    -1,    -1,    -1,   639,    -1,   590,    -1,    -1,
    3253       -1,    -1,    -1,   647,    -1,    -1,    -1,    -1,    -1,    -1,
    3254     1040,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1327,
    3255       -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3256       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3257       -1,   634,   635,   636,    -1,  1075,  1076,    -1,    -1,    -1,
    3258       -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,
    3259       -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
    3260       -1,    -1,    -1,    -1,    -1,    -1,   344,   670,   346,    67,
    3261       -1,    49,    -1,    -1,    -1,    -1,  1394,    -1,   681,   357,
    3262      358,    -1,    37,    38,    39,    40,    -1,    -1,    66,    -1,
    3263       -1,   745,    -1,   747,    -1,    -1,    -1,    -1,    -1,    -1,
    3264       -1,    -1,    -1,   757,   707,    -1,  1146,   710,    -1,   763,
    3265       -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3266       -1,    76,    -1,  1441,    79,    80,    81,    82,    83,    84,
    3267     1448,    86,    87,    -1,    -1,   113,    -1,    -1,    -1,   117,
    3268       -1,    -1,   745,    -1,    -1,    -1,    -1,    -1,    -1,  1189,
    3269       -1,   805,   806,    -1,   109,   809,   111,    -1,    -1,    -1,
    3270       -1,    -1,   117,   118,   119,   120,   121,   122,   146,   823,
    3271       -1,  1211,    -1,    -1,    -1,    -1,    -1,    -1,   156,    -1,
    3272       -1,  1499,   160,  1223,    -1,  1225,   789,    -1,    -1,    -1,
    3273       -1,    -1,    -1,    -1,    -1,    -1,   799,    -1,   801,    -1,
    3274       -1,    -1,    -1,   806,    -1,    -1,   809,    -1,    -1,   863,
    3275      813,    -1,    -1,   867,    -1,  1255,    -1,    -1,    -1,    -1,
    3276       -1,    -1,    -1,  1263,  1264,  1265,    -1,    -1,    -1,    -1,
    3277       -1,   209,    -1,    -1,  1274,  1275,    -1,    -1,    -1,    -1,
    3278       -1,    -1,    -1,   221,    -1,    -1,    -1,    -1,  1288,    -1,
    3279      904,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
    3280       -1,   239,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3281       -1,   874,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3282       -1,    -1,    66,    -1,    -1,    -1,   264,  1327,    72,   943,
    3283       -1,    -1,    76,   271,    -1,    79,    80,    81,    82,    83,
    3284       84,   904,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3285       -1,    -1,    -1,    -1,    -1,    -1,   294,   971,    -1,    -1,
    3286       -1,    -1,    -1,   977,    -1,   109,    -1,   981,    -1,   307,
    3287       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
    3288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1002,    -1,
    3289       -1,    -1,    -1,    -1,  1394,    -1,    -1,    -1,    -1,  1013,
    3290       -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,    -1,    -1,
    3291       -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3292       -1,  1035,    -1,  1037,    -1,    -1,    -1,    -1,    -1,    -1,
    3293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1052,  1053,
    3294       -1,  1441,    -1,    -1,    -1,    -1,    -1,    -1,  1448,    -1,
    3295       -1,    -1,    -1,    -1,  1017,  1018,    -1,  1020,  1021,  1073,
    3296       -1,   699,    -1,   701,    -1,    -1,    -1,    -1,    -1,    -1,
    3297      708,   709,    -1,    -1,    -1,   713,    -1,  1040,    -1,    -1,
    3298       -1,    -1,    -1,    -1,    -1,    -1,    -1,   725,   426,   427,
    3299       -1,    -1,   730,    -1,    -1,   433,    -1,    -1,    -1,  1499,
    3300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3301       -1,    -1,  1075,  1076,  1128,    -1,   454,    -1,    -1,    -1,
    3302      758,     7,    -1,    -1,    10,    11,    12,    13,    14,    -1,
    3303       -1,    -1,  1146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3304       -1,    -1,    -1,    -1,   482,    -1,    -1,  1161,  1162,    -1,
    3305       -1,    37,    38,    39,    40,    -1,   494,    -1,    -1,    -1,
    3306       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   506,    -1,
    3307      508,    -1,    -1,   511,    -1,   513,   514,    -1,    -1,    -1,
    3308       66,    67,    -1,  1146,    -1,    -1,    72,    -1,   526,    -1,
    3309       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3310       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   857,
    3312      858,   859,   860,   109,   862,   111,  1189,    -1,    -1,    -1,
    3313       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,   877,
    3314      578,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1211,    -1,
    3315       -1,    -1,   590,   891,    -1,    -1,   594,    -1,    -1,    -1,
    3316     1223,    -1,  1225,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3318       -1,    -1,   620,    -1,    -1,    -1,    -1,   625,  1302,    -1,
    3319       -1,  1305,  1255,   931,    -1,    -1,   634,   635,   636,    -1,
    3320     1263,  1264,  1265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3321       -1,  1274,  1275,    -1,   652,    -1,    -1,    -1,    -1,    -1,
    3322       -1,    -1,    -1,    -1,    -1,  1288,    -1,    -1,    -1,    -1,
    3323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   976,    -1,
    3324       -1,    -1,    -1,    -1,   982,    -1,   684,    -1,    -1,   987,
    3325       -1,    -1,    -1,    -1,   992,    -1,   994,    -1,    66,    -1,
    3326      998,    -1,  1000,  1001,  1327,    -1,  1004,    75,    -1,    77,
    3327       -1,    79,   710,    -1,   712,  1013,    -1,    -1,    86,    -1,
    3328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3329       -1,    -1,    -1,  1031,  1032,    -1,    -1,    -1,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,    -1,   117,
    3331       -1,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
    3332     1058,    -1,    -1,  1061,    -1,    -1,    -1,    -1,    -1,    -1,
    3333       -1,  1394,    -1,    10,    11,    12,    13,    14,    15,    16,
    3334       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3335       27,    -1,   160,    30,    31,    32,    -1,    -1,    -1,    -1,
    3336       -1,    -1,    39,   801,    -1,    -1,  1104,   805,    -1,    -1,
    3337       -1,   809,  1110,  1111,    -1,    -1,    -1,    -1,  1441,    -1,
    3338       -1,    -1,    -1,    -1,    -1,  1448,    -1,    -1,    -1,    -1,
    3339       67,    -1,  1130,    -1,    -1,  1133,    -1,    74,    75,  1137,
    3340       -1,  1515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3341       -1,    -1,  1150,   221,    -1,   223,   224,   225,    -1,    -1,
    3342       -1,    -1,    -1,    44,    -1,  1163,    -1,  1165,  1166,  1167,
    3343     1168,    -1,   109,    -1,   111,    -1,  1499,    -1,    -1,    -1,
    3344      117,   118,    -1,  1181,    -1,  1183,    -1,    -1,    -1,  1187,
    3345       -1,   259,    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,
    3346       -1,    -1,    -1,    -1,    -1,    -1,   904,    -1,    -1,    -1,
    3347       91,   279,    -1,    -1,    -1,    -1,    -1,    -1,  1216,  1217,
    3348      101,   919,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
    3349       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3350       23,    24,    25,    26,    27,   943,    -1,    30,    31,    32,
    3351       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,
    3352      328,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1266,  1267,
    3353       -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,  1276,    -1,
    3354       -1,    -1,   350,    -1,    67,    -1,    -1,   355,   356,    -1,
    3355      171,    74,    75,    -1,    -1,   363,    -1,    -1,    -1,    -1,
    3356       -1,   999,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3357       -1,    -1,    -1,   194,    -1,    -1,    -1,    -1,    -1,    -1,
    3358       -1,    -1,  1020,  1021,    -1,    -1,    -1,   208,   111,    -1,
    3359       -1,    -1,   115,    -1,   117,   118,   217,    -1,   406,  1337,
    3360       -1,  1339,  1340,  1341,    -1,    -1,   227,    -1,    -1,    -1,
    3361       -1,    -1,    -1,  1351,    -1,    -1,   424,    37,    38,    -1,
    3362       40,   429,  1360,   431,    -1,    -1,    -1,    -1,    -1,    -1,
    3363       -1,   252,    -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,
    3364      448,    -1,  1080,   451,   452,    -1,    66,  1385,    -1,   270,
    3365       -1,   459,    72,    -1,    -1,   276,    76,   278,    -1,    79,
    3366       80,    81,    82,    83,    84,   473,    86,    87,    -1,    -1,
    3367       -1,    -1,   480,    -1,   295,    -1,    -1,    -1,    -1,    -1,
    3368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3369     1428,  1429,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,
    3370      120,   121,   122,  1441,    -1,    -1,    -1,    -1,  1146,    -1,
    3371     1448,    -1,    -1,    -1,    -1,    -1,    -1,   338,    -1,    -1,
    3372       -1,    -1,   343,    10,    11,    12,    13,    14,    15,    16,
    3373       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3374       27,    28,  1480,    -1,    -1,    -1,  1484,    -1,    -1,    -1,
    3375     1188,   372,    39,    -1,    -1,   376,   377,    -1,   379,    -1,
    3376       -1,    -1,    -1,    -1,    -1,   386,   387,    -1,   389,   390,
    3377       -1,   392,    -1,   394,  1512,    -1,  1514,    -1,    -1,    -1,
    3378       67,    -1,    37,    38,    -1,    40,   594,  1225,    -1,    -1,
    3379      411,    78,    -1,    -1,    -1,    -1,    -1,    -1,   419,    -1,
    3380       -1,    -1,    -1,    -1,  1542,  1543,    -1,    -1,    -1,    -1,
    3381       -1,    66,  1550,  1551,   622,    -1,    -1,    72,    -1,   627,
    3382       -1,    76,    -1,   444,    79,    80,    81,    82,    83,    84,
    3383       -1,    86,    87,    -1,    -1,    -1,  1274,  1275,    -1,    -1,
    3384       -1,    -1,    -1,    -1,    -1,  1283,    -1,    -1,    -1,   470,
    3385       -1,    -1,    -1,    -1,   109,   476,   111,    -1,    -1,   114,
    3386      481,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3387       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3388       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3389      698,    30,    31,    32,    -1,    -1,   517,    -1,    -1,    -1,
    3390       39,    -1,    -1,    -1,   712,   282,    -1,   284,   285,    -1,
    3391       -1,   532,    -1,    -1,    -1,   292,   293,    -1,    -1,    -1,
    3392       -1,    -1,    -1,    -1,   732,    -1,    -1,    -1,    67,    -1,
    3393      307,   308,    -1,    72,    -1,    74,    75,    76,    -1,    78,
    3394       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,   570,
    3395       -1,    -1,    -1,    -1,    -1,    -1,  1394,    -1,   579,    -1,
    3396       -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,   345,    -1,
    3397      109,   592,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3398      601,    -1,    -1,    -1,    -1,   793,    -1,    -1,    -1,    -1,
    3399       -1,    -1,    -1,    -1,    -1,    -1,    -1,   805,    -1,    -1,
    3400       -1,    -1,    -1,    -1,   381,    -1,    -1,    -1,    -1,    -1,
    3401       -1,    -1,  1450,    -1,  1452,    -1,   824,    -1,    -1,    -1,
    3402      641,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3403       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3404       25,    26,    27,    28,    -1,    30,    31,    32,  1486,    -1,
    3405     1488,    -1,    -1,    -1,    39,    -1,   677,    -1,    -1,    -1,
    3406       -1,    -1,    -1,    -1,   685,    -1,    -1,    -1,    -1,    -1,
    3407       -1,    -1,    -1,    37,    38,    -1,    40,  1515,    -1,    -1,
    3408      155,   156,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3409       75,    76,    -1,    78,    -1,   716,    -1,    -1,    83,    84,
    3410       -1,    -1,    66,    -1,    -1,   726,   727,    -1,    72,    -1,
    3411       -1,    -1,    76,    -1,   189,    79,    80,    81,    82,    83,
    3412       84,   196,    86,    87,    -1,    -1,   111,    -1,    -1,   937,
    3413       -1,    -1,   117,   118,    -1,    -1,    -1,    -1,   759,    -1,
    3414       -1,    -1,    -1,   764,    -1,   109,    -1,   111,    -1,    -1,
    3415       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,   967,
    3416       -1,    -1,    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,
    3417       -1,    -1,   549,   550,   551,   552,   553,   554,   555,   556,
    3418      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    3419       -1,    -1,    -1,   268,  1002,    -1,    -1,    -1,    -1,    -1,
    3420       -1,    -1,    -1,    -1,    -1,  1013,    -1,   828,    -1,    -1,
    3421       -1,    -1,    -1,    -1,   835,    -1,    -1,    -1,    -1,    -1,
    3422       -1,    -1,    -1,    -1,    -1,    -1,    -1,   848,    -1,   850,
    3423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3424       -1,    -1,    -1,   864,    -1,    -1,    -1,    -1,   323,   870,
    3425       -1,    -1,    -1,    -1,    -1,    -1,   331,   332,    -1,   334,
    3426      335,   882,    -1,    -1,   885,    -1,    -1,    -1,    -1,    -1,
    3427      345,    -1,    -1,    -1,   349,    -1,    -1,  1085,    -1,    -1,
    3428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3429       -1,  1099,    -1,   368,    -1,    -1,   371,    -1,    -1,    -1,
    3430       -1,    37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,
    3431       46,    47,    48,    49,    50,    51,    52,    53,   695,    -1,
    3432       56,    57,    -1,   398,    -1,    61,    62,   402,    64,    -1,
    3433       66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    3434       76,   962,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3435       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,
    3436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3437       -1,    -1,    -1,   109,    -1,   111,   997,    -1,   114,   756,
    3438     1188,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
    3439       -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,
    3440       -1,    -1,    -1,    -1,   479,    -1,    -1,   482,    -1,   786,
    3441       -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3442       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3443       24,    25,    26,    27,  1055,    -1,    30,    31,    32,    -1,
    3444     1061,    -1,    -1,    -1,    -1,    39,   521,    -1,    -1,    -1,
    3445      525,   526,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3489      -1,    -1,    -1,    -1,    -1,  1003,    -1,    -1,    -1,    -1,
     3490      -1,    -1,    -1,    -1,    66,    -1,  1014,  1455,    -1,  1457,
     3491      72,  1459,    74,    75,    76,    -1,    -1,    79,    80,    81,
     3492      82,    83,    84,    -1,    86,    87,  1474,    -1,  1036,    -1,
     3493    1038,    -1,  1208,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,    -1,    -1,    -1,  1053,  1054,   109,    -1,   111,
     3495    1226,   113,   114,    -1,    -1,   117,   118,   119,   120,   121,
     3496     122,    -1,    -1,    -1,    -1,    -1,  1074,    -1,    -1,    -1,
     3497      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3498       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3499      19,    20,    21,    22,    23,    24,    25,    26,    27,  1275,
     3500    1276,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
     3501      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3502      -1,  1129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3503      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1147,
     3504      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
     3505      -1,    -1,    -1,    -1,  1162,  1163,    -1,     3,     4,     5,
     3506       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    34463507      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3447       26,    27,    28,    67,  1095,  1283,    -1,    -1,    72,  1100,
    3448       74,    75,    76,    39,    -1,    -1,    -1,  1108,    -1,    83,
    3449       84,    -1,    -1,    -1,    -1,   570,   571,    -1,    -1,    -1,
    3450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3451       -1,    67,    -1,    -1,   589,   590,    -1,   111,    -1,    -1,
    3452     1141,    -1,    78,   117,   118,   600,    -1,   602,   603,   906,
    3453       -1,    -1,  1153,    -1,   609,  1156,    -1,  1158,    -1,    -1,
    3454       -1,    -1,    -1,    -1,   619,   620,    -1,    -1,    -1,    -1,
    3455      625,  1172,  1173,    -1,    -1,    -1,    -1,    -1,    -1,   634,
    3456      635,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3457       -1,    -1,    -1,  1194,   951,    -1,    -1,   652,    -1,    -1,
    3458       -1,    -1,   657,   658,    -1,    -1,   661,   662,    -1,    -1,
    3459       -1,    -1,    -1,   668,    -1,    -1,    -1,    -1,    -1,    -1,
    3460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   986,
    3461       -1,    -1,   687,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3462     1241,    -1,   999,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3463       -1,    -1,    -1,    -1,    -1,   710,   711,    -1,    -1,    10,
    3464       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3465       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3466       31,    32,    -1,  1040,    -1,    -1,    -1,    -1,    39,   744,
    3467      745,    -1,    -1,    -1,   749,   750,    -1,    -1,    -1,    -1,
    3468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3469       -1,    -1,    -1,    -1,    -1,  1316,    67,  1318,    -1,    -1,
    3470       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,  1330,
    3471       -1,  1332,    -1,    -1,    -1,    -1,    -1,    -1,   793,    -1,
    3472       -1,    -1,  1530,    -1,    -1,    -1,   801,    -1,  1349,    -1,
    3473       -1,    -1,    -1,   808,   809,    -1,    -1,   812,    -1,   814,
    3474     1117,    -1,    -1,    -1,  1365,  1366,   117,   118,    -1,   824,
    3475       -1,    -1,    -1,    -1,    -1,  1376,    -1,    -1,  1379,    -1,
    3476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1400,
    3478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1409,    -1,
    3479       -1,  1412,    -1,  1414,  1415,  1416,    -1,    -1,    -1,    -1,
    3480     1177,  1178,    10,    11,    12,    13,    14,    15,    16,    17,
    3481       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3482       -1,   896,    30,    31,    32,    -1,    -1,    -1,   903,   904,
    3483      905,    39,   907,  1454,    -1,  1456,   911,  1458,    -1,    -1,
    3484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3485       -1,    -1,  1473,    -1,    -1,    -1,    -1,   932,   933,    67,
    3486       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    3487       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    3488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3489       -1,    -1,   967,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3490       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
    3491      118,    -1,    -1,   988,   989,    -1,    -1,    -1,    -1,    -1,
    3492       -1,    -1,    -1,    -1,   999,    -1,    -1,    -1,    -1,    -1,
    3493     1005,  1006,    -1,  1008,  1009,  1010,    -1,    -1,    -1,    -1,
    3494       -1,    -1,    -1,    -1,    -1,  1020,  1021,    -1,    -1,    -1,
    3495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
    3496        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3497       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3498       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
    3499       -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,    -1,
    3500       -1,    -1,    -1,    -1,    -1,  1382,    -1,    -1,  1083,    -1,
    3501     1085,    -1,    -1,    -1,    -1,  1090,    -1,    -1,    -1,    -1,
    3502       -1,  1398,    66,    67,  1099,    69,    -1,    71,    72,    -1,
    3503       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3504       84,    -1,    86,    87,    -1,    -1,    -1,  1122,  1123,  1124,
    3505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3506       -1,    37,    38,    -1,    40,   109,    -1,   111,    -1,    -1,
    3507       -1,  1146,    -1,   117,   118,   119,   120,   121,   122,    -1,
    3508       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   132,    -1,
    3509       66,  1468,  1469,    -1,    -1,    -1,    72,    -1,    74,    75,
     3508      26,    27,   111,    -1,    30,    31,    32,    33,   117,   118,
     3509      36,    37,    38,    39,    40,    41,    -1,    43,    -1,    -1,
     3510      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
     3511      -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,  1395,
     3512      66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
    35103513      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    35113514      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35123515      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3513       -1,    -1,  1207,   109,    -1,   111,    -1,   113,   114,    -1,
     3516      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
    35143517      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
    3515     1225,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
    3516        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3517       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3518       25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
    3519       -1,    36,    37,    38,    39,    40,    41,    -1,    43,  1274,
    3520     1275,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3521       -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
    3522       -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3523       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3524       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3518      -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,
     3519      -1,    -1,    -1,    -1,    -1,  1303,    -1,    -1,  1306,    -1,
     3520      -1,    -1,    -1,    -1,    -1,    -1,  1482,    -1,    -1,    -1,
    35253521      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3526       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    3527       -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3528       -1,    -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,
    3529       -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
    3530       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3531       20,    21,    22,    23,    24,    25,    26,    27,    -1,  1394,
    3532       30,    31,    32,    33,    -1,    -1,    36,    37,    38,    39,
    3533       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3534       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3535       -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    69,
    3536       39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3537       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3539       -1,    -1,    -1,    72,    -1,    74,    75,    -1,    -1,   109,
    3540       -1,   111,    -1,    -1,    83,    84,  1481,   117,   118,   119,
    3541      120,   121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35423522      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3543     1505,  1506,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3523    1506,  1507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35443524      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3545       -1,    -1,    -1,    -1,    -1,  1530,     4,     5,     6,     7,
     3525      -1,    -1,    -1,    -1,    -1,  1531,     3,     4,     5,     6,
     3526       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3527      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3528      27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
     3529      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3530      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3531      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
     3532      67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
     3533      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3534      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3535      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3536      -1,    -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,
     3537     117,   118,   119,   120,   121,   122,     4,     5,     6,     7,
    35463538       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    35473539      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3548       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3540      -1,    -1,    30,    31,    32,    -1,    -1,    -1,  1516,    37,
    35493541      38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    35503542      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     
    35533545      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    35543546      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3555       67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,
    3556       -1,   109,    -1,   111,    -1,    -1,    83,    84,   116,   117,
     3547      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3548      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,   117,
    35573549     118,   119,   120,   121,   122,     4,     5,     6,     7,     8,
    35583550       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     
    35733565      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    35743566      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3575       -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    69,
     3567      -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,
    35763568      39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    35773569      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    35783570      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3579       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
     3571      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    35803572      -1,   111,    -1,    -1,    -1,    -1,   116,   117,   118,   119,
    35813573     120,   121,   122,     4,     5,     6,     7,     8,     9,    10,
     
    36813673      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36823674      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3683       -1,    78,     3,     4,     5,     6,     7,     8,     9,    10,
    3684       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3685       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3686       31,    32,    33,    -1,   111,    36,    -1,    -1,    39,    -1,
     3675      -1,    78,     4,     5,     6,     7,     8,     9,    10,    11,
     3676      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3677      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3678      32,    -1,    -1,    -1,   111,    -1,    -1,    39,    -1,    -1,
    36873679     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36883680      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3689       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    3690       71,    -1,    -1,    74,    75,     3,     4,     5,     6,     7,
    3691        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3692       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3693       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3694      111,    39,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,
     3681      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3682      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
     3683      -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36953684      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3697       -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,     4,
    3698        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3699       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3700       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3701       -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,   117,
    3702      118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3704       -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3705       75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
    3706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3708       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3709       -1,    -1,   117,   118,     4,     5,     6,     7,     8,     9,
    3710       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3711       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3712       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3713       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3714       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3715       26,    27,    -1,    -1,    30,    31,    32,    67,    -1,    69,
    3716       -1,    71,    -1,    39,    74,    75,    -1,     4,     5,     6,
    3717        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3718       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3719       27,    67,    -1,    30,    31,    32,    -1,    -1,    74,    75,
    3720      110,   111,    39,    -1,    -1,    -1,    -1,   117,   118,    -1,
    3721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3723       67,    -1,    69,    -1,    71,   111,    -1,    74,    75,    -1,
    3724       -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3725       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
    3726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3727       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3728      117,   118,     4,     5,     6,     7,     8,     9,    10,    11,
    3729       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3730       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3731       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3732       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3733       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3734       -1,    30,    31,    32,    -1,    67,    -1,    69,    -1,    71,
    3735       39,    40,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
    3736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3737       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    67,    -1,
    3738       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   111,
     3685      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    37393686      -1,    -1,    -1,    -1,    -1,   117,   118,     4,     5,     6,
    37403687       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    37413688      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3742       27,    -1,   111,    30,    31,    32,   115,    -1,   117,   118,
    3743       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3746       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3689      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3690      -1,    -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,
     3691      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3692      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3693      67,    -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,
    37473694       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    37483695      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3749       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3750       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3696      24,    25,    26,    27,    67,    -1,    30,    31,    32,    -1,
     3697      -1,    74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,
    37513698     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3700      -1,    -1,    -1,    67,    -1,    69,   109,    71,   111,    -1,
     3701      74,    75,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,
     3702      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3703      -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3704      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3705      -1,    -1,    -1,   117,   118,     4,     5,     6,     7,     8,
     3706       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3707      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3708      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3709      39,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3710      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3711      26,    27,    -1,    -1,    30,    31,    32,    -1,    67,    -1,
     3712      69,    -1,    71,    39,    40,    74,    75,    -1,    -1,    -1,
     3713      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3714      -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
     3715      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     3716      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3717       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3718      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3719      24,    25,    26,    27,    -1,   111,    30,    31,    32,   115,
     3720      -1,   117,   118,    -1,    -1,    39,    -1,    -1,    -1,    -1,
     3721      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37523722      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37533723      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     
    37663736      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37673737      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3768       -1,    69,    -1,    71,    -1,    -1,    74,    75,    10,    11,
    3769       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3770       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3771       32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
    3772       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3738      -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,     4,
     3739       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3740      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3741      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3742      -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,   117,
    37733743     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3774       -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,    -1,
    3775       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3776       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    37773744      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3778       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3779       -1,    -1,   114,    -1,    -1,   117,   118,   119,   120,   121,
    3780      122,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3745      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     3746      75,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37813747      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    37823748      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
    3783       39,    40,    10,    11,    12,    13,    14,    15,    16,    17,
    3784       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3785       -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,
    3786       -1,    39,    40,    72,    -1,    74,    75,    76,    -1,    -1,
     3749      39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3750      -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
     3751      -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,
     3752      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
    37873753      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3789       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
    3790      109,   110,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3754      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3755      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3756     109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,
    37913757     119,   120,   121,   122,    10,    11,    12,    13,    14,    15,
    37923758      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3793       26,    27,    -1,   111,    30,    31,    32,   115,    -1,   117,
    3794      118,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3759      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3760      -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    37953761      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    37963762      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     
    37983764      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    37993765      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3800       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3801       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3766      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3767      75,    76,    -1,   109,   110,   111,    -1,    -1,    83,    84,
    38023768      -1,   117,   118,   119,   120,   121,   122,    10,    11,    12,
    38033769      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     
    38103776      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    38113777      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3812       -1,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
    3813       -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3778      72,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
     3779      -1,    83,    84,    -1,   117,   118,   119,   120,   121,   122,
    38143780      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    38153781      20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
     
    38183784      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    38193785      -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
    3820       39,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3786      39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    38213787      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    38223788      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     
    38253791     120,   121,   122,    10,    11,    12,    13,    14,    15,    16,
    38263792      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3827       27,    -1,   111,    30,    31,    32,    -1,    -1,   117,   118,
    3828       37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3829       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3830       19,    20,    21,    22,    23,    24,    25,    26,    27,    66,
    3831       67,    30,    31,    32,    -1,    72,    -1,    74,    75,    76,
    3832       39,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3793      27,    -1,   111,    30,    31,    32,   115,    -1,   117,   118,
     3794      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3795      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3796      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
     3797      67,    -1,    -1,    39,    40,    72,    -1,    74,    75,    76,
     3798      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    38333799      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3835       -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,    -1,
    3836      117,   118,   119,   120,   121,   122,     3,     4,     5,     6,
    3837        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3800      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     3801      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3802     117,   118,   119,   120,   121,   122,    10,    11,    12,    13,
     3803      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3804      24,    25,    26,    27,    -1,   111,    30,    31,    32,   115,
     3805      -1,   117,   118,    37,    38,    39,    40,    -1,    -1,    -1,
     3806      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3807      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3808      26,    27,    66,    67,    30,    31,    32,    -1,    72,    -1,
     3809      74,    75,    76,    39,    -1,    79,    80,    81,    82,    83,
     3810      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3811      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3812      -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,
     3813      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,     3,
     3814       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3815      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3816      24,    25,    26,    27,    -1,   111,    30,    31,    32,    -1,
     3817      -1,   117,   118,    -1,    -1,    39,    -1,    -1,    -1,    10,
     3818      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3819      21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
     3820      31,    32,    -1,    67,    -1,    69,    -1,    71,    39,    -1,
     3821      74,    75,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
     3822      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3823      23,    24,    25,    26,    27,    -1,    67,    30,    31,    32,
     3824      -1,    72,    -1,    74,    75,    76,    39,    78,    -1,    -1,
     3825     114,    -1,    83,    84,    -1,    10,    11,    12,    13,    14,
     3826      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3827      25,    26,    27,    28,    67,    30,    31,    32,    -1,    72,
     3828     111,    74,    75,    76,    39,    -1,   117,   118,    -1,    -1,
     3829      83,    84,    -1,    10,    11,    12,    13,    14,    15,    16,
    38383830      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3839       27,    -1,   111,    30,    31,    32,    -1,    -1,   117,   118,
    3840       -1,    -1,    39,    -1,    -1,    -1,    10,    11,    12,    13,
     3831      27,    -1,    67,    30,    31,    32,   109,    -1,   111,    74,
     3832      75,    -1,    39,    78,   117,   118,    10,    11,    12,    13,
    38413833      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    38423834      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3843       67,    -1,    69,    -1,    71,    39,    -1,    74,    75,    -1,
    3844       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3835      67,    -1,    -1,    -1,    -1,    39,   111,    74,    75,    -1,
     3836      -1,    -1,   117,   118,    10,    11,    12,    13,    14,    15,
    38453837      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3846       26,    27,    -1,    67,    30,    31,    32,    -1,    72,    -1,
    3847       74,    75,    76,    39,    -1,    -1,    -1,   114,    -1,    83,
    3848       84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3838      26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
     3839      74,    75,    -1,    39,   111,    -1,    -1,    -1,    -1,    -1,
     3840     117,   118,    10,    11,    12,    13,    14,    15,    16,    17,
    38493841      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3850       -1,    67,    30,    31,    32,   109,    72,   111,    74,    75,
    3851       76,    39,    -1,   117,   118,    -1,    -1,    83,    84,    -1,
    3852       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3853       20,    21,    22,    23,    24,    25,    26,    27,    28,    67,
    3854       30,    31,    32,   109,    72,   111,    74,    75,    76,    39,
    3855       -1,   117,   118,    -1,    -1,    83,    84,    -1,    10,    11,
    3856       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3857       22,    23,    24,    25,    26,    27,    28,    67,    30,    31,
    3858       32,   109,    -1,   111,    74,    75,    -1,    39,    78,   117,
     3842      -1,    67,    30,    31,    32,    -1,    -1,   111,    74,    75,
     3843      -1,    39,    -1,   117,   118,    10,    11,    12,    13,    14,
     3844      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3845      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    67,
     3846      -1,    -1,    -1,    -1,    39,   111,    74,    75,    -1,    -1,
     3847      -1,   117,   118,    10,    11,    12,    13,    14,    15,    16,
     3848      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3849      27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3850      75,    -1,    39,   111,    -1,    -1,    -1,    -1,    -1,   117,
    38593851     118,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    38603852      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3861       -1,    30,    31,    32,    -1,    67,    -1,    -1,    -1,   109,
    3862       39,   111,    74,    75,    -1,    -1,    78,   117,   118,    -1,
     3853      67,    30,    31,    32,    -1,    -1,   111,    74,    75,    -1,
     3854      39,    -1,   117,   118,     4,     5,     6,     7,     8,     9,
     3855      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3856      20,    21,    22,    23,    24,    25,    26,    27,    67,    -1,
     3857      30,    31,    32,    -1,   111,    74,    75,    -1,    -1,    39,
     3858     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38633859      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3865       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   111,
    3866       -1,    -1,    -1,    -1,    -1,   117,   118,     4,     5,     6,
    3867        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3868       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3869       27,    -1,   111,    30,    31,    32,    -1,    -1,   117,   118,
    3870       -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,    -1,
    3871       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
    3872       53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
    3873       67,    64,    69,    66,    71,    -1,    -1,    74,    75,    72,
    3874       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3875       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3860      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3861      -1,    71,    -1,    -1,    74,    75,    -1,    -1,   117,   118,
     3862      37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,
     3863      47,    48,    49,    50,    51,    52,    53,    -1,    -1,    56,
     3864      57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,
     3865     110,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     3866      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3867      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38763868      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3877       -1,    -1,    -1,   110,    -1,    -1,   109,    -1,   111,    -1,
    3878       -1,   114,    -1,    -1,   117,   118,   119,   120,   121,   122,
    3879       -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
    3880        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3881       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3882       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3883       -1,    -1,    -1,    -1,    -1,    39,    -1,    37,    38,    -1,
    3884       40,    41,    -1,    43,    44,    45,    46,    47,    48,    49,
    3885       50,    51,    52,    53,    -1,    -1,    56,    57,    -1,    -1,
    3886       -1,    61,    62,    67,    64,    69,    66,    71,    -1,    -1,
    3887       74,    75,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3888       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3889       -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3891       -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,   119,
    3892      120,   121,   122,    -1,    -1,    37,    38,   127,    40,    41,
    3893       -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    3894       52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,
    3895       62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,
    3896       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    3897       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3869      -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,
     3870     117,   118,   119,   120,   121,   122,    -1,    -1,    37,    38,
     3871     127,    40,    41,    -1,    43,   132,    -1,    46,    47,    48,
     3872      49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
     3873      -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
     3874      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     3875      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    38983876      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3899       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3900       -1,    -1,   114,    -1,    -1,   117,   118,   119,   120,   121,
    3901      122,    -1,    -1,    37,    38,   127,    40,    41,    -1,    43,
    3902       -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    3903       -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,
    3904       64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    3905       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3906       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3907       37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3908       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3909      114,    -1,    -1,   117,   118,   119,   120,   121,   122,    66,
    3910       -1,    -1,    -1,   127,    -1,    72,    -1,    -1,    -1,    76,
    3911       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3912       87,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
    3913       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3914       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,
    3915      117,   118,   119,   120,   121,   122,    66,    -1,    -1,    -1,
     3877      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3878     109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,
     3879     119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,    -1,
     3880      -1,    -1,    -1,   132,     4,     5,     6,     7,     8,     9,
     3881      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3882      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3883      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3884      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
     3885      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
     3886      56,    57,    -1,    -1,    -1,    61,    62,    67,    64,    69,
     3887      66,    71,    -1,    -1,    74,    75,    72,    -1,    -1,    -1,
     3888      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3889      86,    87,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,
     3890      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3891      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
     3892      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    37,
     3893      38,   127,    40,    41,    -1,    43,    44,    45,    46,    47,
     3894      48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
     3895      -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
     3896      -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     3897      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3898      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3899      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3900      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,
     3901     118,   119,   120,   121,   122,    -1,    -1,    37,    38,   127,
     3902      40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
     3903      50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
     3904      -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
    39163905      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    39173906      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     
    39193908      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    39203909      -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,   119,
    3921      120,   121,   122,    66,    -1,    -1,    -1,    -1,    -1,    72,
     3910     120,   121,   122,    66,    -1,    -1,    -1,   127,    -1,    72,
    39223911      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    39233912      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    39243913      -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
    39253914      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3926       37,    38,    -1,    40,   117,   118,   119,   120,   121,   122,
     3915      -1,   114,    -1,    -1,   117,   118,   119,   120,   121,   122,
    39273916      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    3928       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    66,
    3929       86,    87,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3930       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3931       87,    -1,    -1,   109,    -1,   111,    -1,    37,    38,    -1,
    3932       40,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
    3933       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3934      117,   118,   119,   120,   121,   122,    66,    -1,    -1,    -1,
     3917      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3918      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
     3919      -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3920      -1,    -1,    -1,   109,    -1,   111,    -1,    37,    38,    -1,
     3921      40,   117,   118,   119,   120,   121,   122,    66,    -1,    -1,
     3922      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     3923      79,    80,    81,    82,    83,    84,    66,    86,    87,    -1,
    39353924      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    39363925      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3938       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3939       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,
    3940      120,   121,   122,     4,     5,     6,     7,     8,     9,    10,
    3941       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3942       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    -1,
    3943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
    3944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3946       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    3947       71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
    3948       -1,    -1,    83,    84,     3,     4,     5,     6,     7,     8,
     3926     109,    -1,   111,    -1,    37,    38,    -1,    40,   117,   118,
     3927     119,   120,   121,   122,    -1,    -1,    -1,    -1,    -1,   109,
     3928      -1,   111,    -1,    37,    38,    -1,    40,   117,   118,   119,
     3929     120,   121,   122,    66,    -1,    -1,    -1,    -1,    -1,    72,
     3930      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     3931      83,    84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,
     3932      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3933      84,    -1,    86,    87,    -1,    -1,   109,    -1,    -1,    -1,
     3934      37,    38,    -1,    40,   117,   118,   119,   120,   121,   122,
     3935      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    37,
     3936      38,    -1,    40,   117,   118,   119,   120,   121,   122,    66,
     3937      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     3938      -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
     3939      87,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     3940      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3941      -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3942     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
     3943      -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
     3944     118,   119,   120,   121,   122,     4,     5,     6,     7,     8,
    39493945       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    39503946      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3951       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3947      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39523948      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39533949      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39543950      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3955       69,    -1,    71,    -1,    -1,    74,    75,     3,     4,     5,
    3956        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3957       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3958       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3959       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3951      69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3952      -1,    -1,    -1,    -1,    83,    84,     3,     4,     5,     6,
     3953       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3954      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3955      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3956      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39603957      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39613958      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3962       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     3959      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     3,
    39633960       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    39643961      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     
    39683965      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39693966      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3970       74,    75
     3967      74,    75,     4,     5,     6,     7,     8,     9,    10,    11,
     3968      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3969      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3970      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3971      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3972      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3973      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3974      -1,    -1,    74,    75
    39713975};
    39723976
     
    40294033     174,   226,   275,   366,   370,   112,   134,    82,    85,    86,
    40304034      87,   109,   111,   113,   114,    97,    98,    99,   100,   101,
    4031      102,   103,   104,   105,   106,   131,   167,   152,   152,   117,
    4032      123,   124,   119,   120,    88,    89,    90,    91,   125,   126,
    4033       92,    93,   118,   127,   128,    94,    95,   129,   131,   373,
    4034      109,   150,   345,   346,   347,   348,   349,   110,   116,   109,
    4035      349,   350,   109,   349,   350,   134,   109,   226,   368,   112,
    4036      134,   135,   111,   226,   228,   361,   362,   370,   371,   135,
    4037      109,   111,   150,   319,   336,   337,   338,   339,   340,   341,
    4038      342,   343,   344,   350,   351,   352,   353,   354,   355,   356,
    4039      150,   370,   228,   135,   135,   150,   226,   228,   363,   272,
    4040      226,   350,   363,   272,   109,   134,   134,   134,   112,   134,
    4041       72,   111,   113,   140,   274,   278,   279,   280,   281,   282,
    4042      134,   134,   134,   134,   134,   134,   309,   110,   110,   110,
    4043      110,   110,   110,   110,   318,   331,   109,   277,   112,   208,
    4044      134,   309,   170,   276,   170,   276,   309,   111,   208,   311,
    4045      174,   134,   208,   110,    40,   111,   115,   226,   249,   250,
    4046      251,   366,   114,   116,   372,   131,   259,   114,   228,   264,
    4047      265,   266,   269,   270,   110,   116,   174,   134,   117,   165,
    4048      134,   225,   228,   263,   362,   370,   303,   304,   109,   150,
    4049      336,   110,   116,   373,   274,   286,   109,   114,   274,   276,
    4050      286,   110,   116,   109,   141,   110,   130,   275,   275,   275,
    4051      146,   165,   276,   275,   112,   134,   110,   116,   110,   109,
    4052      150,   349,   357,   358,   359,   360,   110,   116,   165,   111,
    4053      139,   145,   146,   134,   111,   139,   145,   165,   152,   152,
    4054      152,   153,   153,   154,   154,   155,   155,   155,   155,   156,
    4055      156,   157,   158,   159,   160,   161,   130,   170,   165,   134,
    4056      346,   347,   348,   228,   345,   312,   312,   165,   276,   134,
    4057      271,   134,   226,   350,   363,   228,   232,   112,   112,   134,
    4058      370,   112,   109,   134,   319,   337,   338,   339,   342,   352,
    4059      353,   354,   112,   134,   228,   336,   340,   351,   109,   312,
    4060      355,   373,   312,   312,   373,   109,   312,   355,   312,   312,
    4061      312,   312,   350,   226,   361,   371,   272,   112,   116,   112,
    4062      116,   373,   226,   363,   373,   260,   261,   262,   263,   260,
    4063      260,   272,   165,   134,   111,   274,   130,   116,   372,   278,
    4064      111,   130,   282,    29,   210,   211,   272,   260,   139,   309,
    4065      139,   311,   109,   349,   350,   109,   349,   350,   142,   350,
    4066      174,   264,   110,   110,   110,   110,   112,   174,   208,   174,
    4067      114,   250,   251,   112,   134,   109,   130,   150,   252,   254,
    4068      318,   319,   331,   357,   116,   132,   116,   132,   274,   248,
    4069      274,   115,   163,   164,   258,   135,   135,   139,   223,   135,
    4070      135,   260,   109,   150,   370,   135,   115,   228,   287,   288,
    4071      135,   134,   134,   109,   135,   110,   316,   170,   171,   130,
    4072      132,   111,   141,   201,   202,   203,   110,   116,   110,   110,
    4073      110,   110,   111,   165,   358,   359,   360,   228,   357,   312,
    4074      312,   114,   152,   168,   165,   166,   169,   116,   135,   134,
    4075      110,   116,   165,   134,   115,   163,   130,   264,   110,   110,
    4076      110,   345,   264,   110,   260,   226,   363,   111,   117,   150,
    4077      165,   165,   228,   342,   264,   110,   110,   110,   110,   110,
    4078      110,   110,     7,   228,   336,   340,   351,   134,   134,   373,
    4079      134,   134,   110,   135,   135,   135,   135,   277,   135,   163,
    4080      164,   165,   310,   134,   278,   280,   115,   134,   212,   274,
    4081       40,    41,    43,    46,    47,    48,    49,    50,    51,    52,
    4082       53,    57,    61,    62,    72,   111,   127,   171,   172,   173,
    4083      174,   175,   176,   178,   179,   191,   193,   194,   199,   213,
    4084      308,    29,   135,   131,   277,   134,   134,   110,   135,   174,
    4085      248,   132,   132,   319,   164,   228,   253,   254,   253,   274,
    4086      312,   115,   259,   372,   110,   116,   112,   112,   135,   228,
    4087      116,   373,   290,   110,   286,   216,   218,   226,   298,   299,
    4088      300,   301,   292,   110,   110,   130,   164,   109,   110,   130,
    4089      116,   139,   112,   110,   110,   110,   357,   279,   116,   135,
    4090      169,   112,   139,   147,   148,   146,   135,   147,   163,   168,
    4091      135,   109,   349,   350,   135,   135,   134,   135,   135,   135,
    4092      165,   110,   135,   109,   349,   350,   109,   355,   109,   355,
    4093      350,   227,     7,   117,   135,   165,   264,   264,   263,   267,
    4094      267,   268,   116,   116,   110,   110,   112,    96,   122,   135,
    4095      135,   147,   278,   165,   116,   132,   213,   217,   228,   232,
    4096      109,   109,   172,   109,   109,    72,   132,    72,   132,    72,
    4097      117,   171,   109,   174,   166,   166,   130,   112,   144,   132,
    4098      135,   134,   135,   212,   110,   165,   264,   264,   312,   110,
    4099      115,   252,   115,   134,   110,   134,   135,   309,   115,   134,
    4100      135,   135,   110,   114,   201,   112,   164,   132,   201,   203,
    4101      110,   109,   349,   350,   372,   166,   112,   135,    85,   113,
    4102      116,   135,   112,   135,   110,   134,   110,   110,   112,   112,
    4103      112,   135,   110,   134,   134,   134,   165,   165,   135,   112,
    4104      135,   135,   135,   135,   134,   134,   164,   164,   112,   112,
    4105      135,   135,   274,   228,   170,   170,    47,   170,   134,   132,
    4106      132,   132,   170,   132,   170,    58,    59,    60,   195,   196,
    4107      197,   132,    63,   132,   312,   114,   176,   115,   132,   135,
    4108      135,    96,   269,   270,   110,   299,   116,   132,   116,   132,
    4109      115,   297,   130,   141,   110,   110,   130,   134,   115,   112,
    4110      111,   148,   111,   148,   148,   112,   112,   264,   112,   264,
    4111      264,   264,   135,   135,   112,   112,   110,   110,   112,   116,
    4112       96,   263,    96,   135,   112,   112,   110,   110,   109,   110,
    4113      171,   192,   213,   132,   110,   109,   109,   174,   197,    58,
    4114       59,   165,   172,   145,   110,   110,   114,   134,   134,   298,
    4115      141,   204,   109,   132,   204,   264,   134,   134,   135,   135,
    4116      135,   135,   112,   112,   134,   135,   112,   172,    44,    45,
    4117      114,   182,   183,   184,   170,   172,   135,   110,   171,   114,
    4118      184,    96,   134,    96,   134,   109,   109,   132,   115,   134,
    4119      272,   309,   115,   116,   130,   164,   110,   135,   147,   147,
    4120      110,   110,   110,   110,   267,    42,   164,   180,   181,   310,
    4121      130,   134,   172,   182,   110,   132,   172,   132,   134,   110,
    4122      134,   110,   134,    96,   134,    96,   134,   132,   298,   141,
    4123      139,   205,   110,   132,   110,   135,   135,   172,    96,   116,
    4124      130,   135,   206,   207,   213,   132,   171,   171,   206,   174,
    4125      198,   226,   366,   174,   198,   110,   134,   110,   134,   115,
    4126      110,   116,   112,   112,   164,   180,   183,   185,   186,   134,
    4127      132,   183,   187,   188,   135,   109,   150,   309,   357,   139,
    4128      135,   174,   198,   174,   198,   109,   132,   139,   172,   177,
    4129      115,   183,   213,   171,    56,   177,   190,   115,   183,   110,
    4130      228,   110,   135,   135,   292,   172,   177,   132,   189,   190,
    4131      177,   190,   174,   174,   110,   110,   110,   189,   135,   135,
    4132      174,   174,   135,   135
     4035     102,   103,   104,   105,   106,   107,   131,   167,   152,   152,
     4036     117,   123,   124,   119,   120,    88,    89,    90,    91,   125,
     4037     126,    92,    93,   118,   127,   128,    94,    95,   129,   131,
     4038     373,   109,   150,   345,   346,   347,   348,   349,   110,   116,
     4039     109,   349,   350,   109,   349,   350,   134,   109,   226,   368,
     4040     112,   134,   135,   111,   226,   228,   361,   362,   370,   371,
     4041     135,   109,   111,   150,   319,   336,   337,   338,   339,   340,
     4042     341,   342,   343,   344,   350,   351,   352,   353,   354,   355,
     4043     356,   150,   370,   228,   135,   135,   150,   226,   228,   363,
     4044     272,   226,   350,   363,   272,   109,   134,   134,   134,   112,
     4045     134,    72,   111,   113,   140,   274,   278,   279,   280,   281,
     4046     282,   134,   134,   134,   134,   134,   134,   309,   110,   110,
     4047     110,   110,   110,   110,   110,   318,   331,   109,   277,   112,
     4048     208,   134,   309,   170,   276,   170,   276,   309,   111,   208,
     4049     311,   174,   134,   208,   110,    40,   111,   115,   226,   249,
     4050     250,   251,   366,   114,   116,   372,   131,   259,   114,   228,
     4051     264,   265,   266,   269,   270,   110,   116,   174,   134,   117,
     4052     165,   134,   225,   228,   263,   362,   370,   303,   304,   109,
     4053     150,   336,   110,   116,   373,   274,   286,   109,   114,   274,
     4054     276,   286,   110,   116,   109,   141,   110,   130,   275,   275,
     4055     275,   146,   165,   276,   275,   112,   134,   110,   116,   110,
     4056     109,   150,   349,   357,   358,   359,   360,   110,   116,   165,
     4057     111,   139,   145,   146,   134,   111,   139,   145,   165,   152,
     4058     152,   152,   153,   153,   154,   154,   155,   155,   155,   155,
     4059     156,   156,   157,   158,   159,   160,   161,   130,   170,   165,
     4060     134,   346,   347,   348,   228,   345,   312,   312,   165,   276,
     4061     134,   271,   134,   226,   350,   363,   228,   232,   112,   112,
     4062     134,   370,   112,   109,   134,   319,   337,   338,   339,   342,
     4063     352,   353,   354,   112,   134,   228,   336,   340,   351,   109,
     4064     312,   355,   373,   312,   312,   373,   109,   312,   355,   312,
     4065     312,   312,   312,   350,   226,   361,   371,   272,   112,   116,
     4066     112,   116,   373,   226,   363,   373,   260,   261,   262,   263,
     4067     260,   260,   272,   165,   134,   111,   274,   130,   116,   372,
     4068     278,   111,   130,   282,    29,   210,   211,   272,   260,   139,
     4069     309,   139,   311,   109,   349,   350,   109,   349,   350,   142,
     4070     350,   174,   264,   110,   110,   110,   110,   112,   174,   208,
     4071     174,   114,   250,   251,   112,   134,   109,   130,   150,   252,
     4072     254,   318,   319,   331,   357,   116,   132,   116,   132,   274,
     4073     248,   274,   115,   163,   164,   258,   135,   135,   139,   223,
     4074     135,   135,   260,   109,   150,   370,   135,   115,   228,   287,
     4075     288,   135,   134,   134,   109,   135,   110,   316,   170,   171,
     4076     130,   132,   111,   141,   201,   202,   203,   110,   116,   110,
     4077     110,   110,   110,   111,   165,   358,   359,   360,   228,   357,
     4078     312,   312,   114,   152,   168,   165,   166,   169,   116,   135,
     4079     134,   110,   116,   165,   134,   115,   163,   130,   264,   110,
     4080     110,   110,   345,   264,   110,   260,   226,   363,   111,   117,
     4081     150,   165,   165,   228,   342,   264,   110,   110,   110,   110,
     4082     110,   110,   110,     7,   228,   336,   340,   351,   134,   134,
     4083     373,   134,   134,   110,   135,   135,   135,   135,   277,   135,
     4084     163,   164,   165,   310,   134,   278,   280,   115,   134,   212,
     4085     274,    40,    41,    43,    46,    47,    48,    49,    50,    51,
     4086      52,    53,    57,    61,    62,    72,   111,   127,   171,   172,
     4087     173,   174,   175,   176,   178,   179,   191,   193,   194,   199,
     4088     213,   308,    29,   135,   131,   277,   134,   134,   110,   135,
     4089     174,   248,   132,   132,   319,   164,   228,   253,   254,   253,
     4090     274,   312,   115,   259,   372,   110,   116,   112,   112,   135,
     4091     228,   116,   373,   290,   110,   286,   216,   218,   226,   298,
     4092     299,   300,   301,   292,   110,   110,   130,   164,   109,   110,
     4093     130,   116,   139,   112,   110,   110,   110,   357,   279,   116,
     4094     135,   169,   112,   139,   147,   148,   146,   135,   147,   163,
     4095     168,   135,   109,   349,   350,   135,   135,   134,   135,   135,
     4096     135,   165,   110,   135,   109,   349,   350,   109,   355,   109,
     4097     355,   350,   227,     7,   117,   135,   165,   264,   264,   263,
     4098     267,   267,   268,   116,   116,   110,   110,   112,    96,   122,
     4099     135,   135,   147,   278,   165,   116,   132,   213,   217,   228,
     4100     232,   109,   109,   172,   109,   109,    72,   132,    72,   132,
     4101      72,   117,   171,   109,   174,   166,   166,   130,   112,   144,
     4102     132,   135,   134,   135,   212,   110,   165,   264,   264,   312,
     4103     110,   115,   252,   115,   134,   110,   134,   135,   309,   115,
     4104     134,   135,   135,   110,   114,   201,   112,   164,   132,   201,
     4105     203,   110,   109,   349,   350,   372,   166,   112,   135,    85,
     4106     113,   116,   135,   112,   135,   110,   134,   110,   110,   112,
     4107     112,   112,   135,   110,   134,   134,   134,   165,   165,   135,
     4108     112,   135,   135,   135,   135,   134,   134,   164,   164,   112,
     4109     112,   135,   135,   274,   228,   170,   170,    47,   170,   134,
     4110     132,   132,   132,   170,   132,   170,    58,    59,    60,   195,
     4111     196,   197,   132,    63,   132,   312,   114,   176,   115,   132,
     4112     135,   135,    96,   269,   270,   110,   299,   116,   132,   116,
     4113     132,   115,   297,   130,   141,   110,   110,   130,   134,   115,
     4114     112,   111,   148,   111,   148,   148,   112,   112,   264,   112,
     4115     264,   264,   264,   135,   135,   112,   112,   110,   110,   112,
     4116     116,    96,   263,    96,   135,   112,   112,   110,   110,   109,
     4117     110,   171,   192,   213,   132,   110,   109,   109,   174,   197,
     4118      58,    59,   165,   172,   145,   110,   110,   114,   134,   134,
     4119     298,   141,   204,   109,   132,   204,   264,   134,   134,   135,
     4120     135,   135,   135,   112,   112,   134,   135,   112,   172,    44,
     4121      45,   114,   182,   183,   184,   170,   172,   135,   110,   171,
     4122     114,   184,    96,   134,    96,   134,   109,   109,   132,   115,
     4123     134,   272,   309,   115,   116,   130,   164,   110,   135,   147,
     4124     147,   110,   110,   110,   110,   267,    42,   164,   180,   181,
     4125     310,   130,   134,   172,   182,   110,   132,   172,   132,   134,
     4126     110,   134,   110,   134,    96,   134,    96,   134,   132,   298,
     4127     141,   139,   205,   110,   132,   110,   135,   135,   172,    96,
     4128     116,   130,   135,   206,   207,   213,   132,   171,   171,   206,
     4129     174,   198,   226,   366,   174,   198,   110,   134,   110,   134,
     4130     115,   110,   116,   112,   112,   164,   180,   183,   185,   186,
     4131     134,   132,   183,   187,   188,   135,   109,   150,   309,   357,
     4132     139,   135,   174,   198,   174,   198,   109,   132,   139,   172,
     4133     177,   115,   183,   213,   171,    56,   177,   190,   115,   183,
     4134     110,   228,   110,   135,   135,   292,   172,   177,   132,   189,
     4135     190,   177,   190,   174,   174,   110,   110,   110,   189,   135,
     4136     135,   174,   174,   135,   135
    41334137};
    41344138
     
    55195523/* Line 1806 of yacc.c  */
    55205524#line 610 "parser.yy"
     5525    { (yyval.op) = OperKinds::AtAssn; }
     5526    break;
     5527
     5528  case 110:
     5529
     5530/* Line 1806 of yacc.c  */
     5531#line 611 "parser.yy"
    55215532    { (yyval.op) = OperKinds::MulAssn; }
    55225533    break;
    55235534
    5524   case 110:
    5525 
    5526 /* Line 1806 of yacc.c  */
    5527 #line 611 "parser.yy"
     5535  case 111:
     5536
     5537/* Line 1806 of yacc.c  */
     5538#line 612 "parser.yy"
    55285539    { (yyval.op) = OperKinds::DivAssn; }
    55295540    break;
    55305541
    5531   case 111:
    5532 
    5533 /* Line 1806 of yacc.c  */
    5534 #line 612 "parser.yy"
     5542  case 112:
     5543
     5544/* Line 1806 of yacc.c  */
     5545#line 613 "parser.yy"
    55355546    { (yyval.op) = OperKinds::ModAssn; }
    55365547    break;
    55375548
    5538   case 112:
    5539 
    5540 /* Line 1806 of yacc.c  */
    5541 #line 613 "parser.yy"
     5549  case 113:
     5550
     5551/* Line 1806 of yacc.c  */
     5552#line 614 "parser.yy"
    55425553    { (yyval.op) = OperKinds::PlusAssn; }
    55435554    break;
    55445555
    5545   case 113:
    5546 
    5547 /* Line 1806 of yacc.c  */
    5548 #line 614 "parser.yy"
     5556  case 114:
     5557
     5558/* Line 1806 of yacc.c  */
     5559#line 615 "parser.yy"
    55495560    { (yyval.op) = OperKinds::MinusAssn; }
    55505561    break;
    55515562
    5552   case 114:
    5553 
    5554 /* Line 1806 of yacc.c  */
    5555 #line 615 "parser.yy"
     5563  case 115:
     5564
     5565/* Line 1806 of yacc.c  */
     5566#line 616 "parser.yy"
    55565567    { (yyval.op) = OperKinds::LSAssn; }
    55575568    break;
    55585569
    5559   case 115:
    5560 
    5561 /* Line 1806 of yacc.c  */
    5562 #line 616 "parser.yy"
     5570  case 116:
     5571
     5572/* Line 1806 of yacc.c  */
     5573#line 617 "parser.yy"
    55635574    { (yyval.op) = OperKinds::RSAssn; }
    55645575    break;
    55655576
    5566   case 116:
    5567 
    5568 /* Line 1806 of yacc.c  */
    5569 #line 617 "parser.yy"
     5577  case 117:
     5578
     5579/* Line 1806 of yacc.c  */
     5580#line 618 "parser.yy"
    55705581    { (yyval.op) = OperKinds::AndAssn; }
    55715582    break;
    55725583
    5573   case 117:
    5574 
    5575 /* Line 1806 of yacc.c  */
    5576 #line 618 "parser.yy"
     5584  case 118:
     5585
     5586/* Line 1806 of yacc.c  */
     5587#line 619 "parser.yy"
    55775588    { (yyval.op) = OperKinds::ERAssn; }
    55785589    break;
    55795590
    5580   case 118:
    5581 
    5582 /* Line 1806 of yacc.c  */
    5583 #line 619 "parser.yy"
     5591  case 119:
     5592
     5593/* Line 1806 of yacc.c  */
     5594#line 620 "parser.yy"
    55845595    { (yyval.op) = OperKinds::OrAssn; }
    55855596    break;
    55865597
    5587   case 119:
    5588 
    5589 /* Line 1806 of yacc.c  */
    5590 #line 626 "parser.yy"
     5598  case 120:
     5599
     5600/* Line 1806 of yacc.c  */
     5601#line 627 "parser.yy"
    55915602    { (yyval.en) = new ExpressionNode( build_tuple() ); }
    55925603    break;
    55935604
    5594   case 120:
    5595 
    5596 /* Line 1806 of yacc.c  */
    5597 #line 628 "parser.yy"
     5605  case 121:
     5606
     5607/* Line 1806 of yacc.c  */
     5608#line 629 "parser.yy"
    55985609    { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); }
    55995610    break;
    56005611
    5601   case 121:
    5602 
    5603 /* Line 1806 of yacc.c  */
    5604 #line 630 "parser.yy"
     5612  case 122:
     5613
     5614/* Line 1806 of yacc.c  */
     5615#line 631 "parser.yy"
    56055616    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); }
    56065617    break;
    56075618
    5608   case 122:
    5609 
    5610 /* Line 1806 of yacc.c  */
    5611 #line 632 "parser.yy"
     5619  case 123:
     5620
     5621/* Line 1806 of yacc.c  */
     5622#line 633 "parser.yy"
    56125623    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); }
    56135624    break;
    56145625
    5615   case 124:
    5616 
    5617 /* Line 1806 of yacc.c  */
    5618 #line 638 "parser.yy"
     5626  case 125:
     5627
     5628/* Line 1806 of yacc.c  */
     5629#line 639 "parser.yy"
    56195630    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    56205631    break;
    56215632
    5622   case 126:
    5623 
    5624 /* Line 1806 of yacc.c  */
    5625 #line 644 "parser.yy"
     5633  case 127:
     5634
     5635/* Line 1806 of yacc.c  */
     5636#line 645 "parser.yy"
    56265637    { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    56275638    break;
    56285639
    5629   case 127:
    5630 
    5631 /* Line 1806 of yacc.c  */
    5632 #line 649 "parser.yy"
     5640  case 128:
     5641
     5642/* Line 1806 of yacc.c  */
     5643#line 650 "parser.yy"
    56335644    { (yyval.en) = 0; }
    56345645    break;
    56355646
    5636   case 131:
    5637 
    5638 /* Line 1806 of yacc.c  */
    5639 #line 658 "parser.yy"
     5647  case 132:
     5648
     5649/* Line 1806 of yacc.c  */
     5650#line 659 "parser.yy"
    56405651    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56415652    break;
    56425653
    5643   case 137:
    5644 
    5645 /* Line 1806 of yacc.c  */
    5646 #line 665 "parser.yy"
     5654  case 138:
     5655
     5656/* Line 1806 of yacc.c  */
     5657#line 666 "parser.yy"
    56475658    {
    56485659                        Token fn;
     
    56525663    break;
    56535664
    5654   case 138:
    5655 
    5656 /* Line 1806 of yacc.c  */
    5657 #line 675 "parser.yy"
     5665  case 139:
     5666
     5667/* Line 1806 of yacc.c  */
     5668#line 676 "parser.yy"
    56585669    {
    56595670                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    56615672    break;
    56625673
    5663   case 139:
    5664 
    5665 /* Line 1806 of yacc.c  */
    5666 #line 682 "parser.yy"
     5674  case 140:
     5675
     5676/* Line 1806 of yacc.c  */
     5677#line 683 "parser.yy"
    56675678    { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); }
    56685679    break;
    56695680
    5670   case 140:
    5671 
    5672 /* Line 1806 of yacc.c  */
    5673 #line 689 "parser.yy"
     5681  case 141:
     5682
     5683/* Line 1806 of yacc.c  */
     5684#line 690 "parser.yy"
    56745685    { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); }
    56755686    break;
    56765687
    5677   case 142:
    5678 
    5679 /* Line 1806 of yacc.c  */
    5680 #line 695 "parser.yy"
     5688  case 143:
     5689
     5690/* Line 1806 of yacc.c  */
     5691#line 696 "parser.yy"
    56815692    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    56825693    break;
    56835694
    5684   case 143:
    5685 
    5686 /* Line 1806 of yacc.c  */
    5687 #line 700 "parser.yy"
     5695  case 144:
     5696
     5697/* Line 1806 of yacc.c  */
     5698#line 701 "parser.yy"
    56885699    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    56895700    break;
    56905701
    5691   case 144:
    5692 
    5693 /* Line 1806 of yacc.c  */
    5694 #line 702 "parser.yy"
     5702  case 145:
     5703
     5704/* Line 1806 of yacc.c  */
     5705#line 703 "parser.yy"
    56955706    {   // mark all fields in list
    56965707                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    57005711    break;
    57015712
    5702   case 145:
    5703 
    5704 /* Line 1806 of yacc.c  */
    5705 #line 708 "parser.yy"
     5713  case 146:
     5714
     5715/* Line 1806 of yacc.c  */
     5716#line 709 "parser.yy"
    57065717    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57075718    break;
    57085719
    5709   case 148:
    5710 
    5711 /* Line 1806 of yacc.c  */
    5712 #line 715 "parser.yy"
     5720  case 149:
     5721
     5722/* Line 1806 of yacc.c  */
     5723#line 716 "parser.yy"
    57135724    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57145725    break;
    57155726
    5716   case 149:
    5717 
    5718 /* Line 1806 of yacc.c  */
    5719 #line 720 "parser.yy"
     5727  case 150:
     5728
     5729/* Line 1806 of yacc.c  */
     5730#line 721 "parser.yy"
    57205731    { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); }
    57215732    break;
    57225733
    5723   case 150:
    5724 
    5725 /* Line 1806 of yacc.c  */
    5726 #line 726 "parser.yy"
     5734  case 151:
     5735
     5736/* Line 1806 of yacc.c  */
     5737#line 727 "parser.yy"
    57275738    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); }
    57285739    break;
    57295740
    5730   case 151:
    5731 
    5732 /* Line 1806 of yacc.c  */
    5733 #line 728 "parser.yy"
     5741  case 152:
     5742
     5743/* Line 1806 of yacc.c  */
     5744#line 729 "parser.yy"
    57345745    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); }
    57355746    break;
    57365747
    5737   case 152:
    5738 
    5739 /* Line 1806 of yacc.c  */
    5740 #line 730 "parser.yy"
     5748  case 153:
     5749
     5750/* Line 1806 of yacc.c  */
     5751#line 731 "parser.yy"
    57415752    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57425753    break;
    57435754
    5744   case 153:
    5745 
    5746 /* Line 1806 of yacc.c  */
    5747 #line 732 "parser.yy"
     5755  case 154:
     5756
     5757/* Line 1806 of yacc.c  */
     5758#line 733 "parser.yy"
    57485759    {
    57495760                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57575768    break;
    57585769
    5759   case 154:
    5760 
    5761 /* Line 1806 of yacc.c  */
    5762 #line 742 "parser.yy"
     5770  case 155:
     5771
     5772/* Line 1806 of yacc.c  */
     5773#line 743 "parser.yy"
    57635774    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57645775    break;
    57655776
    5766   case 155:
    5767 
    5768 /* Line 1806 of yacc.c  */
    5769 #line 744 "parser.yy"
     5777  case 156:
     5778
     5779/* Line 1806 of yacc.c  */
     5780#line 745 "parser.yy"
    57705781    {
    57715782                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57745785    break;
    57755786
    5776   case 156:
    5777 
    5778 /* Line 1806 of yacc.c  */
    5779 #line 754 "parser.yy"
     5787  case 157:
     5788
     5789/* Line 1806 of yacc.c  */
     5790#line 755 "parser.yy"
    57805791    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57815792    break;
    57825793
    5783   case 157:
    5784 
    5785 /* Line 1806 of yacc.c  */
    5786 #line 756 "parser.yy"
     5794  case 158:
     5795
     5796/* Line 1806 of yacc.c  */
     5797#line 757 "parser.yy"
    57875798    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    57885799    break;
    57895800
    5790   case 159:
    5791 
    5792 /* Line 1806 of yacc.c  */
    5793 #line 761 "parser.yy"
     5801  case 160:
     5802
     5803/* Line 1806 of yacc.c  */
     5804#line 762 "parser.yy"
    57945805    { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); }
    57955806    break;
    57965807
    5797   case 160:
    5798 
    5799 /* Line 1806 of yacc.c  */
    5800 #line 763 "parser.yy"
     5808  case 161:
     5809
     5810/* Line 1806 of yacc.c  */
     5811#line 764 "parser.yy"
    58015812    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); }
    58025813    break;
    58035814
    5804   case 161:
    5805 
    5806 /* Line 1806 of yacc.c  */
    5807 #line 767 "parser.yy"
     5815  case 162:
     5816
     5817/* Line 1806 of yacc.c  */
     5818#line 768 "parser.yy"
    58085819    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    58095820    break;
    58105821
    5811   case 162:
    5812 
    5813 /* Line 1806 of yacc.c  */
    5814 #line 768 "parser.yy"
     5822  case 163:
     5823
     5824/* Line 1806 of yacc.c  */
     5825#line 769 "parser.yy"
    58155826    { (yyval.sn) = new StatementNode( build_default() ); }
    58165827    break;
    58175828
    5818   case 164:
    5819 
    5820 /* Line 1806 of yacc.c  */
    5821 #line 774 "parser.yy"
     5829  case 165:
     5830
     5831/* Line 1806 of yacc.c  */
     5832#line 775 "parser.yy"
    58225833    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); }
    58235834    break;
    58245835
    5825   case 165:
    5826 
    5827 /* Line 1806 of yacc.c  */
    5828 #line 778 "parser.yy"
     5836  case 166:
     5837
     5838/* Line 1806 of yacc.c  */
     5839#line 779 "parser.yy"
    58295840    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    58305841    break;
    58315842
    5832   case 166:
    5833 
    5834 /* Line 1806 of yacc.c  */
    5835 #line 783 "parser.yy"
     5843  case 167:
     5844
     5845/* Line 1806 of yacc.c  */
     5846#line 784 "parser.yy"
    58365847    { (yyval.sn) = 0; }
    58375848    break;
    58385849
    5839   case 168:
    5840 
    5841 /* Line 1806 of yacc.c  */
    5842 #line 789 "parser.yy"
     5850  case 169:
     5851
     5852/* Line 1806 of yacc.c  */
     5853#line 790 "parser.yy"
    58435854    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    58445855    break;
    58455856
    5846   case 169:
    5847 
    5848 /* Line 1806 of yacc.c  */
    5849 #line 791 "parser.yy"
     5857  case 170:
     5858
     5859/* Line 1806 of yacc.c  */
     5860#line 792 "parser.yy"
    58505861    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); }
    58515862    break;
    58525863
    5853   case 170:
    5854 
    5855 /* Line 1806 of yacc.c  */
    5856 #line 796 "parser.yy"
     5864  case 171:
     5865
     5866/* Line 1806 of yacc.c  */
     5867#line 797 "parser.yy"
    58575868    { (yyval.sn) = 0; }
    58585869    break;
    58595870
    5860   case 172:
    5861 
    5862 /* Line 1806 of yacc.c  */
    5863 #line 802 "parser.yy"
     5871  case 173:
     5872
     5873/* Line 1806 of yacc.c  */
     5874#line 803 "parser.yy"
    58645875    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58655876    break;
    58665877
    5867   case 173:
    5868 
    5869 /* Line 1806 of yacc.c  */
    5870 #line 804 "parser.yy"
     5878  case 174:
     5879
     5880/* Line 1806 of yacc.c  */
     5881#line 805 "parser.yy"
    58715882    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); }
    58725883    break;
    58735884
    5874   case 174:
    5875 
    5876 /* Line 1806 of yacc.c  */
    5877 #line 806 "parser.yy"
     5885  case 175:
     5886
     5887/* Line 1806 of yacc.c  */
     5888#line 807 "parser.yy"
    58785889    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58795890    break;
    58805891
    5881   case 175:
    5882 
    5883 /* Line 1806 of yacc.c  */
    5884 #line 808 "parser.yy"
     5892  case 176:
     5893
     5894/* Line 1806 of yacc.c  */
     5895#line 809 "parser.yy"
    58855896    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }
    58865897    break;
    58875898
    5888   case 176:
    5889 
    5890 /* Line 1806 of yacc.c  */
    5891 #line 813 "parser.yy"
     5899  case 177:
     5900
     5901/* Line 1806 of yacc.c  */
     5902#line 814 "parser.yy"
    58925903    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    58935904    break;
    58945905
    5895   case 178:
    5896 
    5897 /* Line 1806 of yacc.c  */
    5898 #line 819 "parser.yy"
     5906  case 179:
     5907
     5908/* Line 1806 of yacc.c  */
     5909#line 820 "parser.yy"
    58995910    { (yyval.sn) = 0; }
    59005911    break;
    59015912
    5902   case 179:
    5903 
    5904 /* Line 1806 of yacc.c  */
    5905 #line 821 "parser.yy"
     5913  case 180:
     5914
     5915/* Line 1806 of yacc.c  */
     5916#line 822 "parser.yy"
    59065917    { (yyval.sn) = 0; }
    59075918    break;
    59085919
    5909   case 180:
    5910 
    5911 /* Line 1806 of yacc.c  */
    5912 #line 826 "parser.yy"
     5920  case 181:
     5921
     5922/* Line 1806 of yacc.c  */
     5923#line 827 "parser.yy"
    59135924    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    59145925    break;
    59155926
    5916   case 181:
    5917 
    5918 /* Line 1806 of yacc.c  */
    5919 #line 828 "parser.yy"
     5927  case 182:
     5928
     5929/* Line 1806 of yacc.c  */
     5930#line 829 "parser.yy"
    59205931    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ) ); }
    59215932    break;
    59225933
    5923   case 182:
    5924 
    5925 /* Line 1806 of yacc.c  */
    5926 #line 830 "parser.yy"
     5934  case 183:
     5935
     5936/* Line 1806 of yacc.c  */
     5937#line 831 "parser.yy"
    59275938    { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); }
    59285939    break;
    59295940
    5930   case 183:
    5931 
    5932 /* Line 1806 of yacc.c  */
    5933 #line 835 "parser.yy"
     5941  case 184:
     5942
     5943/* Line 1806 of yacc.c  */
     5944#line 836 "parser.yy"
    59345945    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59355946    break;
    59365947
    5937   case 184:
    5938 
    5939 /* Line 1806 of yacc.c  */
    5940 #line 837 "parser.yy"
     5948  case 185:
     5949
     5950/* Line 1806 of yacc.c  */
     5951#line 838 "parser.yy"
    59415952    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59425953    break;
    59435954
    5944   case 185:
    5945 
    5946 /* Line 1806 of yacc.c  */
    5947 #line 842 "parser.yy"
     5955  case 186:
     5956
     5957/* Line 1806 of yacc.c  */
     5958#line 843 "parser.yy"
    59485959    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); }
    59495960    break;
    59505961
    5951   case 186:
    5952 
    5953 /* Line 1806 of yacc.c  */
    5954 #line 846 "parser.yy"
     5962  case 187:
     5963
     5964/* Line 1806 of yacc.c  */
     5965#line 847 "parser.yy"
    59555966    { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); }
    59565967    break;
    59575968
    5958   case 187:
    5959 
    5960 /* Line 1806 of yacc.c  */
    5961 #line 849 "parser.yy"
     5969  case 188:
     5970
     5971/* Line 1806 of yacc.c  */
     5972#line 850 "parser.yy"
    59625973    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); }
    59635974    break;
    59645975
    5965   case 188:
    5966 
    5967 /* Line 1806 of yacc.c  */
    5968 #line 853 "parser.yy"
     5976  case 189:
     5977
     5978/* Line 1806 of yacc.c  */
     5979#line 854 "parser.yy"
    59695980    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); }
    59705981    break;
    59715982
    5972   case 189:
    5973 
    5974 /* Line 1806 of yacc.c  */
    5975 #line 856 "parser.yy"
     5983  case 190:
     5984
     5985/* Line 1806 of yacc.c  */
     5986#line 857 "parser.yy"
    59765987    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    59775988    break;
    59785989
    5979   case 190:
    5980 
    5981 /* Line 1806 of yacc.c  */
    5982 #line 860 "parser.yy"
     5990  case 191:
     5991
     5992/* Line 1806 of yacc.c  */
     5993#line 861 "parser.yy"
    59835994    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); }
    59845995    break;
    59855996
    5986   case 191:
    5987 
    5988 /* Line 1806 of yacc.c  */
    5989 #line 862 "parser.yy"
     5997  case 192:
     5998
     5999/* Line 1806 of yacc.c  */
     6000#line 863 "parser.yy"
    59906001    { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); }
    59916002    break;
    59926003
    5993   case 192:
    5994 
    5995 /* Line 1806 of yacc.c  */
    5996 #line 864 "parser.yy"
     6004  case 193:
     6005
     6006/* Line 1806 of yacc.c  */
     6007#line 865 "parser.yy"
    59976008    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    59986009    break;
    59996010
    6000   case 193:
    6001 
    6002 /* Line 1806 of yacc.c  */
    6003 #line 866 "parser.yy"
     6011  case 194:
     6012
     6013/* Line 1806 of yacc.c  */
     6014#line 867 "parser.yy"
    60046015    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    60056016    break;
    60066017
    6007   case 194:
    6008 
    6009 /* Line 1806 of yacc.c  */
    6010 #line 868 "parser.yy"
     6018  case 195:
     6019
     6020/* Line 1806 of yacc.c  */
     6021#line 869 "parser.yy"
    60116022    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); }
    60126023    break;
    60136024
    6014   case 195:
    6015 
    6016 /* Line 1806 of yacc.c  */
    6017 #line 873 "parser.yy"
     6025  case 196:
     6026
     6027/* Line 1806 of yacc.c  */
     6028#line 874 "parser.yy"
    60186029    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); }
    60196030    break;
    60206031
    6021   case 196:
    6022 
    6023 /* Line 1806 of yacc.c  */
    6024 #line 875 "parser.yy"
     6032  case 197:
     6033
     6034/* Line 1806 of yacc.c  */
     6035#line 876 "parser.yy"
    60256036    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); }
    60266037    break;
    60276038
    6028   case 197:
    6029 
    6030 /* Line 1806 of yacc.c  */
    6031 #line 877 "parser.yy"
     6039  case 198:
     6040
     6041/* Line 1806 of yacc.c  */
     6042#line 878 "parser.yy"
    60326043    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); }
    60336044    break;
    60346045
    6035   case 199:
    6036 
    6037 /* Line 1806 of yacc.c  */
    6038 #line 884 "parser.yy"
     6046  case 200:
     6047
     6048/* Line 1806 of yacc.c  */
     6049#line 885 "parser.yy"
    60396050    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    60406051    break;
    60416052
    6042   case 200:
    6043 
    6044 /* Line 1806 of yacc.c  */
    6045 #line 886 "parser.yy"
     6053  case 201:
     6054
     6055/* Line 1806 of yacc.c  */
     6056#line 887 "parser.yy"
    60466057    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    60476058    break;
    60486059
    6049   case 201:
    6050 
    6051 /* Line 1806 of yacc.c  */
    6052 #line 888 "parser.yy"
     6060  case 202:
     6061
     6062/* Line 1806 of yacc.c  */
     6063#line 889 "parser.yy"
    60536064    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    60546065    break;
    60556066
    6056   case 202:
    6057 
    6058 /* Line 1806 of yacc.c  */
    6059 #line 890 "parser.yy"
     6067  case 203:
     6068
     6069/* Line 1806 of yacc.c  */
     6070#line 891 "parser.yy"
    60606071    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    60616072    break;
    60626073
    6063   case 203:
    6064 
    6065 /* Line 1806 of yacc.c  */
    6066 #line 895 "parser.yy"
     6074  case 204:
     6075
     6076/* Line 1806 of yacc.c  */
     6077#line 896 "parser.yy"
    60676078    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60686079    break;
    60696080
    6070   case 204:
    6071 
    6072 /* Line 1806 of yacc.c  */
    6073 #line 897 "parser.yy"
     6081  case 205:
     6082
     6083/* Line 1806 of yacc.c  */
     6084#line 898 "parser.yy"
    60746085    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60756086    break;
    60766087
    6077   case 205:
    6078 
    6079 /* Line 1806 of yacc.c  */
    6080 #line 899 "parser.yy"
     6088  case 206:
     6089
     6090/* Line 1806 of yacc.c  */
     6091#line 900 "parser.yy"
    60816092    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60826093    break;
    60836094
    6084   case 206:
    6085 
    6086 /* Line 1806 of yacc.c  */
    6087 #line 901 "parser.yy"
     6095  case 207:
     6096
     6097/* Line 1806 of yacc.c  */
     6098#line 902 "parser.yy"
    60886099    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60896100    break;
    60906101
    6091   case 207:
    6092 
    6093 /* Line 1806 of yacc.c  */
    6094 #line 906 "parser.yy"
     6102  case 208:
     6103
     6104/* Line 1806 of yacc.c  */
     6105#line 907 "parser.yy"
    60956106    {
    60966107                        (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) );
     
    60986109    break;
    60996110
    6100   case 209:
    6101 
    6102 /* Line 1806 of yacc.c  */
    6103 #line 919 "parser.yy"
     6111  case 210:
     6112
     6113/* Line 1806 of yacc.c  */
     6114#line 920 "parser.yy"
    61046115    {
    61056116                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61086119    break;
    61096120
    6110   case 210:
    6111 
    6112 /* Line 1806 of yacc.c  */
    6113 #line 924 "parser.yy"
     6121  case 211:
     6122
     6123/* Line 1806 of yacc.c  */
     6124#line 925 "parser.yy"
    61146125    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61156126    break;
    61166127
    6117   case 211:
    6118 
    6119 /* Line 1806 of yacc.c  */
    6120 #line 926 "parser.yy"
     6128  case 212:
     6129
     6130/* Line 1806 of yacc.c  */
     6131#line 927 "parser.yy"
    61216132    {
    61226133                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61256136    break;
    61266137
    6127   case 213:
    6128 
    6129 /* Line 1806 of yacc.c  */
    6130 #line 935 "parser.yy"
     6138  case 214:
     6139
     6140/* Line 1806 of yacc.c  */
     6141#line 936 "parser.yy"
    61316142    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); }
    61326143    break;
    61336144
    6134   case 214:
    6135 
    6136 /* Line 1806 of yacc.c  */
    6137 #line 937 "parser.yy"
     6145  case 215:
     6146
     6147/* Line 1806 of yacc.c  */
     6148#line 938 "parser.yy"
    61386149    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); }
    61396150    break;
    61406151
    6141   case 215:
    6142 
    6143 /* Line 1806 of yacc.c  */
    6144 #line 939 "parser.yy"
     6152  case 216:
     6153
     6154/* Line 1806 of yacc.c  */
     6155#line 940 "parser.yy"
    61456156    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); }
    61466157    break;
    61476158
    6148   case 216:
    6149 
    6150 /* Line 1806 of yacc.c  */
    6151 #line 941 "parser.yy"
     6159  case 217:
     6160
     6161/* Line 1806 of yacc.c  */
     6162#line 942 "parser.yy"
    61526163    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); }
    61536164    break;
    61546165
    6155   case 217:
    6156 
    6157 /* Line 1806 of yacc.c  */
    6158 #line 943 "parser.yy"
     6166  case 218:
     6167
     6168/* Line 1806 of yacc.c  */
     6169#line 944 "parser.yy"
    61596170    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); }
    61606171    break;
    61616172
    6162   case 218:
    6163 
    6164 /* Line 1806 of yacc.c  */
    6165 #line 948 "parser.yy"
     6173  case 219:
     6174
     6175/* Line 1806 of yacc.c  */
     6176#line 949 "parser.yy"
    61666177    { (yyval.flag) = false; }
    61676178    break;
    61686179
    6169   case 219:
    6170 
    6171 /* Line 1806 of yacc.c  */
    6172 #line 950 "parser.yy"
     6180  case 220:
     6181
     6182/* Line 1806 of yacc.c  */
     6183#line 951 "parser.yy"
    61736184    { (yyval.flag) = true; }
    61746185    break;
    61756186
    6176   case 220:
    6177 
    6178 /* Line 1806 of yacc.c  */
    6179 #line 955 "parser.yy"
     6187  case 221:
     6188
     6189/* Line 1806 of yacc.c  */
     6190#line 956 "parser.yy"
    61806191    { (yyval.en) = 0; }
    61816192    break;
    61826193
    6183   case 223:
    6184 
    6185 /* Line 1806 of yacc.c  */
    6186 #line 962 "parser.yy"
     6194  case 224:
     6195
     6196/* Line 1806 of yacc.c  */
     6197#line 963 "parser.yy"
    61876198    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    61886199    break;
    61896200
    6190   case 224:
    6191 
    6192 /* Line 1806 of yacc.c  */
    6193 #line 967 "parser.yy"
     6201  case 225:
     6202
     6203/* Line 1806 of yacc.c  */
     6204#line 968 "parser.yy"
    61946205    { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }
    61956206    break;
    61966207
    6197   case 225:
    6198 
    6199 /* Line 1806 of yacc.c  */
    6200 #line 969 "parser.yy"
     6208  case 226:
     6209
     6210/* Line 1806 of yacc.c  */
     6211#line 970 "parser.yy"
    62016212    { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); }
    62026213    break;
    62036214
    6204   case 226:
    6205 
    6206 /* Line 1806 of yacc.c  */
    6207 #line 974 "parser.yy"
     6215  case 227:
     6216
     6217/* Line 1806 of yacc.c  */
     6218#line 975 "parser.yy"
    62086219    { (yyval.en) = 0; }
    62096220    break;
    62106221
    6211   case 227:
    6212 
    6213 /* Line 1806 of yacc.c  */
    6214 #line 976 "parser.yy"
     6222  case 228:
     6223
     6224/* Line 1806 of yacc.c  */
     6225#line 977 "parser.yy"
    62156226    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    62166227    break;
    62176228
    6218   case 228:
    6219 
    6220 /* Line 1806 of yacc.c  */
    6221 #line 978 "parser.yy"
     6229  case 229:
     6230
     6231/* Line 1806 of yacc.c  */
     6232#line 979 "parser.yy"
    62226233    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }
    62236234    break;
    62246235
    6225   case 229:
    6226 
    6227 /* Line 1806 of yacc.c  */
    6228 #line 983 "parser.yy"
     6236  case 230:
     6237
     6238/* Line 1806 of yacc.c  */
     6239#line 984 "parser.yy"
    62296240    {
    62306241                        (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) );
     
    62336244    break;
    62346245
    6235   case 230:
    6236 
    6237 /* Line 1806 of yacc.c  */
    6238 #line 988 "parser.yy"
     6246  case 231:
     6247
     6248/* Line 1806 of yacc.c  */
     6249#line 989 "parser.yy"
    62396250    {
    62406251                        (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) );
     
    62436254    break;
    62446255
    6245   case 231:
    6246 
    6247 /* Line 1806 of yacc.c  */
    6248 #line 998 "parser.yy"
     6256  case 232:
     6257
     6258/* Line 1806 of yacc.c  */
     6259#line 999 "parser.yy"
    62496260    { (yyval.decl) = 0; }
    62506261    break;
    62516262
    6252   case 234:
    6253 
    6254 /* Line 1806 of yacc.c  */
    6255 #line 1005 "parser.yy"
     6263  case 235:
     6264
     6265/* Line 1806 of yacc.c  */
     6266#line 1006 "parser.yy"
    62566267    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62576268    break;
    62586269
    6259   case 235:
    6260 
    6261 /* Line 1806 of yacc.c  */
    6262 #line 1010 "parser.yy"
     6270  case 236:
     6271
     6272/* Line 1806 of yacc.c  */
     6273#line 1011 "parser.yy"
    62636274    { (yyval.decl) = 0; }
    62646275    break;
    62656276
    6266   case 238:
    6267 
    6268 /* Line 1806 of yacc.c  */
    6269 #line 1017 "parser.yy"
     6277  case 239:
     6278
     6279/* Line 1806 of yacc.c  */
     6280#line 1018 "parser.yy"
    62706281    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    6271     break;
    6272 
    6273   case 243:
    6274 
    6275 /* Line 1806 of yacc.c  */
    6276 #line 1031 "parser.yy"
    6277     {}
    62786282    break;
    62796283
     
    62856289    break;
    62866290
    6287   case 252:
    6288 
    6289 /* Line 1806 of yacc.c  */
    6290 #line 1061 "parser.yy"
     6291  case 245:
     6292
     6293/* Line 1806 of yacc.c  */
     6294#line 1033 "parser.yy"
     6295    {}
     6296    break;
     6297
     6298  case 253:
     6299
     6300/* Line 1806 of yacc.c  */
     6301#line 1062 "parser.yy"
    62916302    {
    62926303                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62956306    break;
    62966307
    6297   case 253:
    6298 
    6299 /* Line 1806 of yacc.c  */
    6300 #line 1068 "parser.yy"
     6308  case 254:
     6309
     6310/* Line 1806 of yacc.c  */
     6311#line 1069 "parser.yy"
    63016312    {
    63026313                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63056316    break;
    63066317
    6307   case 254:
    6308 
    6309 /* Line 1806 of yacc.c  */
    6310 #line 1073 "parser.yy"
     6318  case 255:
     6319
     6320/* Line 1806 of yacc.c  */
     6321#line 1074 "parser.yy"
    63116322    {
    63126323                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63156326    break;
    63166327
    6317   case 255:
    6318 
    6319 /* Line 1806 of yacc.c  */
    6320 #line 1083 "parser.yy"
     6328  case 256:
     6329
     6330/* Line 1806 of yacc.c  */
     6331#line 1084 "parser.yy"
    63216332    {
    63226333                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63256336    break;
    63266337
    6327   case 256:
    6328 
    6329 /* Line 1806 of yacc.c  */
    6330 #line 1088 "parser.yy"
     6338  case 257:
     6339
     6340/* Line 1806 of yacc.c  */
     6341#line 1089 "parser.yy"
    63316342    {
    63326343                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63356346    break;
    63366347
    6337   case 257:
    6338 
    6339 /* Line 1806 of yacc.c  */
    6340 #line 1093 "parser.yy"
     6348  case 258:
     6349
     6350/* Line 1806 of yacc.c  */
     6351#line 1094 "parser.yy"
    63416352    {
    63426353                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63456356    break;
    63466357
    6347   case 258:
    6348 
    6349 /* Line 1806 of yacc.c  */
    6350 #line 1101 "parser.yy"
     6358  case 259:
     6359
     6360/* Line 1806 of yacc.c  */
     6361#line 1102 "parser.yy"
    63516362    {
    63526363                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63556366    break;
    63566367
    6357   case 259:
    6358 
    6359 /* Line 1806 of yacc.c  */
    6360 #line 1106 "parser.yy"
     6368  case 260:
     6369
     6370/* Line 1806 of yacc.c  */
     6371#line 1107 "parser.yy"
    63616372    {
    63626373                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63656376    break;
    63666377
    6367   case 260:
    6368 
    6369 /* Line 1806 of yacc.c  */
    6370 #line 1111 "parser.yy"
     6378  case 261:
     6379
     6380/* Line 1806 of yacc.c  */
     6381#line 1112 "parser.yy"
    63716382    {
    63726383                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63756386    break;
    63766387
    6377   case 261:
    6378 
    6379 /* Line 1806 of yacc.c  */
    6380 #line 1116 "parser.yy"
     6388  case 262:
     6389
     6390/* Line 1806 of yacc.c  */
     6391#line 1117 "parser.yy"
    63816392    {
    63826393                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63856396    break;
    63866397
    6387   case 262:
    6388 
    6389 /* Line 1806 of yacc.c  */
    6390 #line 1121 "parser.yy"
     6398  case 263:
     6399
     6400/* Line 1806 of yacc.c  */
     6401#line 1122 "parser.yy"
    63916402    {
    63926403                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63956406    break;
    63966407
    6397   case 263:
    6398 
    6399 /* Line 1806 of yacc.c  */
    6400 #line 1129 "parser.yy"
     6408  case 264:
     6409
     6410/* Line 1806 of yacc.c  */
     6411#line 1130 "parser.yy"
    64016412    {
    64026413                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    64046415    break;
    64056416
    6406   case 264:
    6407 
    6408 /* Line 1806 of yacc.c  */
    6409 #line 1152 "parser.yy"
     6417  case 265:
     6418
     6419/* Line 1806 of yacc.c  */
     6420#line 1153 "parser.yy"
    64106421    {
    64116422                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64136424    break;
    64146425
    6415   case 265:
    6416 
    6417 /* Line 1806 of yacc.c  */
    6418 #line 1156 "parser.yy"
     6426  case 266:
     6427
     6428/* Line 1806 of yacc.c  */
     6429#line 1157 "parser.yy"
    64196430    {
    64206431                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64226433    break;
    64236434
    6424   case 266:
    6425 
    6426 /* Line 1806 of yacc.c  */
    6427 #line 1163 "parser.yy"
     6435  case 267:
     6436
     6437/* Line 1806 of yacc.c  */
     6438#line 1164 "parser.yy"
    64286439    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64296440    break;
    64306441
    6431   case 267:
    6432 
    6433 /* Line 1806 of yacc.c  */
    6434 #line 1167 "parser.yy"
     6442  case 268:
     6443
     6444/* Line 1806 of yacc.c  */
     6445#line 1168 "parser.yy"
    64356446    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64366447    break;
    64376448
    6438   case 268:
    6439 
    6440 /* Line 1806 of yacc.c  */
    6441 #line 1172 "parser.yy"
     6449  case 269:
     6450
     6451/* Line 1806 of yacc.c  */
     6452#line 1173 "parser.yy"
    64426453    {
    64436454                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64466457    break;
    64476458
    6448   case 269:
    6449 
    6450 /* Line 1806 of yacc.c  */
    6451 #line 1177 "parser.yy"
     6459  case 270:
     6460
     6461/* Line 1806 of yacc.c  */
     6462#line 1178 "parser.yy"
    64526463    {
    64536464                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64566467    break;
    64576468
    6458   case 270:
    6459 
    6460 /* Line 1806 of yacc.c  */
    6461 #line 1182 "parser.yy"
     6469  case 271:
     6470
     6471/* Line 1806 of yacc.c  */
     6472#line 1183 "parser.yy"
    64626473    {
    64636474                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64666477    break;
    64676478
    6468   case 271:
    6469 
    6470 /* Line 1806 of yacc.c  */
    6471 #line 1193 "parser.yy"
     6479  case 272:
     6480
     6481/* Line 1806 of yacc.c  */
     6482#line 1194 "parser.yy"
    64726483    {
    64736484                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64766487    break;
    64776488
    6478   case 272:
    6479 
    6480 /* Line 1806 of yacc.c  */
    6481 #line 1198 "parser.yy"
     6489  case 273:
     6490
     6491/* Line 1806 of yacc.c  */
     6492#line 1199 "parser.yy"
    64826493    {
    64836494                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64866497    break;
    64876498
    6488   case 273:
    6489 
    6490 /* Line 1806 of yacc.c  */
    6491 #line 1203 "parser.yy"
     6499  case 274:
     6500
     6501/* Line 1806 of yacc.c  */
     6502#line 1204 "parser.yy"
    64926503    {
    64936504                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64966507    break;
    64976508
    6498   case 274:
    6499 
    6500 /* Line 1806 of yacc.c  */
    6501 #line 1208 "parser.yy"
     6509  case 275:
     6510
     6511/* Line 1806 of yacc.c  */
     6512#line 1209 "parser.yy"
    65026513    {
    65036514                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65066517    break;
    65076518
    6508   case 275:
    6509 
    6510 /* Line 1806 of yacc.c  */
    6511 #line 1213 "parser.yy"
     6519  case 276:
     6520
     6521/* Line 1806 of yacc.c  */
     6522#line 1214 "parser.yy"
    65126523    {
    65136524                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65166527    break;
    65176528
    6518   case 276:
    6519 
    6520 /* Line 1806 of yacc.c  */
    6521 #line 1222 "parser.yy"
     6529  case 277:
     6530
     6531/* Line 1806 of yacc.c  */
     6532#line 1223 "parser.yy"
    65226533    {
    65236534                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65266537    break;
    65276538
    6528   case 277:
    6529 
    6530 /* Line 1806 of yacc.c  */
    6531 #line 1227 "parser.yy"
     6539  case 278:
     6540
     6541/* Line 1806 of yacc.c  */
     6542#line 1228 "parser.yy"
    65326543    {
    65336544                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65366547    break;
    65376548
    6538   case 282:
    6539 
    6540 /* Line 1806 of yacc.c  */
    6541 #line 1244 "parser.yy"
     6549  case 283:
     6550
     6551/* Line 1806 of yacc.c  */
     6552#line 1245 "parser.yy"
    65426553    {
    65436554                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65466557    break;
    65476558
    6548   case 283:
    6549 
    6550 /* Line 1806 of yacc.c  */
    6551 #line 1249 "parser.yy"
     6559  case 284:
     6560
     6561/* Line 1806 of yacc.c  */
     6562#line 1250 "parser.yy"
    65526563    {
    65536564                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65566567    break;
    65576568
    6558   case 292:
    6559 
    6560 /* Line 1806 of yacc.c  */
    6561 #line 1271 "parser.yy"
     6569  case 293:
     6570
     6571/* Line 1806 of yacc.c  */
     6572#line 1272 "parser.yy"
    65626573    { (yyval.decl) = 0; }
    65636574    break;
    65646575
    6565   case 295:
    6566 
    6567 /* Line 1806 of yacc.c  */
    6568 #line 1283 "parser.yy"
     6576  case 296:
     6577
     6578/* Line 1806 of yacc.c  */
     6579#line 1284 "parser.yy"
    65696580    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65706581    break;
    65716582
    6572   case 298:
    6573 
    6574 /* Line 1806 of yacc.c  */
    6575 #line 1294 "parser.yy"
     6583  case 299:
     6584
     6585/* Line 1806 of yacc.c  */
     6586#line 1295 "parser.yy"
    65766587    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65776588    break;
    65786589
    6579   case 299:
    6580 
    6581 /* Line 1806 of yacc.c  */
    6582 #line 1296 "parser.yy"
     6590  case 300:
     6591
     6592/* Line 1806 of yacc.c  */
     6593#line 1297 "parser.yy"
    65836594    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65846595    break;
    65856596
    6586   case 300:
    6587 
    6588 /* Line 1806 of yacc.c  */
    6589 #line 1298 "parser.yy"
     6597  case 301:
     6598
     6599/* Line 1806 of yacc.c  */
     6600#line 1299 "parser.yy"
    65906601    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    65916602    break;
    65926603
    6593   case 301:
    6594 
    6595 /* Line 1806 of yacc.c  */
    6596 #line 1300 "parser.yy"
     6604  case 302:
     6605
     6606/* Line 1806 of yacc.c  */
     6607#line 1301 "parser.yy"
    65976608    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    65986609    break;
    65996610
    6600   case 302:
    6601 
    6602 /* Line 1806 of yacc.c  */
    6603 #line 1302 "parser.yy"
     6611  case 303:
     6612
     6613/* Line 1806 of yacc.c  */
     6614#line 1303 "parser.yy"
    66046615    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66056616    break;
    66066617
    6607   case 303:
    6608 
    6609 /* Line 1806 of yacc.c  */
    6610 #line 1304 "parser.yy"
     6618  case 304:
     6619
     6620/* Line 1806 of yacc.c  */
     6621#line 1305 "parser.yy"
    66116622    {
    66126623                        typedefTable.enterScope();
     
    66146625    break;
    66156626
    6616   case 304:
    6617 
    6618 /* Line 1806 of yacc.c  */
    6619 #line 1308 "parser.yy"
     6627  case 305:
     6628
     6629/* Line 1806 of yacc.c  */
     6630#line 1309 "parser.yy"
    66206631    {
    66216632                        typedefTable.leaveScope();
     
    66246635    break;
    66256636
    6626   case 306:
    6627 
    6628 /* Line 1806 of yacc.c  */
    6629 #line 1317 "parser.yy"
     6637  case 307:
     6638
     6639/* Line 1806 of yacc.c  */
     6640#line 1318 "parser.yy"
    66306641    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66316642    break;
    66326643
    6633   case 307:
    6634 
    6635 /* Line 1806 of yacc.c  */
    6636 #line 1319 "parser.yy"
     6644  case 308:
     6645
     6646/* Line 1806 of yacc.c  */
     6647#line 1320 "parser.yy"
    66376648    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66386649    break;
    66396650
    6640   case 309:
    6641 
    6642 /* Line 1806 of yacc.c  */
    6643 #line 1330 "parser.yy"
     6651  case 310:
     6652
     6653/* Line 1806 of yacc.c  */
     6654#line 1331 "parser.yy"
    66446655    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66456656    break;
    66466657
    6647   case 310:
    6648 
    6649 /* Line 1806 of yacc.c  */
    6650 #line 1335 "parser.yy"
     6658  case 311:
     6659
     6660/* Line 1806 of yacc.c  */
     6661#line 1336 "parser.yy"
    66516662    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    66526663    break;
    66536664
    6654   case 311:
    6655 
    6656 /* Line 1806 of yacc.c  */
    6657 #line 1337 "parser.yy"
     6665  case 312:
     6666
     6667/* Line 1806 of yacc.c  */
     6668#line 1338 "parser.yy"
    66586669    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    66596670    break;
    66606671
    6661   case 312:
    6662 
    6663 /* Line 1806 of yacc.c  */
    6664 #line 1339 "parser.yy"
     6672  case 313:
     6673
     6674/* Line 1806 of yacc.c  */
     6675#line 1340 "parser.yy"
    66656676    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    66666677    break;
    66676678
    6668   case 313:
    6669 
    6670 /* Line 1806 of yacc.c  */
    6671 #line 1341 "parser.yy"
     6679  case 314:
     6680
     6681/* Line 1806 of yacc.c  */
     6682#line 1342 "parser.yy"
    66726683    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66736684    break;
    66746685
    6675   case 314:
    6676 
    6677 /* Line 1806 of yacc.c  */
    6678 #line 1344 "parser.yy"
     6686  case 315:
     6687
     6688/* Line 1806 of yacc.c  */
     6689#line 1345 "parser.yy"
    66796690    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; }
    66806691    break;
    66816692
    6682   case 315:
    6683 
    6684 /* Line 1806 of yacc.c  */
    6685 #line 1346 "parser.yy"
     6693  case 316:
     6694
     6695/* Line 1806 of yacc.c  */
     6696#line 1347 "parser.yy"
    66866697    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    66876698    break;
    66886699
    6689   case 316:
    6690 
    6691 /* Line 1806 of yacc.c  */
    6692 #line 1349 "parser.yy"
     6700  case 317:
     6701
     6702/* Line 1806 of yacc.c  */
     6703#line 1350 "parser.yy"
    66936704    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; }
    66946705    break;
    66956706
    6696   case 317:
    6697 
    6698 /* Line 1806 of yacc.c  */
    6699 #line 1351 "parser.yy"
     6707  case 318:
     6708
     6709/* Line 1806 of yacc.c  */
     6710#line 1352 "parser.yy"
    67006711    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    67016712    break;
    67026713
    6703   case 318:
    6704 
    6705 /* Line 1806 of yacc.c  */
    6706 #line 1356 "parser.yy"
     6714  case 319:
     6715
     6716/* Line 1806 of yacc.c  */
     6717#line 1357 "parser.yy"
    67076718    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67086719    break;
    67096720
    6710   case 319:
    6711 
    6712 /* Line 1806 of yacc.c  */
    6713 #line 1358 "parser.yy"
     6721  case 320:
     6722
     6723/* Line 1806 of yacc.c  */
     6724#line 1359 "parser.yy"
    67146725    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67156726    break;
    67166727
    6717   case 320:
    6718 
    6719 /* Line 1806 of yacc.c  */
    6720 #line 1360 "parser.yy"
     6728  case 321:
     6729
     6730/* Line 1806 of yacc.c  */
     6731#line 1361 "parser.yy"
    67216732    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67226733    break;
    67236734
    6724   case 321:
    6725 
    6726 /* Line 1806 of yacc.c  */
    6727 #line 1362 "parser.yy"
     6735  case 322:
     6736
     6737/* Line 1806 of yacc.c  */
     6738#line 1363 "parser.yy"
    67286739    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67296740    break;
    67306741
    6731   case 322:
    6732 
    6733 /* Line 1806 of yacc.c  */
    6734 #line 1364 "parser.yy"
     6742  case 323:
     6743
     6744/* Line 1806 of yacc.c  */
     6745#line 1365 "parser.yy"
    67356746    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    67366747    break;
    67376748
    6738   case 323:
    6739 
    6740 /* Line 1806 of yacc.c  */
    6741 #line 1366 "parser.yy"
     6749  case 324:
     6750
     6751/* Line 1806 of yacc.c  */
     6752#line 1367 "parser.yy"
    67426753    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    67436754    break;
    67446755
    6745   case 324:
    6746 
    6747 /* Line 1806 of yacc.c  */
    6748 #line 1368 "parser.yy"
     6756  case 325:
     6757
     6758/* Line 1806 of yacc.c  */
     6759#line 1369 "parser.yy"
    67496760    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    67506761    break;
    67516762
    6752   case 325:
    6753 
    6754 /* Line 1806 of yacc.c  */
    6755 #line 1370 "parser.yy"
     6763  case 326:
     6764
     6765/* Line 1806 of yacc.c  */
     6766#line 1371 "parser.yy"
    67566767    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    67576768    break;
    67586769
    6759   case 326:
    6760 
    6761 /* Line 1806 of yacc.c  */
    6762 #line 1372 "parser.yy"
     6770  case 327:
     6771
     6772/* Line 1806 of yacc.c  */
     6773#line 1373 "parser.yy"
    67636774    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    67646775    break;
    67656776
    6766   case 327:
    6767 
    6768 /* Line 1806 of yacc.c  */
    6769 #line 1374 "parser.yy"
     6777  case 328:
     6778
     6779/* Line 1806 of yacc.c  */
     6780#line 1375 "parser.yy"
    67706781    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    67716782    break;
    67726783
    6773   case 328:
    6774 
    6775 /* Line 1806 of yacc.c  */
    6776 #line 1376 "parser.yy"
     6784  case 329:
     6785
     6786/* Line 1806 of yacc.c  */
     6787#line 1377 "parser.yy"
    67776788    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    67786789    break;
    67796790
    6780   case 329:
    6781 
    6782 /* Line 1806 of yacc.c  */
    6783 #line 1378 "parser.yy"
     6791  case 330:
     6792
     6793/* Line 1806 of yacc.c  */
     6794#line 1379 "parser.yy"
    67846795    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    67856796    break;
    67866797
    6787   case 330:
    6788 
    6789 /* Line 1806 of yacc.c  */
    6790 #line 1380 "parser.yy"
     6798  case 331:
     6799
     6800/* Line 1806 of yacc.c  */
     6801#line 1381 "parser.yy"
    67916802    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    67926803    break;
    67936804
    6794   case 332:
    6795 
    6796 /* Line 1806 of yacc.c  */
    6797 #line 1387 "parser.yy"
     6805  case 333:
     6806
     6807/* Line 1806 of yacc.c  */
     6808#line 1388 "parser.yy"
    67986809    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67996810    break;
    68006811
    6801   case 333:
    6802 
    6803 /* Line 1806 of yacc.c  */
    6804 #line 1389 "parser.yy"
     6812  case 334:
     6813
     6814/* Line 1806 of yacc.c  */
     6815#line 1390 "parser.yy"
    68056816    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68066817    break;
    68076818
    6808   case 334:
    6809 
    6810 /* Line 1806 of yacc.c  */
    6811 #line 1391 "parser.yy"
     6819  case 335:
     6820
     6821/* Line 1806 of yacc.c  */
     6822#line 1392 "parser.yy"
    68126823    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68136824    break;
    68146825
    6815   case 335:
    6816 
    6817 /* Line 1806 of yacc.c  */
    6818 #line 1393 "parser.yy"
     6826  case 336:
     6827
     6828/* Line 1806 of yacc.c  */
     6829#line 1394 "parser.yy"
    68196830    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68206831    break;
    68216832
    6822   case 337:
    6823 
    6824 /* Line 1806 of yacc.c  */
    6825 #line 1399 "parser.yy"
     6833  case 338:
     6834
     6835/* Line 1806 of yacc.c  */
     6836#line 1400 "parser.yy"
    68266837    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68276838    break;
    68286839
    6829   case 339:
    6830 
    6831 /* Line 1806 of yacc.c  */
    6832 #line 1406 "parser.yy"
     6840  case 340:
     6841
     6842/* Line 1806 of yacc.c  */
     6843#line 1407 "parser.yy"
    68336844    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68346845    break;
    68356846
    6836   case 340:
    6837 
    6838 /* Line 1806 of yacc.c  */
    6839 #line 1408 "parser.yy"
     6847  case 341:
     6848
     6849/* Line 1806 of yacc.c  */
     6850#line 1409 "parser.yy"
    68406851    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68416852    break;
    68426853
    6843   case 341:
    6844 
    6845 /* Line 1806 of yacc.c  */
    6846 #line 1410 "parser.yy"
     6854  case 342:
     6855
     6856/* Line 1806 of yacc.c  */
     6857#line 1411 "parser.yy"
    68476858    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68486859    break;
    68496860
    6850   case 342:
    6851 
    6852 /* Line 1806 of yacc.c  */
    6853 #line 1415 "parser.yy"
     6861  case 343:
     6862
     6863/* Line 1806 of yacc.c  */
     6864#line 1416 "parser.yy"
    68546865    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68556866    break;
    68566867
    6857   case 343:
    6858 
    6859 /* Line 1806 of yacc.c  */
    6860 #line 1417 "parser.yy"
     6868  case 344:
     6869
     6870/* Line 1806 of yacc.c  */
     6871#line 1418 "parser.yy"
    68616872    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    68626873    break;
    68636874
    6864   case 344:
    6865 
    6866 /* Line 1806 of yacc.c  */
    6867 #line 1419 "parser.yy"
     6875  case 345:
     6876
     6877/* Line 1806 of yacc.c  */
     6878#line 1420 "parser.yy"
    68686879    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    68696880    break;
    68706881
    6871   case 345:
    6872 
    6873 /* Line 1806 of yacc.c  */
    6874 #line 1421 "parser.yy"
     6882  case 346:
     6883
     6884/* Line 1806 of yacc.c  */
     6885#line 1422 "parser.yy"
    68756886    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68766887    break;
    68776888
    6878   case 347:
    6879 
    6880 /* Line 1806 of yacc.c  */
    6881 #line 1427 "parser.yy"
     6889  case 348:
     6890
     6891/* Line 1806 of yacc.c  */
     6892#line 1428 "parser.yy"
    68826893    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68836894    break;
    68846895
    6885   case 348:
    6886 
    6887 /* Line 1806 of yacc.c  */
    6888 #line 1429 "parser.yy"
     6896  case 349:
     6897
     6898/* Line 1806 of yacc.c  */
     6899#line 1430 "parser.yy"
    68896900    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68906901    break;
    68916902
    6892   case 349:
    6893 
    6894 /* Line 1806 of yacc.c  */
    6895 #line 1431 "parser.yy"
     6903  case 350:
     6904
     6905/* Line 1806 of yacc.c  */
     6906#line 1432 "parser.yy"
    68966907    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68976908    break;
    68986909
    6899   case 351:
    6900 
    6901 /* Line 1806 of yacc.c  */
    6902 #line 1437 "parser.yy"
     6910  case 352:
     6911
     6912/* Line 1806 of yacc.c  */
     6913#line 1438 "parser.yy"
    69036914    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69046915    break;
    69056916
    6906   case 352:
    6907 
    6908 /* Line 1806 of yacc.c  */
    6909 #line 1439 "parser.yy"
     6917  case 353:
     6918
     6919/* Line 1806 of yacc.c  */
     6920#line 1440 "parser.yy"
    69106921    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69116922    break;
    69126923
    6913   case 354:
    6914 
    6915 /* Line 1806 of yacc.c  */
    6916 #line 1445 "parser.yy"
     6924  case 355:
     6925
     6926/* Line 1806 of yacc.c  */
     6927#line 1446 "parser.yy"
    69176928    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69186929    break;
    69196930
    6920   case 355:
    6921 
    6922 /* Line 1806 of yacc.c  */
    6923 #line 1447 "parser.yy"
     6931  case 356:
     6932
     6933/* Line 1806 of yacc.c  */
     6934#line 1448 "parser.yy"
    69246935    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69256936    break;
    69266937
    6927   case 356:
    6928 
    6929 /* Line 1806 of yacc.c  */
    6930 #line 1449 "parser.yy"
     6938  case 357:
     6939
     6940/* Line 1806 of yacc.c  */
     6941#line 1450 "parser.yy"
    69316942    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69326943    break;
    69336944
    6934   case 357:
    6935 
    6936 /* Line 1806 of yacc.c  */
    6937 #line 1454 "parser.yy"
     6945  case 358:
     6946
     6947/* Line 1806 of yacc.c  */
     6948#line 1455 "parser.yy"
    69386949    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69396950    break;
    69406951
    6941   case 358:
    6942 
    6943 /* Line 1806 of yacc.c  */
    6944 #line 1456 "parser.yy"
     6952  case 359:
     6953
     6954/* Line 1806 of yacc.c  */
     6955#line 1457 "parser.yy"
    69456956    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69466957    break;
    69476958
    6948   case 359:
    6949 
    6950 /* Line 1806 of yacc.c  */
    6951 #line 1458 "parser.yy"
     6959  case 360:
     6960
     6961/* Line 1806 of yacc.c  */
     6962#line 1459 "parser.yy"
    69526963    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69536964    break;
    69546965
    6955   case 362:
    6956 
    6957 /* Line 1806 of yacc.c  */
    6958 #line 1468 "parser.yy"
     6966  case 363:
     6967
     6968/* Line 1806 of yacc.c  */
     6969#line 1469 "parser.yy"
    69596970    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); }
    69606971    break;
    69616972
    6962   case 363:
    6963 
    6964 /* Line 1806 of yacc.c  */
    6965 #line 1470 "parser.yy"
     6973  case 364:
     6974
     6975/* Line 1806 of yacc.c  */
     6976#line 1471 "parser.yy"
    69666977    {
    69676978                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    69706981    break;
    69716982
    6972   case 364:
    6973 
    6974 /* Line 1806 of yacc.c  */
    6975 #line 1475 "parser.yy"
     6983  case 365:
     6984
     6985/* Line 1806 of yacc.c  */
     6986#line 1476 "parser.yy"
    69766987    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    69776988    break;
    69786989
    6979   case 365:
    6980 
    6981 /* Line 1806 of yacc.c  */
    6982 #line 1477 "parser.yy"
     6990  case 366:
     6991
     6992/* Line 1806 of yacc.c  */
     6993#line 1478 "parser.yy"
    69836994    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); }
    69846995    break;
    69856996
    6986   case 366:
    6987 
    6988 /* Line 1806 of yacc.c  */
    6989 #line 1479 "parser.yy"
     6997  case 367:
     6998
     6999/* Line 1806 of yacc.c  */
     7000#line 1480 "parser.yy"
    69907001    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
    69917002    break;
    69927003
    6993   case 367:
    6994 
    6995 /* Line 1806 of yacc.c  */
    6996 #line 1481 "parser.yy"
     7004  case 368:
     7005
     7006/* Line 1806 of yacc.c  */
     7007#line 1482 "parser.yy"
    69977008    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69987009    break;
    69997010
    7000   case 368:
    7001 
    7002 /* Line 1806 of yacc.c  */
    7003 #line 1486 "parser.yy"
     7011  case 369:
     7012
     7013/* Line 1806 of yacc.c  */
     7014#line 1487 "parser.yy"
    70047015    { (yyval.aggKey) = DeclarationNode::Struct; }
    70057016    break;
    70067017
    7007   case 369:
    7008 
    7009 /* Line 1806 of yacc.c  */
    7010 #line 1488 "parser.yy"
     7018  case 370:
     7019
     7020/* Line 1806 of yacc.c  */
     7021#line 1489 "parser.yy"
    70117022    { (yyval.aggKey) = DeclarationNode::Union; }
    70127023    break;
    70137024
    7014   case 370:
    7015 
    7016 /* Line 1806 of yacc.c  */
    7017 #line 1493 "parser.yy"
     7025  case 371:
     7026
     7027/* Line 1806 of yacc.c  */
     7028#line 1494 "parser.yy"
    70187029    { (yyval.decl) = 0; }
    70197030    break;
    70207031
    7021   case 371:
    7022 
    7023 /* Line 1806 of yacc.c  */
    7024 #line 1495 "parser.yy"
     7032  case 372:
     7033
     7034/* Line 1806 of yacc.c  */
     7035#line 1496 "parser.yy"
    70257036    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    70267037    break;
    70277038
    7028   case 373:
    7029 
    7030 /* Line 1806 of yacc.c  */
    7031 #line 1501 "parser.yy"
     7039  case 374:
     7040
     7041/* Line 1806 of yacc.c  */
     7042#line 1502 "parser.yy"
    70327043    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }
    70337044    break;
    70347045
    7035   case 375:
    7036 
    7037 /* Line 1806 of yacc.c  */
    7038 #line 1504 "parser.yy"
     7046  case 376:
     7047
     7048/* Line 1806 of yacc.c  */
     7049#line 1505 "parser.yy"
    70397050    {   // mark all fields in list
    70407051                        for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    70447055    break;
    70457056
    7046   case 377:
    7047 
    7048 /* Line 1806 of yacc.c  */
    7049 #line 1514 "parser.yy"
     7057  case 378:
     7058
     7059/* Line 1806 of yacc.c  */
     7060#line 1515 "parser.yy"
    70507061    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70517062    break;
    70527063
    7053   case 378:
    7054 
    7055 /* Line 1806 of yacc.c  */
    7056 #line 1516 "parser.yy"
     7064  case 379:
     7065
     7066/* Line 1806 of yacc.c  */
     7067#line 1517 "parser.yy"
    70577068    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70587069    break;
    70597070
    7060   case 379:
    7061 
    7062 /* Line 1806 of yacc.c  */
    7063 #line 1518 "parser.yy"
     7071  case 380:
     7072
     7073/* Line 1806 of yacc.c  */
     7074#line 1519 "parser.yy"
    70647075    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70657076    break;
    70667077
    7067   case 380:
    7068 
    7069 /* Line 1806 of yacc.c  */
    7070 #line 1523 "parser.yy"
     7078  case 381:
     7079
     7080/* Line 1806 of yacc.c  */
     7081#line 1524 "parser.yy"
    70717082    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70727083    break;
    70737084
    7074   case 381:
    7075 
    7076 /* Line 1806 of yacc.c  */
    7077 #line 1525 "parser.yy"
     7085  case 382:
     7086
     7087/* Line 1806 of yacc.c  */
     7088#line 1526 "parser.yy"
    70787089    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70797090    break;
    70807091
    7081   case 382:
    7082 
    7083 /* Line 1806 of yacc.c  */
    7084 #line 1530 "parser.yy"
     7092  case 383:
     7093
     7094/* Line 1806 of yacc.c  */
     7095#line 1531 "parser.yy"
    70857096    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70867097    break;
    70877098
    7088   case 383:
    7089 
    7090 /* Line 1806 of yacc.c  */
    7091 #line 1532 "parser.yy"
     7099  case 384:
     7100
     7101/* Line 1806 of yacc.c  */
     7102#line 1533 "parser.yy"
    70927103    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70937104    break;
    70947105
    7095   case 384:
    7096 
    7097 /* Line 1806 of yacc.c  */
    7098 #line 1535 "parser.yy"
     7106  case 385:
     7107
     7108/* Line 1806 of yacc.c  */
     7109#line 1536 "parser.yy"
    70997110    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71007111    break;
    71017112
    7102   case 385:
    7103 
    7104 /* Line 1806 of yacc.c  */
    7105 #line 1538 "parser.yy"
     7113  case 386:
     7114
     7115/* Line 1806 of yacc.c  */
     7116#line 1539 "parser.yy"
    71067117    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71077118    break;
    71087119
    7109   case 387:
    7110 
    7111 /* Line 1806 of yacc.c  */
    7112 #line 1544 "parser.yy"
     7120  case 388:
     7121
     7122/* Line 1806 of yacc.c  */
     7123#line 1545 "parser.yy"
    71137124    { (yyval.en) = 0; }
    71147125    break;
    71157126
    7116   case 388:
    7117 
    7118 /* Line 1806 of yacc.c  */
    7119 #line 1546 "parser.yy"
     7127  case 389:
     7128
     7129/* Line 1806 of yacc.c  */
     7130#line 1547 "parser.yy"
    71207131    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71217132    break;
    71227133
    7123   case 389:
    7124 
    7125 /* Line 1806 of yacc.c  */
    7126 #line 1551 "parser.yy"
     7134  case 390:
     7135
     7136/* Line 1806 of yacc.c  */
     7137#line 1552 "parser.yy"
    71277138    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71287139    break;
    71297140
    7130   case 391:
    7131 
    7132 /* Line 1806 of yacc.c  */
    7133 #line 1560 "parser.yy"
     7141  case 392:
     7142
     7143/* Line 1806 of yacc.c  */
     7144#line 1561 "parser.yy"
    71347145    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    71357146    break;
    71367147
    7137   case 392:
    7138 
    7139 /* Line 1806 of yacc.c  */
    7140 #line 1562 "parser.yy"
     7148  case 393:
     7149
     7150/* Line 1806 of yacc.c  */
     7151#line 1563 "parser.yy"
    71417152    {
    71427153                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    71457156    break;
    71467157
    7147   case 393:
    7148 
    7149 /* Line 1806 of yacc.c  */
    7150 #line 1567 "parser.yy"
     7158  case 394:
     7159
     7160/* Line 1806 of yacc.c  */
     7161#line 1568 "parser.yy"
    71517162    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    71527163    break;
    71537164
    7154   case 394:
    7155 
    7156 /* Line 1806 of yacc.c  */
    7157 #line 1569 "parser.yy"
     7165  case 395:
     7166
     7167/* Line 1806 of yacc.c  */
     7168#line 1570 "parser.yy"
    71587169    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    71597170    break;
    71607171
    7161   case 395:
    7162 
    7163 /* Line 1806 of yacc.c  */
    7164 #line 1574 "parser.yy"
     7172  case 396:
     7173
     7174/* Line 1806 of yacc.c  */
     7175#line 1575 "parser.yy"
    71657176    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71667177    break;
    71677178
    7168   case 396:
    7169 
    7170 /* Line 1806 of yacc.c  */
    7171 #line 1576 "parser.yy"
     7179  case 397:
     7180
     7181/* Line 1806 of yacc.c  */
     7182#line 1577 "parser.yy"
    71727183    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71737184    break;
    71747185
    7175   case 397:
    7176 
    7177 /* Line 1806 of yacc.c  */
    7178 #line 1581 "parser.yy"
     7186  case 398:
     7187
     7188/* Line 1806 of yacc.c  */
     7189#line 1582 "parser.yy"
    71797190    { (yyval.en) = 0; }
    71807191    break;
    71817192
    7182   case 398:
    7183 
    7184 /* Line 1806 of yacc.c  */
    7185 #line 1583 "parser.yy"
     7193  case 399:
     7194
     7195/* Line 1806 of yacc.c  */
     7196#line 1584 "parser.yy"
    71867197    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71877198    break;
    71887199
    7189   case 399:
    7190 
    7191 /* Line 1806 of yacc.c  */
    7192 #line 1590 "parser.yy"
     7200  case 400:
     7201
     7202/* Line 1806 of yacc.c  */
     7203#line 1591 "parser.yy"
    71937204    { (yyval.decl) = 0; }
    71947205    break;
    71957206
    7196   case 403:
    7197 
    7198 /* Line 1806 of yacc.c  */
    7199 #line 1598 "parser.yy"
     7207  case 404:
     7208
     7209/* Line 1806 of yacc.c  */
     7210#line 1599 "parser.yy"
    72007211    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72017212    break;
    72027213
    7203   case 404:
    7204 
    7205 /* Line 1806 of yacc.c  */
    7206 #line 1600 "parser.yy"
     7214  case 405:
     7215
     7216/* Line 1806 of yacc.c  */
     7217#line 1601 "parser.yy"
    72077218    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72087219    break;
    72097220
    7210   case 405:
    7211 
    7212 /* Line 1806 of yacc.c  */
    7213 #line 1602 "parser.yy"
     7221  case 406:
     7222
     7223/* Line 1806 of yacc.c  */
     7224#line 1603 "parser.yy"
    72147225    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72157226    break;
    72167227
    7217   case 407:
    7218 
    7219 /* Line 1806 of yacc.c  */
    7220 #line 1610 "parser.yy"
     7228  case 408:
     7229
     7230/* Line 1806 of yacc.c  */
     7231#line 1611 "parser.yy"
    72217232    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72227233    break;
    72237234
    7224   case 408:
    7225 
    7226 /* Line 1806 of yacc.c  */
    7227 #line 1612 "parser.yy"
     7235  case 409:
     7236
     7237/* Line 1806 of yacc.c  */
     7238#line 1613 "parser.yy"
    72287239    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72297240    break;
    72307241
    7231   case 409:
    7232 
    7233 /* Line 1806 of yacc.c  */
    7234 #line 1614 "parser.yy"
     7242  case 410:
     7243
     7244/* Line 1806 of yacc.c  */
     7245#line 1615 "parser.yy"
    72357246    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72367247    break;
    72377248
    7238   case 411:
    7239 
    7240 /* Line 1806 of yacc.c  */
    7241 #line 1620 "parser.yy"
     7249  case 412:
     7250
     7251/* Line 1806 of yacc.c  */
     7252#line 1621 "parser.yy"
    72427253    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72437254    break;
    72447255
    7245   case 412:
    7246 
    7247 /* Line 1806 of yacc.c  */
    7248 #line 1625 "parser.yy"
     7256  case 413:
     7257
     7258/* Line 1806 of yacc.c  */
     7259#line 1626 "parser.yy"
    72497260    { (yyval.decl) = 0; }
    72507261    break;
    72517262
    7252   case 415:
    7253 
    7254 /* Line 1806 of yacc.c  */
    7255 #line 1632 "parser.yy"
     7263  case 416:
     7264
     7265/* Line 1806 of yacc.c  */
     7266#line 1633 "parser.yy"
    72567267    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72577268    break;
    72587269
    7259   case 418:
    7260 
    7261 /* Line 1806 of yacc.c  */
    7262 #line 1639 "parser.yy"
     7270  case 419:
     7271
     7272/* Line 1806 of yacc.c  */
     7273#line 1640 "parser.yy"
    72637274    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72647275    break;
    72657276
    7266   case 419:
    7267 
    7268 /* Line 1806 of yacc.c  */
    7269 #line 1641 "parser.yy"
     7277  case 420:
     7278
     7279/* Line 1806 of yacc.c  */
     7280#line 1642 "parser.yy"
    72707281    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72717282    break;
    72727283
    7273   case 421:
    7274 
    7275 /* Line 1806 of yacc.c  */
    7276 #line 1650 "parser.yy"
     7284  case 422:
     7285
     7286/* Line 1806 of yacc.c  */
     7287#line 1651 "parser.yy"
    72777288    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72787289    break;
    72797290
    7280   case 422:
    7281 
    7282 /* Line 1806 of yacc.c  */
    7283 #line 1653 "parser.yy"
     7291  case 423:
     7292
     7293/* Line 1806 of yacc.c  */
     7294#line 1654 "parser.yy"
    72847295    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72857296    break;
    72867297
    7287   case 423:
    7288 
    7289 /* Line 1806 of yacc.c  */
    7290 #line 1655 "parser.yy"
     7298  case 424:
     7299
     7300/* Line 1806 of yacc.c  */
     7301#line 1656 "parser.yy"
    72917302    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72927303    break;
    72937304
    7294   case 428:
    7295 
    7296 /* Line 1806 of yacc.c  */
    7297 #line 1665 "parser.yy"
     7305  case 429:
     7306
     7307/* Line 1806 of yacc.c  */
     7308#line 1666 "parser.yy"
    72987309    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72997310    break;
    73007311
    7301   case 430:
    7302 
    7303 /* Line 1806 of yacc.c  */
    7304 #line 1671 "parser.yy"
     7312  case 431:
     7313
     7314/* Line 1806 of yacc.c  */
     7315#line 1672 "parser.yy"
    73057316    {
    73067317                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73097320    break;
    73107321
    7311   case 431:
    7312 
    7313 /* Line 1806 of yacc.c  */
    7314 #line 1676 "parser.yy"
     7322  case 432:
     7323
     7324/* Line 1806 of yacc.c  */
     7325#line 1677 "parser.yy"
    73157326    {
    73167327                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73197330    break;
    73207331
    7321   case 433:
    7322 
    7323 /* Line 1806 of yacc.c  */
    7324 #line 1685 "parser.yy"
     7332  case 434:
     7333
     7334/* Line 1806 of yacc.c  */
     7335#line 1686 "parser.yy"
    73257336    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73267337    break;
    73277338
    7328   case 434:
    7329 
    7330 /* Line 1806 of yacc.c  */
    7331 #line 1694 "parser.yy"
     7339  case 435:
     7340
     7341/* Line 1806 of yacc.c  */
     7342#line 1695 "parser.yy"
    73327343    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73337344    break;
    73347345
    7335   case 435:
    7336 
    7337 /* Line 1806 of yacc.c  */
    7338 #line 1696 "parser.yy"
     7346  case 436:
     7347
     7348/* Line 1806 of yacc.c  */
     7349#line 1697 "parser.yy"
    73397350    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73407351    break;
    73417352
    7342   case 447:
    7343 
    7344 /* Line 1806 of yacc.c  */
    7345 #line 1721 "parser.yy"
     7353  case 448:
     7354
     7355/* Line 1806 of yacc.c  */
     7356#line 1722 "parser.yy"
    73467357    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73477358    break;
    73487359
    7349   case 451:
    7350 
    7351 /* Line 1806 of yacc.c  */
    7352 #line 1729 "parser.yy"
     7360  case 452:
     7361
     7362/* Line 1806 of yacc.c  */
     7363#line 1730 "parser.yy"
    73537364    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73547365    break;
    73557366
    7356   case 452:
    7357 
    7358 /* Line 1806 of yacc.c  */
    7359 #line 1734 "parser.yy"
     7367  case 453:
     7368
     7369/* Line 1806 of yacc.c  */
     7370#line 1735 "parser.yy"
    73607371    { (yyval.in) = 0; }
    73617372    break;
    73627373
    7363   case 453:
    7364 
    7365 /* Line 1806 of yacc.c  */
    7366 #line 1736 "parser.yy"
     7374  case 454:
     7375
     7376/* Line 1806 of yacc.c  */
     7377#line 1737 "parser.yy"
    73677378    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73687379    break;
    73697380
    7370   case 454:
    7371 
    7372 /* Line 1806 of yacc.c  */
    7373 #line 1738 "parser.yy"
     7381  case 455:
     7382
     7383/* Line 1806 of yacc.c  */
     7384#line 1739 "parser.yy"
    73747385    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    73757386    break;
    73767387
    7377   case 455:
    7378 
    7379 /* Line 1806 of yacc.c  */
    7380 #line 1742 "parser.yy"
     7388  case 456:
     7389
     7390/* Line 1806 of yacc.c  */
     7391#line 1743 "parser.yy"
    73817392    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73827393    break;
    73837394
    7384   case 456:
    7385 
    7386 /* Line 1806 of yacc.c  */
    7387 #line 1743 "parser.yy"
     7395  case 457:
     7396
     7397/* Line 1806 of yacc.c  */
     7398#line 1744 "parser.yy"
    73887399    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    73897400    break;
    73907401
    7391   case 457:
    7392 
    7393 /* Line 1806 of yacc.c  */
    7394 #line 1748 "parser.yy"
     7402  case 458:
     7403
     7404/* Line 1806 of yacc.c  */
     7405#line 1749 "parser.yy"
    73957406    { (yyval.in) = 0; }
    73967407    break;
    73977408
    7398   case 459:
    7399 
    7400 /* Line 1806 of yacc.c  */
    7401 #line 1750 "parser.yy"
     7409  case 460:
     7410
     7411/* Line 1806 of yacc.c  */
     7412#line 1751 "parser.yy"
    74027413    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    74037414    break;
    74047415
    7405   case 460:
    7406 
    7407 /* Line 1806 of yacc.c  */
    7408 #line 1751 "parser.yy"
     7416  case 461:
     7417
     7418/* Line 1806 of yacc.c  */
     7419#line 1752 "parser.yy"
    74097420    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    74107421    break;
    74117422
    7412   case 461:
    7413 
    7414 /* Line 1806 of yacc.c  */
    7415 #line 1753 "parser.yy"
     7423  case 462:
     7424
     7425/* Line 1806 of yacc.c  */
     7426#line 1754 "parser.yy"
    74167427    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74177428    break;
    74187429
    7419   case 463:
    7420 
    7421 /* Line 1806 of yacc.c  */
    7422 #line 1769 "parser.yy"
     7430  case 464:
     7431
     7432/* Line 1806 of yacc.c  */
     7433#line 1770 "parser.yy"
    74237434    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    74247435    break;
    74257436
    7426   case 465:
    7427 
    7428 /* Line 1806 of yacc.c  */
    7429 #line 1775 "parser.yy"
     7437  case 466:
     7438
     7439/* Line 1806 of yacc.c  */
     7440#line 1776 "parser.yy"
    74307441    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
    74317442    break;
    74327443
    7433   case 466:
    7434 
    7435 /* Line 1806 of yacc.c  */
    7436 #line 1781 "parser.yy"
     7444  case 467:
     7445
     7446/* Line 1806 of yacc.c  */
     7447#line 1782 "parser.yy"
    74377448    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    74387449    break;
    74397450
    7440   case 467:
    7441 
    7442 /* Line 1806 of yacc.c  */
    7443 #line 1784 "parser.yy"
     7451  case 468:
     7452
     7453/* Line 1806 of yacc.c  */
     7454#line 1785 "parser.yy"
    74447455    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74457456    break;
    74467457
    7447   case 468:
    7448 
    7449 /* Line 1806 of yacc.c  */
    7450 #line 1786 "parser.yy"
     7458  case 469:
     7459
     7460/* Line 1806 of yacc.c  */
     7461#line 1787 "parser.yy"
    74517462    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74527463    break;
    74537464
    7454   case 469:
    7455 
    7456 /* Line 1806 of yacc.c  */
    7457 #line 1788 "parser.yy"
     7465  case 470:
     7466
     7467/* Line 1806 of yacc.c  */
     7468#line 1789 "parser.yy"
    74587469    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    74597470    break;
    74607471
    7461   case 470:
    7462 
    7463 /* Line 1806 of yacc.c  */
    7464 #line 1790 "parser.yy"
     7472  case 471:
     7473
     7474/* Line 1806 of yacc.c  */
     7475#line 1791 "parser.yy"
    74657476    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    74667477    break;
    74677478
    7468   case 472:
    7469 
    7470 /* Line 1806 of yacc.c  */
    7471 #line 1814 "parser.yy"
     7479  case 473:
     7480
     7481/* Line 1806 of yacc.c  */
     7482#line 1815 "parser.yy"
    74727483    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74737484    break;
    74747485
    7475   case 473:
    7476 
    7477 /* Line 1806 of yacc.c  */
    7478 #line 1816 "parser.yy"
     7486  case 474:
     7487
     7488/* Line 1806 of yacc.c  */
     7489#line 1817 "parser.yy"
    74797490    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74807491    break;
    74817492
    7482   case 474:
    7483 
    7484 /* Line 1806 of yacc.c  */
    7485 #line 1818 "parser.yy"
     7493  case 475:
     7494
     7495/* Line 1806 of yacc.c  */
     7496#line 1819 "parser.yy"
    74867497    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74877498    break;
    74887499
    7489   case 476:
    7490 
    7491 /* Line 1806 of yacc.c  */
    7492 #line 1824 "parser.yy"
     7500  case 477:
     7501
     7502/* Line 1806 of yacc.c  */
     7503#line 1825 "parser.yy"
    74937504    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74947505    break;
    74957506
    7496   case 477:
    7497 
    7498 /* Line 1806 of yacc.c  */
    7499 #line 1826 "parser.yy"
     7507  case 478:
     7508
     7509/* Line 1806 of yacc.c  */
     7510#line 1827 "parser.yy"
    75007511    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75017512    break;
    75027513
    7503   case 478:
    7504 
    7505 /* Line 1806 of yacc.c  */
    7506 #line 1831 "parser.yy"
     7514  case 479:
     7515
     7516/* Line 1806 of yacc.c  */
     7517#line 1832 "parser.yy"
    75077518    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    75087519    break;
    75097520
    7510   case 480:
    7511 
    7512 /* Line 1806 of yacc.c  */
    7513 #line 1837 "parser.yy"
     7521  case 481:
     7522
     7523/* Line 1806 of yacc.c  */
     7524#line 1838 "parser.yy"
    75147525    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75157526    break;
    75167527
    7517   case 481:
    7518 
    7519 /* Line 1806 of yacc.c  */
    7520 #line 1842 "parser.yy"
     7528  case 482:
     7529
     7530/* Line 1806 of yacc.c  */
     7531#line 1843 "parser.yy"
    75217532    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75227533    break;
    75237534
    7524   case 482:
    7525 
    7526 /* Line 1806 of yacc.c  */
    7527 #line 1844 "parser.yy"
     7535  case 483:
     7536
     7537/* Line 1806 of yacc.c  */
     7538#line 1845 "parser.yy"
    75287539    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75297540    break;
    75307541
    7531   case 484:
    7532 
    7533 /* Line 1806 of yacc.c  */
    7534 #line 1850 "parser.yy"
     7542  case 485:
     7543
     7544/* Line 1806 of yacc.c  */
     7545#line 1851 "parser.yy"
    75357546    { (yyval.tclass) = DeclarationNode::Type; }
    75367547    break;
    75377548
    7538   case 485:
    7539 
    7540 /* Line 1806 of yacc.c  */
    7541 #line 1852 "parser.yy"
     7549  case 486:
     7550
     7551/* Line 1806 of yacc.c  */
     7552#line 1853 "parser.yy"
    75427553    { (yyval.tclass) = DeclarationNode::Ftype; }
    75437554    break;
    75447555
    7545   case 486:
    7546 
    7547 /* Line 1806 of yacc.c  */
    7548 #line 1854 "parser.yy"
     7556  case 487:
     7557
     7558/* Line 1806 of yacc.c  */
     7559#line 1855 "parser.yy"
    75497560    { (yyval.tclass) = DeclarationNode::Dtype; }
    75507561    break;
    75517562
    7552   case 487:
    7553 
    7554 /* Line 1806 of yacc.c  */
    7555 #line 1859 "parser.yy"
     7563  case 488:
     7564
     7565/* Line 1806 of yacc.c  */
     7566#line 1860 "parser.yy"
    75567567    { (yyval.decl) = 0; }
    75577568    break;
    75587569
    7559   case 488:
    7560 
    7561 /* Line 1806 of yacc.c  */
    7562 #line 1861 "parser.yy"
     7570  case 489:
     7571
     7572/* Line 1806 of yacc.c  */
     7573#line 1862 "parser.yy"
    75637574    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    75647575    break;
    75657576
    7566   case 489:
    7567 
    7568 /* Line 1806 of yacc.c  */
    7569 #line 1866 "parser.yy"
     7577  case 490:
     7578
     7579/* Line 1806 of yacc.c  */
     7580#line 1867 "parser.yy"
    75707581    {
    75717582                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    75747585    break;
    75757586
    7576   case 490:
    7577 
    7578 /* Line 1806 of yacc.c  */
    7579 #line 1871 "parser.yy"
     7587  case 491:
     7588
     7589/* Line 1806 of yacc.c  */
     7590#line 1872 "parser.yy"
    75807591    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75817592    break;
    75827593
    7583   case 491:
    7584 
    7585 /* Line 1806 of yacc.c  */
    7586 #line 1873 "parser.yy"
     7594  case 492:
     7595
     7596/* Line 1806 of yacc.c  */
     7597#line 1874 "parser.yy"
    75877598    { (yyval.decl) = 0; }
    75887599    break;
    75897600
    7590   case 492:
    7591 
    7592 /* Line 1806 of yacc.c  */
    7593 #line 1878 "parser.yy"
     7601  case 493:
     7602
     7603/* Line 1806 of yacc.c  */
     7604#line 1879 "parser.yy"
    75947605    { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    75957606    break;
    75967607
    7597   case 494:
    7598 
    7599 /* Line 1806 of yacc.c  */
    7600 #line 1881 "parser.yy"
     7608  case 495:
     7609
     7610/* Line 1806 of yacc.c  */
     7611#line 1882 "parser.yy"
    76017612    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
    76027613    break;
    76037614
    7604   case 495:
    7605 
    7606 /* Line 1806 of yacc.c  */
    7607 #line 1883 "parser.yy"
     7615  case 496:
     7616
     7617/* Line 1806 of yacc.c  */
     7618#line 1884 "parser.yy"
    76087619    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    76097620    break;
    76107621
    7611   case 496:
    7612 
    7613 /* Line 1806 of yacc.c  */
    7614 #line 1888 "parser.yy"
     7622  case 497:
     7623
     7624/* Line 1806 of yacc.c  */
     7625#line 1889 "parser.yy"
    76157626    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76167627    break;
    76177628
    7618   case 497:
    7619 
    7620 /* Line 1806 of yacc.c  */
    7621 #line 1890 "parser.yy"
     7629  case 498:
     7630
     7631/* Line 1806 of yacc.c  */
     7632#line 1891 "parser.yy"
    76227633    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76237634    break;
    76247635
    7625   case 498:
    7626 
    7627 /* Line 1806 of yacc.c  */
    7628 #line 1892 "parser.yy"
     7636  case 499:
     7637
     7638/* Line 1806 of yacc.c  */
     7639#line 1893 "parser.yy"
    76297640    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76307641    break;
    76317642
    7632   case 499:
    7633 
    7634 /* Line 1806 of yacc.c  */
    7635 #line 1897 "parser.yy"
     7643  case 500:
     7644
     7645/* Line 1806 of yacc.c  */
     7646#line 1898 "parser.yy"
    76367647    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76377648    break;
    76387649
    7639   case 500:
    7640 
    7641 /* Line 1806 of yacc.c  */
    7642 #line 1899 "parser.yy"
     7650  case 501:
     7651
     7652/* Line 1806 of yacc.c  */
     7653#line 1900 "parser.yy"
    76437654    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76447655    break;
    76457656
    7646   case 501:
    7647 
    7648 /* Line 1806 of yacc.c  */
    7649 #line 1904 "parser.yy"
     7657  case 502:
     7658
     7659/* Line 1806 of yacc.c  */
     7660#line 1905 "parser.yy"
    76507661    {
    76517662                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76547665    break;
    76557666
    7656   case 502:
    7657 
    7658 /* Line 1806 of yacc.c  */
    7659 #line 1909 "parser.yy"
     7667  case 503:
     7668
     7669/* Line 1806 of yacc.c  */
     7670#line 1910 "parser.yy"
    76607671    {
    76617672                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76647675    break;
    76657676
    7666   case 503:
    7667 
    7668 /* Line 1806 of yacc.c  */
    7669 #line 1917 "parser.yy"
     7677  case 504:
     7678
     7679/* Line 1806 of yacc.c  */
     7680#line 1918 "parser.yy"
    76707681    {
    76717682                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76747685    break;
    76757686
    7676   case 504:
    7677 
    7678 /* Line 1806 of yacc.c  */
    7679 #line 1922 "parser.yy"
     7687  case 505:
     7688
     7689/* Line 1806 of yacc.c  */
     7690#line 1923 "parser.yy"
    76807691    {
    76817692                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    76847695    break;
    76857696
    7686   case 505:
    7687 
    7688 /* Line 1806 of yacc.c  */
    7689 #line 1927 "parser.yy"
     7697  case 506:
     7698
     7699/* Line 1806 of yacc.c  */
     7700#line 1928 "parser.yy"
    76907701    {
    76917702                        typedefTable.leaveTrait();
     
    76957706    break;
    76967707
    7697   case 507:
    7698 
    7699 /* Line 1806 of yacc.c  */
    7700 #line 1937 "parser.yy"
     7708  case 508:
     7709
     7710/* Line 1806 of yacc.c  */
     7711#line 1938 "parser.yy"
    77017712    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    77027713    break;
    77037714
    7704   case 510:
    7705 
    7706 /* Line 1806 of yacc.c  */
    7707 #line 1947 "parser.yy"
     7715  case 511:
     7716
     7717/* Line 1806 of yacc.c  */
     7718#line 1948 "parser.yy"
    77087719    {
    77097720                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77127723    break;
    77137724
    7714   case 511:
    7715 
    7716 /* Line 1806 of yacc.c  */
    7717 #line 1952 "parser.yy"
     7725  case 512:
     7726
     7727/* Line 1806 of yacc.c  */
     7728#line 1953 "parser.yy"
    77187729    {
    77197730                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77227733    break;
    77237734
    7724   case 512:
    7725 
    7726 /* Line 1806 of yacc.c  */
    7727 #line 1957 "parser.yy"
     7735  case 513:
     7736
     7737/* Line 1806 of yacc.c  */
     7738#line 1958 "parser.yy"
    77287739    {
    77297740                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77327743    break;
    77337744
    7734   case 513:
    7735 
    7736 /* Line 1806 of yacc.c  */
    7737 #line 1965 "parser.yy"
     7745  case 514:
     7746
     7747/* Line 1806 of yacc.c  */
     7748#line 1966 "parser.yy"
    77387749    {
    77397750                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77427753    break;
    77437754
    7744   case 514:
    7745 
    7746 /* Line 1806 of yacc.c  */
    7747 #line 1970 "parser.yy"
     7755  case 515:
     7756
     7757/* Line 1806 of yacc.c  */
     7758#line 1971 "parser.yy"
    77487759    {
    77497760                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77527763    break;
    77537764
    7754   case 515:
    7755 
    7756 /* Line 1806 of yacc.c  */
    7757 #line 1980 "parser.yy"
     7765  case 516:
     7766
     7767/* Line 1806 of yacc.c  */
     7768#line 1981 "parser.yy"
    77587769    {}
    77597770    break;
    77607771
    7761   case 516:
    7762 
    7763 /* Line 1806 of yacc.c  */
    7764 #line 1982 "parser.yy"
     7772  case 517:
     7773
     7774/* Line 1806 of yacc.c  */
     7775#line 1983 "parser.yy"
    77657776    { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl);    }
    77667777    break;
    77677778
    7768   case 518:
    7769 
    7770 /* Line 1806 of yacc.c  */
    7771 #line 1988 "parser.yy"
     7779  case 519:
     7780
     7781/* Line 1806 of yacc.c  */
     7782#line 1989 "parser.yy"
    77727783    { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77737784    break;
    77747785
    7775   case 519:
    7776 
    7777 /* Line 1806 of yacc.c  */
    7778 #line 1993 "parser.yy"
     7786  case 520:
     7787
     7788/* Line 1806 of yacc.c  */
     7789#line 1994 "parser.yy"
    77797790    { (yyval.decl) = 0; }
    77807791    break;
    77817792
    7782   case 523:
    7783 
    7784 /* Line 1806 of yacc.c  */
    7785 #line 2001 "parser.yy"
     7793  case 524:
     7794
     7795/* Line 1806 of yacc.c  */
     7796#line 2002 "parser.yy"
    77867797    {}
    77877798    break;
    77887799
    7789   case 524:
    7790 
    7791 /* Line 1806 of yacc.c  */
    7792 #line 2003 "parser.yy"
     7800  case 525:
     7801
     7802/* Line 1806 of yacc.c  */
     7803#line 2004 "parser.yy"
    77937804    {
    77947805                        linkageStack.push( linkage );                           // handle nested extern "C"/"Cforall"
     
    77977808    break;
    77987809
    7799   case 525:
    7800 
    7801 /* Line 1806 of yacc.c  */
    7802 #line 2008 "parser.yy"
     7810  case 526:
     7811
     7812/* Line 1806 of yacc.c  */
     7813#line 2009 "parser.yy"
    78037814    {
    78047815                        linkage = linkageStack.top();
     
    78087819    break;
    78097820
    7810   case 526:
    7811 
    7812 /* Line 1806 of yacc.c  */
    7813 #line 2014 "parser.yy"
     7821  case 527:
     7822
     7823/* Line 1806 of yacc.c  */
     7824#line 2015 "parser.yy"
    78147825    {   // mark all fields in list
    78157826                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    78197830    break;
    78207831
    7821   case 528:
    7822 
    7823 /* Line 1806 of yacc.c  */
    7824 #line 2029 "parser.yy"
     7832  case 529:
     7833
     7834/* Line 1806 of yacc.c  */
     7835#line 2030 "parser.yy"
    78257836    {
    78267837                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78307841    break;
    78317842
    7832   case 529:
    7833 
    7834 /* Line 1806 of yacc.c  */
    7835 #line 2035 "parser.yy"
     7843  case 530:
     7844
     7845/* Line 1806 of yacc.c  */
     7846#line 2036 "parser.yy"
    78367847    {
    78377848                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78417852    break;
    78427853
    7843   case 530:
    7844 
    7845 /* Line 1806 of yacc.c  */
    7846 #line 2044 "parser.yy"
     7854  case 531:
     7855
     7856/* Line 1806 of yacc.c  */
     7857#line 2045 "parser.yy"
    78477858    {
    78487859                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78527863    break;
    78537864
    7854   case 531:
    7855 
    7856 /* Line 1806 of yacc.c  */
    7857 #line 2050 "parser.yy"
     7865  case 532:
     7866
     7867/* Line 1806 of yacc.c  */
     7868#line 2051 "parser.yy"
    78587869    {
    78597870                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78637874    break;
    78647875
    7865   case 532:
    7866 
    7867 /* Line 1806 of yacc.c  */
    7868 #line 2056 "parser.yy"
     7876  case 533:
     7877
     7878/* Line 1806 of yacc.c  */
     7879#line 2057 "parser.yy"
    78697880    {
    78707881                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78747885    break;
    78757886
    7876   case 533:
    7877 
    7878 /* Line 1806 of yacc.c  */
    7879 #line 2062 "parser.yy"
     7887  case 534:
     7888
     7889/* Line 1806 of yacc.c  */
     7890#line 2063 "parser.yy"
    78807891    {
    78817892                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78857896    break;
    78867897
    7887   case 534:
    7888 
    7889 /* Line 1806 of yacc.c  */
    7890 #line 2068 "parser.yy"
     7898  case 535:
     7899
     7900/* Line 1806 of yacc.c  */
     7901#line 2069 "parser.yy"
    78917902    {
    78927903                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78967907    break;
    78977908
    7898   case 535:
    7899 
    7900 /* Line 1806 of yacc.c  */
    7901 #line 2076 "parser.yy"
     7909  case 536:
     7910
     7911/* Line 1806 of yacc.c  */
     7912#line 2077 "parser.yy"
    79027913    {
    79037914                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79077918    break;
    79087919
    7909   case 536:
    7910 
    7911 /* Line 1806 of yacc.c  */
    7912 #line 2082 "parser.yy"
     7920  case 537:
     7921
     7922/* Line 1806 of yacc.c  */
     7923#line 2083 "parser.yy"
    79137924    {
    79147925                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79187929    break;
    79197930
    7920   case 537:
    7921 
    7922 /* Line 1806 of yacc.c  */
    7923 #line 2090 "parser.yy"
     7931  case 538:
     7932
     7933/* Line 1806 of yacc.c  */
     7934#line 2091 "parser.yy"
    79247935    {
    79257936                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79297940    break;
    79307941
    7931   case 538:
    7932 
    7933 /* Line 1806 of yacc.c  */
    7934 #line 2096 "parser.yy"
     7942  case 539:
     7943
     7944/* Line 1806 of yacc.c  */
     7945#line 2097 "parser.yy"
    79357946    {
    79367947                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79407951    break;
    79417952
    7942   case 542:
    7943 
    7944 /* Line 1806 of yacc.c  */
    7945 #line 2111 "parser.yy"
     7953  case 543:
     7954
     7955/* Line 1806 of yacc.c  */
     7956#line 2112 "parser.yy"
    79467957    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    79477958    break;
    79487959
    7949   case 544:
    7950 
    7951 /* Line 1806 of yacc.c  */
    7952 #line 2116 "parser.yy"
     7960  case 545:
     7961
     7962/* Line 1806 of yacc.c  */
     7963#line 2117 "parser.yy"
    79537964    { delete (yyvsp[(3) - (5)].str); }
    79547965    break;
    79557966
    7956   case 545:
    7957 
    7958 /* Line 1806 of yacc.c  */
    7959 #line 2121 "parser.yy"
     7967  case 546:
     7968
     7969/* Line 1806 of yacc.c  */
     7970#line 2122 "parser.yy"
    79607971    { (yyval.decl) = 0; }
    79617972    break;
    79627973
    7963   case 548:
    7964 
    7965 /* Line 1806 of yacc.c  */
    7966 #line 2128 "parser.yy"
     7974  case 549:
     7975
     7976/* Line 1806 of yacc.c  */
     7977#line 2129 "parser.yy"
    79677978    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    79687979    break;
    79697980
    7970   case 549:
    7971 
    7972 /* Line 1806 of yacc.c  */
    7973 #line 2134 "parser.yy"
     7981  case 550:
     7982
     7983/* Line 1806 of yacc.c  */
     7984#line 2135 "parser.yy"
    79747985    { (yyval.decl) = 0; }
    79757986    break;
    79767987
    7977   case 554:
    7978 
    7979 /* Line 1806 of yacc.c  */
    7980 #line 2145 "parser.yy"
     7988  case 555:
     7989
     7990/* Line 1806 of yacc.c  */
     7991#line 2146 "parser.yy"
    79817992    { delete (yyvsp[(3) - (4)].en); }
    79827993    break;
    79837994
    7984   case 555:
    7985 
    7986 /* Line 1806 of yacc.c  */
    7987 #line 2149 "parser.yy"
     7995  case 556:
     7996
     7997/* Line 1806 of yacc.c  */
     7998#line 2150 "parser.yy"
    79887999    { delete (yyvsp[(1) - (1)].tok); }
    7989     break;
    7990 
    7991   case 556:
    7992 
    7993 /* Line 1806 of yacc.c  */
    7994 #line 2150 "parser.yy"
    7995     { delete (yyvsp[(1) - (1)].decl); }
    79968000    break;
    79978001
     
    80138017
    80148018/* Line 1806 of yacc.c  */
    8015 #line 2187 "parser.yy"
     8019#line 2153 "parser.yy"
     8020    { delete (yyvsp[(1) - (1)].decl); }
     8021    break;
     8022
     8023  case 560:
     8024
     8025/* Line 1806 of yacc.c  */
     8026#line 2188 "parser.yy"
    80168027    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80178028    break;
    80188029
    8019   case 561:
    8020 
    8021 /* Line 1806 of yacc.c  */
    8022 #line 2190 "parser.yy"
     8030  case 562:
     8031
     8032/* Line 1806 of yacc.c  */
     8033#line 2191 "parser.yy"
    80238034    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80248035    break;
    80258036
    8026   case 562:
    8027 
    8028 /* Line 1806 of yacc.c  */
    8029 #line 2192 "parser.yy"
     8037  case 563:
     8038
     8039/* Line 1806 of yacc.c  */
     8040#line 2193 "parser.yy"
    80308041    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80318042    break;
    80328043
    8033   case 563:
    8034 
    8035 /* Line 1806 of yacc.c  */
    8036 #line 2197 "parser.yy"
     8044  case 564:
     8045
     8046/* Line 1806 of yacc.c  */
     8047#line 2198 "parser.yy"
    80378048    {
    80388049                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80418052    break;
    80428053
    8043   case 564:
    8044 
    8045 /* Line 1806 of yacc.c  */
    8046 #line 2202 "parser.yy"
     8054  case 565:
     8055
     8056/* Line 1806 of yacc.c  */
     8057#line 2203 "parser.yy"
    80478058    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80488059    break;
    80498060
    8050   case 565:
    8051 
    8052 /* Line 1806 of yacc.c  */
    8053 #line 2207 "parser.yy"
     8061  case 566:
     8062
     8063/* Line 1806 of yacc.c  */
     8064#line 2208 "parser.yy"
    80548065    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80558066    break;
    80568067
    8057   case 566:
    8058 
    8059 /* Line 1806 of yacc.c  */
    8060 #line 2209 "parser.yy"
     8068  case 567:
     8069
     8070/* Line 1806 of yacc.c  */
     8071#line 2210 "parser.yy"
    80618072    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80628073    break;
    80638074
    8064   case 567:
    8065 
    8066 /* Line 1806 of yacc.c  */
    8067 #line 2211 "parser.yy"
     8075  case 568:
     8076
     8077/* Line 1806 of yacc.c  */
     8078#line 2212 "parser.yy"
    80688079    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80698080    break;
    80708081
    8071   case 568:
    8072 
    8073 /* Line 1806 of yacc.c  */
    8074 #line 2216 "parser.yy"
     8082  case 569:
     8083
     8084/* Line 1806 of yacc.c  */
     8085#line 2217 "parser.yy"
    80758086    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80768087    break;
    80778088
    8078   case 569:
    8079 
    8080 /* Line 1806 of yacc.c  */
    8081 #line 2218 "parser.yy"
     8089  case 570:
     8090
     8091/* Line 1806 of yacc.c  */
     8092#line 2219 "parser.yy"
    80828093    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80838094    break;
    80848095
    8085   case 570:
    8086 
    8087 /* Line 1806 of yacc.c  */
    8088 #line 2220 "parser.yy"
     8096  case 571:
     8097
     8098/* Line 1806 of yacc.c  */
     8099#line 2221 "parser.yy"
    80898100    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80908101    break;
    80918102
    8092   case 571:
    8093 
    8094 /* Line 1806 of yacc.c  */
    8095 #line 2222 "parser.yy"
     8103  case 572:
     8104
     8105/* Line 1806 of yacc.c  */
     8106#line 2223 "parser.yy"
    80968107    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80978108    break;
    80988109
    8099   case 572:
    8100 
    8101 /* Line 1806 of yacc.c  */
    8102 #line 2227 "parser.yy"
     8110  case 573:
     8111
     8112/* Line 1806 of yacc.c  */
     8113#line 2228 "parser.yy"
    81038114    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81048115    break;
    81058116
    8106   case 573:
    8107 
    8108 /* Line 1806 of yacc.c  */
    8109 #line 2229 "parser.yy"
     8117  case 574:
     8118
     8119/* Line 1806 of yacc.c  */
     8120#line 2230 "parser.yy"
    81108121    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81118122    break;
    81128123
    8113   case 574:
    8114 
    8115 /* Line 1806 of yacc.c  */
    8116 #line 2238 "parser.yy"
     8124  case 575:
     8125
     8126/* Line 1806 of yacc.c  */
     8127#line 2239 "parser.yy"
    81178128    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81188129    break;
    81198130
    8120   case 576:
    8121 
    8122 /* Line 1806 of yacc.c  */
    8123 #line 2241 "parser.yy"
     8131  case 577:
     8132
     8133/* Line 1806 of yacc.c  */
     8134#line 2242 "parser.yy"
    81248135    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81258136    break;
    81268137
    8127   case 577:
    8128 
    8129 /* Line 1806 of yacc.c  */
    8130 #line 2246 "parser.yy"
     8138  case 578:
     8139
     8140/* Line 1806 of yacc.c  */
     8141#line 2247 "parser.yy"
    81318142    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81328143    break;
    81338144
    8134   case 578:
    8135 
    8136 /* Line 1806 of yacc.c  */
    8137 #line 2248 "parser.yy"
     8145  case 579:
     8146
     8147/* Line 1806 of yacc.c  */
     8148#line 2249 "parser.yy"
    81388149    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81398150    break;
    81408151
    8141   case 579:
    8142 
    8143 /* Line 1806 of yacc.c  */
    8144 #line 2250 "parser.yy"
     8152  case 580:
     8153
     8154/* Line 1806 of yacc.c  */
     8155#line 2251 "parser.yy"
    81458156    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81468157    break;
    81478158
    8148   case 580:
    8149 
    8150 /* Line 1806 of yacc.c  */
    8151 #line 2255 "parser.yy"
     8159  case 581:
     8160
     8161/* Line 1806 of yacc.c  */
     8162#line 2256 "parser.yy"
    81528163    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81538164    break;
    81548165
    8155   case 581:
    8156 
    8157 /* Line 1806 of yacc.c  */
    8158 #line 2257 "parser.yy"
     8166  case 582:
     8167
     8168/* Line 1806 of yacc.c  */
     8169#line 2258 "parser.yy"
    81598170    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81608171    break;
    81618172
    8162   case 582:
    8163 
    8164 /* Line 1806 of yacc.c  */
    8165 #line 2259 "parser.yy"
     8173  case 583:
     8174
     8175/* Line 1806 of yacc.c  */
     8176#line 2260 "parser.yy"
    81668177    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81678178    break;
    81688179
    8169   case 583:
    8170 
    8171 /* Line 1806 of yacc.c  */
    8172 #line 2264 "parser.yy"
     8180  case 584:
     8181
     8182/* Line 1806 of yacc.c  */
     8183#line 2265 "parser.yy"
    81738184    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81748185    break;
    81758186
    8176   case 584:
    8177 
    8178 /* Line 1806 of yacc.c  */
    8179 #line 2266 "parser.yy"
     8187  case 585:
     8188
     8189/* Line 1806 of yacc.c  */
     8190#line 2267 "parser.yy"
    81808191    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81818192    break;
    81828193
    8183   case 585:
    8184 
    8185 /* Line 1806 of yacc.c  */
    8186 #line 2268 "parser.yy"
     8194  case 586:
     8195
     8196/* Line 1806 of yacc.c  */
     8197#line 2269 "parser.yy"
    81878198    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81888199    break;
    81898200
    8190   case 589:
    8191 
    8192 /* Line 1806 of yacc.c  */
    8193 #line 2283 "parser.yy"
     8201  case 590:
     8202
     8203/* Line 1806 of yacc.c  */
     8204#line 2284 "parser.yy"
    81948205    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    81958206    break;
    81968207
    8197   case 590:
    8198 
    8199 /* Line 1806 of yacc.c  */
    8200 #line 2285 "parser.yy"
     8208  case 591:
     8209
     8210/* Line 1806 of yacc.c  */
     8211#line 2286 "parser.yy"
    82018212    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    82028213    break;
    82038214
    8204   case 591:
    8205 
    8206 /* Line 1806 of yacc.c  */
    8207 #line 2287 "parser.yy"
     8215  case 592:
     8216
     8217/* Line 1806 of yacc.c  */
     8218#line 2288 "parser.yy"
    82088219    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82098220    break;
    82108221
    8211   case 592:
    8212 
    8213 /* Line 1806 of yacc.c  */
    8214 #line 2292 "parser.yy"
     8222  case 593:
     8223
     8224/* Line 1806 of yacc.c  */
     8225#line 2293 "parser.yy"
    82158226    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82168227    break;
    82178228
    8218   case 593:
    8219 
    8220 /* Line 1806 of yacc.c  */
    8221 #line 2294 "parser.yy"
     8229  case 594:
     8230
     8231/* Line 1806 of yacc.c  */
     8232#line 2295 "parser.yy"
    82228233    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82238234    break;
    82248235
    8225   case 594:
    8226 
    8227 /* Line 1806 of yacc.c  */
    8228 #line 2296 "parser.yy"
     8236  case 595:
     8237
     8238/* Line 1806 of yacc.c  */
     8239#line 2297 "parser.yy"
    82298240    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82308241    break;
    82318242
    8232   case 595:
    8233 
    8234 /* Line 1806 of yacc.c  */
    8235 #line 2301 "parser.yy"
     8243  case 596:
     8244
     8245/* Line 1806 of yacc.c  */
     8246#line 2302 "parser.yy"
    82368247    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82378248    break;
    82388249
    8239   case 596:
    8240 
    8241 /* Line 1806 of yacc.c  */
    8242 #line 2303 "parser.yy"
     8250  case 597:
     8251
     8252/* Line 1806 of yacc.c  */
     8253#line 2304 "parser.yy"
    82438254    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82448255    break;
    82458256
    8246   case 597:
    8247 
    8248 /* Line 1806 of yacc.c  */
    8249 #line 2305 "parser.yy"
     8257  case 598:
     8258
     8259/* Line 1806 of yacc.c  */
     8260#line 2306 "parser.yy"
    82508261    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82518262    break;
    82528263
    8253   case 598:
    8254 
    8255 /* Line 1806 of yacc.c  */
    8256 #line 2320 "parser.yy"
     8264  case 599:
     8265
     8266/* Line 1806 of yacc.c  */
     8267#line 2321 "parser.yy"
    82578268    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82588269    break;
    82598270
    8260   case 600:
    8261 
    8262 /* Line 1806 of yacc.c  */
    8263 #line 2323 "parser.yy"
     8271  case 601:
     8272
     8273/* Line 1806 of yacc.c  */
     8274#line 2324 "parser.yy"
    82648275    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82658276    break;
    82668277
    8267   case 601:
    8268 
    8269 /* Line 1806 of yacc.c  */
    8270 #line 2325 "parser.yy"
     8278  case 602:
     8279
     8280/* Line 1806 of yacc.c  */
     8281#line 2326 "parser.yy"
    82718282    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82728283    break;
    82738284
    8274   case 603:
    8275 
    8276 /* Line 1806 of yacc.c  */
    8277 #line 2331 "parser.yy"
     8285  case 604:
     8286
     8287/* Line 1806 of yacc.c  */
     8288#line 2332 "parser.yy"
    82788289    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82798290    break;
    82808291
    8281   case 604:
    8282 
    8283 /* Line 1806 of yacc.c  */
    8284 #line 2336 "parser.yy"
     8292  case 605:
     8293
     8294/* Line 1806 of yacc.c  */
     8295#line 2337 "parser.yy"
    82858296    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82868297    break;
    82878298
    8288   case 605:
    8289 
    8290 /* Line 1806 of yacc.c  */
    8291 #line 2338 "parser.yy"
     8299  case 606:
     8300
     8301/* Line 1806 of yacc.c  */
     8302#line 2339 "parser.yy"
    82928303    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82938304    break;
    82948305
    8295   case 606:
    8296 
    8297 /* Line 1806 of yacc.c  */
    8298 #line 2340 "parser.yy"
     8306  case 607:
     8307
     8308/* Line 1806 of yacc.c  */
     8309#line 2341 "parser.yy"
    82998310    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83008311    break;
    83018312
    8302   case 607:
    8303 
    8304 /* Line 1806 of yacc.c  */
    8305 #line 2345 "parser.yy"
     8313  case 608:
     8314
     8315/* Line 1806 of yacc.c  */
     8316#line 2346 "parser.yy"
    83068317    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83078318    break;
    83088319
    8309   case 608:
    8310 
    8311 /* Line 1806 of yacc.c  */
    8312 #line 2347 "parser.yy"
     8320  case 609:
     8321
     8322/* Line 1806 of yacc.c  */
     8323#line 2348 "parser.yy"
    83138324    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83148325    break;
    83158326
    8316   case 609:
    8317 
    8318 /* Line 1806 of yacc.c  */
    8319 #line 2349 "parser.yy"
     8327  case 610:
     8328
     8329/* Line 1806 of yacc.c  */
     8330#line 2350 "parser.yy"
    83208331    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83218332    break;
    83228333
    8323   case 610:
    8324 
    8325 /* Line 1806 of yacc.c  */
    8326 #line 2351 "parser.yy"
     8334  case 611:
     8335
     8336/* Line 1806 of yacc.c  */
     8337#line 2352 "parser.yy"
    83278338    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83288339    break;
    83298340
    8330   case 611:
    8331 
    8332 /* Line 1806 of yacc.c  */
    8333 #line 2356 "parser.yy"
     8341  case 612:
     8342
     8343/* Line 1806 of yacc.c  */
     8344#line 2357 "parser.yy"
    83348345    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83358346    break;
    83368347
    8337   case 612:
    8338 
    8339 /* Line 1806 of yacc.c  */
    8340 #line 2358 "parser.yy"
     8348  case 613:
     8349
     8350/* Line 1806 of yacc.c  */
     8351#line 2359 "parser.yy"
    83418352    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83428353    break;
    83438354
    8344   case 613:
    8345 
    8346 /* Line 1806 of yacc.c  */
    8347 #line 2360 "parser.yy"
     8355  case 614:
     8356
     8357/* Line 1806 of yacc.c  */
     8358#line 2361 "parser.yy"
    83488359    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83498360    break;
    83508361
    8351   case 614:
    8352 
    8353 /* Line 1806 of yacc.c  */
    8354 #line 2370 "parser.yy"
     8362  case 615:
     8363
     8364/* Line 1806 of yacc.c  */
     8365#line 2371 "parser.yy"
    83558366    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83568367    break;
    83578368
    8358   case 616:
    8359 
    8360 /* Line 1806 of yacc.c  */
    8361 #line 2373 "parser.yy"
     8369  case 617:
     8370
     8371/* Line 1806 of yacc.c  */
     8372#line 2374 "parser.yy"
    83628373    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83638374    break;
    83648375
    8365   case 617:
    8366 
    8367 /* Line 1806 of yacc.c  */
    8368 #line 2375 "parser.yy"
     8376  case 618:
     8377
     8378/* Line 1806 of yacc.c  */
     8379#line 2376 "parser.yy"
    83698380    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83708381    break;
    83718382
    8372   case 618:
    8373 
    8374 /* Line 1806 of yacc.c  */
    8375 #line 2380 "parser.yy"
     8383  case 619:
     8384
     8385/* Line 1806 of yacc.c  */
     8386#line 2381 "parser.yy"
    83768387    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83778388    break;
    83788389
    8379   case 619:
    8380 
    8381 /* Line 1806 of yacc.c  */
    8382 #line 2382 "parser.yy"
     8390  case 620:
     8391
     8392/* Line 1806 of yacc.c  */
     8393#line 2383 "parser.yy"
    83838394    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83848395    break;
    83858396
    8386   case 620:
    8387 
    8388 /* Line 1806 of yacc.c  */
    8389 #line 2384 "parser.yy"
     8397  case 621:
     8398
     8399/* Line 1806 of yacc.c  */
     8400#line 2385 "parser.yy"
    83908401    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83918402    break;
    83928403
    8393   case 621:
    8394 
    8395 /* Line 1806 of yacc.c  */
    8396 #line 2389 "parser.yy"
     8404  case 622:
     8405
     8406/* Line 1806 of yacc.c  */
     8407#line 2390 "parser.yy"
    83978408    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83988409    break;
    83998410
    8400   case 622:
    8401 
    8402 /* Line 1806 of yacc.c  */
    8403 #line 2391 "parser.yy"
     8411  case 623:
     8412
     8413/* Line 1806 of yacc.c  */
     8414#line 2392 "parser.yy"
    84048415    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84058416    break;
    84068417
    8407   case 623:
    8408 
    8409 /* Line 1806 of yacc.c  */
    8410 #line 2393 "parser.yy"
     8418  case 624:
     8419
     8420/* Line 1806 of yacc.c  */
     8421#line 2394 "parser.yy"
    84118422    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84128423    break;
    84138424
    8414   case 624:
    8415 
    8416 /* Line 1806 of yacc.c  */
    8417 #line 2395 "parser.yy"
     8425  case 625:
     8426
     8427/* Line 1806 of yacc.c  */
     8428#line 2396 "parser.yy"
    84188429    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84198430    break;
    84208431
    8421   case 625:
    8422 
    8423 /* Line 1806 of yacc.c  */
    8424 #line 2400 "parser.yy"
     8432  case 626:
     8433
     8434/* Line 1806 of yacc.c  */
     8435#line 2401 "parser.yy"
    84258436    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84268437    break;
    84278438
    8428   case 626:
    8429 
    8430 /* Line 1806 of yacc.c  */
    8431 #line 2402 "parser.yy"
     8439  case 627:
     8440
     8441/* Line 1806 of yacc.c  */
     8442#line 2403 "parser.yy"
    84328443    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84338444    break;
    84348445
    8435   case 627:
    8436 
    8437 /* Line 1806 of yacc.c  */
    8438 #line 2404 "parser.yy"
     8446  case 628:
     8447
     8448/* Line 1806 of yacc.c  */
     8449#line 2405 "parser.yy"
    84398450    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84408451    break;
    84418452
    8442   case 628:
    8443 
    8444 /* Line 1806 of yacc.c  */
    8445 #line 2435 "parser.yy"
     8453  case 629:
     8454
     8455/* Line 1806 of yacc.c  */
     8456#line 2436 "parser.yy"
    84468457    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84478458    break;
    84488459
    8449   case 630:
    8450 
    8451 /* Line 1806 of yacc.c  */
    8452 #line 2438 "parser.yy"
     8460  case 631:
     8461
     8462/* Line 1806 of yacc.c  */
     8463#line 2439 "parser.yy"
    84538464    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84548465    break;
    84558466
    8456   case 631:
    8457 
    8458 /* Line 1806 of yacc.c  */
    8459 #line 2440 "parser.yy"
     8467  case 632:
     8468
     8469/* Line 1806 of yacc.c  */
     8470#line 2441 "parser.yy"
    84608471    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84618472    break;
    84628473
    8463   case 632:
    8464 
    8465 /* Line 1806 of yacc.c  */
    8466 #line 2445 "parser.yy"
     8474  case 633:
     8475
     8476/* Line 1806 of yacc.c  */
     8477#line 2446 "parser.yy"
    84678478    {
    84688479                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84718482    break;
    84728483
    8473   case 633:
    8474 
    8475 /* Line 1806 of yacc.c  */
    8476 #line 2450 "parser.yy"
     8484  case 634:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2451 "parser.yy"
    84778488    {
    84788489                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84818492    break;
    84828493
    8483   case 634:
    8484 
    8485 /* Line 1806 of yacc.c  */
    8486 #line 2458 "parser.yy"
     8494  case 635:
     8495
     8496/* Line 1806 of yacc.c  */
     8497#line 2459 "parser.yy"
    84878498    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84888499    break;
    84898500
    8490   case 635:
    8491 
    8492 /* Line 1806 of yacc.c  */
    8493 #line 2460 "parser.yy"
     8501  case 636:
     8502
     8503/* Line 1806 of yacc.c  */
     8504#line 2461 "parser.yy"
    84948505    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84958506    break;
    84968507
    8497   case 636:
    8498 
    8499 /* Line 1806 of yacc.c  */
    8500 #line 2462 "parser.yy"
     8508  case 637:
     8509
     8510/* Line 1806 of yacc.c  */
     8511#line 2463 "parser.yy"
    85018512    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85028513    break;
    85038514
    8504   case 637:
    8505 
    8506 /* Line 1806 of yacc.c  */
    8507 #line 2467 "parser.yy"
     8515  case 638:
     8516
     8517/* Line 1806 of yacc.c  */
     8518#line 2468 "parser.yy"
    85088519    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    85098520    break;
    85108521
    8511   case 638:
    8512 
    8513 /* Line 1806 of yacc.c  */
    8514 #line 2469 "parser.yy"
     8522  case 639:
     8523
     8524/* Line 1806 of yacc.c  */
     8525#line 2470 "parser.yy"
    85158526    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85168527    break;
    85178528
    8518   case 639:
    8519 
    8520 /* Line 1806 of yacc.c  */
    8521 #line 2474 "parser.yy"
     8529  case 640:
     8530
     8531/* Line 1806 of yacc.c  */
     8532#line 2475 "parser.yy"
    85228533    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85238534    break;
    85248535
    8525   case 640:
    8526 
    8527 /* Line 1806 of yacc.c  */
    8528 #line 2476 "parser.yy"
     8536  case 641:
     8537
     8538/* Line 1806 of yacc.c  */
     8539#line 2477 "parser.yy"
    85298540    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85308541    break;
    85318542
    8532   case 642:
    8533 
    8534 /* Line 1806 of yacc.c  */
    8535 #line 2491 "parser.yy"
     8543  case 643:
     8544
     8545/* Line 1806 of yacc.c  */
     8546#line 2492 "parser.yy"
    85368547    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85378548    break;
    85388549
    8539   case 643:
    8540 
    8541 /* Line 1806 of yacc.c  */
    8542 #line 2493 "parser.yy"
     8550  case 644:
     8551
     8552/* Line 1806 of yacc.c  */
     8553#line 2494 "parser.yy"
    85438554    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85448555    break;
    85458556
    8546   case 644:
    8547 
    8548 /* Line 1806 of yacc.c  */
    8549 #line 2498 "parser.yy"
     8557  case 645:
     8558
     8559/* Line 1806 of yacc.c  */
     8560#line 2499 "parser.yy"
    85508561    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85518562    break;
    85528563
    8553   case 645:
    8554 
    8555 /* Line 1806 of yacc.c  */
    8556 #line 2500 "parser.yy"
     8564  case 646:
     8565
     8566/* Line 1806 of yacc.c  */
     8567#line 2501 "parser.yy"
    85578568    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85588569    break;
    85598570
    8560   case 646:
    8561 
    8562 /* Line 1806 of yacc.c  */
    8563 #line 2502 "parser.yy"
     8571  case 647:
     8572
     8573/* Line 1806 of yacc.c  */
     8574#line 2503 "parser.yy"
    85648575    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85658576    break;
    85668577
    8567   case 647:
    8568 
    8569 /* Line 1806 of yacc.c  */
    8570 #line 2504 "parser.yy"
     8578  case 648:
     8579
     8580/* Line 1806 of yacc.c  */
     8581#line 2505 "parser.yy"
    85718582    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85728583    break;
    85738584
    8574   case 648:
    8575 
    8576 /* Line 1806 of yacc.c  */
    8577 #line 2506 "parser.yy"
     8585  case 649:
     8586
     8587/* Line 1806 of yacc.c  */
     8588#line 2507 "parser.yy"
    85788589    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85798590    break;
    85808591
    8581   case 650:
    8582 
    8583 /* Line 1806 of yacc.c  */
    8584 #line 2512 "parser.yy"
     8592  case 651:
     8593
     8594/* Line 1806 of yacc.c  */
     8595#line 2513 "parser.yy"
    85858596    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85868597    break;
    85878598
    8588   case 651:
    8589 
    8590 /* Line 1806 of yacc.c  */
    8591 #line 2514 "parser.yy"
     8599  case 652:
     8600
     8601/* Line 1806 of yacc.c  */
     8602#line 2515 "parser.yy"
    85928603    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85938604    break;
    85948605
    8595   case 652:
    8596 
    8597 /* Line 1806 of yacc.c  */
    8598 #line 2516 "parser.yy"
     8606  case 653:
     8607
     8608/* Line 1806 of yacc.c  */
     8609#line 2517 "parser.yy"
    85998610    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86008611    break;
    86018612
    8602   case 653:
    8603 
    8604 /* Line 1806 of yacc.c  */
    8605 #line 2521 "parser.yy"
     8613  case 654:
     8614
     8615/* Line 1806 of yacc.c  */
     8616#line 2522 "parser.yy"
    86068617    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    86078618    break;
    86088619
    8609   case 654:
    8610 
    8611 /* Line 1806 of yacc.c  */
    8612 #line 2523 "parser.yy"
     8620  case 655:
     8621
     8622/* Line 1806 of yacc.c  */
     8623#line 2524 "parser.yy"
    86138624    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86148625    break;
    86158626
    8616   case 655:
    8617 
    8618 /* Line 1806 of yacc.c  */
    8619 #line 2525 "parser.yy"
     8627  case 656:
     8628
     8629/* Line 1806 of yacc.c  */
     8630#line 2526 "parser.yy"
    86208631    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86218632    break;
    86228633
    8623   case 656:
    8624 
    8625 /* Line 1806 of yacc.c  */
    8626 #line 2531 "parser.yy"
     8634  case 657:
     8635
     8636/* Line 1806 of yacc.c  */
     8637#line 2532 "parser.yy"
    86278638    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86288639    break;
    86298640
    8630   case 657:
    8631 
    8632 /* Line 1806 of yacc.c  */
    8633 #line 2533 "parser.yy"
     8641  case 658:
     8642
     8643/* Line 1806 of yacc.c  */
     8644#line 2534 "parser.yy"
    86348645    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    86358646    break;
    86368647
    8637   case 659:
    8638 
    8639 /* Line 1806 of yacc.c  */
    8640 #line 2539 "parser.yy"
     8648  case 660:
     8649
     8650/* Line 1806 of yacc.c  */
     8651#line 2540 "parser.yy"
    86418652    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    86428653    break;
    86438654
    8644   case 660:
    8645 
    8646 /* Line 1806 of yacc.c  */
    8647 #line 2541 "parser.yy"
     8655  case 661:
     8656
     8657/* Line 1806 of yacc.c  */
     8658#line 2542 "parser.yy"
    86488659    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    86498660    break;
    86508661
    8651   case 661:
    8652 
    8653 /* Line 1806 of yacc.c  */
    8654 #line 2543 "parser.yy"
     8662  case 662:
     8663
     8664/* Line 1806 of yacc.c  */
     8665#line 2544 "parser.yy"
    86558666    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    86568667    break;
    86578668
    8658   case 662:
    8659 
    8660 /* Line 1806 of yacc.c  */
    8661 #line 2545 "parser.yy"
     8669  case 663:
     8670
     8671/* Line 1806 of yacc.c  */
     8672#line 2546 "parser.yy"
    86628673    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    86638674    break;
    86648675
    8665   case 664:
    8666 
    8667 /* Line 1806 of yacc.c  */
    8668 #line 2560 "parser.yy"
     8676  case 665:
     8677
     8678/* Line 1806 of yacc.c  */
     8679#line 2561 "parser.yy"
    86698680    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86708681    break;
    86718682
    8672   case 665:
    8673 
    8674 /* Line 1806 of yacc.c  */
    8675 #line 2562 "parser.yy"
     8683  case 666:
     8684
     8685/* Line 1806 of yacc.c  */
     8686#line 2563 "parser.yy"
    86768687    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86778688    break;
    86788689
    8679   case 666:
    8680 
    8681 /* Line 1806 of yacc.c  */
    8682 #line 2567 "parser.yy"
     8690  case 667:
     8691
     8692/* Line 1806 of yacc.c  */
     8693#line 2568 "parser.yy"
    86838694    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86848695    break;
    86858696
    8686   case 667:
    8687 
    8688 /* Line 1806 of yacc.c  */
    8689 #line 2569 "parser.yy"
     8697  case 668:
     8698
     8699/* Line 1806 of yacc.c  */
     8700#line 2570 "parser.yy"
    86908701    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86918702    break;
    86928703
    8693   case 668:
    8694 
    8695 /* Line 1806 of yacc.c  */
    8696 #line 2571 "parser.yy"
     8704  case 669:
     8705
     8706/* Line 1806 of yacc.c  */
     8707#line 2572 "parser.yy"
    86978708    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86988709    break;
    86998710
    8700   case 669:
    8701 
    8702 /* Line 1806 of yacc.c  */
    8703 #line 2573 "parser.yy"
     8711  case 670:
     8712
     8713/* Line 1806 of yacc.c  */
     8714#line 2574 "parser.yy"
    87048715    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87058716    break;
    87068717
    8707   case 670:
    8708 
    8709 /* Line 1806 of yacc.c  */
    8710 #line 2575 "parser.yy"
     8718  case 671:
     8719
     8720/* Line 1806 of yacc.c  */
     8721#line 2576 "parser.yy"
    87118722    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87128723    break;
    87138724
    8714   case 672:
    8715 
    8716 /* Line 1806 of yacc.c  */
    8717 #line 2581 "parser.yy"
     8725  case 673:
     8726
     8727/* Line 1806 of yacc.c  */
     8728#line 2582 "parser.yy"
    87188729    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87198730    break;
    87208731
    8721   case 673:
    8722 
    8723 /* Line 1806 of yacc.c  */
    8724 #line 2583 "parser.yy"
     8732  case 674:
     8733
     8734/* Line 1806 of yacc.c  */
     8735#line 2584 "parser.yy"
    87258736    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87268737    break;
    87278738
    8728   case 674:
    8729 
    8730 /* Line 1806 of yacc.c  */
    8731 #line 2585 "parser.yy"
     8739  case 675:
     8740
     8741/* Line 1806 of yacc.c  */
     8742#line 2586 "parser.yy"
    87328743    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87338744    break;
    87348745
    8735   case 675:
    8736 
    8737 /* Line 1806 of yacc.c  */
    8738 #line 2590 "parser.yy"
     8746  case 676:
     8747
     8748/* Line 1806 of yacc.c  */
     8749#line 2591 "parser.yy"
    87398750    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    87408751    break;
    87418752
    8742   case 676:
    8743 
    8744 /* Line 1806 of yacc.c  */
    8745 #line 2592 "parser.yy"
     8753  case 677:
     8754
     8755/* Line 1806 of yacc.c  */
     8756#line 2593 "parser.yy"
    87468757    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87478758    break;
    87488759
    8749   case 677:
    8750 
    8751 /* Line 1806 of yacc.c  */
    8752 #line 2594 "parser.yy"
     8760  case 678:
     8761
     8762/* Line 1806 of yacc.c  */
     8763#line 2595 "parser.yy"
    87538764    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87548765    break;
    87558766
    8756   case 679:
    8757 
    8758 /* Line 1806 of yacc.c  */
    8759 #line 2601 "parser.yy"
     8767  case 680:
     8768
     8769/* Line 1806 of yacc.c  */
     8770#line 2602 "parser.yy"
    87608771    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87618772    break;
    87628773
    8763   case 681:
    8764 
    8765 /* Line 1806 of yacc.c  */
    8766 #line 2612 "parser.yy"
     8774  case 682:
     8775
     8776/* Line 1806 of yacc.c  */
     8777#line 2613 "parser.yy"
    87678778    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87688779    break;
    87698780
    8770   case 682:
    8771 
    8772 /* Line 1806 of yacc.c  */
    8773 #line 2615 "parser.yy"
     8781  case 683:
     8782
     8783/* Line 1806 of yacc.c  */
     8784#line 2616 "parser.yy"
    87748785    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87758786    break;
    87768787
    8777   case 683:
    8778 
    8779 /* Line 1806 of yacc.c  */
    8780 #line 2617 "parser.yy"
     8788  case 684:
     8789
     8790/* Line 1806 of yacc.c  */
     8791#line 2618 "parser.yy"
    87818792    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87828793    break;
    87838794
    8784   case 684:
    8785 
    8786 /* Line 1806 of yacc.c  */
    8787 #line 2620 "parser.yy"
     8795  case 685:
     8796
     8797/* Line 1806 of yacc.c  */
     8798#line 2621 "parser.yy"
    87888799    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87898800    break;
    87908801
    8791   case 685:
    8792 
    8793 /* Line 1806 of yacc.c  */
    8794 #line 2622 "parser.yy"
     8802  case 686:
     8803
     8804/* Line 1806 of yacc.c  */
     8805#line 2623 "parser.yy"
    87958806    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    87968807    break;
    87978808
    8798   case 686:
    8799 
    8800 /* Line 1806 of yacc.c  */
    8801 #line 2624 "parser.yy"
     8809  case 687:
     8810
     8811/* Line 1806 of yacc.c  */
     8812#line 2625 "parser.yy"
    88028813    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    88038814    break;
    88048815
    8805   case 688:
    8806 
    8807 /* Line 1806 of yacc.c  */
    8808 #line 2638 "parser.yy"
     8816  case 689:
     8817
     8818/* Line 1806 of yacc.c  */
     8819#line 2639 "parser.yy"
    88098820    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    88108821    break;
    88118822
    8812   case 689:
    8813 
    8814 /* Line 1806 of yacc.c  */
    8815 #line 2640 "parser.yy"
     8823  case 690:
     8824
     8825/* Line 1806 of yacc.c  */
     8826#line 2641 "parser.yy"
    88168827    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    88178828    break;
    88188829
    8819   case 690:
    8820 
    8821 /* Line 1806 of yacc.c  */
    8822 #line 2645 "parser.yy"
     8830  case 691:
     8831
     8832/* Line 1806 of yacc.c  */
     8833#line 2646 "parser.yy"
    88238834    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    88248835    break;
    88258836
    8826   case 691:
    8827 
    8828 /* Line 1806 of yacc.c  */
    8829 #line 2647 "parser.yy"
     8837  case 692:
     8838
     8839/* Line 1806 of yacc.c  */
     8840#line 2648 "parser.yy"
    88308841    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    88318842    break;
    88328843
    8833   case 692:
    8834 
    8835 /* Line 1806 of yacc.c  */
    8836 #line 2649 "parser.yy"
     8844  case 693:
     8845
     8846/* Line 1806 of yacc.c  */
     8847#line 2650 "parser.yy"
    88378848    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    88388849    break;
    88398850
    8840   case 693:
    8841 
    8842 /* Line 1806 of yacc.c  */
    8843 #line 2651 "parser.yy"
     8851  case 694:
     8852
     8853/* Line 1806 of yacc.c  */
     8854#line 2652 "parser.yy"
    88448855    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88458856    break;
    88468857
    8847   case 694:
    8848 
    8849 /* Line 1806 of yacc.c  */
    8850 #line 2653 "parser.yy"
     8858  case 695:
     8859
     8860/* Line 1806 of yacc.c  */
     8861#line 2654 "parser.yy"
    88518862    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88528863    break;
    88538864
    8854   case 696:
    8855 
    8856 /* Line 1806 of yacc.c  */
    8857 #line 2659 "parser.yy"
     8865  case 697:
     8866
     8867/* Line 1806 of yacc.c  */
     8868#line 2660 "parser.yy"
    88588869    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88598870    break;
    88608871
    8861   case 697:
    8862 
    8863 /* Line 1806 of yacc.c  */
    8864 #line 2661 "parser.yy"
     8872  case 698:
     8873
     8874/* Line 1806 of yacc.c  */
     8875#line 2662 "parser.yy"
    88658876    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88668877    break;
    88678878
    8868   case 698:
    8869 
    8870 /* Line 1806 of yacc.c  */
    8871 #line 2663 "parser.yy"
     8879  case 699:
     8880
     8881/* Line 1806 of yacc.c  */
     8882#line 2664 "parser.yy"
    88728883    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88738884    break;
    88748885
    8875   case 699:
    8876 
    8877 /* Line 1806 of yacc.c  */
    8878 #line 2668 "parser.yy"
     8886  case 700:
     8887
     8888/* Line 1806 of yacc.c  */
     8889#line 2669 "parser.yy"
    88798890    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88808891    break;
    88818892
    8882   case 700:
    8883 
    8884 /* Line 1806 of yacc.c  */
    8885 #line 2670 "parser.yy"
     8893  case 701:
     8894
     8895/* Line 1806 of yacc.c  */
     8896#line 2671 "parser.yy"
    88868897    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88878898    break;
    88888899
    8889   case 703:
    8890 
    8891 /* Line 1806 of yacc.c  */
    8892 #line 2680 "parser.yy"
     8900  case 704:
     8901
     8902/* Line 1806 of yacc.c  */
     8903#line 2681 "parser.yy"
    88938904    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88948905    break;
    88958906
    8896   case 706:
    8897 
    8898 /* Line 1806 of yacc.c  */
    8899 #line 2690 "parser.yy"
     8907  case 707:
     8908
     8909/* Line 1806 of yacc.c  */
     8910#line 2691 "parser.yy"
    89008911    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89018912    break;
    89028913
    8903   case 707:
    8904 
    8905 /* Line 1806 of yacc.c  */
    8906 #line 2692 "parser.yy"
     8914  case 708:
     8915
     8916/* Line 1806 of yacc.c  */
     8917#line 2693 "parser.yy"
    89078918    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89088919    break;
    89098920
    8910   case 708:
    8911 
    8912 /* Line 1806 of yacc.c  */
    8913 #line 2694 "parser.yy"
     8921  case 709:
     8922
     8923/* Line 1806 of yacc.c  */
     8924#line 2695 "parser.yy"
    89148925    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89158926    break;
    89168927
    8917   case 709:
    8918 
    8919 /* Line 1806 of yacc.c  */
    8920 #line 2696 "parser.yy"
     8928  case 710:
     8929
     8930/* Line 1806 of yacc.c  */
     8931#line 2697 "parser.yy"
    89218932    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89228933    break;
    89238934
    8924   case 710:
    8925 
    8926 /* Line 1806 of yacc.c  */
    8927 #line 2698 "parser.yy"
     8935  case 711:
     8936
     8937/* Line 1806 of yacc.c  */
     8938#line 2699 "parser.yy"
    89288939    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89298940    break;
    89308941
    8931   case 711:
    8932 
    8933 /* Line 1806 of yacc.c  */
    8934 #line 2700 "parser.yy"
     8942  case 712:
     8943
     8944/* Line 1806 of yacc.c  */
     8945#line 2701 "parser.yy"
    89358946    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89368947    break;
    89378948
    8938   case 712:
    8939 
    8940 /* Line 1806 of yacc.c  */
    8941 #line 2707 "parser.yy"
     8949  case 713:
     8950
     8951/* Line 1806 of yacc.c  */
     8952#line 2708 "parser.yy"
    89428953    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89438954    break;
    89448955
    8945   case 713:
    8946 
    8947 /* Line 1806 of yacc.c  */
    8948 #line 2709 "parser.yy"
     8956  case 714:
     8957
     8958/* Line 1806 of yacc.c  */
     8959#line 2710 "parser.yy"
    89498960    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89508961    break;
    89518962
    8952   case 714:
    8953 
    8954 /* Line 1806 of yacc.c  */
    8955 #line 2711 "parser.yy"
     8963  case 715:
     8964
     8965/* Line 1806 of yacc.c  */
     8966#line 2712 "parser.yy"
    89568967    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89578968    break;
    89588969
    8959   case 715:
    8960 
    8961 /* Line 1806 of yacc.c  */
    8962 #line 2713 "parser.yy"
     8970  case 716:
     8971
     8972/* Line 1806 of yacc.c  */
     8973#line 2714 "parser.yy"
    89638974    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89648975    break;
    89658976
    8966   case 716:
    8967 
    8968 /* Line 1806 of yacc.c  */
    8969 #line 2715 "parser.yy"
     8977  case 717:
     8978
     8979/* Line 1806 of yacc.c  */
     8980#line 2716 "parser.yy"
    89708981    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89718982    break;
    89728983
    8973   case 717:
    8974 
    8975 /* Line 1806 of yacc.c  */
    8976 #line 2717 "parser.yy"
     8984  case 718:
     8985
     8986/* Line 1806 of yacc.c  */
     8987#line 2718 "parser.yy"
    89778988    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89788989    break;
    89798990
    8980   case 718:
    8981 
    8982 /* Line 1806 of yacc.c  */
    8983 #line 2719 "parser.yy"
     8991  case 719:
     8992
     8993/* Line 1806 of yacc.c  */
     8994#line 2720 "parser.yy"
    89848995    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89858996    break;
    89868997
    8987   case 719:
    8988 
    8989 /* Line 1806 of yacc.c  */
    8990 #line 2721 "parser.yy"
     8998  case 720:
     8999
     9000/* Line 1806 of yacc.c  */
     9001#line 2722 "parser.yy"
    89919002    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89929003    break;
    89939004
    8994   case 720:
    8995 
    8996 /* Line 1806 of yacc.c  */
    8997 #line 2723 "parser.yy"
     9005  case 721:
     9006
     9007/* Line 1806 of yacc.c  */
     9008#line 2724 "parser.yy"
    89989009    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89999010    break;
    90009011
    9001   case 721:
    9002 
    9003 /* Line 1806 of yacc.c  */
    9004 #line 2725 "parser.yy"
     9012  case 722:
     9013
     9014/* Line 1806 of yacc.c  */
     9015#line 2726 "parser.yy"
    90059016    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90069017    break;
    90079018
    9008   case 722:
    9009 
    9010 /* Line 1806 of yacc.c  */
    9011 #line 2730 "parser.yy"
     9019  case 723:
     9020
     9021/* Line 1806 of yacc.c  */
     9022#line 2731 "parser.yy"
    90129023    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    90139024    break;
    90149025
    9015   case 723:
    9016 
    9017 /* Line 1806 of yacc.c  */
    9018 #line 2732 "parser.yy"
     9026  case 724:
     9027
     9028/* Line 1806 of yacc.c  */
     9029#line 2733 "parser.yy"
    90199030    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    90209031    break;
    90219032
    9022   case 724:
    9023 
    9024 /* Line 1806 of yacc.c  */
    9025 #line 2737 "parser.yy"
     9033  case 725:
     9034
     9035/* Line 1806 of yacc.c  */
     9036#line 2738 "parser.yy"
    90269037    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    90279038    break;
    90289039
    9029   case 725:
    9030 
    9031 /* Line 1806 of yacc.c  */
    9032 #line 2739 "parser.yy"
     9040  case 726:
     9041
     9042/* Line 1806 of yacc.c  */
     9043#line 2740 "parser.yy"
    90339044    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    90349045    break;
    90359046
    9036   case 727:
    9037 
    9038 /* Line 1806 of yacc.c  */
    9039 #line 2766 "parser.yy"
     9047  case 728:
     9048
     9049/* Line 1806 of yacc.c  */
     9050#line 2767 "parser.yy"
    90409051    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90419052    break;
    90429053
    9043   case 731:
    9044 
    9045 /* Line 1806 of yacc.c  */
    9046 #line 2777 "parser.yy"
     9054  case 732:
     9055
     9056/* Line 1806 of yacc.c  */
     9057#line 2778 "parser.yy"
    90479058    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90489059    break;
    90499060
    9050   case 732:
    9051 
    9052 /* Line 1806 of yacc.c  */
    9053 #line 2779 "parser.yy"
     9061  case 733:
     9062
     9063/* Line 1806 of yacc.c  */
     9064#line 2780 "parser.yy"
    90549065    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90559066    break;
    90569067
    9057   case 733:
    9058 
    9059 /* Line 1806 of yacc.c  */
    9060 #line 2781 "parser.yy"
     9068  case 734:
     9069
     9070/* Line 1806 of yacc.c  */
     9071#line 2782 "parser.yy"
    90619072    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90629073    break;
    90639074
    9064   case 734:
    9065 
    9066 /* Line 1806 of yacc.c  */
    9067 #line 2783 "parser.yy"
     9075  case 735:
     9076
     9077/* Line 1806 of yacc.c  */
     9078#line 2784 "parser.yy"
    90689079    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90699080    break;
    90709081
    9071   case 735:
    9072 
    9073 /* Line 1806 of yacc.c  */
    9074 #line 2785 "parser.yy"
     9082  case 736:
     9083
     9084/* Line 1806 of yacc.c  */
     9085#line 2786 "parser.yy"
    90759086    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90769087    break;
    90779088
    9078   case 736:
    9079 
    9080 /* Line 1806 of yacc.c  */
    9081 #line 2787 "parser.yy"
     9089  case 737:
     9090
     9091/* Line 1806 of yacc.c  */
     9092#line 2788 "parser.yy"
    90829093    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90839094    break;
    90849095
    9085   case 737:
    9086 
    9087 /* Line 1806 of yacc.c  */
    9088 #line 2794 "parser.yy"
     9096  case 738:
     9097
     9098/* Line 1806 of yacc.c  */
     9099#line 2795 "parser.yy"
    90899100    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90909101    break;
    90919102
    9092   case 738:
    9093 
    9094 /* Line 1806 of yacc.c  */
    9095 #line 2796 "parser.yy"
     9103  case 739:
     9104
     9105/* Line 1806 of yacc.c  */
     9106#line 2797 "parser.yy"
    90969107    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90979108    break;
    90989109
    9099   case 739:
    9100 
    9101 /* Line 1806 of yacc.c  */
    9102 #line 2798 "parser.yy"
     9110  case 740:
     9111
     9112/* Line 1806 of yacc.c  */
     9113#line 2799 "parser.yy"
    91039114    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91049115    break;
    91059116
    9106   case 740:
    9107 
    9108 /* Line 1806 of yacc.c  */
    9109 #line 2800 "parser.yy"
     9117  case 741:
     9118
     9119/* Line 1806 of yacc.c  */
     9120#line 2801 "parser.yy"
    91109121    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91119122    break;
    91129123
    9113   case 741:
    9114 
    9115 /* Line 1806 of yacc.c  */
    9116 #line 2802 "parser.yy"
     9124  case 742:
     9125
     9126/* Line 1806 of yacc.c  */
     9127#line 2803 "parser.yy"
    91179128    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91189129    break;
    91199130
    9120   case 742:
    9121 
    9122 /* Line 1806 of yacc.c  */
    9123 #line 2804 "parser.yy"
     9131  case 743:
     9132
     9133/* Line 1806 of yacc.c  */
     9134#line 2805 "parser.yy"
    91249135    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91259136    break;
    91269137
    9127   case 743:
    9128 
    9129 /* Line 1806 of yacc.c  */
    9130 #line 2809 "parser.yy"
     9138  case 744:
     9139
     9140/* Line 1806 of yacc.c  */
     9141#line 2810 "parser.yy"
    91319142    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91329143    break;
    91339144
    9134   case 744:
    9135 
    9136 /* Line 1806 of yacc.c  */
    9137 #line 2814 "parser.yy"
     9145  case 745:
     9146
     9147/* Line 1806 of yacc.c  */
     9148#line 2815 "parser.yy"
    91389149    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91399150    break;
    91409151
    9141   case 745:
    9142 
    9143 /* Line 1806 of yacc.c  */
    9144 #line 2816 "parser.yy"
     9152  case 746:
     9153
     9154/* Line 1806 of yacc.c  */
     9155#line 2817 "parser.yy"
    91459156    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91469157    break;
    91479158
    9148   case 746:
    9149 
    9150 /* Line 1806 of yacc.c  */
    9151 #line 2818 "parser.yy"
     9159  case 747:
     9160
     9161/* Line 1806 of yacc.c  */
     9162#line 2819 "parser.yy"
    91529163    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91539164    break;
    91549165
    9155   case 749:
    9156 
    9157 /* Line 1806 of yacc.c  */
    9158 #line 2842 "parser.yy"
     9166  case 750:
     9167
     9168/* Line 1806 of yacc.c  */
     9169#line 2843 "parser.yy"
    91599170    { (yyval.en) = 0; }
    91609171    break;
    91619172
    9162   case 750:
    9163 
    9164 /* Line 1806 of yacc.c  */
    9165 #line 2844 "parser.yy"
     9173  case 751:
     9174
     9175/* Line 1806 of yacc.c  */
     9176#line 2845 "parser.yy"
    91669177    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91679178    break;
     
    91709181
    91719182/* Line 1806 of yacc.c  */
    9172 #line 9173 "Parser/parser.cc"
     9183#line 9184 "Parser/parser.cc"
    91739184      default: break;
    91749185    }
     
    94019412
    94029413/* Line 2067 of yacc.c  */
    9403 #line 2847 "parser.yy"
     9414#line 2848 "parser.yy"
    94049415
    94059416// ----end of grammar----
  • src/Parser/parser.yy

    r4e2b9710 ra839867  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 24 16:21:37 2016
    13 // Update Count     : 1962
     12// Last Modified On : Thu Aug 25 21:24:19 2016
     13// Update Count     : 1963
    1414//
    1515
     
    608608assignment_operator:
    609609        '='                                                                                     { $$ = OperKinds::Assign; }
     610        | ATassign                                                                      { $$ = OperKinds::AtAssn; }
    610611        | MULTassign                                                            { $$ = OperKinds::MulAssn; }
    611612        | DIVassign                                                                     { $$ = OperKinds::DivAssn; }
     
    618619        | ERassign                                                                      { $$ = OperKinds::ERAssn; }
    619620        | ORassign                                                                      { $$ = OperKinds::OrAssn; }
    620         ;
     621;
    621622
    622623tuple:                                                                                                  // CFA, tuple
Note: See TracChangeset for help on using the changeset viewer.