Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r51b1202 r1db21619  
    335335        StatementNode *sn;
    336336        ConstantNode *constant;
    337         LabelNode *label;
    338337        InitializerNode *in;
    339         bool flag;
    340338
    341339
    342340
    343341/* Line 293 of yacc.c  */
    344 #line 345 "Parser/parser.cc"
     342#line 343 "Parser/parser.cc"
    345343} YYSTYPE;
    346344# define YYSTYPE_IS_TRIVIAL 1
     
    354352
    355353/* Line 343 of yacc.c  */
    356 #line 357 "Parser/parser.cc"
     354#line 355 "Parser/parser.cc"
    357355
    358356#ifdef short
     
    573571#define YYFINAL  246
    574572/* YYLAST -- Last index in YYTABLE.  */
    575 #define YYLAST   11329
     573#define YYLAST   11363
    576574
    577575/* YYNTOKENS -- Number of terminals.  */
    578576#define YYNTOKENS  125
    579577/* YYNNTS -- Number of nonterminals.  */
    580 #define YYNNTS  238
     578#define YYNNTS  236
    581579/* YYNRULES -- Number of rules.  */
    582 #define YYNRULES  740
     580#define YYNRULES  732
    583581/* YYNRULES -- Number of states.  */
    584 #define YYNSTATES  1530
     582#define YYNSTATES  1505
    585583
    586584/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    639637       0,     0,     3,     4,     5,     7,     9,    11,    13,    15,
    640638      17,    19,    21,    23,    25,    27,    29,    32,    34,    36,
    641       40,    44,    46,    53,    58,    62,    70,    74,    82,    85,
    642       88,    96,    98,   102,   103,   105,   109,   117,   127,   129,
    643      133,   135,   139,   147,   151,   159,   161,   163,   165,   168,
     639      38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
     640      86,    89,    92,   100,   102,   106,   107,   109,   113,   121,
     641     131,   133,   137,   139,   143,   151,   155,   163,   165,   168,
    644642     171,   174,   177,   180,   183,   186,   191,   193,   198,   203,
    645643     206,   211,   214,   216,   218,   220,   222,   224,   229,   234,
     
    658656     650,   654,   657,   661,   665,   670,   672,   678,   685,   695,
    659657     706,   709,   711,   714,   717,   720,   722,   729,   738,   749,
    660      762,   777,   778,   780,   781,   783,   785,   789,   794,   802,
    661      803,   805,   809,   811,   815,   817,   819,   821,   825,   827,
    662      829,   831,   835,   836,   838,   842,   847,   849,   853,   855,
    663      857,   861,   865,   869,   873,   877,   880,   884,   891,   895,
    664      899,   904,   906,   909,   912,   916,   922,   931,   939,   947,
    665      953,   963,   966,   969,   975,   979,   985,   990,   994,   999,
    666     1004,  1012,  1016,  1020,  1024,  1028,  1033,  1040,  1042,  1044,
    667     1046,  1048,  1050,  1052,  1054,  1056,  1057,  1059,  1061,  1064,
    668     1066,  1068,  1070,  1072,  1074,  1076,  1078,  1079,  1085,  1087,
    669     1090,  1094,  1096,  1099,  1101,  1103,  1105,  1107,  1109,  1111,
    670     1113,  1115,  1117,  1119,  1121,  1123,  1125,  1127,  1129,  1131,
    671     1133,  1135,  1137,  1139,  1141,  1143,  1146,  1149,  1153,  1157,
    672     1159,  1163,  1165,  1168,  1171,  1174,  1179,  1184,  1189,  1194,
    673     1196,  1199,  1202,  1206,  1208,  1211,  1214,  1216,  1219,  1222,
    674     1226,  1228,  1231,  1234,  1236,  1238,  1243,  1246,  1252,  1260,
    675     1263,  1266,  1269,  1271,  1274,  1277,  1281,  1284,  1288,  1290,
    676     1293,  1297,  1300,  1303,  1308,  1309,  1311,  1314,  1317,  1319,
    677     1320,  1322,  1325,  1328,  1334,  1341,  1344,  1347,  1352,  1353,
    678     1356,  1357,  1359,  1361,  1363,  1369,  1375,  1381,  1383,  1389,
    679     1395,  1405,  1407,  1413,  1414,  1416,  1418,  1424,  1426,  1428,
    680     1434,  1440,  1442,  1446,  1450,  1455,  1457,  1459,  1461,  1463,
    681     1466,  1468,  1472,  1476,  1478,  1481,  1483,  1487,  1489,  1491,
    682     1493,  1495,  1497,  1499,  1501,  1503,  1505,  1507,  1509,  1512,
    683     1514,  1516,  1518,  1521,  1522,  1525,  1527,  1532,  1534,  1537,
    684     1541,  1546,  1549,  1552,  1554,  1557,  1559,  1562,  1568,  1574,
    685     1582,  1589,  1591,  1594,  1597,  1601,  1603,  1606,  1609,  1614,
    686     1617,  1622,  1623,  1628,  1631,  1633,  1635,  1637,  1638,  1641,
    687     1647,  1653,  1667,  1669,  1671,  1675,  1679,  1682,  1686,  1690,
    688     1693,  1698,  1700,  1707,  1717,  1718,  1730,  1732,  1736,  1740,
    689     1744,  1746,  1748,  1754,  1757,  1763,  1764,  1766,  1768,  1772,
    690     1773,  1775,  1777,  1779,  1781,  1782,  1789,  1792,  1794,  1797,
    691     1802,  1805,  1809,  1813,  1817,  1822,  1828,  1834,  1840,  1847,
    692     1849,  1851,  1853,  1857,  1858,  1864,  1865,  1867,  1869,  1872,
    693     1879,  1881,  1885,  1886,  1888,  1893,  1895,  1897,  1899,  1901,
    694     1904,  1906,  1909,  1912,  1914,  1918,  1921,  1925,  1929,  1932,
    695     1937,  1942,  1946,  1955,  1959,  1962,  1964,  1967,  1974,  1983,
    696     1987,  1990,  1994,  1998,  2003,  2008,  2012,  2014,  2016,  2018,
    697     2023,  2030,  2034,  2037,  2041,  2045,  2050,  2055,  2059,  2062,
    698     2064,  2067,  2070,  2072,  2076,  2079,  2083,  2087,  2090,  2095,
    699     2100,  2104,  2111,  2120,  2124,  2127,  2129,  2132,  2135,  2138,
    700     2142,  2146,  2149,  2154,  2159,  2163,  2170,  2179,  2183,  2186,
    701     2188,  2191,  2194,  2196,  2198,  2201,  2205,  2209,  2212,  2217,
    702     2224,  2233,  2235,  2238,  2241,  2243,  2246,  2249,  2253,  2257,
    703     2259,  2264,  2269,  2273,  2279,  2288,  2292,  2295,  2299,  2301,
    704     2307,  2313,  2320,  2327,  2329,  2332,  2335,  2337,  2340,  2343,
    705     2347,  2351,  2353,  2358,  2363,  2367,  2373,  2382,  2386,  2388,
    706     2391,  2393,  2396,  2403,  2409,  2416,  2424,  2432,  2434,  2437,
    707     2440,  2442,  2445,  2448,  2452,  2456,  2458,  2463,  2468,  2472,
    708     2481,  2485,  2487,  2489,  2492,  2494,  2496,  2499,  2503,  2506,
    709     2510,  2513,  2517,  2521,  2524,  2529,  2533,  2536,  2540,  2543,
    710     2548,  2552,  2555,  2562,  2569,  2576,  2584,  2586,  2589,  2591,
    711     2593,  2595,  2598,  2602,  2605,  2609,  2612,  2616,  2620,  2625,
    712     2628,  2632,  2637,  2640,  2646,  2652,  2659,  2666,  2667,  2669,
    713     2670
     658     762,   763,   765,   767,   771,   776,   778,   782,   784,   786,
     659     788,   792,   794,   796,   798,   802,   803,   805,   809,   814,
     660     816,   820,   822,   824,   828,   832,   836,   840,   844,   847,
     661     851,   858,   862,   866,   871,   873,   876,   879,   883,   889,
     662     898,   906,   914,   920,   930,   933,   936,   942,   946,   952,
     663     957,   961,   966,   971,   979,   983,   987,   991,   995,  1000,
     664    1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,  1024,
     665    1026,  1028,  1031,  1033,  1035,  1037,  1039,  1041,  1043,  1045,
     666    1046,  1052,  1054,  1057,  1061,  1063,  1066,  1068,  1070,  1072,
     667    1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,
     668    1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1113,
     669    1116,  1120,  1124,  1126,  1130,  1132,  1135,  1138,  1141,  1146,
     670    1151,  1156,  1161,  1163,  1166,  1169,  1173,  1175,  1178,  1181,
     671    1183,  1186,  1189,  1193,  1195,  1198,  1201,  1203,  1205,  1210,
     672    1213,  1219,  1227,  1230,  1233,  1236,  1238,  1241,  1244,  1248,
     673    1251,  1255,  1257,  1260,  1264,  1267,  1270,  1275,  1276,  1278,
     674    1281,  1284,  1286,  1287,  1289,  1292,  1295,  1301,  1308,  1311,
     675    1314,  1319,  1320,  1323,  1324,  1326,  1328,  1330,  1336,  1342,
     676    1348,  1350,  1356,  1362,  1372,  1374,  1380,  1381,  1383,  1385,
     677    1391,  1393,  1395,  1401,  1407,  1409,  1413,  1417,  1422,  1424,
     678    1426,  1428,  1430,  1433,  1435,  1439,  1443,  1445,  1448,  1450,
     679    1454,  1456,  1458,  1460,  1462,  1464,  1466,  1468,  1470,  1472,
     680    1474,  1476,  1479,  1481,  1483,  1485,  1488,  1489,  1492,  1494,
     681    1499,  1501,  1504,  1508,  1513,  1516,  1519,  1521,  1524,  1527,
     682    1533,  1539,  1547,  1554,  1556,  1559,  1562,  1566,  1568,  1571,
     683    1574,  1579,  1582,  1587,  1588,  1593,  1596,  1598,  1600,  1602,
     684    1603,  1606,  1612,  1618,  1632,  1634,  1636,  1640,  1644,  1647,
     685    1651,  1655,  1658,  1663,  1665,  1672,  1682,  1683,  1695,  1697,
     686    1701,  1705,  1709,  1711,  1713,  1719,  1722,  1728,  1729,  1731,
     687    1733,  1737,  1738,  1740,  1742,  1744,  1746,  1747,  1754,  1757,
     688    1759,  1762,  1767,  1770,  1774,  1778,  1782,  1787,  1793,  1799,
     689    1805,  1812,  1814,  1816,  1818,  1822,  1823,  1829,  1830,  1832,
     690    1834,  1837,  1844,  1846,  1850,  1851,  1853,  1858,  1860,  1862,
     691    1864,  1866,  1869,  1871,  1874,  1877,  1879,  1883,  1886,  1890,
     692    1894,  1897,  1902,  1907,  1911,  1920,  1924,  1927,  1929,  1932,
     693    1939,  1948,  1952,  1955,  1959,  1963,  1968,  1973,  1977,  1979,
     694    1981,  1983,  1988,  1995,  1999,  2002,  2006,  2010,  2015,  2020,
     695    2024,  2027,  2029,  2032,  2035,  2037,  2041,  2044,  2048,  2052,
     696    2055,  2060,  2065,  2069,  2076,  2085,  2089,  2092,  2094,  2097,
     697    2100,  2103,  2107,  2111,  2114,  2119,  2124,  2128,  2135,  2144,
     698    2148,  2151,  2153,  2156,  2159,  2161,  2163,  2166,  2170,  2174,
     699    2177,  2182,  2189,  2198,  2200,  2203,  2206,  2208,  2211,  2214,
     700    2218,  2222,  2224,  2229,  2234,  2238,  2244,  2253,  2257,  2260,
     701    2264,  2266,  2272,  2278,  2285,  2292,  2294,  2297,  2300,  2302,
     702    2305,  2308,  2312,  2316,  2318,  2323,  2328,  2332,  2338,  2347,
     703    2351,  2353,  2356,  2358,  2361,  2368,  2374,  2381,  2389,  2397,
     704    2399,  2402,  2405,  2407,  2410,  2413,  2417,  2421,  2423,  2428,
     705    2433,  2437,  2446,  2450,  2452,  2454,  2457,  2459,  2461,  2464,
     706    2468,  2471,  2475,  2478,  2482,  2486,  2489,  2494,  2498,  2501,
     707    2505,  2508,  2513,  2517,  2520,  2527,  2534,  2541,  2549,  2551,
     708    2554,  2556,  2558,  2560,  2563,  2567,  2570,  2574,  2577,  2581,
     709    2585,  2590,  2593,  2597,  2602,  2605,  2611,  2617,  2624,  2631,
     710    2632,  2634,  2635
    714711};
    715712
     
    717714static const yytype_int16 yyrhs[] =
    718715{
    719      291,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
     716     289,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
    720717      -1,    65,    -1,    69,    -1,   132,    -1,    65,    -1,    69,
    721718      -1,    65,    -1,    76,    -1,    77,    -1,    75,    -1,   133,
    722       75,    -1,    65,    -1,   132,    -1,   101,   160,   102,    -1,
    723      101,   164,   102,    -1,   134,    -1,   135,   103,   126,   155,
    724      127,   104,    -1,   135,   101,   136,   102,    -1,   135,   105,
    725      131,    -1,   135,   105,   103,   126,   138,   127,   104,    -1,
    726      135,    78,   131,    -1,   135,    78,   103,   126,   138,   127,
    727      104,    -1,   135,    79,    -1,   135,    80,    -1,   101,   264,
    728      102,   106,   268,   361,   107,    -1,   137,    -1,   136,   108,
    729      137,    -1,    -1,   155,    -1,   131,   109,   155,    -1,   103,
    730      126,   155,   127,   104,   109,   155,    -1,   103,   126,   155,
    731      108,   158,   127,   104,   109,   155,    -1,   139,    -1,   138,
    732      108,   139,    -1,   131,    -1,   131,   105,   139,    -1,   131,
    733      105,   103,   126,   138,   127,   104,    -1,   131,    78,   139,
    734       -1,   131,    78,   103,   126,   138,   127,   104,    -1,   135,
    735       -1,   128,    -1,   133,    -1,    79,   140,    -1,    80,   140,
     719      75,    -1,    65,    -1,   132,    -1,   128,    -1,   133,    -1,
     720     101,   160,   102,    -1,   101,   164,   102,    -1,   134,    -1,
     721     135,   103,   126,   155,   127,   104,    -1,   135,   101,   136,
     722     102,    -1,   135,   105,   131,    -1,   135,   105,   103,   126,
     723     138,   127,   104,    -1,   135,    78,   131,    -1,   135,    78,
     724     103,   126,   138,   127,   104,    -1,   135,    79,    -1,   135,
     725      80,    -1,   101,   262,   102,   106,   266,   359,   107,    -1,
     726     137,    -1,   136,   108,   137,    -1,    -1,   155,    -1,   131,
     727     109,   155,    -1,   103,   126,   155,   127,   104,   109,   155,
     728      -1,   103,   126,   155,   108,   158,   127,   104,   109,   155,
     729      -1,   139,    -1,   138,   108,   139,    -1,   131,    -1,   131,
     730     105,   139,    -1,   131,   105,   103,   126,   138,   127,   104,
     731      -1,   131,    78,   139,    -1,   131,    78,   103,   126,   138,
     732     127,   104,    -1,   135,    -1,    79,   140,    -1,    80,   140,
    736733      -1,    38,   142,    -1,   141,   142,    -1,   110,   142,    -1,
    737      111,   142,    -1,    36,   140,    -1,    36,   101,   264,   102,
    738       -1,    69,    -1,    69,   101,   265,   102,    -1,    69,   101,
    739      137,   102,    -1,    59,   140,    -1,    59,   101,   264,   102,
     734     111,   142,    -1,    36,   140,    -1,    36,   101,   262,   102,
     735      -1,    69,    -1,    69,   101,   263,   102,    -1,    69,   101,
     736     137,   102,    -1,    59,   140,    -1,    59,   101,   262,   102,
    740737      -1,    87,   131,    -1,   112,    -1,   113,    -1,   114,    -1,
    741      115,    -1,   140,    -1,   101,   264,   102,   142,    -1,   101,
    742      264,   102,   157,    -1,   142,    -1,   143,   111,   142,    -1,
     738     115,    -1,   140,    -1,   101,   262,   102,   142,    -1,   101,
     739     262,   102,   157,    -1,   142,    -1,   143,   111,   142,    -1,
    743740     143,   116,   142,    -1,   143,   117,   142,    -1,   143,    -1,
    744741     144,   113,   143,    -1,   144,   114,   143,    -1,   144,    -1,
     
    752749     160,   109,   153,    -1,   152,   122,   109,   153,    -1,   152,
    753750     122,   160,   109,   157,    -1,   153,    -1,   153,    -1,   140,
    754      123,   155,    -1,   140,   159,   155,    -1,   157,   362,    -1,
     751     123,   155,    -1,   140,   159,   155,    -1,   157,   360,    -1,
    755752      -1,   155,    -1,   103,   104,    -1,   103,   126,   155,   127,
    756753     104,    -1,   103,   126,   108,   158,   127,   104,    -1,   103,
     
    761758     160,    -1,   163,    -1,   164,    -1,   168,    -1,   169,    -1,
    762759     181,    -1,   183,    -1,   184,    -1,   189,    -1,   131,   109,
    763      301,   162,    -1,   106,   107,    -1,   106,   126,   126,   200,
     760     299,   162,    -1,   106,   107,    -1,   106,   126,   126,   198,
    764761     165,   127,   107,    -1,   166,    -1,   165,   126,   166,    -1,
    765      203,    -1,    38,   203,    -1,   297,    -1,   162,   127,    -1,
     762     201,    -1,    38,   201,    -1,   295,    -1,   162,   127,    -1,
    766763     162,    -1,   167,   162,    -1,   161,   124,    -1,    39,   101,
    767764     160,   102,   162,    -1,    39,   101,   160,   102,   162,    40,
    768765     162,    -1,    41,   101,   160,   102,   174,    -1,    41,   101,
    769      160,   102,   106,   126,   196,   175,   107,    -1,    51,   101,
     766     160,   102,   106,   126,   194,   175,   107,    -1,    51,   101,
    770767     160,   102,   174,    -1,    51,   101,   160,   102,   106,   126,
    771      196,   177,   107,    -1,   154,    -1,   154,    89,   154,    -1,
    772      299,    -1,   170,    -1,   171,   108,   170,    -1,    42,   171,
     768     194,   177,   107,    -1,   154,    -1,   154,    89,   154,    -1,
     769     297,    -1,   170,    -1,   171,   108,   170,    -1,    42,   171,
    773770     109,    -1,    43,   109,    -1,   172,    -1,   173,   172,    -1,
    774771     173,   162,    -1,    -1,   176,    -1,   173,   167,    -1,   176,
     
    778775      45,   101,   160,   102,   162,    -1,    44,   162,    45,   101,
    779776     160,   102,   124,    -1,    46,   101,   126,   182,   102,   162,
    780       -1,   161,   127,   124,   161,   124,   161,    -1,   203,   161,
     777      -1,   161,   127,   124,   161,   124,   161,    -1,   201,   161,
    781778     124,   161,    -1,    49,   131,   124,    -1,    49,   111,   160,
    782779     124,    -1,    48,   124,    -1,    48,   131,   124,    -1,    47,
     
    787784     101,    89,   102,   164,    -1,    54,   101,   126,   126,   188,
    788785     127,   102,   164,   127,    -1,   186,    54,   101,   126,   126,
    789      188,   127,   102,   164,   127,    -1,    55,   164,    -1,   216,
    790       -1,   216,   298,    -1,   216,   346,    -1,   355,   131,    -1,
    791      355,    -1,    57,   190,   101,   133,   102,   124,    -1,    57,
    792      190,   101,   133,   109,   191,   102,   124,    -1,    57,   190,
    793      101,   133,   109,   191,   109,   191,   102,   124,    -1,    57,
    794      190,   101,   133,   109,   191,   109,   191,   109,   194,   102,
    795      124,    -1,    57,   190,    49,   101,   133,   109,   109,   191,
    796      109,   194,   109,   195,   102,   124,    -1,    -1,    11,    -1,
    797       -1,   192,    -1,   193,    -1,   192,   108,   193,    -1,   133,
    798      101,   154,   102,    -1,   103,   154,   104,   133,   101,   154,
    799      102,    -1,    -1,   133,    -1,   194,   108,   133,    -1,   131,
    800       -1,   195,   108,   131,    -1,   127,    -1,   197,    -1,   203,
    801       -1,   197,   126,   203,    -1,   127,    -1,   199,    -1,   213,
    802       -1,   199,   126,   213,    -1,    -1,   201,    -1,    28,   202,
    803      124,    -1,   201,    28,   202,   124,    -1,   263,    -1,   202,
    804      108,   263,    -1,   204,    -1,   213,    -1,   205,   127,   124,
    805       -1,   210,   127,   124,    -1,   207,   127,   124,    -1,   282,
    806      127,   124,    -1,   285,   127,   124,    -1,   206,   266,    -1,
    807      222,   206,   266,    -1,   205,   127,   108,   126,   261,   266,
    808       -1,   356,   261,   300,    -1,   359,   261,   300,    -1,   218,
    809      359,   261,   300,    -1,   208,    -1,   218,   208,    -1,   222,
    810      208,    -1,   222,   218,   208,    -1,   207,   127,   108,   126,
    811      261,    -1,   103,   104,   261,   101,   126,   249,   127,   102,
    812       -1,   359,   261,   101,   126,   249,   127,   102,    -1,   209,
    813      261,   101,   126,   249,   127,   102,    -1,   103,   126,   251,
    814      127,   104,    -1,   103,   126,   251,   127,   108,   126,   252,
    815      127,   104,    -1,     3,   206,    -1,     3,   208,    -1,   210,
    816      127,   108,   126,   131,    -1,     3,   216,   298,    -1,   211,
    817      127,   108,   126,   298,    -1,   218,     3,   216,   298,    -1,
    818      216,     3,   298,    -1,   216,     3,   218,   298,    -1,     3,
    819      131,   123,   155,    -1,   212,   127,   108,   126,   131,   123,
    820      155,    -1,   214,   127,   124,    -1,   211,   127,   124,    -1,
    821      212,   127,   124,    -1,   231,   127,   124,    -1,   215,   298,
    822      300,   266,    -1,   214,   108,   301,   298,   300,   266,    -1,
    823      227,    -1,   231,    -1,   233,    -1,   272,    -1,   228,    -1,
    824      232,    -1,   234,    -1,   273,    -1,    -1,   218,    -1,   219,
    825       -1,   218,   219,    -1,   220,    -1,   303,    -1,    10,    -1,
    826       12,    -1,    11,    -1,    14,    -1,    60,    -1,    -1,    13,
    827      101,   221,   275,   102,    -1,   223,    -1,   218,   223,    -1,
    828      222,   218,   223,    -1,   224,    -1,   223,   224,    -1,   225,
    829       -1,     5,    -1,     7,    -1,     4,    -1,     6,    -1,     8,
    830       -1,     9,    -1,    62,    -1,    64,    -1,    16,    -1,    21,
    831       -1,    20,    -1,    18,    -1,    19,    -1,    17,    -1,    22,
    832       -1,    23,    -1,    15,    -1,    24,    -1,    25,    -1,    26,
    833       -1,   228,    -1,   222,   228,    -1,   227,   224,    -1,   227,
    834      224,   218,    -1,   227,   224,   228,    -1,   229,    -1,   217,
    835      230,   217,    -1,   226,    -1,   218,   226,    -1,   229,   219,
    836       -1,   229,   226,    -1,    27,   101,   265,   102,    -1,    27,
    837      101,   160,   102,    -1,    71,   101,   265,   102,    -1,    71,
    838      101,   160,   102,    -1,   232,    -1,   222,   232,    -1,   231,
    839      224,    -1,   231,   224,   218,    -1,   235,    -1,   218,   235,
    840       -1,   232,   219,    -1,   234,    -1,   222,   234,    -1,   233,
    841      224,    -1,   233,   224,   218,    -1,    67,    -1,   218,    67,
    842       -1,   234,   219,    -1,   236,    -1,   246,    -1,   237,   106,
    843      238,   107,    -1,   237,   263,    -1,   237,   263,   106,   238,
    844      107,    -1,   237,   101,   281,   102,   106,   238,   107,    -1,
    845      237,   274,    -1,    30,   301,    -1,    31,   301,    -1,   239,
    846       -1,   238,   239,    -1,   240,   124,    -1,    38,   240,   124,
    847       -1,   241,   124,    -1,    38,   241,   124,    -1,   355,    -1,
    848      355,   263,    -1,   240,   108,   263,    -1,   240,   108,    -1,
    849      216,   242,    -1,   241,   108,   301,   242,    -1,    -1,   244,
    850       -1,   307,   243,    -1,   320,   243,    -1,   346,    -1,    -1,
    851      244,    -1,   109,   154,    -1,    29,   301,    -1,   245,   106,
    852      247,   361,   107,    -1,   245,   263,   106,   247,   361,   107,
    853       -1,   245,   263,    -1,   263,   248,    -1,   247,   108,   263,
    854      248,    -1,    -1,   123,   154,    -1,    -1,   250,    -1,   252,
    855       -1,   251,    -1,   251,   127,   108,   126,   252,    -1,   252,
    856      127,   108,   126,    89,    -1,   251,   127,   108,   126,    89,
    857       -1,   256,    -1,   252,   127,   108,   126,   256,    -1,   251,
    858      127,   108,   126,   256,    -1,   251,   127,   108,   126,   252,
    859      127,   108,   126,   256,    -1,   257,    -1,   252,   127,   108,
    860      126,   257,    -1,    -1,   254,    -1,   255,    -1,   255,   127,
    861      108,   126,    89,    -1,   259,    -1,   258,    -1,   255,   127,
    862      108,   126,   259,    -1,   255,   127,   108,   126,   258,    -1,
    863      258,    -1,   351,   261,   362,    -1,   359,   261,   362,    -1,
    864      218,   359,   261,   362,    -1,   208,    -1,   259,    -1,   351,
    865       -1,   359,    -1,   218,   359,    -1,   360,    -1,   215,   325,
    866      362,    -1,   215,   329,   362,    -1,   215,    -1,   215,   340,
    867       -1,   131,    -1,   260,   108,   131,    -1,   129,    -1,    67,
    868       -1,    68,    -1,   130,    -1,    67,    -1,    68,    -1,   131,
    869       -1,    67,    -1,    68,    -1,   355,    -1,   216,    -1,   216,
    870      346,    -1,   355,    -1,   360,    -1,   216,    -1,   216,   334,
    871       -1,    -1,   123,   267,    -1,   155,    -1,   106,   268,   361,
    872      107,    -1,   267,    -1,   269,   267,    -1,   268,   108,   267,
    873       -1,   268,   108,   269,   267,    -1,   270,   109,    -1,   263,
    874      109,    -1,   271,    -1,   270,   271,    -1,    73,    -1,   105,
    875      263,    -1,   103,   126,   155,   127,   104,    -1,   103,   126,
    876      299,   127,   104,    -1,   103,   126,   154,    89,   154,   127,
    877      104,    -1,   105,   103,   126,   138,   127,   104,    -1,   273,
    878       -1,   222,   273,    -1,   272,   224,    -1,   272,   224,   218,
    879       -1,   274,    -1,   218,   274,    -1,   273,   219,    -1,    68,
    880      101,   281,   102,    -1,   276,   362,    -1,   275,   108,   276,
    881      362,    -1,    -1,   278,   263,   277,   279,    -1,   216,   325,
    882       -1,    32,    -1,    34,    -1,    33,    -1,    -1,   279,   280,
    883       -1,   121,   263,   101,   281,   102,    -1,   121,   106,   126,
    884      287,   107,    -1,   121,   101,   126,   275,   127,   102,   106,
    885      126,   287,   107,   101,   281,   102,    -1,   265,    -1,   155,
    886       -1,   281,   108,   265,    -1,   281,   108,   155,    -1,    32,
    887      283,    -1,   223,    32,   283,    -1,   282,   108,   283,    -1,
    888      284,   279,    -1,   284,   279,   123,   265,    -1,   263,    -1,
    889      262,   101,   126,   275,   127,   102,    -1,    35,   263,   101,
    890      126,   275,   127,   102,   106,   107,    -1,    -1,    35,   263,
    891      101,   126,   275,   127,   102,   106,   286,   287,   107,    -1,
    892      288,    -1,   287,   126,   288,    -1,   289,   127,   124,    -1,
    893      290,   127,   124,    -1,   206,    -1,   208,    -1,   289,   127,
    894      108,   126,   261,    -1,   216,   298,    -1,   290,   127,   108,
    895      126,   298,    -1,    -1,   292,    -1,   294,    -1,   292,   126,
    896      294,    -1,    -1,   292,    -1,   203,    -1,   296,    -1,   189,
    897       -1,    -1,     5,    75,   295,   106,   293,   107,    -1,    38,
    898      294,    -1,   297,    -1,   312,   164,    -1,   316,   126,   198,
    899      164,    -1,   207,   164,    -1,   215,   312,   164,    -1,   218,
    900      312,   164,    -1,   222,   312,   164,    -1,   222,   218,   312,
    901      164,    -1,   215,   316,   126,   198,   164,    -1,   218,   316,
    902      126,   198,   164,    -1,   222,   316,   126,   198,   164,    -1,
    903      222,   218,   316,   126,   198,   164,    -1,   307,    -1,   312,
    904       -1,   320,    -1,   154,   115,   154,    -1,    -1,    57,   101,
    905      133,   102,   301,    -1,    -1,   302,    -1,   303,    -1,   302,
    906      303,    -1,    37,   101,   101,   304,   102,   102,    -1,   305,
    907       -1,   304,   108,   305,    -1,    -1,   306,    -1,   306,   101,
    908      161,   102,    -1,   261,    -1,   225,    -1,   226,    -1,   219,
    909       -1,   308,   301,    -1,   309,    -1,   310,   301,    -1,   311,
    910      301,    -1,   129,    -1,   101,   308,   102,    -1,   111,   307,
    911       -1,   111,   218,   307,    -1,   101,   309,   102,    -1,   308,
    912      338,    -1,   101,   309,   102,   338,    -1,   101,   310,   102,
    913      339,    -1,   101,   310,   102,    -1,   101,   309,   102,   101,
    914      126,   253,   127,   102,    -1,   101,   311,   102,    -1,   313,
    915      301,    -1,   314,    -1,   315,   301,    -1,   308,   101,   126,
    916      253,   127,   102,    -1,   101,   314,   102,   101,   126,   253,
    917      127,   102,    -1,   101,   313,   102,    -1,   111,   312,    -1,
    918      111,   218,   312,    -1,   101,   314,   102,    -1,   101,   314,
    919      102,   338,    -1,   101,   315,   102,   339,    -1,   101,   315,
    920      102,    -1,   317,    -1,   318,    -1,   319,    -1,   308,   101,
    921      260,   102,    -1,   101,   318,   102,   101,   260,   102,    -1,
    922      101,   317,   102,    -1,   111,   316,    -1,   111,   218,   316,
    923       -1,   101,   318,   102,    -1,   101,   318,   102,   338,    -1,
    924      101,   319,   102,   339,    -1,   101,   319,   102,    -1,   321,
    925      301,    -1,   322,    -1,   323,   301,    -1,   324,   301,    -1,
    926      330,    -1,   101,   321,   102,    -1,   111,   320,    -1,   111,
    927      218,   320,    -1,   101,   322,   102,    -1,   321,   338,    -1,
    928      101,   322,   102,   338,    -1,   101,   323,   102,   339,    -1,
    929      101,   323,   102,    -1,   321,   101,   126,   253,   127,   102,
    930       -1,   101,   322,   102,   101,   126,   253,   127,   102,    -1,
    931      101,   324,   102,    -1,   308,   301,    -1,   326,    -1,   327,
    932      301,    -1,   328,   301,    -1,   111,   325,    -1,   111,   218,
    933      325,    -1,   101,   326,   102,    -1,   308,   344,    -1,   101,
    934      326,   102,   338,    -1,   101,   327,   102,   339,    -1,   101,
    935      327,   102,    -1,   308,   101,   126,   253,   127,   102,    -1,
    936      101,   326,   102,   101,   126,   253,   127,   102,    -1,   101,
    937      328,   102,    -1,   330,   301,    -1,   331,    -1,   332,   301,
    938       -1,   333,   301,    -1,    67,    -1,    68,    -1,   111,   329,
    939       -1,   111,   218,   329,    -1,   101,   331,   102,    -1,   330,
    940      344,    -1,   101,   331,   102,   344,    -1,   330,   101,   126,
    941      253,   127,   102,    -1,   101,   331,   102,   101,   126,   253,
    942      127,   102,    -1,   335,    -1,   336,   301,    -1,   337,   301,
    943       -1,   111,    -1,   111,   218,    -1,   111,   334,    -1,   111,
    944      218,   334,    -1,   101,   335,   102,    -1,   338,    -1,   101,
    945      335,   102,   338,    -1,   101,   336,   102,   339,    -1,   101,
    946      336,   102,    -1,   101,   126,   253,   127,   102,    -1,   101,
    947      335,   102,   101,   126,   253,   127,   102,    -1,   101,   337,
    948      102,    -1,   103,   104,    -1,   103,   104,   339,    -1,   339,
    949       -1,   103,   126,   155,   127,   104,    -1,   103,   126,   111,
    950      127,   104,    -1,   339,   103,   126,   155,   127,   104,    -1,
    951      339,   103,   126,   111,   127,   104,    -1,   341,    -1,   342,
    952      301,    -1,   343,   301,    -1,   111,    -1,   111,   218,    -1,
    953      111,   340,    -1,   111,   218,   340,    -1,   101,   341,   102,
    954       -1,   344,    -1,   101,   341,   102,   344,    -1,   101,   342,
    955      102,   339,    -1,   101,   342,   102,    -1,   101,   126,   253,
    956      127,   102,    -1,   101,   341,   102,   101,   126,   253,   127,
    957      102,    -1,   101,   343,   102,    -1,   345,    -1,   345,   339,
    958       -1,   339,    -1,   103,   104,    -1,   103,   126,   218,   111,
    959      127,   104,    -1,   103,   126,   218,   127,   104,    -1,   103,
    960      126,   218,   155,   127,   104,    -1,   103,   126,     7,   217,
    961      155,   127,   104,    -1,   103,   126,   218,     7,   155,   127,
    962      104,    -1,   347,    -1,   348,   301,    -1,   349,   301,    -1,
    963      111,    -1,   111,   218,    -1,   111,   346,    -1,   111,   218,
    964      346,    -1,   101,   347,   102,    -1,   338,    -1,   101,   347,
    965      102,   338,    -1,   101,   348,   102,   339,    -1,   101,   348,
    966      102,    -1,   101,   347,   102,   101,   126,   253,   127,   102,
    967       -1,   101,   349,   102,    -1,   351,    -1,   359,    -1,   218,
    968      359,    -1,   352,    -1,   353,    -1,   111,   216,    -1,   218,
    969      111,   216,    -1,   111,   360,    -1,   218,   111,   360,    -1,
    970      111,   350,    -1,   218,   111,   350,    -1,   103,   104,   216,
    971       -1,   354,   216,    -1,   103,   104,   339,   216,    -1,   354,
    972      339,   216,    -1,   339,   216,    -1,   103,   104,   352,    -1,
    973      354,   352,    -1,   103,   104,   339,   352,    -1,   354,   339,
    974      352,    -1,   339,   352,    -1,   103,   126,   218,   111,   127,
    975      104,    -1,   103,   126,   218,   155,   127,   104,    -1,   103,
    976      126,   222,   155,   127,   104,    -1,   103,   126,   222,   218,
    977      155,   127,   104,    -1,   359,    -1,   218,   359,    -1,   356,
    978       -1,   357,    -1,   358,    -1,   111,   216,    -1,   218,   111,
    979      216,    -1,   111,   360,    -1,   218,   111,   360,    -1,   111,
    980      355,    -1,   218,   111,   355,    -1,   103,   104,   216,    -1,
    981      103,   104,   339,   216,    -1,   339,   216,    -1,   103,   104,
    982      357,    -1,   103,   104,   339,   357,    -1,   339,   357,    -1,
    983      103,   126,   252,   127,   104,    -1,   103,   104,   101,   249,
    984      102,    -1,   359,   101,   126,   249,   127,   102,    -1,   209,
    985      101,   126,   249,   127,   102,    -1,    -1,   108,    -1,    -1,
    986      123,   155,    -1
     786     188,   127,   102,   164,   127,    -1,    55,   164,    -1,   214,
     787      -1,   214,   296,    -1,   214,   344,    -1,   353,   131,    -1,
     788     353,    -1,    57,   215,   101,   154,   102,   124,    -1,    57,
     789     215,   101,   154,   109,   190,   102,   124,    -1,    57,   215,
     790     101,   154,   109,   190,   109,   190,   102,   124,    -1,    57,
     791     215,   101,   154,   109,   190,   109,   190,   109,   193,   102,
     792     124,    -1,    -1,   191,    -1,   192,    -1,   191,   108,   192,
     793      -1,    75,   101,   154,   102,    -1,    75,    -1,   193,   108,
     794      75,    -1,   127,    -1,   195,    -1,   201,    -1,   195,   126,
     795     201,    -1,   127,    -1,   197,    -1,   211,    -1,   197,   126,
     796     211,    -1,    -1,   199,    -1,    28,   200,   124,    -1,   199,
     797      28,   200,   124,    -1,   261,    -1,   200,   108,   261,    -1,
     798     202,    -1,   211,    -1,   203,   127,   124,    -1,   208,   127,
     799     124,    -1,   205,   127,   124,    -1,   280,   127,   124,    -1,
     800     283,   127,   124,    -1,   204,   264,    -1,   220,   204,   264,
     801      -1,   203,   127,   108,   126,   259,   264,    -1,   354,   259,
     802     298,    -1,   357,   259,   298,    -1,   216,   357,   259,   298,
     803      -1,   206,    -1,   216,   206,    -1,   220,   206,    -1,   220,
     804     216,   206,    -1,   205,   127,   108,   126,   259,    -1,   103,
     805     104,   259,   101,   126,   247,   127,   102,    -1,   357,   259,
     806     101,   126,   247,   127,   102,    -1,   207,   259,   101,   126,
     807     247,   127,   102,    -1,   103,   126,   249,   127,   104,    -1,
     808     103,   126,   249,   127,   108,   126,   250,   127,   104,    -1,
     809       3,   204,    -1,     3,   206,    -1,   208,   127,   108,   126,
     810     131,    -1,     3,   214,   296,    -1,   209,   127,   108,   126,
     811     296,    -1,   216,     3,   214,   296,    -1,   214,     3,   296,
     812      -1,   214,     3,   216,   296,    -1,     3,   131,   123,   155,
     813      -1,   210,   127,   108,   126,   131,   123,   155,    -1,   212,
     814     127,   124,    -1,   209,   127,   124,    -1,   210,   127,   124,
     815      -1,   229,   127,   124,    -1,   213,   296,   298,   264,    -1,
     816     212,   108,   299,   296,   298,   264,    -1,   225,    -1,   229,
     817      -1,   231,    -1,   270,    -1,   226,    -1,   230,    -1,   232,
     818      -1,   271,    -1,    -1,   216,    -1,   217,    -1,   216,   217,
     819      -1,   218,    -1,   301,    -1,    10,    -1,    12,    -1,    11,
     820      -1,    14,    -1,    60,    -1,    -1,    13,   101,   219,   273,
     821     102,    -1,   221,    -1,   216,   221,    -1,   220,   216,   221,
     822      -1,   222,    -1,   221,   222,    -1,   223,    -1,     5,    -1,
     823       7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,
     824      62,    -1,    64,    -1,    16,    -1,    21,    -1,    20,    -1,
     825      18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,
     826      15,    -1,    24,    -1,    25,    -1,    26,    -1,   226,    -1,
     827     220,   226,    -1,   225,   222,    -1,   225,   222,   216,    -1,
     828     225,   222,   226,    -1,   227,    -1,   215,   228,   215,    -1,
     829     224,    -1,   216,   224,    -1,   227,   217,    -1,   227,   224,
     830      -1,    27,   101,   263,   102,    -1,    27,   101,   160,   102,
     831      -1,    71,   101,   263,   102,    -1,    71,   101,   160,   102,
     832      -1,   230,    -1,   220,   230,    -1,   229,   222,    -1,   229,
     833     222,   216,    -1,   233,    -1,   216,   233,    -1,   230,   217,
     834      -1,   232,    -1,   220,   232,    -1,   231,   222,    -1,   231,
     835     222,   216,    -1,    67,    -1,   216,    67,    -1,   232,   217,
     836      -1,   234,    -1,   244,    -1,   235,   106,   236,   107,    -1,
     837     235,   261,    -1,   235,   261,   106,   236,   107,    -1,   235,
     838     101,   279,   102,   106,   236,   107,    -1,   235,   272,    -1,
     839      30,   299,    -1,    31,   299,    -1,   237,    -1,   236,   237,
     840      -1,   238,   124,    -1,    38,   238,   124,    -1,   239,   124,
     841      -1,    38,   239,   124,    -1,   353,    -1,   353,   261,    -1,
     842     238,   108,   261,    -1,   238,   108,    -1,   214,   240,    -1,
     843     239,   108,   299,   240,    -1,    -1,   242,    -1,   305,   241,
     844      -1,   318,   241,    -1,   344,    -1,    -1,   242,    -1,   109,
     845     154,    -1,    29,   299,    -1,   243,   106,   245,   359,   107,
     846      -1,   243,   261,   106,   245,   359,   107,    -1,   243,   261,
     847      -1,   261,   246,    -1,   245,   108,   261,   246,    -1,    -1,
     848     123,   154,    -1,    -1,   248,    -1,   250,    -1,   249,    -1,
     849     249,   127,   108,   126,   250,    -1,   250,   127,   108,   126,
     850      89,    -1,   249,   127,   108,   126,    89,    -1,   254,    -1,
     851     250,   127,   108,   126,   254,    -1,   249,   127,   108,   126,
     852     254,    -1,   249,   127,   108,   126,   250,   127,   108,   126,
     853     254,    -1,   255,    -1,   250,   127,   108,   126,   255,    -1,
     854      -1,   252,    -1,   253,    -1,   253,   127,   108,   126,    89,
     855      -1,   257,    -1,   256,    -1,   253,   127,   108,   126,   257,
     856      -1,   253,   127,   108,   126,   256,    -1,   256,    -1,   349,
     857     259,   360,    -1,   357,   259,   360,    -1,   216,   357,   259,
     858     360,    -1,   206,    -1,   257,    -1,   349,    -1,   357,    -1,
     859     216,   357,    -1,   358,    -1,   213,   323,   360,    -1,   213,
     860     327,   360,    -1,   213,    -1,   213,   338,    -1,   131,    -1,
     861     258,   108,   131,    -1,   129,    -1,    67,    -1,    68,    -1,
     862     130,    -1,    67,    -1,    68,    -1,   131,    -1,    67,    -1,
     863      68,    -1,   353,    -1,   214,    -1,   214,   344,    -1,   353,
     864      -1,   358,    -1,   214,    -1,   214,   332,    -1,    -1,   123,
     865     265,    -1,   155,    -1,   106,   266,   359,   107,    -1,   265,
     866      -1,   267,   265,    -1,   266,   108,   265,    -1,   266,   108,
     867     267,   265,    -1,   268,   109,    -1,   261,   109,    -1,   269,
     868      -1,   268,   269,    -1,   105,   261,    -1,   103,   126,   155,
     869     127,   104,    -1,   103,   126,   297,   127,   104,    -1,   103,
     870     126,   154,    89,   154,   127,   104,    -1,   105,   103,   126,
     871     138,   127,   104,    -1,   271,    -1,   220,   271,    -1,   270,
     872     222,    -1,   270,   222,   216,    -1,   272,    -1,   216,   272,
     873      -1,   271,   217,    -1,    68,   101,   279,   102,    -1,   274,
     874     360,    -1,   273,   108,   274,   360,    -1,    -1,   276,   261,
     875     275,   277,    -1,   214,   323,    -1,    32,    -1,    34,    -1,
     876      33,    -1,    -1,   277,   278,    -1,   121,   261,   101,   279,
     877     102,    -1,   121,   106,   126,   285,   107,    -1,   121,   101,
     878     126,   273,   127,   102,   106,   126,   285,   107,   101,   279,
     879     102,    -1,   263,    -1,   155,    -1,   279,   108,   263,    -1,
     880     279,   108,   155,    -1,    32,   281,    -1,   221,    32,   281,
     881      -1,   280,   108,   281,    -1,   282,   277,    -1,   282,   277,
     882     123,   263,    -1,   261,    -1,   260,   101,   126,   273,   127,
     883     102,    -1,    35,   261,   101,   126,   273,   127,   102,   106,
     884     107,    -1,    -1,    35,   261,   101,   126,   273,   127,   102,
     885     106,   284,   285,   107,    -1,   286,    -1,   285,   126,   286,
     886      -1,   287,   127,   124,    -1,   288,   127,   124,    -1,   204,
     887      -1,   206,    -1,   287,   127,   108,   126,   259,    -1,   214,
     888     296,    -1,   288,   127,   108,   126,   296,    -1,    -1,   290,
     889      -1,   292,    -1,   290,   126,   292,    -1,    -1,   290,    -1,
     890     201,    -1,   294,    -1,   189,    -1,    -1,     5,    75,   293,
     891     106,   291,   107,    -1,    38,   292,    -1,   295,    -1,   310,
     892     164,    -1,   314,   126,   196,   164,    -1,   205,   164,    -1,
     893     213,   310,   164,    -1,   216,   310,   164,    -1,   220,   310,
     894     164,    -1,   220,   216,   310,   164,    -1,   213,   314,   126,
     895     196,   164,    -1,   216,   314,   126,   196,   164,    -1,   220,
     896     314,   126,   196,   164,    -1,   220,   216,   314,   126,   196,
     897     164,    -1,   305,    -1,   310,    -1,   318,    -1,   154,   115,
     898     154,    -1,    -1,    57,   101,   133,   102,   299,    -1,    -1,
     899     300,    -1,   301,    -1,   300,   301,    -1,    37,   101,   101,
     900     302,   102,   102,    -1,   303,    -1,   302,   108,   303,    -1,
     901      -1,   304,    -1,   304,   101,   161,   102,    -1,   259,    -1,
     902     223,    -1,   224,    -1,   217,    -1,   306,   299,    -1,   307,
     903      -1,   308,   299,    -1,   309,   299,    -1,   129,    -1,   101,
     904     306,   102,    -1,   111,   305,    -1,   111,   216,   305,    -1,
     905     101,   307,   102,    -1,   306,   336,    -1,   101,   307,   102,
     906     336,    -1,   101,   308,   102,   337,    -1,   101,   308,   102,
     907      -1,   101,   307,   102,   101,   126,   251,   127,   102,    -1,
     908     101,   309,   102,    -1,   311,   299,    -1,   312,    -1,   313,
     909     299,    -1,   306,   101,   126,   251,   127,   102,    -1,   101,
     910     312,   102,   101,   126,   251,   127,   102,    -1,   101,   311,
     911     102,    -1,   111,   310,    -1,   111,   216,   310,    -1,   101,
     912     312,   102,    -1,   101,   312,   102,   336,    -1,   101,   313,
     913     102,   337,    -1,   101,   313,   102,    -1,   315,    -1,   316,
     914      -1,   317,    -1,   306,   101,   258,   102,    -1,   101,   316,
     915     102,   101,   258,   102,    -1,   101,   315,   102,    -1,   111,
     916     314,    -1,   111,   216,   314,    -1,   101,   316,   102,    -1,
     917     101,   316,   102,   336,    -1,   101,   317,   102,   337,    -1,
     918     101,   317,   102,    -1,   319,   299,    -1,   320,    -1,   321,
     919     299,    -1,   322,   299,    -1,   328,    -1,   101,   319,   102,
     920      -1,   111,   318,    -1,   111,   216,   318,    -1,   101,   320,
     921     102,    -1,   319,   336,    -1,   101,   320,   102,   336,    -1,
     922     101,   321,   102,   337,    -1,   101,   321,   102,    -1,   319,
     923     101,   126,   251,   127,   102,    -1,   101,   320,   102,   101,
     924     126,   251,   127,   102,    -1,   101,   322,   102,    -1,   306,
     925     299,    -1,   324,    -1,   325,   299,    -1,   326,   299,    -1,
     926     111,   323,    -1,   111,   216,   323,    -1,   101,   324,   102,
     927      -1,   306,   342,    -1,   101,   324,   102,   336,    -1,   101,
     928     325,   102,   337,    -1,   101,   325,   102,    -1,   306,   101,
     929     126,   251,   127,   102,    -1,   101,   324,   102,   101,   126,
     930     251,   127,   102,    -1,   101,   326,   102,    -1,   328,   299,
     931      -1,   329,    -1,   330,   299,    -1,   331,   299,    -1,    67,
     932      -1,    68,    -1,   111,   327,    -1,   111,   216,   327,    -1,
     933     101,   329,   102,    -1,   328,   342,    -1,   101,   329,   102,
     934     342,    -1,   328,   101,   126,   251,   127,   102,    -1,   101,
     935     329,   102,   101,   126,   251,   127,   102,    -1,   333,    -1,
     936     334,   299,    -1,   335,   299,    -1,   111,    -1,   111,   216,
     937      -1,   111,   332,    -1,   111,   216,   332,    -1,   101,   333,
     938     102,    -1,   336,    -1,   101,   333,   102,   336,    -1,   101,
     939     334,   102,   337,    -1,   101,   334,   102,    -1,   101,   126,
     940     251,   127,   102,    -1,   101,   333,   102,   101,   126,   251,
     941     127,   102,    -1,   101,   335,   102,    -1,   103,   104,    -1,
     942     103,   104,   337,    -1,   337,    -1,   103,   126,   155,   127,
     943     104,    -1,   103,   126,   111,   127,   104,    -1,   337,   103,
     944     126,   155,   127,   104,    -1,   337,   103,   126,   111,   127,
     945     104,    -1,   339,    -1,   340,   299,    -1,   341,   299,    -1,
     946     111,    -1,   111,   216,    -1,   111,   338,    -1,   111,   216,
     947     338,    -1,   101,   339,   102,    -1,   342,    -1,   101,   339,
     948     102,   342,    -1,   101,   340,   102,   337,    -1,   101,   340,
     949     102,    -1,   101,   126,   251,   127,   102,    -1,   101,   339,
     950     102,   101,   126,   251,   127,   102,    -1,   101,   341,   102,
     951      -1,   343,    -1,   343,   337,    -1,   337,    -1,   103,   104,
     952      -1,   103,   126,   216,   111,   127,   104,    -1,   103,   126,
     953     216,   127,   104,    -1,   103,   126,   216,   155,   127,   104,
     954      -1,   103,   126,     7,   215,   155,   127,   104,    -1,   103,
     955     126,   216,     7,   155,   127,   104,    -1,   345,    -1,   346,
     956     299,    -1,   347,   299,    -1,   111,    -1,   111,   216,    -1,
     957     111,   344,    -1,   111,   216,   344,    -1,   101,   345,   102,
     958      -1,   336,    -1,   101,   345,   102,   336,    -1,   101,   346,
     959     102,   337,    -1,   101,   346,   102,    -1,   101,   345,   102,
     960     101,   126,   251,   127,   102,    -1,   101,   347,   102,    -1,
     961     349,    -1,   357,    -1,   216,   357,    -1,   350,    -1,   351,
     962      -1,   111,   214,    -1,   216,   111,   214,    -1,   111,   358,
     963      -1,   216,   111,   358,    -1,   111,   348,    -1,   216,   111,
     964     348,    -1,   103,   104,   214,    -1,   352,   214,    -1,   103,
     965     104,   337,   214,    -1,   352,   337,   214,    -1,   337,   214,
     966      -1,   103,   104,   350,    -1,   352,   350,    -1,   103,   104,
     967     337,   350,    -1,   352,   337,   350,    -1,   337,   350,    -1,
     968     103,   126,   216,   111,   127,   104,    -1,   103,   126,   216,
     969     155,   127,   104,    -1,   103,   126,   220,   155,   127,   104,
     970      -1,   103,   126,   220,   216,   155,   127,   104,    -1,   357,
     971      -1,   216,   357,    -1,   354,    -1,   355,    -1,   356,    -1,
     972     111,   214,    -1,   216,   111,   214,    -1,   111,   358,    -1,
     973     216,   111,   358,    -1,   111,   353,    -1,   216,   111,   353,
     974      -1,   103,   104,   214,    -1,   103,   104,   337,   214,    -1,
     975     337,   214,    -1,   103,   104,   355,    -1,   103,   104,   337,
     976     355,    -1,   337,   355,    -1,   103,   126,   250,   127,   104,
     977      -1,   103,   104,   101,   247,   102,    -1,   357,   101,   126,
     978     247,   127,   102,    -1,   207,   101,   126,   247,   127,   102,
     979      -1,    -1,   108,    -1,    -1,   123,   155,    -1
    987980};
    988981
     
    990983static const yytype_uint16 yyrline[] =
    991984{
    992        0,   288,   288,   294,   303,   304,   305,   309,   310,   311,
    993      315,   316,   320,   324,   325,   329,   330,   336,   338,   340,
    994      342,   347,   348,   354,   356,   358,   359,   361,   362,   364,
    995      367,   372,   373,   379,   380,   381,   386,   388,   393,   394,
    996      398,   400,   402,   404,   406,   411,   414,   416,   418,   420,
    997      422,   424,   426,   428,   434,   436,   438,   440,   442,   444,
    998      446,   448,   453,   454,   455,   456,   460,   461,   463,   468,
    999      469,   471,   473,   478,   479,   481,   486,   487,   489,   494,
    1000      495,   497,   499,   501,   506,   507,   509,   514,   515,   520,
    1001      521,   526,   527,   532,   533,   538,   539,   544,   545,   547,
    1002      549,   554,   559,   560,   562,   564,   570,   571,   577,   579,
    1003      581,   583,   588,   589,   594,   595,   596,   597,   598,   599,
    1004      600,   601,   602,   603,   607,   608,   614,   615,   621,   622,
    1005      623,   624,   625,   626,   627,   628,   632,   639,   641,   651,
    1006      652,   657,   659,   661,   663,   667,   668,   673,   678,   681,
    1007      683,   685,   690,   692,   700,   701,   703,   707,   708,   713,
    1008      714,   719,   720,   724,   729,   730,   734,   736,   742,   743,
    1009      747,   749,   751,   753,   759,   760,   764,   765,   769,   771,
    1010      773,   778,   780,   785,   787,   791,   794,   798,   801,   805,
    1011      807,   809,   814,   816,   818,   827,   829,   831,   836,   838,
    1012      843,   856,   857,   862,   864,   869,   873,   875,   877,   879,
    1013      881,   887,   888,   894,   895,   899,   900,   905,   907,   913,
    1014      914,   916,   921,   923,   930,   932,   936,   937,   942,   944,
    1015      948,   949,   953,   955,   959,   960,   964,   965,   969,   970,
    1016      985,   986,   987,   988,   989,   993,   998,  1005,  1015,  1020,
    1017     1025,  1033,  1038,  1043,  1048,  1053,  1061,  1083,  1088,  1095,
    1018     1097,  1104,  1109,  1114,  1125,  1130,  1135,  1140,  1145,  1154,
    1019     1159,  1167,  1168,  1169,  1170,  1176,  1181,  1189,  1190,  1191,
    1020     1192,  1196,  1197,  1198,  1199,  1204,  1205,  1214,  1215,  1220,
    1021     1221,  1226,  1228,  1230,  1232,  1234,  1237,  1236,  1248,  1249,
    1022     1251,  1261,  1262,  1267,  1271,  1273,  1275,  1277,  1279,  1281,
    1023     1283,  1285,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
    1024     1306,  1308,  1310,  1312,  1318,  1319,  1321,  1323,  1325,  1330,
    1025     1331,  1337,  1338,  1340,  1342,  1347,  1349,  1351,  1353,  1358,
    1026     1359,  1361,  1363,  1368,  1369,  1371,  1376,  1377,  1379,  1381,
    1027     1386,  1388,  1390,  1395,  1396,  1400,  1402,  1404,  1406,  1408,
    1028     1413,  1415,  1420,  1422,  1427,  1428,  1430,  1431,  1436,  1437,
    1029     1439,  1441,  1446,  1448,  1454,  1455,  1457,  1460,  1463,  1468,
    1030     1469,  1474,  1479,  1483,  1485,  1487,  1492,  1494,  1500,  1501,
    1031     1509,  1510,  1514,  1515,  1516,  1518,  1520,  1527,  1528,  1530,
    1032     1532,  1537,  1538,  1544,  1545,  1549,  1550,  1555,  1556,  1557,
    1033     1559,  1567,  1568,  1570,  1573,  1575,  1579,  1580,  1581,  1583,
    1034     1585,  1589,  1594,  1602,  1603,  1612,  1614,  1619,  1620,  1621,
    1035     1625,  1626,  1627,  1631,  1632,  1633,  1637,  1638,  1639,  1644,
    1036     1645,  1646,  1647,  1653,  1654,  1659,  1660,  1664,  1665,  1666,
    1037     1667,  1682,  1683,  1688,  1689,  1696,  1698,  1700,  1703,  1705,
    1038     1707,  1730,  1731,  1733,  1735,  1740,  1741,  1743,  1748,  1753,
    1039     1754,  1760,  1759,  1763,  1767,  1769,  1771,  1777,  1778,  1783,
    1040     1788,  1790,  1795,  1797,  1798,  1800,  1805,  1807,  1809,  1814,
    1041     1816,  1821,  1826,  1834,  1840,  1839,  1853,  1854,  1859,  1860,
    1042     1864,  1869,  1874,  1882,  1887,  1898,  1899,  1910,  1911,  1917,
    1043     1918,  1922,  1923,  1924,  1927,  1926,  1937,  1942,  1947,  1953,
    1044     1962,  1968,  1974,  1980,  1986,  1994,  2000,  2008,  2014,  2023,
    1045     2024,  2025,  2029,  2033,  2035,  2040,  2041,  2045,  2046,  2051,
    1046     2057,  2058,  2061,  2063,  2064,  2068,  2069,  2070,  2071,  2105,
    1047     2107,  2108,  2110,  2115,  2120,  2125,  2127,  2129,  2134,  2136,
    1048     2138,  2140,  2145,  2147,  2157,  2159,  2160,  2165,  2167,  2169,
    1049     2174,  2176,  2178,  2183,  2185,  2187,  2196,  2197,  2198,  2202,
    1050     2204,  2206,  2211,  2213,  2215,  2220,  2222,  2224,  2239,  2241,
    1051     2242,  2244,  2249,  2250,  2255,  2257,  2259,  2264,  2266,  2268,
    1052     2270,  2275,  2277,  2279,  2289,  2291,  2292,  2294,  2299,  2301,
    1053     2303,  2308,  2310,  2312,  2314,  2319,  2321,  2323,  2354,  2356,
    1054     2357,  2359,  2364,  2369,  2377,  2379,  2381,  2386,  2388,  2393,
    1055     2395,  2409,  2410,  2412,  2417,  2419,  2421,  2423,  2425,  2430,
    1056     2431,  2433,  2435,  2440,  2442,  2444,  2450,  2452,  2454,  2458,
    1057     2460,  2462,  2464,  2478,  2479,  2481,  2486,  2488,  2490,  2492,
    1058     2494,  2499,  2500,  2502,  2504,  2509,  2511,  2513,  2519,  2520,
    1059     2522,  2531,  2534,  2536,  2539,  2541,  2543,  2556,  2557,  2559,
    1060     2564,  2566,  2568,  2570,  2572,  2577,  2578,  2580,  2582,  2587,
    1061     2589,  2597,  2598,  2599,  2604,  2605,  2609,  2611,  2613,  2615,
    1062     2617,  2619,  2626,  2628,  2630,  2632,  2634,  2636,  2638,  2640,
    1063     2642,  2644,  2649,  2651,  2653,  2658,  2684,  2685,  2687,  2691,
    1064     2692,  2696,  2698,  2700,  2702,  2704,  2706,  2713,  2715,  2717,
    1065     2719,  2721,  2723,  2728,  2733,  2735,  2737,  2755,  2757,  2762,
    1066     2763
     985       0,   282,   282,   288,   297,   298,   299,   303,   304,   305,
     986     309,   310,   314,   318,   319,   323,   324,   330,   332,   334,
     987     336,   338,   340,   345,   346,   352,   354,   356,   357,   359,
     988     360,   362,   365,   370,   371,   377,   378,   379,   384,   386,
     989     391,   392,   396,   398,   400,   402,   404,   409,   410,   412,
     990     414,   416,   418,   420,   426,   428,   430,   432,   434,   436,
     991     438,   440,   445,   446,   447,   448,   452,   453,   455,   460,
     992     461,   463,   465,   470,   471,   473,   478,   479,   481,   486,
     993     487,   489,   491,   493,   498,   499,   501,   506,   507,   512,
     994     513,   518,   519,   524,   525,   530,   531,   536,   537,   539,
     995     541,   546,   551,   552,   554,   556,   562,   563,   569,   571,
     996     573,   575,   580,   581,   586,   587,   588,   589,   590,   591,
     997     592,   593,   594,   595,   599,   600,   606,   607,   613,   614,
     998     615,   616,   617,   618,   619,   620,   624,   631,   633,   643,
     999     644,   649,   651,   653,   655,   659,   660,   665,   670,   673,
     1000     675,   677,   682,   684,   692,   693,   695,   699,   700,   705,
     1001     706,   711,   712,   716,   721,   722,   726,   728,   734,   735,
     1002     739,   741,   743,   745,   751,   752,   756,   757,   761,   763,
     1003     765,   770,   772,   777,   779,   783,   786,   790,   793,   797,
     1004     799,   801,   806,   808,   810,   819,   821,   823,   828,   830,
     1005     835,   848,   849,   854,   856,   861,   865,   867,   869,   871,
     1006     875,   877,   881,   882,   886,   890,   891,   897,   899,   903,
     1007     904,   909,   911,   915,   916,   920,   922,   926,   927,   931,
     1008     932,   936,   937,   952,   953,   954,   955,   956,   960,   965,
     1009     972,   982,   987,   992,  1000,  1005,  1010,  1015,  1020,  1028,
     1010    1050,  1055,  1062,  1064,  1071,  1076,  1081,  1092,  1097,  1102,
     1011    1107,  1112,  1121,  1126,  1134,  1135,  1136,  1137,  1143,  1148,
     1012    1156,  1157,  1158,  1159,  1163,  1164,  1165,  1166,  1171,  1172,
     1013    1181,  1182,  1187,  1188,  1193,  1195,  1197,  1199,  1201,  1204,
     1014    1203,  1215,  1216,  1218,  1228,  1229,  1234,  1238,  1240,  1242,
     1015    1244,  1246,  1248,  1250,  1252,  1257,  1259,  1261,  1263,  1265,
     1016    1267,  1269,  1271,  1273,  1275,  1277,  1279,  1285,  1286,  1288,
     1017    1290,  1292,  1297,  1298,  1304,  1305,  1307,  1309,  1314,  1316,
     1018    1318,  1320,  1325,  1326,  1328,  1330,  1335,  1336,  1338,  1343,
     1019    1344,  1346,  1348,  1353,  1355,  1357,  1362,  1363,  1367,  1369,
     1020    1371,  1373,  1375,  1380,  1382,  1387,  1389,  1394,  1395,  1397,
     1021    1398,  1403,  1404,  1406,  1408,  1413,  1415,  1421,  1422,  1424,
     1022    1427,  1430,  1435,  1436,  1441,  1446,  1450,  1452,  1454,  1459,
     1023    1461,  1467,  1468,  1476,  1477,  1481,  1482,  1483,  1485,  1487,
     1024    1494,  1495,  1497,  1499,  1504,  1505,  1511,  1512,  1516,  1517,
     1025    1522,  1523,  1524,  1526,  1534,  1535,  1537,  1540,  1542,  1546,
     1026    1547,  1548,  1550,  1552,  1556,  1561,  1569,  1570,  1579,  1581,
     1027    1586,  1587,  1588,  1592,  1593,  1594,  1598,  1599,  1600,  1604,
     1028    1605,  1606,  1611,  1612,  1613,  1614,  1620,  1621,  1626,  1627,
     1029    1631,  1632,  1633,  1634,  1649,  1650,  1655,  1656,  1662,  1664,
     1030    1667,  1669,  1671,  1694,  1695,  1697,  1699,  1704,  1705,  1707,
     1031    1712,  1717,  1718,  1724,  1723,  1727,  1731,  1733,  1735,  1741,
     1032    1742,  1747,  1752,  1754,  1759,  1761,  1762,  1764,  1769,  1771,
     1033    1773,  1778,  1780,  1785,  1790,  1798,  1804,  1803,  1817,  1818,
     1034    1823,  1824,  1828,  1833,  1838,  1846,  1851,  1862,  1863,  1874,
     1035    1875,  1881,  1882,  1886,  1887,  1888,  1891,  1890,  1901,  1906,
     1036    1911,  1917,  1926,  1932,  1938,  1944,  1950,  1958,  1964,  1972,
     1037    1978,  1987,  1988,  1989,  1993,  1997,  1999,  2004,  2005,  2009,
     1038    2010,  2015,  2021,  2022,  2025,  2027,  2028,  2032,  2033,  2034,
     1039    2035,  2069,  2071,  2072,  2074,  2079,  2084,  2089,  2091,  2093,
     1040    2098,  2100,  2102,  2104,  2109,  2111,  2121,  2123,  2124,  2129,
     1041    2131,  2133,  2138,  2140,  2142,  2147,  2149,  2151,  2160,  2161,
     1042    2162,  2166,  2168,  2170,  2175,  2177,  2179,  2184,  2186,  2188,
     1043    2203,  2205,  2206,  2208,  2213,  2214,  2219,  2221,  2223,  2228,
     1044    2230,  2232,  2234,  2239,  2241,  2243,  2253,  2255,  2256,  2258,
     1045    2263,  2265,  2267,  2272,  2274,  2276,  2278,  2283,  2285,  2287,
     1046    2318,  2320,  2321,  2323,  2328,  2333,  2341,  2343,  2345,  2350,
     1047    2352,  2357,  2359,  2373,  2374,  2376,  2381,  2383,  2385,  2387,
     1048    2389,  2394,  2395,  2397,  2399,  2404,  2406,  2408,  2414,  2416,
     1049    2418,  2422,  2424,  2426,  2428,  2442,  2443,  2445,  2450,  2452,
     1050    2454,  2456,  2458,  2463,  2464,  2466,  2468,  2473,  2475,  2477,
     1051    2483,  2484,  2486,  2495,  2498,  2500,  2503,  2505,  2507,  2520,
     1052    2521,  2523,  2528,  2530,  2532,  2534,  2536,  2541,  2542,  2544,
     1053    2546,  2551,  2553,  2561,  2562,  2563,  2568,  2569,  2573,  2575,
     1054    2577,  2579,  2581,  2583,  2590,  2592,  2594,  2596,  2598,  2600,
     1055    2602,  2604,  2606,  2608,  2613,  2615,  2617,  2622,  2648,  2649,
     1056    2651,  2655,  2656,  2660,  2662,  2664,  2666,  2668,  2670,  2677,
     1057    2679,  2681,  2683,  2685,  2687,  2692,  2697,  2699,  2701,  2719,
     1058    2721,  2726,  2727
    10671059};
    10681060#endif
     
    11121104  "exception_statement", "handler_list", "handler_clause",
    11131105  "finally_clause", "exception_declaration", "asm_statement",
    1114   "asm_volatile_opt", "asm_operands_opt", "asm_operands_list",
    1115   "asm_operand", "asm_clobbers_list_opt", "label_list",
    1116   "declaration_list_opt", "declaration_list", "old_declaration_list_opt",
    1117   "old_declaration_list", "local_label_declaration_opt",
    1118   "local_label_declaration_list", "local_label_list", "declaration",
    1119   "new_declaration", "new_variable_declaration", "new_variable_specifier",
    1120   "new_function_declaration", "new_function_specifier",
    1121   "new_function_return", "new_typedef_declaration", "typedef_declaration",
    1122   "typedef_expression", "old_declaration", "declaring_list",
    1123   "declaration_specifier", "type_specifier", "type_qualifier_list_opt",
    1124   "type_qualifier_list", "type_qualifier", "type_qualifier_name", "$@1",
     1106  "asm_operands_opt", "asm_operands_list", "asm_operand",
     1107  "asm_clobbers_list", "declaration_list_opt", "declaration_list",
     1108  "old_declaration_list_opt", "old_declaration_list",
     1109  "label_declaration_opt", "label_declaration_list", "label_list",
     1110  "declaration", "new_declaration", "new_variable_declaration",
     1111  "new_variable_specifier", "new_function_declaration",
     1112  "new_function_specifier", "new_function_return",
     1113  "new_typedef_declaration", "typedef_declaration", "typedef_expression",
     1114  "old_declaration", "declaring_list", "declaration_specifier",
     1115  "type_specifier", "type_qualifier_list_opt", "type_qualifier_list",
     1116  "type_qualifier", "type_qualifier_name", "$@1",
    11251117  "declaration_qualifier_list", "storage_class_list", "storage_class",
    11261118  "storage_class_name", "basic_type_name", "basic_declaration_specifier",
     
    12061198       0,   125,   126,   127,   128,   128,   128,   129,   129,   129,
    12071199     130,   130,   131,   132,   132,   133,   133,   134,   134,   134,
    1208      134,   135,   135,   135,   135,   135,   135,   135,   135,   135,
    1209      135,   136,   136,   137,   137,   137,   137,   137,   138,   138,
    1210      139,   139,   139,   139,   139,   140,   140,   140,   140,   140,
     1200     134,   134,   134,   135,   135,   135,   135,   135,   135,   135,
     1201     135,   135,   135,   136,   136,   137,   137,   137,   137,   137,
     1202     138,   138,   139,   139,   139,   139,   139,   140,   140,   140,
    12111203     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
    12121204     140,   140,   141,   141,   141,   141,   142,   142,   142,   143,
     
    12251217     183,   183,   184,   184,   184,   185,   185,   185,   186,   186,
    12261218     187,   188,   188,   188,   188,   188,   189,   189,   189,   189,
    1227      189,   190,   190,   191,   191,   192,   192,   193,   193,   194,
    1228      194,   194,   195,   195,   196,   196,   197,   197,   198,   198,
    1229      199,   199,   200,   200,   201,   201,   202,   202,   203,   203,
    1230      204,   204,   204,   204,   204,   205,   205,   205,   206,   206,
    1231      206,   207,   207,   207,   207,   207,   208,   208,   208,   209,
    1232      209,   210,   210,   210,   211,   211,   211,   211,   211,   212,
    1233      212,   213,   213,   213,   213,   214,   214,   215,   215,   215,
    1234      215,   216,   216,   216,   216,   217,   217,   218,   218,   219,
    1235      219,   220,   220,   220,   220,   220,   221,   220,   222,   222,
    1236      222,   223,   223,   224,   225,   225,   225,   225,   225,   225,
    1237      225,   225,   226,   226,   226,   226,   226,   226,   226,   226,
    1238      226,   226,   226,   226,   227,   227,   227,   227,   227,   228,
    1239      228,   229,   229,   229,   229,   230,   230,   230,   230,   231,
    1240      231,   231,   231,   232,   232,   232,   233,   233,   233,   233,
    1241      234,   234,   234,   235,   235,   236,   236,   236,   236,   236,
    1242      237,   237,   238,   238,   239,   239,   239,   239,   240,   240,
    1243      240,   240,   241,   241,   242,   242,   242,   242,   242,   243,
    1244      243,   244,   245,   246,   246,   246,   247,   247,   248,   248,
    1245      249,   249,   250,   250,   250,   250,   250,   251,   251,   251,
    1246      251,   252,   252,   253,   253,   254,   254,   255,   255,   255,
    1247      255,   256,   256,   256,   256,   256,   257,   257,   257,   257,
    1248      257,   258,   258,   259,   259,   260,   260,   261,   261,   261,
    1249      262,   262,   262,   263,   263,   263,   264,   264,   264,   265,
    1250      265,   265,   265,   266,   266,   267,   267,   268,   268,   268,
    1251      268,   269,   269,   270,   270,   271,   271,   271,   271,   271,
    1252      271,   272,   272,   272,   272,   273,   273,   273,   274,   275,
    1253      275,   277,   276,   276,   278,   278,   278,   279,   279,   280,
    1254      280,   280,   281,   281,   281,   281,   282,   282,   282,   283,
    1255      283,   284,   284,   285,   286,   285,   287,   287,   288,   288,
    1256      289,   289,   289,   290,   290,   291,   291,   292,   292,   293,
    1257      293,   294,   294,   294,   295,   294,   294,   296,   296,   296,
    1258      297,   297,   297,   297,   297,   297,   297,   297,   297,   298,
    1259      298,   298,   299,   300,   300,   301,   301,   302,   302,   303,
    1260      304,   304,   305,   305,   305,   306,   306,   306,   306,   307,
    1261      307,   307,   307,   308,   308,   309,   309,   309,   310,   310,
    1262      310,   310,   311,   311,   312,   312,   312,   313,   313,   313,
    1263      314,   314,   314,   315,   315,   315,   316,   316,   316,   317,
    1264      317,   317,   318,   318,   318,   319,   319,   319,   320,   320,
    1265      320,   320,   321,   321,   322,   322,   322,   323,   323,   323,
    1266      323,   324,   324,   324,   325,   325,   325,   325,   326,   326,
    1267      326,   327,   327,   327,   327,   328,   328,   328,   329,   329,
    1268      329,   329,   330,   330,   331,   331,   331,   332,   332,   333,
    1269      333,   334,   334,   334,   335,   335,   335,   335,   335,   336,
    1270      336,   336,   336,   337,   337,   337,   338,   338,   338,   339,
    1271      339,   339,   339,   340,   340,   340,   341,   341,   341,   341,
    1272      341,   342,   342,   342,   342,   343,   343,   343,   344,   344,
    1273      344,   345,   345,   345,   345,   345,   345,   346,   346,   346,
    1274      347,   347,   347,   347,   347,   348,   348,   348,   348,   349,
    1275      349,   350,   350,   350,   351,   351,   352,   352,   352,   352,
    1276      352,   352,   353,   353,   353,   353,   353,   353,   353,   353,
    1277      353,   353,   354,   354,   354,   354,   355,   355,   355,   356,
    1278      356,   357,   357,   357,   357,   357,   357,   358,   358,   358,
    1279      358,   358,   358,   359,   360,   360,   360,   361,   361,   362,
    1280      362
     1219     190,   190,   191,   191,   192,   193,   193,   194,   194,   195,
     1220     195,   196,   196,   197,   197,   198,   198,   199,   199,   200,
     1221     200,   201,   201,   202,   202,   202,   202,   202,   203,   203,
     1222     203,   204,   204,   204,   205,   205,   205,   205,   205,   206,
     1223     206,   206,   207,   207,   208,   208,   208,   209,   209,   209,
     1224     209,   209,   210,   210,   211,   211,   211,   211,   212,   212,
     1225     213,   213,   213,   213,   214,   214,   214,   214,   215,   215,
     1226     216,   216,   217,   217,   218,   218,   218,   218,   218,   219,
     1227     218,   220,   220,   220,   221,   221,   222,   223,   223,   223,
     1228     223,   223,   223,   223,   223,   224,   224,   224,   224,   224,
     1229     224,   224,   224,   224,   224,   224,   224,   225,   225,   225,
     1230     225,   225,   226,   226,   227,   227,   227,   227,   228,   228,
     1231     228,   228,   229,   229,   229,   229,   230,   230,   230,   231,
     1232     231,   231,   231,   232,   232,   232,   233,   233,   234,   234,
     1233     234,   234,   234,   235,   235,   236,   236,   237,   237,   237,
     1234     237,   238,   238,   238,   238,   239,   239,   240,   240,   240,
     1235     240,   240,   241,   241,   242,   243,   244,   244,   244,   245,
     1236     245,   246,   246,   247,   247,   248,   248,   248,   248,   248,
     1237     249,   249,   249,   249,   250,   250,   251,   251,   252,   252,
     1238     253,   253,   253,   253,   254,   254,   254,   254,   254,   255,
     1239     255,   255,   255,   255,   256,   256,   257,   257,   258,   258,
     1240     259,   259,   259,   260,   260,   260,   261,   261,   261,   262,
     1241     262,   262,   263,   263,   263,   263,   264,   264,   265,   265,
     1242     266,   266,   266,   266,   267,   267,   268,   268,   269,   269,
     1243     269,   269,   269,   270,   270,   270,   270,   271,   271,   271,
     1244     272,   273,   273,   275,   274,   274,   276,   276,   276,   277,
     1245     277,   278,   278,   278,   279,   279,   279,   279,   280,   280,
     1246     280,   281,   281,   282,   282,   283,   284,   283,   285,   285,
     1247     286,   286,   287,   287,   287,   288,   288,   289,   289,   290,
     1248     290,   291,   291,   292,   292,   292,   293,   292,   292,   294,
     1249     294,   294,   295,   295,   295,   295,   295,   295,   295,   295,
     1250     295,   296,   296,   296,   297,   298,   298,   299,   299,   300,
     1251     300,   301,   302,   302,   303,   303,   303,   304,   304,   304,
     1252     304,   305,   305,   305,   305,   306,   306,   307,   307,   307,
     1253     308,   308,   308,   308,   309,   309,   310,   310,   310,   311,
     1254     311,   311,   312,   312,   312,   313,   313,   313,   314,   314,
     1255     314,   315,   315,   315,   316,   316,   316,   317,   317,   317,
     1256     318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
     1257     321,   321,   321,   322,   322,   322,   323,   323,   323,   323,
     1258     324,   324,   324,   325,   325,   325,   325,   326,   326,   326,
     1259     327,   327,   327,   327,   328,   328,   329,   329,   329,   330,
     1260     330,   331,   331,   332,   332,   332,   333,   333,   333,   333,
     1261     333,   334,   334,   334,   334,   335,   335,   335,   336,   336,
     1262     336,   337,   337,   337,   337,   338,   338,   338,   339,   339,
     1263     339,   339,   339,   340,   340,   340,   340,   341,   341,   341,
     1264     342,   342,   342,   343,   343,   343,   343,   343,   343,   344,
     1265     344,   344,   345,   345,   345,   345,   345,   346,   346,   346,
     1266     346,   347,   347,   348,   348,   348,   349,   349,   350,   350,
     1267     350,   350,   350,   350,   351,   351,   351,   351,   351,   351,
     1268     351,   351,   351,   351,   352,   352,   352,   352,   353,   353,
     1269     353,   354,   354,   355,   355,   355,   355,   355,   355,   356,
     1270     356,   356,   356,   356,   356,   357,   358,   358,   358,   359,
     1271     359,   360,   360
    12811272};
    12821273
     
    12851276{
    12861277       0,     2,     0,     0,     1,     1,     1,     1,     1,     1,
    1287        1,     1,     1,     1,     1,     1,     2,     1,     1,     3,
    1288        3,     1,     6,     4,     3,     7,     3,     7,     2,     2,
    1289        7,     1,     3,     0,     1,     3,     7,     9,     1,     3,
    1290        1,     3,     7,     3,     7,     1,     1,     1,     2,     2,
     1278       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
     1279       1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
     1280       2,     2,     7,     1,     3,     0,     1,     3,     7,     9,
     1281       1,     3,     1,     3,     7,     3,     7,     1,     2,     2,
    12911282       2,     2,     2,     2,     2,     4,     1,     4,     4,     2,
    12921283       4,     2,     1,     1,     1,     1,     1,     4,     4,     1,
     
    13051296       3,     2,     3,     3,     4,     1,     5,     6,     9,    10,
    13061297       2,     1,     2,     2,     2,     1,     6,     8,    10,    12,
    1307       14,     0,     1,     0,     1,     1,     3,     4,     7,     0,
    1308        1,     3,     1,     3,     1,     1,     1,     3,     1,     1,
    1309        1,     3,     0,     1,     3,     4,     1,     3,     1,     1,
    1310        3,     3,     3,     3,     3,     2,     3,     6,     3,     3,
    1311        4,     1,     2,     2,     3,     5,     8,     7,     7,     5,
    1312        9,     2,     2,     5,     3,     5,     4,     3,     4,     4,
    1313        7,     3,     3,     3,     3,     4,     6,     1,     1,     1,
    1314        1,     1,     1,     1,     1,     0,     1,     1,     2,     1,
    1315        1,     1,     1,     1,     1,     1,     0,     5,     1,     2,
    1316        3,     1,     2,     1,     1,     1,     1,     1,     1,     1,
     1298       0,     1,     1,     3,     4,     1,     3,     1,     1,     1,
     1299       3,     1,     1,     1,     3,     0,     1,     3,     4,     1,
     1300       3,     1,     1,     3,     3,     3,     3,     3,     2,     3,
     1301       6,     3,     3,     4,     1,     2,     2,     3,     5,     8,
     1302       7,     7,     5,     9,     2,     2,     5,     3,     5,     4,
     1303       3,     4,     4,     7,     3,     3,     3,     3,     4,     6,
     1304       1,     1,     1,     1,     1,     1,     1,     1,     0,     1,
     1305       1,     2,     1,     1,     1,     1,     1,     1,     1,     0,
     1306       5,     1,     2,     3,     1,     2,     1,     1,     1,     1,
    13171307       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1318        1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
    1319        3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
    1320        2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
    1321        1,     2,     2,     1,     1,     4,     2,     5,     7,     2,
    1322        2,     2,     1,     2,     2,     3,     2,     3,     1,     2,
    1323        3,     2,     2,     4,     0,     1,     2,     2,     1,     0,
    1324        1,     2,     2,     5,     6,     2,     2,     4,     0,     2,
    1325        0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
    1326        9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
    1327        5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
    1328        1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
    1329        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    1330        1,     1,     2,     0,     2,     1,     4,     1,     2,     3,
    1331        4,     2,     2,     1,     2,     1,     2,     5,     5,     7,
    1332        6,     1,     2,     2,     3,     1,     2,     2,     4,     2,
    1333        4,     0,     4,     2,     1,     1,     1,     0,     2,     5,
    1334        5,    13,     1,     1,     3,     3,     2,     3,     3,     2,
    1335        4,     1,     6,     9,     0,    11,     1,     3,     3,     3,
    1336        1,     1,     5,     2,     5,     0,     1,     1,     3,     0,
    1337        1,     1,     1,     1,     0,     6,     2,     1,     2,     4,
    1338        2,     3,     3,     3,     4,     5,     5,     5,     6,     1,
    1339        1,     1,     3,     0,     5,     0,     1,     1,     2,     6,
    1340        1,     3,     0,     1,     4,     1,     1,     1,     1,     2,
    1341        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1342        4,     3,     8,     3,     2,     1,     2,     6,     8,     3,
    1343        2,     3,     3,     4,     4,     3,     1,     1,     1,     4,
    1344        6,     3,     2,     3,     3,     4,     4,     3,     2,     1,
    1345        2,     2,     1,     3,     2,     3,     3,     2,     4,     4,
    1346        3,     6,     8,     3,     2,     1,     2,     2,     2,     3,
    1347        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1348        2,     2,     1,     1,     2,     3,     3,     2,     4,     6,
    1349        8,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1350        4,     4,     3,     5,     8,     3,     2,     3,     1,     5,
    1351        5,     6,     6,     1,     2,     2,     1,     2,     2,     3,
    1352        3,     1,     4,     4,     3,     5,     8,     3,     1,     2,
    1353        1,     2,     6,     5,     6,     7,     7,     1,     2,     2,
    1354        1,     2,     2,     3,     3,     1,     4,     4,     3,     8,
    1355        3,     1,     1,     2,     1,     1,     2,     3,     2,     3,
    1356        2,     3,     3,     2,     4,     3,     2,     3,     2,     4,
    1357        3,     2,     6,     6,     6,     7,     1,     2,     1,     1,
    1358        1,     2,     3,     2,     3,     2,     3,     3,     4,     2,
    1359        3,     4,     2,     5,     5,     6,     6,     0,     1,     0,
    1360        2
     1308       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
     1309       3,     3,     1,     3,     1,     2,     2,     2,     4,     4,
     1310       4,     4,     1,     2,     2,     3,     1,     2,     2,     1,
     1311       2,     2,     3,     1,     2,     2,     1,     1,     4,     2,
     1312       5,     7,     2,     2,     2,     1,     2,     2,     3,     2,
     1313       3,     1,     2,     3,     2,     2,     4,     0,     1,     2,
     1314       2,     1,     0,     1,     2,     2,     5,     6,     2,     2,
     1315       4,     0,     2,     0,     1,     1,     1,     5,     5,     5,
     1316       1,     5,     5,     9,     1,     5,     0,     1,     1,     5,
     1317       1,     1,     5,     5,     1,     3,     3,     4,     1,     1,
     1318       1,     1,     2,     1,     3,     3,     1,     2,     1,     3,
     1319       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1320       1,     2,     1,     1,     1,     2,     0,     2,     1,     4,
     1321       1,     2,     3,     4,     2,     2,     1,     2,     2,     5,
     1322       5,     7,     6,     1,     2,     2,     3,     1,     2,     2,
     1323       4,     2,     4,     0,     4,     2,     1,     1,     1,     0,
     1324       2,     5,     5,    13,     1,     1,     3,     3,     2,     3,
     1325       3,     2,     4,     1,     6,     9,     0,    11,     1,     3,
     1326       3,     3,     1,     1,     5,     2,     5,     0,     1,     1,
     1327       3,     0,     1,     1,     1,     1,     0,     6,     2,     1,
     1328       2,     4,     2,     3,     3,     3,     4,     5,     5,     5,
     1329       6,     1,     1,     1,     3,     0,     5,     0,     1,     1,
     1330       2,     6,     1,     3,     0,     1,     4,     1,     1,     1,
     1331       1,     2,     1,     2,     2,     1,     3,     2,     3,     3,
     1332       2,     4,     4,     3,     8,     3,     2,     1,     2,     6,
     1333       8,     3,     2,     3,     3,     4,     4,     3,     1,     1,
     1334       1,     4,     6,     3,     2,     3,     3,     4,     4,     3,
     1335       2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
     1336       4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
     1337       2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
     1338       2,     1,     2,     2,     1,     1,     2,     3,     3,     2,
     1339       4,     6,     8,     1,     2,     2,     1,     2,     2,     3,
     1340       3,     1,     4,     4,     3,     5,     8,     3,     2,     3,
     1341       1,     5,     5,     6,     6,     1,     2,     2,     1,     2,
     1342       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1343       1,     2,     1,     2,     6,     5,     6,     7,     7,     1,
     1344       2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
     1345       3,     8,     3,     1,     1,     2,     1,     1,     2,     3,
     1346       2,     3,     2,     3,     3,     2,     4,     3,     2,     3,
     1347       2,     4,     3,     2,     6,     6,     6,     7,     1,     2,
     1348       1,     1,     1,     2,     3,     2,     3,     2,     3,     3,
     1349       4,     2,     3,     4,     2,     5,     5,     6,     6,     0,
     1350       1,     0,     2
    13611351};
    13621352
     
    13661356static const yytype_uint16 yydefact[] =
    13671357{
    1368      285,   285,   306,   304,   307,   305,   308,   309,   291,   293,
    1369      292,     0,   294,   320,   312,   317,   315,   316,   314,   313,
    1370      318,   319,   321,   322,   323,   535,   535,   535,     0,     0,
    1371        0,   285,   211,   295,   310,   311,     7,   350,     0,     8,
    1372       13,    14,     0,     2,   285,   553,     9,   513,   511,   238,
    1373        3,   443,     3,   251,     0,     3,     3,     3,   239,     3,
    1374        0,     0,     0,   286,   287,   289,   285,   298,   301,   303,
    1375      331,   277,   324,   329,   278,   339,   279,   346,   343,   353,
    1376        0,     0,   354,   280,   461,   465,     3,     3,     0,     2,
    1377      507,   512,   517,   290,     0,     0,   535,   565,   535,     2,
    1378      576,   577,   578,   285,     0,   719,   720,     0,    12,   285,
    1379        0,   261,   262,     0,   286,   281,   282,   283,   284,   514,
    1380      296,   382,   536,   537,   360,   361,    12,   434,   435,    11,
    1381      430,   433,     0,   491,   486,   477,   434,   435,     0,     0,
    1382      516,   212,     0,   285,     0,     0,     0,     0,     0,     0,
    1383        0,     0,   285,   285,     2,     0,   721,   286,   570,   582,
    1384      725,   718,   716,   723,     0,     0,   245,     2,     0,   520,
    1385      428,   429,   427,     0,     0,     0,     0,   535,     0,   622,
    1386      623,     0,     0,   533,   529,   535,   550,   535,   535,   530,
    1387        2,   531,   535,   589,   535,   535,   592,     0,     0,     0,
    1388      285,   285,   304,   351,     2,   285,   252,   288,   299,   332,
    1389      344,   466,     0,     2,     0,   443,   253,   286,   325,   340,
    1390      347,   462,     0,     2,     0,   302,   326,   333,   334,     0,
    1391      341,   345,   348,   352,   435,   285,   285,   356,   359,     0,
    1392      385,   463,   467,     0,     0,     0,     1,   285,     2,   518,
    1393      564,   566,   285,     2,   729,   286,   732,   533,   533,   286,
    1394        0,     0,     0,   264,   535,   530,     2,   285,     0,     0,
    1395      285,   538,     2,   489,     2,   542,     0,     0,     0,     0,
    1396        0,    17,    56,     4,     5,     6,    15,     0,     0,     0,
    1397      285,     2,     0,   285,    62,    63,    64,    65,    46,    18,
    1398       47,    21,    45,    66,     0,    69,    73,    76,    79,    84,
    1399       87,    89,    91,    93,    95,    97,   102,   483,   739,   441,
    1400      482,     0,   439,   440,     0,   554,   569,   572,   575,   581,
    1401      584,   587,   350,     0,     2,   727,     0,   285,   730,     2,
    1402      285,     3,   415,     0,   423,   286,   285,   298,   324,   278,
    1403      339,   346,     3,     3,   397,   401,   411,   416,   461,   285,
    1404      417,   694,   695,   285,   418,   420,   285,     2,   571,   583,
    1405      717,     2,     2,   240,     2,     0,     0,   445,   444,   137,
    1406        2,     2,   242,     2,     2,   241,     2,   272,     2,   273,
    1407        0,   271,     0,     0,     0,     0,     0,     0,     0,     0,
    1408        0,   555,   594,     0,   443,     2,   549,   558,   648,   551,
    1409      552,   521,   285,     2,   588,   597,   590,   591,     0,   267,
    1410      285,   285,   330,   286,     0,   286,     0,   285,   722,   726,
    1411      724,   522,   285,   533,   246,   254,   300,     0,     2,   523,
    1412      285,   487,   327,   328,   274,   342,   349,     0,   285,     2,
    1413      374,   285,   362,     0,     0,   368,   716,   285,   737,   388,
    1414        0,   464,   488,   243,   244,   508,   285,   425,     0,   285,
    1415      228,     0,     2,   230,     0,   286,     0,   248,     2,   249,
    1416      269,     0,     0,     2,   285,   533,   285,   474,   476,   475,
    1417        0,     0,   739,     0,   285,     0,   285,   478,   285,   548,
    1418      546,   547,   545,     0,   540,   543,     0,     0,   285,    54,
    1419       66,    50,   285,    59,   285,   285,    48,    49,    61,     2,
    1420      124,     0,     0,   437,     0,   436,   108,   285,    52,    53,
    1421       16,     0,    28,    29,    33,     2,     0,   114,   115,   116,
    1422      117,   118,   119,   120,   121,   122,   123,     0,     0,    51,
     1358     278,   278,   299,   297,   300,   298,   301,   302,   284,   286,
     1359     285,     0,   287,   313,   305,   310,   308,   309,   307,   306,
     1360     311,   312,   314,   315,   316,   527,   527,   527,     0,     0,
     1361       0,   278,   278,   288,   303,   304,     7,   343,     0,     8,
     1362      13,    14,     0,     2,   278,   545,     9,   505,   503,   231,
     1363       3,   436,     3,   244,     0,     3,     3,     3,   232,     3,
     1364       0,     0,     0,   279,   280,   282,   278,   291,   294,   296,
     1365     324,   270,   317,   322,   271,   332,   272,   339,   336,   346,
     1366       0,     0,   347,   273,   453,   457,     3,     3,     0,     2,
     1367     499,   504,   509,   283,     0,     0,   527,   557,   527,     2,
     1368     568,   569,   570,   278,     0,   711,   712,     0,    12,   278,
     1369       0,   254,   255,     0,   279,   274,   275,   276,   277,   506,
     1370     289,   375,   528,   529,   353,   354,    12,   427,   428,    11,
     1371     423,   426,     0,   483,   478,   469,   427,   428,     0,     0,
     1372     508,     0,   279,   278,     0,     0,     0,     0,     0,     0,
     1373       0,     0,   278,   278,     2,     0,   713,   279,   562,   574,
     1374     717,   710,   708,   715,     0,     0,   238,     2,     0,   512,
     1375     421,   422,   420,     0,     0,     0,     0,   527,     0,   614,
     1376     615,     0,     0,   525,   521,   527,   542,   527,   527,   522,
     1377       2,   523,   527,   581,   527,   527,   584,     0,     0,     0,
     1378     278,   278,   297,   344,     2,   278,   245,   281,   292,   325,
     1379     337,   458,     0,     2,     0,   436,   246,   279,   318,   333,
     1380     340,   454,     0,     2,     0,   295,   319,   326,   327,     0,
     1381     334,   338,   341,   345,   428,   278,   278,   349,   352,     0,
     1382     378,   455,   459,     0,     0,     0,     1,   278,     2,   510,
     1383     556,   558,   278,     2,   721,   279,   724,   525,   525,   279,
     1384       0,     0,     0,   257,   527,   522,     2,   278,     0,     0,
     1385     278,   530,     2,   481,     2,   534,     0,     0,     0,     0,
     1386      17,    56,     4,     5,     6,    15,     0,     0,     0,   278,
     1387       2,     0,   278,    62,    63,    64,    65,    19,    18,    20,
     1388      23,    47,    66,     0,    69,    73,    76,    79,    84,    87,
     1389      89,    91,    93,    95,    97,   102,   475,   731,   434,   474,
     1390       0,   432,   433,     0,   546,   561,   564,   567,   573,   576,
     1391     579,   343,     0,     2,   719,     0,   278,   722,     2,   278,
     1392       3,   408,     0,   416,   279,   278,   291,   317,   271,   332,
     1393     339,     3,     3,   390,   394,   404,   409,   453,   278,   410,
     1394     686,   687,   278,   411,   413,   278,     2,   563,   575,   709,
     1395       2,     2,   233,     2,     0,     0,   438,   437,   137,     2,
     1396       2,   235,     2,     2,   234,     2,   265,     2,   266,     0,
     1397     264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1398     547,   586,     0,   436,     2,   541,   550,   640,   543,   544,
     1399     513,   278,     2,   580,   589,   582,   583,     0,   260,   278,
     1400     278,   323,     0,   279,     0,   278,   714,   718,   716,   514,
     1401     278,   525,   239,   247,   293,     0,     2,   515,   278,   479,
     1402     320,   321,   267,   335,   342,     0,   278,     2,   367,   278,
     1403     355,     0,     0,   361,   708,   278,   729,   381,     0,   456,
     1404     480,   236,   237,   500,   278,   418,     0,   278,   221,     0,
     1405       2,   223,     0,   279,     0,   241,     2,   242,   262,     0,
     1406       0,     2,   278,   525,   278,   466,   468,   467,     0,     0,
     1407     731,     0,   278,     0,   278,   470,   278,   540,   538,   539,
     1408     537,     0,   532,   535,    66,   101,     0,   278,    54,    50,
     1409     278,    59,   278,   278,    48,    49,    61,     2,   124,     0,
     1410       0,   430,     0,   429,   108,   278,    52,    53,    16,     0,
     1411      30,    31,    35,     2,     0,   114,   115,   116,   117,   118,
     1412     119,   120,   121,   122,   123,     0,     0,    51,     0,     0,
    14231413       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1425      105,     2,   634,   442,   631,   535,   535,   639,   468,   285,
    1426        2,   573,   574,     0,   585,   586,     0,     2,   728,   731,
    1427      108,   285,     2,   285,     0,   696,   286,   700,   691,   692,
    1428      698,     0,     2,     2,   656,   535,   739,   605,   535,   535,
    1429      739,   535,   619,   535,   535,   670,   424,   653,   535,   535,
    1430      661,   668,   285,   419,   286,     0,     0,   285,   706,   286,
    1431      711,   739,   703,   285,   708,   739,   285,   285,   285,     0,
    1432      108,     0,    17,     5,     2,     0,     0,   447,   737,     0,
    1433        0,   453,   232,     0,   285,     0,     0,     0,   533,   557,
    1434      561,   563,   593,   596,   600,   603,   556,   595,     0,   275,
    1435      646,     0,   285,   268,     0,     0,     0,     0,   266,     2,
    1436        0,   250,   524,   285,     0,     0,     0,     0,   285,   285,
    1437        0,     0,   680,   372,   375,   379,   535,   379,   685,   378,
    1438      677,   535,   535,   355,   363,   371,   364,   535,   366,   369,
    1439      285,   738,     0,     0,   386,   737,   286,     3,   404,     3,
    1440      408,   407,   579,     0,   519,   285,     3,     3,   285,   423,
    1441      286,     3,   417,   418,     2,     0,     0,     0,   473,   297,
    1442      285,   469,   471,     3,     2,     2,     0,   490,     3,     0,
    1443      542,   126,     0,     0,   213,     0,     0,     2,     0,     0,
    1444       34,     0,     0,   108,   285,    19,     0,    20,     0,   680,
    1445      438,     0,   106,     3,     2,    26,     2,     0,    31,     0,
    1446        2,    24,   103,   104,    70,    71,    72,    74,    75,    77,
    1447       78,    82,    83,    80,    81,    85,    86,    88,    90,    92,
    1448       94,    96,     0,     0,   740,   285,     0,     0,     0,   635,
    1449      636,   632,   633,   485,   484,   285,     0,     3,   285,   702,
    1450      285,   707,   286,   285,   285,   285,   650,   693,   649,     2,
    1451      285,     0,     0,     0,     0,     0,     0,     0,     0,   671,
    1452        0,   657,   608,   624,   658,     2,   604,   611,   421,   606,
    1453      607,   422,     2,   618,   627,   620,   621,   654,   655,   669,
    1454      697,   701,   699,   739,   259,     2,   733,     2,   412,   705,
    1455      710,   413,     0,   391,     3,     3,     3,     3,   443,     3,
    1456        0,     2,   456,   452,   738,     0,   448,   455,     2,   451,
    1457      454,     0,   285,   233,   255,     3,   263,   265,     0,   443,
    1458        2,   559,   560,     2,   598,   599,     0,   647,   525,     3,
    1459      336,   335,   338,   337,   285,   526,     0,   527,   285,   365,
    1460      367,     2,     0,     0,     0,     0,   101,   381,   681,   682,
    1461      376,   380,   377,   678,   679,   370,   374,   357,   388,   383,
    1462      389,     0,     0,     0,   426,   231,     0,     0,     3,     2,
    1463      656,   419,     0,   515,     0,   739,   477,     0,   285,   285,
    1464      285,     0,   539,   541,   127,     0,     0,   206,     0,     0,
    1465        0,   214,   215,    55,    60,   285,     0,    58,    57,     0,
    1466      125,   681,     0,    67,    68,   107,   112,     3,   106,     0,
    1467        0,     0,    23,    33,     3,     0,    99,     0,     3,   638,
    1468      642,   645,   637,     3,   580,     3,   704,   709,     2,   285,
    1469        3,     3,   286,     0,     3,   610,   614,   617,   626,   660,
    1470      664,   667,   285,     3,   609,   625,   659,   285,   285,   414,
    1471      285,   285,   734,     0,     0,     0,     0,   247,     0,   101,
    1472        0,     3,     3,     0,   449,     0,   446,     0,     0,   236,
    1473      285,     0,     0,   126,     0,     0,     0,     0,     0,   126,
    1474        0,     0,     0,     2,     0,     0,     3,   128,   129,     2,
    1475      139,   130,   131,   132,   133,   134,   135,   141,   143,     0,
    1476        0,     0,   276,   285,   285,   535,     0,   528,   285,   108,
    1477      684,   688,   690,   683,   373,   387,   384,   567,     2,   652,
    1478      651,     0,   657,     2,   470,   472,   492,     3,   500,   501,
    1479        0,     2,   496,     3,     3,     0,     0,   544,   213,     0,
    1480        0,     0,   213,     0,     3,    35,   737,   106,     0,     3,
    1481      649,    40,     3,    38,     3,    32,     0,     3,    98,   100,
    1482        0,     2,   640,   641,     0,     0,   285,     0,     0,     0,
    1483        3,   626,     0,     2,   612,   613,     2,   628,     2,   662,
    1484      663,     0,     0,     3,     0,     3,     3,     3,     3,   399,
    1485      398,   402,     2,     2,   736,   735,   109,     0,     0,     0,
    1486        0,     3,   450,     3,     0,   234,   142,     3,   286,   285,
     1414       0,     0,     0,     0,     0,     0,     0,     0,   105,     2,
     1415     626,   435,   623,   527,   527,   631,   460,   278,     2,   565,
     1416     566,     0,   577,   578,     0,     2,   720,   723,   108,   278,
     1417       2,   278,     0,   688,   279,   692,   683,   684,   690,     0,
     1418       2,     2,   648,   527,   731,   597,   527,   527,   731,   527,
     1419     611,   527,   527,   662,   417,   645,   527,   527,   653,   660,
     1420     278,   412,   279,     0,     0,   278,   698,   279,   703,   731,
     1421     695,   278,   700,   731,   278,   278,   278,     0,   108,     0,
     1422      17,     2,     0,     0,   440,   729,     0,     0,   446,   225,
     1423       0,   278,     0,     0,     0,   525,   549,   553,   555,   585,
     1424     588,   592,   595,   548,   587,     0,   268,   638,     0,   278,
     1425     261,     0,     0,     0,     0,   259,     2,     0,   243,   516,
     1426     278,     0,     0,     0,     0,   278,   278,     0,     0,   672,
     1427     365,   368,   372,   527,   372,   677,   371,   669,   527,   527,
     1428     348,   356,   364,   357,   527,   359,   362,   278,   730,     0,
     1429       0,   379,   729,   279,     3,   397,     3,   401,   400,   571,
     1430       0,   511,   278,     3,     3,   278,   416,   279,     3,   410,
     1431     411,     2,     0,     0,     0,   465,   290,   278,   461,   463,
     1432       3,     2,     2,     0,   482,     3,     0,   534,   126,     0,
     1433     210,     0,     0,     2,     0,     0,    36,     0,     0,   108,
     1434     278,    21,     0,    22,     0,   672,   431,     0,   106,     3,
     1435       2,    28,     2,     0,    33,     0,     2,    26,   103,   104,
     1436      70,    71,    72,    74,    75,    77,    78,    82,    83,    80,
     1437      81,    85,    86,    88,    90,    92,    94,    96,     0,     0,
     1438     732,   278,     0,     0,     0,   627,   628,   624,   625,   477,
     1439     476,   278,     0,     3,   278,   694,   278,   699,   279,   278,
     1440     278,   278,   642,   685,   641,     2,   278,     0,     0,     0,
     1441       0,     0,     0,     0,     0,   663,     0,   649,   600,   616,
     1442     650,     2,   596,   603,   414,   598,   599,   415,     2,   610,
     1443     619,   612,   613,   646,   647,   661,   689,   693,   691,   731,
     1444     252,     2,   725,     2,   405,   697,   702,   406,     0,   384,
     1445       3,     3,     3,     3,   436,     3,     0,     2,   448,   445,
     1446     730,     0,   441,     2,   444,   447,     0,   278,   226,   248,
     1447       3,   256,   258,     0,   436,     2,   551,   552,     2,   590,
     1448     591,     0,   639,   517,     3,   329,   328,   331,   330,   278,
     1449     518,     0,   519,   278,   358,   360,     2,     0,     0,     0,
     1450       0,   374,   673,   674,   369,   373,   370,   670,   671,   363,
     1451     367,   350,   381,   376,   382,     0,     0,     0,   419,   224,
     1452       0,     0,     3,     2,   648,   412,     0,   507,     0,   731,
     1453     469,     0,   278,   278,   278,     0,   531,   533,   127,     0,
     1454     206,     0,     0,   211,   212,    55,    60,   278,     0,    58,
     1455      57,     0,   125,   673,     0,    67,    68,   107,   112,     3,
     1456     106,     0,     0,     0,    25,    35,     3,     0,    99,     0,
     1457       3,   630,   634,   637,   629,     3,   572,     3,   696,   701,
     1458       2,   278,     3,     3,   279,     0,     3,   602,   606,   609,
     1459     618,   652,   656,   659,   278,     3,   601,   617,   651,   278,
     1460     278,   407,   278,   278,   726,     0,     0,     0,     0,   240,
     1461       0,   101,     0,     3,     3,     0,   442,     0,   439,     0,
     1462       0,   229,   278,     0,     0,   126,     0,     0,     0,     0,
     1463       0,   126,     0,     0,     0,     2,     0,     0,     3,   128,
     1464     129,     2,   139,   130,   131,   132,   133,   134,   135,   141,
     1465     143,     0,     0,     0,   269,   278,   278,   527,     0,   520,
     1466     278,   108,   676,   680,   682,   675,   366,   380,   377,   559,
     1467       2,   644,   643,     0,   649,     2,   462,   464,   484,     3,
     1468     492,   493,     0,     2,   488,     3,     3,     0,     0,   536,
     1469       0,     0,   210,     0,     3,    37,   729,   106,     0,     3,
     1470     641,    42,     3,    40,     3,    34,     0,     3,    98,   100,
     1471       0,     2,   632,   633,     0,     0,   278,     0,     0,     0,
     1472       3,   618,     0,     2,   604,   605,     2,   620,     2,   654,
     1473     655,     0,     0,     3,     0,     3,     3,     3,     3,   392,
     1474     391,   395,     2,     2,   728,   727,   109,     0,     0,     0,
     1475       0,     3,   443,     3,     0,   227,   142,     3,   279,   278,
    14871476       0,     0,     0,     0,     2,   187,     0,   185,     0,     0,
    1488        0,     0,     0,     0,   191,     0,   108,   535,   147,   144,
    1489      285,     0,     0,   258,   270,     3,     3,   534,   601,   358,
    1490        2,   686,   687,   285,   257,   285,     0,   503,   480,   285,
    1491        0,     0,   479,   494,     0,     0,     0,   207,     0,   216,
    1492      106,     0,     0,   113,   110,     0,     0,     0,     0,     0,
    1493        0,    22,     0,   643,   285,   568,   256,   712,   713,   714,
    1494        0,   665,   285,   285,   285,     3,     3,     0,   673,     0,
    1495        0,     0,     0,   285,   285,     3,   532,   457,   458,     0,
    1496        0,   237,   286,     0,     0,     0,     0,   285,   188,   186,
    1497        0,   183,   189,     0,     0,     0,   192,   195,   193,   190,
    1498      126,   140,   138,   235,     0,     0,   285,   406,   410,   409,
    1499        0,   497,     2,   498,     2,   499,   493,   285,   219,     0,
    1500      217,     0,   219,     3,   649,    30,   111,     2,    43,     2,
    1501       41,    39,    27,   109,    25,     3,   715,     3,     3,     3,
    1502        0,     0,   672,   674,   615,   629,   260,     2,   396,     3,
    1503      395,     0,   460,   457,   126,     0,     0,   126,     3,     0,
    1504      126,   184,     0,     2,   200,   194,     0,   136,   562,   602,
    1505        3,     2,     0,     0,     2,   220,     0,     0,   208,     0,
    1506        0,     0,     0,     0,     0,     0,     0,     0,   675,   676,
    1507      285,     0,   459,   148,     0,     0,     2,   161,   126,   150,
    1508        0,   178,     0,   126,     0,     2,   152,     0,     2,     2,
    1509        0,   285,   502,   504,   495,     0,     0,     0,     0,   111,
    1510       36,     3,     3,   644,   616,   630,   666,   400,   126,   154,
    1511      157,     0,   156,   160,     3,   163,   162,     0,   126,   180,
    1512      126,     3,     0,   285,     0,     2,   689,     2,   221,   222,
    1513        0,   218,   209,     0,     0,     0,   149,     0,     0,   159,
    1514      224,   164,     2,   226,   179,     0,   182,   168,   196,     3,
    1515      201,   205,     0,   285,     0,     0,     0,    37,    44,    42,
    1516      155,   158,   126,     0,   165,   285,   126,   126,     0,   169,
    1517        0,     0,   680,   202,   203,   204,   197,     3,   285,   210,
    1518      223,   145,   166,   151,   126,   227,   181,   176,   174,   170,
    1519      153,   126,     0,   681,     0,     0,   146,   167,   177,   171,
    1520      175,   174,   172,     3,     0,   481,   173,   198,     3,   199
     1477       0,     0,     0,     0,   191,     0,   108,   527,   147,   144,
     1478     278,     0,     0,   251,   263,     3,     3,   526,   593,   351,
     1479       2,   678,   679,   278,   250,   278,     0,   495,   472,   278,
     1480       0,     0,   471,   486,     0,   207,     0,   213,   106,     0,
     1481       0,   113,   110,     0,     0,     0,     0,     0,     0,    24,
     1482       0,   635,   278,   560,   249,   704,   705,   706,     0,   657,
     1483     278,   278,   278,     3,     3,     0,   665,     0,     0,     0,
     1484       0,   278,   278,     3,   524,   109,   450,     0,     0,   230,
     1485     279,     0,     0,     0,     0,   278,   188,   186,     0,   183,
     1486     189,     0,     0,     0,   192,   195,   193,   190,   126,   140,
     1487     138,   228,     0,     0,   278,   399,   403,   402,     0,   489,
     1488       2,   490,     2,   491,   485,   278,   214,     0,     0,     3,
     1489     641,    32,   111,     2,    45,     2,    43,    41,    29,   109,
     1490      27,     3,   707,     3,     3,     3,     0,     0,   664,   666,
     1491     607,   621,   253,     2,   389,     3,   388,     0,   452,   449,
     1492     126,     0,     0,   126,     3,     0,   126,   184,     0,     2,
     1493     200,   194,     0,   136,   554,   594,     3,     2,     0,     0,
     1494       2,   208,   215,     0,     0,     0,     0,     0,     0,     0,
     1495       0,     0,   667,   668,   278,     0,   451,   148,     0,     0,
     1496       2,   161,   126,   150,     0,   178,     0,   126,     0,     2,
     1497     152,     0,     2,     2,     0,   278,   494,   496,   487,     0,
     1498       0,   111,    38,     3,     3,   636,   608,   622,   658,   393,
     1499     126,   154,   157,     0,   156,   160,     3,   163,   162,     0,
     1500     126,   180,   126,     3,     0,   278,     0,     2,   681,     2,
     1501     209,   216,     0,     0,     0,   149,     0,     0,   159,   217,
     1502     164,     2,   219,   179,     0,   182,   168,   196,     3,   201,
     1503     205,     0,   278,     0,    39,    46,    44,   155,   158,   126,
     1504       0,   165,   278,   126,   126,     0,   169,     0,     0,   672,
     1505     202,   203,   204,   197,     3,   278,   145,   166,   151,   126,
     1506     220,   181,   176,   174,   170,   153,   126,     0,   673,     0,
     1507       0,   146,   167,   177,   171,   175,   174,   172,     3,     0,
     1508     473,   173,   198,     3,   199
    15211509};
    15221510
     
    15241512static const yytype_int16 yydefgoto[] =
    15251513{
    1526       -1,   830,   470,   298,    45,   130,   131,   299,   300,   301,
    1527      302,   777,   759,  1132,  1133,   303,   304,   305,   306,   307,
    1528      308,   309,   310,   311,   312,   313,   314,   315,   316,  1040,
    1529      520,   986,   318,   987,   548,   964,  1065,  1501,  1067,  1068,
    1530     1069,  1070,  1502,  1071,  1072,  1430,  1431,  1397,  1398,  1399,
    1531     1483,  1484,  1488,  1489,  1519,  1520,  1073,  1359,  1074,  1075,
    1532     1296,  1297,  1298,  1469,  1076,   142,   970,   971,   972,  1376,
    1533     1450,  1461,  1462,   471,   472,   892,   893,  1048,    48,    49,
    1534       50,    51,    52,   342,   155,    55,    56,    57,    58,    59,
    1535      344,    61,    62,   259,    64,    65,   270,   346,   347,    68,
    1536       69,    70,    71,   115,    73,   200,   349,   116,    76,   117,
    1537       78,    79,    80,   451,   452,   453,   454,   693,   930,   694,
    1538       81,    82,   458,   714,   872,   873,   352,   353,   717,   718,
    1539      719,   354,   355,   356,   357,   468,   336,   132,   133,   524,
    1540      320,   166,   647,   648,   649,   650,   651,    83,   118,    85,
    1541      491,   492,   956,   493,   273,   497,   321,    86,   134,   135,
    1542       87,  1317,  1111,  1112,  1113,  1114,    88,    89,   735,    90,
    1543      269,    91,    92,   183,  1042,   681,   406,   122,    93,   503,
    1544      504,   505,   184,   264,   186,   187,   188,   265,    96,    97,
    1545       98,    99,   100,   101,   102,   191,   192,   193,   194,   195,
    1546      842,   607,   608,   609,   610,   196,   612,   613,   614,   573,
    1547      574,   575,   576,   698,   103,   616,   617,   618,   619,   620,
    1548      621,   929,   700,   701,   702,   597,   360,   361,   362,   363,
    1549      322,   161,   105,   106,   107,   365,   712,   570
     1514      -1,   826,   468,   297,    45,   130,   131,   298,   299,   300,
     1515     301,   773,   755,  1122,  1123,   302,   303,   304,   305,   306,
     1516     307,   308,   309,   310,   311,   312,   313,   314,   315,  1032,
     1517     518,   978,   317,   979,   546,   958,  1057,  1476,  1059,  1060,
     1518    1061,  1062,  1477,  1063,  1064,  1412,  1413,  1381,  1382,  1383,
     1519    1460,  1461,  1465,  1466,  1494,  1495,  1065,  1345,  1066,  1067,
     1520    1284,  1285,  1286,  1448,  1068,   962,   963,   964,  1363,  1440,
     1521    1441,   469,   470,   887,   888,  1040,    48,    49,    50,    51,
     1522      52,   341,   155,    55,    56,    57,    58,    59,   343,    61,
     1523      62,   259,    64,    65,   270,   345,   346,    68,    69,    70,
     1524      71,   115,    73,   200,   348,   116,    76,   117,    78,    79,
     1525      80,   449,   450,   451,   452,   690,   924,   691,    81,    82,
     1526     456,   711,   868,   869,   351,   352,   714,   715,   716,   353,
     1527     354,   355,   356,   466,   335,   132,   133,   522,   319,   166,
     1528     644,   645,   646,   647,   648,    83,   118,    85,   489,   490,
     1529     950,   491,   273,   495,   320,    86,   134,   135,    87,  1305,
     1530    1103,  1104,  1105,  1106,    88,    89,   732,    90,   269,    91,
     1531      92,   183,  1034,   678,   405,   122,    93,   501,   502,   503,
     1532     184,   264,   186,   187,   188,   265,    96,    97,    98,    99,
     1533     100,   101,   102,   191,   192,   193,   194,   195,   838,   605,
     1534     606,   607,   608,   196,   610,   611,   612,   571,   572,   573,
     1535     574,   695,   103,   614,   615,   616,   617,   618,   619,   923,
     1536     697,   698,   699,   595,   359,   360,   361,   362,   321,   161,
     1537     105,   106,   107,   364,   709,   568
    15501538};
    15511539
    15521540/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15531541   STATE-NUM.  */
    1554 #define YYPACT_NINF -1318
     1542#define YYPACT_NINF -1269
    15551543static const yytype_int16 yypact[] =
    15561544{
    1557     4413,  9104, -1318,    42, -1318, -1318, -1318, -1318, -1318, -1318,
    1558    -1318,   -27, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1559    -1318, -1318, -1318, -1318, -1318,    95,    95,    95,   954,   850,
    1560       71,  5300,   201, -1318, -1318, -1318, -1318, -1318,   123, -1318,
    1561    -1318, -1318,   776,   164,  8401, -1318, -1318, -1318, -1318, -1318,
    1562    -1318,   226,   169, -1318,  1184, -1318, -1318, -1318, -1318,   272,
    1563     1531,   387,    89,  3759, -1318, -1318,  8469,  1998, -1318, -1318,
    1564    -1318,   935,   392,  5420,   741,  1183,   935,  1282, -1318, -1318,
    1565      356,   326, -1318,   935,  1429, -1318,   340, -1318,   453,   463,
    1566    -1318, -1318, -1318, -1318,   370,   169,    95, -1318,    95, -1318,
    1567    -1318, -1318, -1318,  9340,  1184, -1318, -1318,  1184, -1318,  9399,
    1568      389, -1318, -1318,  1617,  9458, -1318,  1087,  1087,  1087, -1318,
    1569    -1318, -1318,    95, -1318, -1318, -1318,   386,   435,   438, -1318,
    1570    -1318, -1318,   498, -1318, -1318, -1318, -1318, -1318,   510,   531,
    1571    -1318, -1318,    34,  7909,  1795,    48,   452,   575,   578,   583,
    1572      588,   593,  8673,  6319,   543,   605, -1318,  8537, -1318, -1318,
    1573    -1318, -1318,   652, -1318,   172,  5550, -1318,   473,   232, -1318,
    1574    -1318, -1318, -1318,   661,   301,   325,   403,    95,   646, -1318,
    1575    -1318,  1531,  2279,   739, -1318,    21, -1318,    95,    95,   169,
    1576    -1318, -1318,    35, -1318,    95,    95, -1318,  2781,   700,   710,
    1577     1087, 10200, -1318, -1318,   717,  8401, -1318, -1318,   935, -1318,
    1578    -1318, -1318,   169, -1318,  1184,   226, -1318,  7011, -1318,  1087,
    1579     1087,  1087,   169, -1318,   954, -1318,  3330, -1318, -1318,   704,
    1580     1087, -1318,  1087, -1318,   123,  7909,  9163,   736, -1318,   850,
    1581      769,  1087, -1318,   954,   737,   747, -1318,  5300,   814, -1318,
    1582    -1318, -1318,  2451, -1318, -1318,  3603, -1318,   739,    61,  9458,
    1583    10457,  1617,  2781, -1318,    68, -1318, -1318,  9399,  1184,   778,
    1584    11233, -1318, -1318,   428, -1318, 10968,   787,   870, 10685, 10742,
    1585    10799, -1318,   824, -1318, -1318, -1318, -1318, 10856, 10856,   814,
    1586     7591,   827, 10742,  8015, -1318, -1318, -1318, -1318, -1318, -1318,
    1587      874, -1318,   901,  2137, 10742, -1318,   237,   407,   632,   476,
    1588      638,   859,   855,   869,   890,   101, -1318, -1318,   877,   616,
    1589    -1318,   336, -1318, -1318,  1795, -1318, -1318,   518,   907, -1318,
    1590      633,   907,   892,   123, -1318, -1318,   914,  9340, -1318,   916,
    1591     7697, -1318, -1318,  1197,   771,  5233, 10200,   935, -1318,   935,
    1592     1087,  1087, -1318, -1318, -1318, -1318, -1318, -1318,  1087,  9517,
    1593     1184, -1318, -1318,  9576,  1658, -1318,  9222, -1318, -1318, -1318,
    1594    -1318, -1318, -1318, -1318,   924,  4543, 10742, -1318, -1318, -1318,
    1595    -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1596     1617, -1318,   676,   942,   945,   946,   690,   947,   948,   958,
    1597     2279, -1318, -1318,   952,   226,   957, -1318, -1318,   959, -1318,
    1598    -1318, -1318,  2451, -1318, -1318, -1318, -1318, -1318,  2781, -1318,
    1599     7909,  7909, -1318,  1087,  1617, 11261,  1184,  7402, -1318, -1318,
    1600    -1318, -1318,  2451,    61, -1318, -1318,   935,   169, -1318, -1318,
    1601     2451, -1318,  5128, -1318, -1318,  1087,  1087,   364,  9635,   960,
    1602     2086,  8865, -1318,   432,   454,   850, -1318,  9163,   955,   944,
    1603      850,  1087, -1318, -1318, -1318, -1318,  9936, -1318,   383,  7322,
    1604    -1318,   169,   962, -1318,  1617, 11043, 10514, -1318, -1318, -1318,
    1605    -1318,   755,  2781, -1318,  7467,   739,  6768, -1318, -1318, -1318,
    1606      885,   414,   877,   850, 11233,   619,  9399, -1318, 11233, -1318,
    1607    -1318, -1318, -1318,   479, -1318,   964,   870,   125,  7591, -1318,
    1608    -1318, -1318,  7591, -1318,  7803,  7591, -1318, -1318, -1318,   969,
    1609    -1318,   544,   972,   640,   974, -1318,  8741,  5983, -1318, -1318,
    1610    -1318,   103, -1318, -1318, 10571, -1318,   112, -1318, -1318, -1318,
    1611    -1318, -1318, -1318, -1318, -1318, -1318, -1318, 10457, 10457, -1318,
    1612    10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742,
    1613    10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10343, 10457,
    1614    -1318,   616,   900, -1318, -1318,    95,    95, -1318, -1318,  7909,
    1615    -1318, -1318,   959,   814, -1318,   959, 10628, -1318, -1318, -1318,
    1616     8333,  5983,   973,  8121,   976, -1318,  9694, -1318, -1318,   652,
    1617    -1318,   978,   378,   980,  1782,   139,   877, -1318,    95,    95,
    1618      877,   166, -1318,    95,    95,   959, -1318, -1318,    95,    95,
    1619    -1318,   907,  9753,  1184, 11174,   137,   273,  9753, -1318,  4101,
    1620    -1318,   877, -1318,  9517, -1318,   278,  7119,  7119,  7119,  1184,
    1621    -1318,  3868,   982,   220,   924,   302,   984, -1318,   977,  5550,
    1622      238, -1318,  1061,  1184,  7119,   814,  1617,   814,   739,   705,
    1623      907, -1318, -1318,   765,   907, -1318, -1318, -1318,   870, -1318,
    1624      907,   169,  9936, -1318,   570,  1000,   655,  1005, -1318,  1004,
    1625      169, -1318, -1318,  2451,   169,  1003,   464,   465,  9812,  6431,
    1626     1947, 10742,  2536, -1318, -1318,  1001,    20,  1001, -1318, -1318,
    1627    -1318,    95,    95, -1318, -1318,   850, -1318,    95, -1318, -1318,
    1628     8924,   850,  1006, 10742, -1318,   955, 11174, -1318, -1318,  1017,
    1629    -1318, -1318, -1318,   814, -1318, 11109, 10742, -1318,  7119,   671,
    1630     5233, -1318, -1318,   652,  1013,  1014,   885,  2927, -1318, -1318,
    1631    11233, -1318, -1318,  1015, -1318, -1318,  1021, -1318,  1015,  1023,
    1632    10968, 10457,   243,  1002,    53,  1025,  1026,   827,  1027,  1028,
    1633    -1318,  1030,  1032,  8983,  6095, -1318, 10457, -1318,   640,  1104,
    1634    -1318, 10400, 10457,  1034, -1318, -1318,   924,   678, -1318, 10457,
    1635    -1318, -1318, -1318, -1318, -1318, -1318, -1318,   237,   237,   407,
    1636      407,   632,   632,   632,   632,   476,   476,   638,   859,   855,
    1637      869,   890, 10742,   716, -1318,  9936,  1038,  1041,  1042,   900,
    1638    -1318, -1318, -1318, -1318, -1318,  9936,   679, 10742,  7119, -1318,
    1639     9517, -1318,  6543,  8227,  9281,  6319, -1318, -1318, -1318,   378,
    1640     9936,   820,  1047,  1051,  1052,  1057,  1058,  1059,  1060, -1318,
    1641     3170,  1782, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1642    -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,   959,
    1643    -1318, -1318, -1318,   877, -1318, -1318, -1318, -1318, -1318, -1318,
    1644    -1318, -1318,  1063, -1318,  1064,  1065, -1318, -1318,   226,  1034,
    1645     3868, -1318, -1318, -1318,  4543,  1066, -1318, -1318, -1318, -1318,
    1646    -1318,   850,  5481,  1140, -1318, -1318, -1318, -1318,  1049,   226,
    1647    -1318, -1318,   959, -1318, -1318,   959,   127,   959, -1318, -1318,
    1648    -1318, -1318, -1318, -1318,  8605, -1318,   169, -1318,  9163, -1318,
    1649    -1318,  1070,   856,  1073,  1076,  1077, -1318, -1318,  2536, -1318,
    1650    -1318, -1318, -1318, -1318, -1318, -1318,  2086, -1318,   944, -1318,
    1651    -1318,  1075,  1078,  1082, -1318, -1318,  1080,  1096, -1318,   671,
    1652     1985, -1318,   514, -1318,  2927,   877, -1318,  1100, 11233,  9871,
    1653     7909,  1102, -1318, -1318,  1098,  1110,  1107, -1318, 10742,    12,
    1654      400,  1114, -1318,  1112,  1112,  5983, 10457, -1318, -1318,  1112,
    1655    -1318,  1104,  4543, -1318, -1318, -1318, -1318,  1115, 10457,  1120,
    1656      814,  3868, -1318, 10571, -1318,   814, -1318, 10457, -1318,   825,
    1657      907, -1318, -1318, -1318, -1318, -1318, -1318, -1318,   924,  7697,
    1658    -1318, -1318,  6655,  1125, -1318,   833,   907, -1318,   845,   852,
    1659      907, -1318,  1087,  4145, -1318, -1318, -1318,  9936,  9936, -1318,
    1660     7402,  7402, -1318,  1123,  1124,  1126,  1133, -1318,  1134,   553,
    1661       38,  1034, -1318,   814, -1318,  5550, -1318, 10457,   466, -1318,
    1662     5871,  1136,  1141,  5631,  1149,  1155,    13,    17,    14, 10457,
    1663     1156,   169,  3019,  1137,  1150,  1143, -1318, -1318, -1318,  1161,
    1664    -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,   850,
    1665     1167, 10457, -1318,  9936,  9936,    95,  1169, -1318,  9045,  8803,
    1666      867,   907, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1667    -1318,  1174,  1985, -1318, -1318,  1158, -1318,  1015, -1318, -1318,
    1668     1617,  1173, -1318, -1318, -1318,   686,  1175, -1318,    53,  1178,
    1669    10742,  1159,    53,    53,  1176, -1318,   977, 10457,  1185,  1115,
    1670      607,   130,  1192, -1318,  1176, -1318,  1198,  1192, -1318, -1318,
    1671     1199, -1318, -1318,   959,  1201,  1203,  6207,  1202,  1205,  1207,
    1672    -1318, -1318,  1210, -1318, -1318,   959, -1318, -1318, -1318, -1318,
    1673      959, 10457, 10457, 10742,  1209, -1318, -1318, -1318, -1318, -1318,
    1674    -1318, -1318, -1318, -1318, -1318, -1318, -1318, 10742, 10742,  1212,
    1675     1219,  1192, -1318, -1318,   850, -1318, -1318, -1318,  4876,  9871,
    1676    10457, 10457,  1262, 10457, -1318, -1318,  1213, -1318,  1214, 10457,
    1677     1216,  1220, 10457,   929, -1318,  1223,  5017,    95, -1318, -1318,
    1678     5481,  1224,   469, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1679    -1318, -1318,   959, 10172, -1318,  7467,  1232, -1318, -1318,  9871,
    1680      478,   509, -1318,  1236,  1239,   870,  1248, -1318,   541, -1318,
    1681    10457,  1250,  1245, -1318, -1318,  1251,   128,   133,   814,  1253,
    1682     1254, -1318,  1256, -1318,  9936, -1318, -1318, -1318, -1318, -1318,
    1683     1258, -1318,  9936,  9936,  9936, -1318, -1318,  1260, -1318,  1263,
    1684     1269,  1270,   589,  7186,  7294, -1318, -1318,   351, -1318,  1273,
    1685     1275, -1318,  7532,   721,   742,  1272,   752,  5749, -1318, -1318,
    1686      545, -1318, -1318,   768,  1279,   169,  1330,  1332, -1318, -1318,
    1687     5631, -1318, -1318, -1318,  1285,  1286,  9936, -1318, -1318, -1318,
    1688     1283, -1318, -1318, -1318, -1318, -1318, -1318,  9871,   870,   206,
    1689    -1318,  1268,   870,  1115,   327, -1318, -1318, -1318, -1318, -1318,
    1690    -1318, -1318, -1318,  1284, -1318, -1318, -1318, -1318, -1318, -1318,
    1691     1291,  1294, -1318, -1318, -1318, -1318, -1318, -1318, -1318,  1297,
    1692    -1318,  1296, -1318, -1318,  5631,   124, 10457,  5631, -1318,  1299,
    1693    10457, -1318,   270,  1314, -1318, -1318,  1306, -1318, -1318, -1318,
    1694    -1318, -1318,  1184,  1617,  1301,   874,   879, 10742, -1318,   790,
    1695     1307, 10457,   814,   814,  1308,  1310,  1316,  1317, -1318, -1318,
    1696     7402,  1320, -1318,  1376, 10742,  1313, -1318, -1318, 10286, -1318,
    1697      791, -1318,  1300,  5631,  1305, -1318, -1318,  1323, -1318,  1341,
    1698     1329,  9871, -1318, -1318, -1318,   870,   814,  1334,  1327,  1325,
    1699    -1318,  1192,  1192, -1318, -1318, -1318, -1318, -1318,  5631,   246,
    1700    -1318,   917, -1318, -1318,  6877, -1318, -1318,  1335, 10457, -1318,
    1701    10457,  6877,   169,  9635,  1342, -1318, -1318,  1351,   874, -1318,
    1702      793, -1318, -1318, 10457,  1357,  1359, -1318, 10742, 10742, -1318,
    1703    -1318,   989,    88, -1318, -1318,  1340, -1318,   989, -1318, -1318,
    1704     2035,   814,   169,  9635,  1364,  1345,   814, -1318, -1318, -1318,
    1705    -1318, -1318, 10286,  1369,   989,  6946, 10457, 10206,  1373,   989,
    1706     1380,  2035,  2697, -1318, -1318, -1318, -1318, -1318,  7909, -1318,
    1707    -1318, -1318, 10051, -1318, 10286, -1318, -1318,  1347,  9970, -1318,
    1708    -1318, 10206,   169,  2697,  1383,   794, -1318, 10051, -1318, -1318,
    1709    -1318,  9970, -1318, -1318,   169, -1318, -1318, -1318, -1318, -1318
     1545    5632,  9056, -1269,    25, -1269, -1269, -1269, -1269, -1269, -1269,
     1546   -1269,    17, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1547   -1269, -1269, -1269, -1269, -1269,   113,   113,   113,   803,   791,
     1548      56,  6940,   839, -1269, -1269, -1269, -1269, -1269,    59, -1269,
     1549   -1269, -1269,   628,    90,  8532, -1269, -1269, -1269, -1269, -1269,
     1550   -1269,    88,   155, -1269,   911, -1269, -1269, -1269, -1269,   140,
     1551    1450,   287,    96,  4240, -1269, -1269,  8601,  1048, -1269, -1269,
     1552   -1269,  1246,   329,  6299,  1010,   880,  1246,  1728, -1269, -1269,
     1553     332,   328, -1269,  1246,  1769, -1269,   227, -1269,   369,   379,
     1554   -1269, -1269, -1269, -1269,   256,   155,   113, -1269,   113, -1269,
     1555   -1269, -1269, -1269,  9292,   911, -1269, -1269,   911, -1269,  9351,
     1556     266, -1269, -1269,  1507,  9410, -1269,   839,   839,   839, -1269,
     1557   -1269, -1269,   113, -1269, -1269, -1269,   291,   341,   348, -1269,
     1558   -1269, -1269,   361, -1269, -1269, -1269, -1269, -1269,   391,   401,
     1559   -1269,   469,   839,  8040,  1076,   326,   352,   486,   522,   542,
     1560     576,   588,  8805,  6382,   474,   482, -1269,  8669, -1269, -1269,
     1561   -1269, -1269,   571, -1269,    47,  5492, -1269,   596,   239, -1269,
     1562   -1269, -1269, -1269,   597,   315,   324,   359,   113,   614, -1269,
     1563   -1269,  1450,  2466,   659, -1269,   128, -1269,   113,   113,   155,
     1564   -1269, -1269,   131, -1269,   113,   113, -1269,  3629,   647,   656,
     1565     839, 10211, -1269, -1269,   665,  8532, -1269, -1269,  1246, -1269,
     1566   -1269, -1269,   155, -1269,   911,    88, -1269,  7183, -1269,   839,
     1567     839,   839,   155, -1269,   803, -1269,  6072, -1269, -1269,   652,
     1568     839, -1269,   839, -1269,    59,  8040,  9115,   675, -1269,   791,
     1569     684,   839, -1269,   803,   674,   681, -1269,  6940,   744, -1269,
     1570   -1269, -1269,  8471, -1269, -1269,  5138, -1269,   659,    73,  9410,
     1571   10491,  1507,  3629, -1269,   138, -1269, -1269,  9351,   911,   708,
     1572   11267, -1269, -1269,   713, -1269, 11002, 10719, 10776, 10719, 10833,
     1573   -1269,   737, -1269, -1269, -1269, -1269, 10890, 10890,   744,  4439,
     1574     751, 10719,  8146, -1269, -1269, -1269, -1269, -1269, -1269,   766,
     1575   -1269,   828,  1924, 10719, -1269,   465,   544,   763,   389,   621,
     1576     755,   754,   759,   813,    65, -1269, -1269,   782,   510, -1269,
     1577     307, -1269, -1269,  1076, -1269, -1269,   774,   807, -1269,   784,
     1578     807,   815,    59, -1269, -1269,   821,  9292, -1269,   826,  7828,
     1579   -1269, -1269,   715,  2130,  7574, 10211,  1246, -1269,  1246,   839,
     1580     839, -1269, -1269, -1269, -1269, -1269, -1269,   839,  9469,   911,
     1581   -1269, -1269,  9528,  1378, -1269,  9174, -1269, -1269, -1269, -1269,
     1582   -1269, -1269, -1269,   831,  4897, 10719, -1269, -1269, -1269, -1269,
     1583   -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,  1507,
     1584   -1269,   728,   842,   859,   891,   817,   925,   926,   927,  2466,
     1585   -1269, -1269,   865,    88,   869, -1269, -1269,   928, -1269, -1269,
     1586   -1269,  8471, -1269, -1269, -1269, -1269, -1269,  3629, -1269,  8040,
     1587    8040, -1269,  1507, 11295,   911,  7639, -1269, -1269, -1269, -1269,
     1588    8471,    73, -1269, -1269,  1246,   155, -1269, -1269,  8471, -1269,
     1589    6187, -1269, -1269,   839,   839,   339,  9587,   909,  1932,  2385,
     1590   -1269,   377,   414,   791, -1269,  9115,   924,   912,   791,   839,
     1591   -1269, -1269, -1269, -1269,  9947, -1269,   512,  7494, -1269,   155,
     1592     930, -1269,  1507, 11077, 10548, -1269, -1269, -1269, -1269,   824,
     1593    3629, -1269,  7704,   659,  6831, -1269, -1269, -1269,   746,   592,
     1594     782,   791, 11267,   530,  9351, -1269, 11267, -1269, -1269, -1269,
     1595   -1269,   613, -1269,   932, -1269, -1269,    12,  4439, -1269, -1269,
     1596    4439, -1269,  7934,  4439, -1269, -1269, -1269,   933, -1269,   625,
     1597     936,   545,   939, -1269,  8873,  5389, -1269, -1269, -1269,    67,
     1598   -1269, -1269, 10605, -1269,   249, -1269, -1269, -1269, -1269, -1269,
     1599   -1269, -1269, -1269, -1269, -1269, 10491, 10491, -1269, 10719, 10719,
     1600   10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719,
     1601   10719, 10719, 10719, 10719, 10719, 10719,  4719, 10491, -1269,   510,
     1602    1578, -1269, -1269,   113,   113, -1269, -1269,  8040, -1269, -1269,
     1603     928,   744, -1269,   928, 10662, -1269, -1269, -1269,  4020,  5389,
     1604     938,  8252,   941, -1269,  9646, -1269, -1269,   571, -1269,   942,
     1605    1657,   947,  1802,   198,   782, -1269,   113,   113,   782,   245,
     1606   -1269,   113,   113,   928, -1269, -1269,   113,   113, -1269,   807,
     1607    9705,   911, 11208,   419,   426,  9705, -1269,  9882, -1269,   782,
     1608   -1269,  9469, -1269,   144,  7291,  7291,  7291,   911, -1269, 10434,
     1609     934,   831,   353,   949, -1269,   951,  5492,   583, -1269,  1032,
     1610     911,  7291,   744,  1507,   744,   659,   795,   807, -1269, -1269,
     1611     800,   807, -1269, -1269, -1269,   986, -1269,   807,   155,  9947,
     1612   -1269,   635,   960,   638,   961, -1269,   962,   155, -1269, -1269,
     1613    8471,   155,   958,   436,   443,  9764,  6494,  2437, 10719,  2673,
     1614   -1269, -1269,   956,    32,   956, -1269, -1269, -1269,   113,   113,
     1615   -1269, -1269,   791, -1269,   113, -1269, -1269,  2798,   791,   968,
     1616   10719, -1269,   924, 11208, -1269, -1269,   967, -1269, -1269, -1269,
     1617     744, -1269, 11143, 10719, -1269,  7291,   584,  7574, -1269, -1269,
     1618     571,   969,   972,   746,  2082, -1269, -1269, 11267, -1269, -1269,
     1619     965, -1269, -1269,   984, -1269,   965,   989, 11002, 10491,   944,
     1620    1017,   991,   992,   751,   987,   996, -1269,   997,  1000,  2971,
     1621    6158, -1269, 10491, -1269,   545,  1808, -1269,  5683, 10491,   998,
     1622   -1269, -1269,   831,   639, -1269, 10491, -1269, -1269, -1269, -1269,
     1623   -1269, -1269, -1269,   465,   465,   544,   544,   763,   763,   763,
     1624     763,   389,   389,   621,   755,   754,   759,   813, 10719,   616,
     1625   -1269,  9947,  1005,  1006,  1007,  1578, -1269, -1269, -1269, -1269,
     1626   -1269,  9947,   643, 10719,  7291, -1269,  9469, -1269,  6606,  8358,
     1627    9233,  6382, -1269, -1269, -1269,  1657,  9947,   846,  1012,  1013,
     1628    1015,  1019,  1020,  1023,  1024, -1269,  3182,  1802, -1269, -1269,
     1629   -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1630   -1269, -1269, -1269, -1269, -1269,   928, -1269, -1269, -1269,   782,
     1631   -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,  1025, -1269,
     1632    1026,  1029, -1269, -1269,    88,   998, 10434, -1269, -1269, -1269,
     1633    4897,  1028, -1269, -1269, -1269, -1269,   791,  5798,  1104, -1269,
     1634   -1269, -1269, -1269,  1027,    88, -1269, -1269,   928, -1269, -1269,
     1635     928,   142,   928, -1269, -1269, -1269, -1269, -1269, -1269,  8737,
     1636   -1269,   155, -1269,  9115, -1269, -1269,  1034,   761,  1031,  1038,
     1637    1041, -1269,  2673, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1638    1932, -1269,   912, -1269, -1269,  1044,  1046,  1047, -1269, -1269,
     1639    1042,  1050, -1269,   584,  1953, -1269,   534, -1269,  2082,   782,
     1640   -1269,  1054, 11267,  9823,  8040,  1055, -1269, -1269,  1051,  1056,
     1641   -1269,  1059,   169,  1057, -1269,  1058,  1058,  5389, 10491, -1269,
     1642   -1269,  1058, -1269,  1808,  4897, -1269, -1269, -1269, -1269,  1060,
     1643   10491,  1062,   744, 10434, -1269, 10605, -1269,   744, -1269, 10491,
     1644   -1269,   840,   807, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1645     831,  7828, -1269, -1269,  6718,  1067, -1269,   864,   807, -1269,
     1646     871,   882,   807, -1269,   839,  3327, -1269, -1269, -1269,  9947,
     1647    9947, -1269,  7639,  7639, -1269,  1063,  1064,  1068,  1071, -1269,
     1648    1074,   541,    48,   998, -1269,   744, -1269,  5492, -1269, 10491,
     1649     455, -1269,  6043,  1080,  1081, 10377,  1083,  1084,    55,   173,
     1650      23, 10491,  1085,   155,  4287,  1089,  1086,  1065, -1269, -1269,
     1651   -1269,  1087, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1652   -1269,   791,  1094, 10491, -1269,  9947,  9947,   113,  1095, -1269,
     1653    8997,  8935,   889,   807, -1269, -1269, -1269, -1269, -1269, -1269,
     1654   -1269, -1269, -1269,  1098,  1953, -1269, -1269,  1082, -1269,   965,
     1655   -1269, -1269,  1507,  1097, -1269, -1269, -1269,   650,  1096, -1269,
     1656   10719,  1077,  1017,  1017,  1102, -1269,   951, 10491,  1111,  1060,
     1657     559,    61,  1108, -1269,  1102, -1269,  1113,  1108, -1269, -1269,
     1658    1118, -1269, -1269,   928,  1120,  1121,  6270,  1123,  1124,  1125,
     1659   -1269, -1269,  1122, -1269, -1269,   928, -1269, -1269, -1269, -1269,
     1660     928, 10491, 10491, 10719,  1127, -1269, -1269, -1269, -1269, -1269,
     1661   -1269, -1269, -1269, -1269, -1269, -1269, -1269, 10719, 10719,  1128,
     1662    1133,  1108, -1269, -1269,   791, -1269, -1269, -1269,  7118,  9823,
     1663   10491, 10491,  1180, 10491, -1269, -1269,  1114, -1269,  1117, 10491,
     1664    1135,  1137, 10491,   901, -1269,  1138,  8499,   113, -1269, -1269,
     1665    5798,  1140,   467, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1666   -1269, -1269,   928, 10183, -1269,  7704,  1147, -1269, -1269,  9823,
     1667     476,   481, -1269,  1157,  1165, -1269,   201, -1269, 10491,  1166,
     1668    1167, -1269, -1269,  1168,   257,   313,   744,  1169,  1171, -1269,
     1669    1172, -1269,  9947, -1269, -1269, -1269, -1269, -1269,  1174, -1269,
     1670    9947,  9947,  9947, -1269, -1269,  1175, -1269,  1179,  1182,  1183,
     1671     573,  7358,  7466, -1269, -1269,   609, -1269,  1184,  1185, -1269,
     1672    7769,   651,   662,  1141,   664,  5921, -1269, -1269,   508, -1269,
     1673   -1269,   687,  1189,   155,  1237,  1240, -1269, -1269, 10377, -1269,
     1674   -1269, -1269,  1193,  1197,  9947, -1269, -1269, -1269,  1196, -1269,
     1675   -1269, -1269, -1269, -1269, -1269,  9823, -1269,  1190,  1231,  1060,
     1676     253, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,  1204,
     1677   -1269, -1269, -1269, -1269, -1269, -1269,  1211,  1215, -1269, -1269,
     1678   -1269, -1269, -1269, -1269, -1269,  1219, -1269,  1218, -1269, -1269,
     1679   10377,   147, 10491, 10377, -1269,  1225, 10491, -1269,   264,  1239,
     1680   -1269, -1269,  1229, -1269, -1269, -1269, -1269, -1269,   911,  1507,
     1681    1233, -1269, -1269,   704,  1228, 10491,   744,   744,  1248,  1249,
     1682    1250,  1251, -1269, -1269,  7639,  1256, -1269,  1301, 10719,  1259,
     1683   -1269, -1269, 10297, -1269,   716, -1269,  1224, 10377,  1235, -1269,
     1684   -1269,  1268, -1269,  1282,  1270,  9823, -1269, -1269, -1269,  1252,
     1685    1302,  1273, -1269,  1108,  1108, -1269, -1269, -1269, -1269, -1269,
     1686   10377,    54, -1269,   897, -1269, -1269,  7049, -1269, -1269,  1255,
     1687   10491, -1269, 10491,  7049,   155,  9587,  1283, -1269, -1269,  1280,
     1688   -1269, -1269, 10491,  1284,  1285, -1269, 10719, 10719, -1269, -1269,
     1689     966,    99, -1269, -1269,  1266, -1269,   966, -1269, -1269,  2561,
     1690     744,   155,  9587,  1290, -1269, -1269, -1269, -1269, -1269, 10297,
     1691    1286,   966,  3510, 10491, 10217,  1287,   966,  1294,  2561,  3047,
     1692   -1269, -1269, -1269, -1269, -1269,  8040, -1269, 10062, -1269, 10297,
     1693   -1269, -1269,  1274,  9981, -1269, -1269, 10217,   155,  3047,  1297,
     1694     717, -1269, 10062, -1269, -1269, -1269,  9981, -1269, -1269,   155,
     1695   -1269, -1269, -1269, -1269, -1269
    17101696};
    17111697
     
    17131699static const yytype_int16 yypgoto[] =
    17141700{
    1715    -1318,  3762,  2543, -1318,  1454, -1318,    -1,     2,   -89, -1318,
    1716    -1318, -1318,  -483,  -942,  -282,  4006, -1318,  1670,   483,   485,
    1717      347,   484,   927,   931,   926,   932,   937, -1318,   792,  -594,
    1718     4587,   375,  -691,  -946, -1318,  -112,  -722,  -695, -1318,   412,
    1719    -1318,   304, -1184, -1318, -1318,    54, -1318, -1317,  -763,   149,
    1720    -1318, -1318, -1318, -1318,    -3, -1151, -1318, -1318, -1318, -1318,
    1721    -1318, -1318,   223,    51,    55, -1318,  -364, -1318,   402,   204,
    1722    -1318,    86, -1318,  -320, -1318, -1318, -1318,   450,  -745, -1318,
    1723    -1318,    10,  -865,   258,   180, -1318, -1318, -1318,  -222, -1318,
    1724      126,    49,  -187,   951,  3574, -1318, -1318,   213,   151,   363,
    1725     -251,  2053, -1318,  1304, -1318, -1318,   344,  1615, -1318,  1898,
    1726     1496, -1318, -1318,  -417,  -439,  1083,  1084,   597,   837,   279,
    1727    -1318, -1318,  1086,   598,   -23, -1318,    37,  -463,   807, -1318,
    1728    -1318,  -923,  -977,   142,   669,   965,   280, -1318,   175,   -35,
    1729     -257,  -199,  -156,   555,   651, -1318,   888, -1318,  1925,  1031,
    1730     -460,   803, -1318, -1318,   594, -1318,  -228, -1318,   140, -1318,
    1731    -1318, -1318, -1268,   320, -1318, -1318, -1318,  1067, -1318,     6,
    1732    -1318, -1318,  -851,   -86, -1303,  -124,  2887, -1318,  2837, -1318,
    1733      812, -1318,  -168,   585,  -176,  -173,  -171,     4,   -41,   -39,
    1734      -36,   834,    47,    56,    79,  -167,  -162,  -161,  -159,  -158,
    1735     -273,  -557,  -498,  -458,  -543,  -318,  -539, -1318, -1318,  -499,
    1736      986,   992,   993,  1485,  4182,  -565,  -577,  -550,  -542,  -536,
    1737    -1318,  -384,  -672,  -658,  -654,  -591,  -211,  -316, -1318, -1318,
    1738      152,   299,   -75, -1318,  2880,   592,  -631,  -200
     1701   -1269,  3902,  2604, -1269,   354, -1269,    -1,     2,   742, -1269,
     1702   -1269, -1269,  -489,  -961,  -282,  4749, -1269,   570,   459,   468,
     1703     357,   464,   844,   848,   849,   847,   850, -1269,  -229,  -231,
     1704    4555,   296,  -694,  -919, -1269,   166,  -721,   143, -1269,    86,
     1705   -1269,   216, -1143, -1269, -1269,   -17, -1269, -1146, -1036,    71,
     1706   -1269, -1269, -1269, -1269,   -75, -1160, -1269, -1269, -1269, -1269,
     1707   -1269, -1269,   141,   -26,    21,   316, -1269,   320, -1269,    13,
     1708   -1269,  -294, -1269, -1269, -1269,   364,  -829, -1269, -1269,    11,
     1709    -963,   125,  1704, -1269, -1269, -1269,   -72, -1269,    82,    49,
     1710     -18,  1039,  3754, -1269, -1269,    81,   133,   536,  -256,  1629,
     1711   -1269,  1307, -1269, -1269,   224,  1625, -1269,  1893,  1163, -1269,
     1712   -1269,  -426,  -421,   993,   994,   507,   747,   306, -1269, -1269,
     1713     980,   516,  -433, -1269,  -199,    75,   591, -1269, -1269,  -894,
     1714   -1000,     6,   910,   861,   176, -1269,   721,   158,  -317,  -210,
     1715    -149,   478,   577, -1269,   809, -1269,  2211,   740,  -443,   722,
     1716   -1269, -1269,   511, -1269,  -232, -1269,   -46, -1269, -1269, -1269,
     1717   -1268,   243, -1269, -1269, -1269,   981, -1269,    -7, -1269, -1269,
     1718    -827,   -35, -1227,  -161,  1978, -1269,  3527, -1269,   719, -1269,
     1719    -157,    41,  -172,  -170,  -163,     4,   -41,   -36,   -34,   777,
     1720      24,    33,    45,  -143,  -151,  -150,  -145,  -139,  -288,  -529,
     1721    -505,  -476,  -564,  -323,  -560, -1269, -1269,  -516,   899,   906,
     1722     915,  1643,  4256,  -522,  -566,  -549,  -514,  -546, -1269,  -372,
     1723    -680,  -674,  -672,  -603,  -208,  -186, -1269, -1269,    64,   293,
     1724     -93, -1269,  3162,   208,  -613,  -396
    17391725};
    17401726
     
    17421728   positive, shift that token.  If negative, reduce the rule which
    17431729   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1744 #define YYTABLE_NINF -511
     1730#define YYTABLE_NINF -503
    17451731static const yytype_int16 yytable[] =
    17461732{
    1747      110,   146,    46,   147,    95,   393,   148,   447,   394,   378,
    1748      395,   111,   704,   422,   401,   402,   434,   885,   923,   396,
    1749      397,   731,   398,   399,   500,   836,   611,   263,   256,   965,
    1750      473,   861,   924,    46,   743,    95,   925,   140,   748,   844,
    1751      710,  1078,  1129,   630,    46,   832,    46,   634,   158,  1374,
    1752      113,   778,   837,  1137,  1171,    47,    46,    30,    30,   404,
    1753      838,   843,    46,   835,   189,    46,   699,   212,    46,   847,
    1754      222,   606,    30,   810,   120,   854,   215,   338,   108,   108,
    1755      984,  1436,   108,   276,   941,   393,    47,   530,   394,   149,
    1756      395,  1432,   671,   156,   401,   402,   923,   927,   150,   396,
    1757      397,  1181,   398,   399,   833,    30,    46,  1169,  1170,    46,
    1758      924,   419,   680,  1120,   925,    46,   198,   119,   403,   940,
    1759      684,   151,   248,   405,   405,  1199,    60,  1177,   286,   598,
    1760     -225,  -225,    30,   477,   479,   277,   413,  1195,   405,   770,
    1761      146,  1197,   147,  1447,   834,   148,    46,  1077,   158,   248,
    1762      325,    67,   254,  1178,    46,  1432,   968,    60,   156,    46,
    1763      199,   368,   478,   675,   677,  1436,  1394,  1395,   108,   483,
    1764     1436,   405,   139,   875,   875,   875,    30,   108,   521,   832,
    1765       54,    54,    67,    46,    46,  1187,   158,  1436,   507,   567,
    1766      473,   875,   319,   108,  1436,  -225,   160,  1066,   108,    46,
    1767      530,   335,   530,    30,   138,   669,   774,    46,  1246,   158,
    1768      473,    54,   141,    66,   208,   780,    46,   738,   473,    46,
    1769      146,   437,   147,   568,   143,   148,   731,   753,   149,  1085,
    1770     1396,  1327,   666,   667,   754,  1247,  1329,   150,   833,   747,
    1771      845,   864,   603,    54,    66,   865,    54,   467,  1171,    46,
    1772      424,    95,   836,   465,   428,   237,   240,   761,    53,   112,
    1773      151,   160,   589,    46,    46,   875,   158,   852,   152,   603,
    1774       46,   704,   832,   732,   821,   167,  1026,    46,   834,   837,
    1775      372,   530,   695,   697,   319,   450,   611,   838,   518,    53,
    1776     1013,   338,   741,  -455,  1323,   847,   373,  1171,  1025,   104,
    1777      104,   731,    47,  1508,   658,  1186,  1139,  1377,   674,   676,
    1778     1002,   887,  1394,  1395,   666,   667,   428,   870,   530,   490,
    1779     1517,   206,   814,  -455,   216,  -455,    46,  1521,   368,  -455,
    1780      104,   833,   673,   343,   173,  1457,  1509,  1201,   678,   523,
    1781      381,   888,   156,   645,    74,    46,    46,   889,   550,   165,
    1782     1169,  1170,   966,   551,   552,   875,   382,   429,  1192,  1078,
    1783     1522,  1178,    46,   916,   441,   104,    46,   108,   436,   136,
    1784      137,   834,   836,    60,  1119,    74,  1405,   866,   474,   478,
    1785      177,   867,   598,   462,   257,   844,   588,   258,   455,   595,
    1786      197,   108,    46,   136,   137,  -281,   521,    54,    67,   837,
    1787      521,   569,    46,   521,   368,   881,   848,   838,   628,   384,
    1788      851,   598,   632,  1171,   459,   335,   598,   752,   861,   429,
    1789       46,   108,  1187,   136,   234,   385,    46,    54,    46,  -109,
    1790      225,   868,   239,   386,   226,   871,  1381,   230,   578,   232,
    1791     1421,  1422,   525,    36,   579,   160,   241,    39,   243,   387,
    1792     -109,   338,    46,   246,    40,    41,   803,   235,  -109,  -109,
    1793       66,   473,   236,  -506,   169,  1077,   685,  1427,   110,   319,
    1794      319,   248,   579,   755,  -109,   435,    46,   756,   732,   829,
    1795      762,   603,  1157,  1159,    46,   722,   368,   -10,    46,   604,
    1796       95,   723,    46,   886,   433,  1242,   208,   450,  1107,   500,
    1797      450,  1088,  1121,   945,  1007,    53,   450,   249,   821,  1122,
    1798     1135,   388,   260,   758,   393,  1066,   739,   394,   113,   395,
    1799      553,   554,   740,   611,   401,   402,  1236,   389,   396,   397,
    1800      775,   398,   399,   758,   899,   781,  -431,  1026,   474,  -432,
    1801      705,    47,  1360,   490,  1093,   319,   104,   490,   485,   495,
    1802      646,   496,   699,   732,   326,   502,   706,   523,   474,   557,
    1803      558,   523,   707,   319,   523,  1358,   474,  1168,  1024,  1187,
    1804      897,   225,   705,   707,  1184,   335,  1187,  1184,   708,   906,
    1805      379,   749,   467,  1275,  1276,    94,  1312,   750,   919,   920,
    1806     1185,    74,    46,  1303,   559,   560,    74,  1093,   821,   272,
    1807      455,   411,  1313,   455,    46,  1367,    46,   343,   720,   455,
    1808      729,   274,    60,   338,   876,   877,    94,  1314,   866,   580,
    1809     1187,   405,  1103,   173,   431,    46,   208,   145,   319,    94,
    1810      709,   895,   275,  1315,   439,   459,   163,    67,  1404,   819,
    1811      631,    46,   595,  1321,   635,   185,   765,   366,    94,   704,
    1812     1322,    94,   766,   766,   896,    46,   898,  -102,    46,  1393,
    1813      525,  -102,  1401,  1029,   525,   969,    54,   525,   742,  1361,
    1814      746,   860,   910,   874,   874,   874,   595,   327,   766,  1037,
    1815      328,  1024,   869,   731,   108,   329,   136,   137,   338,  1463,
    1816      330,   874,    46,  1346,    46,   331,  1463,  1347,  1482,    66,
    1817     1082,   163,   522,  1435,  1487,   948,   367,   343,  1439,  -109,
    1818      225,  -109,   230,   555,   556,  -109,  1465,   571,  1466,   405,
    1819      744,  1504,   944,   561,   562,   745,  1511,   572,  1044,    94,
    1820     -109,  -109,  1115,  1456,   583,   323,   405,   335,    46,    46,
    1821     1505,   768,    94,   405,    53,     2,   202,     4,     5,     6,
    1822        7,   769,    46,   371,  1234,  1104,    74,   912,  1238,   450,
    1823      666,   667,   383,   766,  1506,   874,   392,   185,   695,   697,
    1824      391,   343,   949,   821,   603,   436,    74,   248,   325,   405,
    1825      992,  1004,   950,  1417,    74,   104,   993,   723,  1232,   490,
    1826       94,   413,   662,   405,   579,  1005,   403,   430,   598,   225,
    1827     1429,   420,    94,    34,   823,    35,   900,  1516,   405,   474,
    1828     1349,   421,   335,  1516,   720,   729,   343,   343,   343,   923,
    1829      882,   426,  1516,  1354,   766,   997,  1516,   323,   444,   766,
    1830       74,    46,    94,   924,   343,  1161,    36,   925,   179,   180,
    1831       39,    36,   457,    46,  1355,    39,   481,    40,    41,   682,
    1832      766,   474,    40,    41,  1357,   874,   483,   325,   405,   430,
    1833      766,   463,   455,  1480,  1429,    -3,   903,   208,   405,  1006,
    1834     1362,   464,   602,   819,   603,   460,   766,    42,   159,   108,
    1835      935,   208,   604,   724,   486,   163,   938,   144,   506,  1182,
    1836      729,  1064,  1418,  1437,   190,  1475,  1525,   213,  1415,   766,
    1837      223,  1476,   579,   863,   791,   792,   793,   794,   343,    94,
    1838        8,     9,    10,    11,    12,   108,    46,   136,   137,   878,
    1839      522,   845,   325,   603,   522,   514,  1141,   522,   405,   605,
    1840       46,   526,   600,   894,  1153,   732,   405,    30,    46,     2,
    1841      202,     4,     5,     6,     7,   286,  1156,   720,   603,   530,
    1842       36,    63,   114,  1158,    39,   603,    46,   720,   325,   405,
    1843       33,    40,    41,   819,  1328,  1330,  1331,   450,  1220,  1108,
    1844      405,   563,   720,   208,   931,   564,   931,   566,   159,   531,
    1845      532,   533,    63,  1294,  1295,   185,   736,  1415,  1416,  1131,
    1846      565,   369,   758,  -428,  1131,   157,   737,    34,   343,    35,
    1847      569,   571,   534,   405,   535,   343,   536,   490,  1110,   319,
    1848      334,   572,   323,   323,   732,   587,   159,   217,    60,   126,
    1849      590,   127,   128,   129,  1227,  1458,  1459,    74,   640,   969,
    1850      502,  1394,  1395,   969,   969,   696,   787,   788,   823,   159,
    1851      789,   790,  1131,    67,   659,   795,   796,   660,   661,   663,
    1852      664,   438,  1064,   668,   255,  1196,  1198,  1200,   860,   646,
    1853      665,   670,   253,   711,   688,   751,  1049,   713,  -229,    74,
    1854      455,    94,    54,   763,   767,   605,   771,   824,  1283,  1284,
    1855      826,  1286,   828,   908,   839,   884,  1494,  1290,   323,   891,
    1856     1293,   -12,   915,   883,   211,   324,   917,     8,     9,    10,
    1857       11,    12,   911,   255,   345,    66,   323,   913,   914,   918,
    1858      691,   238,    46,   939,     8,     9,    10,    11,    12,  -405,
    1859     -510,   953,   960,   740,    30,   962,   967,   973,   974,  1093,
    1860      977,   338,   978,   400,   979,   721,   976,   450,   819,    54,
    1861      999,    30,   988,  1000,  1001,   211,  1319,    33,   418,  1015,
    1862       53,   423,   425,  1016,  1017,   343,   157,   646,   369,  1018,
    1863     1019,  1020,  1021,   436,    33,  1032,  -393,  -392,  1079,   720,
    1864      720,   323,  1081,  1046,  1089,  1090,   474,   442,  1091,  1092,
    1865     1097,   445,  1096,   446,  1099,   600,  -282,   831,   211,   605,
    1866     1098,   104,   461,     8,     9,    10,    11,    12,    63,   215,
    1867     1100,    67,  1106,   475,  1116,   768,   766,   405,    46,  1064,
    1868      343,   343,  1117,   482,   862,   769,  1118,  1109,   982,   600,
    1869       30,   425,  1123,  1127,  1130,   720,   720,  1151,  1174,  1375,
    1870       54,  1172,  1173,  1375,   369,  1175,    74,  1190,  1176,  1108,
    1871      455,  1206,  1191,    33,  1400,  1131,  1131,  1131,   211,    36,
    1872     1193,   170,   171,    39,  1049,   335,  1194,  1202,   104,  1207,
    1873       40,    41,    36,  1189,   170,   171,    39,  1208,    -3,  1213,
    1874     1515,  1218,   729,    40,    41,   922,  1224,   696,  1110,   495,
    1875     1228,  1233,  1235,  1237,  1240,  -283,   211,  1413,   255,  1244,
    1876      211,   596,     8,     9,    10,    11,    12,   624,   367,  1064,
    1877     1248,  1253,  1251,  1255,    72,  1256,  1257,  1285,    53,  1258,
    1878      629,  1259,  1261,  1268,   629,   393,  1277,   255,   394,    30,
    1879      395,   831,   605,  1278,   401,   402,  1448,  1108,  1087,   396,
    1880      397,  1302,   398,   399,  1310,    72,    60,  1288,  1289,   208,
    1881     1291,   721,    33,  1316,  1292,   666,   667,  1299,  1318,   104,
    1882     1320,   729,  1325,  1064,  1324,  1326,  1064,  1332,  1333,  1281,
    1883     1334,    67,  1336,   475,  1342,  1308,  1110,  1343,    54,    54,
    1884      218,  1344,  1345,  1356,    46,    46,   211,  1352,   345,  1353,
    1885     1363,  1131,  1131,   475,  1493,  1295,  1366,  1368,  1369,  1371,
    1886       54,   475,  1378,  1381,    74,  1388,   720,  1064,  1389,  -394,
    1887     1392,  1403,  1064,  1407,   720,   720,   720,  1409,  1414,    54,
    1888     1423,  1419,  1424,   474,   831,  1449,  1428,   716,  1425,  1426,
    1889      425,  1108,  1433,    66,  1438,  1442,   605,  1064,  1347,  1440,
    1890     1444,  1446,  -284,   436,  1453,   730,  1451,    63,    67,     8,
    1891        9,    10,    11,    12,  1472,   425,   206,   216,   720,   425,
    1892      146,  1452,   147,   343,   343,   148,   211,   348,  1474,  1464,
    1893     1110,  1478,    54,  1479,  1486,  1498,    30,    54,    53,  1499,
    1894     1495,  1518,    46,  1203,   721,  1500,  1503,   255,   345,   909,
    1895     1510,  1064,  1512,   926,   721,  1524,  1064,  1109,   104,    33,
    1896      797,   799,  1470,    46,    46,   798,   158,    54,   800,   721,
    1897     1189,  1064,  1243,  1064,   801,   926,   211,  1064,   172,   104,
    1898     1064,  1406,  1481,   696,  1301,    46,  1064,   368,  1526,  1365,
    1899     1064,   696,  1470,   809,  1497,  1239,  1379,  1467,   104,  1212,
    1900      443,   686,   687,  1094,   932,  1045,  1095,  1126,   890,   605,
    1901      435,   629,   822,   955,   596,    53,   715,   319,   816,  1311,
    1902     1105,    72,   323,   734,    74,   841,    72,   806,   172,   210,
    1903      474,   172,   963,   807,   808,     0,     0,   474,     0,     0,
    1904      343,     0,     0,   596,     0,  1109,     0,     0,   596,     0,
    1905        0,     0,     0,     0,   629,    67,   104,   345,   345,   345,
    1906        0,    54,    67,     0,   996,  1471,    36,     0,   179,   180,
    1907       39,   862,     0,     0,     0,   345,   172,    40,    41,     0,
    1908      210,   474,   998,     0,    54,    75,   104,     0,     0,     0,
    1909        0,    54,  1003,   716,     0,  1471,     0,   211,     0,     0,
    1910        0,    74,   181,     0,   475,     0,    67,  1014,     0,   255,
    1911      730,     0,   182,   928,     0,     0,    75,  1189,     0,     0,
    1912      218,     0,  1412,   210,  1189,   211,     0,     0,     0,     0,
    1913      211,     0,     0,     0,     0,    54,     0,     0,   172,  1109,
    1914      407,     0,  1039,     0,     0,     0,   475,   415,     0,   345,
    1915        0,   219,    36,     0,   179,   180,    39,     0,   954,     0,
    1916        0,   425,    53,    40,    41,     0,   721,   721,  1189,    53,
    1917        0,     0,     0,     0,     0,     0,     0,  1364,     0,     0,
    1918      104,     0,     0,   210,   255,   730,    72,     0,   261,     0,
    1919      981,     0,   172,    36,     0,   170,   171,    39,   262,   172,
    1920        0,   348,     0,   104,    40,    41,    72,     0,     0,     0,
    1921      104,     0,     0,    53,    72,     0,     0,   211,     0,   407,
    1922        0,   210,   721,   721,     0,   210,   716,     0,     0,   371,
    1923      926,   211,     0,     0,     0,     0,   716,     0,   350,   345,
    1924      348,   629,     0,     0,  1012,   629,   822,     0,    74,     0,
    1925        0,   716,     0,     0,   104,    74,     0,     0,   348,  1138,
    1926       72,  1023,     8,     9,    10,    11,    12,   172,     0,     0,
    1927        0,     0,     0,     0,   577,     8,     9,    10,    11,    12,
    1928        0,     0,   581,     0,   172,   584,     0,     0,   172,    30,
    1929        0,     0,     0,     0,     0,     0,     0,     0,     0,    74,
    1930        0,   348,    30,     0,  1166,  1167,     0,     0,     0,  1039,
    1931        0,   210,    33,    63,     0,     0,     0,    36,     0,   179,
    1932      180,    39,     0,   211,  1468,    33,     0,     0,    40,    41,
    1933       36,     0,    75,     0,    39,   629,     0,    75,     0,     0,
    1934        0,    40,    41,     0,     0,     0,     0,   407,     0,     0,
    1935      172,   415,     0,   602,  1496,   603,     0,     0,     0,     0,
    1936     1215,  1216,  1309,   604,     0,   348,    42,     0,    77,     0,
    1937        0,  1102,     0,     0,     0,     0,   144,     0,     0,   425,
    1938      114,     0,   926,     0,     0,     0,     0,     0,     0,     0,
    1939        0,   210,     0,   721,  1523,    84,   345,     0,     0,    77,
    1940        0,   721,   721,   721,     0,     0,  1528,     0,     0,     0,
    1941      348,   348,   348,     0,     0,     0,     0,     0,     0,   511,
    1942        0,     0,     0,     0,     0,     0,    84,     0,   348,     0,
    1943      596,   219,   528,   529,   220,     0,   407,     0,     0,   926,
    1944      926,   210,     0,   423,   549,   721,   348,     0,   716,   716,
    1945        0,   345,   345,     0,     0,     0,     0,    72,     0,     0,
    1946        0,   221,     0,   348,     0,     8,     9,    10,    11,    12,
    1947        0,  1188,     2,   202,     4,     5,     6,     7,     0,     0,
    1948      529,     0,    36,     0,   179,   180,    39,     0,     0,     0,
    1949        0,     0,    30,    40,    41,     0,     0,    75,     0,    72,
    1950      224,     0,   348,     0,   716,   716,     0,     0,     0,     0,
    1951      629,     0,   350,   211,   172,    33,   529,    75,   690,     0,
    1952      405,   351,     0,     0,     0,    75,   577,   577,   692,     0,
    1953       34,  1335,    35,     0,     0,     0,     0,     0,   348,  1337,
    1954     1338,  1339,     0,     0,     0,     0,   481,   172,   358,     0,
    1955        0,   350,     0,     0,     0,     0,   949,     0,   603,     0,
    1956      323,     0,   210,   172,     0,     0,   950,   730,     0,   350,
    1957       36,    75,   179,   180,    39,     0,     0,   172,     0,   348,
    1958        0,    40,    41,  1370,     0,     0,   209,     0,     0,   348,
    1959      210,     0,   348,     0,     0,   210,   228,   218,     0,   348,
    1960        0,     0,     0,     0,   348,     0,  1491,     0,   405,     0,
    1961     1282,     0,   350,     0,   901,    77,  1492,     0,   904,     0,
    1962       77,    36,     0,   179,   180,    39,     0,   255,     0,     0,
    1963        0,    63,    40,    41,     0,     0,     0,   209,     0,   926,
    1964        0,     0,    84,     0,   716,     0,   730,    84,     0,     0,
    1965      114,   407,     0,     0,     0,     0,   926,   690,     0,   405,
    1966        0,     0,     0,     0,     0,   691,    72,   692,     0,     0,
    1967        0,     0,     0,     0,   172,   716,   350,     0,     0,     0,
    1968      209,     0,   210,   716,   716,   716,     0,     0,     0,   211,
    1969      784,   785,   786,     0,   345,   345,   210,   537,   538,   539,
    1970      540,   541,   542,   543,   544,   545,   546,     0,  1188,     0,
    1971        0,     0,     0,     0,   220,     0,     0,     0,     0,   926,
    1972      926,   350,   350,   350,     0,     0,     0,   716,     0,     0,
    1973      547,     0,     0,   529,     0,     0,     0,     0,   114,   350,
    1974      209,   221,     0,     0,     0,     0,     0,     0,     0,   348,
    1975        0,     0,     0,     0,     0,     0,     0,   350,     0,     8,
    1976        9,    10,    11,    12,   577,     0,     0,     0,    75,     0,
    1977        0,     0,     0,     0,   350,     0,     0,     0,   209,     0,
    1978       77,     0,   209,   211,     0,     0,    30,     0,   210,     0,
    1979        0,     0,     0,     0,     0,   351,     0,     0,   501,     0,
    1980       77,   348,   348,     0,   348,   348,     0,    84,    77,    33,
    1981       75,   345,     0,   350,    36,     0,   179,   180,    39,     0,
    1982        0,     0,   358,     0,    72,    40,    41,    84,     0,     0,
    1983        0,     0,   114,     0,   351,    84,     0,     0,   172,     0,
    1984        0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
    1985      181,     0,   351,     0,    77,  1188,     0,   348,   348,     0,
    1986      182,   358,  1188,     0,     0,     0,   529,     0,   209,     0,
    1987        0,     0,     0,     0,     0,     0,     0,   407,     0,   358,
    1988        0,    84,     0,     0,     0,     0,     0,     0,     0,     0,
    1989      350,     0,     0,     0,     0,   351,     0,     0,     0,     0,
    1990      350,     0,     0,   350,     0,     0,  1188,     0,   219,     0,
    1991      350,   983,     0,  1513,     0,   350,     0,     0,     0,     0,
    1992      348,     0,   358,     0,   469,     2,   202,     4,     5,     6,
    1993        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    1994       17,    18,    19,    20,    21,    22,    23,    24,   209,     0,
    1995       25,    26,    27,     0,  1142,     0,     0,   529,    30,   351,
    1996        0,     0,     0,   218,     0,   209,     0,     0,     0,     0,
    1997     1154,     0,     0,     0,     0,     0,     0,    75,   210,     0,
    1998        0,    33,     0,    34,    72,    35,   358,     0,    37,    38,
    1999        0,     0,     0,     0,     0,     0,     0,   348,   209,   348,
    2000        0,     0,     0,     0,   351,   351,   351,     0,     0,     0,
     1733     110,   146,    46,   445,    95,   432,   147,   918,   148,   392,
     1734     256,   393,   111,   919,   141,   920,   377,   857,   394,   498,
     1735     609,    47,   403,  1161,   140,   400,  1127,   959,   701,   707,
     1736     395,   396,   881,    46,   832,    95,   397,  1360,   839,   401,
     1737     831,    94,   398,   774,    46,   506,    46,   505,   158,   740,
     1738     113,   833,    47,   745,   806,   604,    46,   843,  1069,   337,
     1739    1070,  1119,    46,   850,   189,    46,   149,   212,    46,    30,
     1740     222,   828,    94,   976,  1171,   150,   696,   215,   263,  1177,
     1741     840,    66,    60,   145,   918,    94,   834,   151,   108,   392,
     1742     919,   393,   920,   156,   738,   829,   475,   477,   394,   935,
     1743     119,   185,   672,   674,    94,   400,    46,    94,   160,    46,
     1744     395,   396,    66,    60,   749,    46,   397,   668,   120,   401,
     1745     108,   750,   398,   198,   830,    53,   112,  1429,  1159,  1160,
     1746     402,   596,   108,    67,  1189,   404,   677,  1167,   169,  1234,
     1747     146,  -218,  -218,  1436,   681,   147,    46,   148,   158,   766,
     1748      30,  1414,   254,   565,    46,   371,    53,   139,   156,    46,
     1749     143,   367,   418,  1168,    67,    30,  1235,   199,    30,  1168,
     1750     770,   372,   628,   160,   476,    30,   632,   744,   439,  1185,
     1751     471,   249,   421,    46,    46,    94,   158,   566,   206,  1378,
     1752    1379,   216,   318,   666,   152,   757,   208,   460,    94,    46,
     1753     735,   334,   872,   873,   828,   149,  -218,    46,   844,   158,
     1754    1414,   165,   847,  1176,   150,  1161,    46,   528,   890,    46,
     1755     146,   435,   391,   185,    74,   147,   151,   148,   829,   248,
     1756     173,   404,   412,   864,   404,    30,  1418,   867,   108,   481,
     1757     463,   404,   663,   587,  1077,   476,    94,   465,   177,    46,
     1758     422,    95,   163,  1380,   426,    74,   664,   830,    94,   832,
     1759     810,   167,  1161,    46,    46,  1005,   158,   567,    47,   427,
     1760      46,  1111,   337,  1017,   729,   410,   833,    46,  1112,   609,
     1761     257,   843,    30,   258,   318,   448,   701,   516,    94,   994,
     1762     197,   692,   942,   104,   104,  1129,   828,  1187,   429,   841,
     1763     453,   601,   479,  1307,  1484,   694,  1378,  1379,   437,  1309,
     1764    1308,   834,  1177,  1418,   108,  1018,   426,   163,  1418,   488,
     1765     829,  1483,   108,   663,   104,    46,  1497,   367,    66,    60,
     1766    1191,   427,  -274,  1418,   472,   243,  1492,   664,   521,   471,
     1767    1418,   156,   433,  1496,    46,    46,   848,   380,   601,   830,
     1768     434,   322,   776,   523,   655,  -109,   160,   248,   471,   104,
     1769    1313,    46,  1365,   381,    94,    46,   471,  1159,  1160,   246,
     1770    1389,  1069,    53,  1070,  1161,   520,  -109,   832,   108,  -498,
     1771      67,   997,   670,   596,   603,   586,   911,   675,   593,   260,
     1772     431,    46,   -10,   108,   833,   136,   137,   108,   857,   136,
     1773     234,    46,   817,   367,  1459,  1403,  1404,   626,   172,   576,
     1774    1464,   630,   596,   428,   334,   577,  1315,   596,   108,    46,
     1775     136,   137,   840,   383,    46,  1479,    46,   248,   324,   834,
     1776    1486,   337,   385,   235,   239,   870,   870,   870,   236,   384,
     1777     185,   682,  -424,   322,   483,   866,  1346,   577,   386,  -425,
     1778      46,   500,   870,  1177,   325,   519,   877,   921,   172,   505,
     1779    1177,   172,   272,  1021,  1147,  1149,   110,   387,   318,   318,
     1780     717,    74,   555,   556,    46,   428,    74,   208,   729,   934,
     1781    1409,   505,    46,   388,   367,   702,    46,  1080,    95,   693,
     1782      46,   498,   274,   472,   894,   448,  1125,   882,   448,  1177,
     1783     163,   703,   275,  1230,   448,    47,   172,   557,   558,  1099,
     1784     453,   754,   472,   453,   609,   392,   113,   393,   173,   453,
     1785     472,   679,   704,   860,   394,    94,   870,   861,   771,   603,
     1786     862,   754,   400,   777,   863,   629,   395,   396,   705,   633,
     1787     104,   488,   397,   318,   702,   488,   401,   598,   398,  1016,
     1788    1085,   704,   729,  1096,  1344,   721,   521,   728,   696,   521,
     1789     914,   318,   521,  1174,   726,    66,    60,   915,   172,   988,
     1790     276,   523,  1018,   334,   523,  1174,   548,   523,   365,  1175,
     1791     465,   549,   550,   366,  1300,   671,   673,  1442,   326,  1302,
     1792      46,  1291,   337,   520,  1442,   108,   520,   136,   137,   520,
     1793    1301,  1085,    46,   225,    46,  1303,   208,   226,   471,    53,
     1794     230,   569,   232,   404,   719,   870,   762,    67,   892,   241,
     1795     720,   570,   172,    46,   327,  1388,   318,   322,   322,   172,
     1796     999,   741,  1347,  1480,   817,    74,   742,   815,   862,    46,
     1797     593,   827,  1095,   603,   328,  -102,   764,  1031,   404,  -102,
     1798     939,   891,    46,   893,    74,    46,   765,   551,   552,   701,
     1799    1016,  -109,    74,  -109,  1029,   751,   337,  -109,   752,   856,
     1800     819,   758,   370,   519,   593,   717,   519,  1332,   329,   519,
     1801     865,  1333,  -109,  -109,  1074,   943,   883,   601,   642,    46,
     1802     330,    46,   884,    36,   736,   944,   172,    39,   382,  1444,
     1803     737,  1445,   322,   378,    40,    41,   559,   560,    74,   871,
     1804     871,   871,  -449,   172,  -449,   746,   402,   172,  -449,   938,
     1805     322,   747,  1107,   817,   762,   989,   871,   761,   917,    42,
     1806     693,  1036,   799,   762,   334,    46,    46,   905,   390,   144,
     1807     907,   984,  1481,   762,   225,   996,   762,   985,   419,    46,
     1808     138,   720,  1222,  1340,   903,   434,   448,   420,   577,   762,
     1809    1128,   728,   472,   910,  1341,   663,  1343,   912,   726,   424,
     1810     762,   453,   762,   692,   827,   603,   442,   104,   172,   664,
     1811      36,   455,   170,   171,    39,   322,   488,   694,   918,  1348,
     1812     458,    40,    41,   596,   919,   762,   920,   859,   461,   598,
     1813     871,   237,   240,   211,   472,   462,  1399,   717,   334,   108,
     1814    1031,    36,  1400,   874,   484,    39,   366,   717,  1419,  1500,
     1815     238,   159,    40,    41,   762,   577,   889,    46,   858,   248,
     1816     324,   404,   717,   598,   493,   728,   494,   190,   512,    46,
     1817     213,   528,   726,   223,   553,   554,   208,   733,   509,     8,
     1818       9,    10,    11,    12,   211,   524,   108,   734,   136,   137,
     1819     208,   526,   527,   324,   404,   998,   827,   561,   126,   815,
     1820     127,   128,   129,   547,   562,   578,    30,   404,   603,  1224,
     1821     563,   505,   225,  -275,   230,   581,  1056,   404,  1172,   871,
     1822       8,     9,    10,    11,    12,   817,   895,   211,   404,    33,
     1823     564,   898,   819,   404,    74,   567,   529,   530,   531,   527,
     1824     333,    46,   787,   788,   789,   790,  -421,    30,   412,   659,
     1825     404,   159,   585,   500,    46,   481,   324,   404,   729,   532,
     1826     588,   533,    46,   534,   368,   638,  1263,  1264,   505,   505,
     1827      33,  1131,   172,   404,   656,   527,    74,   841,   324,   601,
     1828      46,   208,  1314,  1316,  1317,  1282,  1283,   211,   815,   159,
     1829     457,   657,   448,   693,  1100,  1143,   665,   404,    66,    60,
     1830     225,   693,  1146,   667,   601,   172,    36,   453,   170,   171,
     1831      39,  1121,   159,  1148,   754,   601,  1121,    40,    41,   603,
     1832    1210,   172,   404,   658,   436,   211,  1151,  1079,   925,   211,
     1833     925,   488,  1102,   318,   172,  1437,  1438,   729,  1378,  1379,
     1834     783,   784,    53,   685,     2,   202,     4,     5,     6,     7,
     1835      67,   785,   786,   791,   792,   717,   717,   660,   661,   662,
     1836    1058,   253,   708,   748,  1121,   710,  -222,   759,   763,    63,
     1837     114,   767,   820,   -12,  1056,   822,   824,  1186,  1188,  1190,
     1838     856,   835,     2,   202,     4,     5,     6,     7,   879,   880,
     1839     886,   285,   906,   908,   913,   688,   909,  1217,   960,  -398,
     1840      63,   142,    34,   737,    35,   933,  -502,  1471,  1101,   947,
     1841     224,   717,   717,   157,   211,   954,     8,     9,    10,    11,
     1842      12,   956,   961,   965,   966,   643,   968,  1158,   969,   970,
     1843     368,   172,   971,   337,    46,   217,   980,   991,   992,   993,
     1844      34,    74,    35,    30,  1007,  1008,  1085,  1009,   780,   781,
     1845     782,  1010,  1011,  1179,   472,  1012,  1013,  1024,  -386,   448,
     1846     815,  -385,  1071,  1082,    -3,  1038,    33,   434,  1081,  1193,
     1847    1083,    36,   255,  1084,   453,    39,  1091,  1411,  1089,   505,
     1848    1073,  1088,    40,    41,  1092,  1090,  1098,  1108,  1109,   762,
     1849    1110,   527,   322,   211,   974,  1113,  1120,    53,  1117,  1141,
     1850    1164,  1162,  1163,  1165,   706,    67,   368,    42,  1166,   457,
     1851     104,  1180,  1181,   323,  1183,  1184,  1192,   144,  1182,  1198,
     1852     215,   255,   344,  1196,    -3,  1197,  1203,  1208,    46,  1056,
     1853    1214,  1225,  1223,   493,  1218,  1457,  1411,   505,   505,   858,
     1854    1228,   728,   739,   211,   743,  1232,  1236,  1239,   726,  1296,
     1855    1241,   399,  1243,  1244,  1249,  1273,   210,  1245,  1246,  1247,
     1856    1100,  1256,  1265,  1121,  1121,  1121,   417,  1266,  1276,   142,
     1857     423,  1277,  1342,  1490,   157,   334,   104,  1290,   717,  1298,
     1858       2,   202,     4,     5,     6,     7,   717,   717,   717,  1279,
     1859     904,  1280,  1287,   172,  1304,   440,    74,  1306,  1102,   443,
     1860    1310,   444,  1312,  1318,  1311,  1319,  1320,   210,  1322,  1328,
     1861     459,    66,    60,  1329,  1330,  1331,    63,  1056,  1338,  1339,
     1862    1349,   473,  1283,   527,  1352,  1354,   392,   726,   393,  1355,
     1863     717,   480,  1357,   206,   216,   394,  1362,    72,    34,   423,
     1864      35,   208,   400,  1365,  1361,  1372,  1100,   395,   396,  1373,
     1865     210,  -387,  1376,   397,  1397,    53,   401,  1387,  1391,   398,
     1866    1393,   663,  1401,    67,   211,   104,  1335,   975,    72,  1056,
     1867    1398,  1410,  1056,  1058,  1101,   664,  1271,  1272,  1420,  1274,
     1868    1405,  1406,  1407,  1408,  1102,  1278,  1179,   472,  1281,  1422,
     1869      46,    46,   211,   878,  1333,  1121,  1121,   211,  1415,  1350,
     1870    1424,  1426,  1428,   218,   718,   255,  1430,  1431,   594,  1443,
     1871     210,  1056,  1432,   527,   622,  1451,  1056,  1453,  1455,  1456,
     1872    1463,  1475,   990,  1478,  1485,   433,  1487,   627,  1493,  1499,
     1873      53,   627,   995,   434,   255,   793,  1100,   901,    67,  1056,
     1874     794,   796,   795,  1231,  1470,   797,  1289,  1006,   210,  1390,
     1875    1458,  1501,   210,   929,    74,  1351,  1474,   146,  1226,   932,
     1876    1101,  1353,   147,  1227,   148,  1202,  1446,  1086,   712,   683,
     1877     684,   926,   812,    36,  1102,   170,   171,    39,  1087,  1472,
     1878     473,    46,  1116,   211,    40,    41,   885,  1037,  1056,   949,
     1879     347,  1097,  1299,  1056,   344,   731,   957,   211,   802,   473,
     1880      46,    46,   104,   158,  1449,   803,  1056,   473,  1056,   370,
     1881       0,     0,  1056,  1377,   804,  1056,  1385,     0,     0,  1450,
     1882      46,  1056,   367,   104,     0,  1056,     0,  1179,   472,    74,
     1883       0,  1449,     0,   713,  1179,   472,   423,   210,  1384,   479,
     1884    1447,     0,   104,     0,     0,    36,  1450,   179,   180,    39,
     1885    1101,   727,     0,    63,   318,  1417,    40,    41,     0,     0,
     1886    1421,   423,     0,   441,  1396,   423,     0,  1473,     0,     0,
     1887       0,    53,     0,  1179,   472,     0,     0,     0,    53,    67,
     1888     172,   181,     0,  1435,    72,     0,    67,     0,   211,    72,
     1889       0,   182,     0,   255,   344,     0,     0,     0,   104,     0,
     1890       0,   527,    36,  1498,   179,   180,    39,     0,     0,   718,
     1891       0,     0,     0,    40,    41,  1503,   210,    53,     8,     9,
     1892      10,    11,    12,     0,     0,    67,     0,     0,   104,     0,
     1893       0,   643,     0,     0,     0,     0,     0,  1041,   261,   805,
     1894    1156,  1157,   509,     0,     0,    30,     0,     0,   262,     0,
     1895    1491,     0,     0,     0,     0,    75,  1491,   627,   818,     0,
     1896     594,     0,     0,     0,     0,  1491,   210,     0,    33,  1491,
     1897      74,   837,     0,     0,     0,     0,     0,    74,     0,     0,
     1898       0,     0,   218,     0,     0,     0,    75,     0,     0,   594,
     1899       0,     0,     0,     0,   594,     0,  1205,  1206,     0,     0,
     1900     627,     0,     0,   344,   344,   344,     0,     0,     0,   569,
     1901       0,   404,     0,   322,     0,     0,    74,     0,   104,   570,
     1902     344,   219,   209,     0,     0,   643,     0,     0,     0,     0,
     1903       0,     0,   228,     0,    54,    54,     0,     0,   713,   104,
     1904       0,   718,   172,     0,     0,     0,   104,     0,    72,   473,
     1905       0,   718,    36,   527,   255,   727,    39,     0,   922,     0,
     1906       0,  -276,   347,    40,    41,    54,   718,    72,     8,     9,
     1907      10,    11,    12,   209,   211,    72,     0,     0,     0,     0,
     1908       0,     0,     0,     0,     0,   104,     0,   210,   825,     0,
     1909     601,   473,     0,     0,   344,    30,     0,    54,   602,     0,
     1910      54,   347,  -277,   948,     0,     0,   423,     0,   349,     8,
     1911       9,    10,    11,    12,     0,   210,   209,     0,    33,   347,
     1912     210,    72,  1041,     0,     0,     0,     0,     0,   255,   727,
     1913       0,     0,     0,     0,   973,     0,    30,     0,     0,     0,
     1914       0,     0,     8,     9,    10,    11,    12,     0,     8,     9,
     1915      10,    11,    12,     0,     0,     0,     0,     0,   406,    33,
     1916       0,     0,   347,  1321,     0,   414,     0,     0,     0,    30,
     1917     713,  1323,  1324,  1325,     0,    30,   209,     0,     0,     0,
     1918     713,     0,     0,   344,     0,   627,     0,   342,  1004,   627,
     1919     818,     0,    33,     0,     0,   713,     0,    36,    33,   179,
     1920     180,    39,    75,     0,     0,  1015,   210,    75,    40,    41,
     1921       0,     0,     0,     0,   209,  1356,     0,     0,   209,     0,
     1922     210,     0,     0,    77,     0,  1269,   347,     0,     0,     0,
     1923       0,     0,     0,   600,   499,   601,     0,   406,     0,   764,
     1924       0,   404,     0,   602,     0,     0,     0,     0,   211,   765,
     1925       0,    54,     0,     0,    77,     0,    63,     0,     0,   718,
     1926     718,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1927       0,   347,   347,   347,     0,     0,     0,     0,   627,     0,
     1928       0,    54,     0,     0,     0,     0,     0,     0,   347,   220,
     1929       0,   575,     0,     8,     9,    10,    11,    12,     0,   579,
     1930     219,     0,   582,   209,     0,     0,   347,     0,     0,     0,
     1931       0,   210,     0,  1094,     0,   718,   718,    72,     0,     0,
     1932      30,   423,   114,   347,     0,     0,     0,    36,     0,   179,
     1933     180,    39,     0,   121,   124,   125,   344,     0,    40,    41,
     1934     211,     0,     0,    33,   535,   536,   537,   538,   539,   540,
     1935     541,   542,   543,   544,     0,     0,     0,     0,     0,    72,
     1936       0,     0,   347,   687,   406,   404,    75,     0,   414,     0,
     1937     594,   688,     0,   689,     0,     0,   350,   545,     0,     0,
     1938     349,     0,   209,   142,   943,    75,   601,     0,   713,   713,
     1939       0,   344,   344,    75,   944,     0,     0,   347,     0,   209,
     1940       0,     0,     0,     0,   250,     0,   251,     0,     0,     0,
     1941       0,  1178,     0,     0,     0,     0,     0,     0,     0,   349,
     1942       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     1943       0,     0,   209,     0,     0,     0,     0,   349,   347,    75,
     1944       0,     0,     0,     0,   713,   713,     0,     0,   347,    30,
     1945     627,   347,   406,  1297,     0,     0,   218,     0,   347,   342,
     1946       0,     0,     0,   347,     0,     0,     0,     0,     0,     0,
     1947      77,     0,    33,     0,     0,    77,     0,    36,     0,     0,
     1948     349,    39,   718,     0,     0,   389,     0,     0,    40,    41,
     1949     718,   718,   718,     0,     0,   408,   409,   210,     0,     0,
     1950     413,     0,   415,   416,     0,   727,     0,     0,     0,     0,
     1951       0,     0,     0,   733,     0,     0,     0,     0,    54,     0,
     1952       0,     0,     0,   734,    72,    36,     0,   179,   180,    39,
     1953       0,     0,     0,     0,   718,     0,    40,    41,     0,     0,
     1954       0,    84,   575,   575,   349,     0,     0,     0,  1270,     0,
     1955       0,     0,     0,   209,     0,     0,     0,     0,     0,   342,
     1956       0,   600,     0,   601,     0,   255,     0,     0,   220,    63,
     1957       0,   602,    84,     0,     0,     0,     0,     0,     0,     0,
     1958       0,   209,   713,     0,   727,     0,   209,     0,   114,   349,
     1959     349,   349,     0,     0,     0,     0,     0,     0,     0,     0,
     1960       0,     0,     0,     0,   347,     0,   349,   221,     0,     0,
     1961       0,   713,     0,     0,     0,     0,     0,     0,     0,   713,
     1962     713,   713,     0,   342,   349,     0,     0,     0,     0,   896,
     1963     344,   344,     0,   899,    77,    75,     0,     0,     0,     0,
     1964       0,   349,     0,     0,  1178,     0,     0,     0,   350,     0,
     1965       0,     0,     0,    77,     0,     0,   347,   347,     0,   347,
     1966     347,    77,     0,   713,     0,     0,   406,     0,   342,   342,
     1967     342,   210,   209,     0,   114,     0,     0,    75,     0,    72,
     1968     349,     0,     0,     0,     0,   342,   209,   350,     0,     0,
     1969       0,     0,     0,     0,   357,     0,     0,     0,     0,     0,
     1970       0,     0,     0,     0,     0,   350,   499,    77,     0,     0,
     1971       0,     0,   347,   347,     0,   349,     0,     0,     0,     0,
     1972       0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     1973      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     1974      23,    24,     0,   344,    25,    26,    27,     0,   350,     0,
     1975       0,     0,    30,   446,     0,     0,   349,     0,     0,   342,
     1976       0,     0,     0,   210,   114,     0,   349,     0,     0,   349,
     1977       0,     0,     0,   347,   219,    33,   349,   209,   575,     0,
     1978       0,   349,    37,    38,     0,  1178,     0,     0,    84,     0,
     1979       0,     0,  1178,    84,     0,     0,     0,     0,     0,     0,
    20011980       0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2002       12,     0,   351,     0,     0,     0,     0,    -3,   348,     0,
    2003        0,   358,   358,   358,     0,     0,   348,   348,   348,     0,
    2004      351,     0,     0,    30,     0,  1221,     0,   348,   348,   358,
    2005        0,    77,     0,     0,     0,     0,     0,   351,     0,     0,
    2006      350,    72,     0,   164,     0,   168,    33,   358,   174,   175,
    2007      176,    36,   178,   179,   180,    39,     0,     0,    84,     0,
    2008      348,     0,    40,    41,   358,     0,     0,   229,     0,     0,
    2009        0,     0,     0,    77,     0,     0,   351,     0,     0,   244,
    2010      245,     0,     0,     0,     0,     0,     0,   690,     0,   405,
    2011        0,     0,   350,   350,     0,   350,   350,   692,     0,   209,
    2012       84,     0,     0,   358,     0,     0,     0,     0,     0,     0,
    2013      172,     0,   351,     0,     0,    75,     0,     0,     0,     0,
    2014        0,     0,     0,     0,     0,     0,     0,   209,     0,   529,
    2015        0,     0,   209,     0,   210,     0,     0,     0,     0,   358,
    2016        0,     0,     0,     0,   348,     0,     0,     0,   350,   350,
    2017        0,     0,     0,   351,     0,     0,     0,     8,     9,    10,
    2018       11,    12,     0,   351,     0,     0,   351,     0,     0,     0,
    2019      511,   220,     0,   351,     0,     0,     0,     0,   351,     0,
    2020      358,     0,     0,     0,    30,     0,     0,     0,    72,     0,
    2021      358,     0,     0,   358,     0,    72,     0,     0,   221,     0,
    2022      358,     0,     0,     0,     0,   358,     0,    33,     0,     0,
    2023        0,   350,    36,     0,   179,   180,    39,     0,     0,   209,
    2024        0,     0,     0,    40,    41,     0,     0,     0,   210,     0,
    2025        0,     0,     0,   209,     0,     0,     0,     0,     0,    72,
    2026       77,     8,     9,    10,    11,    12,     0,     0,  1491,     0,
    2027      405,     0,     0,   501,   219,     0,     0,     0,  1492,     0,
    2028        0,     0,     0,     0,     0,     0,     0,    84,    30,     0,
    2029        0,     0,     0,     0,     0,    75,   172,     0,     0,     0,
    2030        0,     0,     0,   529,     0,     0,     0,     0,   350,     0,
    2031      350,    33,     0,     0,     0,     0,    36,     0,   179,   180,
    2032       39,     0,     0,     0,     0,     0,     0,    40,    41,     0,
    2033        0,     0,   123,   123,   123,     0,     0,     0,     0,   350,
    2034        0,     0,     0,   351,     0,   209,     0,   350,   350,   350,
    2035        0,     0,   261,   594,   601,     0,     0,     0,   350,   350,
    2036        0,     0,   262,     0,     0,   625,   626,     0,     0,     0,
    2037      358,     0,    75,     0,     0,     0,     0,     0,     0,     0,
    2038        0,     0,   121,   124,   125,     0,     0,     0,     0,     0,
    2039        0,   350,     0,     0,   162,   351,   351,     0,   351,   351,
    2040        0,     0,     0,   123,     0,   123,     0,     8,     9,    10,
    2041       11,    12,     0,   214,     0,     0,     0,     0,    77,     0,
    2042        0,     0,   358,   358,     0,   358,   358,     0,     0,   271,
    2043        0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
    2044        0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
    2045        0,   351,   351,   250,     0,   251,     0,    33,     0,   162,
    2046        0,     0,    36,     0,   268,     0,    39,     0,     0,     0,
    2047        0,     0,     0,    40,    41,   350,     0,     0,   358,   358,
     1981      12,     0,   350,     0,     0,     0,   218,     0,   447,     0,
     1982       0,     0,   700,     0,     0,     0,   109,     0,     0,     0,
     1983       0,  1178,    36,    30,   179,   180,    39,    72,  1488,     0,
     1984       0,     0,    75,    40,    41,     0,     0,     0,   342,     0,
     1985     347,     0,   347,     0,     0,   342,    33,   350,   350,   350,
     1986       0,    36,     0,   179,   180,    39,     0,     0,   687,     0,
     1987     404,     0,    40,    41,   350,     0,     0,     0,   689,   347,
     1988       0,   807,   808,     0,     0,     0,   221,   347,   347,   347,
     1989     406,     0,   350,     0,     0,     0,     0,   181,   347,   347,
     1990       0,     0,     0,    77,     0,     0,     0,   182,     0,   350,
     1991       0,   842,    72,     0,   845,   846,     0,   849,     0,   851,
     1992     852,    54,   349,     0,   853,   854,     0,     0,     0,     0,
     1993       0,   347,     0,     0,     0,     0,     0,     0,     0,     0,
     1994       0,     0,     0,     0,     0,    77,     0,     0,   350,     0,
     1995       0,     0,    84,     0,     0,     0,    36,     0,   179,   180,
     1996      39,     0,     0,   209,  1132,     0,   357,    40,    41,     0,
     1997       0,    84,     0,     0,   349,   349,     0,   349,   349,    84,
     1998    1144,     0,     0,   350,   164,     0,   168,    54,     0,   174,
     1999     175,   176,  1468,   178,   404,     0,     0,    75,     0,     0,
     2000       0,   342,  1469,     0,     0,   357,   927,   928,   229,     0,
     2001       0,   347,   930,     8,     9,    10,    11,    12,     0,     0,
     2002     244,   245,     0,   357,   350,    84,     0,     0,     0,     0,
     2003     349,   349,     0,     0,   350,     0,     0,   350,     0,     0,
     2004      30,     0,   220,     0,   350,     0,     0,     0,     0,   350,
     2005       0,     0,     0,    72,     0,  1211,   342,   342,     0,     0,
     2006      72,     0,     0,    33,     0,     0,   357,     0,    36,     0,
     2007     179,   180,    39,     0,     0,     0,    54,     0,     0,    40,
     2008      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2009       0,   349,     0,     0,     0,     0,     0,     0,     0,    72,
     2010       0,     0,     0,     0,   687,     0,   404,     0,     0,     0,
     2011      77,     0,     0,     0,   689,     0,     0,     0,     0,     0,
     2012       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2013     357,     0,     0,     0,   219,     0,     0,   209,     8,     9,
     2014      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2015      20,    21,    22,    23,    24,    75,     0,    25,    26,    27,
     2016       0,     0,     0,     0,     0,    30,   446,     0,   349,     0,
     2017     349,     0,     0,     0,     0,   357,   357,   357,     0,     0,
     2018       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2019     350,     0,   357,     0,     0,    37,    38,   349,     0,     0,
     2020       0,     0,     0,     0,     0,   349,   349,   349,     0,     0,
     2021     357,     0,    54,    54,     0,     0,   349,   349,     0,     0,
     2022       0,    84,     0,     0,     0,     0,     0,   357,     0,   209,
     2023      75,   447,     0,     0,    54,   931,     0,     0,     0,   109,
     2024       0,     0,   350,   350,     0,   350,   350,     0,     0,   349,
     2025       0,     0,     0,    54,     0,     0,     0,     0,     0,     0,
     2026       0,     0,     0,    84,     0,    77,   357,     0,     0,     0,
     2027       0,     0,     0,   592,   599,     0,     0,     0,     0,     0,
     2028       0,     0,     0,     0,     0,   623,   624,     0,     0,     0,
     2029       0,     0,     0,     0,     0,   342,   342,     0,   350,   350,
     2030       0,   357,     0,     0,    54,     0,     0,     0,     0,    54,
     2031       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2032      17,    18,    19,    20,    21,    22,    23,    24,  -278,   349,
     2033      25,    26,    27,     0,     0,     0,     0,     0,    30,    54,
     2034       0,     0,   357,     0,     0,     0,     0,     0,     0,     0,
     2035       0,     0,   357,     0,     0,   357,     0,     0,     0,   350,
     2036     221,    33,   357,     0,     0,     0,     0,   357,    37,    38,
     2037       0,    75,  -278,     0,     0,     0,     0,     0,    75,     0,
     2038       0,     0,     0,     0,     0,  1207,     0,     8,     9,    10,
     2039      11,    12,     0,     0,     0,     0,     0,     0,     0,     0,
     2040       0,     0,   220,     0,   333,     0,     0,     0,   342,     0,
     2041       0,     0,   109,     0,    30,     0,     0,    75,     0,     0,
     2042       0,     0,     0,    77,     0,     0,     0,     0,    84,    54,
     2043       0,     0,     0,     0,     0,     0,   350,    33,   350,     0,
     2044       0,     0,    36,     0,   179,   180,    39,     0,     0,     0,
     2045      54,     0,     0,    40,    41,     0,     0,    54,     0,     0,
     2046       0,     0,     0,     0,     0,   350,     0,     0,     0,     0,
     2047       0,     0,     0,   350,   350,   350,     0,     0,  1468,     0,
     2048     404,     0,     0,     0,   350,   350,     0,     0,  1469,     0,
     2049       0,     0,     0,     0,     0,     0,    54,     0,    77,     0,
     2050       0,     0,     0,     0,     0,  1288,     0,     0,   357,     0,
     2051       0,     0,     0,     0,     0,     0,     0,   350,     0,  1014,
     2052       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2053       0,     0,     0,     0,     0,     0,   162,     0,     0,     0,
     2054       0,     0,     0,     0,     0,     0,     0,     0,   277,    30,
     2055     278,     0,     0,     0,     0,   214,     0,     0,     0,     0,
     2056     357,   357,     0,   357,   357,     0,     0,     0,     0,     0,
     2057       0,   279,    33,     0,     0,     0,     0,   280,     0,     0,
     2058       0,   281,     0,    84,   282,   283,   284,   285,    40,    41,
     2059       0,   286,   287,     0,     0,     0,     0,   350,     0,   288,
     2060       0,   162,     0,     0,     0,     0,   268,     0,     0,     0,
     2061       0,     0,     0,   289,     0,   373,   357,   357,     0,     0,
     2062       0,     0,   291,   813,   293,   294,   295,   296,     0,     0,
     2063       0,     0,     0,     0,     0,   162,     0,     0,     0,    77,
     2064       0,     0,     0,     0,     0,   363,    77,     0,   936,   369,
     2065     937,     0,     0,     0,     0,     0,     0,   940,   941,     0,
     2066       0,     0,   946,     0,  1152,     0,     0,     8,     9,    10,
     2067      11,    12,     0,     0,   951,     0,     0,   357,     0,   955,
     2068       0,     0,     0,     0,     0,    77,     0,     0,     0,     0,
     2069       0,     0,     0,   277,    30,   278,     0,   162,     0,     0,
     2070       0,     0,     0,   981,     0,     0,     0,     0,     0,   214,
     2071       0,     0,     0,     0,     0,     0,   279,    33,     0,     0,
     2072     221,     0,   280,     0,     0,     0,   281,   162,   454,   282,
     2073     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2074       0,    84,     0,     0,   288,     0,     0,   592,     0,     0,
     2075       0,   369,     0,     0,   357,     0,   357,     0,   289,   162,
     2076     373,     0,     0,     0,     0,     0,     0,   291,  1153,   293,
     2077     294,   295,   296,     0,     0,     0,     0,     0,     0,     0,
     2078       0,   454,     0,   357,   162,     0,     0,     0,     0,     0,
     2079       0,   357,   357,   357,     0,     0,     0,     0,     0,     0,
     2080       0,     0,   357,   357,  1025,  1026,  1027,  1028,     0,  1030,
     2081       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
     2082       0,     0,     0,     0,  1072,     0,     0,     0,     0,     0,
     2083       0,   597,     0,     0,     0,   357,   621,     0,  1078,     0,
     2084       0,     0,     0,     1,     2,   202,     4,     5,     6,     7,
     2085       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2086      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2087      26,    27,    28,     0,     0,    29,  1093,    30,     0,     0,
     2088       0,     0,   123,   123,   123,     0,     0,     0,     0,     0,
     2089       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2090      33,     0,    34,     0,    35,     0,     0,    37,    38,     0,
     2091       0,   162,   162,  1118,     0,   357,     0,   363,     0,     0,
     2092    1126,     0,     0,     0,  1130,     0,     0,     0,     0,  1134,
     2093       0,  1135,     0,     0,     0,  1137,  1138,  1139,   454,     0,
     2094    1142,   454,     0,    43,     0,     0,     0,   454,     0,  1154,
     2095       0,   109,     0,   123,     0,   123,     0,    84,     0,     0,
     2096       0,     0,     0,     0,    84,     0,     0,  1169,  1170,     8,
     2097       9,    10,    11,    12,   730,     0,     0,     0,     0,   271,
     2098       0,     0,     0,     0,     0,     0,   162,     0,     0,     0,
     2099       0,     0,  1199,     0,     0,  1201,    30,     0,     0,   454,
     2100       0,     0,   454,    84,   162,   454,     0,     0,     0,     0,
     2101       0,     0,     0,     0,     0,     0,     0,   363,     0,    33,
     2102       0,     0,     0,     0,    36,     0,   179,   180,    39,     0,
     2103       0,     0,     0,  1216,   123,    40,    41,     0,     0,  1220,
     2104    1221,     0,   123,     0,   123,   123,     0,     0,  1229,   123,
     2105       0,   123,   123,  1233,     0,     0,  1237,     0,  1238,     0,
     2106     261,  1240,     0,     0,     0,     0,     0,     0,     0,   162,
     2107     262,     0,     0,     0,  1248,     0,     0,     0,     0,     0,
     2108       0,   363,     0,   597,     0,     0,   823,  1255,     0,  1257,
     2109    1258,  1259,  1260,     0,     0,     0,     0,     0,     0,     0,
     2110       0,     0,     0,     0,     0,  1267,     0,  1268,     0,     0,
     2111       0,   168,   597,     0,     0,     0,     0,   597,     0,     0,
     2112       0,   123,     0,     0,     0,     0,   363,   363,   363,     0,
     2113       0,     0,     0,     0,     0,     0,     0,     0,     0,  1292,
     2114    1293,     0,     0,   363,     0,     0,     0,   207,     0,     0,
     2115       0,     0,     0,     0,     0,     0,     0,   227,     0,   231,
     2116       0,   233,     0,     0,     0,     0,     0,     0,   242,     0,
     2117       0,     0,     0,     0,     0,     0,     0,     0,   730,     0,
     2118       0,     0,     0,     0,     0,     0,     0,  1326,  1327,     0,
     2119       0,     0,     0,     0,     0,     0,     0,  1337,   207,   454,
     2120     231,   233,   242,     0,     0,     0,     0,     0,     0,     0,
     2121       0,     0,     0,     0,     0,     0,     0,   363,     0,   945,
     2122       0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
     2123       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2124       0,   207,     0,  1364,     0,     0,     0,     0,     0,     0,
     2125       0,     0,   730,     0,     0,  1368,     0,  1369,  1370,  1371,
     2126       0,     0,     0,     0,     0,     0,     0,     0,     0,  1375,
     2127       0,     0,     0,     0,     0,   153,     0,     0,  1386,     0,
     2128       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2129    1394,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2130       0,   207,     0,   231,   233,   242,   363,     0,     0,     0,
     2131     621,     0,     0,   363,     0,     0,     0,     0,     0,     0,
     2132       0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
     2133       0,   252,     0,     0,     0,     0,     0,  1433,  1434,   207,
     2134       0,     0,     0,   207,     0,     0,     0,     0,     0,     0,
     2135    1439,     0,     0,     0,     0,     0,     0,  1439,     0,   497,
     2136       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2137      18,    19,    20,    21,    22,    23,    24,  -278,     0,    25,
     2138      26,    27,  1467,     0,     0,     0,   153,    30,     0,     0,
     2139       0,     0,     0,     0,     0,     0,     0,     0,     0,   379,
     2140       0,     0,     0,     0,     0,   454,     0,   207,  1489,     0,
     2141      33,     0,     0,     0,     0,    36,     0,   331,   332,    39,
     2142       0,  -278,   411,     0,     0,     0,    40,    41,   207,     0,
     2143     123,   123,  1502,   231,   233,     0,   425,  1504,     0,     0,
     2144       0,   242,     0,     0,     0,   430,   162,     0,     0,     0,
     2145       0,   634,     0,   333,     0,   438,     0,     0,     0,   363,
     2146     123,   625,     0,   123,   123,     0,   123,     0,   123,   123,
     2147       0,     0,     0,   123,   123,     0,     0,     0,     0,     0,
     2148     464,     0,     0,   207,     0,   474,     0,     0,     0,     0,
     2149       0,     0,     0,   597,     0,     0,     0,     0,   482,     0,
     2150       0,   207,     0,     0,   492,     0,   496,   207,     0,     0,
     2151       0,     0,     0,     0,   363,   363,     0,     0,     0,     0,
     2152       0,     0,   525,     0,   207,     0,     0,   207,   207,     0,
     2153       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2154       0,     0,     0,   207,     0,     0,     0,     0,     0,     0,
     2155     123,     0,     0,     0,     0,   123,   123,   207,     0,     0,
     2156       0,   123,     0,     0,   207,   584,     0,     0,     0,     0,
     2157     589,     0,   454,   201,     2,   202,     4,     5,     6,     7,
     2158       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2159      18,    19,    20,    21,    22,    23,    24,     0,   635,    25,
     2160      26,    27,   636,   637,     0,   639,     0,    30,     0,     0,
     2161       0,   649,   650,     0,   651,   652,     0,   653,     0,   654,
     2162       0,     0,     0,     0,     0,     0,     0,     0,   730,     0,
     2163      33,     0,    34,     0,    35,    36,   584,   203,    38,    39,
     2164       0,     0,     0,     0,   669,     0,    40,    41,     0,     0,
     2165       0,     0,     0,   277,     0,   278,     0,     0,     0,     0,
     2166       0,     0,     0,     0,     0,     0,     0,     0,   680,     0,
     2167     214,    42,     0,   204,     0,     0,   279,     0,   207,   686,
     2168       0,   205,   280,     0,     0,     0,   281,     0,     0,   282,
     2169     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2170       0,     0,   722,     0,   288,     0,   207,   730,   725,     0,
     2171       0,   207,     0,   464,     0,     0,     0,     0,   289,     0,
     2172     373,     0,     0,     0,     0,     0,     0,   291,   375,   293,
     2173     294,   295,   296,     0,     0,     0,     0,     0,   336,   358,
     2174       0,  1194,     0,     0,     0,     0,     0,     0,     0,   760,
     2175       0,     0,     0,   363,   363,     0,     0,     0,     0,     0,
     2176       0,     0,   214,     0,     0,   775,     0,     0,     0,     0,
     2177       0,   407,     0,     0,     0,     0,     0,     0,   407,     8,
     2178       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2179      19,    20,    21,    22,    23,    24,     0,   207,    25,    26,
     2180      27,   801,     0,     0,     0,   277,    30,   278,     0,     0,
     2181     811,   207,     0,     0,     0,     0,     0,   814,     0,     0,
     2182       0,     0,   821,     0,     0,     0,     0,     0,   279,    33,
     2183       0,   497,     0,   836,   280,     0,    37,    38,   281,     0,
     2184       0,   282,   283,   284,   285,    40,    41,     0,   286,   287,
     2185     407,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2186       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2187     289,     0,   517,   876,     0,   167,     0,     0,     0,   291,
     2188     292,   293,   294,   295,   296,     0,     0,     0,     0,   207,
     2189       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2190       0,     0,   207,     0,   407,     0,     0,     0,   821,     0,
     2191       0,     0,   407,   580,     0,   407,   583,   454,     0,     0,
     2192       0,   207,     0,     0,     0,   358,     0,     0,     0,   613,
    20482193       0,     0,     0,     0,   123,     0,     0,     0,     0,     0,
    2049        0,     0,   123,   162,   123,   123,     0,     0,   736,   123,
    2050        0,   123,   123,   364,     0,     0,     0,   370,   737,     0,
    2051        0,     0,     0,     0,   351,     0,     0,     0,     0,    75,
    2052        0,     0,     0,     0,     0,   278,    75,   279,     0,     0,
    2053        0,     0,     0,     0,   390,   209,     0,     0,     0,     0,
    2054        0,   358,     0,     0,   409,   410,     0,     0,   280,   414,
    2055        0,   416,   417,     0,   281,   162,     0,   220,   282,     0,
    2056        0,   283,   284,   285,   286,    40,    41,   214,   287,   288,
    2057       75,   123,     0,     0,     0,     0,   289,     0,    77,     0,
    2058        0,     0,     0,     0,   221,   162,   456,     0,     0,     0,
    2059      290,   351,   374,   351,     0,     0,     0,     0,     0,   292,
    2060      376,   294,   295,   296,   297,    84,     0,     0,     0,   370,
    2061        0,     0,     0,  1204,     0,     0,     0,   162,   358,     0,
    2062      358,     0,   351,     0,     0,     0,     0,     0,     0,     0,
    2063      351,   351,   351,     0,     0,     0,     0,     0,     0,     0,
    2064      456,   351,   351,   162,     0,     0,     0,  1022,     0,   358,
    2065        8,     9,    10,    11,    12,    77,     0,   358,   358,   358,
     2194       0,     0,     0,     0,   454,     0,     0,     0,   631,     0,
     2195       0,   336,     0,     0,     0,     0,     0,     0,     0,     0,
     2196       0,     0,     0,   247,     0,     0,     0,   162,     0,     0,
     2197       0,     0,     0,   952,   953,     0,     0,   407,     0,     0,
     2198       0,   407,     0,     0,     0,   967,     0,     0,     0,     0,
     2199       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2200       0,     0,   982,     0,   983,     0,   207,     0,   987,     0,
     2201       0,   358,     0,     0,     0,     0,     0,     0,     0,     0,
     2202       0,     0,     0,     0,     0,     0,     0,     0,   316,     0,
     2203       0,     0,   207,     0,   407,     0,     0,     0,   340,     0,
     2204       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2205     376,     0,     0,     0,   123,     0,     0,   207,     0,     0,
     2206       0,     0,     0,     0,     0,   407,     0,     0,   358,     0,
     2207       0,     0,     0,  1019,     0,     0,     0,     0,     0,     0,
     2208    1020,     0,     0,     0,     0,   277,     0,   278,   207,     0,
     2209       0,     0,     0,  1022,     0,  1023,     0,     0,     0,   207,
     2210       0,     0,     0,     0,     0,     0,     0,   407,   279,  1035,
     2211     336,   358,     0,     0,   280,  1039,     0,     0,   281,     0,
     2212     316,   282,   283,   284,   285,    40,    41,  1075,   286,   287,
     2213    1076,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2214       0,     0,     0,     0,     0,   478,     0,     0,   589,     0,
     2215     289,     0,   373,     0,     0,   407,   407,     0,   798,   291,
     2216     375,   293,   294,   295,   296,     0,     0,     0,     0,     0,
     2217       0,     0,     0,     0,   816,   358,     0,   358,   207,     0,
     2218       0,     0,     0,     0,     0,     0,   613,     0,   613,   613,
     2219       0,     0,     0,     0,     0,   613,     0,     0,     0,     0,
     2220       0,     0,     0,     0,     0,   855,   358,     0,     0,     0,
     2221       0,   358,     0,     0,     0,     0,     0,     0,     0,     0,
     2222     358,   358,   358,     0,     0,     0,     0,     0,     0,     0,
     2223       0,     0,  1136,     0,     0,     0,     0,   358,     0,     0,
     2224       0,     0,   407,   897,     0,     0,   407,   900,     0,     0,
     2225       0,     0,     0,   902,     0,     0,     0,     0,     0,   376,
     2226       0,     0,   207,   277,     0,   278,     0,     0,     0,     0,
     2227       0,   336,   358,   407,     0,   407,     0,     0,     0,   407,
     2228       0,     0,     0,     0,     0,     0,   279,   525,     0,     0,
     2229       0,     0,   640,  1200,   136,   137,   281,     0,     0,   282,
     2230     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2231       0,   358,   613,     0,   288,     0,     0,     0,     0,     0,
     2232       0,     0,  1213,     0,     0,     0,     0,  1215,   289,     0,
     2233     641,     0,   642,   374,     0,  1219,     0,   291,   375,   293,
     2234     294,   295,   296,     0,     0,   336,   358,     0,     0,     0,
     2235     407,   407,     0,     0,   207,   504,   508,   504,   511,   724,
     2236       0,     0,     0,  1242,     0,   514,   515,     0,     0,     0,
     2237     504,   504,     0,     0,     0,  1250,     0,     0,  1251,     0,
     2238    1252,     0,   504,     0,     0,     0,     0,     0,     0,     0,
     2239       0,   407,     0,     0,  1261,  1262,     0,   756,     0,     0,
     2240     358,     0,     0,     0,     0,     0,   816,   358,     0,     0,
     2241     769,   613,     0,   613,     0,     0,  1275,   756,   504,     0,
     2242       0,     0,     0,   613,     0,     0,     0,     0,     0,     0,
     2243     778,   779,     0,     0,     0,     0,     0,     0,     0,     0,
     2244       0,     0,  1294,     0,     0,     0,     0,     0,     0,     0,
     2245       0,     0,   800,     0,   504,     0,     0,     0,     0,     0,
     2246       0,     0,   809,     0,     0,     0,     0,     0,     0,   340,
     2247       0,     0,     0,     0,   769,     0,     0,     0,     8,     9,
     2248      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2249      20,    21,    22,    23,    24,   816,     0,    25,    26,    27,
     2250       0,     0,     0,   407,     0,    30,     0,     0,   407,     0,
     2251       0,     0,     0,     0,     0,     0,   407,     0,     0,     0,
     2252       0,     0,     0,     0,   875,     0,     0,     0,    33,   613,
     2253     613,   376,  1358,     0,  1359,   203,    38,     0,     0,     0,
     2254       0,     0,     0,     0,     0,  1366,     0,  1367,     0,     0,
     2255       0,     0,     0,   358,     0,     0,     0,     0,     0,   407,
     2256       0,     0,     0,     0,     0,  1374,     0,     0,     0,     0,
     2257       0,   340,   207,     0,     0,     0,     0,   407,  1133,   267,
     2258       0,  1392,     0,     0,     0,     0,     0,   358,     0,  1395,
     2259       0,     0,  1219,   407,  1145,     0,   613,   613,  1150,     0,
    20662260       0,     0,     0,     0,     0,     0,     0,     0,   358,   358,
    2067        0,     0,     0,     0,   351,     0,   278,    30,   279,     0,
    2068        0,     0,    84,     0,     0,     0,     0,     0,     0,     0,
    2069      599,     0,     0,     0,     0,   623,     0,     0,     0,   280,
    2070       33,   358,     0,     0,     0,   281,     0,     0,     0,   282,
    2071        0,   209,   283,   284,   285,   286,    40,    41,     0,   287,
    2072      288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
    2073      942,     0,   943,     0,     0,     0,     0,     0,     0,   946,
    2074      947,   290,     0,   374,   952,     0,     0,     0,     0,     0,
    2075      292,   817,   294,   295,   296,   297,   957,     0,   351,     0,
    2076        0,   961,     0,     0,     0,     0,     0,     0,     0,     0,
    2077      162,   162,     0,     0,     0,     0,     0,   364,     0,     0,
    2078        0,     0,     0,     0,     0,   358,   989,     0,     0,     0,
    2079        0,     0,     0,     0,     0,     0,     0,     0,   456,     0,
    2080        0,   456,    77,     0,     0,   209,     0,   456,     0,    77,
    2081        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2082       18,    19,    20,    21,    22,    23,    24,  -285,     0,    84,
    2083      594,     0,     0,     0,   733,     0,    84,    30,     0,     0,
    2084        0,     0,     0,     0,     0,     0,   162,     0,     0,     0,
    2085        0,     0,     0,    77,     0,     0,     0,     0,   456,     0,
    2086       33,     0,   456,     0,   162,   456,     0,     0,     0,     0,
    2087        0,  -285,     0,     0,     0,     0,     0,   364,     0,     0,
    2088       84,     0,   123,   123,     0,     0,     0,  1033,  1034,  1035,
    2089     1036,     0,  1038,     0,     0,     0,     0,     0,     0,     0,
    2090        0,     0,     0,     0,     0,     0,     0,     0,  1080,     0,
    2091        0,     0,   123,     0,     0,   123,   123,     0,   123,     0,
    2092      123,   123,  1086,     0,     0,   123,   123,     0,     0,   162,
    2093        0,     0,   811,   812,     0,     0,     0,     0,     0,     0,
    2094        0,   364,     0,   599,     0,     0,   827,     0,     0,     0,
     2261       0,     0,  1416,     0,     0,     0,     0,     0,     0,     0,
     2262       0,  1423,     0,     0,  1425,  1427,     0,   504,   504,   504,
     2263     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
     2264     504,   504,   504,   504,   504,   769,     0,   972,     0,     0,
     2265       0,     0,     0,   977,     0,     0,     0,     0,     0,  1452,
     2266     986,  1219,     0,     0,     0,     0,     0,   816,   407,  1212,
     2267     504,     0,     0,  1462,     0,     0,     0,     0,     0,     0,
     2268     613,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    20952269       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2096        0,  1101,   846,     0,     0,   849,   850,     0,   853,     0,
    2097      855,   856,   599,     0,     0,   857,   858,   599,     0,     0,
    2098        0,     0,     0,     0,     0,     0,   364,   364,   364,     0,
     2270       0,     0,     0,  1002,  1003,     0,   340,     0,     0,     0,
    20992271       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2100     1128,     0,     0,   123,   364,     0,     0,  1136,   123,   123,
    2101        0,  1140,     0,     0,   123,     0,  1144,     0,  1145,     0,
    2102        0,     0,  1147,  1148,  1149,     0,     0,  1152,     0,     0,
    2103        0,     0,     0,     0,     0,     0,  1164,     0,     0,   733,
    2104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2105        0,     0,     0,     0,  1179,  1180,     0,     0,   933,   934,
    2106      456,     0,     0,     0,   936,     0,     0,     0,     0,     0,
    2107        0,     0,     0,     0,     0,     0,     0,     0,   364,  1209,
    2108      951,     0,  1211,     8,     9,    10,    11,    12,    13,    14,
    2109       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2110        0,     0,    25,    26,    27,     0,     0,   207,     0,     0,
    2111       30,     0,     0,     0,   733,     0,     0,   227,     0,   231,
    2112     1226,   233,     0,     0,     0,     0,  1230,  1231,   242,     0,
    2113        0,     0,     0,    33,     0,     0,     0,  1241,     0,     0,
    2114      203,    38,  1245,     0,     0,  1249,     0,  1250,     0,     0,
    2115     1252,     0,     0,     0,     0,     0,     0,     0,   207,     0,
    2116      231,   233,   242,  1260,     0,     0,     0,     0,   364,     0,
    2117        0,     0,   623,     0,     0,   364,  1267,     0,  1269,  1270,
    2118     1271,  1272,     0,     0,   267,     0,     0,     0,     0,     0,
    2119        0,     0,     0,     0,  1279,     0,  1280,     0,     0,     0,
    2120      168,   207,     0,     0,     0,     0,     0,     0,     0,     0,
    2121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2122        0,     0,     0,     0,     0,     0,     0,     0,  1304,  1305,
    2123        0,     0,   201,     2,   202,     4,     5,     6,     7,     8,
     2272       0,   340,   358,     2,   202,     4,     5,     6,     7,     8,
    21242273       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    21252274      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2126       27,   207,     0,   231,   233,   242,    30,     0,   456,     0,
    2127        0,     0,     0,     0,     0,   153,     0,     0,  1340,  1341,
    2128        0,     0,     0,     0,     0,     0,     0,     0,  1351,    33,
    2129        0,    34,     0,    35,    36,     0,   203,    38,    39,   207,
    2130        0,     0,     0,   207,     0,    40,    41,     0,     0,     0,
    2131      162,     0,     0,     0,     0,     0,     0,     0,     0,   499,
    2132        0,   247,     0,     0,     0,   364,     0,     0,     0,     0,
    2133       42,   252,   204,     0,     0,     0,  1380,     0,     0,     0,
    2134      205,     0,     0,     0,     0,     0,     0,     0,  1384,     0,
    2135     1385,  1386,  1387,     0,     0,     0,     0,     0,     0,   599,
    2136        0,     0,  1391,     0,     0,     0,     0,     0,   207,     0,
    2137        0,  1402,     0,     0,   278,     0,   279,     0,     0,     0,
    2138      364,   364,     0,  1410,     0,     0,   153,     0,     0,   207,
    2139        0,     0,   123,     0,   231,   233,     0,   280,     0,   380,
    2140        0,     0,   242,   281,     0,     0,     0,   282,     0,     0,
    2141      283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
    2142        0,     0,   412,     0,     0,   289,     0,     0,     0,     0,
    2143        0,     0,     0,     0,  1454,  1455,   427,     0,   456,   290,
    2144        0,   374,  1217,     0,   207,   432,   772,  1460,   292,   376,
    2145      294,   295,   296,   297,  1460,   440,     0,     0,     0,     0,
    2146        0,     0,   207,     0,     0,     0,     0,   207,     0,   207,
     2275      27,     0,     0,     0,     0,   277,    30,   278,     0,     0,
     2276       0,  1033,     0,     0,     0,   376,     0,   504,     0,     0,
     2277       0,     0,     0,     0,     0,     0,     0,     0,   279,    33,
     2278       0,    34,   336,    35,   280,     0,    37,    38,   281,   504,
     2279       0,   282,   283,   284,   285,    40,    41,     0,   286,   287,
     2280       0,   358,   504,     0,     0,     0,   288,     0,     0,     0,
    21472281       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2148      466,     0,  1490,     0,     0,   476,   207,     0,     0,   207,
    2149      207,     0,     0,     0,     0,     0,   733,     0,   484,     0,
    2150        0,     0,     0,     0,   494,   207,   498,     0,     0,     0,
    2151     1514,     0,     0,     0,   123,     0,     0,     0,     0,   207,
    2152        0,     0,     0,   527,     0,     0,   207,     0,     0,     0,
    2153        0,     0,     0,     0,     0,     0,  1527,     0,   214,     0,
    2154        0,  1529,     0,     0,     0,     0,     0,     0,     0,     0,
     2282     289,     0,   338,     0,     0,     0,     0,   768,     0,   291,
     2283     339,   293,   294,   295,   296,     0,     0,     0,     0,   316,
     2284       0,     0,     0,     0,     0,     0,   504,   358,   358,     0,
     2285       0,     0,  1114,  1115,     0,     0,     0,     0,   277,   376,
     2286     278,     0,     0,     0,     0,   977,     0,     0,  1124,     0,
     2287     756,     0,     0,     0,     0,     0,     0,   504,     0,     0,
     2288       0,   279,     0,     0,     0,     0,     0,   280,     0,  1140,
     2289       0,   281,   504,     0,   282,   283,   284,   285,    40,    41,
     2290    1155,   286,   287,     0,     0,     0,     0,     0,     0,   288,
    21552291       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2156        0,     0,     0,     0,  1300,     0,   586,     0,     0,     0,
    2157        0,   591,     0,     0,     0,   733,     0,     0,     0,     0,
    2158        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2159       17,    18,    19,    20,    21,    22,    23,    24,     0,   637,
    2160       25,    26,    27,   638,   639,     0,   641,     0,    30,     0,
    2161        0,     0,   652,   653,     0,   654,   655,     0,   656,     0,
    2162      657,     0,  1162,   364,   364,     8,     9,    10,    11,    12,
    2163        0,    33,   214,     0,     0,     0,     0,   586,   203,    38,
    2164      207,     0,     0,     0,     0,   672,     0,     0,     0,     0,
    2165        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
    2166        0,     0,     0,     0,     0,     0,     0,     0,   207,     0,
    2167      683,     0,     0,   207,   280,    33,     0,     0,     0,     0,
    2168      281,   689,   622,     0,   282,     0,     0,   283,   284,   285,
    2169      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2170        0,     0,   289,     0,   725,     0,     0,     0,     0,     0,
    2171      728,     0,     0,     0,     0,   466,   290,     0,   374,     0,
    2172        0,     0,     0,     0,     0,   292,  1163,   294,   295,   296,
    2173      297,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2174      364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2175        0,   764,     0,     0,   509,   510,   513,     0,     0,     0,
    2176      207,     0,     0,   516,   517,     0,     0,   779,   510,   510,
    2177        0,     0,     0,     0,   207,     0,     0,     0,     0,     0,
    2178      510,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2179        0,     0,     0,   456,   499,     0,     0,     0,     0,     0,
    2180        0,     0,     0,   805,   337,   359,     0,     0,     0,     0,
    2181        0,     0,   815,     0,     0,     0,   510,     0,     0,   818,
    2182        0,     0,     0,   456,   825,     0,     0,     0,     0,     0,
    2183        0,     0,     0,     0,     0,   840,     0,   408,     0,     0,
    2184        0,     0,     0,     0,   408,     0,     0,     0,   162,     0,
    2185        0,     0,   510,   207,     0,     0,     0,     0,     0,     0,
    2186        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    2187        0,     0,     0,     0,     0,     0,   880,     0,     0,     0,
    2188        0,     0,     0,  -505,     0,   207,     1,     2,     3,     4,
     2292       0,     0,   376,   289,  1173,   373,     0,     0,   374,     0,
     2293       0,     0,   291,   375,   293,   294,   295,   296,     0,  1195,
     2294       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2295       0,     0,     0,     0,     0,     0,     0,     0,  1204,     0,
     2296     358,     0,  -497,     0,     0,     1,     2,     3,     4,     5,
     2297       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2298      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2299       0,    25,    26,    27,    28,     0,     0,    29,     0,    30,
     2300      31,     0,   977,     0,     0,     0,     0,     0,     0,     0,
     2301       0,     0,     0,     0,     0,     0,     0,     0,     0,    32,
     2302       0,   875,    33,     0,    34,     0,    35,    36,     0,    37,
     2303      38,    39,     0,     0,     0,   407,  1253,  1254,    40,    41,
     2304       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
     2305       0,   278,     0,     0,   407,   407,     0,     0,     0,     0,
     2306       0,     0,     0,    42,     0,    43,     0,     0,   504,     0,
     2307       0,     0,   279,    44,   407,     0,     0,     0,   280,     0,
     2308     504,     0,   281,     0,     0,   282,   283,   284,   285,    40,
     2309      41,     0,   286,   287,     0,     0,     0,     0,     0,     0,
     2310     288,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2311       0,     0,     0,   977,   289,     0,   373,     0,     0,   974,
     2312       0,   504,     0,   291,   375,   293,   294,   295,   296,     0,
     2313       0,     1,     2,   202,     4,     5,     6,     7,     8,     9,
     2314      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2315      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2316      28,     0,     0,    29,   277,    30,  1042,  1043,     0,  1044,
     2317       0,     0,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,
     2318       0,  1053,     0,     0,  1054,    32,     0,   279,    33,   504,
     2319      34,     0,    35,   640,     0,    37,    38,   281,     0,     0,
     2320     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2321       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2322       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2323       0,  1055,   504,     0,   167,     0,     0,     0,   291,   292,
     2324     293,   294,   295,   296,     0,     0,   504,   504,     0,     0,
     2325    1402,     0,  -126,     0,     1,     2,   202,     4,     5,     6,
     2326       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2327      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2328      25,    26,    27,    28,     0,     0,    29,   277,    30,   278,
     2329       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2330       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2331     279,    33,     0,    34,     0,    35,   280,  1454,    37,    38,
     2332     281,     0,     0,   282,   283,   284,   285,    40,    41,     0,
     2333     286,   287,     0,     0,     0,     0,     0,     0,   288,     0,
     2334       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2335       0,     0,   289,     0,  1055,     0,     0,     0,     0,     0,
     2336     316,   291,   292,   293,   294,   295,   296,     0,     0,     0,
     2337       0,     0,     0,     0,     0,  -126,     1,     2,   202,     4,
    21892338       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    21902339      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2191        0,   825,    25,    26,    27,    28,   408,     0,    29,     0,
    2192       30,    31,     0,     0,     0,     0,     0,     0,     0,     0,
     2340       0,     0,    25,    26,    27,    28,     0,     0,    29,   277,
     2341      30,   278,     8,     9,    10,    11,    12,    13,    14,    15,
     2342      16,    17,    18,    19,    20,    21,    22,    23,    24,  -278,
     2343       0,     0,   279,    33,     0,    34,     0,    35,   280,    30,
     2344      37,    38,   281,     0,     0,   282,   283,   284,   285,    40,
     2345      41,     0,   286,   287,     0,     0,     0,   504,     0,     0,
     2346     288,     0,    33,     0,     0,     0,     0,     0,     0,     0,
     2347       0,     0,     0,  -278,   289,     0,    43,     0,     0,     0,
     2348       0,     0,     0,   291,   292,   293,   294,   295,   296,     0,
     2349       0,     0,     2,   202,     4,     5,     6,     7,     8,     9,
     2350      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2351      20,    21,    22,    23,    24,   504,   504,    25,    26,    27,
     2352       0,     0,     0,     0,   277,    30,   278,     8,     9,    10,
     2353      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2354      21,    22,    23,    24,  -279,     0,     0,   279,    33,     0,
     2355      34,     0,    35,   280,    30,    37,    38,   281,     0,     0,
     2356     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2357       0,     0,     0,     0,     0,   288,     0,    33,     0,     0,
     2358       0,     0,     0,     0,     0,     0,     0,     0,  -279,   289,
     2359       0,   916,     0,     0,     0,     0,   768,     0,   291,   339,
     2360     293,   294,   295,   296,     2,   202,     4,     5,     6,     7,
     2361       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2362      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2363      26,    27,     0,     0,     0,     0,   277,    30,   278,     8,
     2364       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2365      19,    20,    21,    22,    23,    24,     0,     0,     0,   279,
     2366      33,     0,    34,     0,    35,   280,    30,    37,    38,   281,
     2367       0,     0,   282,   283,   284,   285,    40,    41,     0,   286,
     2368     287,     0,     0,     0,     0,     0,     0,   288,     0,    33,
    21932369       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2194       32,     0,     0,    33,     0,    34,     0,    35,    36,     0,
    2195       37,    38,    39,     0,     0,     0,     0,     0,     0,    40,
    2196       41,     0,     0,     0,     0,     0,   247,     0,     0,     0,
    2197        0,   408,   207,     0,     0,     0,   958,   959,     0,   408,
    2198      582,     0,   408,   585,    42,     0,    43,     0,     0,   975,
    2199        0,     0,   359,     0,    44,     0,   615,     0,   207,     0,
    2200        0,     0,     0,     0,     0,     0,   990,     0,   991,     0,
    2201        0,     0,   995,     0,     0,   633,     0,     0,   337,     0,
    2202        0,     0,     0,     0,     0,   207,   510,   510,   510,   510,
    2203      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
    2204      510,   510,   510,   510,   408,     0,     0,     0,   408,   278,
    2205        0,   279,     0,     0,     0,     0,   207,     0,     0,     0,
    2206        0,     0,     0,     0,     0,     0,     0,   207,     0,   510,
    2207        0,     0,   280,     0,     0,     0,     0,  1027,   642,   359,
    2208      136,   137,   282,     0,  1028,   283,   643,   285,   286,    40,
    2209       41,     0,   287,   288,     0,     0,     0,  1030,     0,  1031,
    2210      289,     0,   408,     0,     0,     0,     0,     0,     0,     0,
    2211        0,     0,     0,  1043,   290,     0,   644,     0,   645,   375,
    2212     1047,     0,     0,   292,   376,   294,   295,   296,   297,     0,
    2213        0,     0,  1083,   408,     0,  1084,   359,     0,     0,     0,
    2214        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    2215        0,     0,     0,   591,     0,     0,     0,     0,     0,     0,
    2216        0,     0,     0,     0,     0,     0,     0,   510,     0,     0,
    2217        0,     0,     0,     0,     0,   408,     0,     0,   337,   359,
    2218        0,     0,     0,     0,     0,     0,     0,     0,     0,   510,
     2370       0,   289,     0,   916,     0,     0,     0,     0,   768,     0,
     2371     291,   591,   293,   294,   295,   296,     2,   202,     4,     5,
     2372       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2373      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2374       0,    25,    26,    27,     0,     0,     0,     0,   277,    30,
     2375     278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    22192376       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2220      317,     0,   510,     0,     0,     0,     0,     0,     0,     0,
    2221      341,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2222        0,     0,   377,   408,   408,     0,     0,     0,     0,     0,
    2223        0,     0,   207,     0,     0,     0,     0,     0,     0,     0,
    2224     1146,     0,   820,   359,     0,   359,     0,   510,     0,     0,
    2225        0,     0,     0,     0,   615,     0,   615,   615,     0,     0,
    2226        0,     0,     0,   615,     0,     0,     0,     0,     0,     0,
    2227        0,     0,     0,   859,   359,     0,     0,     0,   510,   359,
    2228        0,     0,     0,     0,     0,     0,     0,     0,   359,   359,
    2229      359,     0,   317,   510,     0,   527,     0,     0,     0,     0,
    2230        0,  1210,     0,     0,     0,     0,   359,     0,     0,     0,
    2231        0,   408,   902,     0,     0,   408,   905,   480,     0,     0,
    2232        0,     0,   907,     0,     0,     0,   207,     0,     0,     0,
    2233     1223,     0,     0,     0,     0,  1225,     0,     0,     0,     0,
    2234      337,   359,   408,  1229,   408,     0,     0,     0,   408,   201,
     2377       0,   279,    33,     0,    34,     0,    35,   280,     0,    37,
     2378      38,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2379       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2380       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2381       0,     0,     0,   289,     0,   338,     0,     0,     0,     0,
     2382       0,     0,   291,   339,   293,   294,   295,   296,     2,   202,
     2383       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2384      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2385      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2386     277,    30,   278,     0,     0,     0,     0,     0,     0,     0,
     2387       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2388       0,     0,     0,   279,    33,     0,    34,     0,    35,   280,
     2389       0,    37,    38,   281,     0,     0,   282,   283,   284,   285,
     2390      40,    41,     0,   286,   287,     0,     0,     0,     0,     0,
     2391       0,   288,     0,     0,     0,     0,     0,     0,     0,     0,
     2392       0,     0,     0,     0,     0,   289,     0,   916,     0,     0,
     2393       0,     0,     0,     0,   291,   339,   293,   294,   295,   296,
    22352394       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    22362395      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2237       22,    23,    24,  1254,     0,    25,    26,    27,     0,     0,
    2238      359,   615,     0,    30,     0,  1262,     0,     0,  1263,     0,
    2239     1264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2240        0,     0,     0,     0,  1273,  1274,    33,     0,    34,     0,
    2241       35,     0,     0,   203,    38,   337,   359,     0,     0,     0,
    2242      408,   408,     0,     0,     0,     0,  1287,     0,     0,     0,
    2243        0,     0,   377,     0,     0,     0,     0,     0,     0,     0,
    2244        0,     0,     0,     0,   510,     0,     0,     0,     0,   204,
    2245        0,     0,  1306,     0,     0,     0,     0,   267,     0,     0,
    2246        0,   408,     0,     0,     0,     0,     0,     0,     0,     0,
    2247      359,     0,     0,   510,     0,     0,   820,   359,     0,     0,
    2248        0,   615,     0,   615,     0,   510,     0,     0,     0,     0,
    2249        0,     0,     0,   615,     0,     0,     0,     8,     9,    10,
    2250       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2251       21,    22,    23,    24,  -285,     0,    25,    26,    27,     0,
    2252        0,     0,     0,     0,    30,     0,   510,     0,     0,     0,
    2253        0,     0,     0,   727,     0,     0,     0,     0,     0,     0,
    2254        0,     0,     0,     0,  1372,     0,  1373,    33,     0,     0,
    2255        0,     0,    36,     0,   332,   333,    39,   207,  -285,  1382,
    2256        0,  1383,     0,    40,    41,     0,   820,     0,     0,     0,
    2257        0,   760,     0,     0,   408,     0,     0,     0,     0,  1390,
    2258      408,     0,     0,     0,   773,     0,     0,     0,   408,     0,
    2259      334,   760,     0,     0,     0,  1408,   510,     0,   109,     0,
    2260        0,   615,   615,  1411,   782,   783,  1229,     0,     8,     9,
     2396      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2397       0,     0,   277,    30,   278,     0,     0,     0,     0,     0,
     2398       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2399       0,     0,     0,     0,     0,   279,    33,     0,    34,     0,
     2400      35,   280,     0,   203,    38,   281,     0,     0,   282,   283,
     2401     284,   285,    40,    41,     0,   286,   287,     0,     0,     0,
     2402       0,     0,     0,   288,     0,     0,     0,     0,     0,     0,
     2403       0,     0,     0,     0,     0,     0,     0,   289,     0,  1000,
     2404       0,     0,     0,     0,     0,     0,   291,  1001,   293,   294,
     2405     295,   296,     2,   202,     4,     5,     6,     7,     8,     9,
    22612406      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2262       20,    21,    22,    23,    24,  -286,   804,   359,  1434,     0,
    2263        0,     0,     0,   408,     0,    30,   813,  1441,     0,   510,
    2264     1443,  1445,     0,   341,     0,     0,     0,     0,   773,     0,
    2265        0,   408,  1143,   510,   510,     0,     0,     0,    33,     0,
    2266        0,   359,     0,     0,     0,     0,     0,   408,  1155,  -286,
    2267      615,   615,  1160,     0,     0,     0,     0,  1473,     0,  1229,
    2268        0,     0,   359,   359,     0,     0,     0,     0,     0,     0,
    2269        0,     0,     0,     0,  1485,     0,     0,     0,   879,     0,
    2270        0,     0,     0,     0,     0,     0,   377,     2,   202,     4,
     2407      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2408       0,     0,     0,     0,   277,    30,   278,     0,     0,     0,
     2409       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2410       0,     0,     0,     0,     0,     0,     0,   279,    33,     0,
     2411      34,     0,    35,   280,     0,   203,    38,   281,     0,     0,
     2412     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2413       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2414       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2415       0,   373,     0,     0,     0,     0,     0,     0,   291,   375,
     2416     293,   294,   295,   296,     1,     2,     3,     4,     5,     6,
     2417       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2418      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2419      25,    26,    27,    28,     0,     0,    29,     0,    30,    31,
     2420       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2421       0,     0,     0,     0,     0,     0,     0,     0,    32,     0,
     2422       0,    33,     0,    34,     0,    35,    36,     0,    37,    38,
     2423      39,     0,     0,     0,     0,     0,     0,    40,    41,     0,
     2424       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2425       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2426       0,     0,    42,     0,    43,     0,     0,     0,  -501,     0,
     2427       0,     0,    44,     1,     2,     3,     4,     5,     6,     7,
     2428       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2429      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2430      26,    27,    28,     0,     0,    29,     0,    30,    31,     0,
     2431       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2432       0,     0,     0,     0,     0,     0,     0,    32,     0,     0,
     2433      33,     0,    34,     0,    35,    36,     0,    37,    38,    39,
     2434       0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
     2435       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2436       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2437       0,    42,     0,    43,     0,     0,     0,     0,     0,     0,
     2438       0,    44,     1,     2,   202,     4,     5,     6,     7,     8,
     2439       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2440      19,    20,    21,    22,    23,    24,  -278,     0,    25,    26,
     2441      27,    28,     0,     0,    29,     0,    30,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2443       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2444       0,    34,     0,    35,     0,     0,    37,    38,     0,     0,
     2445    -278,   201,     2,   202,     4,     5,     6,     7,     8,     9,
     2446      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2447      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2448       0,     0,    43,     0,     0,    30,     0,     0,     0,     0,
     2449     109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2450       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2451      34,     0,    35,     0,     0,   203,    38,     2,   202,     4,
    22712452       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    22722453      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    22732454       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2274       30,   820,   408,  1222,     0,     0,   341,     0,     0,     0,
    2275        0,     0,     0,     0,   615,     0,     0,     0,     0,     0,
    2276        0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
    2277      203,    38,     0,     1,     2,     3,     4,     5,     6,     7,
    2278        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2279       18,    19,    20,    21,    22,    23,    24,     0,   359,    25,
    2280       26,    27,    28,     0,     0,    29,   266,    30,    31,     0,
    2281        0,     0,     0,     0,   622,     0,     0,     0,     0,     0,
    2282        0,   773,     0,   980,     0,     0,     0,    32,     0,   985,
    2283       33,     0,    34,     0,    35,    36,   994,    37,    38,    39,
    2284        0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
    2285        0,     0,     0,   510,     0,     0,     0,     0,   337,     0,
     2455      30,   204,     0,     0,     0,     0,     0,     0,     0,   267,
    22862456       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2287      510,    42,     0,    43,     0,     0,     0,   359,     0,  1010,
    2288     1011,    44,   341,     0,     0,     0,     0,     0,     0,     0,
    2289        0,     0,     0,     0,     0,     0,     0,   341,     0,     0,
    2290        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2291       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
    2292        0,     0,     0,     0,     0,   359,   359,    30,     0,     0,
    2293        0,     0,     0,   510,   510,     0,     0,  1041,     0,     0,
    2294        0,   377,     0,     0,     0,     0,     0,     0,     0,     0,
    2295       33,     0,     0,     0,     1,     2,   202,     4,     5,     6,
     2457       0,     0,     0,    33,     0,    34,     0,    35,    36,     0,
     2458     203,    38,    39,     0,     0,     0,     0,     0,     0,    40,
     2459      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2460       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2461       0,     0,     0,     0,    42,     0,   204,     0,     0,     0,
     2462       0,     0,     0,     0,   205,     2,   202,     4,     5,     6,
    22962463       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    22972464      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2298       25,    26,    27,    28,     0,     0,    29,   278,    30,  1050,
    2299     1051,     0,  1052,     0,     0,  1053,  1054,  1055,  1056,  1057,
    2300     1058,  1059,  1060,     0,  1061,     0,     0,  1062,    32,     0,
    2301      280,    33,     0,    34,     0,    35,   642,   317,    37,    38,
    2302      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2303      287,   288,  1124,  1125,     0,     0,     0,     0,   289,   377,
    2304        0,     0,   359,     0,     0,   985,     0,     0,  1134,     0,
    2305      760,     0,   290,     0,  1063,     0,   278,   167,   279,     0,
    2306        0,   292,   293,   294,   295,   296,   297,     0,     0,  1150,
    2307        0,     0,     0,     0,     0,  -126,     0,     0,     0,   280,
    2308     1165,     0,     0,     0,     0,   281,     0,     0,     0,   282,
    2309        0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
    2310      288,     0,   377,     0,  1183,     0,     0,   289,     0,     0,
    2311        0,     0,     0,     0,     0,     0,     0,     0,     0,  1205,
    2312        0,   290,   408,   374,     0,     0,   375,     0,     0,     0,
    2313      292,   376,   294,   295,   296,   297,     0,   278,  1214,   279,
    2314     1051,     0,  1052,   408,   408,  1053,  1054,  1055,  1056,  1057,
    2315     1058,  1059,  1060,     0,  1061,     0,     0,  1062,    32,     0,
    2316      280,     0,     0,     0,     0,   408,   642,     0,     0,     0,
    2317      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2318      287,   288,     0,     0,   985,     0,     0,     0,   289,     0,
    2319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2320        0,     0,   290,   879,   374,     0,     0,   167,     0,     0,
    2321        0,   292,   376,   294,   295,   296,   297,     0,  1265,  1266,
    2322        0,     0,     1,     2,   202,     4,     5,     6,     7,     8,
    2323        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2324       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2325       27,    28,     0,     0,    29,   278,    30,   279,     0,     0,
    2326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2327        0,     0,     0,     0,     0,     0,     0,     0,   280,    33,
    2328        0,    34,     0,    35,   281,     0,    37,    38,   282,     0,
    2329        0,   283,   284,   285,   286,    40,    41,   985,   287,   288,
    2330        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
    2331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2332      290,     0,  1063,     0,     0,     0,     0,     0,     0,   292,
    2333      293,   294,   295,   296,   297,     0,     0,     0,     0,     0,
    2334        0,     0,     0,  -126,     1,     2,   202,     4,     5,     6,
    2335        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2336       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2337       25,    26,    27,    28,     0,     0,    29,   278,    30,   279,
     2465      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    23382466       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23392467       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2340      280,    33,     0,    34,     0,    35,   281,     0,    37,    38,
    2341      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2342      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2343        0,     0,     0,     0,     0,     0,     0,     0,  1420,     0,
    2344        0,     0,   290,     0,    43,     0,     0,     0,     0,     0,
    2345        0,   292,   293,   294,   295,   296,   297,     2,   202,     4,
    2346        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2347       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2348        0,     0,    25,    26,    27,     0,     0,     0,     0,   278,
    2349       30,   279,     0,     0,     0,     0,     0,     0,     0,     0,
    2350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2351     1477,     0,   280,    33,     0,    34,     0,    35,   281,     0,
    2352       37,    38,   282,     0,     0,   283,   284,   285,   286,    40,
    2353       41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    2354      289,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2355        0,     0,     0,     0,   290,   317,   339,     0,     0,     0,
    2356        0,   772,     0,   292,   340,   294,   295,   296,   297,     2,
    2357      202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2358       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2359       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2360        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
    2361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2362        0,     0,     0,     0,   280,    33,     0,    34,     0,    35,
    2363      281,     0,    37,    38,   282,     0,     0,   283,   284,   285,
    2364      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2365        0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
    2366        0,     0,     0,     0,     0,     0,   290,     0,   921,     0,
    2367        0,     0,     0,   772,     0,   292,   340,   294,   295,   296,
    2368      297,     2,   202,     4,     5,     6,     7,     8,     9,    10,
    2369       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2370       21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2371        0,     0,     0,   278,    30,   279,     0,     0,     0,     0,
    2372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2373        0,     0,     0,     0,     0,     0,   280,    33,     0,    34,
    2374        0,    35,   281,     0,    37,    38,   282,     0,     0,   283,
    2375      284,   285,   286,    40,    41,     0,   287,   288,     0,     0,
    2376        0,     0,     0,     0,   289,     0,     0,     0,     0,     0,
    2377        0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
    2378      921,     0,     0,     0,     0,   772,     0,   292,   593,   294,
    2379      295,   296,   297,     2,   202,     4,     5,     6,     7,     8,
    2380        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2381       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2382       27,     0,     0,     0,     0,   278,    30,   279,     0,     0,
    2383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2384        0,     0,     0,     0,     0,     0,     0,     0,   280,    33,
    2385        0,    34,     0,    35,   281,     0,    37,    38,   282,     0,
    2386        0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
    2387        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
    2388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2389      290,     0,   339,     0,     0,     0,     0,     0,     0,   292,
    2390      340,   294,   295,   296,   297,     2,   202,     4,     5,     6,
    2391        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2392       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2393       25,    26,    27,     0,     0,     0,     0,   278,    30,   279,
    2394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2396      280,    33,     0,    34,     0,    35,   281,     0,    37,    38,
    2397      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2398      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2399        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2400        0,     0,   290,     0,   921,     0,     0,     0,     0,     0,
    2401        0,   292,   340,   294,   295,   296,   297,     2,   202,     4,
    2402        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2403       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2404        0,     0,    25,    26,    27,     0,     0,     0,     0,   278,
    2405       30,   279,     0,     0,     0,     0,     0,     0,     0,     0,
    2406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2407        0,     0,   280,    33,     0,    34,     0,    35,   281,     0,
    2408      203,    38,   282,     0,     0,   283,   284,   285,   286,    40,
    2409       41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    2410      289,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2411        0,     0,     0,     0,   290,     0,  1008,     0,     0,     0,
    2412        0,     0,     0,   292,  1009,   294,   295,   296,   297,     2,
    2413      202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2414       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2415       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2416        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
    2417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2418        0,     0,     0,     0,   280,    33,     0,    34,     0,    35,
    2419      281,     0,   203,    38,   282,     0,     0,   283,   284,   285,
    2420      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2421        0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
    2422        0,     0,     0,     0,     0,     0,   290,     0,   374,     0,
    2423        0,     0,     0,     0,     0,   292,   376,   294,   295,   296,
    2424      297,     1,     2,     3,     4,     5,     6,     7,     8,     9,
     2468       0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
     2469       0,     0,     2,   202,     4,     5,     6,     7,     8,     9,
    24252470      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    24262471      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    2427       28,     0,     0,    29,     0,    30,    31,     0,     0,     0,
     2472       0,     0,     0,  -383,   676,    30,     0,     0,     0,     0,
     2473       0,     0,   625,     0,     0,     0,     0,     0,     0,     0,
     2474       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2475      34,     0,    35,     0,     0,    37,    38,     0,     0,     0,
    24282476       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2429        0,     0,     0,     0,     0,    32,     0,     0,    33,     0,
    2430       34,     0,    35,    36,     0,    37,    38,    39,     0,     0,
    2431        0,     0,     0,     0,    40,    41,     0,     0,     0,     0,
     2477       0,     0,     0,     0,     0,     0,     0,  1334,     0,     0,
    24322478       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2433        0,     0,     0,     0,     0,     0,     0,     0,     0,    42,
    2434        0,    43,     0,     0,     0,  -509,     0,     0,     0,    44,
    2435        1,     2,   202,     4,     5,     6,     7,     8,     9,    10,
    2436       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2437       21,    22,    23,    24,  -285,     0,    25,    26,    27,    28,
    2438        0,     0,    29,     0,    30,     0,     0,     0,     0,     0,
    2439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2440        0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
    2441        0,    35,     0,     0,    37,    38,     0,     0,  -285,     1,
    2442        2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    2443       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2444       22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
    2445       43,    29,     0,    30,     0,     0,     0,     0,   109,     0,
    2446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2447        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2448       35,     0,     0,    37,    38,     2,   202,     4,     5,     6,
    2449        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2450       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2451       25,    26,    27,     0,     0,     0,     0,     0,    30,    43,
    2452        0,     0,     0,     0,     0,     0,     0,   109,     0,     0,
    2453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2454        0,    33,     0,    34,     0,    35,    36,     0,   203,    38,
    2455       39,     0,     0,     0,     0,     0,     0,    40,    41,     0,
    2456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2458        0,     0,    42,     0,   204,     0,     0,     0,     0,     0,
    2459        0,     0,   205,     2,   202,     4,     5,     6,     7,     8,
    2460        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2461       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2462       27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
    2463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2464        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2465        0,    34,     0,    35,     0,     0,    37,    38,     0,     0,
     2479       0,   676,     0,     0,     0,     0,     0,     0,     0,   625,
    24662480       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    24672481      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    24682482      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    2469        0,  -390,   679,    30,     0,     0,     0,     0,     0,     0,
    2470      627,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2471        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2472       35,     0,     0,    37,    38,     0,     0,     0,     0,     0,
     2483       0,     0,     0,    30,     8,     9,    10,    11,    12,    13,
     2484      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2485      24,     0,     0,    25,    26,    27,    33,     0,    34,     0,
     2486      35,    30,     0,    37,    38,     0,     0,     0,     0,     0,
    24732487       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2474        0,     0,     0,     0,     0,  1348,     0,     0,     0,     0,
    2475        0,     0,     0,     0,     0,     0,     0,     0,     0,   679,
    2476        0,     0,     0,     0,     0,     0,     0,   627,     2,   202,
     2488       0,     0,     0,     0,    33,  1336,     0,     0,     0,   108,
     2489       0,    37,    38,     0,     0,     0,     0,     0,     0,   676,
     2490       0,     0,     0,     0,     0,     0,     0,   625,     2,   202,
    24772491       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24782492      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    24792493      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2480        0,    30,     8,     9,    10,    11,    12,    13,    14,    15,
    2481       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2482        0,    25,    26,    27,    33,     0,    34,     0,    35,    30,
    2483        0,    37,    38,     0,     0,     0,     0,     0,     0,     0,
     2494       0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
    24842495       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2485        0,     0,    33,  1350,     0,     0,     0,   108,     0,    37,
    2486       38,     0,     0,     0,     0,     0,     0,   679,     0,     0,
    2487        0,     0,     0,     0,     0,   627,     2,   202,     4,     5,
    2488        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2489       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2490        0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2493        0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
    2494       38,     2,   202,     4,     5,     6,     7,     8,     9,    10,
    2495       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2496       21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2497        0,     0,     0,     0,    30,   679,     0,     0,     0,     0,
    2498        0,     0,     0,   627,     0,     0,     0,     0,     0,     0,
    2499        0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
    2500        0,    35,     0,     0,    37,    38,     2,   202,     4,     5,
    2501        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2502       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2503        0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2504      592,     0,     0,     0,     0,     0,     0,     0,   627,     0,
    2505        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2506        0,     0,    33,     0,    34,     0,    35,     0,     0,   203,
    2507       38,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2508       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2509       25,    26,    27,     0,     0,     0,     0,   278,    30,   279,
    2510        0,     0,     0,     0,     0,   204,     0,     0,     0,     0,
    2511        0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
    2512      280,    33,     0,     0,     0,     0,   281,     0,    37,    38,
    2513      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2514      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2516        0,     0,   290,     0,   519,     0,     0,   167,     0,     0,
    2517        0,   292,   293,   294,   295,   296,   297,     8,     9,    10,
    2518       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2519       21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2520        0,     0,     0,   278,    30,   279,     0,     0,     0,     0,
    2521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2522        0,     0,     0,     0,     0,     0,   280,    33,     0,     0,
    2523        0,     0,   281,     0,    37,    38,   282,     0,     0,   283,
    2524      284,   285,   286,    40,    41,     0,   287,   288,     0,     0,
    2525        0,     0,     0,     0,   289,     0,     0,     0,     0,     0,
    2526        0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
    2527      592,    -3,     0,     0,     0,     0,     0,   292,   593,   294,
    2528      295,   296,   297,     8,     9,    10,    11,    12,    13,    14,
    2529       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2530        0,     0,    25,    26,    27,     0,     0,     0,     0,   278,
    2531       30,   279,     0,     0,     0,     0,     0,     0,     0,     0,
    2532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2533        0,     0,   280,    33,     0,     0,     0,     0,   642,     0,
    2534       37,    38,   282,     0,     0,   283,   284,   285,   286,    40,
    2535       41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    2536      289,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2537        0,     0,     0,     0,   290,   -33,   757,     0,     0,     0,
    2538        0,     0,     0,   292,   293,   294,   295,   296,   297,     8,
     2496       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
     2497       0,   203,    38,     2,   202,     4,     5,     6,     7,     8,
    25392498       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    25402499      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2541       27,     0,     0,     0,     0,   278,    30,   279,     0,     0,
     2500      27,     0,     0,     0,     0,     0,    30,   266,     0,     0,
     2501       0,     0,     0,     0,     0,   620,     0,     0,     0,     0,
     2502       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2503       0,    34,     0,    35,     0,     0,    37,    38,     2,   202,
     2504       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2505      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2506      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2507       0,    30,   676,     0,     0,     0,     0,     0,     0,     0,
     2508     625,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2509       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
     2510       0,    37,    38,     2,   202,     4,     5,     6,     7,     8,
     2511       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2512      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2513      27,     0,     0,     0,     0,     0,    30,   590,     0,     0,
     2514       0,     0,     0,     0,     0,   625,     0,     0,     0,     0,
     2515       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2516       0,    34,     0,    35,     0,     0,   203,    38,     8,     9,
     2517      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2518      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2519       0,     0,     0,     0,   277,    30,   278,     0,     0,     0,
     2520       0,     0,   204,     0,     0,     0,     0,     0,     0,     0,
     2521     267,     0,     0,     0,     0,     0,     0,   279,    33,     0,
     2522       0,     0,     0,   280,     0,    37,    38,   281,     0,     0,
     2523     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2524       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2525       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2526       0,   590,    -3,     0,     0,     0,     0,     0,   291,   591,
     2527     293,   294,   295,   296,     8,     9,    10,    11,    12,    13,
     2528      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2529      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2530     277,    30,   278,     0,     0,     0,     0,     0,     0,     0,
    25422531       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2543        0,     0,     0,     0,     0,     0,     0,     0,   280,    33,
    2544        0,     0,     0,     0,   281,     0,    37,    38,   282,     0,
    2545        0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
    2546        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
     2532       0,     0,     0,   279,    33,     0,     0,     0,     0,   640,
     2533       0,    37,    38,   281,     0,     0,   282,   283,   284,   285,
     2534      40,    41,     0,   286,   287,     0,     0,     0,     0,     0,
     2535       0,   288,     0,     0,     0,     0,     0,     0,     0,     0,
     2536       0,     0,     0,     0,     0,   289,   -35,   753,     0,     0,
     2537       0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
     2538       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2539      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2540      26,    27,     0,     0,     0,     0,   277,    30,   278,     0,
    25472541       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2548      290,     0,   291,     0,     0,     0,     0,     0,     0,   292,
    2549      293,   294,   295,   296,   297,     8,     9,    10,    11,    12,
    2550       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2551       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2552        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
     2542       0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
     2543      33,     0,     0,     0,     0,   280,     0,    37,    38,   281,
     2544       0,     0,   282,   283,   284,   285,    40,    41,     0,   286,
     2545     287,     0,     0,     0,     0,     0,     0,   288,     0,     0,
    25532546       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2554        0,     0,     0,     0,   280,    33,     0,     0,     0,     0,
    2555      281,     0,    37,    38,   282,     0,     0,   283,   284,   285,
    2556      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2557        0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
    2558        0,     0,     0,     0,     0,     0,   290,     0,   154,     0,
    2559        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
    2560      297,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2547       0,   289,     0,   290,     0,     0,     0,     0,     0,     0,
     2548     291,   292,   293,   294,   295,   296,     8,     9,    10,    11,
     2549      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2550      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2551       0,     0,   277,    30,   278,     0,     0,     0,     0,     0,
     2552       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2553       0,     0,     0,     0,     0,   279,    33,     0,     0,     0,
     2554       0,   280,     0,    37,    38,   281,     0,     0,   282,   283,
     2555     284,   285,    40,    41,     0,   286,   287,     0,     0,     0,
     2556       0,     0,     0,   288,     0,     0,     0,     0,     0,     0,
     2557       0,     0,     0,     0,     0,     0,     0,   289,     0,   154,
     2558       0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
     2559     295,   296,     8,     9,    10,    11,    12,    13,    14,    15,
     2560      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2561       0,    25,    26,    27,     0,     0,     0,     0,   277,    30,
     2562     278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2563       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2564       0,   279,    33,     0,     0,     0,     0,   280,     0,    37,
     2565      38,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2566       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2567       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2568       0,     0,     0,   289,     0,   590,     0,     0,     0,     0,
     2569       0,     0,   291,   591,   293,   294,   295,   296,     8,     9,
     2570      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2571      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2572       0,     0,     0,     0,   277,    30,   278,     0,     0,     0,
     2573       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2574       0,     0,     0,     0,     0,     0,     0,   279,    33,     0,
     2575       0,     0,     0,   280,     0,    37,    38,   281,     0,     0,
     2576     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2577       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2578       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2579       0,   373,     0,     0,     0,     0,     0,     0,   291,   375,
     2580     293,   294,   295,   296,   467,     2,   202,     4,     5,     6,
     2581       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    25612582      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2562       25,    26,    27,     0,     0,     0,     0,   278,    30,   279,
     2583      25,    26,    27,     0,     0,     0,     0,     0,    30,     8,
     2584       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2585      19,    20,    21,    22,    23,    24,  -278,     0,    25,    26,
     2586      27,    33,     0,    34,     0,    35,    30,     0,    37,    38,
     2587       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2588      16,    17,    18,    19,    20,    21,    22,    23,    24,    33,
     2589       0,    25,    26,    27,    36,     0,   331,   332,    39,    30,
     2590    -278,     0,     0,     0,     0,    40,    41,    -3,     0,     0,
    25632591       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2564        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2565      280,    33,     0,     0,     0,     0,   281,     0,    37,    38,
    2566      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2567      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2569        0,     0,   290,     0,   592,     0,     0,     0,     0,     0,
    2570        0,   292,   593,   294,   295,   296,   297,     8,     9,    10,
    2571       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2572       21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2573        0,     0,     0,   278,    30,   279,     0,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2575        0,     0,     0,     0,     0,     0,   280,    33,     0,     0,
    2576        0,     0,   281,     0,    37,    38,   282,     0,     0,   283,
    2577      284,   285,   286,    40,    41,     0,   287,   288,     0,     0,
    2578        0,     0,     0,     0,   289,     0,     0,     0,     0,     0,
    2579        0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
    2580      374,     0,     0,     0,     0,     0,     0,   292,   376,   294,
    2581      295,   296,   297,     8,     9,    10,    11,    12,    13,    14,
    2582       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2583     -285,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2584       30,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2585        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2586        0,     0,     0,    33,     0,     0,     0,     0,    36,     0,
    2587      332,   333,    39,     0,  -285,     0,     0,     0,     0,    40,
    2588       41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2592       0,     0,    33,     0,     0,     0,     0,    36,     0,    37,
     2593      38,    39,   333,     0,     0,     0,     0,     0,    40,    41,
     2594     109,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    25892595      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2590       25,    26,    27,     0,   636,     0,   334,     0,    30,     0,
    2591        0,     0,     0,     0,   627,     0,     0,     0,     0,     0,
     2596      25,    26,    27,    42,     0,   154,     0,     0,    30,     0,
     2597       0,     0,     0,    44,     0,     0,     0,     0,     0,     0,
    25922598       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25932599       0,    33,     0,     0,     0,     0,    36,     0,    37,    38,
     
    25952601       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    25962602      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2597       27,     0,    42,     0,   154,     0,    30,     0,     0,     0,
     2603      27,     0,    42,     0,    43,     0,    30,     0,     0,     0,
    25982604       0,     0,    44,     0,     0,     0,     0,     0,     0,     0,
    25992605       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2600        0,     0,     0,     0,    36,     0,    37,    38,    39,     0,
     2606       0,     0,     0,     0,    36,     0,   203,    38,    39,     0,
    26012607       0,     0,     0,     0,     0,    40,    41,     8,     9,    10,
    26022608      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    26032609      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2604       42,     0,    43,     0,    30,     0,     0,     0,     0,     0,
    2605       44,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2610      42,     0,   266,     0,    30,     0,     0,     0,     0,     0,
     2611     205,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26062612       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    2607        0,     0,    36,     0,   203,    38,    39,     0,     0,     0,
     2613       0,     0,    36,     0,   331,   332,    39,     0,     0,     0,
    26082614       0,     0,     0,    40,    41,     8,     9,    10,    11,    12,
    26092615      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2610       23,    24,     0,     0,    25,    26,    27,     0,    42,     0,
    2611      266,     0,    30,     0,     0,     0,     0,     0,   205,     0,
     2616      23,    24,     0,     0,    25,    26,    27,     0,   634,     0,
     2617     333,     0,    30,     0,     0,     0,     0,     0,   625,     0,
    26122618       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26132619       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2614       36,     0,   332,   333,    39,     0,     0,     0,     0,     0,
     2620      36,     0,   331,   332,    39,     0,     0,     0,     0,     0,
    26152621       0,    40,    41,     8,     9,    10,    11,    12,    13,    14,
    26162622      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2617        0,     0,    25,    26,    27,     0,   636,     0,   334,     0,
    2618       30,     0,     0,     0,     0,     0,   627,     0,     0,     0,
     2623    -278,     0,    25,    26,    27,     0,     0,     0,   333,     0,
     2624      30,     0,     0,     0,     0,     0,   109,     0,     0,     0,
    26192625       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2620        0,     0,     0,    33,     0,     0,     0,     0,    36,     0,
    2621      332,   333,    39,     0,     0,     0,     0,     0,     0,    40,
    2622       41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2623       17,    18,    19,    20,    21,    22,    23,    24,  -285,     0,
    2624       25,    26,    27,     0,     0,     0,   334,     0,    30,     0,
     2626       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     2627      37,    38,     0,     0,  -278,     8,     9,    10,    11,    12,
     2628      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2629      23,    24,  -278,     0,    25,    26,    27,     0,     0,     0,
     2630       0,     0,    30,     0,   634,     0,   333,     0,     0,     0,
    26252631       0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    2626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2627        0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
    2628        0,     0,  -285,     8,     9,    10,    11,    12,    13,    14,
    2629       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2630     -285,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2631       30,     0,   636,     0,   334,     0,     0,     0,     0,     0,
    2632        0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
    2633        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    2634       37,    38,     0,     0,  -285,     8,     9,    10,    11,    12,
     2632       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2633       0,     0,    37,    38,     0,     0,  -278,     8,     9,    10,
     2634      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2635      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2636       0,     0,     0,     0,    30,   446,   634,     0,   333,     0,
     2637       0,     0,     0,     0,     0,     0,   625,     0,     0,     0,
     2638       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
     2639       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
     2640      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2641      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2642       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
     2643     447,     0,     0,     0,  1209,     0,     0,     0,   109,     0,
     2644       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
     2645       0,   108,     0,    37,    38,     8,     9,    10,    11,    12,
    26352646      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    26362647      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2637        0,     0,    30,   448,   636,     0,   334,     0,     0,     0,
    2638        0,     0,     0,     0,   627,     0,     0,     0,     0,     0,
     2648       0,     0,    30,   446,     0,     0,     0,     0,     0,    43,
     2649       0,     0,     0,     0,     0,     0,     0,   109,     0,     0,
    26392650       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    26402651       0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    26412652      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    26422653      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2643        0,    30,   448,     0,     0,     0,     0,     0,   449,     0,
    2644        0,     0,   703,     0,     0,     0,   109,     0,     0,     0,
     2654       0,    30,     0,     0,     0,     0,     0,     0,   447,     0,
     2655       0,     0,     0,     0,     0,     0,   109,     0,     0,     0,
    26452656       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    26462657       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    26472658      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2648     -285,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2649       30,     0,     0,     0,     0,     0,     0,   449,     0,     0,
    2650        0,   937,     0,     0,     0,   109,     0,     0,     0,     0,
    2651        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    2652       37,    38,     0,     0,  -285,     8,     9,    10,    11,    12,
    2653       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2654       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2655        0,     0,    30,   448,     0,     0,   334,     0,     0,     0,
    2656        0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    2657        0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2658        0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    2659       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2660       24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2661        0,    30,     0,     0,     0,     0,     0,     0,   449,     0,
    2662        0,     0,  1219,     0,     0,     0,   109,     0,     0,     0,
    2663        0,     0,     0,     0,    33,     0,     0,     0,     0,   108,
    2664        0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    2665       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    26662659       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2667       30,   448,     0,     0,     0,     0,     0,    43,     0,     0,
     2660      30,     0,     0,     0,     0,   634,     0,   333,     0,     0,
    26682661       0,     0,     0,     0,     0,   109,     0,     0,     0,     0,
    26692662       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     
    26712664      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    26722665       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2673        0,     0,     0,     0,     0,     0,   449,     0,     0,     0,
    2674        0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
     2666       0,     0,     0,     0,   634,     0,   333,     0,     0,     0,
     2667       0,     0,     0,     0,   625,     0,     0,     0,     0,     0,
    26752668       0,     0,    33,     0,     0,     0,     0,     0,     0,    37,
    26762669      38,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    26772670      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    26782671      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    2679        0,     0,     0,   636,     0,   334,     0,     0,     0,     0,
     2672       0,     0,     0,     0,     0,   253,     0,     0,     0,     0,
    26802673       0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
    26812674       0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
     
    26832676      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    26842677      26,    27,     0,     0,     0,     0,     0,    30,     0,     0,
    2685        0,     0,   636,     0,   334,     0,     0,     0,     0,     0,
    2686        0,     0,   627,     0,     0,     0,     0,     0,     0,     0,
    2687       33,     0,     0,     0,     0,     0,     0,    37,    38,     8,
     2678       0,     0,     0,     0,   154,     0,     0,     0,     0,     0,
     2679       0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
     2680      33,     0,     0,     0,     0,     0,     0,   203,    38,     8,
    26882681       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    26892682      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    26902683      27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
    2691        0,     0,     0,   253,     0,     0,     0,     0,     0,     0,
    2692        0,   109,     0,     0,     0,     0,     0,     0,     0,    33,
     2684       0,     0,     0,   266,     0,     0,     0,     0,     0,     0,
     2685       0,   267,     0,     0,     0,     0,     0,     0,     0,    33,
    26932686       0,     0,     0,     0,     0,     0,    37,    38,     8,     9,
    26942687      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    26952688      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    26962689       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
    2697        0,     0,   154,     0,     0,     0,     0,     0,     0,     0,
    2698      109,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2699        0,     0,     0,     0,     0,   203,    38,     8,     9,    10,
     2690       0,     0,   253,     0,     0,     0,     0,     0,     0,     0,
     2691     625,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2692       0,     0,     0,     0,     0,    37,    38,     8,     9,    10,
    27002693      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    27012694      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    27022695       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
    2703        0,   266,     0,     0,     0,     0,     0,     0,     0,   267,
     2696       0,   333,     0,     0,     0,     0,     0,     0,     0,   625,
    27042697       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    27052698       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
     
    27072700      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    27082701       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
    2709      253,     0,     0,     0,     0,     0,     0,     0,   627,     0,
     2702     447,     0,     0,     0,     0,     0,     0,     0,   109,     0,
    27102703       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
    2711        0,     0,     0,    37,    38,     8,     9,    10,    11,    12,
     2704       0,     0,     0,   203,    38,     8,     9,    10,    11,    12,
    27122705      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    27132706      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2714        0,     0,    30,     0,     0,     0,     0,     0,     0,   334,
    2715        0,     0,     0,     0,     0,     0,     0,   627,     0,     0,
     2707       0,     0,    30,     0,     0,     0,     0,     0,     0,   266,
     2708       0,     0,     0,     0,     0,     0,     0,   620,     0,     0,
    27162709       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    27172710       0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    27182711      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    27192712      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2720        0,    30,     0,     0,     0,     0,     0,     0,   449,     0,
    2721        0,     0,     0,     0,     0,     0,   109,     0,     0,     0,
     2713       0,    30,     0,     0,     0,     0,     0,     0,   590,     0,
     2714       0,     0,     0,     0,     0,     0,   625,     0,     0,     0,
    27222715       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    2723        0,   203,    38,     8,     9,    10,    11,    12,    13,    14,
     2716       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    27242717      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    27252718       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2726       30,     0,     0,     0,     0,     0,     0,   266,     0,     0,
    2727        0,     0,     0,     0,     0,   622,     0,     0,     0,     0,
     2719      30,     0,     0,     0,     0,     0,     0,   333,     0,     0,
     2720       0,     0,     0,     0,     0,   109,     0,     0,     0,     0,
    27282721       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    27292722      37,    38,     8,     9,    10,    11,    12,    13,    14,    15,
    27302723      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    27312724       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2732        0,     0,     0,     0,     0,     0,   592,     0,     0,     0,
    2733        0,     0,     0,     0,   627,     0,     0,     0,     0,     0,
    2734        0,     0,    33,     0,     0,     0,     0,     0,     0,    37,
    2735       38,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2725       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2726       0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
     2727       0,     0,    33,     0,     0,     0,     0,     0,     0,   203,
     2728      38,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2729      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2730      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2731       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
     2732       0,     0,     0,   620,     0,     0,     0,     0,     0,     0,
     2733       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     2734       0,    35,     0,     0,    37,    38,     0,   277,     0,   278,
     2735    1043,     0,  1044,     0,     0,  1045,  1046,  1047,  1048,  1049,
     2736    1050,  1051,  1052,  1482,  1053,     0,     0,  1054,    32,     0,
     2737     279,     0,     0,     0,     0,     0,   640,     0,     0,  -396,
     2738     281,     0,     0,   282,   283,   284,   285,    40,    41,     0,
     2739     286,   287,     0,     0,     0,     0,     0,     0,   288,     0,
     2740       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2741       0,     0,   289,     0,   373,     0,     0,   167,     0,     0,
     2742       0,   291,   375,   293,   294,   295,   296,     0,   277,     0,
     2743     278,  1043,     0,  1044,     0,  -126,  1045,  1046,  1047,  1048,
     2744    1049,  1050,  1051,  1052,     0,  1053,     0,     0,  1054,    32,
     2745       0,   279,     0,     0,     0,     0,     0,   640,     0,     0,
     2746       0,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2747       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2748       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2749       0,     0,     0,   289,     0,   373,     0,     0,   167,     0,
     2750       0,     0,   291,   375,   293,   294,   295,   296,     0,     0,
     2751       0,     0,     0,     0,     0,     0,  -126,     2,   202,     4,
     2752       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2753      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2754       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
     2755      30,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27362756      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2737       25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    2738        0,     0,     0,     0,     0,   334,     0,     0,     0,     0,
    2739        0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
    2740        0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
    2741        2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    2742       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2743       22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    2744        0,     0,     0,    30,    43,     0,     0,     0,     0,     0,
    2745        0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
    2746        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2747       35,     0,     0,    37,    38,     0,   278,     0,   279,  1051,
    2748        0,  1052,     0,     0,  1053,  1054,  1055,  1056,  1057,  1058,
    2749     1059,  1060,  1507,  1061,     0,     0,  1062,    32,     0,   280,
    2750        0,     0,     0,     0,     0,   642,     0,     0,  -403,   282,
    2751        0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
    2752      288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
     2757      25,    26,    27,    33,     0,    34,     0,    35,    30,     0,
     2758      37,    38,     0,   277,     0,   278,  1043,     0,  1044,  1378,
     2759    1379,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,  1482,
     2760    1053,    33,  1295,  1054,    32,     0,   279,     0,    37,    38,
     2761       0,     0,   640,     0,     0,     0,   281,     0,     0,   282,
     2762     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2763       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
     2764       0,     0,     0,     0,     0,     0,     0,     0,   289,     0,
     2765     373,     0,     0,   167,     0,     0,     0,   291,   375,   293,
     2766     294,   295,   296,   277,     0,   278,  1043,     0,  1044,  1378,
     2767    1379,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,     0,
     2768    1053,     0,     0,  1054,    32,     0,   279,     0,     0,     0,
     2769       0,     0,   640,     0,     0,     0,   281,     0,     0,   282,
     2770     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2771       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
     2772       0,     0,     0,     0,     0,     0,     0,     0,   289,     0,
     2773     373,     0,     0,   167,     0,     0,     0,   291,   375,   293,
     2774     294,   295,   296,   277,     0,   278,  1043,     0,  1044,     0,
     2775       0,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,     0,
     2776    1053,     0,     0,  1054,    32,     0,   279,     0,     0,     0,
     2777       0,     0,   640,     0,     0,     0,   281,     0,     0,   282,
     2778     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2779       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
     2780     277,     0,   278,     0,     0,     0,     0,     0,   289,     0,
     2781     373,     0,     0,   167,     0,     0,     0,   291,   375,   293,
     2782     294,   295,   296,   279,     0,     0,     0,     0,     0,   280,
     2783       0,     0,     0,   281,     0,     0,   282,   283,   284,   285,
     2784      40,    41,     0,   286,   287,     0,     0,     0,     0,     0,
     2785       0,   288,     0,     0,     0,     0,     0,   277,     0,   278,
     2786       0,     0,     0,     0,     0,   289,     0,   373,     0,     0,
     2787       0,     0,   768,     0,   291,   375,   293,   294,   295,   296,
     2788     279,     0,     0,     0,     0,     0,   280,     0,     0,     0,
     2789     281,     0,     0,   282,   283,   284,   285,    40,    41,     0,
     2790     286,   287,     0,     0,     0,     0,     0,     0,   288,     0,
     2791       0,     0,     0,     0,   277,     0,   278,     0,     0,     0,
     2792       0,     0,   289,     0,   373,     0,     0,     0,     0,     0,
     2793       0,   291,   375,   293,   294,   295,   296,   279,     0,     0,
     2794       0,     0,     0,   280,     0,     0,     0,   281,     0,     0,
     2795     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2796       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2797       0,   277,     0,   278,     0,     0,     0,     0,     0,   289,
     2798       0,   373,     0,     0,     0,     0,     0,     0,   291,   723,
     2799     293,   294,   295,   296,   279,     0,     0,     0,     0,     0,
     2800     640,     0,     0,     0,   281,     0,     0,   282,   283,   284,
     2801     285,    40,    41,     0,   286,   287,     0,     0,     0,     0,
     2802       0,     0,   288,     0,     0,     0,     0,     0,   277,     0,
     2803     278,     0,     0,     0,     0,     0,   289,     0,   772,     0,
     2804       0,     0,     0,     0,     0,   291,   375,   293,   294,   295,
     2805     296,   279,     0,     0,     0,     0,     0,   280,     0,     0,
     2806       0,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2807       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2808       0,     0,     0,     0,     0,   277,     0,   278,     0,     0,
     2809       0,     0,     0,   289,     0,   373,     0,     0,     0,     0,
     2810       0,     0,   291,   813,   293,   294,   295,   296,   279,     0,
     2811       0,     0,     0,     0,   280,     0,     0,     0,   281,     0,
     2812       0,   282,   283,   284,   285,    40,    41,     0,   286,   287,
     2813       0,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2814       0,     0,   277,     0,   278,     0,     0,     0,     0,     0,
     2815     289,     0,     0,     0,     0,     0,     0,     0,     0,   291,
     2816     375,   293,   294,   295,   296,   279,     0,     0,     0,     0,
     2817       0,   280,     0,     0,     0,   281,     0,     0,   282,   283,
     2818     284,   285,    40,    41,     0,   286,   287,     0,     0,     0,
     2819       0,     0,     0,   288,     0,     0,     0,     0,     0,   277,
     2820       0,   278,     0,     0,     0,     0,     0,   507,     0,     0,
     2821       0,     0,     0,     0,     0,     0,   291,   375,   293,   294,
     2822     295,   296,   279,     0,     0,     0,     0,     0,   280,     0,
     2823       0,     0,   281,     0,     0,   282,   283,   284,   285,    40,
     2824      41,     0,   286,   287,     0,     0,     0,     0,     0,     0,
     2825     288,     0,     0,     0,     0,     0,   277,     0,   278,     0,
     2826       0,     0,     0,     0,   510,     0,     0,     0,     0,     0,
     2827       0,     0,     0,   291,   375,   293,   294,   295,   296,   279,
     2828       0,     0,     0,     0,     0,   280,     0,     0,     0,   281,
     2829       0,     0,   282,   283,   284,   285,    40,    41,     0,   286,
     2830     287,     0,     0,     0,     0,     0,     0,   288,     0,     0,
    27532831       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2754        0,   290,     0,   374,     0,     0,   167,     0,     0,     0,
    2755      292,   376,   294,   295,   296,   297,     0,   278,     0,   279,
    2756     1051,     0,  1052,     0,  -126,  1053,  1054,  1055,  1056,  1057,
    2757     1058,  1059,  1060,     0,  1061,     0,     0,  1062,    32,     0,
    2758      280,     0,     0,     0,     0,     0,   642,     0,     0,     0,
    2759      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2760      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2762        0,     0,   290,     0,   374,     0,     0,   167,     0,     0,
    2763        0,   292,   376,   294,   295,   296,   297,     0,     0,     0,
    2764        0,     0,     0,     0,     0,  -126,     2,   202,     4,     5,
     2832       0,   513,     0,     0,     0,     0,     0,     0,     0,     0,
     2833     291,   375,   293,   294,   295,   296,     2,   202,     4,     5,
    27652834       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    27662835      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2767        0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2768        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2769       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    2770       26,    27,    33,     0,    34,     0,    35,    30,     0,    37,
    2771       38,     0,   278,     0,   279,  1051,     0,  1052,  1394,  1395,
    2772     1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,  1507,  1061,
    2773       33,  1307,  1062,    32,     0,   280,     0,    37,    38,     0,
    2774        0,   642,     0,     0,     0,   282,     0,     0,   283,   284,
    2775      285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
    2776        0,     0,     0,   289,     0,     0,     0,     0,     0,     0,
    2777        0,     0,     0,     0,     0,     0,     0,   290,     0,   374,
    2778        0,     0,   167,     0,     0,     0,   292,   376,   294,   295,
    2779      296,   297,   278,     0,   279,  1051,     0,  1052,  1394,  1395,
    2780     1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,     0,  1061,
    2781        0,     0,  1062,    32,     0,   280,     0,     0,     0,     0,
    2782        0,   642,     0,     0,     0,   282,     0,     0,   283,   284,
    2783      285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
    2784        0,     0,     0,   289,     0,     0,     0,     0,     0,   278,
    2785        0,   279,     0,     0,     0,     0,     0,   290,     0,   374,
    2786        0,     0,   167,     0,     0,     0,   292,   376,   294,   295,
    2787      296,   297,   280,     0,     0,     0,     0,     0,   281,     0,
    2788        0,     0,   282,     0,     0,   283,   284,   285,   286,    40,
    2789       41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    2790      289,     0,     0,     0,     0,     0,   278,     0,   279,     0,
    2791        0,     0,     0,     0,   290,     0,   374,     0,     0,     0,
    2792        0,     0,   802,   292,   376,   294,   295,   296,   297,   280,
    2793        0,     0,     0,     0,     0,   281,     0,     0,     0,   282,
    2794        0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
    2795      288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
    2796        0,     0,     0,   278,     0,   279,     0,     0,     0,     0,
    2797        0,   290,     0,   374,     0,     0,   982,     0,     0,     0,
    2798      292,   376,   294,   295,   296,   297,   280,     0,     0,     0,
    2799        0,     0,   281,     0,     0,     0,   282,     0,     0,   283,
    2800      284,   285,   286,    40,    41,     0,   287,   288,     0,     0,
    2801        0,     0,     0,     0,   289,     0,     0,     0,     0,     0,
    2802      278,     0,   279,     0,     0,     0,     0,     0,   290,     0,
    2803      374,     0,     0,     0,     0,     0,     0,   292,   376,   294,
    2804      295,   296,   297,   280,     0,     0,     0,     0,     0,   281,
    2805        0,     0,     0,   282,     0,     0,   283,   284,   285,   286,
    2806       40,    41,     0,   287,   288,     0,     0,     0,     0,     0,
    2807        0,   289,     0,     0,     0,     0,     0,   278,     0,   279,
    2808        0,     0,     0,     0,     0,   290,     0,   374,     0,     0,
    2809        0,     0,     0,     0,   292,   726,   294,   295,   296,   297,
    2810      280,     0,     0,     0,     0,     0,   642,     0,     0,     0,
    2811      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2812      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2813        0,     0,     0,     0,   278,     0,   279,     0,     0,     0,
    2814        0,     0,   290,     0,   776,     0,     0,     0,     0,     0,
    2815        0,   292,   376,   294,   295,   296,   297,   280,     0,     0,
    2816        0,     0,     0,   281,     0,     0,     0,   282,     0,     0,
    2817      283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
    2818        0,     0,     0,     0,     0,   289,     0,     0,     0,     0,
    2819        0,   278,     0,   279,     0,     0,     0,     0,     0,   290,
    2820        0,   374,     0,     0,     0,     0,     0,     0,   292,   817,
    2821      294,   295,   296,   297,   280,     0,     0,     0,     0,     0,
    2822      281,     0,     0,     0,   282,     0,     0,   283,   284,   285,
    2823      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2824        0,     0,   289,     0,     0,     0,     0,     0,   278,     0,
    2825      279,     0,     0,     0,     0,     0,   508,     0,     0,     0,
    2826        0,     0,     0,     0,     0,   292,   376,   294,   295,   296,
    2827      297,   280,     0,     0,     0,     0,     0,   281,     0,     0,
    2828        0,   282,     0,     0,   283,   284,   285,   286,    40,    41,
    2829        0,   287,   288,     0,     0,     0,     0,     0,     0,   289,
    2830        0,     0,     0,     0,     0,   278,     0,   279,     0,     0,
    2831        0,     0,     0,   290,     0,     0,     0,     0,     0,     0,
    2832        0,     0,   292,   376,   294,   295,   296,   297,   280,     0,
    2833        0,     0,     0,     0,   281,     0,     0,     0,   282,     0,
    2834        0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
    2835        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
    2836        0,     0,   278,     0,   279,     0,     0,     0,     0,     0,
    2837      512,     0,     0,     0,     0,     0,     0,     0,     0,   292,
    2838      376,   294,   295,   296,   297,   280,     0,     0,     0,     0,
    2839        0,   281,     0,     0,     0,   282,     0,     0,   283,   284,
    2840      285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
    2841        0,     0,     0,   289,     0,     0,     0,     0,     0,     0,
    2842        0,     0,     0,     0,     0,     0,     0,   515,     0,     0,
    2843        0,     0,     0,     0,     0,     0,   292,   376,   294,   295,
    2844      296,   297,     2,   202,     4,     5,     6,     7,     8,     9,
    2845       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2846       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
    2847        0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
     2836       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    28482837       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2849        0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2850       34,     0,    35,    36,     0,   170,   171,    39,     0,     0,
    2851        0,     0,     0,     0,    40,    41,   201,     2,   202,     4,
     2838       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2839       0,     0,    33,     0,    34,     0,    35,    36,     0,   170,
     2840     171,    39,     0,     0,     0,     0,     0,     0,    40,    41,
     2841     201,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2842      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2843      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2844       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
     2845       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2846       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     2847       0,    35,     0,     0,   203,    38,   467,     2,   202,     4,
    28522848       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    28532849      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    28562852       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28572853       0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
    2858      203,    38,   469,     2,   202,     4,     5,     6,     7,     8,
    2859        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2860       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2861       27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
     2854      37,    38,     2,   202,     4,     5,     6,     7,     8,     9,
     2855      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2856      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2857       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
    28622858       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2863        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2864        0,    34,     0,    35,     0,     0,    37,    38,     2,   202,
    2865        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2866       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2867       24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2868        0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
     2859       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2860      34,     0,    35,     0,     0,   203,    38,     8,     9,    10,
     2861      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2862      21,    22,    23,    24,     0,     0,    25,    26,    27,   485,
     2863     486,   487,     0,     0,    30,     8,     9,    10,    11,    12,
     2864      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2865      23,    24,     0,     0,    25,    26,    27,    33,     0,     0,
     2866       0,     0,    30,     0,    37,    38,     0,     0,     0,     0,
    28692867       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2870        0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
    2871        0,   203,    38,     8,     9,    10,    11,    12,    13,    14,
    2872       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2873        0,     0,    25,    26,    27,   487,   488,   489,     0,     0,
    2874       30,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2875       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2876       25,    26,    27,    33,     0,     0,     0,     0,    30,     0,
    2877       37,    38,     0,     0,     0,     0,     0,     0,     0,     0,
    2878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2879        0,    33,     0,     0,     0,     0,     0,     0,   203,    38
     2868       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2869       0,     0,   203,    38
    28802870};
    28812871
    28822872#define yypact_value_is_default(yystate) \
    2883   ((yystate) == (-1318))
     2873  ((yystate) == (-1269))
    28842874
    28852875#define yytable_value_is_error(yytable_value) \
     
    28882878static const yytype_int16 yycheck[] =
    28892879{
    2890        1,    42,     0,    42,     0,   181,    42,   235,   181,   165,
    2891      181,     1,   451,   200,   182,   182,   215,   648,   690,   181,
    2892      181,   484,   181,   181,   275,   602,   344,   113,   103,   751,
    2893      252,   622,   690,    31,   494,    31,   690,    31,   498,   604,
    2894      457,   892,   988,   359,    42,   602,    44,   363,    44,  1317,
    2895        1,   534,   602,   995,  1031,     0,    54,    37,    37,   183,
    2896      602,   604,    60,   602,    60,    63,   450,    63,    66,   605,
    2897       66,   344,    37,   572,   101,   611,    66,   152,    65,    65,
    2898      771,  1398,    65,    49,   715,   261,    31,    75,   261,    42,
    2899      261,  1394,   412,    44,   262,   262,   768,   691,    42,   261,
    2900      261,  1043,   261,   261,   602,    37,   104,  1030,  1031,   107,
    2901      768,   197,   432,   101,   768,   113,    27,    75,    57,   713,
    2902      440,    42,   101,   103,   103,   111,     0,    89,    75,   340,
    2903       42,    43,    37,   257,   258,   101,   101,   124,   103,   523,
    2904      181,   124,   181,  1411,   602,   181,   144,   892,   144,   101,
    2905      102,     0,   103,   115,   152,  1458,   103,    31,   109,   157,
    2906       71,   157,   101,   420,   421,  1482,    42,    43,    65,   101,
    2907     1487,   103,   101,   636,   637,   638,    37,    65,   290,   736,
    2908        0,     1,    31,   181,   182,  1050,   182,  1504,   277,    88,
    2909      412,   654,   143,    65,  1511,   107,    44,   892,    65,   197,
    2910       75,   152,    75,    37,    29,   404,   103,   205,    78,   205,
    2911      432,    31,    11,     0,    63,   103,   214,   490,   440,   217,
    2912      261,   217,   261,   122,   101,   261,   689,   102,   181,   102,
    2913      106,   103,   400,   400,   109,   105,   103,   181,   736,   496,
    2914      101,   104,   103,    63,    31,   108,    66,   248,  1225,   247,
    2915      201,   247,   829,   247,   205,    80,    81,   514,     0,     1,
    2916      181,   109,   337,   261,   262,   728,   262,   101,   104,   103,
    2917      268,   710,   829,   484,   590,   106,   841,   275,   736,   829,
    2918      108,    75,   450,   450,   235,   236,   604,   829,   289,    31,
    2919      829,   366,   492,    73,  1240,   831,   124,  1274,   841,     0,
    2920        1,   764,   247,  1487,   390,  1050,   997,   101,   420,   421,
    2921      809,    73,    42,    43,   482,   482,   267,   633,    75,   270,
    2922     1504,    63,   579,   103,    66,   105,   324,  1511,   324,   109,
    2923       31,   829,   418,   153,    54,    89,  1487,  1059,   424,   290,
    2924      108,   103,   293,   105,     0,   343,   344,   109,   111,   123,
    2925     1273,  1274,   109,   116,   117,   818,   124,   205,  1053,  1210,
    2926     1511,   115,   360,   683,   224,    66,   364,    65,   217,    67,
    2927       68,   829,   949,   247,   968,    31,   106,   104,   252,   101,
    2928      108,   108,   593,   243,   104,   950,   337,   107,   236,   340,
    2929        3,    65,   390,    67,    68,     3,   508,   217,   247,   949,
    2930      512,   123,   400,   515,   400,   103,   606,   949,   359,   108,
    2931      610,   622,   363,  1390,   239,   366,   627,   506,  1009,   267,
    2932      418,    65,  1287,    67,    68,   124,   424,   247,   426,   102,
    2933       67,   631,   106,   108,    71,   635,   109,    74,   102,    76,
    2934     1382,  1383,   290,    65,   108,   293,    83,    69,   108,   124,
    2935      123,   526,   450,     0,    76,    77,   568,   101,   107,   108,
    2936      247,   683,   106,     0,    52,  1210,   102,  1390,   469,   420,
    2937      421,   101,   108,   508,   123,   217,   474,   512,   689,   101,
    2938      515,   103,  1018,  1019,   482,   102,   482,   101,   486,   111,
    2939      486,   108,   490,   649,   214,  1126,   345,   448,   958,   750,
    2940      451,   918,   102,   725,   820,   247,   457,    95,   824,   109,
    2941      993,   108,   123,   514,   690,  1210,   102,   690,   469,   690,
    2942      113,   114,   108,   841,   692,   692,  1120,   124,   690,   690,
    2943      531,   690,   690,   534,   658,   536,   101,  1102,   412,   101,
    2944      108,   486,  1287,   494,   928,   496,   247,   498,   268,   121,
    2945      375,   123,   936,   764,   102,   275,   124,   508,   432,    83,
    2946       84,   512,   108,   514,   515,  1287,   440,  1030,   841,  1434,
    2947      656,   208,   108,   108,   108,   526,  1441,   108,   124,   668,
    2948      107,   102,   583,  1177,  1178,     0,   108,   108,   124,   124,
    2949      124,   247,   590,   124,   118,   119,   252,   981,   914,   101,
    2950      448,   189,   124,   451,   602,  1300,   604,   427,   466,   457,
    2951      484,   101,   486,   688,   637,   638,    31,   108,   104,   101,
    2952     1485,   103,   108,   343,   212,   623,   475,    42,   579,    44,
    2953      455,   654,   101,   124,   222,   460,    44,   486,  1360,   590,
    2954      360,   639,   593,   102,   364,    60,   102,   104,    63,  1088,
    2955      109,    66,   108,   108,   655,   653,   657,   104,   656,  1354,
    2956      508,   108,  1357,   863,   512,   754,   486,   515,   493,   124,
    2957      495,   622,   102,   636,   637,   638,   627,   102,   108,   878,
    2958      102,   954,   633,  1146,    65,   102,    67,    68,   763,  1434,
    2959      102,   654,   690,   104,   692,   102,  1441,   108,  1461,   486,
    2960      899,   109,   290,  1398,  1467,   728,   101,   527,  1403,   102,
    2961      347,   104,   349,    81,    82,   108,  1438,   101,  1440,   103,
    2962      101,  1484,   723,    85,    86,   106,  1489,   111,   884,   144,
    2963      123,   124,   960,  1428,   101,   143,   103,   688,   736,   737,
    2964     1485,   101,   157,   103,   486,     4,     5,     6,     7,     8,
    2965        9,   111,   750,   101,  1118,   955,   412,   102,  1122,   710,
    2966      928,   928,   101,   108,  1486,   728,   181,   182,   936,   936,
    2967      124,   591,   101,  1089,   103,   624,   432,   101,   102,   103,
    2968      102,   102,   111,  1377,   440,   486,   108,   108,   102,   740,
    2969      205,   101,   102,   103,   108,   818,    57,   205,  1009,   436,
    2970     1394,   101,   217,    62,   591,    64,   101,  1502,   103,   683,
    2971     1273,   101,   763,  1508,   672,   689,   636,   637,   638,  1491,
    2972      645,   104,  1517,   102,   108,   109,  1521,   235,   124,   108,
    2973      486,   829,   247,  1491,   654,  1022,    65,  1491,    67,    68,
    2974       69,    65,   106,   841,   102,    69,   261,    76,    77,   437,
    2975      108,   725,    76,    77,   102,   818,   101,   102,   103,   267,
    2976      108,   124,   710,  1457,  1458,   124,   101,   716,   103,   820,
    2977      102,   124,   101,   824,   103,   106,   108,   101,    44,    65,
    2978      705,   730,   111,   471,   106,   293,   711,   111,   101,  1045,
    2979      764,   892,   102,   102,    60,   102,   102,    63,   108,   108,
    2980       66,   108,   108,   623,   557,   558,   559,   560,   728,   324,
    2981       10,    11,    12,    13,    14,    65,   914,    67,    68,   639,
    2982      508,   101,   102,   103,   512,   101,   101,   515,   103,   344,
    2983      928,   104,   340,   653,   101,  1146,   103,    37,   936,     4,
    2984        5,     6,     7,     8,     9,    75,   101,   805,   103,    75,
    2985       65,     0,     1,   101,    69,   103,   954,   815,   102,   103,
    2986       60,    76,    77,   914,  1246,  1247,  1248,   918,   101,   959,
    2987      103,   112,   830,   822,   695,   120,   697,    87,   144,    78,
    2988       79,    80,    31,    54,    55,   400,   101,   108,   109,   990,
    2989      121,   157,   993,   101,   995,    44,   111,    62,   818,    64,
    2990      123,   101,   101,   103,   103,   825,   105,   958,   959,   960,
    2991      103,   111,   420,   421,  1225,   101,   182,    66,   892,    65,
    2992      104,    67,    68,    69,  1110,   108,   109,   683,   104,  1118,
    2993      750,    42,    43,  1122,  1123,   450,   553,   554,   825,   205,
    2994      555,   556,  1043,   892,   102,   561,   562,   102,   102,   102,
    2995      102,   217,  1053,   101,   103,  1056,  1057,  1058,  1009,   884,
    2996      102,   104,   103,   108,   104,   101,   891,   123,   106,   725,
    2997      918,   486,   892,   104,   102,   490,   102,   104,  1190,  1191,
    2998      104,  1193,   104,   671,   104,   108,  1470,  1199,   496,    28,
    2999     1202,   109,   680,   109,    63,   144,   684,    10,    11,    12,
    3000       13,    14,   102,   152,   153,   892,   514,   102,   104,   106,
    3001      109,    80,  1110,   107,    10,    11,    12,    13,    14,   102,
    3002      107,   107,   101,   108,    37,   102,   124,   102,   102,  1513,
    3003      102,  1206,   102,   182,   102,   466,   109,  1088,  1089,   959,
    3004      102,    37,   108,   102,   102,   114,  1235,    60,   197,   102,
    3005      892,   200,   201,   102,   102,   975,   205,   982,   324,   102,
    3006      102,   102,   102,  1012,    60,   102,   102,   102,    28,  1027,
    3007     1028,   579,   123,   107,   104,   102,  1050,   226,   102,   102,
    3008      102,   230,   107,   232,   104,   593,     3,   602,   157,   604,
    3009      108,   892,   241,    10,    11,    12,    13,    14,   247,  1189,
    3010      104,  1050,   102,   252,   102,   101,   108,   103,  1206,  1210,
    3011     1030,  1031,   102,   262,   622,   111,   109,   959,   106,   627,
    3012       37,   270,   108,   108,   104,  1083,  1084,   102,   102,  1318,
    3013     1050,   108,   108,  1322,   400,   102,   892,   101,   104,  1229,
    3014     1088,   104,   101,    60,  1356,  1246,  1247,  1248,   217,    65,
    3015      101,    67,    68,    69,  1079,  1206,   101,   101,   959,   109,
    3016       76,    77,    65,  1050,    67,    68,    69,   124,   107,   102,
    3017     1498,   102,  1146,    76,    77,   690,   102,   692,  1229,   121,
    3018      107,   106,   104,   124,   108,     3,   255,  1373,   337,   104,
    3019      259,   340,    10,    11,    12,    13,    14,   346,   101,  1300,
    3020      108,   102,   104,   102,     0,   102,   104,    45,  1050,   104,
    3021      359,   104,   102,   104,   363,  1491,   104,   366,  1491,    37,
    3022     1491,   736,   737,   104,  1492,  1492,  1415,  1317,   916,  1491,
    3023     1491,   107,  1491,  1491,   102,    31,  1210,   124,   124,  1188,
    3024      124,   672,    60,   107,   124,  1513,  1513,   124,   109,  1050,
    3025      102,  1225,   107,  1354,   104,   104,  1357,   104,   104,  1184,
    3026      104,  1210,   104,   412,   104,  1223,  1317,   104,  1188,  1189,
    3027       66,   102,   102,   101,  1372,  1373,   345,   104,   427,   104,
    3028      101,  1382,  1383,   432,  1470,    55,    54,   102,   102,   106,
    3029     1210,   440,   124,   109,  1050,   104,  1254,  1398,   104,   102,
    3030      104,   102,  1403,    89,  1262,  1263,  1264,   101,   107,  1229,
    3031      102,   104,   102,  1287,   829,  1416,    40,   466,   102,   102,
    3032      469,  1411,   109,  1210,   124,   102,   841,  1428,   108,   124,
    3033       89,   102,     3,  1282,   109,   484,   102,   486,  1287,    10,
    3034       11,    12,    13,    14,   102,   494,  1188,  1189,  1306,   498,
    3035     1491,   124,  1491,  1273,  1274,  1491,   425,   153,   107,   124,
    3036     1411,   104,  1282,   104,   124,   101,    37,  1287,  1210,   124,
    3037     1471,   124,  1470,  1061,   805,  1476,   107,   526,   527,   672,
    3038      107,  1482,   102,   691,   815,   102,  1487,  1229,  1189,    60,
    3039      563,   565,  1443,  1491,  1492,   564,  1492,  1317,   566,   830,
    3040     1287,  1502,  1127,  1504,   567,   713,   475,  1508,    54,  1210,
    3041     1511,  1362,  1458,   928,  1210,  1513,  1517,  1513,  1521,  1296,
    3042     1521,   936,  1473,   572,  1473,  1123,  1322,  1441,  1229,  1079,
    3043      226,   448,   448,   936,   697,   884,   938,   982,   650,   954,
    3044     1282,   590,   591,   740,   593,  1287,   460,  1498,   583,  1229,
    3045      956,   247,   960,   486,  1210,   604,   252,   571,   104,    63,
    3046     1434,   107,   750,   571,   571,    -1,    -1,  1441,    -1,    -1,
    3047     1390,    -1,    -1,   622,    -1,  1317,    -1,    -1,   627,    -1,
    3048       -1,    -1,    -1,    -1,   633,  1434,  1287,   636,   637,   638,
    3049       -1,  1411,  1441,    -1,   802,  1443,    65,    -1,    67,    68,
    3050       69,  1009,    -1,    -1,    -1,   654,   152,    76,    77,    -1,
    3051      114,  1485,   805,    -1,  1434,     0,  1317,    -1,    -1,    -1,
    3052       -1,  1441,   815,   672,    -1,  1473,    -1,   596,    -1,    -1,
    3053       -1,  1287,   101,    -1,   683,    -1,  1485,   830,    -1,   688,
    3054      689,    -1,   111,   692,    -1,    -1,    31,  1434,    -1,    -1,
    3055      346,    -1,  1372,   157,  1441,   624,    -1,    -1,    -1,    -1,
    3056      629,    -1,    -1,    -1,    -1,  1485,    -1,    -1,   214,  1411,
    3057      185,    -1,   880,    -1,    -1,    -1,   725,   192,    -1,   728,
    3058       -1,    66,    65,    -1,    67,    68,    69,    -1,   737,    -1,
    3059       -1,   740,  1434,    76,    77,    -1,  1027,  1028,  1485,  1441,
    3060       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1295,    -1,    -1,
    3061     1411,    -1,    -1,   217,   763,   764,   412,    -1,   101,    -1,
    3062      769,    -1,   268,    65,    -1,    67,    68,    69,   111,   275,
    3063       -1,   427,    -1,  1434,    76,    77,   432,    -1,    -1,    -1,
    3064     1441,    -1,    -1,  1485,   440,    -1,    -1,   716,    -1,   264,
    3065       -1,   255,  1083,  1084,    -1,   259,   805,    -1,    -1,   101,
    3066      968,   730,    -1,    -1,    -1,    -1,   815,    -1,   153,   818,
    3067      466,   820,    -1,    -1,   823,   824,   825,    -1,  1434,    -1,
    3068       -1,   830,    -1,    -1,  1485,  1441,    -1,    -1,   484,   997,
    3069      486,   840,    10,    11,    12,    13,    14,   343,    -1,    -1,
    3070       -1,    -1,    -1,    -1,   319,    10,    11,    12,    13,    14,
    3071       -1,    -1,   327,    -1,   360,   330,    -1,    -1,   364,    37,
    3072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1485,
    3073       -1,   527,    37,    -1,  1027,  1028,    -1,    -1,    -1,  1047,
    3074       -1,   345,    60,   892,    -1,    -1,    -1,    65,    -1,    67,
    3075       68,    69,    -1,   822,  1442,    60,    -1,    -1,    76,    77,
    3076       65,    -1,   247,    -1,    69,   914,    -1,   252,    -1,    -1,
    3077       -1,    76,    77,    -1,    -1,    -1,    -1,   392,    -1,    -1,
    3078      426,   396,    -1,   101,  1472,   103,    -1,    -1,    -1,    -1,
    3079     1083,  1084,  1223,   111,    -1,   591,   101,    -1,     0,    -1,
    3080       -1,   950,    -1,    -1,    -1,    -1,   111,    -1,    -1,   958,
    3081      959,    -1,  1120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3082       -1,   425,    -1,  1254,  1512,     0,   975,    -1,    -1,    31,
    3083       -1,  1262,  1263,  1264,    -1,    -1,  1524,    -1,    -1,    -1,
    3084      636,   637,   638,    -1,    -1,    -1,    -1,    -1,    -1,   279,
    3085       -1,    -1,    -1,    -1,    -1,    -1,    31,    -1,   654,    -1,
    3086     1009,   346,   292,   293,    66,    -1,   481,    -1,    -1,  1177,
    3087     1178,   475,    -1,  1022,   304,  1306,   672,    -1,  1027,  1028,
    3088       -1,  1030,  1031,    -1,    -1,    -1,    -1,   683,    -1,    -1,
    3089       -1,    66,    -1,   689,    -1,    10,    11,    12,    13,    14,
    3090       -1,  1050,     4,     5,     6,     7,     8,     9,    -1,    -1,
    3091      340,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
    3092       -1,    -1,    37,    76,    77,    -1,    -1,   412,    -1,   725,
    3093       32,    -1,   728,    -1,  1083,  1084,    -1,    -1,    -1,    -1,
    3094     1089,    -1,   427,  1012,   590,    60,   376,   432,   101,    -1,
    3095      103,   153,    -1,    -1,    -1,   440,   571,   572,   111,    -1,
    3096       62,  1254,    64,    -1,    -1,    -1,    -1,    -1,   764,  1262,
    3097     1263,  1264,    -1,    -1,    -1,    -1,  1491,   623,   153,    -1,
    3098       -1,   466,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3099     1498,    -1,   596,   639,    -1,    -1,   111,  1146,    -1,   484,
    3100       65,   486,    67,    68,    69,    -1,    -1,   653,    -1,   805,
    3101       -1,    76,    77,  1306,    -1,    -1,    63,    -1,    -1,   815,
    3102      624,    -1,   818,    -1,    -1,   629,    73,   823,    -1,   825,
    3103       -1,    -1,    -1,    -1,   830,    -1,   101,    -1,   103,    -1,
    3104     1189,    -1,   527,    -1,   659,   247,   111,    -1,   663,    -1,
    3105      252,    65,    -1,    67,    68,    69,    -1,  1206,    -1,    -1,
    3106       -1,  1210,    76,    77,    -1,    -1,    -1,   114,    -1,  1377,
    3107       -1,    -1,   247,    -1,  1223,    -1,  1225,   252,    -1,    -1,
    3108     1229,   696,    -1,    -1,    -1,    -1,  1394,   101,    -1,   103,
    3109       -1,    -1,    -1,    -1,    -1,   109,   892,   111,    -1,    -1,
    3110       -1,    -1,    -1,    -1,   750,  1254,   591,    -1,    -1,    -1,
    3111      157,    -1,   716,  1262,  1263,  1264,    -1,    -1,    -1,  1188,
    3112      550,   551,   552,    -1,  1273,  1274,   730,    90,    91,    92,
    3113       93,    94,    95,    96,    97,    98,    99,    -1,  1287,    -1,
    3114       -1,    -1,    -1,    -1,   346,    -1,    -1,    -1,    -1,  1457,
    3115     1458,   636,   637,   638,    -1,    -1,    -1,  1306,    -1,    -1,
    3116      123,    -1,    -1,   593,    -1,    -1,    -1,    -1,  1317,   654,
    3117      217,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   975,
    3118       -1,    -1,    -1,    -1,    -1,    -1,    -1,   672,    -1,    10,
    3119       11,    12,    13,    14,   809,    -1,    -1,    -1,   683,    -1,
    3120       -1,    -1,    -1,    -1,   689,    -1,    -1,    -1,   255,    -1,
    3121      412,    -1,   259,  1282,    -1,    -1,    37,    -1,   822,    -1,
    3122       -1,    -1,    -1,    -1,    -1,   427,    -1,    -1,   275,    -1,
    3123      432,  1027,  1028,    -1,  1030,  1031,    -1,   412,   440,    60,
    3124      725,  1390,    -1,   728,    65,    -1,    67,    68,    69,    -1,
    3125       -1,    -1,   427,    -1,  1050,    76,    77,   432,    -1,    -1,
    3126       -1,    -1,  1411,    -1,   466,   440,    -1,    -1,   914,    -1,
    3127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   764,
    3128      101,    -1,   484,    -1,   486,  1434,    -1,  1083,  1084,    -1,
    3129      111,   466,  1441,    -1,    -1,    -1,   726,    -1,   345,    -1,
    3130       -1,    -1,    -1,    -1,    -1,    -1,    -1,   922,    -1,   484,
    3131       -1,   486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3132      805,    -1,    -1,    -1,    -1,   527,    -1,    -1,    -1,    -1,
    3133      815,    -1,    -1,   818,    -1,    -1,  1485,    -1,   823,    -1,
    3134      825,   771,    -1,  1492,    -1,   830,    -1,    -1,    -1,    -1,
    3135     1146,    -1,   527,    -1,     3,     4,     5,     6,     7,     8,
    3136        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3137       19,    20,    21,    22,    23,    24,    25,    26,   425,    -1,
    3138       29,    30,    31,    -1,   999,    -1,    -1,   817,    37,   591,
    3139       -1,    -1,    -1,  1189,    -1,   442,    -1,    -1,    -1,    -1,
    3140     1015,    -1,    -1,    -1,    -1,    -1,    -1,   892,  1012,    -1,
    3141       -1,    60,    -1,    62,  1210,    64,   591,    -1,    67,    68,
    3142       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1223,   475,  1225,
    3143       -1,    -1,    -1,    -1,   636,   637,   638,    -1,    -1,    -1,
     2880       1,    42,     0,   235,     0,   215,    42,   687,    42,   181,
     2881     103,   181,     1,   687,    32,   687,   165,   620,   181,   275,
     2882     343,     0,   183,  1023,    31,   182,   987,   748,   449,   455,
     2883     181,   181,   645,    31,   600,    31,   181,  1305,   602,   182,
     2884     600,     0,   181,   532,    42,   276,    44,   276,    44,   492,
     2885       1,   600,    31,   496,   570,   343,    54,   603,   887,   152,
     2886     887,   980,    60,   609,    60,    63,    42,    63,    66,    37,
     2887      66,   600,    31,   767,  1035,    42,   448,    66,   113,  1042,
     2888     602,     0,     0,    42,   764,    44,   600,    42,    65,   261,
     2889     764,   261,   764,    44,   490,   600,   257,   258,   261,   712,
     2890      75,    60,   419,   420,    63,   262,   104,    66,    44,   107,
     2891     261,   261,    31,    31,   102,   113,   261,   411,   101,   262,
     2892      65,   109,   261,    27,   600,     0,     1,  1395,  1022,  1023,
     2893      57,   339,    65,     0,   111,   103,   430,    89,    52,    78,
     2894     181,    42,    43,    89,   438,   181,   144,   181,   144,   521,
     2895      37,  1378,   103,    88,   152,   108,    31,   101,   109,   157,
     2896     101,   157,   197,   115,    31,    37,   105,    71,    37,   115,
     2897     103,   124,   358,   109,   101,    37,   362,   494,   224,   124,
     2898     252,    95,   200,   181,   182,   144,   182,   122,    63,    42,
     2899      43,    66,   143,   403,   104,   512,    63,   243,   157,   197,
     2900     488,   152,   635,   636,   733,   181,   107,   205,   604,   205,
     2901    1437,   123,   608,  1042,   181,  1215,   214,    75,   651,   217,
     2902     261,   217,   181,   182,     0,   261,   181,   261,   733,   101,
     2903      54,   103,   101,   629,   103,    37,  1382,   633,    65,   101,
     2904     247,   103,   399,   336,   102,   101,   205,   248,   108,   247,
     2905     201,   247,    44,   106,   205,    31,   399,   733,   217,   825,
     2906     577,   106,  1262,   261,   262,   825,   262,   123,   247,   205,
     2907     268,   102,   365,   837,   482,   189,   825,   275,   109,   602,
     2908     104,   827,    37,   107,   235,   236,   707,   288,   247,   805,
     2909       3,   448,   725,     0,     1,   989,   825,   124,   212,   101,
     2910     236,   103,   261,   102,  1464,   448,    42,    43,   222,  1228,
     2911     109,   825,  1275,  1459,    65,   837,   267,   109,  1464,   270,
     2912     825,  1464,    65,   480,    31,   323,  1486,   323,   247,   247,
     2913    1051,   267,     3,  1479,   252,   108,  1479,   480,   289,   411,
     2914    1486,   292,   217,  1486,   342,   343,   101,   108,   103,   825,
     2915     217,   143,   103,   289,   389,   102,   292,   101,   430,    66,
     2916     103,   359,   109,   124,   323,   363,   438,  1261,  1262,     0,
     2917     106,  1200,   247,  1200,  1374,   289,   123,   943,    65,     0,
     2918     247,   814,   417,   591,   343,   336,   680,   422,   339,   123,
     2919     214,   389,   101,    65,   943,    67,    68,    65,  1001,    67,
     2920      68,   399,   588,   399,  1440,  1366,  1367,   358,    54,   102,
     2921    1446,   362,   620,   205,   365,   108,   103,   625,    65,   417,
     2922      67,    68,   944,   108,   422,  1461,   424,   101,   102,   943,
     2923    1466,   524,   108,   101,   106,   634,   635,   636,   106,   124,
     2924     399,   102,   101,   235,   268,   631,  1275,   108,   124,   101,
     2925     448,   275,   651,  1416,   102,   289,   103,   688,   104,   688,
     2926    1423,   107,   101,   859,  1010,  1011,   467,   108,   419,   420,
     2927     464,   247,    83,    84,   472,   267,   252,   344,   686,   710,
     2928    1374,   710,   480,   124,   480,   108,   484,   913,   484,   448,
     2929     488,   747,   101,   411,   655,   446,   985,   646,   449,  1462,
     2930     292,   124,   101,  1116,   455,   484,   152,   118,   119,   952,
     2931     446,   512,   430,   449,   837,   687,   467,   687,   342,   455,
     2932     438,   435,   108,   104,   687,   484,   725,   108,   529,   488,
     2933     104,   532,   689,   534,   108,   359,   687,   687,   124,   363,
     2934     247,   492,   687,   494,   108,   496,   689,   339,   687,   837,
     2935     922,   108,   760,   949,  1275,   469,   507,   482,   930,   510,
     2936     124,   512,   513,   108,   482,   484,   484,   124,   214,   798,
     2937     101,   507,  1094,   524,   510,   108,   111,   513,   104,   124,
     2938     581,   116,   117,   101,   108,   419,   420,  1416,   102,   108,
     2939     588,   124,   685,   507,  1423,    65,   510,    67,    68,   513,
     2940     124,   973,   600,    67,   602,   124,   473,    71,   680,   484,
     2941      74,   101,    76,   103,   102,   814,   108,   484,   653,    83,
     2942     108,   111,   268,   621,   102,  1346,   577,   419,   420,   275,
     2943     816,   101,   124,  1462,   820,   411,   106,   588,   104,   637,
     2944     591,   600,   108,   602,   102,   104,   101,   876,   103,   108,
     2945     722,   652,   650,   654,   430,   653,   111,   113,   114,  1080,
     2946     948,   102,   438,   104,   874,   507,   759,   108,   510,   620,
     2947     589,   513,   101,   507,   625,   669,   510,   104,   102,   513,
     2948     631,   108,   123,   124,   894,   101,   103,   103,   105,   687,
     2949     102,   689,   109,    65,   102,   111,   342,    69,   101,  1420,
     2950     108,  1422,   494,   107,    76,    77,    85,    86,   484,   634,
     2951     635,   636,   103,   359,   105,   102,    57,   363,   109,   720,
     2952     512,   108,   954,   909,   108,   109,   651,   102,   687,   101,
     2953     689,   880,   566,   108,   685,   733,   734,   102,   124,   111,
     2954     102,   102,  1463,   108,   208,   102,   108,   108,   101,   747,
     2955      29,   108,   102,   102,   668,   622,   707,   101,   108,   108,
     2956     989,   686,   680,   677,   102,   922,   102,   681,   686,   104,
     2957     108,   707,   108,   930,   733,   734,   124,   484,   424,   922,
     2958      65,   106,    67,    68,    69,   577,   737,   930,  1468,   102,
     2959     106,    76,    77,  1001,  1468,   108,  1468,   621,   124,   591,
     2960     725,    80,    81,    63,   722,   124,   102,   801,   759,    65,
     2961    1039,    65,   108,   637,   106,    69,   101,   811,   102,   102,
     2962      80,    44,    76,    77,   108,   108,   650,   825,   620,   101,
     2963     102,   103,   826,   625,   121,   760,   123,    60,   101,   837,
     2964      63,    75,   760,    66,    81,    82,   713,   101,   278,    10,
     2965      11,    12,    13,    14,   114,   104,    65,   111,    67,    68,
     2966     727,   291,   292,   102,   103,   816,   825,   112,    65,   820,
     2967      67,    68,    69,   303,   120,   101,    37,   103,   837,  1110,
     2968     121,  1110,   346,     3,   348,   101,   887,   103,  1037,   814,
     2969      10,    11,    12,    13,    14,  1081,   101,   157,   103,    60,
     2970      87,   101,   821,   103,   680,   123,    78,    79,    80,   339,
     2971     103,   909,   555,   556,   557,   558,   101,    37,   101,   102,
     2972     103,   144,   101,   747,   922,   101,   102,   103,  1136,   101,
     2973     104,   103,   930,   105,   157,   104,  1167,  1168,  1167,  1168,
     2974      60,   101,   588,   103,   102,   375,   722,   101,   102,   103,
     2975     948,   818,  1234,  1235,  1236,    54,    55,   217,   909,   182,
     2976     239,   102,   913,   922,   953,   101,   101,   103,   887,   887,
     2977     434,   930,   101,   104,   103,   621,    65,   913,    67,    68,
     2978      69,   982,   205,   101,   985,   103,   987,    76,    77,   948,
     2979     101,   637,   103,   102,   217,   255,  1014,   911,   692,   259,
     2980     694,   952,   953,   954,   650,   108,   109,  1215,    42,    43,
     2981     551,   552,   887,   104,     4,     5,     6,     7,     8,     9,
     2982     887,   553,   554,   559,   560,  1019,  1020,   102,   102,   102,
     2983     887,   103,   108,   101,  1035,   123,   106,   104,   102,     0,
     2984       1,   102,   104,   109,  1045,   104,   104,  1048,  1049,  1050,
     2985    1001,   104,     4,     5,     6,     7,     8,     9,   109,   108,
     2986      28,    75,   102,   102,   106,   109,   104,  1102,   124,   102,
     2987      31,    32,    62,   108,    64,   107,   107,  1449,   953,   107,
     2988      32,  1075,  1076,    44,   344,   101,    10,    11,    12,    13,
     2989      14,   102,    75,   102,   102,   374,   109,  1022,   102,   102,
     2990     323,   747,   102,  1196,  1102,    66,   108,   102,   102,   102,
     2991      62,   887,    64,    37,   102,   102,  1488,   102,   548,   549,
     2992     550,   102,   102,  1042,  1042,   102,   102,   102,   102,  1080,
     2993    1081,   102,    28,   102,   124,   107,    60,  1004,   104,  1053,
     2994     102,    65,   103,   102,  1080,    69,   104,  1378,   102,  1378,
     2995     123,   107,    76,    77,   104,   108,   102,   102,   102,   108,
     2996     101,   591,   954,   423,   106,   108,   104,  1042,   108,   102,
     2997     102,   108,   108,   102,   453,  1042,   399,   101,   104,   458,
     2998     887,   101,   101,   144,   101,   101,   101,   111,  1045,   124,
     2999    1179,   152,   153,   104,   107,   109,   102,   102,  1196,  1200,
     3000     102,   124,   106,   121,   107,  1436,  1437,  1436,  1437,  1001,
     3001     108,  1136,   491,   473,   493,   104,   108,   104,  1136,  1213,
     3002     102,   182,   102,   102,   102,    45,    63,   104,   104,   104,
     3003    1219,   104,   104,  1234,  1235,  1236,   197,   104,   124,   200,
     3004     201,   124,   101,  1475,   205,  1196,   953,   107,  1242,   102,
     3005       4,     5,     6,     7,     8,     9,  1250,  1251,  1252,   124,
     3006     669,   124,   124,   909,   107,   226,  1042,   102,  1219,   230,
     3007     104,   232,   104,   104,   107,   104,   104,   114,   104,   104,
     3008     241,  1200,  1200,   104,   102,   102,   247,  1288,   104,   104,
     3009     101,   252,    55,   723,    54,   102,  1468,  1215,  1468,   102,
     3010    1294,   262,   106,  1178,  1179,  1468,    75,     0,    62,   270,
     3011      64,  1178,  1469,   109,   124,   104,  1305,  1468,  1468,   104,
     3012     157,   102,   104,  1468,  1359,  1200,  1469,   102,    89,  1468,
     3013     101,  1488,   104,  1200,   594,  1042,  1261,   767,    31,  1340,
     3014     107,    40,  1343,  1200,  1219,  1488,  1180,  1181,   124,  1183,
     3015     102,   102,   102,   102,  1305,  1189,  1275,  1275,  1192,   124,
     3016    1358,  1359,   622,   642,   108,  1366,  1367,   627,   109,  1283,
     3017     102,    89,   102,    66,   464,   336,   124,    75,   339,   124,
     3018     217,  1382,   109,   813,   345,   102,  1387,   107,   104,   104,
     3019     124,   101,   801,   107,   107,  1270,   102,   358,   124,   102,
     3020    1275,   362,   811,  1270,   365,   561,  1395,   665,  1275,  1410,
     3021     562,   564,   563,  1117,  1449,   565,  1200,   826,   255,  1348,
     3022    1437,  1496,   259,   702,  1200,  1284,  1452,  1468,  1112,   708,
     3023    1305,  1288,  1468,  1113,  1468,  1071,  1423,   930,   458,   446,
     3024     446,   694,   581,    65,  1395,    67,    68,    69,   932,  1450,
     3025     411,  1449,   974,   713,    76,    77,   647,   880,  1459,   737,
     3026     153,   950,  1219,  1464,   425,   484,   747,   727,   569,   430,
     3027    1468,  1469,  1179,  1469,  1425,   569,  1477,   438,  1479,   101,
     3028      -1,    -1,  1483,  1340,   569,  1486,  1343,    -1,    -1,  1425,
     3029    1488,  1492,  1488,  1200,    -1,  1496,    -1,  1416,  1416,  1275,
     3030      -1,  1452,    -1,   464,  1423,  1423,   467,   344,  1342,  1468,
     3031    1424,    -1,  1219,    -1,    -1,    65,  1452,    67,    68,    69,
     3032    1395,   482,    -1,   484,  1475,  1382,    76,    77,    -1,    -1,
     3033    1387,   492,    -1,   226,  1358,   496,    -1,  1451,    -1,    -1,
     3034      -1,  1416,    -1,  1462,  1462,    -1,    -1,    -1,  1423,  1416,
     3035    1196,   101,    -1,  1410,   247,    -1,  1423,    -1,   818,   252,
     3036      -1,   111,    -1,   524,   525,    -1,    -1,    -1,  1275,    -1,
     3037      -1,  1001,    65,  1487,    67,    68,    69,    -1,    -1,   669,
     3038      -1,    -1,    -1,    76,    77,  1499,   423,  1462,    10,    11,
     3039      12,    13,    14,    -1,    -1,  1462,    -1,    -1,  1305,    -1,
     3040      -1,   880,    -1,    -1,    -1,    -1,    -1,   886,   101,   570,
     3041    1019,  1020,  1042,    -1,    -1,    37,    -1,    -1,   111,    -1,
     3042    1477,    -1,    -1,    -1,    -1,     0,  1483,   588,   589,    -1,
     3043     591,    -1,    -1,    -1,    -1,  1492,   473,    -1,    60,  1496,
     3044    1416,   602,    -1,    -1,    -1,    -1,    -1,  1423,    -1,    -1,
     3045      -1,    -1,   345,    -1,    -1,    -1,    31,    -1,    -1,   620,
     3046      -1,    -1,    -1,    -1,   625,    -1,  1075,  1076,    -1,    -1,
     3047     631,    -1,    -1,   634,   635,   636,    -1,    -1,    -1,   101,
     3048      -1,   103,    -1,  1475,    -1,    -1,  1462,    -1,  1395,   111,
     3049     651,    66,    63,    -1,    -1,   974,    -1,    -1,    -1,    -1,
     3050      -1,    -1,    73,    -1,     0,     1,    -1,    -1,   669,  1416,
     3051      -1,   801,  1358,    -1,    -1,    -1,  1423,    -1,   411,   680,
     3052      -1,   811,    65,  1153,   685,   686,    69,    -1,   689,    -1,
     3053      -1,     3,   425,    76,    77,    31,   826,   430,    10,    11,
     3054      12,    13,    14,   114,  1004,   438,    -1,    -1,    -1,    -1,
     3055      -1,    -1,    -1,    -1,    -1,  1462,    -1,   594,   101,    -1,
     3056     103,   722,    -1,    -1,   725,    37,    -1,    63,   111,    -1,
     3057      66,   464,     3,   734,    -1,    -1,   737,    -1,   153,    10,
     3058      11,    12,    13,    14,    -1,   622,   157,    -1,    60,   482,
     3059     627,   484,  1071,    -1,    -1,    -1,    -1,    -1,   759,   760,
     3060      -1,    -1,    -1,    -1,   765,    -1,    37,    -1,    -1,    -1,
     3061      -1,    -1,    10,    11,    12,    13,    14,    -1,    10,    11,
     3062      12,    13,    14,    -1,    -1,    -1,    -1,    -1,   185,    60,
     3063      -1,    -1,   525,  1242,    -1,   192,    -1,    -1,    -1,    37,
     3064     801,  1250,  1251,  1252,    -1,    37,   217,    -1,    -1,    -1,
     3065     811,    -1,    -1,   814,    -1,   816,    -1,   153,   819,   820,
     3066     821,    -1,    60,    -1,    -1,   826,    -1,    65,    60,    67,
     3067      68,    69,   247,    -1,    -1,   836,   713,   252,    76,    77,
     3068      -1,    -1,    -1,    -1,   255,  1294,    -1,    -1,   259,    -1,
     3069     727,    -1,    -1,     0,    -1,  1174,   589,    -1,    -1,    -1,
     3070      -1,    -1,    -1,   101,   275,   103,    -1,   264,    -1,   101,
     3071      -1,   103,    -1,   111,    -1,    -1,    -1,    -1,  1178,   111,
     3072      -1,   217,    -1,    -1,    31,    -1,   887,    -1,    -1,  1019,
     3073    1020,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3074      -1,   634,   635,   636,    -1,    -1,    -1,    -1,   909,    -1,
     3075      -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,   651,    66,
     3076      -1,   318,    -1,    10,    11,    12,    13,    14,    -1,   326,
     3077     345,    -1,   329,   344,    -1,    -1,   669,    -1,    -1,    -1,
     3078      -1,   818,    -1,   944,    -1,  1075,  1076,   680,    -1,    -1,
     3079      37,   952,   953,   686,    -1,    -1,    -1,    65,    -1,    67,
     3080      68,    69,    -1,    25,    26,    27,   967,    -1,    76,    77,
     3081    1270,    -1,    -1,    60,    90,    91,    92,    93,    94,    95,
     3082      96,    97,    98,    99,    -1,    -1,    -1,    -1,    -1,   722,
     3083      -1,    -1,   725,   101,   391,   103,   411,    -1,   395,    -1,
     3084    1001,   109,    -1,   111,    -1,    -1,   153,   123,    -1,    -1,
     3085     425,    -1,   423,  1014,   101,   430,   103,    -1,  1019,  1020,
     3086      -1,  1022,  1023,   438,   111,    -1,    -1,   760,    -1,   440,
     3087      -1,    -1,    -1,    -1,    96,    -1,    98,    -1,    -1,    -1,
     3088      -1,  1042,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   464,
     3089      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3090      -1,    -1,   473,    -1,    -1,    -1,    -1,   482,   801,   484,
     3091      -1,    -1,    -1,    -1,  1075,  1076,    -1,    -1,   811,    37,
     3092    1081,   814,   479,  1213,    -1,    -1,   819,    -1,   821,   425,
     3093      -1,    -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,    -1,
     3094     247,    -1,    60,    -1,    -1,   252,    -1,    65,    -1,    -1,
     3095     525,    69,  1242,    -1,    -1,   177,    -1,    -1,    76,    77,
     3096    1250,  1251,  1252,    -1,    -1,   187,   188,  1004,    -1,    -1,
     3097     192,    -1,   194,   195,    -1,  1136,    -1,    -1,    -1,    -1,
     3098      -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,   484,    -1,
     3099      -1,    -1,    -1,   111,   887,    65,    -1,    67,    68,    69,
     3100      -1,    -1,    -1,    -1,  1294,    -1,    76,    77,    -1,    -1,
     3101      -1,     0,   569,   570,   589,    -1,    -1,    -1,  1179,    -1,
     3102      -1,    -1,    -1,   594,    -1,    -1,    -1,    -1,    -1,   525,
     3103      -1,   101,    -1,   103,    -1,  1196,    -1,    -1,   345,  1200,
     3104      -1,   111,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3105      -1,   622,  1213,    -1,  1215,    -1,   627,    -1,  1219,   634,
     3106     635,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3107      -1,    -1,    -1,    -1,   967,    -1,   651,    66,    -1,    -1,
     3108      -1,  1242,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1250,
     3109    1251,  1252,    -1,   589,   669,    -1,    -1,    -1,    -1,   656,
     3110    1261,  1262,    -1,   660,   411,   680,    -1,    -1,    -1,    -1,
     3111      -1,   686,    -1,    -1,  1275,    -1,    -1,    -1,   425,    -1,
     3112      -1,    -1,    -1,   430,    -1,    -1,  1019,  1020,    -1,  1022,
     3113    1023,   438,    -1,  1294,    -1,    -1,   693,    -1,   634,   635,
     3114     636,  1178,   713,    -1,  1305,    -1,    -1,   722,    -1,  1042,
     3115     725,    -1,    -1,    -1,    -1,   651,   727,   464,    -1,    -1,
     3116      -1,    -1,    -1,    -1,   153,    -1,    -1,    -1,    -1,    -1,
     3117      -1,    -1,    -1,    -1,    -1,   482,   747,   484,    -1,    -1,
     3118      -1,    -1,  1075,  1076,    -1,   760,    -1,    -1,    -1,    -1,
     3119      -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3120      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3121      25,    26,    -1,  1374,    29,    30,    31,    -1,   525,    -1,
     3122      -1,    -1,    37,    38,    -1,    -1,   801,    -1,    -1,   725,
     3123      -1,    -1,    -1,  1270,  1395,    -1,   811,    -1,    -1,   814,
     3124      -1,    -1,    -1,  1136,   819,    60,   821,   818,   805,    -1,
     3125      -1,   826,    67,    68,    -1,  1416,    -1,    -1,   247,    -1,
     3126      -1,    -1,  1423,   252,    -1,    -1,    -1,    -1,    -1,    -1,
    31443127      -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3145       14,    -1,   654,    -1,    -1,    -1,    -1,   106,  1254,    -1,
    3146       -1,   636,   637,   638,    -1,    -1,  1262,  1263,  1264,    -1,
    3147      672,    -1,    -1,    37,    -1,  1090,    -1,  1273,  1274,   654,
    3148       -1,   683,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
    3149      975,  1287,    -1,    50,    -1,    52,    60,   672,    55,    56,
    3150       57,    65,    59,    67,    68,    69,    -1,    -1,   683,    -1,
    3151     1306,    -1,    76,    77,   689,    -1,    -1,    74,    -1,    -1,
    3152       -1,    -1,    -1,   725,    -1,    -1,   728,    -1,    -1,    86,
    3153       87,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    3154       -1,    -1,  1027,  1028,    -1,  1030,  1031,   111,    -1,   596,
    3155      725,    -1,    -1,   728,    -1,    -1,    -1,    -1,    -1,    -1,
    3156     1206,    -1,   764,    -1,    -1,  1050,    -1,    -1,    -1,    -1,
    3157       -1,    -1,    -1,    -1,    -1,    -1,    -1,   624,    -1,  1009,
    3158       -1,    -1,   629,    -1,  1188,    -1,    -1,    -1,    -1,   764,
    3159       -1,    -1,    -1,    -1,  1390,    -1,    -1,    -1,  1083,  1084,
    3160       -1,    -1,    -1,   805,    -1,    -1,    -1,    10,    11,    12,
    3161       13,    14,    -1,   815,    -1,    -1,   818,    -1,    -1,    -1,
    3162     1050,   823,    -1,   825,    -1,    -1,    -1,    -1,   830,    -1,
    3163      805,    -1,    -1,    -1,    37,    -1,    -1,    -1,  1434,    -1,
    3164      815,    -1,    -1,   818,    -1,  1441,    -1,    -1,   823,    -1,
    3165      825,    -1,    -1,    -1,    -1,   830,    -1,    60,    -1,    -1,
    3166       -1,  1146,    65,    -1,    67,    68,    69,    -1,    -1,   716,
    3167       -1,    -1,    -1,    76,    77,    -1,    -1,    -1,  1282,    -1,
    3168       -1,    -1,    -1,   730,    -1,    -1,    -1,    -1,    -1,  1485,
    3169      892,    10,    11,    12,    13,    14,    -1,    -1,   101,    -1,
    3170      103,    -1,    -1,   750,  1189,    -1,    -1,    -1,   111,    -1,
    3171       -1,    -1,    -1,    -1,    -1,    -1,    -1,   892,    37,    -1,
    3172       -1,    -1,    -1,    -1,    -1,  1210,  1372,    -1,    -1,    -1,
    3173       -1,    -1,    -1,  1163,    -1,    -1,    -1,    -1,  1223,    -1,
    3174     1225,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
    3175       69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
    3176       -1,    -1,    25,    26,    27,    -1,    -1,    -1,    -1,  1254,
    3177       -1,    -1,    -1,   975,    -1,   822,    -1,  1262,  1263,  1264,
    3178       -1,    -1,   101,   340,   341,    -1,    -1,    -1,  1273,  1274,
    3179       -1,    -1,   111,    -1,    -1,   352,   353,    -1,    -1,    -1,
    3180      975,    -1,  1287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3128      14,    -1,   589,    -1,    -1,    -1,  1179,    -1,   103,    -1,
     3129      -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3130      -1,  1462,    65,    37,    67,    68,    69,  1200,  1469,    -1,
     3131      -1,    -1,   887,    76,    77,    -1,    -1,    -1,   814,    -1,
     3132    1213,    -1,  1215,    -1,    -1,   821,    60,   634,   635,   636,
     3133      -1,    65,    -1,    67,    68,    69,    -1,    -1,   101,    -1,
     3134     103,    -1,    76,    77,   651,    -1,    -1,    -1,   111,  1242,
     3135      -1,   573,   574,    -1,    -1,    -1,   345,  1250,  1251,  1252,
     3136     917,    -1,   669,    -1,    -1,    -1,    -1,   101,  1261,  1262,
     3137      -1,    -1,    -1,   680,    -1,    -1,    -1,   111,    -1,   686,
     3138      -1,   603,  1275,    -1,   606,   607,    -1,   609,    -1,   611,
     3139     612,   887,   967,    -1,   616,   617,    -1,    -1,    -1,    -1,
     3140      -1,  1294,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3141      -1,    -1,    -1,    -1,    -1,   722,    -1,    -1,   725,    -1,
     3142      -1,    -1,   411,    -1,    -1,    -1,    65,    -1,    67,    68,
     3143      69,    -1,    -1,  1004,   991,    -1,   425,    76,    77,    -1,
     3144      -1,   430,    -1,    -1,  1019,  1020,    -1,  1022,  1023,   438,
     3145    1007,    -1,    -1,   760,    50,    -1,    52,   953,    -1,    55,
     3146      56,    57,   101,    59,   103,    -1,    -1,  1042,    -1,    -1,
     3147      -1,   967,   111,    -1,    -1,   464,   698,   699,    74,    -1,
     3148      -1,  1374,   704,    10,    11,    12,    13,    14,    -1,    -1,
     3149      86,    87,    -1,   482,   801,   484,    -1,    -1,    -1,    -1,
     3150    1075,  1076,    -1,    -1,   811,    -1,    -1,   814,    -1,    -1,
     3151      37,    -1,   819,    -1,   821,    -1,    -1,    -1,    -1,   826,
     3152      -1,    -1,    -1,  1416,    -1,  1082,  1022,  1023,    -1,    -1,
     3153    1423,    -1,    -1,    60,    -1,    -1,   525,    -1,    65,    -1,
     3154      67,    68,    69,    -1,    -1,    -1,  1042,    -1,    -1,    76,
     3155      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3156      -1,  1136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1462,
     3157      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3158     887,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3159      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3160     589,    -1,    -1,    -1,  1179,    -1,    -1,  1178,    10,    11,
     3161      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3162      22,    23,    24,    25,    26,  1200,    -1,    29,    30,    31,
     3163      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,  1213,    -1,
     3164    1215,    -1,    -1,    -1,    -1,   634,   635,   636,    -1,    -1,
     3165      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3166     967,    -1,   651,    -1,    -1,    67,    68,  1242,    -1,    -1,
     3167      -1,    -1,    -1,    -1,    -1,  1250,  1251,  1252,    -1,    -1,
     3168     669,    -1,  1178,  1179,    -1,    -1,  1261,  1262,    -1,    -1,
     3169      -1,   680,    -1,    -1,    -1,    -1,    -1,   686,    -1,  1270,
     3170    1275,   103,    -1,    -1,  1200,   107,    -1,    -1,    -1,   111,
     3171      -1,    -1,  1019,  1020,    -1,  1022,  1023,    -1,    -1,  1294,
     3172      -1,    -1,    -1,  1219,    -1,    -1,    -1,    -1,    -1,    -1,
     3173      -1,    -1,    -1,   722,    -1,  1042,   725,    -1,    -1,    -1,
     3174      -1,    -1,    -1,   339,   340,    -1,    -1,    -1,    -1,    -1,
     3175      -1,    -1,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,
     3176      -1,    -1,    -1,    -1,    -1,  1261,  1262,    -1,  1075,  1076,
     3177      -1,   760,    -1,    -1,  1270,    -1,    -1,    -1,    -1,  1275,
     3178      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3179      19,    20,    21,    22,    23,    24,    25,    26,    27,  1374,
     3180      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,  1305,
     3181      -1,    -1,   801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3182      -1,    -1,   811,    -1,    -1,   814,    -1,    -1,    -1,  1136,
     3183     819,    60,   821,    -1,    -1,    -1,    -1,   826,    67,    68,
     3184      -1,  1416,    71,    -1,    -1,    -1,    -1,    -1,  1423,    -1,
     3185      -1,    -1,    -1,    -1,    -1,  1077,    -1,    10,    11,    12,
     3186      13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3187      -1,    -1,  1179,    -1,   103,    -1,    -1,    -1,  1374,    -1,
     3188      -1,    -1,   111,    -1,    37,    -1,    -1,  1462,    -1,    -1,
     3189      -1,    -1,    -1,  1200,    -1,    -1,    -1,    -1,   887,  1395,
     3190      -1,    -1,    -1,    -1,    -1,    -1,  1213,    60,  1215,    -1,
     3191      -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
     3192    1416,    -1,    -1,    76,    77,    -1,    -1,  1423,    -1,    -1,
     3193      -1,    -1,    -1,    -1,    -1,  1242,    -1,    -1,    -1,    -1,
     3194      -1,    -1,    -1,  1250,  1251,  1252,    -1,    -1,   101,    -1,
     3195     103,    -1,    -1,    -1,  1261,  1262,    -1,    -1,   111,    -1,
     3196      -1,    -1,    -1,    -1,    -1,    -1,  1462,    -1,  1275,    -1,
     3197      -1,    -1,    -1,    -1,    -1,  1197,    -1,    -1,   967,    -1,
     3198      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1294,    -1,     7,
     3199      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3200      -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
     3201      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    37,
     3202      38,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,
     3203    1019,  1020,    -1,  1022,  1023,    -1,    -1,    -1,    -1,    -1,
     3204      -1,    59,    60,    -1,    -1,    -1,    -1,    65,    -1,    -1,
     3205      -1,    69,    -1,  1042,    72,    73,    74,    75,    76,    77,
     3206      -1,    79,    80,    -1,    -1,    -1,    -1,  1374,    -1,    87,
     3207      -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,
     3208      -1,    -1,    -1,   101,    -1,   103,  1075,  1076,    -1,    -1,
     3209      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
     3210      -1,    -1,    -1,    -1,    -1,   143,    -1,    -1,    -1,  1416,
     3211      -1,    -1,    -1,    -1,    -1,   153,  1423,    -1,   714,   157,
     3212     716,    -1,    -1,    -1,    -1,    -1,    -1,   723,   724,    -1,
     3213      -1,    -1,   728,    -1,     7,    -1,    -1,    10,    11,    12,
     3214      13,    14,    -1,    -1,   740,    -1,    -1,  1136,    -1,   745,
     3215      -1,    -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,
     3216      -1,    -1,    -1,    36,    37,    38,    -1,   205,    -1,    -1,
     3217      -1,    -1,    -1,   769,    -1,    -1,    -1,    -1,    -1,   217,
     3218      -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,
     3219    1179,    -1,    65,    -1,    -1,    -1,    69,   235,   236,    72,
     3220      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3221      -1,  1200,    -1,    -1,    87,    -1,    -1,   813,    -1,    -1,
     3222      -1,   259,    -1,    -1,  1213,    -1,  1215,    -1,   101,   267,
     3223     103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
     3224     113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3225      -1,   289,    -1,  1242,   292,    -1,    -1,    -1,    -1,    -1,
     3226      -1,  1250,  1251,  1252,    -1,    -1,    -1,    -1,    -1,    -1,
     3227      -1,    -1,  1261,  1262,   870,   871,   872,   873,    -1,   875,
     3228      -1,    -1,    -1,    -1,    -1,    -1,  1275,    -1,    -1,    -1,
     3229      -1,    -1,    -1,    -1,   890,    -1,    -1,    -1,    -1,    -1,
     3230      -1,   339,    -1,    -1,    -1,  1294,   344,    -1,   904,    -1,
     3231      -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
     3232      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3233      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3234      30,    31,    32,    -1,    -1,    35,   942,    37,    -1,    -1,
    31813235      -1,    -1,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,
    3182       -1,  1306,    -1,    -1,    44,  1027,  1028,    -1,  1030,  1031,
    3183       -1,    -1,    -1,    96,    -1,    98,    -1,    10,    11,    12,
    3184       13,    14,    -1,    63,    -1,    -1,    -1,    -1,  1050,    -1,
    3185       -1,    -1,  1027,  1028,    -1,  1030,  1031,    -1,    -1,   122,
    3186       -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    3187       -1,    -1,    -1,    -1,    -1,  1050,    -1,    -1,    -1,    -1,
    3188       -1,  1083,  1084,    96,    -1,    98,    -1,    60,    -1,   109,
    3189       -1,    -1,    65,    -1,   114,    -1,    69,    -1,    -1,    -1,
    3190       -1,    -1,    -1,    76,    77,  1390,    -1,    -1,  1083,  1084,
    3191       -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,
    3192       -1,    -1,   185,   143,   187,   188,    -1,    -1,   101,   192,
    3193       -1,   194,   195,   153,    -1,    -1,    -1,   157,   111,    -1,
    3194       -1,    -1,    -1,    -1,  1146,    -1,    -1,    -1,    -1,  1434,
    3195       -1,    -1,    -1,    -1,    -1,    36,  1441,    38,    -1,    -1,
    3196       -1,    -1,    -1,    -1,   177,  1012,    -1,    -1,    -1,    -1,
    3197       -1,  1146,    -1,    -1,   187,   188,    -1,    -1,    59,   192,
    3198       -1,   194,   195,    -1,    65,   205,    -1,  1189,    69,    -1,
    3199       -1,    72,    73,    74,    75,    76,    77,   217,    79,    80,
    3200     1485,   264,    -1,    -1,    -1,    -1,    87,    -1,  1210,    -1,
    3201       -1,    -1,    -1,    -1,  1189,   235,   236,    -1,    -1,    -1,
    3202      101,  1223,   103,  1225,    -1,    -1,    -1,    -1,    -1,   110,
    3203      111,   112,   113,   114,   115,  1210,    -1,    -1,    -1,   259,
    3204       -1,    -1,    -1,   124,    -1,    -1,    -1,   267,  1223,    -1,
    3205     1225,    -1,  1254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3206     1262,  1263,  1264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3207      290,  1273,  1274,   293,    -1,    -1,    -1,     7,    -1,  1254,
    3208       10,    11,    12,    13,    14,  1287,    -1,  1262,  1263,  1264,
    3209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1273,  1274,
    3210       -1,    -1,    -1,    -1,  1306,    -1,    36,    37,    38,    -1,
    3211       -1,    -1,  1287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3212      340,    -1,    -1,    -1,    -1,   345,    -1,    -1,    -1,    59,
    3213       60,  1306,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    3214       -1,  1188,    72,    73,    74,    75,    76,    77,    -1,    79,
    3215       80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    3216      717,    -1,   719,    -1,    -1,    -1,    -1,    -1,    -1,   726,
    3217      727,   101,    -1,   103,   731,    -1,    -1,    -1,    -1,    -1,
    3218      110,   111,   112,   113,   114,   115,   743,    -1,  1390,    -1,
    3219       -1,   748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3220      420,   421,    -1,    -1,    -1,    -1,    -1,   427,    -1,    -1,
    3221       -1,    -1,    -1,    -1,    -1,  1390,   773,    -1,    -1,    -1,
    3222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   448,    -1,
    3223       -1,   451,  1434,    -1,    -1,  1282,    -1,   457,    -1,  1441,
     3236      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3237      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
     3238      -1,   419,   420,   979,    -1,  1374,    -1,   425,    -1,    -1,
     3239     986,    -1,    -1,    -1,   990,    -1,    -1,    -1,    -1,   995,
     3240      -1,   997,    -1,    -1,    -1,  1001,  1002,  1003,   446,    -1,
     3241    1006,   449,    -1,   103,    -1,    -1,    -1,   455,    -1,  1015,
     3242      -1,   111,    -1,    96,    -1,    98,    -1,  1416,    -1,    -1,
     3243      -1,    -1,    -1,    -1,  1423,    -1,    -1,  1033,  1034,    10,
     3244      11,    12,    13,    14,   482,    -1,    -1,    -1,    -1,   122,
     3245      -1,    -1,    -1,    -1,    -1,    -1,   494,    -1,    -1,    -1,
     3246      -1,    -1,  1058,    -1,    -1,  1061,    37,    -1,    -1,   507,
     3247      -1,    -1,   510,  1462,   512,   513,    -1,    -1,    -1,    -1,
     3248      -1,    -1,    -1,    -1,    -1,    -1,    -1,   525,    -1,    60,
     3249      -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,
     3250      -1,    -1,    -1,  1099,   177,    76,    77,    -1,    -1,  1105,
     3251    1106,    -1,   185,    -1,   187,   188,    -1,    -1,  1114,   192,
     3252      -1,   194,   195,  1119,    -1,    -1,  1122,    -1,  1124,    -1,
     3253     101,  1127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   577,
     3254     111,    -1,    -1,    -1,  1140,    -1,    -1,    -1,    -1,    -1,
     3255      -1,   589,    -1,   591,    -1,    -1,   594,  1153,    -1,  1155,
     3256    1156,  1157,  1158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3257      -1,    -1,    -1,    -1,    -1,  1171,    -1,  1173,    -1,    -1,
     3258      -1,  1177,   620,    -1,    -1,    -1,    -1,   625,    -1,    -1,
     3259      -1,   264,    -1,    -1,    -1,    -1,   634,   635,   636,    -1,
     3260      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,
     3261    1206,    -1,    -1,   651,    -1,    -1,    -1,    63,    -1,    -1,
     3262      -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    75,
     3263      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,
     3264      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   686,    -1,
     3265      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1253,  1254,    -1,
     3266      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1263,   114,   707,
     3267     116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3268      -1,    -1,    -1,    -1,    -1,    -1,    -1,   725,    -1,   727,
     3269      -1,    -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,
     3270      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3271      -1,   157,    -1,  1309,    -1,    -1,    -1,    -1,    -1,    -1,
     3272      -1,    -1,   760,    -1,    -1,  1321,    -1,  1323,  1324,  1325,
     3273      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1335,
     3274      -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,  1344,    -1,
     3275      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3276    1356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3277      -1,   217,    -1,   219,   220,   221,   814,    -1,    -1,    -1,
     3278     818,    -1,    -1,   821,    -1,    -1,    -1,    -1,    -1,    -1,
     3279      -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3280      -1,    99,    -1,    -1,    -1,    -1,    -1,  1403,  1404,   255,
     3281      -1,    -1,    -1,   259,    -1,    -1,    -1,    -1,    -1,    -1,
     3282    1416,    -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,   275,
    32243283      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3225       20,    21,    22,    23,    24,    25,    26,    27,    -1,  1434,
    3226      817,    -1,    -1,    -1,   484,    -1,  1441,    37,    -1,    -1,
    3227       -1,    -1,    -1,    -1,    -1,    -1,   496,    -1,    -1,    -1,
    3228       -1,    -1,    -1,  1485,    -1,    -1,    -1,    -1,   508,    -1,
    3229       60,    -1,   512,    -1,   514,   515,    -1,    -1,    -1,    -1,
    3230       -1,    71,    -1,    -1,    -1,    -1,    -1,   527,    -1,    -1,
    3231     1485,    -1,   575,   576,    -1,    -1,    -1,   874,   875,   876,
    3232      877,    -1,   879,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   895,    -1,
    3234       -1,    -1,   605,    -1,    -1,   608,   609,    -1,   611,    -1,
    3235      613,   614,   909,    -1,    -1,   618,   619,    -1,    -1,   579,
    3236       -1,    -1,   575,   576,    -1,    -1,    -1,    -1,    -1,    -1,
    3237       -1,   591,    -1,   593,    -1,    -1,   596,    -1,    -1,    -1,
     3284      20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
     3285      30,    31,  1448,    -1,    -1,    -1,   154,    37,    -1,    -1,
     3286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
     3287      -1,    -1,    -1,    -1,    -1,   913,    -1,   323,  1474,    -1,
     3288      60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     3289      -1,    71,   190,    -1,    -1,    -1,    76,    77,   344,    -1,
     3290     573,   574,  1498,   349,   350,    -1,   204,  1503,    -1,    -1,
     3291      -1,   357,    -1,    -1,    -1,   213,   954,    -1,    -1,    -1,
     3292      -1,   101,    -1,   103,    -1,   223,    -1,    -1,    -1,   967,
     3293     603,   111,    -1,   606,   607,    -1,   609,    -1,   611,   612,
     3294      -1,    -1,    -1,   616,   617,    -1,    -1,    -1,    -1,    -1,
     3295     248,    -1,    -1,   399,    -1,   253,    -1,    -1,    -1,    -1,
     3296      -1,    -1,    -1,  1001,    -1,    -1,    -1,    -1,   266,    -1,
     3297      -1,   417,    -1,    -1,   272,    -1,   274,   423,    -1,    -1,
     3298      -1,    -1,    -1,    -1,  1022,  1023,    -1,    -1,    -1,    -1,
     3299      -1,    -1,   290,    -1,   440,    -1,    -1,   443,   444,    -1,
    32383300      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3239       -1,   948,   605,    -1,    -1,   608,   609,    -1,   611,    -1,
    3240      613,   614,   622,    -1,    -1,   618,   619,   627,    -1,    -1,
    3241       -1,    -1,    -1,    -1,    -1,    -1,   636,   637,   638,    -1,
     3301      -1,    -1,    -1,   459,    -1,    -1,    -1,    -1,    -1,    -1,
     3302     693,    -1,    -1,    -1,    -1,   698,   699,   473,    -1,    -1,
     3303      -1,   704,    -1,    -1,   480,   333,    -1,    -1,    -1,    -1,
     3304     338,    -1,  1080,     3,     4,     5,     6,     7,     8,     9,
     3305      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3306      20,    21,    22,    23,    24,    25,    26,    -1,   366,    29,
     3307      30,    31,   370,   371,    -1,   373,    -1,    37,    -1,    -1,
     3308      -1,   379,   380,    -1,   382,   383,    -1,   385,    -1,   387,
     3309      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1136,    -1,
     3310      60,    -1,    62,    -1,    64,    65,   404,    67,    68,    69,
     3311      -1,    -1,    -1,    -1,   412,    -1,    76,    77,    -1,    -1,
     3312      -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,
     3313      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,
     3314    1178,   101,    -1,   103,    -1,    -1,    59,    -1,   594,   447,
     3315      -1,   111,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
     3316      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3317      -1,    -1,   470,    -1,    87,    -1,   622,  1215,   476,    -1,
     3318      -1,   627,    -1,   481,    -1,    -1,    -1,    -1,   101,    -1,
     3319     103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
     3320     113,   114,   115,    -1,    -1,    -1,    -1,    -1,   152,   153,
     3321      -1,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   517,
     3322      -1,    -1,    -1,  1261,  1262,    -1,    -1,    -1,    -1,    -1,
     3323      -1,    -1,  1270,    -1,    -1,   533,    -1,    -1,    -1,    -1,
     3324      -1,   185,    -1,    -1,    -1,    -1,    -1,    -1,   192,    10,
     3325      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3326      21,    22,    23,    24,    25,    26,    -1,   713,    29,    30,
     3327      31,   569,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
     3328     578,   727,    -1,    -1,    -1,    -1,    -1,   585,    -1,    -1,
     3329      -1,    -1,   590,    -1,    -1,    -1,    -1,    -1,    59,    60,
     3330      -1,   747,    -1,   601,    65,    -1,    67,    68,    69,    -1,
     3331      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
     3332     264,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3333      -1,    -1,    -1,    -1,    -1,    -1,  1374,    -1,    -1,    -1,
     3334     101,    -1,   103,   641,    -1,   106,    -1,    -1,    -1,   110,
     3335     111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,   805,
    32423336      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3243      987,    -1,    -1,   696,   654,    -1,    -1,   994,   701,   702,
    3244       -1,   998,    -1,    -1,   707,    -1,  1003,    -1,  1005,    -1,
    3245       -1,    -1,  1009,  1010,  1011,    -1,    -1,  1014,    -1,    -1,
    3246       -1,    -1,    -1,    -1,    -1,    -1,  1023,    -1,    -1,   689,
     3337      -1,    -1,   818,    -1,   318,    -1,    -1,    -1,   676,    -1,
     3338      -1,    -1,   326,   327,    -1,   329,   330,  1425,    -1,    -1,
     3339      -1,   837,    -1,    -1,    -1,   339,    -1,    -1,    -1,   343,
     3340      -1,    -1,    -1,    -1,  1077,    -1,    -1,    -1,    -1,    -1,
     3341      -1,    -1,    -1,    -1,  1452,    -1,    -1,    -1,   362,    -1,
     3342      -1,   365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3343      -1,    -1,    -1,   731,    -1,    -1,    -1,  1475,    -1,    -1,
     3344      -1,    -1,    -1,   741,   742,    -1,    -1,   391,    -1,    -1,
     3345      -1,   395,    -1,    -1,    -1,   753,    -1,    -1,    -1,    -1,
    32473346      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3248       -1,    -1,    -1,    -1,  1041,  1042,    -1,    -1,   701,   702,
    3249      710,    -1,    -1,    -1,   707,    -1,    -1,    -1,    -1,    -1,
    3250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   728,  1066,
    3251      730,    -1,  1069,    10,    11,    12,    13,    14,    15,    16,
    3252       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3253       -1,    -1,    29,    30,    31,    -1,    -1,    63,    -1,    -1,
    3254       37,    -1,    -1,    -1,   764,    -1,    -1,    73,    -1,    75,
    3255     1107,    77,    -1,    -1,    -1,    -1,  1113,  1114,    84,    -1,
    3256       -1,    -1,    -1,    60,    -1,    -1,    -1,  1124,    -1,    -1,
    3257       67,    68,  1129,    -1,    -1,  1132,    -1,  1134,    -1,    -1,
    3258     1137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    3259      116,   117,   118,  1150,    -1,    -1,    -1,    -1,   818,    -1,
    3260       -1,    -1,   822,    -1,    -1,   825,  1163,    -1,  1165,  1166,
    3261     1167,  1168,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3262       -1,    -1,    -1,    -1,  1181,    -1,  1183,    -1,    -1,    -1,
    3263     1187,   157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3347      -1,    -1,   770,    -1,   772,    -1,   922,    -1,   776,    -1,
     3348      -1,   425,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3349      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   143,    -1,
     3350      -1,    -1,   948,    -1,   448,    -1,    -1,    -1,   153,    -1,
    32643351      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1215,  1216,
    3266       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
     3352     165,    -1,    -1,    -1,  1197,    -1,    -1,   973,    -1,    -1,
     3353      -1,    -1,    -1,    -1,    -1,   479,    -1,    -1,   482,    -1,
     3354      -1,    -1,    -1,   841,    -1,    -1,    -1,    -1,    -1,    -1,
     3355     848,    -1,    -1,    -1,    -1,    36,    -1,    38,  1004,    -1,
     3356      -1,    -1,    -1,   861,    -1,   863,    -1,    -1,    -1,  1015,
     3357      -1,    -1,    -1,    -1,    -1,    -1,    -1,   521,    59,   877,
     3358     524,   525,    -1,    -1,    65,   883,    -1,    -1,    69,    -1,
     3359     235,    72,    73,    74,    75,    76,    77,   895,    79,    80,
     3360     898,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3361      -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,   916,    -1,
     3362     101,    -1,   103,    -1,    -1,   569,   570,    -1,   109,   110,
     3363     111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,
     3364      -1,    -1,    -1,    -1,   588,   589,    -1,   591,  1094,    -1,
     3365      -1,    -1,    -1,    -1,    -1,    -1,   600,    -1,   602,   603,
     3366      -1,    -1,    -1,    -1,    -1,   609,    -1,    -1,    -1,    -1,
     3367      -1,    -1,    -1,    -1,    -1,   619,   620,    -1,    -1,    -1,
     3368      -1,   625,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3369     634,   635,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3370      -1,    -1,  1000,    -1,    -1,    -1,    -1,   651,    -1,    -1,
     3371      -1,    -1,   656,   657,    -1,    -1,   660,   661,    -1,    -1,
     3372      -1,    -1,    -1,   667,    -1,    -1,    -1,    -1,    -1,   374,
     3373      -1,    -1,  1178,    36,    -1,    38,    -1,    -1,    -1,    -1,
     3374      -1,   685,   686,   687,    -1,   689,    -1,    -1,    -1,   693,
     3375      -1,    -1,    -1,    -1,    -1,    -1,    59,  1055,    -1,    -1,
     3376      -1,    -1,    65,  1061,    67,    68,    69,    -1,    -1,    72,
     3377      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3378      -1,   725,   726,    -1,    87,    -1,    -1,    -1,    -1,    -1,
     3379      -1,    -1,  1090,    -1,    -1,    -1,    -1,  1095,   101,    -1,
     3380     103,    -1,   105,   106,    -1,  1103,    -1,   110,   111,   112,
     3381     113,   114,   115,    -1,    -1,   759,   760,    -1,    -1,    -1,
     3382     764,   765,    -1,    -1,  1270,   276,   277,   278,   279,   474,
     3383      -1,    -1,    -1,  1131,    -1,   286,   287,    -1,    -1,    -1,
     3384     291,   292,    -1,    -1,    -1,  1143,    -1,    -1,  1146,    -1,
     3385    1148,    -1,   303,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3386      -1,   805,    -1,    -1,  1162,  1163,    -1,   512,    -1,    -1,
     3387     814,    -1,    -1,    -1,    -1,    -1,   820,   821,    -1,    -1,
     3388     525,   825,    -1,   827,    -1,    -1,  1184,   532,   339,    -1,
     3389      -1,    -1,    -1,   837,    -1,    -1,    -1,    -1,    -1,    -1,
     3390     545,   546,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3391      -1,    -1,  1210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3392      -1,    -1,   567,    -1,   375,    -1,    -1,    -1,    -1,    -1,
     3393      -1,    -1,   577,    -1,    -1,    -1,    -1,    -1,    -1,   584,
     3394      -1,    -1,    -1,    -1,   589,    -1,    -1,    -1,    10,    11,
     3395      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3396      22,    23,    24,    25,    26,   909,    -1,    29,    30,    31,
     3397      -1,    -1,    -1,   917,    -1,    37,    -1,    -1,   922,    -1,
     3398      -1,    -1,    -1,    -1,    -1,    -1,   930,    -1,    -1,    -1,
     3399      -1,    -1,    -1,    -1,   639,    -1,    -1,    -1,    60,   943,
     3400     944,   646,  1300,    -1,  1302,    67,    68,    -1,    -1,    -1,
     3401      -1,    -1,    -1,    -1,    -1,  1313,    -1,  1315,    -1,    -1,
     3402      -1,    -1,    -1,   967,    -1,    -1,    -1,    -1,    -1,   973,
     3403      -1,    -1,    -1,    -1,    -1,  1333,    -1,    -1,    -1,    -1,
     3404      -1,   686,  1488,    -1,    -1,    -1,    -1,   991,   992,   111,
     3405      -1,  1349,    -1,    -1,    -1,    -1,    -1,  1001,    -1,  1357,
     3406      -1,    -1,  1360,  1007,  1008,    -1,  1010,  1011,  1012,    -1,
     3407      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1022,  1023,
     3408      -1,    -1,  1380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3409      -1,  1389,    -1,    -1,  1392,  1393,    -1,   548,   549,   550,
     3410     551,   552,   553,   554,   555,   556,   557,   558,   559,   560,
     3411     561,   562,   563,   564,   565,   760,    -1,   762,    -1,    -1,
     3412      -1,    -1,    -1,   768,    -1,    -1,    -1,    -1,    -1,  1427,
     3413     775,  1429,    -1,    -1,    -1,    -1,    -1,  1081,  1082,  1083,
     3414     591,    -1,    -1,  1441,    -1,    -1,    -1,    -1,    -1,    -1,
     3415    1094,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3416      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3417      -1,    -1,    -1,   818,   819,    -1,   821,    -1,    -1,    -1,
     3418      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3419      -1,   836,  1136,     4,     5,     6,     7,     8,     9,    10,
    32673420      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    32683421      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3269       31,   217,    -1,   219,   220,   221,    37,    -1,   918,    -1,
    3270       -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,  1265,  1266,
    3271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1275,    60,
    3272       -1,    62,    -1,    64,    65,    -1,    67,    68,    69,   255,
    3273       -1,    -1,    -1,   259,    -1,    76,    77,    -1,    -1,    -1,
    3274      960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,
    3275       -1,    89,    -1,    -1,    -1,   975,    -1,    -1,    -1,    -1,
    3276      101,    99,   103,    -1,    -1,    -1,  1323,    -1,    -1,    -1,
    3277      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1335,    -1,
    3278     1337,  1338,  1339,    -1,    -1,    -1,    -1,    -1,    -1,  1009,
    3279       -1,    -1,  1349,    -1,    -1,    -1,    -1,    -1,   324,    -1,
    3280       -1,  1358,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,
    3281     1030,  1031,    -1,  1370,    -1,    -1,   154,    -1,    -1,   345,
    3282       -1,    -1,  1085,    -1,   350,   351,    -1,    59,    -1,   167,
    3283       -1,    -1,   358,    65,    -1,    -1,    -1,    69,    -1,    -1,
     3422      31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
     3423      -1,   876,    -1,    -1,    -1,   880,    -1,   688,    -1,    -1,
     3424      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
     3425      -1,    62,  1196,    64,    65,    -1,    67,    68,    69,   710,
     3426      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
     3427      -1,  1215,   723,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3428      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3429     101,    -1,   103,    -1,    -1,    -1,    -1,   108,    -1,   110,
     3430     111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,   954,
     3431      -1,    -1,    -1,    -1,    -1,    -1,   767,  1261,  1262,    -1,
     3432      -1,    -1,   967,   968,    -1,    -1,    -1,    -1,    36,   974,
     3433      38,    -1,    -1,    -1,    -1,   980,    -1,    -1,   983,    -1,
     3434     985,    -1,    -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,
     3435      -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,  1004,
     3436      -1,    69,   813,    -1,    72,    73,    74,    75,    76,    77,
     3437    1015,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3438      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3439      -1,    -1,  1037,   101,  1039,   103,    -1,    -1,   106,    -1,
     3440      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,  1054,
     3441      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3442      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1073,    -1,
     3443    1374,    -1,     0,    -1,    -1,     3,     4,     5,     6,     7,
     3444       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3445      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3446      -1,    29,    30,    31,    32,    -1,    -1,    35,    -1,    37,
     3447      38,    -1,  1117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3448      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
     3449      -1,  1136,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3450      68,    69,    -1,    -1,    -1,  1449,  1151,  1152,    76,    77,
     3451      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,
     3452      -1,    38,    -1,    -1,  1468,  1469,    -1,    -1,    -1,    -1,
     3453      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,   989,    -1,
     3454      -1,    -1,    59,   111,  1488,    -1,    -1,    -1,    65,    -1,
     3455    1001,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3456      77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
     3457      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3458      -1,    -1,    -1,  1228,   101,    -1,   103,    -1,    -1,   106,
     3459      -1,  1042,    -1,   110,   111,   112,   113,   114,   115,    -1,
     3460      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3461      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3462      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3463      32,    -1,    -1,    35,    36,    37,    38,    39,    -1,    41,
     3464      -1,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
     3465      -1,    53,    -1,    -1,    56,    57,    -1,    59,    60,  1110,
     3466      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    32843467      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
    3285       -1,    -1,   190,    -1,    -1,    87,    -1,    -1,    -1,    -1,
    3286       -1,    -1,    -1,    -1,  1421,  1422,   204,    -1,  1088,   101,
    3287       -1,   103,  1085,    -1,   400,   213,   108,  1434,   110,   111,
    3288      112,   113,   114,   115,  1441,   223,    -1,    -1,    -1,    -1,
    3289       -1,    -1,   418,    -1,    -1,    -1,    -1,   423,    -1,   425,
    3290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3291      248,    -1,  1469,    -1,    -1,   253,   442,    -1,    -1,   445,
    3292      446,    -1,    -1,    -1,    -1,    -1,  1146,    -1,   266,    -1,
    3293       -1,    -1,    -1,    -1,   272,   461,   274,    -1,    -1,    -1,
    3294     1497,    -1,    -1,    -1,  1207,    -1,    -1,    -1,    -1,   475,
    3295       -1,    -1,    -1,   291,    -1,    -1,   482,    -1,    -1,    -1,
    3296       -1,    -1,    -1,    -1,    -1,    -1,  1523,    -1,  1188,    -1,
    3297       -1,  1528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3299       -1,    -1,    -1,    -1,  1207,    -1,   334,    -1,    -1,    -1,
    3300       -1,   339,    -1,    -1,    -1,  1225,    -1,    -1,    -1,    -1,
    3301       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3302       19,    20,    21,    22,    23,    24,    25,    26,    -1,   367,
    3303       29,    30,    31,   371,   372,    -1,   374,    -1,    37,    -1,
    3304       -1,    -1,   380,   381,    -1,   383,   384,    -1,   386,    -1,
    3305      388,    -1,     7,  1273,  1274,    10,    11,    12,    13,    14,
    3306       -1,    60,  1282,    -1,    -1,    -1,    -1,   405,    67,    68,
    3307      596,    -1,    -1,    -1,    -1,   413,    -1,    -1,    -1,    -1,
    3308       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
    3309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   624,    -1,
    3310      438,    -1,    -1,   629,    59,    60,    -1,    -1,    -1,    -1,
    3311       65,   449,   111,    -1,    69,    -1,    -1,    72,    73,    74,
    3312       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3313       -1,    -1,    87,    -1,   472,    -1,    -1,    -1,    -1,    -1,
    3314      478,    -1,    -1,    -1,    -1,   483,   101,    -1,   103,    -1,
    3315       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    3316      115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317     1390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3318       -1,   519,    -1,    -1,   278,   279,   280,    -1,    -1,    -1,
    3319      716,    -1,    -1,   287,   288,    -1,    -1,   535,   292,   293,
    3320       -1,    -1,    -1,    -1,   730,    -1,    -1,    -1,    -1,    -1,
    3321      304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3322       -1,    -1,    -1,  1443,   750,    -1,    -1,    -1,    -1,    -1,
    3323       -1,    -1,    -1,   571,   152,   153,    -1,    -1,    -1,    -1,
    3324       -1,    -1,   580,    -1,    -1,    -1,   340,    -1,    -1,   587,
    3325       -1,    -1,    -1,  1473,   592,    -1,    -1,    -1,    -1,    -1,
    3326       -1,    -1,    -1,    -1,    -1,   603,    -1,   185,    -1,    -1,
    3327       -1,    -1,    -1,    -1,   192,    -1,    -1,    -1,  1498,    -1,
    3328       -1,    -1,   376,   809,    -1,    -1,    -1,    -1,    -1,    -1,
    3329       -1,    -1,    -1,    -1,    -1,    -1,   822,    -1,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,    -1,   644,    -1,    -1,    -1,
    3331       -1,    -1,    -1,     0,    -1,   841,     3,     4,     5,     6,
    3332        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3333       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3334       -1,   679,    29,    30,    31,    32,   264,    -1,    35,    -1,
    3335       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3337       57,    -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,
    3338       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
    3339       77,    -1,    -1,    -1,    -1,    -1,   734,    -1,    -1,    -1,
    3340       -1,   319,   928,    -1,    -1,    -1,   744,   745,    -1,   327,
    3341      328,    -1,   330,   331,   101,    -1,   103,    -1,    -1,   757,
    3342       -1,    -1,   340,    -1,   111,    -1,   344,    -1,   954,    -1,
    3343       -1,    -1,    -1,    -1,    -1,    -1,   774,    -1,   776,    -1,
    3344       -1,    -1,   780,    -1,    -1,   363,    -1,    -1,   366,    -1,
    3345       -1,    -1,    -1,    -1,    -1,   981,   550,   551,   552,   553,
    3346      554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
    3347      564,   565,   566,   567,   392,    -1,    -1,    -1,   396,    36,
    3348       -1,    38,    -1,    -1,    -1,    -1,  1012,    -1,    -1,    -1,
    3349       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1023,    -1,   593,
    3350       -1,    -1,    59,    -1,    -1,    -1,    -1,   845,    65,   427,
    3351       67,    68,    69,    -1,   852,    72,    73,    74,    75,    76,
    3352       77,    -1,    79,    80,    -1,    -1,    -1,   865,    -1,   867,
    3353       87,    -1,   450,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3354       -1,    -1,    -1,   881,   101,    -1,   103,    -1,   105,   106,
    3355      888,    -1,    -1,   110,   111,   112,   113,   114,   115,    -1,
    3356       -1,    -1,   900,   481,    -1,   903,   484,    -1,    -1,    -1,
    3357       -1,    -1,    -1,    -1,    -1,    -1,  1102,    -1,    -1,    -1,
    3358       -1,    -1,    -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,
    3359       -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,    -1,    -1,
    3360       -1,    -1,    -1,    -1,    -1,   523,    -1,    -1,   526,   527,
    3361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   713,
    3362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3363      143,    -1,   726,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3364      153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,   165,   571,   572,    -1,    -1,    -1,    -1,    -1,
    3366       -1,    -1,  1188,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3367     1008,    -1,   590,   591,    -1,   593,    -1,   771,    -1,    -1,
    3368       -1,    -1,    -1,    -1,   602,    -1,   604,   605,    -1,    -1,
    3369       -1,    -1,    -1,   611,    -1,    -1,    -1,    -1,    -1,    -1,
    3370       -1,    -1,    -1,   621,   622,    -1,    -1,    -1,   802,   627,
    3371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   636,   637,
    3372      638,    -1,   235,   817,    -1,  1063,    -1,    -1,    -1,    -1,
    3373       -1,  1069,    -1,    -1,    -1,    -1,   654,    -1,    -1,    -1,
    3374       -1,   659,   660,    -1,    -1,   663,   664,   260,    -1,    -1,
    3375       -1,    -1,   670,    -1,    -1,    -1,  1282,    -1,    -1,    -1,
    3376     1098,    -1,    -1,    -1,    -1,  1103,    -1,    -1,    -1,    -1,
    3377      688,   689,   690,  1111,   692,    -1,    -1,    -1,   696,     3,
    3378        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3379       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3380       24,    25,    26,  1141,    -1,    29,    30,    31,    -1,    -1,
    3381      728,   729,    -1,    37,    -1,  1153,    -1,    -1,  1156,    -1,
    3382     1158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3383       -1,    -1,    -1,    -1,  1172,  1173,    60,    -1,    62,    -1,
    3384       64,    -1,    -1,    67,    68,   763,   764,    -1,    -1,    -1,
    3385      768,   769,    -1,    -1,    -1,    -1,  1194,    -1,    -1,    -1,
    3386       -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3387       -1,    -1,    -1,    -1,   968,    -1,    -1,    -1,    -1,   103,
    3388       -1,    -1,  1220,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3389       -1,   809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3390      818,    -1,    -1,   997,    -1,    -1,   824,   825,    -1,    -1,
    3391       -1,   829,    -1,   831,    -1,  1009,    -1,    -1,    -1,    -1,
    3392       -1,    -1,    -1,   841,    -1,    -1,    -1,    10,    11,    12,
    3393       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3394       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
    3395       -1,    -1,    -1,    -1,    37,    -1,  1050,    -1,    -1,    -1,
    3396       -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,
    3397       -1,    -1,    -1,    -1,  1312,    -1,  1314,    60,    -1,    -1,
    3398       -1,    -1,    65,    -1,    67,    68,    69,  1513,    71,  1327,
    3399       -1,  1329,    -1,    76,    77,    -1,   914,    -1,    -1,    -1,
    3400       -1,   514,    -1,    -1,   922,    -1,    -1,    -1,    -1,  1347,
    3401      928,    -1,    -1,    -1,   527,    -1,    -1,    -1,   936,    -1,
    3402      103,   534,    -1,    -1,    -1,  1363,  1120,    -1,   111,    -1,
    3403       -1,   949,   950,  1371,   547,   548,  1374,    -1,    10,    11,
    3404       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3405       22,    23,    24,    25,    26,    27,   569,   975,  1396,    -1,
    3406       -1,    -1,    -1,   981,    -1,    37,   579,  1405,    -1,  1163,
    3407     1408,  1409,    -1,   586,    -1,    -1,    -1,    -1,   591,    -1,
    3408       -1,   999,  1000,  1177,  1178,    -1,    -1,    -1,    60,    -1,
    3409       -1,  1009,    -1,    -1,    -1,    -1,    -1,  1015,  1016,    71,
    3410     1018,  1019,  1020,    -1,    -1,    -1,    -1,  1445,    -1,  1447,
    3411       -1,    -1,  1030,  1031,    -1,    -1,    -1,    -1,    -1,    -1,
    3412       -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,   641,    -1,
    3413       -1,    -1,    -1,    -1,    -1,    -1,   649,     4,     5,     6,
    3414        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3415       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3416       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3417       37,  1089,  1090,  1091,    -1,    -1,   689,    -1,    -1,    -1,
    3418       -1,    -1,    -1,    -1,  1102,    -1,    -1,    -1,    -1,    -1,
    3419       -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,
    3420       67,    68,    -1,     3,     4,     5,     6,     7,     8,     9,
    3421       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3422       20,    21,    22,    23,    24,    25,    26,    -1,  1146,    29,
    3423       30,    31,    32,    -1,    -1,    35,   103,    37,    38,    -1,
    3424       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3425       -1,   764,    -1,   766,    -1,    -1,    -1,    57,    -1,   772,
    3426       60,    -1,    62,    -1,    64,    65,   779,    67,    68,    69,
    3427       -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,    -1,
    3428       -1,    -1,    -1,  1377,    -1,    -1,    -1,    -1,  1206,    -1,
    3429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3430     1394,   101,    -1,   103,    -1,    -1,    -1,  1225,    -1,   822,
    3431      823,   111,   825,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3432       -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,    -1,    -1,
    3433       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3434       20,    21,    22,    23,    24,    25,    26,    -1,    -1,    -1,
    3435       -1,    -1,    -1,    -1,    -1,  1273,  1274,    37,    -1,    -1,
    3436       -1,    -1,    -1,  1457,  1458,    -1,    -1,   880,    -1,    -1,
    3437       -1,   884,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3438       60,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3439        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3440       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3441       29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
    3442       39,    -1,    41,    -1,    -1,    44,    45,    46,    47,    48,
    3443       49,    50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,
    3444       59,    60,    -1,    62,    -1,    64,    65,   960,    67,    68,
    3445       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3446       79,    80,   975,   976,    -1,    -1,    -1,    -1,    87,   982,
    3447       -1,    -1,  1390,    -1,    -1,   988,    -1,    -1,   991,    -1,
    3448      993,    -1,   101,    -1,   103,    -1,    36,   106,    38,    -1,
    3449       -1,   110,   111,   112,   113,   114,   115,    -1,    -1,  1012,
    3450       -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,    59,
    3451     1023,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    3452       -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
    3453       80,    -1,  1045,    -1,  1047,    -1,    -1,    87,    -1,    -1,
    3454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1062,
    3455       -1,   101,  1470,   103,    -1,    -1,   106,    -1,    -1,    -1,
    3456      110,   111,   112,   113,   114,   115,    -1,    36,  1081,    38,
    3457       39,    -1,    41,  1491,  1492,    44,    45,    46,    47,    48,
    3458       49,    50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,
    3459       59,    -1,    -1,    -1,    -1,  1513,    65,    -1,    -1,    -1,
    3460       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3461       79,    80,    -1,    -1,  1127,    -1,    -1,    -1,    87,    -1,
    3462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3463       -1,    -1,   101,  1146,   103,    -1,    -1,   106,    -1,    -1,
    3464       -1,   110,   111,   112,   113,   114,   115,    -1,  1161,  1162,
    3465       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3466       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3467       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3468       31,    32,    -1,    -1,    35,    36,    37,    38,    -1,    -1,
    3469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
    3471       -1,    62,    -1,    64,    65,    -1,    67,    68,    69,    -1,
    3472       -1,    72,    73,    74,    75,    76,    77,  1240,    79,    80,
    3473       -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
    3474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3475      101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
    3476      111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,
    3477       -1,    -1,    -1,   124,     3,     4,     5,     6,     7,     8,
     3468      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3469      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3470      -1,   103,  1153,    -1,   106,    -1,    -1,    -1,   110,   111,
     3471     112,   113,   114,   115,    -1,    -1,  1167,  1168,    -1,    -1,
     3472    1365,    -1,   124,    -1,     3,     4,     5,     6,     7,     8,
    34783473       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    34793474      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     
    34813476      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34823477      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3483       59,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
    3484       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3485       79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    3486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1381,    -1,
    3487       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3488       -1,   110,   111,   112,   113,   114,   115,     4,     5,     6,
    3489        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3490       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3491       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
    3492       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3494     1453,    -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,
    3495       67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3496       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3497       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3498       -1,    -1,    -1,    -1,   101,  1498,   103,    -1,    -1,    -1,
    3499       -1,   108,    -1,   110,   111,   112,   113,   114,   115,     4,
    3500        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3501       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3502       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3503       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3505       -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
    3506       65,    -1,    67,    68,    69,    -1,    -1,    72,    73,    74,
    3507       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3508       -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3509       -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3510       -1,    -1,    -1,   108,    -1,   110,   111,   112,   113,   114,
    3511      115,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3512       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3513       23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
    3514       -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,
    3515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3516       -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,
    3517       -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,    72,
    3518       73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    3519       -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    3520       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3521      103,    -1,    -1,    -1,    -1,   108,    -1,   110,   111,   112,
    3522      113,   114,   115,     4,     5,     6,     7,     8,     9,    10,
    3523       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3524       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3525       31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
    3526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
    3528       -1,    62,    -1,    64,    65,    -1,    67,    68,    69,    -1,
    3529       -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
    3530       -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
    3531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3532      101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
    3533      111,   112,   113,   114,   115,     4,     5,     6,     7,     8,
    3534        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3535       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3536       29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
    3537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3539       59,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
     3478      59,    60,    -1,    62,    -1,    64,    65,  1432,    67,    68,
    35403479      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    35413480      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    35423481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35433482      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3544       -1,   110,   111,   112,   113,   114,   115,     4,     5,     6,
     3483    1475,   110,   111,   112,   113,   114,   115,    -1,    -1,    -1,
     3484      -1,    -1,    -1,    -1,    -1,   124,     3,     4,     5,     6,
    35453485       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    35463486      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3547       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
    3548       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3487      -1,    -1,    29,    30,    31,    32,    -1,    -1,    35,    36,
     3488      37,    38,    10,    11,    12,    13,    14,    15,    16,    17,
     3489      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3490      -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,    37,
     3491      67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3492      77,    -1,    79,    80,    -1,    -1,    -1,  1378,    -1,    -1,
     3493      87,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,    -1,    71,   101,    -1,   103,    -1,    -1,    -1,
     3495      -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    -1,
     3496      -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3497      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3498      22,    23,    24,    25,    26,  1436,  1437,    29,    30,    31,
     3499      -1,    -1,    -1,    -1,    36,    37,    38,    10,    11,    12,
     3500      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3501      23,    24,    25,    26,    27,    -1,    -1,    59,    60,    -1,
     3502      62,    -1,    64,    65,    37,    67,    68,    69,    -1,    -1,
     3503      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3504      -1,    -1,    -1,    -1,    -1,    87,    -1,    60,    -1,    -1,
     3505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,   101,
     3506      -1,   103,    -1,    -1,    -1,    -1,   108,    -1,   110,   111,
     3507     112,   113,   114,   115,     4,     5,     6,     7,     8,     9,
     3508      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3509      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3510      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    10,
     3511      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3512      21,    22,    23,    24,    25,    26,    -1,    -1,    -1,    59,
     3513      60,    -1,    62,    -1,    64,    65,    37,    67,    68,    69,
     3514      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3515      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    60,
    35493516      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3550       -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,
    3551       67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3552       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3553       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3554       -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    3555       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,     4,
    3556        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3557       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3558       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3559       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
     3517      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,   108,    -1,
     3518     110,   111,   112,   113,   114,   115,     4,     5,     6,     7,
     3519       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3520      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3521      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,
     3522      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35603523      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3561       -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
    3562       65,    -1,    67,    68,    69,    -1,    -1,    72,    73,    74,
    3563       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3564       -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3565       -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3566       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    3567      115,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3524      -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3525      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3526      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3527      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3528      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3529      -1,    -1,   110,   111,   112,   113,   114,   115,     4,     5,
     3530       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3531      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3532      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3533      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3534      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3535      -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,
     3536      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
     3537      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
     3538      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3539      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
     3540      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3541       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3542      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3543      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3544      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
     3545      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3546      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
     3547      64,    65,    -1,    67,    68,    69,    -1,    -1,    72,    73,
     3548      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3549      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3550      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3551      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
     3552     114,   115,     4,     5,     6,     7,     8,     9,    10,    11,
    35683553      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    35693554      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
    3570       32,    -1,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,
     3555      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
    35713556      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3572       -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
     3557      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
    35733558      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    3574       -1,    -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,
    3575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3559      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3560      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
    35763561      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
    3577       -1,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
    3578        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3579       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3580       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
    3581       -1,    -1,    35,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    3582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
    3584       -1,    64,    -1,    -1,    67,    68,    -1,    -1,    71,     3,
    3585        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3586       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3587       24,    25,    26,    -1,    -1,    29,    30,    31,    32,    -1,
    3588      103,    35,    -1,    37,    -1,    -1,    -1,    -1,   111,    -1,
    3589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3590       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
    3591       64,    -1,    -1,    67,    68,     4,     5,     6,     7,     8,
     3562      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3563     112,   113,   114,   115,     3,     4,     5,     6,     7,     8,
    35923564       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    35933565      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3594       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,   103,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3566      29,    30,    31,    32,    -1,    -1,    35,    -1,    37,    38,
    35963567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,
    35973569      -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
    35983570      69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
    35993571      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36003572      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3601       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3602       -1,    -1,   111,     4,     5,     6,     7,     8,     9,    10,
     3573      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,   107,    -1,
     3574      -1,    -1,   111,     3,     4,     5,     6,     7,     8,     9,
     3575      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3576      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3577      30,    31,    32,    -1,    -1,    35,    -1,    37,    38,    -1,
     3578      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3579      -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,
     3580      60,    -1,    62,    -1,    64,    65,    -1,    67,    68,    69,
     3581      -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,    -1,
     3582      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3583      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3584      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
     3585      -1,   111,     3,     4,     5,     6,     7,     8,     9,    10,
    36033586      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3604       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3605       31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
     3587      21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
     3588      31,    32,    -1,    -1,    35,    -1,    37,    -1,    -1,    -1,
    36063589      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36073590      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
    36083591      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    -1,
     3592      71,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3593      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3594      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3595      -1,    -1,   103,    -1,    -1,    37,    -1,    -1,    -1,    -1,
     3596     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3597      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3598      62,    -1,    64,    -1,    -1,    67,    68,     4,     5,     6,
     3599       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3600      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3601      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3602      37,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     3603      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3604      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,
     3605      67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
     3606      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3607      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3608      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3609      -1,    -1,    -1,    -1,   111,     4,     5,     6,     7,     8,
     3610       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3611      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3612      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
     3613      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3614      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3615      -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,
     3616      -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3617      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3618      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3619      -1,    -1,    -1,   102,   103,    37,    -1,    -1,    -1,    -1,
     3620      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3621      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3622      62,    -1,    64,    -1,    -1,    67,    68,    -1,    -1,    -1,
     3623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3624      -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
     3625      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3626      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    36093627       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    36103628      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    36113629      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
    3612       -1,   102,   103,    37,    -1,    -1,    -1,    -1,    -1,    -1,
    3613      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3614       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
    3615       64,    -1,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,
     3630      -1,    -1,    -1,    37,    10,    11,    12,    13,    14,    15,
     3631      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3632      26,    -1,    -1,    29,    30,    31,    60,    -1,    62,    -1,
     3633      64,    37,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,
    36163634      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3617       -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,
    3618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
     3635      -1,    -1,    -1,    -1,    60,    89,    -1,    -1,    -1,    65,
     3636      -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,   103,
    36193637      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,     4,     5,
    36203638       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    36213639      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    36223640      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    3623       -1,    37,    10,    11,    12,    13,    14,    15,    16,    17,
    3624       18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    3625       -1,    29,    30,    31,    60,    -1,    62,    -1,    64,    37,
    3626       -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3641      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36273642      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3628       -1,    -1,    60,    89,    -1,    -1,    -1,    65,    -1,    67,
    3629       68,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
    3630       -1,    -1,    -1,    -1,    -1,   111,     4,     5,     6,     7,
    3631        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3632       18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    3633       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3635       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3636       -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
    3637       68,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3638       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3639       23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
    3640       -1,    -1,    -1,    -1,    37,   103,    -1,    -1,    -1,    -1,
    3641       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
    3643       -1,    64,    -1,    -1,    67,    68,     4,     5,     6,     7,
    3644        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3645       18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    3646       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3647      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
    3648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3649       -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
    3650       68,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3651       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3652       29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
    3653       -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,
    3654       -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3655       59,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
    3656       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3657       79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    3658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3659       -1,    -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,
    3660       -1,   110,   111,   112,   113,   114,   115,    10,    11,    12,
    3661       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3662       23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
    3663       -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,
    3664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3665       -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,
    3666       -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    72,
    3667       73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    3668       -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    3669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3670      103,   104,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
    3671      113,   114,   115,    10,    11,    12,    13,    14,    15,    16,
    3672       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3673       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
    3674       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3676       -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    65,    -1,
    3677       67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3678       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3679       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3680       -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
    3681       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    10,
     3643      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
     3644      -1,    67,    68,     4,     5,     6,     7,     8,     9,    10,
    36823645      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    36833646      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3684       31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
     3647      31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,
     3648      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3649      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
     3650      -1,    62,    -1,    64,    -1,    -1,    67,    68,     4,     5,
     3651       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3652      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3653      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3654      -1,    37,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3655     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3656      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
     3657      -1,    67,    68,     4,     5,     6,     7,     8,     9,    10,
     3658      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3659      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3660      31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,
     3661      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3662      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
     3663      -1,    62,    -1,    64,    -1,    -1,    67,    68,    10,    11,
     3664      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3665      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3666      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
     3667      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3668     111,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
     3669      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,
     3670      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3671      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3672      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3673      -1,   103,   104,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3674     112,   113,   114,   115,    10,    11,    12,    13,    14,    15,
     3675      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3676      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3677      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36853678      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
    3687       -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,
    3688       -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
    3689       -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3679      -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    65,
     3680      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
     3681      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
     3682      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3683      -1,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,
     3684      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3685      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3686      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3687      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,
    36903688      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3691      101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
    3692      111,   112,   113,   114,   115,    10,    11,    12,    13,    14,
    3693       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3694       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3695       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
     3689      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
     3690      60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     3691      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3692      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    36963693      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3697       -1,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,
    3698       65,    -1,    67,    68,    69,    -1,    -1,    72,    73,    74,
    3699       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3700       -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3701       -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3702       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    3703      115,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3694      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
     3695     110,   111,   112,   113,   114,   115,    10,    11,    12,    13,
     3696      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3697      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3698      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3700      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
     3701      -1,    65,    -1,    67,    68,    69,    -1,    -1,    72,    73,
     3702      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3703      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3704      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3705      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
     3706     114,   115,    10,    11,    12,    13,    14,    15,    16,    17,
     3707      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3708      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,
     3709      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3710      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3711      -1,    59,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,
     3712      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3713      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3714      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3715      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3716      -1,    -1,   110,   111,   112,   113,   114,   115,    10,    11,
     3717      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3718      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3719      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
     3720      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3721      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
     3722      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,
     3723      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3724      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3725      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3726      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3727     112,   113,   114,   115,     3,     4,     5,     6,     7,     8,
     3728       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37043729      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3705       29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
     3730      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    10,
     3731      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3732      21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
     3733      31,    60,    -1,    62,    -1,    64,    37,    -1,    67,    68,
     3734      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3735      18,    19,    20,    21,    22,    23,    24,    25,    26,    60,
     3736      -1,    29,    30,    31,    65,    -1,    67,    68,    69,    37,
     3737      71,    -1,    -1,    -1,    -1,    76,    77,   106,    -1,    -1,
    37063738      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3708       59,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
    3709       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3710       79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3712       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3713       -1,   110,   111,   112,   113,   114,   115,    10,    11,    12,
    3714       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3715       23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
    3716       -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,
    3717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3718       -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,
    3719       -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    72,
    3720       73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    3721       -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    3722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3723      103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
    3724      113,   114,   115,    10,    11,    12,    13,    14,    15,    16,
    3725       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3726       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3727       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3729       -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
    3730       67,    68,    69,    -1,    71,    -1,    -1,    -1,    -1,    76,
    3731       77,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3739      -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,
     3740      68,    69,   103,    -1,    -1,    -1,    -1,    -1,    76,    77,
     3741     111,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37323742      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3733       29,    30,    31,    -1,   101,    -1,   103,    -1,    37,    -1,
    3734       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3743      29,    30,    31,   101,    -1,   103,    -1,    -1,    37,    -1,
     3744      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    37353745      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37363746      -1,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
     
    37583768      -1,    76,    77,    10,    11,    12,    13,    14,    15,    16,
    37593769      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3760       -1,    -1,    29,    30,    31,    -1,   101,    -1,   103,    -1,
     3770      27,    -1,    29,    30,    31,    -1,    -1,    -1,   103,    -1,
    37613771      37,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    37623772      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3763       -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
    3764       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
    3765       77,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3766       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3767       29,    30,    31,    -1,    -1,    -1,   103,    -1,    37,    -1,
    3768       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3770       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
    3771       -1,    -1,    71,    10,    11,    12,    13,    14,    15,    16,
    3772       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3773       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3774       37,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3775       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37763773      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
    37773774      67,    68,    -1,    -1,    71,    10,    11,    12,    13,    14,
    37783775      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3779       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3780       -1,    -1,    37,    38,   101,    -1,   103,    -1,    -1,    -1,
     3776      25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
     3777      -1,    -1,    37,    -1,   101,    -1,   103,    -1,    -1,    -1,
    37813778      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    37823779      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
    3783       -1,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
    3784       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3785       26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    3786       -1,    37,    38,    -1,    -1,    -1,    -1,    -1,   103,    -1,
    3787       -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3788       -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
    3789       -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    3790       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3791       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3792       37,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
    3793       -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    3794       -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
    3795       67,    68,    -1,    -1,    71,    10,    11,    12,    13,    14,
     3780      -1,    -1,    67,    68,    -1,    -1,    71,    10,    11,    12,
     3781      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3782      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3783      -1,    -1,    -1,    -1,    37,    38,   101,    -1,   103,    -1,
     3784      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3785      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
     3786      -1,    -1,    -1,    -1,    67,    68,    10,    11,    12,    13,
     3787      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3788      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3789      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
     3790     103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,    -1,
     3791      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
     3792      -1,    65,    -1,    67,    68,    10,    11,    12,    13,    14,
    37963793      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    37973794      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3798       -1,    -1,    37,    38,    -1,    -1,   103,    -1,    -1,    -1,
    3799       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3795      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,   103,
     3796      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    38003797      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
    38013798      -1,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
     
    38033800      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    38043801      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,
    3805       -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3806       -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,
     3802      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3803      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
    38073804      -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    38083805      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    38093806      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3810       37,    38,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
     3807      37,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
    38113808      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    38123809      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
     
    38143811      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    38153812      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3816       -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,
     3813      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    38173814      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    38183815      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     
    38203817      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    38213818      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
    3822       -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3819      -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,
    38233820      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    38243821      -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
     
    38263823      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
    38273824      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
    3828       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
     3825      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    38293826      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38303827      60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    10,
     
    38763873      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    38773874      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3878       68,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3879       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3880       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
    3881       -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,
     3875      68,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3876      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3877      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3878      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    38823879      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3883       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
    3884        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3885       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3886       24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
    3887       -1,    -1,    -1,    37,   103,    -1,    -1,    -1,    -1,    -1,
    3888       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3889       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
    3890       64,    -1,    -1,    67,    68,    -1,    36,    -1,    38,    39,
    3891       -1,    41,    -1,    -1,    44,    45,    46,    47,    48,    49,
    3892       50,    51,    52,    53,    -1,    -1,    56,    57,    -1,    59,
    3893       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,   102,    69,
    3894       -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
    3895       80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    3896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3897       -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
    3898      110,   111,   112,   113,   114,   115,    -1,    36,    -1,    38,
    3899       39,    -1,    41,    -1,   124,    44,    45,    46,    47,    48,
    3900       49,    50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,
    3901       59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
     3880      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
     3881      -1,    64,    -1,    -1,    67,    68,    -1,    36,    -1,    38,
     3882      39,    -1,    41,    -1,    -1,    44,    45,    46,    47,    48,
     3883      49,    50,    51,    52,    53,    -1,    -1,    56,    57,    -1,
     3884      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,   102,
    39023885      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    39033886      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    39043887      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39053888      -1,    -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,
    3906       -1,   110,   111,   112,   113,   114,   115,    -1,    -1,    -1,
    3907       -1,    -1,    -1,    -1,    -1,   124,     4,     5,     6,     7,
    3908        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3909       18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    3910       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3911       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3912       20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
    3913       30,    31,    60,    -1,    62,    -1,    64,    37,    -1,    67,
    3914       68,    -1,    36,    -1,    38,    39,    -1,    41,    42,    43,
    3915       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    3916       60,    89,    56,    57,    -1,    59,    -1,    67,    68,    -1,
    3917       -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    3918       74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
    3919       -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3920       -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    3921       -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,
    3922      114,   115,    36,    -1,    38,    39,    -1,    41,    42,    43,
    3923       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
    3924       -1,    -1,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,
    3925       -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    3926       74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
    3927       -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,
    3928       -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    3929       -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,
    3930      114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
    3931       -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3932       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3933       87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,
    3934       -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    3935       -1,    -1,   109,   110,   111,   112,   113,   114,   115,    59,
    3936       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    3937       -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
    3938       80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    3939       -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,
    3940       -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
    3941      110,   111,   112,   113,   114,   115,    59,    -1,    -1,    -1,
     3889      -1,   110,   111,   112,   113,   114,   115,    -1,    36,    -1,
     3890      38,    39,    -1,    41,    -1,   124,    44,    45,    46,    47,
     3891      48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    57,
     3892      -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
     3893      -1,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3894      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3895      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3896      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,   106,    -1,
     3897      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
     3898      -1,    -1,    -1,    -1,    -1,    -1,   124,     4,     5,     6,
     3899       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3900      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3901      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3902      37,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3903      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3904      29,    30,    31,    60,    -1,    62,    -1,    64,    37,    -1,
     3905      67,    68,    -1,    36,    -1,    38,    39,    -1,    41,    42,
     3906      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     3907      53,    60,    89,    56,    57,    -1,    59,    -1,    67,    68,
     3908      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
     3909      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3910      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
     3911      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
     3912     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
     3913     113,   114,   115,    36,    -1,    38,    39,    -1,    41,    42,
     3914      43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
     3915      53,    -1,    -1,    56,    57,    -1,    59,    -1,    -1,    -1,
     3916      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
     3917      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3918      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
     3919      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
     3920     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
     3921     113,   114,   115,    36,    -1,    38,    39,    -1,    41,    -1,
     3922      -1,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
     3923      53,    -1,    -1,    56,    57,    -1,    59,    -1,    -1,    -1,
    39423924      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
    39433925      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    39443926      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    39453927      36,    -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3946      103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
     3928     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
    39473929     113,   114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,
    39483930      -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,
     
    39503932      -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,
    39513933      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
    3952       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3934      -1,    -1,   108,    -1,   110,   111,   112,   113,   114,   115,
    39533935      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
    39543936      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
     
    39663948      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    39673949      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,
    3968       38,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,
     3950      38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    39693951      -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    39703952     115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
     
    39723954      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
    39733955      -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,    -1,
    3974       -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     3956      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
    39753957      -1,    -1,   110,   111,   112,   113,   114,   115,    59,    -1,
    39763958      -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,    -1,
     
    39823964      -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    39833965      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
    3984       -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3985       -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,
     3966      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,
     3967      -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,
    39863968      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
    3987      114,   115,     4,     5,     6,     7,     8,     9,    10,    11,
    3988       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3989       22,    23,    24,    25,    26,    -1,    -1,    -1,    -1,    -1,
    3990       -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
     3969     114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
     3970      -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3971      77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
     3972      87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,
     3973      -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,
     3974      -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    59,
     3975      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
     3976      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3977      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    39913978      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
    3993       62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    3994       -1,    -1,    -1,    -1,    76,    77,     3,     4,     5,     6,
     3979      -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3980     110,   111,   112,   113,   114,   115,     4,     5,     6,     7,
     3981       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3982      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3983      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
     3984      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3985      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3986      -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3987      68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
     3988       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3989      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3990      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3991      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
     3992      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3993      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
     3994      -1,    64,    -1,    -1,    67,    68,     3,     4,     5,     6,
    39953995       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    39963996      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     
    39993999      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40004000      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,
    4001       67,    68,     3,     4,     5,     6,     7,     8,     9,    10,
    4002       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    4003       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    4004       31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
     4001      67,    68,     4,     5,     6,     7,     8,     9,    10,    11,
     4002      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4003      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     4004      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
    40054005      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
    4007       -1,    62,    -1,    64,    -1,    -1,    67,    68,     4,     5,
    4008        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    4009       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4010       26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    4011       -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4006      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     4007      62,    -1,    64,    -1,    -1,    67,    68,    10,    11,    12,
     4008      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     4009      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    32,
     4010      33,    34,    -1,    -1,    37,    10,    11,    12,    13,    14,
     4011      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     4012      25,    26,    -1,    -1,    29,    30,    31,    60,    -1,    -1,
     4013      -1,    -1,    37,    -1,    67,    68,    -1,    -1,    -1,    -1,
    40124014      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4013       -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
    4014       -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    4015       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4016       -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
    4017       37,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4018       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    4019       29,    30,    31,    60,    -1,    -1,    -1,    -1,    37,    -1,
    4020       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4022       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68
     4015      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
     4016      -1,    -1,    67,    68
    40234017};
    40244018
     
    40314025      22,    23,    24,    25,    26,    29,    30,    31,    32,    35,
    40324026      37,    38,    57,    60,    62,    64,    65,    67,    68,    69,
    4033       76,    77,   101,   103,   111,   129,   132,   189,   203,   204,
    4034      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    4035      215,   216,   217,   218,   219,   220,   222,   223,   224,   225,
    4036      226,   227,   228,   229,   231,   232,   233,   234,   235,   236,
    4037      237,   245,   246,   272,   273,   274,   282,   285,   291,   292,
    4038      294,   296,   297,   303,   308,   312,   313,   314,   315,   316,
    4039      317,   318,   319,   339,   356,   357,   358,   359,    65,   111,
    4040      131,   206,   208,   216,   218,   228,   232,   234,   273,    75,
    4041      101,   301,   302,   303,   301,   301,    65,    67,    68,    69,
    4042      130,   131,   262,   263,   283,   284,    67,    68,   263,   101,
    4043      294,    11,   190,   101,   111,   308,   313,   314,   315,   317,
    4044      318,   319,   104,   126,   103,   209,   216,   218,   312,   316,
    4045      355,   356,   359,   360,   127,   123,   266,   106,   127,   164,
    4046       67,    68,   129,   261,   127,   127,   127,   108,   127,    67,
    4047       68,   101,   111,   298,   307,   308,   309,   310,   311,   312,
    4048      316,   320,   321,   322,   323,   324,   330,     3,    27,    71,
    4049      230,     3,     5,    67,   103,   111,   208,   219,   223,   226,
    4050      235,   274,   312,   316,   359,   206,   208,   218,   228,   232,
    4051      234,   273,   312,   316,    32,   224,   224,   219,   226,   127,
    4052      224,   219,   224,   219,    68,   101,   106,   263,   274,   106,
    4053      263,   224,   219,   108,   127,   127,     0,   126,   101,   164,
    4054      301,   301,   126,   103,   216,   218,   357,   261,   261,   218,
    4055      123,   101,   111,   298,   308,   312,   103,   111,   359,   295,
    4056      221,   303,   101,   279,   101,   101,    49,   101,    36,    38,
    4057       59,    65,    69,    72,    73,    74,    75,    79,    80,    87,
    4058      101,   103,   110,   111,   112,   113,   114,   115,   128,   132,
    4059      133,   134,   135,   140,   141,   142,   143,   144,   145,   146,
    4060      147,   148,   149,   150,   151,   152,   153,   155,   157,   216,
    4061      265,   281,   355,   360,   218,   102,   102,   102,   102,   102,
    4062      102,   102,    67,    68,   103,   216,   261,   339,   357,   103,
    4063      111,   155,   208,   209,   215,   218,   222,   223,   228,   231,
    4064      232,   234,   251,   252,   256,   257,   258,   259,   273,   339,
    4065      351,   352,   353,   354,   359,   360,   104,   101,   312,   316,
    4066      359,   101,   108,   124,   103,   106,   111,   155,   267,   107,
    4067      126,   108,   124,   101,   108,   124,   108,   124,   108,   124,
    4068      301,   124,   308,   309,   310,   311,   321,   322,   323,   324,
    4069      218,   307,   320,    57,   300,   103,   301,   338,   339,   301,
    4070      301,   164,   126,   101,   301,   338,   301,   301,   218,   298,
    4071      101,   101,   217,   218,   216,   218,   104,   126,   216,   355,
    4072      360,   164,   126,   261,   266,   208,   223,   312,   316,   164,
    4073      126,   283,   218,   228,   124,   218,   218,   281,    38,   103,
    4074      216,   238,   239,   240,   241,   355,   359,   106,   247,   263,
    4075      106,   218,   283,   124,   124,   294,   126,   131,   260,     3,
    4076      127,   198,   199,   213,   215,   218,   126,   300,   101,   300,
    4077      155,   308,   218,   101,   126,   261,   106,    32,    33,    34,
    4078      216,   275,   276,   278,   126,   121,   123,   280,   126,   219,
    4079      225,   226,   261,   304,   305,   306,   101,   133,   101,   140,
    4080      140,   142,   101,   140,   101,   101,   140,   140,   131,   103,
    4081      155,   160,   164,   216,   264,   355,   104,   126,   142,   142,
    4082       75,    78,    79,    80,   101,   103,   105,    90,    91,    92,
    4083       93,    94,    95,    96,    97,    98,    99,   123,   159,   142,
    4084      111,   116,   117,   113,   114,    81,    82,    83,    84,   118,
    4085      119,    85,    86,   112,   120,   121,    87,    88,   122,   123,
    4086      362,   101,   111,   334,   335,   336,   337,   338,   102,   108,
    4087      101,   338,   339,   101,   338,   339,   126,   101,   216,   357,
    4088      104,   126,   103,   111,   127,   216,   218,   350,   351,   359,
    4089      360,   127,   101,   103,   111,   308,   325,   326,   327,   328,
    4090      329,   330,   331,   332,   333,   339,   340,   341,   342,   343,
    4091      344,   345,   111,   359,   218,   127,   127,   111,   216,   218,
    4092      352,   261,   216,   339,   352,   261,   101,   126,   126,   126,
    4093      104,   126,    65,    73,   103,   105,   263,   267,   268,   269,
    4094      270,   271,   126,   126,   126,   126,   126,   126,   298,   102,
    4095      102,   102,   102,   102,   102,   102,   307,   320,   101,   266,
    4096      104,   198,   126,   298,   160,   265,   160,   265,   298,   103,
    4097      198,   300,   164,   126,   198,   102,   240,   241,   104,   126,
    4098      101,   109,   111,   242,   244,   307,   308,   320,   338,   346,
    4099      347,   348,   349,   107,   239,   108,   124,   108,   124,   263,
    4100      238,   108,   361,   123,   248,   247,   218,   253,   254,   255,
    4101      258,   259,   102,   108,   164,   126,   111,   155,   126,   215,
    4102      218,   252,   351,   359,   292,   293,   101,   111,   325,   102,
    4103      108,   362,   263,   275,   101,   106,   263,   265,   275,   102,
    4104      108,   101,   133,   102,   109,   264,   264,   103,   131,   137,
    4105      155,   265,   264,   104,   126,   102,   108,   102,   101,   111,
    4106      346,   102,   108,   155,   103,   131,   103,   136,   137,   126,
    4107      103,   131,   155,   155,   142,   142,   142,   143,   143,   144,
    4108      144,   145,   145,   145,   145,   146,   146,   147,   148,   149,
    4109      150,   151,   109,   160,   155,   126,   335,   336,   337,   218,
    4110      334,   301,   301,   155,   265,   126,   260,   111,   126,   216,
    4111      339,   352,   218,   222,   104,   126,   104,   359,   104,   101,
    4112      126,   308,   326,   327,   328,   331,   341,   342,   343,   104,
    4113      126,   218,   325,   329,   340,   101,   301,   344,   362,   301,
    4114      301,   362,   101,   301,   344,   301,   301,   301,   301,   339,
    4115      216,   350,   360,   261,   104,   108,   104,   108,   362,   216,
    4116      352,   362,   249,   250,   251,   252,   249,   249,   261,   155,
    4117      126,   103,   263,   109,   108,   361,   267,    73,   103,   109,
    4118      271,    28,   200,   201,   261,   249,   131,   298,   131,   300,
    4119      101,   338,   339,   101,   338,   339,   133,   339,   164,   253,
    4120      102,   102,   102,   102,   104,   164,   198,   164,   106,   124,
    4121      124,   103,   308,   347,   348,   349,   153,   154,   218,   346,
    4122      243,   244,   243,   301,   301,   263,   301,   107,   263,   107,
    4123      154,   361,   127,   127,   131,   213,   127,   127,   249,   101,
    4124      111,   359,   127,   107,   218,   276,   277,   127,   126,   126,
    4125      101,   127,   102,   305,   160,   161,   109,   124,   103,   133,
    4126      191,   192,   193,   102,   102,   126,   109,   102,   102,   102,
    4127      155,   218,   106,   142,   157,   155,   156,   158,   108,   127,
    4128      126,   126,   102,   108,   155,   126,   153,   109,   253,   102,
    4129      102,   102,   334,   253,   102,   249,   216,   352,   103,   111,
    4130      155,   155,   218,   331,   253,   102,   102,   102,   102,   102,
    4131      102,   102,     7,   218,   325,   329,   340,   126,   126,   362,
    4132      126,   126,   102,   127,   127,   127,   127,   266,   127,   153,
    4133      154,   155,   299,   126,   267,   269,   107,   126,   202,   263,
    4134       38,    39,    41,    44,    45,    46,    47,    48,    49,    50,
    4135       51,    53,    56,   103,   131,   161,   162,   163,   164,   165,
    4136      166,   168,   169,   181,   183,   184,   189,   203,   297,    28,
    4137      127,   123,   266,   126,   126,   102,   127,   164,   238,   104,
    4138      102,   102,   102,   346,   242,   248,   107,   102,   108,   104,
    4139      104,   127,   218,   108,   362,   279,   102,   275,   206,   208,
    4140      216,   287,   288,   289,   290,   281,   102,   102,   109,   154,
    4141      101,   102,   109,   108,   155,   155,   268,   108,   127,   158,
     4027      76,    77,   101,   103,   111,   129,   132,   189,   201,   202,
     4028     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
     4029     213,   214,   215,   216,   217,   218,   220,   221,   222,   223,
     4030     224,   225,   226,   227,   229,   230,   231,   232,   233,   234,
     4031     235,   243,   244,   270,   271,   272,   280,   283,   289,   290,
     4032     292,   294,   295,   301,   306,   310,   311,   312,   313,   314,
     4033     315,   316,   317,   337,   354,   355,   356,   357,    65,   111,
     4034     131,   204,   206,   214,   216,   226,   230,   232,   271,    75,
     4035     101,   299,   300,   301,   299,   299,    65,    67,    68,    69,
     4036     130,   131,   260,   261,   281,   282,    67,    68,   261,   101,
     4037     292,   215,   216,   101,   111,   306,   311,   312,   313,   315,
     4038     316,   317,   104,   126,   103,   207,   214,   216,   310,   314,
     4039     353,   354,   357,   358,   127,   123,   264,   106,   127,   164,
     4040      67,    68,   129,   259,   127,   127,   127,   108,   127,    67,
     4041      68,   101,   111,   296,   305,   306,   307,   308,   309,   310,
     4042     314,   318,   319,   320,   321,   322,   328,     3,    27,    71,
     4043     228,     3,     5,    67,   103,   111,   206,   217,   221,   224,
     4044     233,   272,   310,   314,   357,   204,   206,   216,   226,   230,
     4045     232,   271,   310,   314,    32,   222,   222,   217,   224,   127,
     4046     222,   217,   222,   217,    68,   101,   106,   261,   272,   106,
     4047     261,   222,   217,   108,   127,   127,     0,   126,   101,   164,
     4048     299,   299,   126,   103,   214,   216,   355,   259,   259,   216,
     4049     123,   101,   111,   296,   306,   310,   103,   111,   357,   293,
     4050     219,   301,   101,   277,   101,   101,   101,    36,    38,    59,
     4051      65,    69,    72,    73,    74,    75,    79,    80,    87,   101,
     4052     103,   110,   111,   112,   113,   114,   115,   128,   132,   133,
     4053     134,   135,   140,   141,   142,   143,   144,   145,   146,   147,
     4054     148,   149,   150,   151,   152,   153,   155,   157,   214,   263,
     4055     279,   353,   358,   216,   102,   102,   102,   102,   102,   102,
     4056     102,    67,    68,   103,   214,   259,   337,   355,   103,   111,
     4057     155,   206,   207,   213,   216,   220,   221,   226,   229,   230,
     4058     232,   249,   250,   254,   255,   256,   257,   271,   337,   349,
     4059     350,   351,   352,   357,   358,   104,   101,   310,   314,   357,
     4060     101,   108,   124,   103,   106,   111,   155,   265,   107,   126,
     4061     108,   124,   101,   108,   124,   108,   124,   108,   124,   299,
     4062     124,   306,   307,   308,   309,   319,   320,   321,   322,   216,
     4063     305,   318,    57,   298,   103,   299,   336,   337,   299,   299,
     4064     164,   126,   101,   299,   336,   299,   299,   216,   296,   101,
     4065     101,   215,   214,   216,   104,   126,   214,   353,   358,   164,
     4066     126,   259,   264,   206,   221,   310,   314,   164,   126,   281,
     4067     216,   226,   124,   216,   216,   279,    38,   103,   214,   236,
     4068     237,   238,   239,   353,   357,   106,   245,   261,   106,   216,
     4069     281,   124,   124,   292,   126,   131,   258,     3,   127,   196,
     4070     197,   211,   213,   216,   126,   298,   101,   298,   155,   306,
     4071     216,   101,   126,   259,   106,    32,    33,    34,   214,   273,
     4072     274,   276,   126,   121,   123,   278,   126,   217,   223,   224,
     4073     259,   302,   303,   304,   140,   153,   154,   101,   140,   142,
     4074     101,   140,   101,   101,   140,   140,   131,   103,   155,   160,
     4075     164,   214,   262,   353,   104,   126,   142,   142,    75,    78,
     4076      79,    80,   101,   103,   105,    90,    91,    92,    93,    94,
     4077      95,    96,    97,    98,    99,   123,   159,   142,   111,   116,
     4078     117,   113,   114,    81,    82,    83,    84,   118,   119,    85,
     4079      86,   112,   120,   121,    87,    88,   122,   123,   360,   101,
     4080     111,   332,   333,   334,   335,   336,   102,   108,   101,   336,
     4081     337,   101,   336,   337,   126,   101,   214,   355,   104,   126,
     4082     103,   111,   127,   214,   216,   348,   349,   357,   358,   127,
     4083     101,   103,   111,   306,   323,   324,   325,   326,   327,   328,
     4084     329,   330,   331,   337,   338,   339,   340,   341,   342,   343,
     4085     111,   357,   216,   127,   127,   111,   214,   216,   350,   259,
     4086     214,   337,   350,   259,   101,   126,   126,   126,   104,   126,
     4087      65,   103,   105,   261,   265,   266,   267,   268,   269,   126,
     4088     126,   126,   126,   126,   126,   296,   102,   102,   102,   102,
     4089     102,   102,   102,   305,   318,   101,   264,   104,   196,   126,
     4090     296,   160,   263,   160,   263,   296,   103,   196,   298,   164,
     4091     126,   196,   102,   238,   239,   104,   126,   101,   109,   111,
     4092     240,   242,   305,   306,   318,   336,   344,   345,   346,   347,
     4093     107,   237,   108,   124,   108,   124,   261,   236,   108,   359,
     4094     123,   246,   245,   216,   251,   252,   253,   256,   257,   102,
     4095     108,   164,   126,   111,   155,   126,   213,   216,   250,   349,
     4096     357,   290,   291,   101,   111,   323,   102,   108,   360,   261,
     4097     273,   101,   106,   261,   263,   273,   102,   108,   101,   102,
     4098     109,   262,   262,   103,   131,   137,   155,   263,   262,   104,
     4099     126,   102,   108,   102,   101,   111,   344,   102,   108,   155,
     4100     103,   131,   103,   136,   137,   126,   103,   131,   155,   155,
     4101     142,   142,   142,   143,   143,   144,   144,   145,   145,   145,
     4102     145,   146,   146,   147,   148,   149,   150,   151,   109,   160,
     4103     155,   126,   333,   334,   335,   216,   332,   299,   299,   155,
     4104     263,   126,   258,   111,   126,   214,   337,   350,   216,   220,
     4105     104,   126,   104,   357,   104,   101,   126,   306,   324,   325,
     4106     326,   329,   339,   340,   341,   104,   126,   216,   323,   327,
     4107     338,   101,   299,   342,   360,   299,   299,   360,   101,   299,
     4108     342,   299,   299,   299,   299,   337,   214,   348,   358,   259,
     4109     104,   108,   104,   108,   360,   214,   350,   360,   247,   248,
     4110     249,   250,   247,   247,   259,   155,   126,   103,   261,   109,
     4111     108,   359,   265,   103,   109,   269,    28,   198,   199,   259,
     4112     247,   131,   296,   131,   298,   101,   336,   337,   101,   336,
     4113     337,   133,   337,   164,   251,   102,   102,   102,   102,   104,
     4114     164,   196,   164,   106,   124,   124,   103,   306,   345,   346,
     4115     347,   154,   216,   344,   241,   242,   241,   299,   299,   261,
     4116     299,   107,   261,   107,   154,   359,   127,   127,   131,   211,
     4117     127,   127,   247,   101,   111,   357,   127,   107,   216,   274,
     4118     275,   127,   126,   126,   101,   127,   102,   303,   160,   161,
     4119     124,    75,   190,   191,   192,   102,   102,   126,   109,   102,
     4120     102,   102,   155,   216,   106,   142,   157,   155,   156,   158,
     4121     108,   127,   126,   126,   102,   108,   155,   126,   153,   109,
     4122     251,   102,   102,   102,   332,   251,   102,   247,   214,   350,
     4123     103,   111,   155,   155,   216,   329,   251,   102,   102,   102,
     4124     102,   102,   102,   102,     7,   216,   323,   327,   338,   126,
     4125     126,   360,   126,   126,   102,   127,   127,   127,   127,   264,
     4126     127,   153,   154,   155,   297,   126,   265,   267,   107,   126,
     4127     200,   261,    38,    39,    41,    44,    45,    46,    47,    48,
     4128      49,    50,    51,    53,    56,   103,   131,   161,   162,   163,
     4129     164,   165,   166,   168,   169,   181,   183,   184,   189,   201,
     4130     295,    28,   127,   123,   264,   126,   126,   102,   127,   164,
     4131     236,   104,   102,   102,   102,   344,   240,   246,   107,   102,
     4132     108,   104,   104,   127,   216,   108,   360,   277,   102,   273,
     4133     204,   206,   214,   285,   286,   287,   288,   279,   102,   102,
     4134     101,   102,   109,   108,   155,   155,   266,   108,   127,   158,
    41424135     104,   131,   138,   139,   155,   137,   127,   138,   153,   157,
    4143      127,   101,   338,   339,   127,   127,   126,   127,   127,   127,
    4144      155,   102,   127,   101,   338,   339,   101,   344,   101,   344,
    4145      339,   217,     7,   111,   127,   155,   253,   253,   252,   256,
    4146      256,   257,   108,   108,   102,   102,   104,    89,   115,   127,
    4147      127,   138,   267,   155,   108,   124,   203,   207,   218,   222,
     4136     127,   101,   336,   337,   127,   127,   126,   127,   127,   127,
     4137     155,   102,   127,   101,   336,   337,   101,   342,   101,   342,
     4138     337,   215,     7,   111,   127,   155,   251,   251,   250,   254,
     4139     254,   255,   108,   108,   102,   102,   104,    89,   115,   127,
     4140     127,   138,   265,   155,   108,   124,   201,   205,   216,   220,
    41484141     101,   101,   162,   101,   101,   124,   131,   124,   131,   111,
    41494142     131,   161,   101,   164,   124,   155,   104,   109,   124,   127,
    4150      126,   127,   202,   102,   155,   253,   253,   301,   102,   107,
    4151      101,   338,   339,   126,   102,   126,   127,   298,   107,   126,
    4152      127,   127,   102,   106,   191,   104,   154,   124,   191,   193,
    4153      108,   127,   361,   156,   104,   127,    78,   105,   108,   127,
    4154      127,   104,   127,   102,   126,   102,   102,   104,   104,   104,
    4155      127,   102,   126,   126,   126,   155,   155,   127,   104,   127,
    4156      127,   127,   127,   126,   126,   154,   154,   104,   104,   127,
    4157      127,   263,   218,   160,   160,    45,   160,   126,   124,   124,
    4158      160,   124,   124,   160,    54,    55,   185,   186,   187,   124,
    4159      301,   166,   107,   124,   127,   127,   126,    89,   258,   259,
    4160      102,   288,   108,   124,   108,   124,   107,   286,   109,   133,
    4161      102,   102,   109,   158,   104,   107,   104,   103,   139,   103,
    4162      139,   139,   104,   104,   104,   253,   104,   253,   253,   253,
    4163      127,   127,   104,   104,   102,   102,   104,   108,    89,   252,
    4164       89,   127,   104,   104,   102,   102,   101,   102,   161,   182,
    4165      203,   124,   102,   101,   164,   187,    54,   162,   102,   102,
    4166      253,   106,   126,   126,   287,   133,   194,   101,   124,   194,
    4167      127,   109,   126,   126,   127,   127,   127,   127,   104,   104,
    4168      126,   127,   104,   162,    42,    43,   106,   172,   173,   174,
    4169      160,   162,   127,   102,   161,   106,   174,    89,   126,   101,
    4170      127,   126,   261,   298,   107,   108,   109,   154,   102,   104,
    4171      155,   138,   138,   102,   102,   102,   102,   256,    40,   154,
    4172      170,   171,   299,   109,   126,   162,   172,   102,   124,   162,
    4173      124,   126,   102,   126,    89,   126,   102,   287,   133,   131,
    4174      195,   102,   124,   109,   127,   127,   162,    89,   108,   109,
    4175      127,   196,   197,   203,   124,   161,   161,   196,   164,   188,
    4176      216,   355,   102,   126,   107,   102,   108,   155,   104,   104,
    4177      154,   170,   173,   175,   176,   126,   124,   173,   177,   178,
    4178      127,   101,   111,   298,   346,   131,   164,   188,   101,   124,
    4179      131,   162,   167,   107,   173,   203,   161,    52,   167,   180,
    4180      107,   173,   102,   218,   127,   281,   162,   167,   124,   179,
    4181      180,   167,   180,   164,   102,   102,   179,   127,   164,   127
     4143     126,   127,   200,   102,   155,   251,   251,   299,   102,   107,
     4144     101,   336,   337,   126,   102,   126,   127,   296,   107,   126,
     4145     127,   127,   102,   106,   154,   124,   190,   192,   108,   127,
     4146     359,   156,   104,   127,    78,   105,   108,   127,   127,   104,
     4147     127,   102,   126,   102,   102,   104,   104,   104,   127,   102,
     4148     126,   126,   126,   155,   155,   127,   104,   127,   127,   127,
     4149     127,   126,   126,   154,   154,   104,   104,   127,   127,   261,
     4150     216,   160,   160,    45,   160,   126,   124,   124,   160,   124,
     4151     124,   160,    54,    55,   185,   186,   187,   124,   299,   166,
     4152     107,   124,   127,   127,   126,    89,   256,   257,   102,   286,
     4153     108,   124,   108,   124,   107,   284,   102,   102,   109,   158,
     4154     104,   107,   104,   103,   139,   103,   139,   139,   104,   104,
     4155     104,   251,   104,   251,   251,   251,   127,   127,   104,   104,
     4156     102,   102,   104,   108,    89,   250,    89,   127,   104,   104,
     4157     102,   102,   101,   102,   161,   182,   201,   124,   102,   101,
     4158     164,   187,    54,   162,   102,   102,   251,   106,   126,   126,
     4159     285,   124,    75,   193,   127,   109,   126,   126,   127,   127,
     4160     127,   127,   104,   104,   126,   127,   104,   162,    42,    43,
     4161     106,   172,   173,   174,   160,   162,   127,   102,   161,   106,
     4162     174,    89,   126,   101,   127,   126,   259,   296,   107,   102,
     4163     108,   104,   155,   138,   138,   102,   102,   102,   102,   254,
     4164      40,   154,   170,   171,   297,   109,   126,   162,   172,   102,
     4165     124,   162,   124,   126,   102,   126,    89,   126,   102,   285,
     4166     124,    75,   109,   127,   127,   162,    89,   108,   109,   127,
     4167     194,   195,   201,   124,   161,   161,   194,   164,   188,   214,
     4168     353,   102,   126,   107,   155,   104,   104,   154,   170,   173,
     4169     175,   176,   126,   124,   173,   177,   178,   127,   101,   111,
     4170     296,   344,   131,   164,   188,   101,   162,   167,   107,   173,
     4171     201,   161,    52,   167,   180,   107,   173,   102,   216,   127,
     4172     279,   162,   167,   124,   179,   180,   167,   180,   164,   102,
     4173     102,   179,   127,   164,   127
    41824174};
    41834175
     
    50165008
    50175009/* Line 1806 of yacc.c  */
    5018 #line 288 "parser.yy"
     5010#line 282 "parser.yy"
    50195011    {
    50205012                        typedefTable.enterScope();
     
    50255017
    50265018/* Line 1806 of yacc.c  */
    5027 #line 294 "parser.yy"
     5019#line 288 "parser.yy"
    50285020    {
    50295021                        typedefTable.leaveScope();
     
    50345026
    50355027/* Line 1806 of yacc.c  */
    5036 #line 303 "parser.yy"
     5028#line 297 "parser.yy"
    50375029    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    50385030    break;
     
    50415033
    50425034/* Line 1806 of yacc.c  */
    5043 #line 304 "parser.yy"
     5035#line 298 "parser.yy"
    50445036    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    50455037    break;
     
    50485040
    50495041/* Line 1806 of yacc.c  */
    5050 #line 305 "parser.yy"
     5042#line 299 "parser.yy"
    50515043    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    50525044    break;
     
    50555047
    50565048/* Line 1806 of yacc.c  */
    5057 #line 329 "parser.yy"
     5049#line 323 "parser.yy"
    50585050    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    50595051    break;
     
    50625054
    50635055/* Line 1806 of yacc.c  */
    5064 #line 330 "parser.yy"
     5056#line 324 "parser.yy"
    50655057    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    50665058    break;
     
    50695061
    50705062/* Line 1806 of yacc.c  */
     5063#line 331 "parser.yy"
     5064    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5065    break;
     5066
     5067  case 18:
     5068
     5069/* Line 1806 of yacc.c  */
     5070#line 333 "parser.yy"
     5071    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5072    break;
     5073
     5074  case 19:
     5075
     5076/* Line 1806 of yacc.c  */
     5077#line 335 "parser.yy"
     5078    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5079    break;
     5080
     5081  case 20:
     5082
     5083/* Line 1806 of yacc.c  */
    50715084#line 337 "parser.yy"
     5085    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5086    break;
     5087
     5088  case 21:
     5089
     5090/* Line 1806 of yacc.c  */
     5091#line 339 "parser.yy"
     5092    { (yyval.en) = (yyvsp[(2) - (3)].en); }
     5093    break;
     5094
     5095  case 22:
     5096
     5097/* Line 1806 of yacc.c  */
     5098#line 341 "parser.yy"
     5099    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
     5100    break;
     5101
     5102  case 24:
     5103
     5104/* Line 1806 of yacc.c  */
     5105#line 351 "parser.yy"
     5106    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
     5107    break;
     5108
     5109  case 25:
     5110
     5111/* Line 1806 of yacc.c  */
     5112#line 353 "parser.yy"
     5113    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
     5114    break;
     5115
     5116  case 26:
     5117
     5118/* Line 1806 of yacc.c  */
     5119#line 355 "parser.yy"
     5120    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
     5121    break;
     5122
     5123  case 28:
     5124
     5125/* Line 1806 of yacc.c  */
     5126#line 358 "parser.yy"
     5127    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
     5128    break;
     5129
     5130  case 30:
     5131
     5132/* Line 1806 of yacc.c  */
     5133#line 361 "parser.yy"
     5134    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
     5135    break;
     5136
     5137  case 31:
     5138
     5139/* Line 1806 of yacc.c  */
     5140#line 363 "parser.yy"
     5141    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
     5142    break;
     5143
     5144  case 32:
     5145
     5146/* Line 1806 of yacc.c  */
     5147#line 366 "parser.yy"
     5148    { (yyval.en) = 0; }
     5149    break;
     5150
     5151  case 34:
     5152
     5153/* Line 1806 of yacc.c  */
     5154#line 372 "parser.yy"
     5155    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     5156    break;
     5157
     5158  case 35:
     5159
     5160/* Line 1806 of yacc.c  */
     5161#line 377 "parser.yy"
     5162    { (yyval.en) = 0; }
     5163    break;
     5164
     5165  case 37:
     5166
     5167/* Line 1806 of yacc.c  */
     5168#line 380 "parser.yy"
     5169    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_asArgName( (yyvsp[(1) - (3)].tok) ); }
     5170    break;
     5171
     5172  case 38:
     5173
     5174/* Line 1806 of yacc.c  */
     5175#line 385 "parser.yy"
     5176    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_asArgName( (yyvsp[(3) - (7)].en) ); }
     5177    break;
     5178
     5179  case 39:
     5180
     5181/* Line 1806 of yacc.c  */
     5182#line 387 "parser.yy"
     5183    { (yyval.en) = (yyvsp[(9) - (9)].en)->set_asArgName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); }
     5184    break;
     5185
     5186  case 41:
     5187
     5188/* Line 1806 of yacc.c  */
     5189#line 392 "parser.yy"
     5190    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5191    break;
     5192
     5193  case 42:
     5194
     5195/* Line 1806 of yacc.c  */
     5196#line 397 "parser.yy"
    50725197    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    50735198    break;
    50745199
    5075   case 18:
    5076 
    5077 /* Line 1806 of yacc.c  */
    5078 #line 339 "parser.yy"
    5079     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    5080     break;
    5081 
    5082   case 19:
    5083 
    5084 /* Line 1806 of yacc.c  */
    5085 #line 341 "parser.yy"
    5086     { (yyval.en) = (yyvsp[(2) - (3)].en); }
    5087     break;
    5088 
    5089   case 20:
    5090 
    5091 /* Line 1806 of yacc.c  */
    5092 #line 343 "parser.yy"
    5093     { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    5094     break;
    5095 
    5096   case 22:
    5097 
    5098 /* Line 1806 of yacc.c  */
    5099 #line 353 "parser.yy"
    5100     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    5101     break;
    5102 
    5103   case 23:
    5104 
    5105 /* Line 1806 of yacc.c  */
    5106 #line 355 "parser.yy"
    5107     { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    5108     break;
    5109 
    5110   case 24:
    5111 
    5112 /* Line 1806 of yacc.c  */
    5113 #line 357 "parser.yy"
    5114     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    5115     break;
    5116 
    5117   case 26:
    5118 
    5119 /* Line 1806 of yacc.c  */
    5120 #line 360 "parser.yy"
    5121     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    5122     break;
    5123 
    5124   case 28:
    5125 
    5126 /* Line 1806 of yacc.c  */
    5127 #line 363 "parser.yy"
    5128     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    5129     break;
    5130 
    5131   case 29:
    5132 
    5133 /* Line 1806 of yacc.c  */
    5134 #line 365 "parser.yy"
    5135     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    5136     break;
    5137 
    5138   case 30:
    5139 
    5140 /* Line 1806 of yacc.c  */
    5141 #line 368 "parser.yy"
     5200  case 43:
     5201
     5202/* Line 1806 of yacc.c  */
     5203#line 399 "parser.yy"
     5204    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
     5205    break;
     5206
     5207  case 44:
     5208
     5209/* Line 1806 of yacc.c  */
     5210#line 401 "parser.yy"
     5211    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
     5212    break;
     5213
     5214  case 45:
     5215
     5216/* Line 1806 of yacc.c  */
     5217#line 403 "parser.yy"
     5218    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
     5219    break;
     5220
     5221  case 46:
     5222
     5223/* Line 1806 of yacc.c  */
     5224#line 405 "parser.yy"
     5225    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
     5226    break;
     5227
     5228  case 48:
     5229
     5230/* Line 1806 of yacc.c  */
     5231#line 411 "parser.yy"
     5232    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
     5233    break;
     5234
     5235  case 49:
     5236
     5237/* Line 1806 of yacc.c  */
     5238#line 413 "parser.yy"
     5239    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
     5240    break;
     5241
     5242  case 50:
     5243
     5244/* Line 1806 of yacc.c  */
     5245#line 415 "parser.yy"
     5246    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     5247    break;
     5248
     5249  case 51:
     5250
     5251/* Line 1806 of yacc.c  */
     5252#line 417 "parser.yy"
     5253    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5254    break;
     5255
     5256  case 52:
     5257
     5258/* Line 1806 of yacc.c  */
     5259#line 419 "parser.yy"
     5260    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
     5261    break;
     5262
     5263  case 53:
     5264
     5265/* Line 1806 of yacc.c  */
     5266#line 421 "parser.yy"
     5267    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
     5268    break;
     5269
     5270  case 54:
     5271
     5272/* Line 1806 of yacc.c  */
     5273#line 427 "parser.yy"
     5274    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
     5275    break;
     5276
     5277  case 55:
     5278
     5279/* Line 1806 of yacc.c  */
     5280#line 429 "parser.yy"
     5281    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5282    break;
     5283
     5284  case 56:
     5285
     5286/* Line 1806 of yacc.c  */
     5287#line 431 "parser.yy"
     5288    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
     5289    break;
     5290
     5291  case 57:
     5292
     5293/* Line 1806 of yacc.c  */
     5294#line 433 "parser.yy"
     5295    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5296    break;
     5297
     5298  case 58:
     5299
     5300/* Line 1806 of yacc.c  */
     5301#line 435 "parser.yy"
     5302    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
     5303    break;
     5304
     5305  case 59:
     5306
     5307/* Line 1806 of yacc.c  */
     5308#line 437 "parser.yy"
     5309    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
     5310    break;
     5311
     5312  case 60:
     5313
     5314/* Line 1806 of yacc.c  */
     5315#line 439 "parser.yy"
     5316    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5317    break;
     5318
     5319  case 61:
     5320
     5321/* Line 1806 of yacc.c  */
     5322#line 441 "parser.yy"
     5323    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true )); }
     5324    break;
     5325
     5326  case 62:
     5327
     5328/* Line 1806 of yacc.c  */
     5329#line 445 "parser.yy"
     5330    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
     5331    break;
     5332
     5333  case 63:
     5334
     5335/* Line 1806 of yacc.c  */
     5336#line 446 "parser.yy"
     5337    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5338    break;
     5339
     5340  case 64:
     5341
     5342/* Line 1806 of yacc.c  */
     5343#line 447 "parser.yy"
     5344    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5345    break;
     5346
     5347  case 65:
     5348
     5349/* Line 1806 of yacc.c  */
     5350#line 448 "parser.yy"
     5351    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
     5352    break;
     5353
     5354  case 67:
     5355
     5356/* Line 1806 of yacc.c  */
     5357#line 454 "parser.yy"
     5358    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5359    break;
     5360
     5361  case 68:
     5362
     5363/* Line 1806 of yacc.c  */
     5364#line 456 "parser.yy"
     5365    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5366    break;
     5367
     5368  case 70:
     5369
     5370/* Line 1806 of yacc.c  */
     5371#line 462 "parser.yy"
     5372    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5373    break;
     5374
     5375  case 71:
     5376
     5377/* Line 1806 of yacc.c  */
     5378#line 464 "parser.yy"
     5379    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5380    break;
     5381
     5382  case 72:
     5383
     5384/* Line 1806 of yacc.c  */
     5385#line 466 "parser.yy"
     5386    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5387    break;
     5388
     5389  case 74:
     5390
     5391/* Line 1806 of yacc.c  */
     5392#line 472 "parser.yy"
     5393    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5394    break;
     5395
     5396  case 75:
     5397
     5398/* Line 1806 of yacc.c  */
     5399#line 474 "parser.yy"
     5400    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5401    break;
     5402
     5403  case 77:
     5404
     5405/* Line 1806 of yacc.c  */
     5406#line 480 "parser.yy"
     5407    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5408    break;
     5409
     5410  case 78:
     5411
     5412/* Line 1806 of yacc.c  */
     5413#line 482 "parser.yy"
     5414    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5415    break;
     5416
     5417  case 80:
     5418
     5419/* Line 1806 of yacc.c  */
     5420#line 488 "parser.yy"
     5421    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5422    break;
     5423
     5424  case 81:
     5425
     5426/* Line 1806 of yacc.c  */
     5427#line 490 "parser.yy"
     5428    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5429    break;
     5430
     5431  case 82:
     5432
     5433/* Line 1806 of yacc.c  */
     5434#line 492 "parser.yy"
     5435    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5436    break;
     5437
     5438  case 83:
     5439
     5440/* Line 1806 of yacc.c  */
     5441#line 494 "parser.yy"
     5442    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5443    break;
     5444
     5445  case 85:
     5446
     5447/* Line 1806 of yacc.c  */
     5448#line 500 "parser.yy"
     5449    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5450    break;
     5451
     5452  case 86:
     5453
     5454/* Line 1806 of yacc.c  */
     5455#line 502 "parser.yy"
     5456    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5457    break;
     5458
     5459  case 88:
     5460
     5461/* Line 1806 of yacc.c  */
     5462#line 508 "parser.yy"
     5463    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5464    break;
     5465
     5466  case 90:
     5467
     5468/* Line 1806 of yacc.c  */
     5469#line 514 "parser.yy"
     5470    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5471    break;
     5472
     5473  case 92:
     5474
     5475/* Line 1806 of yacc.c  */
     5476#line 520 "parser.yy"
     5477    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5478    break;
     5479
     5480  case 94:
     5481
     5482/* Line 1806 of yacc.c  */
     5483#line 526 "parser.yy"
     5484    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5485    break;
     5486
     5487  case 96:
     5488
     5489/* Line 1806 of yacc.c  */
     5490#line 532 "parser.yy"
     5491    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5492    break;
     5493
     5494  case 98:
     5495
     5496/* Line 1806 of yacc.c  */
     5497#line 538 "parser.yy"
     5498    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5499    break;
     5500
     5501  case 99:
     5502
     5503/* Line 1806 of yacc.c  */
     5504#line 540 "parser.yy"
     5505    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     5506    break;
     5507
     5508  case 100:
     5509
     5510/* Line 1806 of yacc.c  */
     5511#line 542 "parser.yy"
     5512    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5513    break;
     5514
     5515  case 103:
     5516
     5517/* Line 1806 of yacc.c  */
     5518#line 553 "parser.yy"
     5519    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5520    break;
     5521
     5522  case 104:
     5523
     5524/* Line 1806 of yacc.c  */
     5525#line 555 "parser.yy"
     5526    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5527    break;
     5528
     5529  case 105:
     5530
     5531/* Line 1806 of yacc.c  */
     5532#line 557 "parser.yy"
     5533    { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5534    break;
     5535
     5536  case 106:
     5537
     5538/* Line 1806 of yacc.c  */
     5539#line 562 "parser.yy"
     5540    { (yyval.en) = new NullExprNode; }
     5541    break;
     5542
     5543  case 108:
     5544
     5545/* Line 1806 of yacc.c  */
     5546#line 570 "parser.yy"
     5547    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5548    break;
     5549
     5550  case 109:
     5551
     5552/* Line 1806 of yacc.c  */
     5553#line 572 "parser.yy"
     5554    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
     5555    break;
     5556
     5557  case 110:
     5558
     5559/* Line 1806 of yacc.c  */
     5560#line 574 "parser.yy"
     5561    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
     5562    break;
     5563
     5564  case 111:
     5565
     5566/* Line 1806 of yacc.c  */
     5567#line 576 "parser.yy"
     5568    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
     5569    break;
     5570
     5571  case 113:
     5572
     5573/* Line 1806 of yacc.c  */
     5574#line 582 "parser.yy"
     5575    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5576    break;
     5577
     5578  case 114:
     5579
     5580/* Line 1806 of yacc.c  */
     5581#line 586 "parser.yy"
     5582    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
     5583    break;
     5584
     5585  case 115:
     5586
     5587/* Line 1806 of yacc.c  */
     5588#line 587 "parser.yy"
     5589    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5590    break;
     5591
     5592  case 116:
     5593
     5594/* Line 1806 of yacc.c  */
     5595#line 588 "parser.yy"
     5596    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5597    break;
     5598
     5599  case 117:
     5600
     5601/* Line 1806 of yacc.c  */
     5602#line 589 "parser.yy"
     5603    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5604    break;
     5605
     5606  case 118:
     5607
     5608/* Line 1806 of yacc.c  */
     5609#line 590 "parser.yy"
     5610    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5611    break;
     5612
     5613  case 119:
     5614
     5615/* Line 1806 of yacc.c  */
     5616#line 591 "parser.yy"
     5617    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5618    break;
     5619
     5620  case 120:
     5621
     5622/* Line 1806 of yacc.c  */
     5623#line 592 "parser.yy"
     5624    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5625    break;
     5626
     5627  case 121:
     5628
     5629/* Line 1806 of yacc.c  */
     5630#line 593 "parser.yy"
     5631    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5632    break;
     5633
     5634  case 122:
     5635
     5636/* Line 1806 of yacc.c  */
     5637#line 594 "parser.yy"
     5638    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5639    break;
     5640
     5641  case 123:
     5642
     5643/* Line 1806 of yacc.c  */
     5644#line 595 "parser.yy"
     5645    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
     5646    break;
     5647
     5648  case 125:
     5649
     5650/* Line 1806 of yacc.c  */
     5651#line 601 "parser.yy"
     5652    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5653    break;
     5654
     5655  case 126:
     5656
     5657/* Line 1806 of yacc.c  */
     5658#line 606 "parser.yy"
    51425659    { (yyval.en) = 0; }
    51435660    break;
    51445661
    5145   case 32:
    5146 
    5147 /* Line 1806 of yacc.c  */
    5148 #line 374 "parser.yy"
    5149     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    5150     break;
    5151 
    5152   case 33:
    5153 
    5154 /* Line 1806 of yacc.c  */
    5155 #line 379 "parser.yy"
    5156     { (yyval.en) = 0; }
    5157     break;
    5158 
    5159   case 35:
    5160 
    5161 /* Line 1806 of yacc.c  */
    5162 #line 382 "parser.yy"
    5163     { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    5164     break;
    5165 
    5166   case 36:
    5167 
    5168 /* Line 1806 of yacc.c  */
    5169 #line 387 "parser.yy"
    5170     { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    5171     break;
    5172 
    5173   case 37:
    5174 
    5175 /* Line 1806 of yacc.c  */
    5176 #line 389 "parser.yy"
    5177     { (yyval.en) = (yyvsp[(9) - (9)].en)->set_argName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); }
    5178     break;
    5179 
    5180   case 39:
    5181 
    5182 /* Line 1806 of yacc.c  */
    5183 #line 394 "parser.yy"
    5184     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    5185     break;
    5186 
    5187   case 40:
    5188 
    5189 /* Line 1806 of yacc.c  */
    5190 #line 399 "parser.yy"
    5191     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    5192     break;
    5193 
    5194   case 41:
    5195 
    5196 /* Line 1806 of yacc.c  */
    5197 #line 401 "parser.yy"
    5198     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    5199     break;
    5200 
    5201   case 42:
    5202 
    5203 /* Line 1806 of yacc.c  */
    5204 #line 403 "parser.yy"
    5205     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    5206     break;
    5207 
    5208   case 43:
    5209 
    5210 /* Line 1806 of yacc.c  */
    5211 #line 405 "parser.yy"
    5212     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    5213     break;
    5214 
    5215   case 44:
    5216 
    5217 /* Line 1806 of yacc.c  */
    5218 #line 407 "parser.yy"
    5219     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    5220     break;
    5221 
    5222   case 46:
    5223 
    5224 /* Line 1806 of yacc.c  */
    5225 #line 415 "parser.yy"
    5226     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5227     break;
    5228 
    5229   case 47:
    5230 
    5231 /* Line 1806 of yacc.c  */
    5232 #line 417 "parser.yy"
    5233     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5234     break;
    5235 
    5236   case 48:
    5237 
    5238 /* Line 1806 of yacc.c  */
    5239 #line 419 "parser.yy"
    5240     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    5241     break;
    5242 
    5243   case 49:
    5244 
    5245 /* Line 1806 of yacc.c  */
    5246 #line 421 "parser.yy"
    5247     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    5248     break;
    5249 
    5250   case 50:
    5251 
    5252 /* Line 1806 of yacc.c  */
    5253 #line 423 "parser.yy"
    5254     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    5255     break;
    5256 
    5257   case 51:
    5258 
    5259 /* Line 1806 of yacc.c  */
    5260 #line 425 "parser.yy"
    5261     { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5262     break;
    5263 
    5264   case 52:
    5265 
    5266 /* Line 1806 of yacc.c  */
    5267 #line 427 "parser.yy"
    5268     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    5269     break;
    5270 
    5271   case 53:
    5272 
    5273 /* Line 1806 of yacc.c  */
    5274 #line 429 "parser.yy"
    5275     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    5276     break;
    5277 
    5278   case 54:
    5279 
    5280 /* Line 1806 of yacc.c  */
    5281 #line 435 "parser.yy"
    5282     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    5283     break;
    5284 
    5285   case 55:
    5286 
    5287 /* Line 1806 of yacc.c  */
    5288 #line 437 "parser.yy"
    5289     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5290     break;
    5291 
    5292   case 56:
    5293 
    5294 /* Line 1806 of yacc.c  */
    5295 #line 439 "parser.yy"
    5296     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    5297     break;
    5298 
    5299   case 57:
    5300 
    5301 /* Line 1806 of yacc.c  */
    5302 #line 441 "parser.yy"
    5303     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5304     break;
    5305 
    5306   case 58:
    5307 
    5308 /* Line 1806 of yacc.c  */
    5309 #line 443 "parser.yy"
    5310     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    5311     break;
    5312 
    5313   case 59:
    5314 
    5315 /* Line 1806 of yacc.c  */
    5316 #line 445 "parser.yy"
    5317     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    5318     break;
    5319 
    5320   case 60:
    5321 
    5322 /* Line 1806 of yacc.c  */
    5323 #line 447 "parser.yy"
    5324     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5325     break;
    5326 
    5327   case 61:
    5328 
    5329 /* Line 1806 of yacc.c  */
    5330 #line 449 "parser.yy"
    5331     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true )); }
    5332     break;
    5333 
    5334   case 62:
    5335 
    5336 /* Line 1806 of yacc.c  */
    5337 #line 453 "parser.yy"
    5338     { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    5339     break;
    5340 
    5341   case 63:
    5342 
    5343 /* Line 1806 of yacc.c  */
    5344 #line 454 "parser.yy"
    5345     { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    5346     break;
    5347 
    5348   case 64:
    5349 
    5350 /* Line 1806 of yacc.c  */
    5351 #line 455 "parser.yy"
    5352     { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    5353     break;
    5354 
    5355   case 65:
    5356 
    5357 /* Line 1806 of yacc.c  */
    5358 #line 456 "parser.yy"
    5359     { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    5360     break;
    5361 
    5362   case 67:
    5363 
    5364 /* Line 1806 of yacc.c  */
    5365 #line 462 "parser.yy"
    5366     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    5367     break;
    5368 
    5369   case 68:
    5370 
    5371 /* Line 1806 of yacc.c  */
    5372 #line 464 "parser.yy"
    5373     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    5374     break;
    5375 
    5376   case 70:
    5377 
    5378 /* Line 1806 of yacc.c  */
    5379 #line 470 "parser.yy"
    5380     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5381     break;
    5382 
    5383   case 71:
    5384 
    5385 /* Line 1806 of yacc.c  */
    5386 #line 472 "parser.yy"
    5387     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5388     break;
    5389 
    5390   case 72:
    5391 
    5392 /* Line 1806 of yacc.c  */
    5393 #line 474 "parser.yy"
    5394     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5395     break;
    5396 
    5397   case 74:
    5398 
    5399 /* Line 1806 of yacc.c  */
    5400 #line 480 "parser.yy"
    5401     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5402     break;
    5403 
    5404   case 75:
    5405 
    5406 /* Line 1806 of yacc.c  */
    5407 #line 482 "parser.yy"
    5408     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5409     break;
    5410 
    5411   case 77:
    5412 
    5413 /* Line 1806 of yacc.c  */
    5414 #line 488 "parser.yy"
    5415     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5416     break;
    5417 
    5418   case 78:
    5419 
    5420 /* Line 1806 of yacc.c  */
    5421 #line 490 "parser.yy"
    5422     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5423     break;
    5424 
    5425   case 80:
    5426 
    5427 /* Line 1806 of yacc.c  */
    5428 #line 496 "parser.yy"
    5429     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5430     break;
    5431 
    5432   case 81:
    5433 
    5434 /* Line 1806 of yacc.c  */
    5435 #line 498 "parser.yy"
    5436     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5437     break;
    5438 
    5439   case 82:
    5440 
    5441 /* Line 1806 of yacc.c  */
    5442 #line 500 "parser.yy"
    5443     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5444     break;
    5445 
    5446   case 83:
    5447 
    5448 /* Line 1806 of yacc.c  */
    5449 #line 502 "parser.yy"
    5450     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5451     break;
    5452 
    5453   case 85:
    5454 
    5455 /* Line 1806 of yacc.c  */
    5456 #line 508 "parser.yy"
    5457     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5458     break;
    5459 
    5460   case 86:
    5461 
    5462 /* Line 1806 of yacc.c  */
    5463 #line 510 "parser.yy"
    5464     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5465     break;
    5466 
    5467   case 88:
    5468 
    5469 /* Line 1806 of yacc.c  */
    5470 #line 516 "parser.yy"
    5471     { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5472     break;
    5473 
    5474   case 90:
    5475 
    5476 /* Line 1806 of yacc.c  */
    5477 #line 522 "parser.yy"
    5478     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5479     break;
    5480 
    5481   case 92:
    5482 
    5483 /* Line 1806 of yacc.c  */
    5484 #line 528 "parser.yy"
    5485     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5486     break;
    5487 
    5488   case 94:
    5489 
    5490 /* Line 1806 of yacc.c  */
    5491 #line 534 "parser.yy"
    5492     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5493     break;
    5494 
    5495   case 96:
    5496 
    5497 /* Line 1806 of yacc.c  */
    5498 #line 540 "parser.yy"
    5499     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5500     break;
    5501 
    5502   case 98:
    5503 
    5504 /* Line 1806 of yacc.c  */
    5505 #line 546 "parser.yy"
    5506     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    5507     break;
    5508 
    5509   case 99:
    5510 
    5511 /* Line 1806 of yacc.c  */
    5512 #line 548 "parser.yy"
    5513     { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    5514     break;
    5515 
    5516   case 100:
    5517 
    5518 /* Line 1806 of yacc.c  */
    5519 #line 550 "parser.yy"
    5520     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    5521     break;
    5522 
    5523   case 103:
    5524 
    5525 /* Line 1806 of yacc.c  */
    5526 #line 561 "parser.yy"
    5527     { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5528     break;
    5529 
    5530   case 104:
    5531 
    5532 /* Line 1806 of yacc.c  */
    5533 #line 563 "parser.yy"
    5534     { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5535     break;
    5536 
    5537   case 105:
    5538 
    5539 /* Line 1806 of yacc.c  */
    5540 #line 565 "parser.yy"
    5541     { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5542     break;
    5543 
    5544   case 106:
    5545 
    5546 /* Line 1806 of yacc.c  */
    5547 #line 570 "parser.yy"
    5548     { (yyval.en) = new NullExprNode; }
    5549     break;
    5550 
    5551   case 108:
    5552 
    5553 /* Line 1806 of yacc.c  */
    5554 #line 578 "parser.yy"
    5555     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    5556     break;
    5557 
    5558   case 109:
    5559 
    5560 /* Line 1806 of yacc.c  */
    5561 #line 580 "parser.yy"
    5562     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    5563     break;
    5564 
    5565   case 110:
    5566 
    5567 /* Line 1806 of yacc.c  */
    5568 #line 582 "parser.yy"
    5569     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    5570     break;
    5571 
    5572   case 111:
    5573 
    5574 /* Line 1806 of yacc.c  */
    5575 #line 584 "parser.yy"
    5576     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    5577     break;
    5578 
    5579   case 113:
    5580 
    5581 /* Line 1806 of yacc.c  */
    5582 #line 590 "parser.yy"
    5583     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    5584     break;
    5585 
    5586   case 114:
    5587 
    5588 /* Line 1806 of yacc.c  */
    5589 #line 594 "parser.yy"
    5590     { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    5591     break;
    5592 
    5593   case 115:
    5594 
    5595 /* Line 1806 of yacc.c  */
    5596 #line 595 "parser.yy"
    5597     { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    5598     break;
    5599 
    5600   case 116:
    5601 
    5602 /* Line 1806 of yacc.c  */
    5603 #line 596 "parser.yy"
    5604     { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    5605     break;
    5606 
    5607   case 117:
    5608 
    5609 /* Line 1806 of yacc.c  */
    5610 #line 597 "parser.yy"
    5611     { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    5612     break;
    5613 
    5614   case 118:
    5615 
    5616 /* Line 1806 of yacc.c  */
    5617 #line 598 "parser.yy"
    5618     { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    5619     break;
    5620 
    5621   case 119:
    5622 
    5623 /* Line 1806 of yacc.c  */
    5624 #line 599 "parser.yy"
    5625     { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    5626     break;
    5627 
    5628   case 120:
    5629 
    5630 /* Line 1806 of yacc.c  */
    5631 #line 600 "parser.yy"
    5632     { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    5633     break;
    5634 
    5635   case 121:
    5636 
    5637 /* Line 1806 of yacc.c  */
    5638 #line 601 "parser.yy"
    5639     { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    5640     break;
    5641 
    5642   case 122:
    5643 
    5644 /* Line 1806 of yacc.c  */
    5645 #line 602 "parser.yy"
    5646     { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    5647     break;
    5648 
    5649   case 123:
    5650 
    5651 /* Line 1806 of yacc.c  */
    5652 #line 603 "parser.yy"
    5653     { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    5654     break;
    5655 
    5656   case 125:
    5657 
    5658 /* Line 1806 of yacc.c  */
    5659 #line 609 "parser.yy"
    5660     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5661     break;
    5662 
    5663   case 126:
    5664 
    5665 /* Line 1806 of yacc.c  */
    5666 #line 614 "parser.yy"
    5667     { (yyval.en) = 0; }
    5668     break;
    5669 
    56705662  case 130:
    56715663
    56725664/* Line 1806 of yacc.c  */
    5673 #line 623 "parser.yy"
     5665#line 615 "parser.yy"
    56745666    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56755667    break;
     
    56785670
    56795671/* Line 1806 of yacc.c  */
    5680 #line 633 "parser.yy"
     5672#line 625 "parser.yy"
    56815673    {
    56825674                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    56875679
    56885680/* Line 1806 of yacc.c  */
    5689 #line 640 "parser.yy"
     5681#line 632 "parser.yy"
    56905682    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    56915683    break;
     
    56945686
    56955687/* Line 1806 of yacc.c  */
    5696 #line 647 "parser.yy"
     5688#line 639 "parser.yy"
    56975689    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    56985690    break;
     
    57015693
    57025694/* Line 1806 of yacc.c  */
    5703 #line 653 "parser.yy"
     5695#line 645 "parser.yy"
    57045696    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    57055697    break;
     
    57085700
    57095701/* Line 1806 of yacc.c  */
    5710 #line 658 "parser.yy"
     5702#line 650 "parser.yy"
    57115703    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57125704    break;
     
    57155707
    57165708/* Line 1806 of yacc.c  */
    5717 #line 660 "parser.yy"
     5709#line 652 "parser.yy"
    57185710    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    57195711    break;
     
    57225714
    57235715/* Line 1806 of yacc.c  */
    5724 #line 662 "parser.yy"
     5716#line 654 "parser.yy"
    57255717    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57265718    break;
     
    57295721
    57305722/* Line 1806 of yacc.c  */
    5731 #line 669 "parser.yy"
     5723#line 661 "parser.yy"
    57325724    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57335725    break;
     
    57365728
    57375729/* Line 1806 of yacc.c  */
     5730#line 666 "parser.yy"
     5731    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
     5732    break;
     5733
     5734  case 148:
     5735
     5736/* Line 1806 of yacc.c  */
     5737#line 672 "parser.yy"
     5738    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5739    break;
     5740
     5741  case 149:
     5742
     5743/* Line 1806 of yacc.c  */
    57385744#line 674 "parser.yy"
    5739     { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    5740     break;
    5741 
    5742   case 148:
    5743 
    5744 /* Line 1806 of yacc.c  */
    5745 #line 680 "parser.yy"
    5746     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5747     break;
    5748 
    5749   case 149:
    5750 
    5751 /* Line 1806 of yacc.c  */
    5752 #line 682 "parser.yy"
    57535745    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    57545746    break;
     
    57575749
    57585750/* Line 1806 of yacc.c  */
    5759 #line 684 "parser.yy"
     5751#line 676 "parser.yy"
    57605752    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57615753    break;
     
    57645756
    57655757/* Line 1806 of yacc.c  */
    5766 #line 686 "parser.yy"
     5758#line 678 "parser.yy"
    57675759    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    57685760    break;
     
    57715763
    57725764/* Line 1806 of yacc.c  */
    5773 #line 691 "parser.yy"
     5765#line 683 "parser.yy"
    57745766    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57755767    break;
     
    57785770
    57795771/* Line 1806 of yacc.c  */
    5780 #line 693 "parser.yy"
     5772#line 685 "parser.yy"
    57815773    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    57825774    break;
     
    57855777
    57865778/* Line 1806 of yacc.c  */
    5787 #line 700 "parser.yy"
     5779#line 692 "parser.yy"
    57885780    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57895781    break;
     
    57925784
    57935785/* Line 1806 of yacc.c  */
    5794 #line 702 "parser.yy"
     5786#line 694 "parser.yy"
    57955787    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57965788    break;
     
    57995791
    58005792/* Line 1806 of yacc.c  */
    5801 #line 709 "parser.yy"
     5793#line 701 "parser.yy"
    58025794    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    58035795    break;
     
    58065798
    58075799/* Line 1806 of yacc.c  */
    5808 #line 713 "parser.yy"
     5800#line 705 "parser.yy"
    58095801    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    58105802    break;
     
    58135805
    58145806/* Line 1806 of yacc.c  */
    5815 #line 714 "parser.yy"
     5807#line 706 "parser.yy"
    58165808    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58175809    break;
     
    58205812
    58215813/* Line 1806 of yacc.c  */
    5822 #line 720 "parser.yy"
     5814#line 712 "parser.yy"
    58235815    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58245816    break;
     
    58275819
    58285820/* Line 1806 of yacc.c  */
    5829 #line 724 "parser.yy"
     5821#line 716 "parser.yy"
    58305822    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58315823    break;
     
    58345826
    58355827/* Line 1806 of yacc.c  */
     5828#line 721 "parser.yy"
     5829    { (yyval.sn) = 0; }
     5830    break;
     5831
     5832  case 166:
     5833
     5834/* Line 1806 of yacc.c  */
     5835#line 727 "parser.yy"
     5836    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     5837    break;
     5838
     5839  case 167:
     5840
     5841/* Line 1806 of yacc.c  */
    58365842#line 729 "parser.yy"
     5843    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     5844    break;
     5845
     5846  case 168:
     5847
     5848/* Line 1806 of yacc.c  */
     5849#line 734 "parser.yy"
    58375850    { (yyval.sn) = 0; }
    58385851    break;
    58395852
    5840   case 166:
    5841 
    5842 /* Line 1806 of yacc.c  */
    5843 #line 735 "parser.yy"
     5853  case 170:
     5854
     5855/* Line 1806 of yacc.c  */
     5856#line 740 "parser.yy"
    58445857    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58455858    break;
    58465859
    5847   case 167:
    5848 
    5849 /* Line 1806 of yacc.c  */
    5850 #line 737 "parser.yy"
     5860  case 171:
     5861
     5862/* Line 1806 of yacc.c  */
     5863#line 742 "parser.yy"
     5864    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
     5865    break;
     5866
     5867  case 172:
     5868
     5869/* Line 1806 of yacc.c  */
     5870#line 744 "parser.yy"
    58515871    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58525872    break;
    58535873
    5854   case 168:
    5855 
    5856 /* Line 1806 of yacc.c  */
    5857 #line 742 "parser.yy"
     5874  case 173:
     5875
     5876/* Line 1806 of yacc.c  */
     5877#line 746 "parser.yy"
     5878    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
     5879    break;
     5880
     5881  case 174:
     5882
     5883/* Line 1806 of yacc.c  */
     5884#line 751 "parser.yy"
    58585885    { (yyval.sn) = 0; }
    58595886    break;
    58605887
    5861   case 170:
    5862 
    5863 /* Line 1806 of yacc.c  */
    5864 #line 748 "parser.yy"
    5865     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    5866     break;
    5867 
    5868   case 171:
    5869 
    5870 /* Line 1806 of yacc.c  */
    5871 #line 750 "parser.yy"
    5872     { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    5873     break;
    5874 
    5875   case 172:
    5876 
    5877 /* Line 1806 of yacc.c  */
    5878 #line 752 "parser.yy"
    5879     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    5880     break;
    5881 
    5882   case 173:
    5883 
    5884 /* Line 1806 of yacc.c  */
    5885 #line 754 "parser.yy"
    5886     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
    5887     break;
    5888 
    5889   case 174:
    5890 
    5891 /* Line 1806 of yacc.c  */
    5892 #line 759 "parser.yy"
    5893     { (yyval.sn) = 0; }
    5894     break;
    5895 
    58965888  case 176:
    58975889
    58985890/* Line 1806 of yacc.c  */
     5891#line 756 "parser.yy"
     5892    { (yyval.sn) = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
     5893    break;
     5894
     5895  case 177:
     5896
     5897/* Line 1806 of yacc.c  */
     5898#line 757 "parser.yy"
     5899    { (yyval.sn) = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
     5900    break;
     5901
     5902  case 178:
     5903
     5904/* Line 1806 of yacc.c  */
     5905#line 762 "parser.yy"
     5906    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5907    break;
     5908
     5909  case 179:
     5910
     5911/* Line 1806 of yacc.c  */
    58995912#line 764 "parser.yy"
    5900     { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    5901     break;
    5902 
    5903   case 177:
    5904 
    5905 /* Line 1806 of yacc.c  */
    5906 #line 765 "parser.yy"
    5907     { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    5908     break;
    5909 
    5910   case 178:
    5911 
    5912 /* Line 1806 of yacc.c  */
    5913 #line 770 "parser.yy"
    5914     { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5915     break;
    5916 
    5917   case 179:
    5918 
    5919 /* Line 1806 of yacc.c  */
    5920 #line 772 "parser.yy"
    59215913    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    59225914    break;
     
    59255917
    59265918/* Line 1806 of yacc.c  */
    5927 #line 774 "parser.yy"
     5919#line 766 "parser.yy"
    59285920    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59295921    break;
     
    59325924
    59335925/* Line 1806 of yacc.c  */
    5934 #line 779 "parser.yy"
     5926#line 771 "parser.yy"
    59355927    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59365928    break;
     
    59395931
    59405932/* Line 1806 of yacc.c  */
    5941 #line 781 "parser.yy"
     5933#line 773 "parser.yy"
    59425934    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59435935    break;
     
    59465938
    59475939/* Line 1806 of yacc.c  */
    5948 #line 786 "parser.yy"
     5940#line 778 "parser.yy"
    59495941    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59505942    break;
     
    59535945
    59545946/* Line 1806 of yacc.c  */
    5955 #line 790 "parser.yy"
     5947#line 782 "parser.yy"
    59565948    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59575949    break;
     
    59605952
    59615953/* Line 1806 of yacc.c  */
    5962 #line 793 "parser.yy"
    5963     { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
     5954#line 785 "parser.yy"
     5955    { (yyval.sn) = new StatementNode( StatementNode::Continue, 0, 0 ); }
    59645956    break;
    59655957
     
    59675959
    59685960/* Line 1806 of yacc.c  */
    5969 #line 797 "parser.yy"
     5961#line 789 "parser.yy"
    59705962    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    59715963    break;
     
    59745966
    59755967/* Line 1806 of yacc.c  */
     5968#line 792 "parser.yy"
     5969    { (yyval.sn) = new StatementNode( StatementNode::Break, 0, 0 ); }
     5970    break;
     5971
     5972  case 188:
     5973
     5974/* Line 1806 of yacc.c  */
     5975#line 796 "parser.yy"
     5976    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
     5977    break;
     5978
     5979  case 189:
     5980
     5981/* Line 1806 of yacc.c  */
     5982#line 798 "parser.yy"
     5983    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
     5984    break;
     5985
     5986  case 190:
     5987
     5988/* Line 1806 of yacc.c  */
    59765989#line 800 "parser.yy"
    5977     { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    5978     break;
    5979 
    5980   case 188:
    5981 
    5982 /* Line 1806 of yacc.c  */
    5983 #line 804 "parser.yy"
    5984     { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    5985     break;
    5986 
    5987   case 189:
    5988 
    5989 /* Line 1806 of yacc.c  */
    5990 #line 806 "parser.yy"
    5991     { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    5992     break;
    5993 
    5994   case 190:
    5995 
    5996 /* Line 1806 of yacc.c  */
    5997 #line 808 "parser.yy"
    59985990    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    59995991    break;
     
    60025994
    60035995/* Line 1806 of yacc.c  */
    6004 #line 810 "parser.yy"
    6005     { (yyval.sn) = new StatementNode( StatementNode::Throw ); }
     5996#line 802 "parser.yy"
     5997    { (yyval.sn) = new StatementNode( StatementNode::Throw, 0, 0 ); }
    60065998    break;
    60075999
     
    60096001
    60106002/* Line 1806 of yacc.c  */
    6011 #line 815 "parser.yy"
     6003#line 807 "parser.yy"
    60126004    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    60136005    break;
     
    60166008
    60176009/* Line 1806 of yacc.c  */
    6018 #line 817 "parser.yy"
     6010#line 809 "parser.yy"
    60196011    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    60206012    break;
     
    60236015
    60246016/* Line 1806 of yacc.c  */
    6025 #line 819 "parser.yy"
     6017#line 811 "parser.yy"
    60266018    {
    60276019                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60336025
    60346026/* Line 1806 of yacc.c  */
    6035 #line 830 "parser.yy"
     6027#line 822 "parser.yy"
    60366028    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60376029    break;
     
    60406032
    60416033/* Line 1806 of yacc.c  */
    6042 #line 832 "parser.yy"
     6034#line 824 "parser.yy"
    60436035    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60446036    break;
     
    60476039
    60486040/* Line 1806 of yacc.c  */
    6049 #line 837 "parser.yy"
     6041#line 829 "parser.yy"
    60506042    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    60516043    break;
     
    60546046
    60556047/* Line 1806 of yacc.c  */
    6056 #line 839 "parser.yy"
     6048#line 831 "parser.yy"
    60576049    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60586050    break;
     
    60616053
    60626054/* Line 1806 of yacc.c  */
    6063 #line 844 "parser.yy"
     6055#line 836 "parser.yy"
    60646056    {
    60656057                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    60716063
    60726064/* Line 1806 of yacc.c  */
    6073 #line 858 "parser.yy"
     6065#line 850 "parser.yy"
    60746066    {
    60756067                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60816073
    60826074/* Line 1806 of yacc.c  */
    6083 #line 863 "parser.yy"
     6075#line 855 "parser.yy"
    60846076    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    60856077    break;
     
    60886080
    60896081/* Line 1806 of yacc.c  */
    6090 #line 865 "parser.yy"
     6082#line 857 "parser.yy"
    60916083    {
    60926084                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60986090
    60996091/* Line 1806 of yacc.c  */
    6100 #line 874 "parser.yy"
    6101     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
     6092#line 866 "parser.yy"
     6093    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
    61026094    break;
    61036095
     
    61056097
    61066098/* Line 1806 of yacc.c  */
    6107 #line 876 "parser.yy"
    6108     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
     6099#line 868 "parser.yy"
     6100    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
    61096101    break;
    61106102
     
    61126104
    61136105/* Line 1806 of yacc.c  */
    6114 #line 878 "parser.yy"
    6115     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
     6106#line 870 "parser.yy"
     6107    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
    61166108    break;
    61176109
     
    61196111
    61206112/* Line 1806 of yacc.c  */
    6121 #line 880 "parser.yy"
    6122     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
    6123     break;
    6124 
    6125   case 210:
    6126 
    6127 /* Line 1806 of yacc.c  */
    6128 #line 882 "parser.yy"
    6129     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); }
    6130     break;
    6131 
    6132   case 211:
    6133 
    6134 /* Line 1806 of yacc.c  */
    6135 #line 887 "parser.yy"
    6136     { (yyval.flag) = false; }
    6137     break;
    6138 
    6139   case 212:
    6140 
    6141 /* Line 1806 of yacc.c  */
    6142 #line 889 "parser.yy"
    6143     { (yyval.flag) = true; }
    6144     break;
    6145 
    6146   case 213:
    6147 
    6148 /* Line 1806 of yacc.c  */
    6149 #line 894 "parser.yy"
    6150     { (yyval.en) = 0; }
    6151     break;
    6152 
    6153   case 216:
    6154 
    6155 /* Line 1806 of yacc.c  */
    6156 #line 901 "parser.yy"
    6157     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     6113#line 872 "parser.yy"
     6114    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
     6115    break;
     6116
     6117  case 214:
     6118
     6119/* Line 1806 of yacc.c  */
     6120#line 886 "parser.yy"
     6121    {}
     6122    break;
     6123
     6124  case 215:
     6125
     6126/* Line 1806 of yacc.c  */
     6127#line 890 "parser.yy"
     6128    {}
    61586129    break;
    61596130
     
    61616132
    61626133/* Line 1806 of yacc.c  */
    6163 #line 906 "parser.yy"
    6164     { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    6165     break;
    6166 
    6167   case 218:
    6168 
    6169 /* Line 1806 of yacc.c  */
    6170 #line 908 "parser.yy"
    6171     { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    6172     break;
    6173 
    6174   case 219:
    6175 
    6176 /* Line 1806 of yacc.c  */
    6177 #line 913 "parser.yy"
    6178     { (yyval.constant) = 0; }
     6134#line 898 "parser.yy"
     6135    { (yyval.decl) = 0; }
    61796136    break;
    61806137
     
    61826139
    61836140/* Line 1806 of yacc.c  */
    6184 #line 915 "parser.yy"
    6185     { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
     6141#line 905 "parser.yy"
     6142    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    61866143    break;
    61876144
     
    61896146
    61906147/* Line 1806 of yacc.c  */
     6148#line 910 "parser.yy"
     6149    { (yyval.decl) = 0; }
     6150    break;
     6151
     6152  case 224:
     6153
     6154/* Line 1806 of yacc.c  */
    61916155#line 917 "parser.yy"
    6192     { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    6193     break;
    6194 
    6195   case 222:
    6196 
    6197 /* Line 1806 of yacc.c  */
    6198 #line 922 "parser.yy"
    6199     { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    6200     break;
    6201 
    6202   case 223:
    6203 
    6204 /* Line 1806 of yacc.c  */
    6205 #line 924 "parser.yy"
    6206     { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    6207     break;
    6208 
    6209   case 224:
     6156    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
     6157    break;
     6158
     6159  case 229:
    62106160
    62116161/* Line 1806 of yacc.c  */
    62126162#line 931 "parser.yy"
    6213     { (yyval.decl) = 0; }
    6214     break;
    6215 
    6216   case 227:
    6217 
    6218 /* Line 1806 of yacc.c  */
    6219 #line 938 "parser.yy"
    6220     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    6221     break;
    6222 
    6223   case 228:
    6224 
    6225 /* Line 1806 of yacc.c  */
    6226 #line 943 "parser.yy"
    6227     { (yyval.decl) = 0; }
    6228     break;
    6229 
    6230   case 231:
    6231 
    6232 /* Line 1806 of yacc.c  */
    6233 #line 950 "parser.yy"
    6234     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    6235     break;
    6236 
    6237   case 236:
    6238 
    6239 /* Line 1806 of yacc.c  */
    6240 #line 964 "parser.yy"
    62416163    {}
    62426164    break;
    62436165
    6244   case 237:
    6245 
    6246 /* Line 1806 of yacc.c  */
    6247 #line 965 "parser.yy"
     6166  case 230:
     6167
     6168/* Line 1806 of yacc.c  */
     6169#line 932 "parser.yy"
    62486170    {}
    62496171    break;
    62506172
    6251   case 245:
    6252 
    6253 /* Line 1806 of yacc.c  */
    6254 #line 994 "parser.yy"
     6173  case 238:
     6174
     6175/* Line 1806 of yacc.c  */
     6176#line 961 "parser.yy"
    62556177    {
    62566178                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62596181    break;
    62606182
    6261   case 246:
    6262 
    6263 /* Line 1806 of yacc.c  */
    6264 #line 1001 "parser.yy"
     6183  case 239:
     6184
     6185/* Line 1806 of yacc.c  */
     6186#line 968 "parser.yy"
    62656187    {
    62666188                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62696191    break;
    62706192
    6271   case 247:
    6272 
    6273 /* Line 1806 of yacc.c  */
    6274 #line 1006 "parser.yy"
     6193  case 240:
     6194
     6195/* Line 1806 of yacc.c  */
     6196#line 973 "parser.yy"
    62756197    {
    62766198                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    62796201    break;
    62806202
    6281   case 248:
    6282 
    6283 /* Line 1806 of yacc.c  */
    6284 #line 1016 "parser.yy"
     6203  case 241:
     6204
     6205/* Line 1806 of yacc.c  */
     6206#line 983 "parser.yy"
    62856207    {
    62866208                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    62896211    break;
    62906212
    6291   case 249:
    6292 
    6293 /* Line 1806 of yacc.c  */
    6294 #line 1021 "parser.yy"
     6213  case 242:
     6214
     6215/* Line 1806 of yacc.c  */
     6216#line 988 "parser.yy"
    62956217    {
    62966218                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    62996221    break;
    63006222
    6301   case 250:
    6302 
    6303 /* Line 1806 of yacc.c  */
    6304 #line 1026 "parser.yy"
     6223  case 243:
     6224
     6225/* Line 1806 of yacc.c  */
     6226#line 993 "parser.yy"
    63056227    {
    63066228                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63096231    break;
    63106232
    6311   case 251:
    6312 
    6313 /* Line 1806 of yacc.c  */
    6314 #line 1034 "parser.yy"
     6233  case 244:
     6234
     6235/* Line 1806 of yacc.c  */
     6236#line 1001 "parser.yy"
    63156237    {
    63166238                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63196241    break;
    63206242
    6321   case 252:
    6322 
    6323 /* Line 1806 of yacc.c  */
    6324 #line 1039 "parser.yy"
     6243  case 245:
     6244
     6245/* Line 1806 of yacc.c  */
     6246#line 1006 "parser.yy"
    63256247    {
    63266248                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63296251    break;
    63306252
    6331   case 253:
    6332 
    6333 /* Line 1806 of yacc.c  */
    6334 #line 1044 "parser.yy"
     6253  case 246:
     6254
     6255/* Line 1806 of yacc.c  */
     6256#line 1011 "parser.yy"
    63356257    {
    63366258                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63396261    break;
    63406262
    6341   case 254:
    6342 
    6343 /* Line 1806 of yacc.c  */
    6344 #line 1049 "parser.yy"
     6263  case 247:
     6264
     6265/* Line 1806 of yacc.c  */
     6266#line 1016 "parser.yy"
    63456267    {
    63466268                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63496271    break;
    63506272
    6351   case 255:
    6352 
    6353 /* Line 1806 of yacc.c  */
    6354 #line 1054 "parser.yy"
     6273  case 248:
     6274
     6275/* Line 1806 of yacc.c  */
     6276#line 1021 "parser.yy"
    63556277    {
    63566278                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63596281    break;
    63606282
    6361   case 256:
    6362 
    6363 /* Line 1806 of yacc.c  */
    6364 #line 1062 "parser.yy"
     6283  case 249:
     6284
     6285/* Line 1806 of yacc.c  */
     6286#line 1029 "parser.yy"
    63656287    {
    63666288                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    63686290    break;
    63696291
    6370   case 257:
    6371 
    6372 /* Line 1806 of yacc.c  */
    6373 #line 1085 "parser.yy"
     6292  case 250:
     6293
     6294/* Line 1806 of yacc.c  */
     6295#line 1052 "parser.yy"
    63746296    {
    63756297                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63776299    break;
    63786300
    6379   case 258:
    6380 
    6381 /* Line 1806 of yacc.c  */
    6382 #line 1089 "parser.yy"
     6301  case 251:
     6302
     6303/* Line 1806 of yacc.c  */
     6304#line 1056 "parser.yy"
    63836305    {
    63846306                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63866308    break;
    63876309
    6388   case 259:
    6389 
    6390 /* Line 1806 of yacc.c  */
    6391 #line 1096 "parser.yy"
     6310  case 252:
     6311
     6312/* Line 1806 of yacc.c  */
     6313#line 1063 "parser.yy"
    63926314    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    63936315    break;
    63946316
    6395   case 260:
    6396 
    6397 /* Line 1806 of yacc.c  */
    6398 #line 1100 "parser.yy"
     6317  case 253:
     6318
     6319/* Line 1806 of yacc.c  */
     6320#line 1067 "parser.yy"
    63996321    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64006322    break;
    64016323
    6402   case 261:
    6403 
    6404 /* Line 1806 of yacc.c  */
    6405 #line 1105 "parser.yy"
     6324  case 254:
     6325
     6326/* Line 1806 of yacc.c  */
     6327#line 1072 "parser.yy"
    64066328    {
    64076329                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64106332    break;
    64116333
    6412   case 262:
    6413 
    6414 /* Line 1806 of yacc.c  */
    6415 #line 1110 "parser.yy"
     6334  case 255:
     6335
     6336/* Line 1806 of yacc.c  */
     6337#line 1077 "parser.yy"
    64166338    {
    64176339                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64206342    break;
    64216343
    6422   case 263:
    6423 
    6424 /* Line 1806 of yacc.c  */
    6425 #line 1115 "parser.yy"
     6344  case 256:
     6345
     6346/* Line 1806 of yacc.c  */
     6347#line 1082 "parser.yy"
    64266348    {
    64276349                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64306352    break;
    64316353
    6432   case 264:
    6433 
    6434 /* Line 1806 of yacc.c  */
    6435 #line 1126 "parser.yy"
     6354  case 257:
     6355
     6356/* Line 1806 of yacc.c  */
     6357#line 1093 "parser.yy"
    64366358    {
    64376359                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64406362    break;
    64416363
    6442   case 265:
    6443 
    6444 /* Line 1806 of yacc.c  */
    6445 #line 1131 "parser.yy"
     6364  case 258:
     6365
     6366/* Line 1806 of yacc.c  */
     6367#line 1098 "parser.yy"
    64466368    {
    64476369                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64506372    break;
    64516373
    6452   case 266:
    6453 
    6454 /* Line 1806 of yacc.c  */
    6455 #line 1136 "parser.yy"
     6374  case 259:
     6375
     6376/* Line 1806 of yacc.c  */
     6377#line 1103 "parser.yy"
    64566378    {
    64576379                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64606382    break;
    64616383
    6462   case 267:
    6463 
    6464 /* Line 1806 of yacc.c  */
    6465 #line 1141 "parser.yy"
     6384  case 260:
     6385
     6386/* Line 1806 of yacc.c  */
     6387#line 1108 "parser.yy"
    64666388    {
    64676389                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64706392    break;
    64716393
    6472   case 268:
    6473 
    6474 /* Line 1806 of yacc.c  */
    6475 #line 1146 "parser.yy"
     6394  case 261:
     6395
     6396/* Line 1806 of yacc.c  */
     6397#line 1113 "parser.yy"
    64766398    {
    64776399                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64806402    break;
    64816403
    6482   case 269:
    6483 
    6484 /* Line 1806 of yacc.c  */
    6485 #line 1155 "parser.yy"
     6404  case 262:
     6405
     6406/* Line 1806 of yacc.c  */
     6407#line 1122 "parser.yy"
    64866408    {
    64876409                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    64906412    break;
    64916413
    6492   case 270:
    6493 
    6494 /* Line 1806 of yacc.c  */
    6495 #line 1160 "parser.yy"
     6414  case 263:
     6415
     6416/* Line 1806 of yacc.c  */
     6417#line 1127 "parser.yy"
    64966418    {
    64976419                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65006422    break;
    65016423
    6502   case 275:
    6503 
    6504 /* Line 1806 of yacc.c  */
    6505 #line 1177 "parser.yy"
     6424  case 268:
     6425
     6426/* Line 1806 of yacc.c  */
     6427#line 1144 "parser.yy"
    65066428    {
    65076429                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65106432    break;
    65116433
    6512   case 276:
    6513 
    6514 /* Line 1806 of yacc.c  */
    6515 #line 1182 "parser.yy"
     6434  case 269:
     6435
     6436/* Line 1806 of yacc.c  */
     6437#line 1149 "parser.yy"
    65166438    {
    65176439                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65206442    break;
    65216443
     6444  case 278:
     6445
     6446/* Line 1806 of yacc.c  */
     6447#line 1171 "parser.yy"
     6448    { (yyval.decl) = 0; }
     6449    break;
     6450
     6451  case 281:
     6452
     6453/* Line 1806 of yacc.c  */
     6454#line 1183 "parser.yy"
     6455    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6456    break;
     6457
     6458  case 284:
     6459
     6460/* Line 1806 of yacc.c  */
     6461#line 1194 "parser.yy"
     6462    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6463    break;
     6464
    65226465  case 285:
    65236466
    65246467/* Line 1806 of yacc.c  */
     6468#line 1196 "parser.yy"
     6469    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
     6470    break;
     6471
     6472  case 286:
     6473
     6474/* Line 1806 of yacc.c  */
     6475#line 1198 "parser.yy"
     6476    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
     6477    break;
     6478
     6479  case 287:
     6480
     6481/* Line 1806 of yacc.c  */
     6482#line 1200 "parser.yy"
     6483    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
     6484    break;
     6485
     6486  case 288:
     6487
     6488/* Line 1806 of yacc.c  */
     6489#line 1202 "parser.yy"
     6490    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
     6491    break;
     6492
     6493  case 289:
     6494
     6495/* Line 1806 of yacc.c  */
    65256496#line 1204 "parser.yy"
    6526     { (yyval.decl) = 0; }
    6527     break;
    6528 
    6529   case 288:
    6530 
    6531 /* Line 1806 of yacc.c  */
    6532 #line 1216 "parser.yy"
    6533     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6534     break;
    6535 
    6536   case 291:
    6537 
    6538 /* Line 1806 of yacc.c  */
    6539 #line 1227 "parser.yy"
    6540     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    6541     break;
    6542 
    6543   case 292:
    6544 
    6545 /* Line 1806 of yacc.c  */
    6546 #line 1229 "parser.yy"
    6547     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    6548     break;
    6549 
    6550   case 293:
    6551 
    6552 /* Line 1806 of yacc.c  */
    6553 #line 1231 "parser.yy"
    6554     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    6555     break;
    6556 
    6557   case 294:
    6558 
    6559 /* Line 1806 of yacc.c  */
    6560 #line 1233 "parser.yy"
    6561     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    6562     break;
    6563 
    6564   case 295:
    6565 
    6566 /* Line 1806 of yacc.c  */
    6567 #line 1235 "parser.yy"
    6568     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    6569     break;
    6570 
    6571   case 296:
    6572 
    6573 /* Line 1806 of yacc.c  */
    6574 #line 1237 "parser.yy"
    65756497    {
    65766498                        typedefTable.enterScope();
     
    65786500    break;
    65796501
    6580   case 297:
    6581 
    6582 /* Line 1806 of yacc.c  */
    6583 #line 1241 "parser.yy"
     6502  case 290:
     6503
     6504/* Line 1806 of yacc.c  */
     6505#line 1208 "parser.yy"
    65846506    {
    65856507                        typedefTable.leaveScope();
     
    65886510    break;
    65896511
     6512  case 292:
     6513
     6514/* Line 1806 of yacc.c  */
     6515#line 1217 "parser.yy"
     6516    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6517    break;
     6518
     6519  case 293:
     6520
     6521/* Line 1806 of yacc.c  */
     6522#line 1219 "parser.yy"
     6523    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6524    break;
     6525
     6526  case 295:
     6527
     6528/* Line 1806 of yacc.c  */
     6529#line 1230 "parser.yy"
     6530    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6531    break;
     6532
     6533  case 297:
     6534
     6535/* Line 1806 of yacc.c  */
     6536#line 1239 "parser.yy"
     6537    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6538    break;
     6539
     6540  case 298:
     6541
     6542/* Line 1806 of yacc.c  */
     6543#line 1241 "parser.yy"
     6544    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6545    break;
     6546
    65906547  case 299:
    65916548
    65926549/* Line 1806 of yacc.c  */
    6593 #line 1250 "parser.yy"
     6550#line 1243 "parser.yy"
     6551    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6552    break;
     6553
     6554  case 300:
     6555
     6556/* Line 1806 of yacc.c  */
     6557#line 1245 "parser.yy"
     6558    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6559    break;
     6560
     6561  case 301:
     6562
     6563/* Line 1806 of yacc.c  */
     6564#line 1247 "parser.yy"
     6565    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6566    break;
     6567
     6568  case 302:
     6569
     6570/* Line 1806 of yacc.c  */
     6571#line 1249 "parser.yy"
     6572    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6573    break;
     6574
     6575  case 303:
     6576
     6577/* Line 1806 of yacc.c  */
     6578#line 1251 "parser.yy"
     6579    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6580    break;
     6581
     6582  case 304:
     6583
     6584/* Line 1806 of yacc.c  */
     6585#line 1253 "parser.yy"
     6586    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6587    break;
     6588
     6589  case 305:
     6590
     6591/* Line 1806 of yacc.c  */
     6592#line 1258 "parser.yy"
     6593    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     6594    break;
     6595
     6596  case 306:
     6597
     6598/* Line 1806 of yacc.c  */
     6599#line 1260 "parser.yy"
     6600    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6601    break;
     6602
     6603  case 307:
     6604
     6605/* Line 1806 of yacc.c  */
     6606#line 1262 "parser.yy"
     6607    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6608    break;
     6609
     6610  case 308:
     6611
     6612/* Line 1806 of yacc.c  */
     6613#line 1264 "parser.yy"
     6614    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6615    break;
     6616
     6617  case 309:
     6618
     6619/* Line 1806 of yacc.c  */
     6620#line 1266 "parser.yy"
     6621    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6622    break;
     6623
     6624  case 310:
     6625
     6626/* Line 1806 of yacc.c  */
     6627#line 1268 "parser.yy"
     6628    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     6629    break;
     6630
     6631  case 311:
     6632
     6633/* Line 1806 of yacc.c  */
     6634#line 1270 "parser.yy"
     6635    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     6636    break;
     6637
     6638  case 312:
     6639
     6640/* Line 1806 of yacc.c  */
     6641#line 1272 "parser.yy"
     6642    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     6643    break;
     6644
     6645  case 313:
     6646
     6647/* Line 1806 of yacc.c  */
     6648#line 1274 "parser.yy"
     6649    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     6650    break;
     6651
     6652  case 314:
     6653
     6654/* Line 1806 of yacc.c  */
     6655#line 1276 "parser.yy"
     6656    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     6657    break;
     6658
     6659  case 315:
     6660
     6661/* Line 1806 of yacc.c  */
     6662#line 1278 "parser.yy"
     6663    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     6664    break;
     6665
     6666  case 316:
     6667
     6668/* Line 1806 of yacc.c  */
     6669#line 1280 "parser.yy"
     6670    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     6671    break;
     6672
     6673  case 318:
     6674
     6675/* Line 1806 of yacc.c  */
     6676#line 1287 "parser.yy"
     6677    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6678    break;
     6679
     6680  case 319:
     6681
     6682/* Line 1806 of yacc.c  */
     6683#line 1289 "parser.yy"
    65946684    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65956685    break;
    65966686
    6597   case 300:
    6598 
    6599 /* Line 1806 of yacc.c  */
    6600 #line 1252 "parser.yy"
     6687  case 320:
     6688
     6689/* Line 1806 of yacc.c  */
     6690#line 1291 "parser.yy"
    66016691    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66026692    break;
    66036693
    6604   case 302:
    6605 
    6606 /* Line 1806 of yacc.c  */
    6607 #line 1263 "parser.yy"
     6694  case 321:
     6695
     6696/* Line 1806 of yacc.c  */
     6697#line 1293 "parser.yy"
     6698    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     6699    break;
     6700
     6701  case 323:
     6702
     6703/* Line 1806 of yacc.c  */
     6704#line 1299 "parser.yy"
     6705    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6706    break;
     6707
     6708  case 325:
     6709
     6710/* Line 1806 of yacc.c  */
     6711#line 1306 "parser.yy"
     6712    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6713    break;
     6714
     6715  case 326:
     6716
     6717/* Line 1806 of yacc.c  */
     6718#line 1308 "parser.yy"
    66086719    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66096720    break;
    66106721
    6611   case 304:
    6612 
    6613 /* Line 1806 of yacc.c  */
    6614 #line 1272 "parser.yy"
    6615     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    6616     break;
    6617 
    6618   case 305:
    6619 
    6620 /* Line 1806 of yacc.c  */
    6621 #line 1274 "parser.yy"
    6622     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    6623     break;
    6624 
    6625   case 306:
    6626 
    6627 /* Line 1806 of yacc.c  */
    6628 #line 1276 "parser.yy"
    6629     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    6630     break;
    6631 
    6632   case 307:
    6633 
    6634 /* Line 1806 of yacc.c  */
    6635 #line 1278 "parser.yy"
    6636     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    6637     break;
    6638 
    6639   case 308:
    6640 
    6641 /* Line 1806 of yacc.c  */
    6642 #line 1280 "parser.yy"
    6643     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    6644     break;
    6645 
    6646   case 309:
    6647 
    6648 /* Line 1806 of yacc.c  */
    6649 #line 1282 "parser.yy"
    6650     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    6651     break;
    6652 
    6653   case 310:
    6654 
    6655 /* Line 1806 of yacc.c  */
    6656 #line 1284 "parser.yy"
    6657     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    6658     break;
    6659 
    6660   case 311:
    6661 
    6662 /* Line 1806 of yacc.c  */
    6663 #line 1286 "parser.yy"
    6664     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    6665     break;
    6666 
    6667   case 312:
    6668 
    6669 /* Line 1806 of yacc.c  */
    6670 #line 1291 "parser.yy"
    6671     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    6672     break;
    6673 
    6674   case 313:
    6675 
    6676 /* Line 1806 of yacc.c  */
    6677 #line 1293 "parser.yy"
    6678     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    6679     break;
    6680 
    6681   case 314:
    6682 
    6683 /* Line 1806 of yacc.c  */
    6684 #line 1295 "parser.yy"
    6685     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    6686     break;
    6687 
    6688   case 315:
    6689 
    6690 /* Line 1806 of yacc.c  */
    6691 #line 1297 "parser.yy"
    6692     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    6693     break;
    6694 
    6695   case 316:
    6696 
    6697 /* Line 1806 of yacc.c  */
    6698 #line 1299 "parser.yy"
    6699     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    6700     break;
    6701 
    6702   case 317:
    6703 
    6704 /* Line 1806 of yacc.c  */
    6705 #line 1301 "parser.yy"
    6706     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    6707     break;
    6708 
    6709   case 318:
    6710 
    6711 /* Line 1806 of yacc.c  */
    6712 #line 1303 "parser.yy"
    6713     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    6714     break;
    6715 
    6716   case 319:
    6717 
    6718 /* Line 1806 of yacc.c  */
    6719 #line 1305 "parser.yy"
    6720     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    6721     break;
    6722 
    6723   case 320:
    6724 
    6725 /* Line 1806 of yacc.c  */
    6726 #line 1307 "parser.yy"
    6727     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    6728     break;
    6729 
    6730   case 321:
    6731 
    6732 /* Line 1806 of yacc.c  */
    6733 #line 1309 "parser.yy"
    6734     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    6735     break;
    6736 
    6737   case 322:
    6738 
    6739 /* Line 1806 of yacc.c  */
    6740 #line 1311 "parser.yy"
    6741     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    6742     break;
    6743 
    6744   case 323:
    6745 
    6746 /* Line 1806 of yacc.c  */
    6747 #line 1313 "parser.yy"
    6748     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    6749     break;
    6750 
    6751   case 325:
    6752 
    6753 /* Line 1806 of yacc.c  */
    6754 #line 1320 "parser.yy"
     6722  case 327:
     6723
     6724/* Line 1806 of yacc.c  */
     6725#line 1310 "parser.yy"
     6726    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     6727    break;
     6728
     6729  case 328:
     6730
     6731/* Line 1806 of yacc.c  */
     6732#line 1315 "parser.yy"
     6733    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     6734    break;
     6735
     6736  case 329:
     6737
     6738/* Line 1806 of yacc.c  */
     6739#line 1317 "parser.yy"
     6740    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     6741    break;
     6742
     6743  case 330:
     6744
     6745/* Line 1806 of yacc.c  */
     6746#line 1319 "parser.yy"
     6747    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     6748    break;
     6749
     6750  case 331:
     6751
     6752/* Line 1806 of yacc.c  */
     6753#line 1321 "parser.yy"
     6754    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     6755    break;
     6756
     6757  case 333:
     6758
     6759/* Line 1806 of yacc.c  */
     6760#line 1327 "parser.yy"
    67556761    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67566762    break;
    67576763
    6758   case 326:
    6759 
    6760 /* Line 1806 of yacc.c  */
    6761 #line 1322 "parser.yy"
     6764  case 334:
     6765
     6766/* Line 1806 of yacc.c  */
     6767#line 1329 "parser.yy"
    67626768    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67636769    break;
    67646770
    6765   case 327:
    6766 
    6767 /* Line 1806 of yacc.c  */
    6768 #line 1324 "parser.yy"
     6771  case 335:
     6772
     6773/* Line 1806 of yacc.c  */
     6774#line 1331 "parser.yy"
    67696775    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67706776    break;
    67716777
    6772   case 328:
    6773 
    6774 /* Line 1806 of yacc.c  */
    6775 #line 1326 "parser.yy"
    6776     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    6777     break;
    6778 
    6779   case 330:
    6780 
    6781 /* Line 1806 of yacc.c  */
    6782 #line 1332 "parser.yy"
    6783     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6784     break;
    6785 
    6786   case 332:
     6778  case 337:
     6779
     6780/* Line 1806 of yacc.c  */
     6781#line 1337 "parser.yy"
     6782    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6783    break;
     6784
     6785  case 338:
    67876786
    67886787/* Line 1806 of yacc.c  */
    67896788#line 1339 "parser.yy"
     6789    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6790    break;
     6791
     6792  case 340:
     6793
     6794/* Line 1806 of yacc.c  */
     6795#line 1345 "parser.yy"
    67906796    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67916797    break;
    67926798
    6793   case 333:
    6794 
    6795 /* Line 1806 of yacc.c  */
    6796 #line 1341 "parser.yy"
     6799  case 341:
     6800
     6801/* Line 1806 of yacc.c  */
     6802#line 1347 "parser.yy"
    67976803    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67986804    break;
    67996805
    6800   case 334:
    6801 
    6802 /* Line 1806 of yacc.c  */
    6803 #line 1343 "parser.yy"
    6804     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    6805     break;
    6806 
    6807   case 335:
    6808 
    6809 /* Line 1806 of yacc.c  */
    6810 #line 1348 "parser.yy"
    6811     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    6812     break;
    6813 
    6814   case 336:
    6815 
    6816 /* Line 1806 of yacc.c  */
    6817 #line 1350 "parser.yy"
    6818     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    6819     break;
    6820 
    6821   case 337:
    6822 
    6823 /* Line 1806 of yacc.c  */
    6824 #line 1352 "parser.yy"
    6825     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    6826     break;
    6827 
    6828   case 338:
     6806  case 342:
     6807
     6808/* Line 1806 of yacc.c  */
     6809#line 1349 "parser.yy"
     6810    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6811    break;
     6812
     6813  case 343:
    68296814
    68306815/* Line 1806 of yacc.c  */
    68316816#line 1354 "parser.yy"
    6832     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6833     break;
    6834 
    6835   case 340:
    6836 
    6837 /* Line 1806 of yacc.c  */
    6838 #line 1360 "parser.yy"
     6817    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     6818    break;
     6819
     6820  case 344:
     6821
     6822/* Line 1806 of yacc.c  */
     6823#line 1356 "parser.yy"
     6824    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6825    break;
     6826
     6827  case 345:
     6828
     6829/* Line 1806 of yacc.c  */
     6830#line 1358 "parser.yy"
     6831    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6832    break;
     6833
     6834  case 348:
     6835
     6836/* Line 1806 of yacc.c  */
     6837#line 1368 "parser.yy"
     6838    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
     6839    break;
     6840
     6841  case 349:
     6842
     6843/* Line 1806 of yacc.c  */
     6844#line 1370 "parser.yy"
     6845    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
     6846    break;
     6847
     6848  case 350:
     6849
     6850/* Line 1806 of yacc.c  */
     6851#line 1372 "parser.yy"
     6852    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
     6853    break;
     6854
     6855  case 351:
     6856
     6857/* Line 1806 of yacc.c  */
     6858#line 1374 "parser.yy"
     6859    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
     6860    break;
     6861
     6862  case 352:
     6863
     6864/* Line 1806 of yacc.c  */
     6865#line 1376 "parser.yy"
     6866    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     6867    break;
     6868
     6869  case 353:
     6870
     6871/* Line 1806 of yacc.c  */
     6872#line 1381 "parser.yy"
     6873    { (yyval.aggKey) = DeclarationNode::Struct; }
     6874    break;
     6875
     6876  case 354:
     6877
     6878/* Line 1806 of yacc.c  */
     6879#line 1383 "parser.yy"
     6880    { (yyval.aggKey) = DeclarationNode::Union; }
     6881    break;
     6882
     6883  case 355:
     6884
     6885/* Line 1806 of yacc.c  */
     6886#line 1388 "parser.yy"
     6887    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
     6888    break;
     6889
     6890  case 356:
     6891
     6892/* Line 1806 of yacc.c  */
     6893#line 1390 "parser.yy"
     6894    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
     6895    break;
     6896
     6897  case 358:
     6898
     6899/* Line 1806 of yacc.c  */
     6900#line 1396 "parser.yy"
     6901    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     6902    break;
     6903
     6904  case 360:
     6905
     6906/* Line 1806 of yacc.c  */
     6907#line 1399 "parser.yy"
     6908    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     6909    break;
     6910
     6911  case 362:
     6912
     6913/* Line 1806 of yacc.c  */
     6914#line 1405 "parser.yy"
     6915    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     6916    break;
     6917
     6918  case 363:
     6919
     6920/* Line 1806 of yacc.c  */
     6921#line 1407 "parser.yy"
     6922    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     6923    break;
     6924
     6925  case 364:
     6926
     6927/* Line 1806 of yacc.c  */
     6928#line 1409 "parser.yy"
     6929    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     6930    break;
     6931
     6932  case 365:
     6933
     6934/* Line 1806 of yacc.c  */
     6935#line 1414 "parser.yy"
     6936    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     6937    break;
     6938
     6939  case 366:
     6940
     6941/* Line 1806 of yacc.c  */
     6942#line 1416 "parser.yy"
     6943    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     6944    break;
     6945
     6946  case 367:
     6947
     6948/* Line 1806 of yacc.c  */
     6949#line 1421 "parser.yy"
     6950    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     6951    break;
     6952
     6953  case 368:
     6954
     6955/* Line 1806 of yacc.c  */
     6956#line 1423 "parser.yy"
     6957    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
     6958    break;
     6959
     6960  case 369:
     6961
     6962/* Line 1806 of yacc.c  */
     6963#line 1426 "parser.yy"
     6964    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     6965    break;
     6966
     6967  case 370:
     6968
     6969/* Line 1806 of yacc.c  */
     6970#line 1429 "parser.yy"
     6971    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     6972    break;
     6973
     6974  case 372:
     6975
     6976/* Line 1806 of yacc.c  */
     6977#line 1435 "parser.yy"
     6978    { (yyval.en) = 0; }
     6979    break;
     6980
     6981  case 373:
     6982
     6983/* Line 1806 of yacc.c  */
     6984#line 1437 "parser.yy"
     6985    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     6986    break;
     6987
     6988  case 374:
     6989
     6990/* Line 1806 of yacc.c  */
     6991#line 1442 "parser.yy"
     6992    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     6993    break;
     6994
     6995  case 376:
     6996
     6997/* Line 1806 of yacc.c  */
     6998#line 1451 "parser.yy"
     6999    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
     7000    break;
     7001
     7002  case 377:
     7003
     7004/* Line 1806 of yacc.c  */
     7005#line 1453 "parser.yy"
     7006    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
     7007    break;
     7008
     7009  case 378:
     7010
     7011/* Line 1806 of yacc.c  */
     7012#line 1455 "parser.yy"
     7013    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
     7014    break;
     7015
     7016  case 379:
     7017
     7018/* Line 1806 of yacc.c  */
     7019#line 1460 "parser.yy"
     7020    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
     7021    break;
     7022
     7023  case 380:
     7024
     7025/* Line 1806 of yacc.c  */
     7026#line 1462 "parser.yy"
     7027    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
     7028    break;
     7029
     7030  case 381:
     7031
     7032/* Line 1806 of yacc.c  */
     7033#line 1467 "parser.yy"
     7034    { (yyval.en) = 0; }
     7035    break;
     7036
     7037  case 382:
     7038
     7039/* Line 1806 of yacc.c  */
     7040#line 1469 "parser.yy"
     7041    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     7042    break;
     7043
     7044  case 383:
     7045
     7046/* Line 1806 of yacc.c  */
     7047#line 1476 "parser.yy"
     7048    { (yyval.decl) = 0; }
     7049    break;
     7050
     7051  case 387:
     7052
     7053/* Line 1806 of yacc.c  */
     7054#line 1484 "parser.yy"
     7055    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7056    break;
     7057
     7058  case 388:
     7059
     7060/* Line 1806 of yacc.c  */
     7061#line 1486 "parser.yy"
     7062    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7063    break;
     7064
     7065  case 389:
     7066
     7067/* Line 1806 of yacc.c  */
     7068#line 1488 "parser.yy"
     7069    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7070    break;
     7071
     7072  case 391:
     7073
     7074/* Line 1806 of yacc.c  */
     7075#line 1496 "parser.yy"
     7076    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7077    break;
     7078
     7079  case 392:
     7080
     7081/* Line 1806 of yacc.c  */
     7082#line 1498 "parser.yy"
     7083    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7084    break;
     7085
     7086  case 393:
     7087
     7088/* Line 1806 of yacc.c  */
     7089#line 1500 "parser.yy"
     7090    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7091    break;
     7092
     7093  case 395:
     7094
     7095/* Line 1806 of yacc.c  */
     7096#line 1506 "parser.yy"
     7097    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7098    break;
     7099
     7100  case 396:
     7101
     7102/* Line 1806 of yacc.c  */
     7103#line 1511 "parser.yy"
     7104    { (yyval.decl) = 0; }
     7105    break;
     7106
     7107  case 399:
     7108
     7109/* Line 1806 of yacc.c  */
     7110#line 1518 "parser.yy"
     7111    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7112    break;
     7113
     7114  case 402:
     7115
     7116/* Line 1806 of yacc.c  */
     7117#line 1525 "parser.yy"
     7118    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7119    break;
     7120
     7121  case 403:
     7122
     7123/* Line 1806 of yacc.c  */
     7124#line 1527 "parser.yy"
     7125    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7126    break;
     7127
     7128  case 405:
     7129
     7130/* Line 1806 of yacc.c  */
     7131#line 1536 "parser.yy"
     7132    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7133    break;
     7134
     7135  case 406:
     7136
     7137/* Line 1806 of yacc.c  */
     7138#line 1539 "parser.yy"
     7139    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7140    break;
     7141
     7142  case 407:
     7143
     7144/* Line 1806 of yacc.c  */
     7145#line 1541 "parser.yy"
     7146    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
     7147    break;
     7148
     7149  case 412:
     7150
     7151/* Line 1806 of yacc.c  */
     7152#line 1551 "parser.yy"
    68397153    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68407154    break;
    68417155
    6842   case 341:
    6843 
    6844 /* Line 1806 of yacc.c  */
    6845 #line 1362 "parser.yy"
    6846     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6847     break;
    6848 
    6849   case 342:
    6850 
    6851 /* Line 1806 of yacc.c  */
    6852 #line 1364 "parser.yy"
    6853     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6854     break;
    6855 
    6856   case 344:
    6857 
    6858 /* Line 1806 of yacc.c  */
    6859 #line 1370 "parser.yy"
    6860     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6861     break;
    6862 
    6863   case 345:
    6864 
    6865 /* Line 1806 of yacc.c  */
    6866 #line 1372 "parser.yy"
    6867     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6868     break;
    6869 
    6870   case 347:
    6871 
    6872 /* Line 1806 of yacc.c  */
    6873 #line 1378 "parser.yy"
    6874     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6875     break;
    6876 
    6877   case 348:
    6878 
    6879 /* Line 1806 of yacc.c  */
    6880 #line 1380 "parser.yy"
    6881     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6882     break;
    6883 
    6884   case 349:
    6885 
    6886 /* Line 1806 of yacc.c  */
    6887 #line 1382 "parser.yy"
    6888     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6889     break;
    6890 
    6891   case 350:
    6892 
    6893 /* Line 1806 of yacc.c  */
    6894 #line 1387 "parser.yy"
    6895     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    6896     break;
    6897 
    6898   case 351:
    6899 
    6900 /* Line 1806 of yacc.c  */
    6901 #line 1389 "parser.yy"
    6902     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6903     break;
    6904 
    6905   case 352:
    6906 
    6907 /* Line 1806 of yacc.c  */
    6908 #line 1391 "parser.yy"
    6909     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6910     break;
    6911 
    6912   case 355:
    6913 
    6914 /* Line 1806 of yacc.c  */
    6915 #line 1401 "parser.yy"
    6916     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    6917     break;
    6918 
    6919   case 356:
    6920 
    6921 /* Line 1806 of yacc.c  */
    6922 #line 1403 "parser.yy"
    6923     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
    6924     break;
    6925 
    6926   case 357:
    6927 
    6928 /* Line 1806 of yacc.c  */
    6929 #line 1405 "parser.yy"
    6930     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
    6931     break;
    6932 
    6933   case 358:
    6934 
    6935 /* Line 1806 of yacc.c  */
    6936 #line 1407 "parser.yy"
    6937     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    6938     break;
    6939 
    6940   case 359:
    6941 
    6942 /* Line 1806 of yacc.c  */
    6943 #line 1409 "parser.yy"
    6944     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    6945     break;
    6946 
    6947   case 360:
    6948 
    6949 /* Line 1806 of yacc.c  */
    6950 #line 1414 "parser.yy"
    6951     { (yyval.aggKey) = DeclarationNode::Struct; }
    6952     break;
    6953 
    6954   case 361:
    6955 
    6956 /* Line 1806 of yacc.c  */
    6957 #line 1416 "parser.yy"
    6958     { (yyval.aggKey) = DeclarationNode::Union; }
    6959     break;
    6960 
    6961   case 362:
    6962 
    6963 /* Line 1806 of yacc.c  */
    6964 #line 1421 "parser.yy"
    6965     { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    6966     break;
    6967 
    6968   case 363:
    6969 
    6970 /* Line 1806 of yacc.c  */
    6971 #line 1423 "parser.yy"
    6972     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    6973     break;
    6974 
    6975   case 365:
    6976 
    6977 /* Line 1806 of yacc.c  */
    6978 #line 1429 "parser.yy"
    6979     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    6980     break;
    6981 
    6982   case 367:
    6983 
    6984 /* Line 1806 of yacc.c  */
    6985 #line 1432 "parser.yy"
    6986     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    6987     break;
    6988 
    6989   case 369:
    6990 
    6991 /* Line 1806 of yacc.c  */
    6992 #line 1438 "parser.yy"
    6993     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    6994     break;
    6995 
    6996   case 370:
    6997 
    6998 /* Line 1806 of yacc.c  */
    6999 #line 1440 "parser.yy"
    7000     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    7001     break;
    7002 
    7003   case 371:
    7004 
    7005 /* Line 1806 of yacc.c  */
    7006 #line 1442 "parser.yy"
    7007     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    7008     break;
    7009 
    7010   case 372:
    7011 
    7012 /* Line 1806 of yacc.c  */
    7013 #line 1447 "parser.yy"
    7014     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7015     break;
    7016 
    7017   case 373:
    7018 
    7019 /* Line 1806 of yacc.c  */
    7020 #line 1449 "parser.yy"
    7021     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    7022     break;
    7023 
    7024   case 374:
    7025 
    7026 /* Line 1806 of yacc.c  */
    7027 #line 1454 "parser.yy"
    7028     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    7029     break;
    7030 
    7031   case 375:
    7032 
    7033 /* Line 1806 of yacc.c  */
    7034 #line 1456 "parser.yy"
    7035     { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    7036     break;
    7037 
    7038   case 376:
    7039 
    7040 /* Line 1806 of yacc.c  */
    7041 #line 1459 "parser.yy"
    7042     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    7043     break;
    7044 
    7045   case 377:
    7046 
    7047 /* Line 1806 of yacc.c  */
    7048 #line 1462 "parser.yy"
    7049     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    7050     break;
    7051 
    7052   case 379:
    7053 
    7054 /* Line 1806 of yacc.c  */
    7055 #line 1468 "parser.yy"
    7056     { (yyval.en) = 0; }
    7057     break;
    7058 
    7059   case 380:
    7060 
    7061 /* Line 1806 of yacc.c  */
    7062 #line 1470 "parser.yy"
    7063     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    7064     break;
    7065 
    7066   case 381:
    7067 
    7068 /* Line 1806 of yacc.c  */
    7069 #line 1475 "parser.yy"
    7070     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7071     break;
    7072 
    7073   case 383:
    7074 
    7075 /* Line 1806 of yacc.c  */
    7076 #line 1484 "parser.yy"
    7077     { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    7078     break;
    7079 
    7080   case 384:
    7081 
    7082 /* Line 1806 of yacc.c  */
    7083 #line 1486 "parser.yy"
    7084     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    7085     break;
    7086 
    7087   case 385:
    7088 
    7089 /* Line 1806 of yacc.c  */
    7090 #line 1488 "parser.yy"
    7091     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    7092     break;
    7093 
    7094   case 386:
    7095 
    7096 /* Line 1806 of yacc.c  */
    7097 #line 1493 "parser.yy"
    7098     { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    7099     break;
    7100 
    7101   case 387:
    7102 
    7103 /* Line 1806 of yacc.c  */
    7104 #line 1495 "parser.yy"
    7105     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    7106     break;
    7107 
    7108   case 388:
    7109 
    7110 /* Line 1806 of yacc.c  */
    7111 #line 1500 "parser.yy"
    7112     { (yyval.en) = 0; }
    7113     break;
    7114 
    7115   case 389:
    7116 
    7117 /* Line 1806 of yacc.c  */
    7118 #line 1502 "parser.yy"
    7119     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7120     break;
    7121 
    7122   case 390:
    7123 
    7124 /* Line 1806 of yacc.c  */
    7125 #line 1509 "parser.yy"
    7126     { (yyval.decl) = 0; }
    7127     break;
    7128 
    7129   case 394:
    7130 
    7131 /* Line 1806 of yacc.c  */
    7132 #line 1517 "parser.yy"
    7133     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7134     break;
    7135 
    7136   case 395:
    7137 
    7138 /* Line 1806 of yacc.c  */
    7139 #line 1519 "parser.yy"
    7140     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7141     break;
    7142 
    7143   case 396:
    7144 
    7145 /* Line 1806 of yacc.c  */
    7146 #line 1521 "parser.yy"
    7147     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7148     break;
    7149 
    7150   case 398:
    7151 
    7152 /* Line 1806 of yacc.c  */
    7153 #line 1529 "parser.yy"
    7154     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7155     break;
    7156 
    7157   case 399:
    7158 
    7159 /* Line 1806 of yacc.c  */
    7160 #line 1531 "parser.yy"
    7161     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7162     break;
    7163 
    7164   case 400:
    7165 
    7166 /* Line 1806 of yacc.c  */
    7167 #line 1533 "parser.yy"
    7168     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7169     break;
    7170 
    7171   case 402:
    7172 
    7173 /* Line 1806 of yacc.c  */
    7174 #line 1539 "parser.yy"
    7175     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7176     break;
    7177 
    7178   case 403:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1544 "parser.yy"
    7182     { (yyval.decl) = 0; }
    7183     break;
    7184 
    7185   case 406:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1551 "parser.yy"
    7189     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7190     break;
    7191 
    7192   case 409:
    7193 
    7194 /* Line 1806 of yacc.c  */
    7195 #line 1558 "parser.yy"
    7196     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7197     break;
    7198 
    7199   case 410:
    7200 
    7201 /* Line 1806 of yacc.c  */
    7202 #line 1560 "parser.yy"
    7203     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7204     break;
    7205 
    7206   case 412:
    7207 
    7208 /* Line 1806 of yacc.c  */
    7209 #line 1569 "parser.yy"
    7210     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7211     break;
    7212 
    7213   case 413:
    7214 
    7215 /* Line 1806 of yacc.c  */
    7216 #line 1572 "parser.yy"
    7217     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7218     break;
    7219 
    72207156  case 414:
    72217157
    72227158/* Line 1806 of yacc.c  */
    7223 #line 1574 "parser.yy"
    7224     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    7225     break;
    7226 
    7227   case 419:
    7228 
    7229 /* Line 1806 of yacc.c  */
    7230 #line 1584 "parser.yy"
    7231     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7232     break;
    7233 
    7234   case 421:
    7235 
    7236 /* Line 1806 of yacc.c  */
    7237 #line 1590 "parser.yy"
     7159#line 1557 "parser.yy"
    72387160    {
    72397161                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72427164    break;
    72437165
    7244   case 422:
    7245 
    7246 /* Line 1806 of yacc.c  */
    7247 #line 1595 "parser.yy"
     7166  case 415:
     7167
     7168/* Line 1806 of yacc.c  */
     7169#line 1562 "parser.yy"
    72487170    {
    72497171                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72527174    break;
    72537175
    7254   case 424:
    7255 
    7256 /* Line 1806 of yacc.c  */
    7257 #line 1604 "parser.yy"
     7176  case 417:
     7177
     7178/* Line 1806 of yacc.c  */
     7179#line 1571 "parser.yy"
    72587180    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72597181    break;
    72607182
    7261   case 425:
    7262 
    7263 /* Line 1806 of yacc.c  */
    7264 #line 1613 "parser.yy"
     7183  case 418:
     7184
     7185/* Line 1806 of yacc.c  */
     7186#line 1580 "parser.yy"
    72657187    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    72667188    break;
    72677189
    7268   case 426:
     7190  case 419:
     7191
     7192/* Line 1806 of yacc.c  */
     7193#line 1582 "parser.yy"
     7194    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7195    break;
     7196
     7197  case 431:
     7198
     7199/* Line 1806 of yacc.c  */
     7200#line 1607 "parser.yy"
     7201    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7202    break;
     7203
     7204  case 435:
    72697205
    72707206/* Line 1806 of yacc.c  */
    72717207#line 1615 "parser.yy"
    7272     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7208    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7209    break;
     7210
     7211  case 436:
     7212
     7213/* Line 1806 of yacc.c  */
     7214#line 1620 "parser.yy"
     7215    { (yyval.in) = 0; }
     7216    break;
     7217
     7218  case 437:
     7219
     7220/* Line 1806 of yacc.c  */
     7221#line 1622 "parser.yy"
     7222    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    72737223    break;
    72747224
     
    72767226
    72777227/* Line 1806 of yacc.c  */
    7278 #line 1640 "parser.yy"
    7279     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7228#line 1626 "parser.yy"
     7229    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7230    break;
     7231
     7232  case 439:
     7233
     7234/* Line 1806 of yacc.c  */
     7235#line 1627 "parser.yy"
     7236    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7237    break;
     7238
     7239  case 441:
     7240
     7241/* Line 1806 of yacc.c  */
     7242#line 1632 "parser.yy"
     7243    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    72807244    break;
    72817245
     
    72837247
    72847248/* Line 1806 of yacc.c  */
    7285 #line 1648 "parser.yy"
    7286     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7249#line 1633 "parser.yy"
     7250    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    72877251    break;
    72887252
     
    72907254
    72917255/* Line 1806 of yacc.c  */
    7292 #line 1653 "parser.yy"
    7293     { (yyval.in) = 0; }
    7294     break;
    7295 
    7296   case 444:
    7297 
    7298 /* Line 1806 of yacc.c  */
    7299 #line 1655 "parser.yy"
    7300     { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7256#line 1635 "parser.yy"
     7257    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73017258    break;
    73027259
     
    73047261
    73057262/* Line 1806 of yacc.c  */
    7306 #line 1659 "parser.yy"
    7307     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7308     break;
    7309 
    7310   case 446:
    7311 
    7312 /* Line 1806 of yacc.c  */
    7313 #line 1660 "parser.yy"
    7314     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7263#line 1651 "parser.yy"
     7264    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7265    break;
     7266
     7267  case 447:
     7268
     7269/* Line 1806 of yacc.c  */
     7270#line 1657 "parser.yy"
     7271    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    73157272    break;
    73167273
     
    73187275
    73197276/* Line 1806 of yacc.c  */
    7320 #line 1665 "parser.yy"
    7321     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7277#line 1663 "parser.yy"
     7278    { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); }
    73227279    break;
    73237280
     
    73267283/* Line 1806 of yacc.c  */
    73277284#line 1666 "parser.yy"
    7328     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
     7285    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    73297286    break;
    73307287
     
    73337290/* Line 1806 of yacc.c  */
    73347291#line 1668 "parser.yy"
    7335     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
     7292    { (yyval.en) = (yyvsp[(3) - (5)].en); }
     7293    break;
     7294
     7295  case 451:
     7296
     7297/* Line 1806 of yacc.c  */
     7298#line 1670 "parser.yy"
     7299    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); }
    73367300    break;
    73377301
     
    73397303
    73407304/* Line 1806 of yacc.c  */
    7341 #line 1684 "parser.yy"
    7342     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7305#line 1672 "parser.yy"
     7306    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    73437307    break;
    73447308
     
    73467310
    73477311/* Line 1806 of yacc.c  */
    7348 #line 1690 "parser.yy"
    7349     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7312#line 1696 "parser.yy"
     7313    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73507314    break;
    73517315
     
    73537317
    73547318/* Line 1806 of yacc.c  */
    7355 #line 1697 "parser.yy"
    7356     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7319#line 1698 "parser.yy"
     7320    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    73577321    break;
    73587322
     
    73607324
    73617325/* Line 1806 of yacc.c  */
    7362 #line 1699 "parser.yy"
    7363     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    7364     break;
    7365 
    7366   case 457:
    7367 
    7368 /* Line 1806 of yacc.c  */
    7369 #line 1702 "parser.yy"
    7370     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7326#line 1700 "parser.yy"
     7327    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    73717328    break;
    73727329
     
    73747331
    73757332/* Line 1806 of yacc.c  */
    7376 #line 1704 "parser.yy"
    7377     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7333#line 1706 "parser.yy"
     7334    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73787335    break;
    73797336
     
    73817338
    73827339/* Line 1806 of yacc.c  */
    7383 #line 1706 "parser.yy"
    7384     { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
     7340#line 1708 "parser.yy"
     7341    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    73857342    break;
    73867343
     
    73887345
    73897346/* Line 1806 of yacc.c  */
    7390 #line 1708 "parser.yy"
    7391     { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
     7347#line 1713 "parser.yy"
     7348    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    73927349    break;
    73937350
     
    73957352
    73967353/* Line 1806 of yacc.c  */
     7354#line 1719 "parser.yy"
     7355    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7356    break;
     7357
     7358  case 463:
     7359
     7360/* Line 1806 of yacc.c  */
     7361#line 1724 "parser.yy"
     7362    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
     7363    break;
     7364
     7365  case 464:
     7366
     7367/* Line 1806 of yacc.c  */
     7368#line 1726 "parser.yy"
     7369    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
     7370    break;
     7371
     7372  case 466:
     7373
     7374/* Line 1806 of yacc.c  */
    73977375#line 1732 "parser.yy"
    7398     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7399     break;
    7400 
    7401   case 463:
     7376    { (yyval.tclass) = DeclarationNode::Type; }
     7377    break;
     7378
     7379  case 467:
    74027380
    74037381/* Line 1806 of yacc.c  */
    74047382#line 1734 "parser.yy"
    7405     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7406     break;
    7407 
    7408   case 464:
     7383    { (yyval.tclass) = DeclarationNode::Ftype; }
     7384    break;
     7385
     7386  case 468:
    74097387
    74107388/* Line 1806 of yacc.c  */
    74117389#line 1736 "parser.yy"
    7412     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7413     break;
    7414 
    7415   case 466:
    7416 
    7417 /* Line 1806 of yacc.c  */
    7418 #line 1742 "parser.yy"
    7419     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7420     break;
    7421 
    7422   case 467:
    7423 
    7424 /* Line 1806 of yacc.c  */
    7425 #line 1744 "parser.yy"
    7426     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7427     break;
    7428 
    7429   case 468:
    7430 
    7431 /* Line 1806 of yacc.c  */
    7432 #line 1749 "parser.yy"
    7433     { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     7390    { (yyval.tclass) = DeclarationNode::Dtype; }
     7391    break;
     7392
     7393  case 469:
     7394
     7395/* Line 1806 of yacc.c  */
     7396#line 1741 "parser.yy"
     7397    { (yyval.decl) = 0; }
    74347398    break;
    74357399
     
    74377401
    74387402/* Line 1806 of yacc.c  */
    7439 #line 1755 "parser.yy"
    7440     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7403#line 1743 "parser.yy"
     7404    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    74417405    break;
    74427406
     
    74447408
    74457409/* Line 1806 of yacc.c  */
    7446 #line 1760 "parser.yy"
    7447     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    7448     break;
    7449 
    7450   case 472:
    7451 
    7452 /* Line 1806 of yacc.c  */
    7453 #line 1762 "parser.yy"
    7454     { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    7455     break;
    7456 
    7457   case 474:
    7458 
    7459 /* Line 1806 of yacc.c  */
    7460 #line 1768 "parser.yy"
    7461     { (yyval.tclass) = DeclarationNode::Type; }
    7462     break;
    7463 
    7464   case 475:
    7465 
    7466 /* Line 1806 of yacc.c  */
    7467 #line 1770 "parser.yy"
    7468     { (yyval.tclass) = DeclarationNode::Ftype; }
    7469     break;
    7470 
    7471   case 476:
    7472 
    7473 /* Line 1806 of yacc.c  */
    7474 #line 1772 "parser.yy"
    7475     { (yyval.tclass) = DeclarationNode::Dtype; }
    7476     break;
    7477 
    7478   case 477:
    7479 
    7480 /* Line 1806 of yacc.c  */
    7481 #line 1777 "parser.yy"
    7482     { (yyval.decl) = 0; }
    7483     break;
    7484 
    7485   case 478:
    7486 
    7487 /* Line 1806 of yacc.c  */
    7488 #line 1779 "parser.yy"
    7489     { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7490     break;
    7491 
    7492   case 479:
    7493 
    7494 /* Line 1806 of yacc.c  */
    7495 #line 1784 "parser.yy"
     7410#line 1748 "parser.yy"
    74967411    {
    74977412                        typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
     
    75007415    break;
    75017416
     7417  case 472:
     7418
     7419/* Line 1806 of yacc.c  */
     7420#line 1753 "parser.yy"
     7421    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7422    break;
     7423
     7424  case 473:
     7425
     7426/* Line 1806 of yacc.c  */
     7427#line 1755 "parser.yy"
     7428    { (yyval.decl) = 0; }
     7429    break;
     7430
     7431  case 474:
     7432
     7433/* Line 1806 of yacc.c  */
     7434#line 1760 "parser.yy"
     7435    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7436    break;
     7437
     7438  case 476:
     7439
     7440/* Line 1806 of yacc.c  */
     7441#line 1763 "parser.yy"
     7442    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7443    break;
     7444
     7445  case 477:
     7446
     7447/* Line 1806 of yacc.c  */
     7448#line 1765 "parser.yy"
     7449    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     7450    break;
     7451
     7452  case 478:
     7453
     7454/* Line 1806 of yacc.c  */
     7455#line 1770 "parser.yy"
     7456    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7457    break;
     7458
     7459  case 479:
     7460
     7461/* Line 1806 of yacc.c  */
     7462#line 1772 "parser.yy"
     7463    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7464    break;
     7465
    75027466  case 480:
    75037467
    75047468/* Line 1806 of yacc.c  */
    7505 #line 1789 "parser.yy"
    7506     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7469#line 1774 "parser.yy"
     7470    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    75077471    break;
    75087472
     
    75107474
    75117475/* Line 1806 of yacc.c  */
    7512 #line 1791 "parser.yy"
    7513     { (yyval.decl) = 0; }
     7476#line 1779 "parser.yy"
     7477    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    75147478    break;
    75157479
     
    75177481
    75187482/* Line 1806 of yacc.c  */
    7519 #line 1796 "parser.yy"
    7520     { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    7521     break;
    7522 
    7523   case 484:
    7524 
    7525 /* Line 1806 of yacc.c  */
    7526 #line 1799 "parser.yy"
    7527     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    7528     break;
    7529 
    7530   case 485:
    7531 
    7532 /* Line 1806 of yacc.c  */
    7533 #line 1801 "parser.yy"
    7534     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    7535     break;
    7536 
    7537   case 486:
    7538 
    7539 /* Line 1806 of yacc.c  */
    7540 #line 1806 "parser.yy"
    7541     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    7542     break;
    7543 
    7544   case 487:
    7545 
    7546 /* Line 1806 of yacc.c  */
    7547 #line 1808 "parser.yy"
    7548     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    7549     break;
    7550 
    7551   case 488:
    7552 
    7553 /* Line 1806 of yacc.c  */
    7554 #line 1810 "parser.yy"
    7555     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    7556     break;
    7557 
    7558   case 489:
    7559 
    7560 /* Line 1806 of yacc.c  */
    7561 #line 1815 "parser.yy"
    7562     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    7563     break;
    7564 
    7565   case 490:
    7566 
    7567 /* Line 1806 of yacc.c  */
    7568 #line 1817 "parser.yy"
     7483#line 1781 "parser.yy"
    75697484    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    75707485    break;
    75717486
    7572   case 491:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1822 "parser.yy"
     7487  case 483:
     7488
     7489/* Line 1806 of yacc.c  */
     7490#line 1786 "parser.yy"
    75767491    {
    75777492                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    75807495    break;
    75817496
    7582   case 492:
    7583 
    7584 /* Line 1806 of yacc.c  */
    7585 #line 1827 "parser.yy"
     7497  case 484:
     7498
     7499/* Line 1806 of yacc.c  */
     7500#line 1791 "parser.yy"
    75867501    {
    75877502                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    75907505    break;
    75917506
    7592   case 493:
    7593 
    7594 /* Line 1806 of yacc.c  */
    7595 #line 1835 "parser.yy"
     7507  case 485:
     7508
     7509/* Line 1806 of yacc.c  */
     7510#line 1799 "parser.yy"
    75967511    {
    75977512                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76007515    break;
    76017516
    7602   case 494:
    7603 
    7604 /* Line 1806 of yacc.c  */
    7605 #line 1840 "parser.yy"
     7517  case 486:
     7518
     7519/* Line 1806 of yacc.c  */
     7520#line 1804 "parser.yy"
    76067521    {
    76077522                        typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
     
    76107525    break;
    76117526
    7612   case 495:
    7613 
    7614 /* Line 1806 of yacc.c  */
    7615 #line 1845 "parser.yy"
     7527  case 487:
     7528
     7529/* Line 1806 of yacc.c  */
     7530#line 1809 "parser.yy"
    76167531    {
    76177532                        typedefTable.leaveContext();
     
    76217536    break;
    76227537
    7623   case 497:
    7624 
    7625 /* Line 1806 of yacc.c  */
    7626 #line 1855 "parser.yy"
     7538  case 489:
     7539
     7540/* Line 1806 of yacc.c  */
     7541#line 1819 "parser.yy"
    76277542    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76287543    break;
    76297544
    7630   case 500:
    7631 
    7632 /* Line 1806 of yacc.c  */
    7633 #line 1865 "parser.yy"
     7545  case 492:
     7546
     7547/* Line 1806 of yacc.c  */
     7548#line 1829 "parser.yy"
    76347549    {
    76357550                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76387553    break;
    76397554
    7640   case 501:
    7641 
    7642 /* Line 1806 of yacc.c  */
    7643 #line 1870 "parser.yy"
     7555  case 493:
     7556
     7557/* Line 1806 of yacc.c  */
     7558#line 1834 "parser.yy"
    76447559    {
    76457560                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76487563    break;
    76497564
    7650   case 502:
    7651 
    7652 /* Line 1806 of yacc.c  */
    7653 #line 1875 "parser.yy"
     7565  case 494:
     7566
     7567/* Line 1806 of yacc.c  */
     7568#line 1839 "parser.yy"
    76547569    {
    76557570                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    76587573    break;
    76597574
    7660   case 503:
    7661 
    7662 /* Line 1806 of yacc.c  */
    7663 #line 1883 "parser.yy"
     7575  case 495:
     7576
     7577/* Line 1806 of yacc.c  */
     7578#line 1847 "parser.yy"
    76647579    {
    76657580                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76687583    break;
    76697584
    7670   case 504:
    7671 
    7672 /* Line 1806 of yacc.c  */
    7673 #line 1888 "parser.yy"
     7585  case 496:
     7586
     7587/* Line 1806 of yacc.c  */
     7588#line 1852 "parser.yy"
    76747589    {
    76757590                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76787593    break;
    76797594
    7680   case 505:
    7681 
    7682 /* Line 1806 of yacc.c  */
    7683 #line 1898 "parser.yy"
     7595  case 497:
     7596
     7597/* Line 1806 of yacc.c  */
     7598#line 1862 "parser.yy"
    76847599    {}
    76857600    break;
    76867601
    7687   case 506:
    7688 
    7689 /* Line 1806 of yacc.c  */
    7690 #line 1900 "parser.yy"
     7602  case 498:
     7603
     7604/* Line 1806 of yacc.c  */
     7605#line 1864 "parser.yy"
    76917606    {
    76927607                        if ( theTree ) {
     
    76987613    break;
    76997614
    7700   case 508:
    7701 
    7702 /* Line 1806 of yacc.c  */
    7703 #line 1912 "parser.yy"
     7615  case 500:
     7616
     7617/* Line 1806 of yacc.c  */
     7618#line 1876 "parser.yy"
    77047619    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77057620    break;
    77067621
    7707   case 509:
    7708 
    7709 /* Line 1806 of yacc.c  */
    7710 #line 1917 "parser.yy"
     7622  case 501:
     7623
     7624/* Line 1806 of yacc.c  */
     7625#line 1881 "parser.yy"
    77117626    { (yyval.decl) = 0; }
    77127627    break;
    77137628
    7714   case 513:
    7715 
    7716 /* Line 1806 of yacc.c  */
    7717 #line 1925 "parser.yy"
     7629  case 505:
     7630
     7631/* Line 1806 of yacc.c  */
     7632#line 1889 "parser.yy"
    77187633    {}
    77197634    break;
    77207635
    7721   case 514:
    7722 
    7723 /* Line 1806 of yacc.c  */
    7724 #line 1927 "parser.yy"
     7636  case 506:
     7637
     7638/* Line 1806 of yacc.c  */
     7639#line 1891 "parser.yy"
    77257640    {
    77267641                        linkageStack.push( linkage );
     
    77297644    break;
    77307645
    7731   case 515:
    7732 
    7733 /* Line 1806 of yacc.c  */
    7734 #line 1932 "parser.yy"
     7646  case 507:
     7647
     7648/* Line 1806 of yacc.c  */
     7649#line 1896 "parser.yy"
    77357650    {
    77367651                        linkage = linkageStack.top();
     
    77407655    break;
    77417656
    7742   case 516:
    7743 
    7744 /* Line 1806 of yacc.c  */
    7745 #line 1938 "parser.yy"
     7657  case 508:
     7658
     7659/* Line 1806 of yacc.c  */
     7660#line 1902 "parser.yy"
    77467661    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    77477662    break;
    77487663
    7749   case 518:
    7750 
    7751 /* Line 1806 of yacc.c  */
    7752 #line 1948 "parser.yy"
     7664  case 510:
     7665
     7666/* Line 1806 of yacc.c  */
     7667#line 1912 "parser.yy"
    77537668    {
    77547669                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77587673    break;
    77597674
    7760   case 519:
    7761 
    7762 /* Line 1806 of yacc.c  */
    7763 #line 1954 "parser.yy"
     7675  case 511:
     7676
     7677/* Line 1806 of yacc.c  */
     7678#line 1918 "parser.yy"
    77647679    {
    77657680                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77697684    break;
    77707685
    7771   case 520:
    7772 
    7773 /* Line 1806 of yacc.c  */
    7774 #line 1963 "parser.yy"
     7686  case 512:
     7687
     7688/* Line 1806 of yacc.c  */
     7689#line 1927 "parser.yy"
    77757690    {
    77767691                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77807695    break;
    77817696
    7782   case 521:
    7783 
    7784 /* Line 1806 of yacc.c  */
    7785 #line 1969 "parser.yy"
     7697  case 513:
     7698
     7699/* Line 1806 of yacc.c  */
     7700#line 1933 "parser.yy"
    77867701    {
    77877702                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77917706    break;
    77927707
    7793   case 522:
    7794 
    7795 /* Line 1806 of yacc.c  */
    7796 #line 1975 "parser.yy"
     7708  case 514:
     7709
     7710/* Line 1806 of yacc.c  */
     7711#line 1939 "parser.yy"
    77977712    {
    77987713                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78027717    break;
    78037718
    7804   case 523:
    7805 
    7806 /* Line 1806 of yacc.c  */
    7807 #line 1981 "parser.yy"
     7719  case 515:
     7720
     7721/* Line 1806 of yacc.c  */
     7722#line 1945 "parser.yy"
    78087723    {
    78097724                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78137728    break;
    78147729
    7815   case 524:
    7816 
    7817 /* Line 1806 of yacc.c  */
    7818 #line 1987 "parser.yy"
     7730  case 516:
     7731
     7732/* Line 1806 of yacc.c  */
     7733#line 1951 "parser.yy"
    78197734    {
    78207735                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78247739    break;
    78257740
    7826   case 525:
    7827 
    7828 /* Line 1806 of yacc.c  */
    7829 #line 1995 "parser.yy"
     7741  case 517:
     7742
     7743/* Line 1806 of yacc.c  */
     7744#line 1959 "parser.yy"
    78307745    {
    78317746                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78357750    break;
    78367751
    7837   case 526:
    7838 
    7839 /* Line 1806 of yacc.c  */
    7840 #line 2001 "parser.yy"
     7752  case 518:
     7753
     7754/* Line 1806 of yacc.c  */
     7755#line 1965 "parser.yy"
    78417756    {
    78427757                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78467761    break;
    78477762
    7848   case 527:
    7849 
    7850 /* Line 1806 of yacc.c  */
    7851 #line 2009 "parser.yy"
     7763  case 519:
     7764
     7765/* Line 1806 of yacc.c  */
     7766#line 1973 "parser.yy"
    78527767    {
    78537768                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78577772    break;
    78587773
    7859   case 528:
    7860 
    7861 /* Line 1806 of yacc.c  */
    7862 #line 2015 "parser.yy"
     7774  case 520:
     7775
     7776/* Line 1806 of yacc.c  */
     7777#line 1979 "parser.yy"
    78637778    {
    78647779                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78687783    break;
    78697784
    7870   case 532:
    7871 
    7872 /* Line 1806 of yacc.c  */
    7873 #line 2030 "parser.yy"
     7785  case 524:
     7786
     7787/* Line 1806 of yacc.c  */
     7788#line 1994 "parser.yy"
    78747789    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    78757790    break;
    78767791
    7877   case 535:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 2040 "parser.yy"
     7792  case 527:
     7793
     7794/* Line 1806 of yacc.c  */
     7795#line 2004 "parser.yy"
    78817796    { (yyval.decl) = 0; }
    78827797    break;
    78837798
     7799  case 530:
     7800
     7801/* Line 1806 of yacc.c  */
     7802#line 2011 "parser.yy"
     7803    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7804    break;
     7805
     7806  case 531:
     7807
     7808/* Line 1806 of yacc.c  */
     7809#line 2017 "parser.yy"
     7810    { (yyval.decl) = 0; }
     7811    break;
     7812
     7813  case 537:
     7814
     7815/* Line 1806 of yacc.c  */
     7816#line 2032 "parser.yy"
     7817    {}
     7818    break;
     7819
    78847820  case 538:
    78857821
    78867822/* Line 1806 of yacc.c  */
    7887 #line 2047 "parser.yy"
    7888     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7823#line 2033 "parser.yy"
     7824    {}
    78897825    break;
    78907826
     
    78927828
    78937829/* Line 1806 of yacc.c  */
    7894 #line 2053 "parser.yy"
    7895     { (yyval.decl) = 0; }
     7830#line 2034 "parser.yy"
     7831    {}
     7832    break;
     7833
     7834  case 540:
     7835
     7836/* Line 1806 of yacc.c  */
     7837#line 2035 "parser.yy"
     7838    {}
     7839    break;
     7840
     7841  case 541:
     7842
     7843/* Line 1806 of yacc.c  */
     7844#line 2070 "parser.yy"
     7845    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7846    break;
     7847
     7848  case 543:
     7849
     7850/* Line 1806 of yacc.c  */
     7851#line 2073 "parser.yy"
     7852    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7853    break;
     7854
     7855  case 544:
     7856
     7857/* Line 1806 of yacc.c  */
     7858#line 2075 "parser.yy"
     7859    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    78967860    break;
    78977861
     
    78997863
    79007864/* Line 1806 of yacc.c  */
    7901 #line 2068 "parser.yy"
    7902     {}
    7903     break;
    7904 
    7905   case 546:
    7906 
    7907 /* Line 1806 of yacc.c  */
    7908 #line 2069 "parser.yy"
    7909     {}
    7910     break;
    7911 
    7912   case 547:
    7913 
    7914 /* Line 1806 of yacc.c  */
    7915 #line 2070 "parser.yy"
    7916     {}
    7917     break;
    7918 
    7919   case 548:
    7920 
    7921 /* Line 1806 of yacc.c  */
    7922 #line 2071 "parser.yy"
    7923     {}
    7924     break;
    7925 
    7926   case 549:
    7927 
    7928 /* Line 1806 of yacc.c  */
    7929 #line 2106 "parser.yy"
    7930     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7931     break;
    7932 
    7933   case 551:
    7934 
    7935 /* Line 1806 of yacc.c  */
    7936 #line 2109 "parser.yy"
    7937     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7938     break;
    7939 
    7940   case 552:
    7941 
    7942 /* Line 1806 of yacc.c  */
    7943 #line 2111 "parser.yy"
    7944     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7945     break;
    7946 
    7947   case 553:
    7948 
    7949 /* Line 1806 of yacc.c  */
    7950 #line 2116 "parser.yy"
     7865#line 2080 "parser.yy"
    79517866    {
    79527867                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    79557870    break;
    79567871
     7872  case 546:
     7873
     7874/* Line 1806 of yacc.c  */
     7875#line 2085 "parser.yy"
     7876    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7877    break;
     7878
     7879  case 547:
     7880
     7881/* Line 1806 of yacc.c  */
     7882#line 2090 "parser.yy"
     7883    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     7884    break;
     7885
     7886  case 548:
     7887
     7888/* Line 1806 of yacc.c  */
     7889#line 2092 "parser.yy"
     7890    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     7891    break;
     7892
     7893  case 549:
     7894
     7895/* Line 1806 of yacc.c  */
     7896#line 2094 "parser.yy"
     7897    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7898    break;
     7899
     7900  case 550:
     7901
     7902/* Line 1806 of yacc.c  */
     7903#line 2099 "parser.yy"
     7904    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     7905    break;
     7906
     7907  case 551:
     7908
     7909/* Line 1806 of yacc.c  */
     7910#line 2101 "parser.yy"
     7911    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     7912    break;
     7913
     7914  case 552:
     7915
     7916/* Line 1806 of yacc.c  */
     7917#line 2103 "parser.yy"
     7918    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     7919    break;
     7920
     7921  case 553:
     7922
     7923/* Line 1806 of yacc.c  */
     7924#line 2105 "parser.yy"
     7925    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7926    break;
     7927
    79577928  case 554:
    79587929
    79597930/* Line 1806 of yacc.c  */
    7960 #line 2121 "parser.yy"
     7931#line 2110 "parser.yy"
     7932    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     7933    break;
     7934
     7935  case 555:
     7936
     7937/* Line 1806 of yacc.c  */
     7938#line 2112 "parser.yy"
    79617939    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79627940    break;
    79637941
    7964   case 555:
    7965 
    7966 /* Line 1806 of yacc.c  */
    7967 #line 2126 "parser.yy"
     7942  case 556:
     7943
     7944/* Line 1806 of yacc.c  */
     7945#line 2122 "parser.yy"
     7946    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7947    break;
     7948
     7949  case 558:
     7950
     7951/* Line 1806 of yacc.c  */
     7952#line 2125 "parser.yy"
     7953    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7954    break;
     7955
     7956  case 559:
     7957
     7958/* Line 1806 of yacc.c  */
     7959#line 2130 "parser.yy"
     7960    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     7961    break;
     7962
     7963  case 560:
     7964
     7965/* Line 1806 of yacc.c  */
     7966#line 2132 "parser.yy"
     7967    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     7968    break;
     7969
     7970  case 561:
     7971
     7972/* Line 1806 of yacc.c  */
     7973#line 2134 "parser.yy"
     7974    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7975    break;
     7976
     7977  case 562:
     7978
     7979/* Line 1806 of yacc.c  */
     7980#line 2139 "parser.yy"
    79687981    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    79697982    break;
    79707983
    7971   case 556:
    7972 
    7973 /* Line 1806 of yacc.c  */
    7974 #line 2128 "parser.yy"
     7984  case 563:
     7985
     7986/* Line 1806 of yacc.c  */
     7987#line 2141 "parser.yy"
    79757988    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    79767989    break;
    79777990
    7978   case 557:
    7979 
    7980 /* Line 1806 of yacc.c  */
    7981 #line 2130 "parser.yy"
     7991  case 564:
     7992
     7993/* Line 1806 of yacc.c  */
     7994#line 2143 "parser.yy"
    79827995    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79837996    break;
    79847997
    7985   case 558:
    7986 
    7987 /* Line 1806 of yacc.c  */
    7988 #line 2135 "parser.yy"
     7998  case 565:
     7999
     8000/* Line 1806 of yacc.c  */
     8001#line 2148 "parser.yy"
     8002    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8003    break;
     8004
     8005  case 566:
     8006
     8007/* Line 1806 of yacc.c  */
     8008#line 2150 "parser.yy"
     8009    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8010    break;
     8011
     8012  case 567:
     8013
     8014/* Line 1806 of yacc.c  */
     8015#line 2152 "parser.yy"
     8016    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8017    break;
     8018
     8019  case 571:
     8020
     8021/* Line 1806 of yacc.c  */
     8022#line 2167 "parser.yy"
     8023    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8024    break;
     8025
     8026  case 572:
     8027
     8028/* Line 1806 of yacc.c  */
     8029#line 2169 "parser.yy"
     8030    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8031    break;
     8032
     8033  case 573:
     8034
     8035/* Line 1806 of yacc.c  */
     8036#line 2171 "parser.yy"
     8037    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8038    break;
     8039
     8040  case 574:
     8041
     8042/* Line 1806 of yacc.c  */
     8043#line 2176 "parser.yy"
     8044    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8045    break;
     8046
     8047  case 575:
     8048
     8049/* Line 1806 of yacc.c  */
     8050#line 2178 "parser.yy"
     8051    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8052    break;
     8053
     8054  case 576:
     8055
     8056/* Line 1806 of yacc.c  */
     8057#line 2180 "parser.yy"
     8058    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8059    break;
     8060
     8061  case 577:
     8062
     8063/* Line 1806 of yacc.c  */
     8064#line 2185 "parser.yy"
     8065    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8066    break;
     8067
     8068  case 578:
     8069
     8070/* Line 1806 of yacc.c  */
     8071#line 2187 "parser.yy"
     8072    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8073    break;
     8074
     8075  case 579:
     8076
     8077/* Line 1806 of yacc.c  */
     8078#line 2189 "parser.yy"
     8079    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8080    break;
     8081
     8082  case 580:
     8083
     8084/* Line 1806 of yacc.c  */
     8085#line 2204 "parser.yy"
     8086    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8087    break;
     8088
     8089  case 582:
     8090
     8091/* Line 1806 of yacc.c  */
     8092#line 2207 "parser.yy"
     8093    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8094    break;
     8095
     8096  case 583:
     8097
     8098/* Line 1806 of yacc.c  */
     8099#line 2209 "parser.yy"
     8100    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8101    break;
     8102
     8103  case 585:
     8104
     8105/* Line 1806 of yacc.c  */
     8106#line 2215 "parser.yy"
     8107    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8108    break;
     8109
     8110  case 586:
     8111
     8112/* Line 1806 of yacc.c  */
     8113#line 2220 "parser.yy"
     8114    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8115    break;
     8116
     8117  case 587:
     8118
     8119/* Line 1806 of yacc.c  */
     8120#line 2222 "parser.yy"
     8121    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8122    break;
     8123
     8124  case 588:
     8125
     8126/* Line 1806 of yacc.c  */
     8127#line 2224 "parser.yy"
     8128    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8129    break;
     8130
     8131  case 589:
     8132
     8133/* Line 1806 of yacc.c  */
     8134#line 2229 "parser.yy"
    79898135    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    79908136    break;
    79918137
    7992   case 559:
    7993 
    7994 /* Line 1806 of yacc.c  */
    7995 #line 2137 "parser.yy"
     8138  case 590:
     8139
     8140/* Line 1806 of yacc.c  */
     8141#line 2231 "parser.yy"
    79968142    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    79978143    break;
    79988144
    7999   case 560:
    8000 
    8001 /* Line 1806 of yacc.c  */
    8002 #line 2139 "parser.yy"
     8145  case 591:
     8146
     8147/* Line 1806 of yacc.c  */
     8148#line 2233 "parser.yy"
    80038149    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80048150    break;
    80058151
    8006   case 561:
    8007 
    8008 /* Line 1806 of yacc.c  */
    8009 #line 2141 "parser.yy"
     8152  case 592:
     8153
     8154/* Line 1806 of yacc.c  */
     8155#line 2235 "parser.yy"
    80108156    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80118157    break;
    80128158
    8013   case 562:
    8014 
    8015 /* Line 1806 of yacc.c  */
    8016 #line 2146 "parser.yy"
     8159  case 593:
     8160
     8161/* Line 1806 of yacc.c  */
     8162#line 2240 "parser.yy"
     8163    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8164    break;
     8165
     8166  case 594:
     8167
     8168/* Line 1806 of yacc.c  */
     8169#line 2242 "parser.yy"
    80178170    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80188171    break;
    80198172
    8020   case 563:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 2148 "parser.yy"
     8173  case 595:
     8174
     8175/* Line 1806 of yacc.c  */
     8176#line 2244 "parser.yy"
    80248177    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80258178    break;
    80268179
    8027   case 564:
    8028 
    8029 /* Line 1806 of yacc.c  */
    8030 #line 2158 "parser.yy"
     8180  case 596:
     8181
     8182/* Line 1806 of yacc.c  */
     8183#line 2254 "parser.yy"
    80318184    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80328185    break;
    80338186
    8034   case 566:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 2161 "parser.yy"
     8187  case 598:
     8188
     8189/* Line 1806 of yacc.c  */
     8190#line 2257 "parser.yy"
    80388191    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80398192    break;
    80408193
    8041   case 567:
    8042 
    8043 /* Line 1806 of yacc.c  */
    8044 #line 2166 "parser.yy"
     8194  case 599:
     8195
     8196/* Line 1806 of yacc.c  */
     8197#line 2259 "parser.yy"
     8198    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8199    break;
     8200
     8201  case 600:
     8202
     8203/* Line 1806 of yacc.c  */
     8204#line 2264 "parser.yy"
     8205    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8206    break;
     8207
     8208  case 601:
     8209
     8210/* Line 1806 of yacc.c  */
     8211#line 2266 "parser.yy"
     8212    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8213    break;
     8214
     8215  case 602:
     8216
     8217/* Line 1806 of yacc.c  */
     8218#line 2268 "parser.yy"
     8219    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8220    break;
     8221
     8222  case 603:
     8223
     8224/* Line 1806 of yacc.c  */
     8225#line 2273 "parser.yy"
     8226    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8227    break;
     8228
     8229  case 604:
     8230
     8231/* Line 1806 of yacc.c  */
     8232#line 2275 "parser.yy"
     8233    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8234    break;
     8235
     8236  case 605:
     8237
     8238/* Line 1806 of yacc.c  */
     8239#line 2277 "parser.yy"
     8240    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8241    break;
     8242
     8243  case 606:
     8244
     8245/* Line 1806 of yacc.c  */
     8246#line 2279 "parser.yy"
     8247    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8248    break;
     8249
     8250  case 607:
     8251
     8252/* Line 1806 of yacc.c  */
     8253#line 2284 "parser.yy"
    80458254    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    80468255    break;
    80478256
    8048   case 568:
    8049 
    8050 /* Line 1806 of yacc.c  */
    8051 #line 2168 "parser.yy"
     8257  case 608:
     8258
     8259/* Line 1806 of yacc.c  */
     8260#line 2286 "parser.yy"
    80528261    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80538262    break;
    80548263
    8055   case 569:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2170 "parser.yy"
     8264  case 609:
     8265
     8266/* Line 1806 of yacc.c  */
     8267#line 2288 "parser.yy"
    80598268    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80608269    break;
    80618270
    8062   case 570:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2175 "parser.yy"
    8066     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8067     break;
    8068 
    8069   case 571:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2177 "parser.yy"
    8073     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8074     break;
    8075 
    8076   case 572:
    8077 
    8078 /* Line 1806 of yacc.c  */
    8079 #line 2179 "parser.yy"
    8080     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8081     break;
    8082 
    8083   case 573:
    8084 
    8085 /* Line 1806 of yacc.c  */
    8086 #line 2184 "parser.yy"
    8087     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8088     break;
    8089 
    8090   case 574:
    8091 
    8092 /* Line 1806 of yacc.c  */
    8093 #line 2186 "parser.yy"
    8094     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8095     break;
    8096 
    8097   case 575:
    8098 
    8099 /* Line 1806 of yacc.c  */
    8100 #line 2188 "parser.yy"
    8101     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8102     break;
    8103 
    8104   case 579:
    8105 
    8106 /* Line 1806 of yacc.c  */
    8107 #line 2203 "parser.yy"
    8108     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8109     break;
    8110 
    8111   case 580:
    8112 
    8113 /* Line 1806 of yacc.c  */
    8114 #line 2205 "parser.yy"
    8115     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8116     break;
    8117 
    8118   case 581:
    8119 
    8120 /* Line 1806 of yacc.c  */
    8121 #line 2207 "parser.yy"
    8122     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8123     break;
    8124 
    8125   case 582:
    8126 
    8127 /* Line 1806 of yacc.c  */
    8128 #line 2212 "parser.yy"
    8129     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8130     break;
    8131 
    8132   case 583:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2214 "parser.yy"
    8136     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8137     break;
    8138 
    8139   case 584:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2216 "parser.yy"
    8143     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8144     break;
    8145 
    8146   case 585:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2221 "parser.yy"
    8150     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8151     break;
    8152 
    8153   case 586:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2223 "parser.yy"
    8157     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8158     break;
    8159 
    8160   case 587:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2225 "parser.yy"
    8164     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8165     break;
    8166 
    8167   case 588:
    8168 
    8169 /* Line 1806 of yacc.c  */
    8170 #line 2240 "parser.yy"
     8271  case 610:
     8272
     8273/* Line 1806 of yacc.c  */
     8274#line 2319 "parser.yy"
    81718275    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81728276    break;
    81738277
    8174   case 590:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2243 "parser.yy"
     8278  case 612:
     8279
     8280/* Line 1806 of yacc.c  */
     8281#line 2322 "parser.yy"
    81788282    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81798283    break;
    81808284
    8181   case 591:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2245 "parser.yy"
     8285  case 613:
     8286
     8287/* Line 1806 of yacc.c  */
     8288#line 2324 "parser.yy"
    81858289    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81868290    break;
    81878291
    8188   case 593:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2251 "parser.yy"
    8192     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8193     break;
    8194 
    8195   case 594:
    8196 
    8197 /* Line 1806 of yacc.c  */
    8198 #line 2256 "parser.yy"
    8199     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8200     break;
    8201 
    8202   case 595:
    8203 
    8204 /* Line 1806 of yacc.c  */
    8205 #line 2258 "parser.yy"
    8206     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8207     break;
    8208 
    8209   case 596:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2260 "parser.yy"
    8213     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8214     break;
    8215 
    8216   case 597:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2265 "parser.yy"
    8220     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8221     break;
    8222 
    8223   case 598:
    8224 
    8225 /* Line 1806 of yacc.c  */
    8226 #line 2267 "parser.yy"
    8227     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8228     break;
    8229 
    8230   case 599:
    8231 
    8232 /* Line 1806 of yacc.c  */
    8233 #line 2269 "parser.yy"
    8234     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8235     break;
    8236 
    8237   case 600:
    8238 
    8239 /* Line 1806 of yacc.c  */
    8240 #line 2271 "parser.yy"
    8241     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8242     break;
    8243 
    8244   case 601:
    8245 
    8246 /* Line 1806 of yacc.c  */
    8247 #line 2276 "parser.yy"
    8248     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8249     break;
    8250 
    8251   case 602:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2278 "parser.yy"
    8255     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8256     break;
    8257 
    8258   case 603:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2280 "parser.yy"
    8262     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8263     break;
    8264 
    8265   case 604:
    8266 
    8267 /* Line 1806 of yacc.c  */
    8268 #line 2290 "parser.yy"
    8269     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8270     break;
    8271 
    8272   case 606:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2293 "parser.yy"
    8276     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8277     break;
    8278 
    8279   case 607:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2295 "parser.yy"
    8283     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8284     break;
    8285 
    8286   case 608:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2300 "parser.yy"
    8290     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8291     break;
    8292 
    8293   case 609:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2302 "parser.yy"
    8297     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8298     break;
    8299 
    8300   case 610:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2304 "parser.yy"
    8304     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8305     break;
    8306 
    8307   case 611:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2309 "parser.yy"
    8311     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8312     break;
    8313 
    8314   case 612:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2311 "parser.yy"
    8318     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8319     break;
    8320 
    8321   case 613:
    8322 
    8323 /* Line 1806 of yacc.c  */
    8324 #line 2313 "parser.yy"
    8325     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8326     break;
    8327 
    83288292  case 614:
    83298293
    83308294/* Line 1806 of yacc.c  */
    8331 #line 2315 "parser.yy"
    8332     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8333     break;
    8334 
    8335   case 615:
    8336 
    8337 /* Line 1806 of yacc.c  */
    8338 #line 2320 "parser.yy"
    8339     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8340     break;
    8341 
    8342   case 616:
    8343 
    8344 /* Line 1806 of yacc.c  */
    8345 #line 2322 "parser.yy"
    8346     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8347     break;
    8348 
    8349   case 617:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2324 "parser.yy"
    8353     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8354     break;
    8355 
    8356   case 618:
    8357 
    8358 /* Line 1806 of yacc.c  */
    8359 #line 2355 "parser.yy"
    8360     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8361     break;
    8362 
    8363   case 620:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2358 "parser.yy"
    8367     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8368     break;
    8369 
    8370   case 621:
    8371 
    8372 /* Line 1806 of yacc.c  */
    8373 #line 2360 "parser.yy"
    8374     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8375     break;
    8376 
    8377   case 622:
    8378 
    8379 /* Line 1806 of yacc.c  */
    8380 #line 2365 "parser.yy"
     8295#line 2329 "parser.yy"
    83818296    {
    83828297                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    83858300    break;
    83868301
    8387   case 623:
    8388 
    8389 /* Line 1806 of yacc.c  */
    8390 #line 2370 "parser.yy"
     8302  case 615:
     8303
     8304/* Line 1806 of yacc.c  */
     8305#line 2334 "parser.yy"
    83918306    {
    83928307                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    83958310    break;
    83968311
     8312  case 616:
     8313
     8314/* Line 1806 of yacc.c  */
     8315#line 2342 "parser.yy"
     8316    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8317    break;
     8318
     8319  case 617:
     8320
     8321/* Line 1806 of yacc.c  */
     8322#line 2344 "parser.yy"
     8323    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8324    break;
     8325
     8326  case 618:
     8327
     8328/* Line 1806 of yacc.c  */
     8329#line 2346 "parser.yy"
     8330    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8331    break;
     8332
     8333  case 619:
     8334
     8335/* Line 1806 of yacc.c  */
     8336#line 2351 "parser.yy"
     8337    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8338    break;
     8339
     8340  case 620:
     8341
     8342/* Line 1806 of yacc.c  */
     8343#line 2353 "parser.yy"
     8344    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8345    break;
     8346
     8347  case 621:
     8348
     8349/* Line 1806 of yacc.c  */
     8350#line 2358 "parser.yy"
     8351    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8352    break;
     8353
     8354  case 622:
     8355
     8356/* Line 1806 of yacc.c  */
     8357#line 2360 "parser.yy"
     8358    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8359    break;
     8360
    83978361  case 624:
    83988362
    83998363/* Line 1806 of yacc.c  */
    8400 #line 2378 "parser.yy"
     8364#line 2375 "parser.yy"
     8365    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8366    break;
     8367
     8368  case 625:
     8369
     8370/* Line 1806 of yacc.c  */
     8371#line 2377 "parser.yy"
     8372    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8373    break;
     8374
     8375  case 626:
     8376
     8377/* Line 1806 of yacc.c  */
     8378#line 2382 "parser.yy"
     8379    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8380    break;
     8381
     8382  case 627:
     8383
     8384/* Line 1806 of yacc.c  */
     8385#line 2384 "parser.yy"
     8386    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8387    break;
     8388
     8389  case 628:
     8390
     8391/* Line 1806 of yacc.c  */
     8392#line 2386 "parser.yy"
    84018393    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84028394    break;
    84038395
    8404   case 625:
    8405 
    8406 /* Line 1806 of yacc.c  */
    8407 #line 2380 "parser.yy"
     8396  case 629:
     8397
     8398/* Line 1806 of yacc.c  */
     8399#line 2388 "parser.yy"
    84088400    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84098401    break;
    84108402
    8411   case 626:
    8412 
    8413 /* Line 1806 of yacc.c  */
    8414 #line 2382 "parser.yy"
     8403  case 630:
     8404
     8405/* Line 1806 of yacc.c  */
     8406#line 2390 "parser.yy"
    84158407    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84168408    break;
    84178409
    8418   case 627:
    8419 
    8420 /* Line 1806 of yacc.c  */
    8421 #line 2387 "parser.yy"
     8410  case 632:
     8411
     8412/* Line 1806 of yacc.c  */
     8413#line 2396 "parser.yy"
     8414    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8415    break;
     8416
     8417  case 633:
     8418
     8419/* Line 1806 of yacc.c  */
     8420#line 2398 "parser.yy"
     8421    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8422    break;
     8423
     8424  case 634:
     8425
     8426/* Line 1806 of yacc.c  */
     8427#line 2400 "parser.yy"
     8428    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8429    break;
     8430
     8431  case 635:
     8432
     8433/* Line 1806 of yacc.c  */
     8434#line 2405 "parser.yy"
     8435    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8436    break;
     8437
     8438  case 636:
     8439
     8440/* Line 1806 of yacc.c  */
     8441#line 2407 "parser.yy"
     8442    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8443    break;
     8444
     8445  case 637:
     8446
     8447/* Line 1806 of yacc.c  */
     8448#line 2409 "parser.yy"
     8449    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8450    break;
     8451
     8452  case 638:
     8453
     8454/* Line 1806 of yacc.c  */
     8455#line 2415 "parser.yy"
     8456    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8457    break;
     8458
     8459  case 639:
     8460
     8461/* Line 1806 of yacc.c  */
     8462#line 2417 "parser.yy"
     8463    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8464    break;
     8465
     8466  case 641:
     8467
     8468/* Line 1806 of yacc.c  */
     8469#line 2423 "parser.yy"
     8470    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8471    break;
     8472
     8473  case 642:
     8474
     8475/* Line 1806 of yacc.c  */
     8476#line 2425 "parser.yy"
     8477    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8478    break;
     8479
     8480  case 643:
     8481
     8482/* Line 1806 of yacc.c  */
     8483#line 2427 "parser.yy"
     8484    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8485    break;
     8486
     8487  case 644:
     8488
     8489/* Line 1806 of yacc.c  */
     8490#line 2429 "parser.yy"
     8491    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8492    break;
     8493
     8494  case 646:
     8495
     8496/* Line 1806 of yacc.c  */
     8497#line 2444 "parser.yy"
     8498    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8499    break;
     8500
     8501  case 647:
     8502
     8503/* Line 1806 of yacc.c  */
     8504#line 2446 "parser.yy"
     8505    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8506    break;
     8507
     8508  case 648:
     8509
     8510/* Line 1806 of yacc.c  */
     8511#line 2451 "parser.yy"
     8512    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8513    break;
     8514
     8515  case 649:
     8516
     8517/* Line 1806 of yacc.c  */
     8518#line 2453 "parser.yy"
     8519    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8520    break;
     8521
     8522  case 650:
     8523
     8524/* Line 1806 of yacc.c  */
     8525#line 2455 "parser.yy"
     8526    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8527    break;
     8528
     8529  case 651:
     8530
     8531/* Line 1806 of yacc.c  */
     8532#line 2457 "parser.yy"
     8533    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8534    break;
     8535
     8536  case 652:
     8537
     8538/* Line 1806 of yacc.c  */
     8539#line 2459 "parser.yy"
     8540    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8541    break;
     8542
     8543  case 654:
     8544
     8545/* Line 1806 of yacc.c  */
     8546#line 2465 "parser.yy"
     8547    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8548    break;
     8549
     8550  case 655:
     8551
     8552/* Line 1806 of yacc.c  */
     8553#line 2467 "parser.yy"
     8554    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8555    break;
     8556
     8557  case 656:
     8558
     8559/* Line 1806 of yacc.c  */
     8560#line 2469 "parser.yy"
     8561    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8562    break;
     8563
     8564  case 657:
     8565
     8566/* Line 1806 of yacc.c  */
     8567#line 2474 "parser.yy"
     8568    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8569    break;
     8570
     8571  case 658:
     8572
     8573/* Line 1806 of yacc.c  */
     8574#line 2476 "parser.yy"
     8575    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8576    break;
     8577
     8578  case 659:
     8579
     8580/* Line 1806 of yacc.c  */
     8581#line 2478 "parser.yy"
     8582    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8583    break;
     8584
     8585  case 661:
     8586
     8587/* Line 1806 of yacc.c  */
     8588#line 2485 "parser.yy"
    84228589    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84238590    break;
    84248591
    8425   case 628:
    8426 
    8427 /* Line 1806 of yacc.c  */
    8428 #line 2389 "parser.yy"
     8592  case 663:
     8593
     8594/* Line 1806 of yacc.c  */
     8595#line 2496 "parser.yy"
     8596    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8597    break;
     8598
     8599  case 664:
     8600
     8601/* Line 1806 of yacc.c  */
     8602#line 2499 "parser.yy"
     8603    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8604    break;
     8605
     8606  case 665:
     8607
     8608/* Line 1806 of yacc.c  */
     8609#line 2501 "parser.yy"
     8610    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     8611    break;
     8612
     8613  case 666:
     8614
     8615/* Line 1806 of yacc.c  */
     8616#line 2504 "parser.yy"
     8617    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8618    break;
     8619
     8620  case 667:
     8621
     8622/* Line 1806 of yacc.c  */
     8623#line 2506 "parser.yy"
     8624    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8625    break;
     8626
     8627  case 668:
     8628
     8629/* Line 1806 of yacc.c  */
     8630#line 2508 "parser.yy"
     8631    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     8632    break;
     8633
     8634  case 670:
     8635
     8636/* Line 1806 of yacc.c  */
     8637#line 2522 "parser.yy"
     8638    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8639    break;
     8640
     8641  case 671:
     8642
     8643/* Line 1806 of yacc.c  */
     8644#line 2524 "parser.yy"
     8645    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8646    break;
     8647
     8648  case 672:
     8649
     8650/* Line 1806 of yacc.c  */
     8651#line 2529 "parser.yy"
     8652    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8653    break;
     8654
     8655  case 673:
     8656
     8657/* Line 1806 of yacc.c  */
     8658#line 2531 "parser.yy"
     8659    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8660    break;
     8661
     8662  case 674:
     8663
     8664/* Line 1806 of yacc.c  */
     8665#line 2533 "parser.yy"
     8666    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8667    break;
     8668
     8669  case 675:
     8670
     8671/* Line 1806 of yacc.c  */
     8672#line 2535 "parser.yy"
     8673    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8674    break;
     8675
     8676  case 676:
     8677
     8678/* Line 1806 of yacc.c  */
     8679#line 2537 "parser.yy"
     8680    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8681    break;
     8682
     8683  case 678:
     8684
     8685/* Line 1806 of yacc.c  */
     8686#line 2543 "parser.yy"
    84298687    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84308688    break;
    84318689
    8432   case 629:
    8433 
    8434 /* Line 1806 of yacc.c  */
    8435 #line 2394 "parser.yy"
    8436     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8437     break;
    8438 
    8439   case 630:
    8440 
    8441 /* Line 1806 of yacc.c  */
    8442 #line 2396 "parser.yy"
     8690  case 679:
     8691
     8692/* Line 1806 of yacc.c  */
     8693#line 2545 "parser.yy"
     8694    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8695    break;
     8696
     8697  case 680:
     8698
     8699/* Line 1806 of yacc.c  */
     8700#line 2547 "parser.yy"
     8701    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8702    break;
     8703
     8704  case 681:
     8705
     8706/* Line 1806 of yacc.c  */
     8707#line 2552 "parser.yy"
    84438708    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84448709    break;
    84458710
    8446   case 632:
    8447 
    8448 /* Line 1806 of yacc.c  */
    8449 #line 2411 "parser.yy"
    8450     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8451     break;
    8452 
    8453   case 633:
    8454 
    8455 /* Line 1806 of yacc.c  */
    8456 #line 2413 "parser.yy"
    8457     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8458     break;
    8459 
    8460   case 634:
    8461 
    8462 /* Line 1806 of yacc.c  */
    8463 #line 2418 "parser.yy"
    8464     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8465     break;
    8466 
    8467   case 635:
    8468 
    8469 /* Line 1806 of yacc.c  */
    8470 #line 2420 "parser.yy"
    8471     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8472     break;
    8473 
    8474   case 636:
    8475 
    8476 /* Line 1806 of yacc.c  */
    8477 #line 2422 "parser.yy"
    8478     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8479     break;
    8480 
    8481   case 637:
    8482 
    8483 /* Line 1806 of yacc.c  */
    8484 #line 2424 "parser.yy"
    8485     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8486     break;
    8487 
    8488   case 638:
    8489 
    8490 /* Line 1806 of yacc.c  */
    8491 #line 2426 "parser.yy"
     8711  case 682:
     8712
     8713/* Line 1806 of yacc.c  */
     8714#line 2554 "parser.yy"
    84928715    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84938716    break;
    84948717
    8495   case 640:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2432 "parser.yy"
    8499     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8500     break;
    8501 
    8502   case 641:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2434 "parser.yy"
    8506     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8507     break;
    8508 
    8509   case 642:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2436 "parser.yy"
    8513     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8514     break;
    8515 
    8516   case 643:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2441 "parser.yy"
    8520     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8521     break;
    8522 
    8523   case 644:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2443 "parser.yy"
    8527     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8528     break;
    8529 
    8530   case 645:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2445 "parser.yy"
    8534     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8535     break;
    8536 
    8537   case 646:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2451 "parser.yy"
    8541     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8542     break;
    8543 
    8544   case 647:
    8545 
    8546 /* Line 1806 of yacc.c  */
    8547 #line 2453 "parser.yy"
    8548     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8549     break;
    8550 
    8551   case 649:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2459 "parser.yy"
    8555     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8556     break;
    8557 
    8558   case 650:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2461 "parser.yy"
    8562     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8563     break;
    8564 
    8565   case 651:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2463 "parser.yy"
    8569     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8570     break;
    8571 
    8572   case 652:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2465 "parser.yy"
    8576     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8577     break;
    8578 
    8579   case 654:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2480 "parser.yy"
    8583     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8584     break;
    8585 
    8586   case 655:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2482 "parser.yy"
    8590     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8591     break;
    8592 
    8593   case 656:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2487 "parser.yy"
    8597     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8598     break;
    8599 
    8600   case 657:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2489 "parser.yy"
    8604     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8605     break;
    8606 
    8607   case 658:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2491 "parser.yy"
    8611     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8612     break;
    8613 
    8614   case 659:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2493 "parser.yy"
    8618     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8619     break;
    8620 
    8621   case 660:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2495 "parser.yy"
    8625     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8626     break;
    8627 
    8628   case 662:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2501 "parser.yy"
    8632     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8633     break;
    8634 
    8635   case 663:
    8636 
    8637 /* Line 1806 of yacc.c  */
    8638 #line 2503 "parser.yy"
    8639     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8640     break;
    8641 
    8642   case 664:
    8643 
    8644 /* Line 1806 of yacc.c  */
    8645 #line 2505 "parser.yy"
    8646     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8647     break;
    8648 
    8649   case 665:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2510 "parser.yy"
    8653     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8654     break;
    8655 
    8656   case 666:
    8657 
    8658 /* Line 1806 of yacc.c  */
    8659 #line 2512 "parser.yy"
    8660     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8661     break;
    8662 
    8663   case 667:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2514 "parser.yy"
    8667     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8668     break;
    8669 
    8670   case 669:
    8671 
    8672 /* Line 1806 of yacc.c  */
    8673 #line 2521 "parser.yy"
    8674     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8675     break;
    8676 
    8677   case 671:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2532 "parser.yy"
    8681     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8682     break;
    8683 
    8684   case 672:
    8685 
    8686 /* Line 1806 of yacc.c  */
    8687 #line 2535 "parser.yy"
     8718  case 685:
     8719
     8720/* Line 1806 of yacc.c  */
     8721#line 2564 "parser.yy"
     8722    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8723    break;
     8724
     8725  case 688:
     8726
     8727/* Line 1806 of yacc.c  */
     8728#line 2574 "parser.yy"
     8729    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8730    break;
     8731
     8732  case 689:
     8733
     8734/* Line 1806 of yacc.c  */
     8735#line 2576 "parser.yy"
     8736    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8737    break;
     8738
     8739  case 690:
     8740
     8741/* Line 1806 of yacc.c  */
     8742#line 2578 "parser.yy"
     8743    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8744    break;
     8745
     8746  case 691:
     8747
     8748/* Line 1806 of yacc.c  */
     8749#line 2580 "parser.yy"
     8750    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8751    break;
     8752
     8753  case 692:
     8754
     8755/* Line 1806 of yacc.c  */
     8756#line 2582 "parser.yy"
     8757    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8758    break;
     8759
     8760  case 693:
     8761
     8762/* Line 1806 of yacc.c  */
     8763#line 2584 "parser.yy"
     8764    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8765    break;
     8766
     8767  case 694:
     8768
     8769/* Line 1806 of yacc.c  */
     8770#line 2591 "parser.yy"
     8771    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8772    break;
     8773
     8774  case 695:
     8775
     8776/* Line 1806 of yacc.c  */
     8777#line 2593 "parser.yy"
     8778    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8779    break;
     8780
     8781  case 696:
     8782
     8783/* Line 1806 of yacc.c  */
     8784#line 2595 "parser.yy"
     8785    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8786    break;
     8787
     8788  case 697:
     8789
     8790/* Line 1806 of yacc.c  */
     8791#line 2597 "parser.yy"
     8792    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8793    break;
     8794
     8795  case 698:
     8796
     8797/* Line 1806 of yacc.c  */
     8798#line 2599 "parser.yy"
     8799    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8800    break;
     8801
     8802  case 699:
     8803
     8804/* Line 1806 of yacc.c  */
     8805#line 2601 "parser.yy"
     8806    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8807    break;
     8808
     8809  case 700:
     8810
     8811/* Line 1806 of yacc.c  */
     8812#line 2603 "parser.yy"
     8813    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8814    break;
     8815
     8816  case 701:
     8817
     8818/* Line 1806 of yacc.c  */
     8819#line 2605 "parser.yy"
     8820    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8821    break;
     8822
     8823  case 702:
     8824
     8825/* Line 1806 of yacc.c  */
     8826#line 2607 "parser.yy"
     8827    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8828    break;
     8829
     8830  case 703:
     8831
     8832/* Line 1806 of yacc.c  */
     8833#line 2609 "parser.yy"
     8834    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8835    break;
     8836
     8837  case 704:
     8838
     8839/* Line 1806 of yacc.c  */
     8840#line 2614 "parser.yy"
    86888841    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    86898842    break;
    86908843
    8691   case 673:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2537 "parser.yy"
    8695     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    8696     break;
    8697 
    8698   case 674:
    8699 
    8700 /* Line 1806 of yacc.c  */
    8701 #line 2540 "parser.yy"
     8844  case 705:
     8845
     8846/* Line 1806 of yacc.c  */
     8847#line 2616 "parser.yy"
    87028848    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87038849    break;
    87048850
    8705   case 675:
    8706 
    8707 /* Line 1806 of yacc.c  */
    8708 #line 2542 "parser.yy"
    8709     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8710     break;
    8711 
    8712   case 676:
    8713 
    8714 /* Line 1806 of yacc.c  */
    8715 #line 2544 "parser.yy"
    8716     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    8717     break;
    8718 
    8719   case 678:
    8720 
    8721 /* Line 1806 of yacc.c  */
    8722 #line 2558 "parser.yy"
    8723     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8724     break;
    8725 
    8726   case 679:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2560 "parser.yy"
    8730     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8731     break;
    8732 
    8733   case 680:
    8734 
    8735 /* Line 1806 of yacc.c  */
    8736 #line 2565 "parser.yy"
    8737     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8738     break;
    8739 
    8740   case 681:
    8741 
    8742 /* Line 1806 of yacc.c  */
    8743 #line 2567 "parser.yy"
    8744     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8745     break;
    8746 
    8747   case 682:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2569 "parser.yy"
    8751     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8752     break;
    8753 
    8754   case 683:
    8755 
    8756 /* Line 1806 of yacc.c  */
    8757 #line 2571 "parser.yy"
    8758     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8759     break;
    8760 
    8761   case 684:
    8762 
    8763 /* Line 1806 of yacc.c  */
    8764 #line 2573 "parser.yy"
    8765     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8766     break;
    8767 
    8768   case 686:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2579 "parser.yy"
    8772     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8773     break;
    8774 
    8775   case 687:
    8776 
    8777 /* Line 1806 of yacc.c  */
    8778 #line 2581 "parser.yy"
    8779     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8780     break;
    8781 
    8782   case 688:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2583 "parser.yy"
    8786     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8787     break;
    8788 
    8789   case 689:
    8790 
    8791 /* Line 1806 of yacc.c  */
    8792 #line 2588 "parser.yy"
    8793     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8794     break;
    8795 
    8796   case 690:
    8797 
    8798 /* Line 1806 of yacc.c  */
    8799 #line 2590 "parser.yy"
    8800     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8801     break;
    8802 
    8803   case 693:
    8804 
    8805 /* Line 1806 of yacc.c  */
    8806 #line 2600 "parser.yy"
     8851  case 706:
     8852
     8853/* Line 1806 of yacc.c  */
     8854#line 2621 "parser.yy"
     8855    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     8856    break;
     8857
     8858  case 707:
     8859
     8860/* Line 1806 of yacc.c  */
     8861#line 2623 "parser.yy"
     8862    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     8863    break;
     8864
     8865  case 709:
     8866
     8867/* Line 1806 of yacc.c  */
     8868#line 2650 "parser.yy"
    88078869    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88088870    break;
    88098871
    8810   case 696:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2610 "parser.yy"
     8872  case 713:
     8873
     8874/* Line 1806 of yacc.c  */
     8875#line 2661 "parser.yy"
    88148876    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88158877    break;
    88168878
    8817   case 697:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2612 "parser.yy"
     8879  case 714:
     8880
     8881/* Line 1806 of yacc.c  */
     8882#line 2663 "parser.yy"
    88218883    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88228884    break;
    88238885
    8824   case 698:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2614 "parser.yy"
     8886  case 715:
     8887
     8888/* Line 1806 of yacc.c  */
     8889#line 2665 "parser.yy"
    88288890    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88298891    break;
    88308892
    8831   case 699:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2616 "parser.yy"
     8893  case 716:
     8894
     8895/* Line 1806 of yacc.c  */
     8896#line 2667 "parser.yy"
    88358897    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88368898    break;
    88378899
    8838   case 700:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2618 "parser.yy"
     8900  case 717:
     8901
     8902/* Line 1806 of yacc.c  */
     8903#line 2669 "parser.yy"
    88428904    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88438905    break;
    88448906
    8845   case 701:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2620 "parser.yy"
     8907  case 718:
     8908
     8909/* Line 1806 of yacc.c  */
     8910#line 2671 "parser.yy"
    88498911    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88508912    break;
    88518913
    8852   case 702:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2627 "parser.yy"
     8914  case 719:
     8915
     8916/* Line 1806 of yacc.c  */
     8917#line 2678 "parser.yy"
    88568918    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88578919    break;
    88588920
    8859   case 703:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2629 "parser.yy"
     8921  case 720:
     8922
     8923/* Line 1806 of yacc.c  */
     8924#line 2680 "parser.yy"
     8925    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8926    break;
     8927
     8928  case 721:
     8929
     8930/* Line 1806 of yacc.c  */
     8931#line 2682 "parser.yy"
    88638932    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88648933    break;
    88658934
    8866   case 704:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2631 "parser.yy"
     8935  case 722:
     8936
     8937/* Line 1806 of yacc.c  */
     8938#line 2684 "parser.yy"
     8939    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8940    break;
     8941
     8942  case 723:
     8943
     8944/* Line 1806 of yacc.c  */
     8945#line 2686 "parser.yy"
    88708946    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88718947    break;
    88728948
    8873   case 705:
    8874 
    8875 /* Line 1806 of yacc.c  */
    8876 #line 2633 "parser.yy"
    8877     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8878     break;
    8879 
    8880   case 706:
    8881 
    8882 /* Line 1806 of yacc.c  */
    8883 #line 2635 "parser.yy"
     8949  case 724:
     8950
     8951/* Line 1806 of yacc.c  */
     8952#line 2688 "parser.yy"
    88848953    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88858954    break;
    88868955
    8887   case 707:
    8888 
    8889 /* Line 1806 of yacc.c  */
    8890 #line 2637 "parser.yy"
    8891     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8892     break;
    8893 
    8894   case 708:
    8895 
    8896 /* Line 1806 of yacc.c  */
    8897 #line 2639 "parser.yy"
    8898     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8899     break;
    8900 
    8901   case 709:
    8902 
    8903 /* Line 1806 of yacc.c  */
    8904 #line 2641 "parser.yy"
    8905     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8906     break;
    8907 
    8908   case 710:
    8909 
    8910 /* Line 1806 of yacc.c  */
    8911 #line 2643 "parser.yy"
    8912     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8913     break;
    8914 
    8915   case 711:
    8916 
    8917 /* Line 1806 of yacc.c  */
    8918 #line 2645 "parser.yy"
    8919     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8920     break;
    8921 
    8922   case 712:
    8923 
    8924 /* Line 1806 of yacc.c  */
    8925 #line 2650 "parser.yy"
    8926     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    8927     break;
    8928 
    8929   case 713:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2652 "parser.yy"
    8933     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    8934     break;
    8935 
    8936   case 714:
    8937 
    8938 /* Line 1806 of yacc.c  */
    8939 #line 2657 "parser.yy"
    8940     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    8941     break;
    8942 
    8943   case 715:
    8944 
    8945 /* Line 1806 of yacc.c  */
    8946 #line 2659 "parser.yy"
    8947     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    8948     break;
    8949 
    8950   case 717:
    8951 
    8952 /* Line 1806 of yacc.c  */
    8953 #line 2686 "parser.yy"
    8954     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    8955     break;
    8956 
    8957   case 721:
    8958 
    8959 /* Line 1806 of yacc.c  */
    8960 #line 2697 "parser.yy"
    8961     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8962     break;
    8963 
    8964   case 722:
    8965 
    8966 /* Line 1806 of yacc.c  */
    8967 #line 2699 "parser.yy"
    8968     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    8969     break;
    8970 
    8971   case 723:
    8972 
    8973 /* Line 1806 of yacc.c  */
    8974 #line 2701 "parser.yy"
    8975     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8976     break;
    8977 
    8978   case 724:
    8979 
    8980 /* Line 1806 of yacc.c  */
    8981 #line 2703 "parser.yy"
    8982     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    8983     break;
    8984 
    89858956  case 725:
    89868957
    89878958/* Line 1806 of yacc.c  */
    8988 #line 2705 "parser.yy"
    8989     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8959#line 2693 "parser.yy"
     8960    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    89908961    break;
    89918962
     
    89938964
    89948965/* Line 1806 of yacc.c  */
    8995 #line 2707 "parser.yy"
    8996     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8966#line 2698 "parser.yy"
     8967    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    89978968    break;
    89988969
     
    90008971
    90018972/* Line 1806 of yacc.c  */
    9002 #line 2714 "parser.yy"
    9003     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8973#line 2700 "parser.yy"
     8974    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    90048975    break;
    90058976
     
    90078978
    90088979/* Line 1806 of yacc.c  */
    9009 #line 2716 "parser.yy"
    9010     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9011     break;
    9012 
    9013   case 729:
    9014 
    9015 /* Line 1806 of yacc.c  */
    9016 #line 2718 "parser.yy"
    9017     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9018     break;
    9019 
    9020   case 730:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2720 "parser.yy"
    9024     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8980#line 2702 "parser.yy"
     8981    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    90258982    break;
    90268983
     
    90288985
    90298986/* Line 1806 of yacc.c  */
    9030 #line 2722 "parser.yy"
    9031     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8987#line 2726 "parser.yy"
     8988    { (yyval.en) = 0; }
    90328989    break;
    90338990
     
    90358992
    90368993/* Line 1806 of yacc.c  */
    9037 #line 2724 "parser.yy"
    9038     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9039     break;
    9040 
    9041   case 733:
    9042 
    9043 /* Line 1806 of yacc.c  */
    9044 #line 2729 "parser.yy"
    9045     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    9046     break;
    9047 
    9048   case 734:
    9049 
    9050 /* Line 1806 of yacc.c  */
    9051 #line 2734 "parser.yy"
    9052     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    9053     break;
    9054 
    9055   case 735:
    9056 
    9057 /* Line 1806 of yacc.c  */
    9058 #line 2736 "parser.yy"
    9059     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    9060     break;
    9061 
    9062   case 736:
    9063 
    9064 /* Line 1806 of yacc.c  */
    9065 #line 2738 "parser.yy"
    9066     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    9067     break;
    9068 
    9069   case 739:
    9070 
    9071 /* Line 1806 of yacc.c  */
    9072 #line 2762 "parser.yy"
    9073     { (yyval.en) = 0; }
    9074     break;
    9075 
    9076   case 740:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2764 "parser.yy"
     8994#line 2728 "parser.yy"
    90808995    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    90818996    break;
     
    90848999
    90859000/* Line 1806 of yacc.c  */
    9086 #line 9087 "Parser/parser.cc"
     9001#line 9002 "Parser/parser.cc"
    90879002      default: break;
    90889003    }
     
    93159230
    93169231/* Line 2067 of yacc.c  */
    9317 #line 2767 "parser.yy"
     9232#line 2731 "parser.yy"
    93189233
    93199234// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.