Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r51b1202 r2871210  
    8080#include "lex.h"
    8181#include "ParseNode.h"
    82 #include "TypeData.h"
    8382#include "LinkageSpec.h"
    8483
     
    9089
    9190/* Line 268 of yacc.c  */
    92 #line 93 "Parser/parser.cc"
     91#line 92 "Parser/parser.cc"
    9392
    9493/* Enabling traces.  */
     
    325324
    326325/* Line 293 of yacc.c  */
    327 #line 108 "parser.yy"
     326#line 107 "parser.yy"
    328327
    329328        Token tok;
     
    335334        StatementNode *sn;
    336335        ConstantNode *constant;
    337         LabelNode *label;
    338336        InitializerNode *in;
    339         bool flag;
    340337
    341338
    342339
    343340/* Line 293 of yacc.c  */
    344 #line 345 "Parser/parser.cc"
     341#line 342 "Parser/parser.cc"
    345342} YYSTYPE;
    346343# define YYSTYPE_IS_TRIVIAL 1
     
    354351
    355352/* Line 343 of yacc.c  */
    356 #line 357 "Parser/parser.cc"
     353#line 354 "Parser/parser.cc"
    357354
    358355#ifdef short
     
    573570#define YYFINAL  246
    574571/* YYLAST -- Last index in YYTABLE.  */
    575 #define YYLAST   11329
     572#define YYLAST   11363
    576573
    577574/* YYNTOKENS -- Number of terminals.  */
    578575#define YYNTOKENS  125
    579576/* YYNNTS -- Number of nonterminals.  */
    580 #define YYNNTS  238
     577#define YYNNTS  236
    581578/* YYNRULES -- Number of rules.  */
    582 #define YYNRULES  740
     579#define YYNRULES  732
    583580/* YYNRULES -- Number of states.  */
    584 #define YYNSTATES  1530
     581#define YYNSTATES  1505
    585582
    586583/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    639636       0,     0,     3,     4,     5,     7,     9,    11,    13,    15,
    640637      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,
     638      38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
     639      86,    89,    92,   100,   102,   106,   107,   109,   113,   121,
     640     131,   133,   137,   139,   143,   151,   155,   163,   165,   168,
    644641     171,   174,   177,   180,   183,   186,   191,   193,   198,   203,
    645642     206,   211,   214,   216,   218,   220,   222,   224,   229,   234,
     
    658655     650,   654,   657,   661,   665,   670,   672,   678,   685,   695,
    659656     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
     657     762,   763,   765,   767,   771,   776,   778,   782,   784,   786,
     658     788,   792,   794,   796,   798,   802,   803,   805,   809,   814,
     659     816,   820,   822,   824,   828,   832,   836,   840,   844,   847,
     660     851,   858,   862,   866,   871,   873,   876,   879,   883,   889,
     661     898,   906,   914,   920,   930,   933,   936,   942,   946,   952,
     662     957,   961,   966,   971,   979,   983,   987,   991,   995,  1000,
     663    1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,  1024,
     664    1026,  1028,  1031,  1033,  1035,  1037,  1039,  1041,  1043,  1045,
     665    1046,  1052,  1054,  1057,  1061,  1063,  1066,  1068,  1070,  1072,
     666    1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,
     667    1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1113,
     668    1116,  1120,  1124,  1126,  1130,  1132,  1135,  1138,  1141,  1146,
     669    1151,  1156,  1161,  1163,  1166,  1169,  1173,  1175,  1178,  1181,
     670    1183,  1186,  1189,  1193,  1195,  1198,  1201,  1203,  1205,  1210,
     671    1213,  1219,  1227,  1230,  1233,  1236,  1238,  1241,  1244,  1248,
     672    1251,  1255,  1257,  1260,  1264,  1267,  1270,  1275,  1276,  1278,
     673    1281,  1284,  1286,  1287,  1289,  1292,  1295,  1301,  1308,  1311,
     674    1314,  1319,  1320,  1323,  1324,  1326,  1328,  1330,  1336,  1342,
     675    1348,  1350,  1356,  1362,  1372,  1374,  1380,  1381,  1383,  1385,
     676    1391,  1393,  1395,  1401,  1407,  1409,  1413,  1417,  1422,  1424,
     677    1426,  1428,  1430,  1433,  1435,  1439,  1443,  1445,  1448,  1450,
     678    1454,  1456,  1458,  1460,  1462,  1464,  1466,  1468,  1470,  1472,
     679    1474,  1476,  1479,  1481,  1483,  1485,  1488,  1489,  1492,  1494,
     680    1499,  1501,  1504,  1508,  1513,  1516,  1519,  1521,  1524,  1527,
     681    1533,  1539,  1547,  1554,  1556,  1559,  1562,  1566,  1568,  1571,
     682    1574,  1579,  1582,  1587,  1588,  1593,  1596,  1598,  1600,  1602,
     683    1603,  1606,  1612,  1618,  1632,  1634,  1636,  1640,  1644,  1647,
     684    1651,  1655,  1658,  1663,  1665,  1672,  1682,  1683,  1695,  1697,
     685    1701,  1705,  1709,  1711,  1713,  1719,  1722,  1728,  1729,  1731,
     686    1733,  1737,  1738,  1740,  1742,  1744,  1746,  1747,  1754,  1757,
     687    1759,  1762,  1767,  1770,  1774,  1778,  1782,  1787,  1793,  1799,
     688    1805,  1812,  1814,  1816,  1818,  1822,  1823,  1829,  1830,  1832,
     689    1834,  1837,  1844,  1846,  1850,  1851,  1853,  1858,  1860,  1862,
     690    1864,  1866,  1869,  1871,  1874,  1877,  1879,  1883,  1886,  1890,
     691    1894,  1897,  1902,  1907,  1911,  1920,  1924,  1927,  1929,  1932,
     692    1939,  1948,  1952,  1955,  1959,  1963,  1968,  1973,  1977,  1979,
     693    1981,  1983,  1988,  1995,  1999,  2002,  2006,  2010,  2015,  2020,
     694    2024,  2027,  2029,  2032,  2035,  2037,  2041,  2044,  2048,  2052,
     695    2055,  2060,  2065,  2069,  2076,  2085,  2089,  2092,  2094,  2097,
     696    2100,  2103,  2107,  2111,  2114,  2119,  2124,  2128,  2135,  2144,
     697    2148,  2151,  2153,  2156,  2159,  2161,  2163,  2166,  2170,  2174,
     698    2177,  2182,  2189,  2198,  2200,  2203,  2206,  2208,  2211,  2214,
     699    2218,  2222,  2224,  2229,  2234,  2238,  2244,  2253,  2257,  2260,
     700    2264,  2266,  2272,  2278,  2285,  2292,  2294,  2297,  2300,  2302,
     701    2305,  2308,  2312,  2316,  2318,  2323,  2328,  2332,  2338,  2347,
     702    2351,  2353,  2356,  2358,  2361,  2368,  2374,  2381,  2389,  2397,
     703    2399,  2402,  2405,  2407,  2410,  2413,  2417,  2421,  2423,  2428,
     704    2433,  2437,  2446,  2450,  2452,  2454,  2457,  2459,  2461,  2464,
     705    2468,  2471,  2475,  2478,  2482,  2486,  2489,  2494,  2498,  2501,
     706    2505,  2508,  2513,  2517,  2520,  2527,  2534,  2541,  2549,  2551,
     707    2554,  2556,  2558,  2560,  2563,  2567,  2570,  2574,  2577,  2581,
     708    2585,  2590,  2593,  2597,  2602,  2605,  2611,  2617,  2624,  2631,
     709    2632,  2634,  2635
    714710};
    715711
     
    717713static const yytype_int16 yyrhs[] =
    718714{
    719      291,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
     715     289,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
    720716      -1,    65,    -1,    69,    -1,   132,    -1,    65,    -1,    69,
    721717      -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,
     718      75,    -1,    65,    -1,   132,    -1,   128,    -1,   133,    -1,
     719     101,   160,   102,    -1,   101,   164,   102,    -1,   134,    -1,
     720     135,   103,   126,   155,   127,   104,    -1,   135,   101,   136,
     721     102,    -1,   135,   105,   131,    -1,   135,   105,   103,   126,
     722     138,   127,   104,    -1,   135,    78,   131,    -1,   135,    78,
     723     103,   126,   138,   127,   104,    -1,   135,    79,    -1,   135,
     724      80,    -1,   101,   262,   102,   106,   266,   359,   107,    -1,
     725     137,    -1,   136,   108,   137,    -1,    -1,   155,    -1,   131,
     726     109,   155,    -1,   103,   126,   155,   127,   104,   109,   155,
     727      -1,   103,   126,   155,   108,   158,   127,   104,   109,   155,
     728      -1,   139,    -1,   138,   108,   139,    -1,   131,    -1,   131,
     729     105,   139,    -1,   131,   105,   103,   126,   138,   127,   104,
     730      -1,   131,    78,   139,    -1,   131,    78,   103,   126,   138,
     731     127,   104,    -1,   135,    -1,    79,   140,    -1,    80,   140,
    736732      -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,
     733     111,   142,    -1,    36,   140,    -1,    36,   101,   262,   102,
     734      -1,    69,    -1,    69,   101,   263,   102,    -1,    69,   101,
     735     137,   102,    -1,    59,   140,    -1,    59,   101,   262,   102,
    740736      -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,
     737     115,    -1,   140,    -1,   101,   262,   102,   142,    -1,   101,
     738     262,   102,   157,    -1,   142,    -1,   143,   111,   142,    -1,
    743739     143,   116,   142,    -1,   143,   117,   142,    -1,   143,    -1,
    744740     144,   113,   143,    -1,   144,   114,   143,    -1,   144,    -1,
     
    752748     160,   109,   153,    -1,   152,   122,   109,   153,    -1,   152,
    753749     122,   160,   109,   157,    -1,   153,    -1,   153,    -1,   140,
    754      123,   155,    -1,   140,   159,   155,    -1,   157,   362,    -1,
     750     123,   155,    -1,   140,   159,   155,    -1,   157,   360,    -1,
    755751      -1,   155,    -1,   103,   104,    -1,   103,   126,   155,   127,
    756752     104,    -1,   103,   126,   108,   158,   127,   104,    -1,   103,
     
    761757     160,    -1,   163,    -1,   164,    -1,   168,    -1,   169,    -1,
    762758     181,    -1,   183,    -1,   184,    -1,   189,    -1,   131,   109,
    763      301,   162,    -1,   106,   107,    -1,   106,   126,   126,   200,
     759     299,   162,    -1,   106,   107,    -1,   106,   126,   126,   198,
    764760     165,   127,   107,    -1,   166,    -1,   165,   126,   166,    -1,
    765      203,    -1,    38,   203,    -1,   297,    -1,   162,   127,    -1,
     761     201,    -1,    38,   201,    -1,   295,    -1,   162,   127,    -1,
    766762     162,    -1,   167,   162,    -1,   161,   124,    -1,    39,   101,
    767763     160,   102,   162,    -1,    39,   101,   160,   102,   162,    40,
    768764     162,    -1,    41,   101,   160,   102,   174,    -1,    41,   101,
    769      160,   102,   106,   126,   196,   175,   107,    -1,    51,   101,
     765     160,   102,   106,   126,   194,   175,   107,    -1,    51,   101,
    770766     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,
     767     194,   177,   107,    -1,   154,    -1,   154,    89,   154,    -1,
     768     297,    -1,   170,    -1,   171,   108,   170,    -1,    42,   171,
    773769     109,    -1,    43,   109,    -1,   172,    -1,   173,   172,    -1,
    774770     173,   162,    -1,    -1,   176,    -1,   173,   167,    -1,   176,
     
    778774      45,   101,   160,   102,   162,    -1,    44,   162,    45,   101,
    779775     160,   102,   124,    -1,    46,   101,   126,   182,   102,   162,
    780       -1,   161,   127,   124,   161,   124,   161,    -1,   203,   161,
     776      -1,   161,   127,   124,   161,   124,   161,    -1,   201,   161,
    781777     124,   161,    -1,    49,   131,   124,    -1,    49,   111,   160,
    782778     124,    -1,    48,   124,    -1,    48,   131,   124,    -1,    47,
     
    787783     101,    89,   102,   164,    -1,    54,   101,   126,   126,   188,
    788784     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
     785     188,   127,   102,   164,   127,    -1,    55,   164,    -1,   214,
     786      -1,   214,   296,    -1,   214,   344,    -1,   353,   131,    -1,
     787     353,    -1,    57,   215,   101,   154,   102,   124,    -1,    57,
     788     215,   101,   154,   109,   190,   102,   124,    -1,    57,   215,
     789     101,   154,   109,   190,   109,   190,   102,   124,    -1,    57,
     790     215,   101,   154,   109,   190,   109,   190,   109,   193,   102,
     791     124,    -1,    -1,   191,    -1,   192,    -1,   191,   108,   192,
     792      -1,    75,   101,   154,   102,    -1,    75,    -1,   193,   108,
     793      75,    -1,   127,    -1,   195,    -1,   201,    -1,   195,   126,
     794     201,    -1,   127,    -1,   197,    -1,   211,    -1,   197,   126,
     795     211,    -1,    -1,   199,    -1,    28,   200,   124,    -1,   199,
     796      28,   200,   124,    -1,   261,    -1,   200,   108,   261,    -1,
     797     202,    -1,   211,    -1,   203,   127,   124,    -1,   208,   127,
     798     124,    -1,   205,   127,   124,    -1,   280,   127,   124,    -1,
     799     283,   127,   124,    -1,   204,   264,    -1,   220,   204,   264,
     800      -1,   203,   127,   108,   126,   259,   264,    -1,   354,   259,
     801     298,    -1,   357,   259,   298,    -1,   216,   357,   259,   298,
     802      -1,   206,    -1,   216,   206,    -1,   220,   206,    -1,   220,
     803     216,   206,    -1,   205,   127,   108,   126,   259,    -1,   103,
     804     104,   259,   101,   126,   247,   127,   102,    -1,   357,   259,
     805     101,   126,   247,   127,   102,    -1,   207,   259,   101,   126,
     806     247,   127,   102,    -1,   103,   126,   249,   127,   104,    -1,
     807     103,   126,   249,   127,   108,   126,   250,   127,   104,    -1,
     808       3,   204,    -1,     3,   206,    -1,   208,   127,   108,   126,
     809     131,    -1,     3,   214,   296,    -1,   209,   127,   108,   126,
     810     296,    -1,   216,     3,   214,   296,    -1,   214,     3,   296,
     811      -1,   214,     3,   216,   296,    -1,     3,   131,   123,   155,
     812      -1,   210,   127,   108,   126,   131,   123,   155,    -1,   212,
     813     127,   124,    -1,   209,   127,   124,    -1,   210,   127,   124,
     814      -1,   229,   127,   124,    -1,   213,   296,   298,   264,    -1,
     815     212,   108,   299,   296,   298,   264,    -1,   225,    -1,   229,
     816      -1,   231,    -1,   270,    -1,   226,    -1,   230,    -1,   232,
     817      -1,   271,    -1,    -1,   216,    -1,   217,    -1,   216,   217,
     818      -1,   218,    -1,   301,    -1,    10,    -1,    12,    -1,    11,
     819      -1,    14,    -1,    60,    -1,    -1,    13,   101,   219,   273,
     820     102,    -1,   221,    -1,   216,   221,    -1,   220,   216,   221,
     821      -1,   222,    -1,   221,   222,    -1,   223,    -1,     5,    -1,
     822       7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,
     823      62,    -1,    64,    -1,    16,    -1,    21,    -1,    20,    -1,
     824      18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,
     825      15,    -1,    24,    -1,    25,    -1,    26,    -1,   226,    -1,
     826     220,   226,    -1,   225,   222,    -1,   225,   222,   216,    -1,
     827     225,   222,   226,    -1,   227,    -1,   215,   228,   215,    -1,
     828     224,    -1,   216,   224,    -1,   227,   217,    -1,   227,   224,
     829      -1,    27,   101,   263,   102,    -1,    27,   101,   160,   102,
     830      -1,    71,   101,   263,   102,    -1,    71,   101,   160,   102,
     831      -1,   230,    -1,   220,   230,    -1,   229,   222,    -1,   229,
     832     222,   216,    -1,   233,    -1,   216,   233,    -1,   230,   217,
     833      -1,   232,    -1,   220,   232,    -1,   231,   222,    -1,   231,
     834     222,   216,    -1,    67,    -1,   216,    67,    -1,   232,   217,
     835      -1,   234,    -1,   244,    -1,   235,   106,   236,   107,    -1,
     836     235,   261,    -1,   235,   261,   106,   236,   107,    -1,   235,
     837     101,   279,   102,   106,   236,   107,    -1,   235,   272,    -1,
     838      30,   299,    -1,    31,   299,    -1,   237,    -1,   236,   237,
     839      -1,   238,   124,    -1,    38,   238,   124,    -1,   239,   124,
     840      -1,    38,   239,   124,    -1,   353,    -1,   353,   261,    -1,
     841     238,   108,   261,    -1,   238,   108,    -1,   214,   240,    -1,
     842     239,   108,   299,   240,    -1,    -1,   242,    -1,   305,   241,
     843      -1,   318,   241,    -1,   344,    -1,    -1,   242,    -1,   109,
     844     154,    -1,    29,   299,    -1,   243,   106,   245,   359,   107,
     845      -1,   243,   261,   106,   245,   359,   107,    -1,   243,   261,
     846      -1,   261,   246,    -1,   245,   108,   261,   246,    -1,    -1,
     847     123,   154,    -1,    -1,   248,    -1,   250,    -1,   249,    -1,
     848     249,   127,   108,   126,   250,    -1,   250,   127,   108,   126,
     849      89,    -1,   249,   127,   108,   126,    89,    -1,   254,    -1,
     850     250,   127,   108,   126,   254,    -1,   249,   127,   108,   126,
     851     254,    -1,   249,   127,   108,   126,   250,   127,   108,   126,
     852     254,    -1,   255,    -1,   250,   127,   108,   126,   255,    -1,
     853      -1,   252,    -1,   253,    -1,   253,   127,   108,   126,    89,
     854      -1,   257,    -1,   256,    -1,   253,   127,   108,   126,   257,
     855      -1,   253,   127,   108,   126,   256,    -1,   256,    -1,   349,
     856     259,   360,    -1,   357,   259,   360,    -1,   216,   357,   259,
     857     360,    -1,   206,    -1,   257,    -1,   349,    -1,   357,    -1,
     858     216,   357,    -1,   358,    -1,   213,   323,   360,    -1,   213,
     859     327,   360,    -1,   213,    -1,   213,   338,    -1,   131,    -1,
     860     258,   108,   131,    -1,   129,    -1,    67,    -1,    68,    -1,
     861     130,    -1,    67,    -1,    68,    -1,   131,    -1,    67,    -1,
     862      68,    -1,   353,    -1,   214,    -1,   214,   344,    -1,   353,
     863      -1,   358,    -1,   214,    -1,   214,   332,    -1,    -1,   123,
     864     265,    -1,   155,    -1,   106,   266,   359,   107,    -1,   265,
     865      -1,   267,   265,    -1,   266,   108,   265,    -1,   266,   108,
     866     267,   265,    -1,   268,   109,    -1,   261,   109,    -1,   269,
     867      -1,   268,   269,    -1,   105,   261,    -1,   103,   126,   155,
     868     127,   104,    -1,   103,   126,   297,   127,   104,    -1,   103,
     869     126,   154,    89,   154,   127,   104,    -1,   105,   103,   126,
     870     138,   127,   104,    -1,   271,    -1,   220,   271,    -1,   270,
     871     222,    -1,   270,   222,   216,    -1,   272,    -1,   216,   272,
     872      -1,   271,   217,    -1,    68,   101,   279,   102,    -1,   274,
     873     360,    -1,   273,   108,   274,   360,    -1,    -1,   276,   261,
     874     275,   277,    -1,   214,   323,    -1,    32,    -1,    34,    -1,
     875      33,    -1,    -1,   277,   278,    -1,   121,   261,   101,   279,
     876     102,    -1,   121,   106,   126,   285,   107,    -1,   121,   101,
     877     126,   273,   127,   102,   106,   126,   285,   107,   101,   279,
     878     102,    -1,   263,    -1,   155,    -1,   279,   108,   263,    -1,
     879     279,   108,   155,    -1,    32,   281,    -1,   221,    32,   281,
     880      -1,   280,   108,   281,    -1,   282,   277,    -1,   282,   277,
     881     123,   263,    -1,   261,    -1,   260,   101,   126,   273,   127,
     882     102,    -1,    35,   261,   101,   126,   273,   127,   102,   106,
     883     107,    -1,    -1,    35,   261,   101,   126,   273,   127,   102,
     884     106,   284,   285,   107,    -1,   286,    -1,   285,   126,   286,
     885      -1,   287,   127,   124,    -1,   288,   127,   124,    -1,   204,
     886      -1,   206,    -1,   287,   127,   108,   126,   259,    -1,   214,
     887     296,    -1,   288,   127,   108,   126,   296,    -1,    -1,   290,
     888      -1,   292,    -1,   290,   126,   292,    -1,    -1,   290,    -1,
     889     201,    -1,   294,    -1,   189,    -1,    -1,     5,    75,   293,
     890     106,   291,   107,    -1,    38,   292,    -1,   295,    -1,   310,
     891     164,    -1,   314,   126,   196,   164,    -1,   205,   164,    -1,
     892     213,   310,   164,    -1,   216,   310,   164,    -1,   220,   310,
     893     164,    -1,   220,   216,   310,   164,    -1,   213,   314,   126,
     894     196,   164,    -1,   216,   314,   126,   196,   164,    -1,   220,
     895     314,   126,   196,   164,    -1,   220,   216,   314,   126,   196,
     896     164,    -1,   305,    -1,   310,    -1,   318,    -1,   154,   115,
     897     154,    -1,    -1,    57,   101,   133,   102,   299,    -1,    -1,
     898     300,    -1,   301,    -1,   300,   301,    -1,    37,   101,   101,
     899     302,   102,   102,    -1,   303,    -1,   302,   108,   303,    -1,
     900      -1,   304,    -1,   304,   101,   161,   102,    -1,   259,    -1,
     901     223,    -1,   224,    -1,   217,    -1,   306,   299,    -1,   307,
     902      -1,   308,   299,    -1,   309,   299,    -1,   129,    -1,   101,
     903     306,   102,    -1,   111,   305,    -1,   111,   216,   305,    -1,
     904     101,   307,   102,    -1,   306,   336,    -1,   101,   307,   102,
     905     336,    -1,   101,   308,   102,   337,    -1,   101,   308,   102,
     906      -1,   101,   307,   102,   101,   126,   251,   127,   102,    -1,
     907     101,   309,   102,    -1,   311,   299,    -1,   312,    -1,   313,
     908     299,    -1,   306,   101,   126,   251,   127,   102,    -1,   101,
     909     312,   102,   101,   126,   251,   127,   102,    -1,   101,   311,
     910     102,    -1,   111,   310,    -1,   111,   216,   310,    -1,   101,
     911     312,   102,    -1,   101,   312,   102,   336,    -1,   101,   313,
     912     102,   337,    -1,   101,   313,   102,    -1,   315,    -1,   316,
     913      -1,   317,    -1,   306,   101,   258,   102,    -1,   101,   316,
     914     102,   101,   258,   102,    -1,   101,   315,   102,    -1,   111,
     915     314,    -1,   111,   216,   314,    -1,   101,   316,   102,    -1,
     916     101,   316,   102,   336,    -1,   101,   317,   102,   337,    -1,
     917     101,   317,   102,    -1,   319,   299,    -1,   320,    -1,   321,
     918     299,    -1,   322,   299,    -1,   328,    -1,   101,   319,   102,
     919      -1,   111,   318,    -1,   111,   216,   318,    -1,   101,   320,
     920     102,    -1,   319,   336,    -1,   101,   320,   102,   336,    -1,
     921     101,   321,   102,   337,    -1,   101,   321,   102,    -1,   319,
     922     101,   126,   251,   127,   102,    -1,   101,   320,   102,   101,
     923     126,   251,   127,   102,    -1,   101,   322,   102,    -1,   306,
     924     299,    -1,   324,    -1,   325,   299,    -1,   326,   299,    -1,
     925     111,   323,    -1,   111,   216,   323,    -1,   101,   324,   102,
     926      -1,   306,   342,    -1,   101,   324,   102,   336,    -1,   101,
     927     325,   102,   337,    -1,   101,   325,   102,    -1,   306,   101,
     928     126,   251,   127,   102,    -1,   101,   324,   102,   101,   126,
     929     251,   127,   102,    -1,   101,   326,   102,    -1,   328,   299,
     930      -1,   329,    -1,   330,   299,    -1,   331,   299,    -1,    67,
     931      -1,    68,    -1,   111,   327,    -1,   111,   216,   327,    -1,
     932     101,   329,   102,    -1,   328,   342,    -1,   101,   329,   102,
     933     342,    -1,   328,   101,   126,   251,   127,   102,    -1,   101,
     934     329,   102,   101,   126,   251,   127,   102,    -1,   333,    -1,
     935     334,   299,    -1,   335,   299,    -1,   111,    -1,   111,   216,
     936      -1,   111,   332,    -1,   111,   216,   332,    -1,   101,   333,
     937     102,    -1,   336,    -1,   101,   333,   102,   336,    -1,   101,
     938     334,   102,   337,    -1,   101,   334,   102,    -1,   101,   126,
     939     251,   127,   102,    -1,   101,   333,   102,   101,   126,   251,
     940     127,   102,    -1,   101,   335,   102,    -1,   103,   104,    -1,
     941     103,   104,   337,    -1,   337,    -1,   103,   126,   155,   127,
     942     104,    -1,   103,   126,   111,   127,   104,    -1,   337,   103,
     943     126,   155,   127,   104,    -1,   337,   103,   126,   111,   127,
     944     104,    -1,   339,    -1,   340,   299,    -1,   341,   299,    -1,
     945     111,    -1,   111,   216,    -1,   111,   338,    -1,   111,   216,
     946     338,    -1,   101,   339,   102,    -1,   342,    -1,   101,   339,
     947     102,   342,    -1,   101,   340,   102,   337,    -1,   101,   340,
     948     102,    -1,   101,   126,   251,   127,   102,    -1,   101,   339,
     949     102,   101,   126,   251,   127,   102,    -1,   101,   341,   102,
     950      -1,   343,    -1,   343,   337,    -1,   337,    -1,   103,   104,
     951      -1,   103,   126,   216,   111,   127,   104,    -1,   103,   126,
     952     216,   127,   104,    -1,   103,   126,   216,   155,   127,   104,
     953      -1,   103,   126,     7,   215,   155,   127,   104,    -1,   103,
     954     126,   216,     7,   155,   127,   104,    -1,   345,    -1,   346,
     955     299,    -1,   347,   299,    -1,   111,    -1,   111,   216,    -1,
     956     111,   344,    -1,   111,   216,   344,    -1,   101,   345,   102,
     957      -1,   336,    -1,   101,   345,   102,   336,    -1,   101,   346,
     958     102,   337,    -1,   101,   346,   102,    -1,   101,   345,   102,
     959     101,   126,   251,   127,   102,    -1,   101,   347,   102,    -1,
     960     349,    -1,   357,    -1,   216,   357,    -1,   350,    -1,   351,
     961      -1,   111,   214,    -1,   216,   111,   214,    -1,   111,   358,
     962      -1,   216,   111,   358,    -1,   111,   348,    -1,   216,   111,
     963     348,    -1,   103,   104,   214,    -1,   352,   214,    -1,   103,
     964     104,   337,   214,    -1,   352,   337,   214,    -1,   337,   214,
     965      -1,   103,   104,   350,    -1,   352,   350,    -1,   103,   104,
     966     337,   350,    -1,   352,   337,   350,    -1,   337,   350,    -1,
     967     103,   126,   216,   111,   127,   104,    -1,   103,   126,   216,
     968     155,   127,   104,    -1,   103,   126,   220,   155,   127,   104,
     969      -1,   103,   126,   220,   216,   155,   127,   104,    -1,   357,
     970      -1,   216,   357,    -1,   354,    -1,   355,    -1,   356,    -1,
     971     111,   214,    -1,   216,   111,   214,    -1,   111,   358,    -1,
     972     216,   111,   358,    -1,   111,   353,    -1,   216,   111,   353,
     973      -1,   103,   104,   214,    -1,   103,   104,   337,   214,    -1,
     974     337,   214,    -1,   103,   104,   355,    -1,   103,   104,   337,
     975     355,    -1,   337,   355,    -1,   103,   126,   250,   127,   104,
     976      -1,   103,   104,   101,   247,   102,    -1,   357,   101,   126,
     977     247,   127,   102,    -1,   207,   101,   126,   247,   127,   102,
     978      -1,    -1,   108,    -1,    -1,   123,   155,    -1
    987979};
    988980
     
    990982static const yytype_uint16 yyrline[] =
    991983{
    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
     984       0,   279,   279,   285,   294,   295,   296,   300,   301,   302,
     985     306,   307,   311,   315,   316,   320,   321,   327,   329,   331,
     986     333,   335,   337,   342,   343,   349,   351,   353,   354,   356,
     987     357,   359,   362,   367,   368,   374,   375,   376,   381,   383,
     988     388,   389,   393,   395,   397,   399,   401,   406,   407,   409,
     989     411,   413,   415,   417,   423,   425,   427,   429,   431,   433,
     990     435,   437,   442,   443,   444,   445,   449,   450,   452,   457,
     991     458,   460,   462,   467,   468,   470,   475,   476,   478,   483,
     992     484,   486,   488,   490,   495,   496,   498,   503,   504,   509,
     993     510,   515,   516,   521,   522,   527,   528,   533,   534,   536,
     994     538,   543,   548,   549,   551,   553,   559,   560,   566,   568,
     995     570,   572,   577,   578,   583,   584,   585,   586,   587,   588,
     996     589,   590,   591,   592,   596,   597,   603,   604,   610,   611,
     997     612,   613,   614,   615,   616,   617,   621,   626,   628,   638,
     998     639,   644,   646,   648,   650,   654,   655,   660,   665,   668,
     999     670,   672,   677,   679,   687,   688,   690,   694,   695,   700,
     1000     701,   706,   707,   711,   716,   717,   721,   723,   729,   730,
     1001     734,   736,   738,   740,   746,   747,   751,   752,   756,   758,
     1002     760,   765,   767,   772,   774,   778,   781,   785,   788,   792,
     1003     794,   796,   801,   803,   805,   814,   816,   818,   823,   825,
     1004     830,   843,   844,   849,   851,   856,   860,   862,   864,   866,
     1005     870,   872,   876,   877,   881,   885,   886,   892,   894,   898,
     1006     899,   904,   906,   910,   911,   915,   917,   921,   922,   926,
     1007     927,   931,   932,   947,   948,   949,   950,   951,   955,   960,
     1008     967,   977,   982,   987,   995,  1000,  1005,  1010,  1015,  1023,
     1009    1045,  1050,  1057,  1059,  1066,  1071,  1076,  1087,  1092,  1097,
     1010    1102,  1107,  1116,  1121,  1129,  1130,  1131,  1132,  1138,  1143,
     1011    1151,  1152,  1153,  1154,  1158,  1159,  1160,  1161,  1166,  1167,
     1012    1176,  1177,  1182,  1183,  1188,  1190,  1192,  1194,  1196,  1199,
     1013    1198,  1210,  1211,  1213,  1223,  1224,  1229,  1233,  1235,  1237,
     1014    1239,  1241,  1243,  1245,  1247,  1252,  1254,  1256,  1258,  1260,
     1015    1262,  1264,  1266,  1268,  1270,  1272,  1274,  1280,  1281,  1283,
     1016    1285,  1287,  1292,  1293,  1299,  1300,  1302,  1304,  1309,  1311,
     1017    1313,  1315,  1320,  1321,  1323,  1325,  1330,  1331,  1333,  1338,
     1018    1339,  1341,  1343,  1348,  1350,  1352,  1357,  1358,  1362,  1364,
     1019    1366,  1368,  1370,  1375,  1377,  1382,  1384,  1389,  1390,  1392,
     1020    1393,  1398,  1399,  1401,  1403,  1408,  1410,  1416,  1417,  1419,
     1021    1422,  1425,  1430,  1431,  1436,  1441,  1445,  1447,  1449,  1454,
     1022    1456,  1462,  1463,  1471,  1472,  1476,  1477,  1478,  1480,  1482,
     1023    1489,  1490,  1492,  1494,  1499,  1500,  1506,  1507,  1511,  1512,
     1024    1517,  1518,  1519,  1521,  1529,  1530,  1532,  1535,  1537,  1541,
     1025    1542,  1543,  1545,  1547,  1551,  1556,  1564,  1565,  1574,  1576,
     1026    1581,  1582,  1583,  1587,  1588,  1589,  1593,  1594,  1595,  1599,
     1027    1600,  1601,  1606,  1607,  1608,  1609,  1615,  1616,  1621,  1622,
     1028    1626,  1627,  1628,  1629,  1644,  1645,  1650,  1651,  1657,  1659,
     1029    1662,  1664,  1666,  1689,  1690,  1692,  1694,  1699,  1700,  1702,
     1030    1707,  1712,  1713,  1719,  1718,  1722,  1726,  1728,  1730,  1736,
     1031    1737,  1742,  1747,  1749,  1754,  1756,  1757,  1759,  1764,  1766,
     1032    1768,  1773,  1775,  1780,  1785,  1793,  1799,  1798,  1812,  1813,
     1033    1818,  1819,  1823,  1828,  1833,  1841,  1846,  1857,  1858,  1869,
     1034    1870,  1876,  1877,  1881,  1882,  1883,  1886,  1885,  1896,  1901,
     1035    1906,  1912,  1921,  1927,  1933,  1939,  1945,  1953,  1959,  1967,
     1036    1973,  1982,  1983,  1984,  1988,  1992,  1994,  1997,  1999,  2003,
     1037    2004,  2008,  2012,  2013,  2016,  2018,  2019,  2023,  2024,  2025,
     1038    2026,  2060,  2061,  2062,  2063,  2067,  2072,  2077,  2079,  2081,
     1039    2086,  2088,  2090,  2092,  2097,  2099,  2109,  2110,  2111,  2115,
     1040    2117,  2119,  2124,  2126,  2128,  2133,  2135,  2137,  2146,  2147,
     1041    2148,  2152,  2154,  2156,  2161,  2163,  2165,  2170,  2172,  2174,
     1042    2189,  2190,  2191,  2192,  2196,  2197,  2202,  2204,  2206,  2211,
     1043    2213,  2215,  2217,  2222,  2224,  2226,  2236,  2237,  2238,  2239,
     1044    2243,  2245,  2247,  2252,  2254,  2256,  2258,  2263,  2265,  2267,
     1045    2298,  2299,  2300,  2301,  2305,  2310,  2318,  2320,  2322,  2327,
     1046    2329,  2334,  2336,  2350,  2351,  2352,  2356,  2358,  2360,  2362,
     1047    2364,  2369,  2370,  2372,  2374,  2379,  2381,  2383,  2389,  2391,
     1048    2393,  2397,  2399,  2401,  2403,  2417,  2418,  2419,  2423,  2425,
     1049    2427,  2429,  2431,  2436,  2437,  2439,  2441,  2446,  2448,  2450,
     1050    2456,  2457,  2459,  2468,  2471,  2473,  2476,  2478,  2480,  2493,
     1051    2494,  2495,  2499,  2501,  2503,  2505,  2507,  2512,  2513,  2515,
     1052    2517,  2522,  2524,  2532,  2533,  2534,  2539,  2540,  2544,  2546,
     1053    2548,  2550,  2552,  2554,  2561,  2563,  2565,  2567,  2569,  2571,
     1054    2573,  2575,  2577,  2579,  2584,  2586,  2588,  2593,  2619,  2620,
     1055    2622,  2626,  2627,  2631,  2633,  2635,  2637,  2639,  2641,  2648,
     1056    2650,  2652,  2654,  2656,  2658,  2663,  2668,  2670,  2672,  2690,
     1057    2692,  2697,  2698
    10671058};
    10681059#endif
     
    11121103  "exception_statement", "handler_list", "handler_clause",
    11131104  "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",
     1105  "asm_operands_opt", "asm_operands_list", "asm_operand",
     1106  "asm_clobbers_list", "declaration_list_opt", "declaration_list",
     1107  "old_declaration_list_opt", "old_declaration_list",
     1108  "label_declaration_opt", "label_declaration_list", "label_list",
     1109  "declaration", "new_declaration", "new_variable_declaration",
     1110  "new_variable_specifier", "new_function_declaration",
     1111  "new_function_specifier", "new_function_return",
     1112  "new_typedef_declaration", "typedef_declaration", "typedef_expression",
     1113  "old_declaration", "declaring_list", "declaration_specifier",
     1114  "type_specifier", "type_qualifier_list_opt", "type_qualifier_list",
     1115  "type_qualifier", "type_qualifier_name", "$@1",
    11251116  "declaration_qualifier_list", "storage_class_list", "storage_class",
    11261117  "storage_class_name", "basic_type_name", "basic_declaration_specifier",
     
    12061197       0,   125,   126,   127,   128,   128,   128,   129,   129,   129,
    12071198     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,
     1199     134,   134,   134,   135,   135,   135,   135,   135,   135,   135,
     1200     135,   135,   135,   136,   136,   137,   137,   137,   137,   137,
     1201     138,   138,   139,   139,   139,   139,   139,   140,   140,   140,
    12111202     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
    12121203     140,   140,   141,   141,   141,   141,   142,   142,   142,   143,
     
    12251216     183,   183,   184,   184,   184,   185,   185,   185,   186,   186,
    12261217     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
     1218     190,   190,   191,   191,   192,   193,   193,   194,   194,   195,
     1219     195,   196,   196,   197,   197,   198,   198,   199,   199,   200,
     1220     200,   201,   201,   202,   202,   202,   202,   202,   203,   203,
     1221     203,   204,   204,   204,   205,   205,   205,   205,   205,   206,
     1222     206,   206,   207,   207,   208,   208,   208,   209,   209,   209,
     1223     209,   209,   210,   210,   211,   211,   211,   211,   212,   212,
     1224     213,   213,   213,   213,   214,   214,   214,   214,   215,   215,
     1225     216,   216,   217,   217,   218,   218,   218,   218,   218,   219,
     1226     218,   220,   220,   220,   221,   221,   222,   223,   223,   223,
     1227     223,   223,   223,   223,   223,   224,   224,   224,   224,   224,
     1228     224,   224,   224,   224,   224,   224,   224,   225,   225,   225,
     1229     225,   225,   226,   226,   227,   227,   227,   227,   228,   228,
     1230     228,   228,   229,   229,   229,   229,   230,   230,   230,   231,
     1231     231,   231,   231,   232,   232,   232,   233,   233,   234,   234,
     1232     234,   234,   234,   235,   235,   236,   236,   237,   237,   237,
     1233     237,   238,   238,   238,   238,   239,   239,   240,   240,   240,
     1234     240,   240,   241,   241,   242,   243,   244,   244,   244,   245,
     1235     245,   246,   246,   247,   247,   248,   248,   248,   248,   248,
     1236     249,   249,   249,   249,   250,   250,   251,   251,   252,   252,
     1237     253,   253,   253,   253,   254,   254,   254,   254,   254,   255,
     1238     255,   255,   255,   255,   256,   256,   257,   257,   258,   258,
     1239     259,   259,   259,   260,   260,   260,   261,   261,   261,   262,
     1240     262,   262,   263,   263,   263,   263,   264,   264,   265,   265,
     1241     266,   266,   266,   266,   267,   267,   268,   268,   269,   269,
     1242     269,   269,   269,   270,   270,   270,   270,   271,   271,   271,
     1243     272,   273,   273,   275,   274,   274,   276,   276,   276,   277,
     1244     277,   278,   278,   278,   279,   279,   279,   279,   280,   280,
     1245     280,   281,   281,   282,   282,   283,   284,   283,   285,   285,
     1246     286,   286,   287,   287,   287,   288,   288,   289,   289,   290,
     1247     290,   291,   291,   292,   292,   292,   293,   292,   292,   294,
     1248     294,   294,   295,   295,   295,   295,   295,   295,   295,   295,
     1249     295,   296,   296,   296,   297,   298,   298,   299,   299,   300,
     1250     300,   301,   302,   302,   303,   303,   303,   304,   304,   304,
     1251     304,   305,   305,   305,   305,   306,   306,   307,   307,   307,
     1252     308,   308,   308,   308,   309,   309,   310,   310,   310,   311,
     1253     311,   311,   312,   312,   312,   313,   313,   313,   314,   314,
     1254     314,   315,   315,   315,   316,   316,   316,   317,   317,   317,
     1255     318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
     1256     321,   321,   321,   322,   322,   322,   323,   323,   323,   323,
     1257     324,   324,   324,   325,   325,   325,   325,   326,   326,   326,
     1258     327,   327,   327,   327,   328,   328,   329,   329,   329,   330,
     1259     330,   331,   331,   332,   332,   332,   333,   333,   333,   333,
     1260     333,   334,   334,   334,   334,   335,   335,   335,   336,   336,
     1261     336,   337,   337,   337,   337,   338,   338,   338,   339,   339,
     1262     339,   339,   339,   340,   340,   340,   340,   341,   341,   341,
     1263     342,   342,   342,   343,   343,   343,   343,   343,   343,   344,
     1264     344,   344,   345,   345,   345,   345,   345,   346,   346,   346,
     1265     346,   347,   347,   348,   348,   348,   349,   349,   350,   350,
     1266     350,   350,   350,   350,   351,   351,   351,   351,   351,   351,
     1267     351,   351,   351,   351,   352,   352,   352,   352,   353,   353,
     1268     353,   354,   354,   355,   355,   355,   355,   355,   355,   356,
     1269     356,   356,   356,   356,   356,   357,   358,   358,   358,   359,
     1270     359,   360,   360
    12811271};
    12821272
     
    12851275{
    12861276       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,
     1277       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
     1278       1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
     1279       2,     2,     7,     1,     3,     0,     1,     3,     7,     9,
     1280       1,     3,     1,     3,     7,     3,     7,     1,     2,     2,
    12911281       2,     2,     2,     2,     2,     4,     1,     4,     4,     2,
    12921282       4,     2,     1,     1,     1,     1,     1,     4,     4,     1,
     
    13051295       3,     2,     3,     3,     4,     1,     5,     6,     9,    10,
    13061296       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,
     1297       0,     1,     1,     3,     4,     1,     3,     1,     1,     1,
     1298       3,     1,     1,     1,     3,     0,     1,     3,     4,     1,
     1299       3,     1,     1,     3,     3,     3,     3,     3,     2,     3,
     1300       6,     3,     3,     4,     1,     2,     2,     3,     5,     8,
     1301       7,     7,     5,     9,     2,     2,     5,     3,     5,     4,
     1302       3,     4,     4,     7,     3,     3,     3,     3,     4,     6,
     1303       1,     1,     1,     1,     1,     1,     1,     1,     0,     1,
     1304       1,     2,     1,     1,     1,     1,     1,     1,     1,     0,
     1305       5,     1,     2,     3,     1,     2,     1,     1,     1,     1,
    13171306       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
     1307       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
     1308       3,     3,     1,     3,     1,     2,     2,     2,     4,     4,
     1309       4,     4,     1,     2,     2,     3,     1,     2,     2,     1,
     1310       2,     2,     3,     1,     2,     2,     1,     1,     4,     2,
     1311       5,     7,     2,     2,     2,     1,     2,     2,     3,     2,
     1312       3,     1,     2,     3,     2,     2,     4,     0,     1,     2,
     1313       2,     1,     0,     1,     2,     2,     5,     6,     2,     2,
     1314       4,     0,     2,     0,     1,     1,     1,     5,     5,     5,
     1315       1,     5,     5,     9,     1,     5,     0,     1,     1,     5,
     1316       1,     1,     5,     5,     1,     3,     3,     4,     1,     1,
     1317       1,     1,     2,     1,     3,     3,     1,     2,     1,     3,
     1318       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1319       1,     2,     1,     1,     1,     2,     0,     2,     1,     4,
     1320       1,     2,     3,     4,     2,     2,     1,     2,     2,     5,
     1321       5,     7,     6,     1,     2,     2,     3,     1,     2,     2,
     1322       4,     2,     4,     0,     4,     2,     1,     1,     1,     0,
     1323       2,     5,     5,    13,     1,     1,     3,     3,     2,     3,
     1324       3,     2,     4,     1,     6,     9,     0,    11,     1,     3,
     1325       3,     3,     1,     1,     5,     2,     5,     0,     1,     1,
     1326       3,     0,     1,     1,     1,     1,     0,     6,     2,     1,
     1327       2,     4,     2,     3,     3,     3,     4,     5,     5,     5,
     1328       6,     1,     1,     1,     3,     0,     5,     0,     1,     1,
     1329       2,     6,     1,     3,     0,     1,     4,     1,     1,     1,
     1330       1,     2,     1,     2,     2,     1,     3,     2,     3,     3,
     1331       2,     4,     4,     3,     8,     3,     2,     1,     2,     6,
     1332       8,     3,     2,     3,     3,     4,     4,     3,     1,     1,
     1333       1,     4,     6,     3,     2,     3,     3,     4,     4,     3,
     1334       2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
     1335       4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
     1336       2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
     1337       2,     1,     2,     2,     1,     1,     2,     3,     3,     2,
     1338       4,     6,     8,     1,     2,     2,     1,     2,     2,     3,
     1339       3,     1,     4,     4,     3,     5,     8,     3,     2,     3,
     1340       1,     5,     5,     6,     6,     1,     2,     2,     1,     2,
     1341       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1342       1,     2,     1,     2,     6,     5,     6,     7,     7,     1,
     1343       2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
     1344       3,     8,     3,     1,     1,     2,     1,     1,     2,     3,
     1345       2,     3,     2,     3,     3,     2,     4,     3,     2,     3,
     1346       2,     4,     3,     2,     6,     6,     6,     7,     1,     2,
     1347       1,     1,     1,     2,     3,     2,     3,     2,     3,     3,
     1348       4,     2,     3,     4,     2,     5,     5,     6,     6,     0,
     1349       1,     0,     2
    13611350};
    13621351
     
    13661355static const yytype_uint16 yydefact[] =
    13671356{
    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,
     1357     278,   278,   299,   297,   300,   298,   301,   302,   284,   286,
     1358     285,     0,   287,   313,   305,   310,   308,   309,   307,   306,
     1359     311,   312,   314,   315,   316,   527,   527,   527,     0,     0,
     1360       0,   278,   278,   288,   303,   304,     7,   343,     0,     8,
     1361      13,    14,     0,     2,   278,   545,     9,   505,   503,   231,
     1362       3,   436,     3,   244,     0,     3,     3,     3,   232,     3,
     1363       0,     0,     0,   279,   280,   282,   278,   291,   294,   296,
     1364     324,   270,   317,   322,   271,   332,   272,   339,   336,   346,
     1365       0,     0,   347,   273,   453,   457,     3,     3,     0,     2,
     1366     499,   504,   509,   283,     0,     0,   527,   557,   527,     2,
     1367     568,   569,   570,   278,     0,   711,   712,     0,    12,   278,
     1368       0,   254,   255,     0,   279,   274,   275,   276,   277,   506,
     1369     289,   375,   528,   529,   353,   354,    12,   427,   428,    11,
     1370     423,   426,     0,   483,   478,   469,   427,   428,     0,     0,
     1371     508,     0,   279,   278,     0,     0,     0,     0,     0,     0,
     1372       0,     0,   278,   278,     2,     0,   713,   279,   562,   574,
     1373     717,   710,   708,   715,     0,     0,   238,     2,     0,   512,
     1374     421,   422,   420,     0,     0,     0,     0,   527,     0,   614,
     1375     615,     0,     0,   525,   521,   527,   542,   527,   527,   522,
     1376       2,   523,   527,   581,   527,   527,   584,     0,     0,     0,
     1377     278,   278,   297,   344,     2,   278,   245,   281,   292,   325,
     1378     337,   458,     0,     2,     0,   436,   246,   279,   318,   333,
     1379     340,   454,     0,     2,     0,   295,   319,   326,   327,     0,
     1380     334,   338,   341,   345,   428,   278,   278,   349,   352,     0,
     1381     378,   455,   459,     0,     0,     0,     1,   278,     2,   510,
     1382     556,   558,   278,     2,   721,   279,   724,   525,   525,   279,
     1383       0,     0,     0,   257,   527,   522,     2,   278,     0,     0,
     1384     278,   530,     2,   481,     2,   534,     0,     0,     0,     0,
     1385      17,    56,     4,     5,     6,    15,     0,     0,     0,   278,
     1386       2,     0,   278,    62,    63,    64,    65,    19,    18,    20,
     1387      23,    47,    66,     0,    69,    73,    76,    79,    84,    87,
     1388      89,    91,    93,    95,    97,   102,   475,   731,   434,   474,
     1389       0,   432,   433,     0,   546,   561,   564,   567,   573,   576,
     1390     579,   343,     0,     2,   719,     0,   278,   722,     2,   278,
     1391       3,   408,     0,   416,   279,   278,   291,   317,   271,   332,
     1392     339,     3,     3,   390,   394,   404,   409,   453,   278,   410,
     1393     686,   687,   278,   411,   413,   278,     2,   563,   575,   709,
     1394       2,     2,   233,     2,     0,     0,   438,   437,   137,     2,
     1395       2,   235,     2,     2,   234,     2,   265,     2,   266,     0,
     1396     264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1397     547,   586,     0,   436,     2,   541,   550,   640,   543,   544,
     1398     513,   278,     2,   580,   589,   582,   583,     0,   260,   278,
     1399     278,   323,     0,   279,     0,   278,   714,   718,   716,   514,
     1400     278,   525,   239,   247,   293,     0,     2,   515,   278,   479,
     1401     320,   321,   267,   335,   342,     0,   278,     2,   367,   278,
     1402     355,     0,     0,   361,   708,   278,   729,   381,     0,   456,
     1403     480,   236,   237,   500,   278,   418,     0,   278,   221,     0,
     1404       2,   223,     0,   279,     0,   241,     2,   242,   262,     0,
     1405       0,     2,   278,   525,   278,   466,   468,   467,     0,     0,
     1406     731,     0,   278,     0,   278,   470,   278,   540,   538,   539,
     1407     537,     0,   532,   535,    66,   101,     0,   278,    54,    50,
     1408     278,    59,   278,   278,    48,    49,    61,     2,   124,     0,
     1409       0,   430,     0,   429,   108,   278,    52,    53,    16,     0,
     1410      30,    31,    35,     2,     0,   114,   115,   116,   117,   118,
     1411     119,   120,   121,   122,   123,     0,     0,    51,     0,     0,
    14231412       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,
     1413       0,     0,     0,     0,     0,     0,     0,     0,   105,     2,
     1414     626,   435,   623,   527,   527,   631,   460,   278,     2,   565,
     1415     566,     0,   577,   578,     0,     2,   720,   723,   108,   278,
     1416       2,   278,     0,   688,   279,   692,   683,   684,   690,     0,
     1417       2,     2,   648,   527,   731,   597,   527,   527,   731,   527,
     1418     611,   527,   527,   662,   417,   645,   527,   527,   653,   660,
     1419     278,   412,   279,     0,     0,   278,   698,   279,   703,   731,
     1420     695,   278,   700,   731,   278,   278,   278,     0,   108,     0,
     1421      17,     2,     0,     0,   440,   729,     0,     0,   446,   225,
     1422       0,   278,     0,     0,     0,   525,   549,   553,   555,   585,
     1423     588,   592,   595,   548,   587,     0,   268,   638,     0,   278,
     1424     261,     0,     0,     0,     0,   259,     2,     0,   243,   516,
     1425     278,     0,     0,     0,     0,   278,   278,     0,     0,   672,
     1426     365,   368,   372,   527,   372,   677,   371,   669,   527,   527,
     1427     348,   356,   364,   357,   527,   359,   362,   278,   730,     0,
     1428       0,   379,   729,   279,     3,   397,     3,   401,   400,   571,
     1429       0,   511,   278,     3,     3,   278,   416,   279,     3,   410,
     1430     411,     2,     0,     0,     0,   465,   290,   278,   461,   463,
     1431       3,     2,     2,     0,   482,     3,     0,   534,   126,     0,
     1432     210,     0,     0,     2,     0,     0,    36,     0,     0,   108,
     1433     278,    21,     0,    22,     0,   672,   431,     0,   106,     3,
     1434       2,    28,     2,     0,    33,     0,     2,    26,   103,   104,
     1435      70,    71,    72,    74,    75,    77,    78,    82,    83,    80,
     1436      81,    85,    86,    88,    90,    92,    94,    96,     0,     0,
     1437     732,   278,     0,     0,     0,   627,   628,   624,   625,   477,
     1438     476,   278,     0,     3,   278,   694,   278,   699,   279,   278,
     1439     278,   278,   642,   685,   641,     2,   278,     0,     0,     0,
     1440       0,     0,     0,     0,     0,   663,     0,   649,   600,   616,
     1441     650,     2,   596,   603,   414,   598,   599,   415,     2,   610,
     1442     619,   612,   613,   646,   647,   661,   689,   693,   691,   731,
     1443     252,     2,   725,     2,   405,   697,   702,   406,     0,   384,
     1444       3,     3,     3,     3,   436,     3,     0,     2,   448,   445,
     1445     730,     0,   441,     2,   444,   447,     0,   278,   226,   248,
     1446       3,   256,   258,     0,   436,     2,   551,   552,     2,   590,
     1447     591,     0,   639,   517,     3,   329,   328,   331,   330,   278,
     1448     518,     0,   519,   278,   358,   360,     2,     0,     0,     0,
     1449       0,   374,   673,   674,   369,   373,   370,   670,   671,   363,
     1450     367,   350,   381,   376,   382,     0,     0,     0,   419,   224,
     1451       0,     0,     3,     2,   648,   412,     0,   507,     0,   731,
     1452     469,     0,   278,   278,   278,     0,   531,   533,   127,     0,
     1453     206,     0,     0,   211,   212,    55,    60,   278,     0,    58,
     1454      57,     0,   125,   673,     0,    67,    68,   107,   112,     3,
     1455     106,     0,     0,     0,    25,    35,     3,     0,    99,     0,
     1456       3,   630,   634,   637,   629,     3,   572,     3,   696,   701,
     1457       2,   278,     3,     3,   279,     0,     3,   602,   606,   609,
     1458     618,   652,   656,   659,   278,     3,   601,   617,   651,   278,
     1459     278,   407,   278,   278,   726,     0,     0,     0,     0,   240,
     1460       0,   101,     0,     3,     3,     0,   442,     0,   439,     0,
     1461       0,   229,   278,     0,     0,   126,     0,     0,     0,     0,
     1462       0,   126,     0,     0,     0,     2,     0,     0,     3,   128,
     1463     129,     2,   139,   130,   131,   132,   133,   134,   135,   141,
     1464     143,     0,     0,     0,   269,   278,   278,   527,     0,   520,
     1465     278,   108,   676,   680,   682,   675,   366,   380,   377,   559,
     1466       2,   644,   643,     0,   649,     2,   462,   464,   484,     3,
     1467     492,   493,     0,     2,   488,     3,     3,     0,     0,   536,
     1468       0,     0,   210,     0,     3,    37,   729,   106,     0,     3,
     1469     641,    42,     3,    40,     3,    34,     0,     3,    98,   100,
     1470       0,     2,   632,   633,     0,     0,   278,     0,     0,     0,
     1471       3,   618,     0,     2,   604,   605,     2,   620,     2,   654,
     1472     655,     0,     0,     3,     0,     3,     3,     3,     3,   392,
     1473     391,   395,     2,     2,   728,   727,   109,     0,     0,     0,
     1474       0,     3,   443,     3,     0,   227,   142,     3,   279,   278,
    14871475       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
     1476       0,     0,     0,     0,   191,     0,   108,   527,   147,   144,
     1477     278,     0,     0,   251,   263,     3,     3,   526,   593,   351,
     1478       2,   678,   679,   278,   250,   278,     0,   495,   472,   278,
     1479       0,     0,   471,   486,     0,   207,     0,   213,   106,     0,
     1480       0,   113,   110,     0,     0,     0,     0,     0,     0,    24,
     1481       0,   635,   278,   560,   249,   704,   705,   706,     0,   657,
     1482     278,   278,   278,     3,     3,     0,   665,     0,     0,     0,
     1483       0,   278,   278,     3,   524,   109,   450,     0,     0,   230,
     1484     279,     0,     0,     0,     0,   278,   188,   186,     0,   183,
     1485     189,     0,     0,     0,   192,   195,   193,   190,   126,   140,
     1486     138,   228,     0,     0,   278,   399,   403,   402,     0,   489,
     1487       2,   490,     2,   491,   485,   278,   214,     0,     0,     3,
     1488     641,    32,   111,     2,    45,     2,    43,    41,    29,   109,
     1489      27,     3,   707,     3,     3,     3,     0,     0,   664,   666,
     1490     607,   621,   253,     2,   389,     3,   388,     0,   452,   449,
     1491     126,     0,     0,   126,     3,     0,   126,   184,     0,     2,
     1492     200,   194,     0,   136,   554,   594,     3,     2,     0,     0,
     1493       2,   208,   215,     0,     0,     0,     0,     0,     0,     0,
     1494       0,     0,   667,   668,   278,     0,   451,   148,     0,     0,
     1495       2,   161,   126,   150,     0,   178,     0,   126,     0,     2,
     1496     152,     0,     2,     2,     0,   278,   494,   496,   487,     0,
     1497       0,   111,    38,     3,     3,   636,   608,   622,   658,   393,
     1498     126,   154,   157,     0,   156,   160,     3,   163,   162,     0,
     1499     126,   180,   126,     3,     0,   278,     0,     2,   681,     2,
     1500     209,   216,     0,     0,     0,   149,     0,     0,   159,   217,
     1501     164,     2,   219,   179,     0,   182,   168,   196,     3,   201,
     1502     205,     0,   278,     0,    39,    46,    44,   155,   158,   126,
     1503       0,   165,   278,   126,   126,     0,   169,     0,     0,   672,
     1504     202,   203,   204,   197,     3,   278,   145,   166,   151,   126,
     1505     220,   181,   176,   174,   170,   153,   126,     0,   673,     0,
     1506       0,   146,   167,   177,   171,   175,   174,   172,     3,     0,
     1507     473,   173,   198,     3,   199
    15211508};
    15221509
     
    15241511static const yytype_int16 yydefgoto[] =
    15251512{
    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
     1513      -1,   826,   468,   297,    45,   130,   131,   298,   299,   300,
     1514     301,   773,   755,  1122,  1123,   302,   303,   304,   305,   306,
     1515     307,   308,   309,   310,   311,   312,   313,   314,   315,  1032,
     1516     518,   978,   317,   979,   546,   958,  1057,  1476,  1059,  1060,
     1517    1061,  1062,  1477,  1063,  1064,  1412,  1413,  1381,  1382,  1383,
     1518    1460,  1461,  1465,  1466,  1494,  1495,  1065,  1345,  1066,  1067,
     1519    1284,  1285,  1286,  1448,  1068,   962,   963,   964,  1363,  1440,
     1520    1441,   469,   470,   887,   888,  1040,    48,    49,    50,    51,
     1521      52,   341,   155,    55,    56,    57,    58,    59,   343,    61,
     1522      62,   259,    64,    65,   270,   345,   346,    68,    69,    70,
     1523      71,   115,    73,   200,   348,   116,    76,   117,    78,    79,
     1524      80,   449,   450,   451,   452,   690,   924,   691,    81,    82,
     1525     456,   711,   868,   869,   351,   352,   714,   715,   716,   353,
     1526     354,   355,   356,   466,   335,   132,   133,   522,   319,   166,
     1527     644,   645,   646,   647,   648,    83,   118,    85,   489,   490,
     1528     950,   491,   273,   495,   320,    86,   134,   135,    87,  1305,
     1529    1103,  1104,  1105,  1106,    88,    89,   732,    90,   269,    91,
     1530      92,   183,  1034,   678,   405,   122,    93,   501,   502,   503,
     1531     184,   264,   186,   187,   188,   265,    96,    97,    98,    99,
     1532     100,   101,   102,   191,   192,   193,   194,   195,   838,   605,
     1533     606,   607,   608,   196,   610,   611,   612,   571,   572,   573,
     1534     574,   695,   103,   614,   615,   616,   617,   618,   619,   923,
     1535     697,   698,   699,   595,   359,   360,   361,   362,   321,   161,
     1536     105,   106,   107,   364,   709,   568
    15501537};
    15511538
    15521539/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15531540   STATE-NUM.  */
    1554 #define YYPACT_NINF -1318
     1541#define YYPACT_NINF -1269
    15551542static const yytype_int16 yypact[] =
    15561543{
    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
     1544    5632,  9056, -1269,    25, -1269, -1269, -1269, -1269, -1269, -1269,
     1545   -1269,    17, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1546   -1269, -1269, -1269, -1269, -1269,   113,   113,   113,   803,   791,
     1547      56,  6940,   839, -1269, -1269, -1269, -1269, -1269,    59, -1269,
     1548   -1269, -1269,   628,    90,  8532, -1269, -1269, -1269, -1269, -1269,
     1549   -1269,    88,   155, -1269,   911, -1269, -1269, -1269, -1269,   140,
     1550    1450,   287,    96,  4240, -1269, -1269,  8601,  1048, -1269, -1269,
     1551   -1269,  1246,   329,  6299,  1010,   880,  1246,  1728, -1269, -1269,
     1552     332,   328, -1269,  1246,  1769, -1269,   227, -1269,   369,   379,
     1553   -1269, -1269, -1269, -1269,   256,   155,   113, -1269,   113, -1269,
     1554   -1269, -1269, -1269,  9292,   911, -1269, -1269,   911, -1269,  9351,
     1555     266, -1269, -1269,  1507,  9410, -1269,   839,   839,   839, -1269,
     1556   -1269, -1269,   113, -1269, -1269, -1269,   291,   341,   348, -1269,
     1557   -1269, -1269,   361, -1269, -1269, -1269, -1269, -1269,   391,   401,
     1558   -1269,   469,   839,  8040,  1076,   326,   352,   486,   522,   542,
     1559     576,   588,  8805,  6382,   474,   482, -1269,  8669, -1269, -1269,
     1560   -1269, -1269,   571, -1269,    47,  5492, -1269,   596,   239, -1269,
     1561   -1269, -1269, -1269,   597,   315,   324,   359,   113,   614, -1269,
     1562   -1269,  1450,  2466,   659, -1269,   128, -1269,   113,   113,   155,
     1563   -1269, -1269,   131, -1269,   113,   113, -1269,  3629,   647,   656,
     1564     839, 10211, -1269, -1269,   665,  8532, -1269, -1269,  1246, -1269,
     1565   -1269, -1269,   155, -1269,   911,    88, -1269,  7183, -1269,   839,
     1566     839,   839,   155, -1269,   803, -1269,  6072, -1269, -1269,   652,
     1567     839, -1269,   839, -1269,    59,  8040,  9115,   675, -1269,   791,
     1568     684,   839, -1269,   803,   674,   681, -1269,  6940,   744, -1269,
     1569   -1269, -1269,  8471, -1269, -1269,  5138, -1269,   659,    73,  9410,
     1570   10491,  1507,  3629, -1269,   138, -1269, -1269,  9351,   911,   708,
     1571   11267, -1269, -1269,   713, -1269, 11002, 10719, 10776, 10719, 10833,
     1572   -1269,   737, -1269, -1269, -1269, -1269, 10890, 10890,   744,  4439,
     1573     751, 10719,  8146, -1269, -1269, -1269, -1269, -1269, -1269,   766,
     1574   -1269,   828,  1924, 10719, -1269,   465,   544,   763,   389,   621,
     1575     755,   754,   759,   813,    65, -1269, -1269,   782,   510, -1269,
     1576     307, -1269, -1269,  1076, -1269, -1269,   774,   807, -1269,   784,
     1577     807,   815,    59, -1269, -1269,   821,  9292, -1269,   826,  7828,
     1578   -1269, -1269,   715,  2130,  7574, 10211,  1246, -1269,  1246,   839,
     1579     839, -1269, -1269, -1269, -1269, -1269, -1269,   839,  9469,   911,
     1580   -1269, -1269,  9528,  1378, -1269,  9174, -1269, -1269, -1269, -1269,
     1581   -1269, -1269, -1269,   831,  4897, 10719, -1269, -1269, -1269, -1269,
     1582   -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,  1507,
     1583   -1269,   728,   842,   859,   891,   817,   925,   926,   927,  2466,
     1584   -1269, -1269,   865,    88,   869, -1269, -1269,   928, -1269, -1269,
     1585   -1269,  8471, -1269, -1269, -1269, -1269, -1269,  3629, -1269,  8040,
     1586    8040, -1269,  1507, 11295,   911,  7639, -1269, -1269, -1269, -1269,
     1587    8471,    73, -1269, -1269,  1246,   155, -1269, -1269,  8471, -1269,
     1588    6187, -1269, -1269,   839,   839,   339,  9587,   909,  1932,  2385,
     1589   -1269,   377,   414,   791, -1269,  9115,   924,   912,   791,   839,
     1590   -1269, -1269, -1269, -1269,  9947, -1269,   512,  7494, -1269,   155,
     1591     930, -1269,  1507, 11077, 10548, -1269, -1269, -1269, -1269,   824,
     1592    3629, -1269,  7704,   659,  6831, -1269, -1269, -1269,   746,   592,
     1593     782,   791, 11267,   530,  9351, -1269, 11267, -1269, -1269, -1269,
     1594   -1269,   613, -1269,   932, -1269, -1269,    12,  4439, -1269, -1269,
     1595    4439, -1269,  7934,  4439, -1269, -1269, -1269,   933, -1269,   625,
     1596     936,   545,   939, -1269,  8873,  5389, -1269, -1269, -1269,    67,
     1597   -1269, -1269, 10605, -1269,   249, -1269, -1269, -1269, -1269, -1269,
     1598   -1269, -1269, -1269, -1269, -1269, 10491, 10491, -1269, 10719, 10719,
     1599   10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719,
     1600   10719, 10719, 10719, 10719, 10719, 10719,  4719, 10491, -1269,   510,
     1601    1578, -1269, -1269,   113,   113, -1269, -1269,  8040, -1269, -1269,
     1602     928,   744, -1269,   928, 10662, -1269, -1269, -1269,  4020,  5389,
     1603     938,  8252,   941, -1269,  9646, -1269, -1269,   571, -1269,   942,
     1604    1657,   947,  1802,   198,   782, -1269,   113,   113,   782,   245,
     1605   -1269,   113,   113,   928, -1269, -1269,   113,   113, -1269,   807,
     1606    9705,   911, 11208,   419,   426,  9705, -1269,  9882, -1269,   782,
     1607   -1269,  9469, -1269,   144,  7291,  7291,  7291,   911, -1269, 10434,
     1608     934,   831,   353,   949, -1269,   951,  5492,   583, -1269,  1032,
     1609     911,  7291,   744,  1507,   744,   659,   795,   807, -1269, -1269,
     1610     800,   807, -1269, -1269, -1269,   986, -1269,   807,   155,  9947,
     1611   -1269,   635,   960,   638,   961, -1269,   962,   155, -1269, -1269,
     1612    8471,   155,   958,   436,   443,  9764,  6494,  2437, 10719,  2673,
     1613   -1269, -1269,   956,    32,   956, -1269, -1269, -1269,   113,   113,
     1614   -1269, -1269,   791, -1269,   113, -1269, -1269,  2798,   791,   968,
     1615   10719, -1269,   924, 11208, -1269, -1269,   967, -1269, -1269, -1269,
     1616     744, -1269, 11143, 10719, -1269,  7291,   584,  7574, -1269, -1269,
     1617     571,   969,   972,   746,  2082, -1269, -1269, 11267, -1269, -1269,
     1618     965, -1269, -1269,   984, -1269,   965,   989, 11002, 10491,   944,
     1619    1017,   991,   992,   751,   987,   996, -1269,   997,  1000,  2971,
     1620    6158, -1269, 10491, -1269,   545,  1808, -1269,  5683, 10491,   998,
     1621   -1269, -1269,   831,   639, -1269, 10491, -1269, -1269, -1269, -1269,
     1622   -1269, -1269, -1269,   465,   465,   544,   544,   763,   763,   763,
     1623     763,   389,   389,   621,   755,   754,   759,   813, 10719,   616,
     1624   -1269,  9947,  1005,  1006,  1007,  1578, -1269, -1269, -1269, -1269,
     1625   -1269,  9947,   643, 10719,  7291, -1269,  9469, -1269,  6606,  8358,
     1626    9233,  6382, -1269, -1269, -1269,  1657,  9947,   846,  1012,  1013,
     1627    1015,  1019,  1020,  1023,  1024, -1269,  3182,  1802, -1269, -1269,
     1628   -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1629   -1269, -1269, -1269, -1269, -1269,   928, -1269, -1269, -1269,   782,
     1630   -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,  1025, -1269,
     1631    1026,  1029, -1269, -1269,    88,   998, 10434, -1269, -1269, -1269,
     1632    4897,  1028, -1269, -1269, -1269, -1269,   791,  5798,  1104, -1269,
     1633   -1269, -1269, -1269,  1027,    88, -1269, -1269,   928, -1269, -1269,
     1634     928,   142,   928, -1269, -1269, -1269, -1269, -1269, -1269,  8737,
     1635   -1269,   155, -1269,  9115, -1269, -1269,  1034,   761,  1031,  1038,
     1636    1041, -1269,  2673, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1637    1932, -1269,   912, -1269, -1269,  1044,  1046,  1047, -1269, -1269,
     1638    1042,  1050, -1269,   584,  1953, -1269,   534, -1269,  2082,   782,
     1639   -1269,  1054, 11267,  9823,  8040,  1055, -1269, -1269,  1051,  1056,
     1640   -1269,  1059,   169,  1057, -1269,  1058,  1058,  5389, 10491, -1269,
     1641   -1269,  1058, -1269,  1808,  4897, -1269, -1269, -1269, -1269,  1060,
     1642   10491,  1062,   744, 10434, -1269, 10605, -1269,   744, -1269, 10491,
     1643   -1269,   840,   807, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1644     831,  7828, -1269, -1269,  6718,  1067, -1269,   864,   807, -1269,
     1645     871,   882,   807, -1269,   839,  3327, -1269, -1269, -1269,  9947,
     1646    9947, -1269,  7639,  7639, -1269,  1063,  1064,  1068,  1071, -1269,
     1647    1074,   541,    48,   998, -1269,   744, -1269,  5492, -1269, 10491,
     1648     455, -1269,  6043,  1080,  1081, 10377,  1083,  1084,    55,   173,
     1649      23, 10491,  1085,   155,  4287,  1089,  1086,  1065, -1269, -1269,
     1650   -1269,  1087, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1651   -1269,   791,  1094, 10491, -1269,  9947,  9947,   113,  1095, -1269,
     1652    8997,  8935,   889,   807, -1269, -1269, -1269, -1269, -1269, -1269,
     1653   -1269, -1269, -1269,  1098,  1953, -1269, -1269,  1082, -1269,   965,
     1654   -1269, -1269,  1507,  1097, -1269, -1269, -1269,   650,  1096, -1269,
     1655   10719,  1077,  1017,  1017,  1102, -1269,   951, 10491,  1111,  1060,
     1656     559,    61,  1108, -1269,  1102, -1269,  1113,  1108, -1269, -1269,
     1657    1118, -1269, -1269,   928,  1120,  1121,  6270,  1123,  1124,  1125,
     1658   -1269, -1269,  1122, -1269, -1269,   928, -1269, -1269, -1269, -1269,
     1659     928, 10491, 10491, 10719,  1127, -1269, -1269, -1269, -1269, -1269,
     1660   -1269, -1269, -1269, -1269, -1269, -1269, -1269, 10719, 10719,  1128,
     1661    1133,  1108, -1269, -1269,   791, -1269, -1269, -1269,  7118,  9823,
     1662   10491, 10491,  1180, 10491, -1269, -1269,  1114, -1269,  1117, 10491,
     1663    1135,  1137, 10491,   901, -1269,  1138,  8499,   113, -1269, -1269,
     1664    5798,  1140,   467, -1269, -1269, -1269, -1269, -1269, -1269, -1269,
     1665   -1269, -1269,   928, 10183, -1269,  7704,  1147, -1269, -1269,  9823,
     1666     476,   481, -1269,  1157,  1165, -1269,   201, -1269, 10491,  1166,
     1667    1167, -1269, -1269,  1168,   257,   313,   744,  1169,  1171, -1269,
     1668    1172, -1269,  9947, -1269, -1269, -1269, -1269, -1269,  1174, -1269,
     1669    9947,  9947,  9947, -1269, -1269,  1175, -1269,  1179,  1182,  1183,
     1670     573,  7358,  7466, -1269, -1269,   609, -1269,  1184,  1185, -1269,
     1671    7769,   651,   662,  1141,   664,  5921, -1269, -1269,   508, -1269,
     1672   -1269,   687,  1189,   155,  1237,  1240, -1269, -1269, 10377, -1269,
     1673   -1269, -1269,  1193,  1197,  9947, -1269, -1269, -1269,  1196, -1269,
     1674   -1269, -1269, -1269, -1269, -1269,  9823, -1269,  1190,  1231,  1060,
     1675     253, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269,  1204,
     1676   -1269, -1269, -1269, -1269, -1269, -1269,  1211,  1215, -1269, -1269,
     1677   -1269, -1269, -1269, -1269, -1269,  1219, -1269,  1218, -1269, -1269,
     1678   10377,   147, 10491, 10377, -1269,  1225, 10491, -1269,   264,  1239,
     1679   -1269, -1269,  1229, -1269, -1269, -1269, -1269, -1269,   911,  1507,
     1680    1233, -1269, -1269,   704,  1228, 10491,   744,   744,  1248,  1249,
     1681    1250,  1251, -1269, -1269,  7639,  1256, -1269,  1301, 10719,  1259,
     1682   -1269, -1269, 10297, -1269,   716, -1269,  1224, 10377,  1235, -1269,
     1683   -1269,  1268, -1269,  1282,  1270,  9823, -1269, -1269, -1269,  1252,
     1684    1302,  1273, -1269,  1108,  1108, -1269, -1269, -1269, -1269, -1269,
     1685   10377,    54, -1269,   897, -1269, -1269,  7049, -1269, -1269,  1255,
     1686   10491, -1269, 10491,  7049,   155,  9587,  1283, -1269, -1269,  1280,
     1687   -1269, -1269, 10491,  1284,  1285, -1269, 10719, 10719, -1269, -1269,
     1688     966,    99, -1269, -1269,  1266, -1269,   966, -1269, -1269,  2561,
     1689     744,   155,  9587,  1290, -1269, -1269, -1269, -1269, -1269, 10297,
     1690    1286,   966,  3510, 10491, 10217,  1287,   966,  1294,  2561,  3047,
     1691   -1269, -1269, -1269, -1269, -1269,  8040, -1269, 10062, -1269, 10297,
     1692   -1269, -1269,  1274,  9981, -1269, -1269, 10217,   155,  3047,  1297,
     1693     717, -1269, 10062, -1269, -1269, -1269,  9981, -1269, -1269,   155,
     1694   -1269, -1269, -1269, -1269, -1269
    17101695};
    17111696
     
    17131698static const yytype_int16 yypgoto[] =
    17141699{
    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
     1700   -1269,  3902,  2604, -1269,   354, -1269,    -1,     2,   742, -1269,
     1701   -1269, -1269,  -489,  -961,  -282,  4749, -1269,   570,   459,   468,
     1702     357,   464,   844,   848,   849,   847,   850, -1269,  -229,  -231,
     1703    4555,   296,  -694,  -919, -1269,   166,  -721,   143, -1269,    86,
     1704   -1269,   216, -1143, -1269, -1269,   -17, -1269, -1146, -1036,    71,
     1705   -1269, -1269, -1269, -1269,   -75, -1160, -1269, -1269, -1269, -1269,
     1706   -1269, -1269,   141,   -26,    21,   316, -1269,   320, -1269,    13,
     1707   -1269,  -294, -1269, -1269, -1269,   364,  -829, -1269, -1269,    11,
     1708    -963,   125,  1704, -1269, -1269, -1269,   -72, -1269,    82,    49,
     1709     -18,  1039,  3754, -1269, -1269,    81,   133,   536,  -256,  1629,
     1710   -1269,  1307, -1269, -1269,   224,  1625, -1269,  1893,  1163, -1269,
     1711   -1269,  -426,  -421,   993,   994,   507,   747,   306, -1269, -1269,
     1712     980,   516,  -433, -1269,  -199,    75,   591, -1269, -1269,  -894,
     1713   -1000,     6,   910,   861,   176, -1269,   721,   158,  -317,  -210,
     1714    -149,   478,   577, -1269,   809, -1269,  2211,   740,  -443,   722,
     1715   -1269, -1269,   511, -1269,  -232, -1269,   -46, -1269, -1269, -1269,
     1716   -1268,   243, -1269, -1269, -1269,   981, -1269,    -7, -1269, -1269,
     1717    -827,   -35, -1227,  -161,  1978, -1269,  3527, -1269,   719, -1269,
     1718    -157,    41,  -172,  -170,  -163,     4,   -41,   -36,   -34,   777,
     1719      24,    33,    45,  -143,  -151,  -150,  -145,  -139,  -288,  -529,
     1720    -505,  -476,  -564,  -323,  -560, -1269, -1269,  -516,   899,   906,
     1721     915,  1643,  4256,  -522,  -566,  -549,  -514,  -546, -1269,  -372,
     1722    -680,  -674,  -672,  -603,  -208,  -186, -1269, -1269,    64,   293,
     1723     -93, -1269,  3162,   208,  -613,  -396
    17391724};
    17401725
     
    17421727   positive, shift that token.  If negative, reduce the rule which
    17431728   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1744 #define YYTABLE_NINF -511
     1729#define YYTABLE_NINF -503
    17451730static const yytype_int16 yytable[] =
    17461731{
    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,
     1732     110,   146,    46,   445,    95,   432,   147,   918,   148,   392,
     1733     256,   393,   111,   919,   141,   920,   377,   857,   394,   498,
     1734     609,    47,   403,  1161,   140,   400,  1127,   959,   701,   707,
     1735     395,   396,   881,    46,   832,    95,   397,  1360,   839,   401,
     1736     831,    94,   398,   774,    46,   506,    46,   505,   158,   740,
     1737     113,   833,    47,   745,   806,   604,    46,   843,  1069,   337,
     1738    1070,  1119,    46,   850,   189,    46,   149,   212,    46,    30,
     1739     222,   828,    94,   976,  1171,   150,   696,   215,   263,  1177,
     1740     840,    66,    60,   145,   918,    94,   834,   151,   108,   392,
     1741     919,   393,   920,   156,   738,   829,   475,   477,   394,   935,
     1742     119,   185,   672,   674,    94,   400,    46,    94,   160,    46,
     1743     395,   396,    66,    60,   749,    46,   397,   668,   120,   401,
     1744     108,   750,   398,   198,   830,    53,   112,  1429,  1159,  1160,
     1745     402,   596,   108,    67,  1189,   404,   677,  1167,   169,  1234,
     1746     146,  -218,  -218,  1436,   681,   147,    46,   148,   158,   766,
     1747      30,  1414,   254,   565,    46,   371,    53,   139,   156,    46,
     1748     143,   367,   418,  1168,    67,    30,  1235,   199,    30,  1168,
     1749     770,   372,   628,   160,   476,    30,   632,   744,   439,  1185,
     1750     471,   249,   421,    46,    46,    94,   158,   566,   206,  1378,
     1751    1379,   216,   318,   666,   152,   757,   208,   460,    94,    46,
     1752     735,   334,   872,   873,   828,   149,  -218,    46,   844,   158,
     1753    1414,   165,   847,  1176,   150,  1161,    46,   528,   890,    46,
     1754     146,   435,   391,   185,    74,   147,   151,   148,   829,   248,
     1755     173,   404,   412,   864,   404,    30,  1418,   867,   108,   481,
     1756     463,   404,   663,   587,  1077,   476,    94,   465,   177,    46,
     1757     422,    95,   163,  1380,   426,    74,   664,   830,    94,   832,
     1758     810,   167,  1161,    46,    46,  1005,   158,   567,    47,   427,
     1759      46,  1111,   337,  1017,   729,   410,   833,    46,  1112,   609,
     1760     257,   843,    30,   258,   318,   448,   701,   516,    94,   994,
     1761     197,   692,   942,   104,   104,  1129,   828,  1187,   429,   841,
     1762     453,   601,   479,  1307,  1484,   694,  1378,  1379,   437,  1309,
     1763    1308,   834,  1177,  1418,   108,  1018,   426,   163,  1418,   488,
     1764     829,  1483,   108,   663,   104,    46,  1497,   367,    66,    60,
     1765    1191,   427,  -274,  1418,   472,   243,  1492,   664,   521,   471,
     1766    1418,   156,   433,  1496,    46,    46,   848,   380,   601,   830,
     1767     434,   322,   776,   523,   655,  -109,   160,   248,   471,   104,
     1768    1313,    46,  1365,   381,    94,    46,   471,  1159,  1160,   246,
     1769    1389,  1069,    53,  1070,  1161,   520,  -109,   832,   108,  -498,
     1770      67,   997,   670,   596,   603,   586,   911,   675,   593,   260,
     1771     431,    46,   -10,   108,   833,   136,   137,   108,   857,   136,
     1772     234,    46,   817,   367,  1459,  1403,  1404,   626,   172,   576,
     1773    1464,   630,   596,   428,   334,   577,  1315,   596,   108,    46,
     1774     136,   137,   840,   383,    46,  1479,    46,   248,   324,   834,
     1775    1486,   337,   385,   235,   239,   870,   870,   870,   236,   384,
     1776     185,   682,  -424,   322,   483,   866,  1346,   577,   386,  -425,
     1777      46,   500,   870,  1177,   325,   519,   877,   921,   172,   505,
     1778    1177,   172,   272,  1021,  1147,  1149,   110,   387,   318,   318,
     1779     717,    74,   555,   556,    46,   428,    74,   208,   729,   934,
     1780    1409,   505,    46,   388,   367,   702,    46,  1080,    95,   693,
     1781      46,   498,   274,   472,   894,   448,  1125,   882,   448,  1177,
     1782     163,   703,   275,  1230,   448,    47,   172,   557,   558,  1099,
     1783     453,   754,   472,   453,   609,   392,   113,   393,   173,   453,
     1784     472,   679,   704,   860,   394,    94,   870,   861,   771,   603,
     1785     862,   754,   400,   777,   863,   629,   395,   396,   705,   633,
     1786     104,   488,   397,   318,   702,   488,   401,   598,   398,  1016,
     1787    1085,   704,   729,  1096,  1344,   721,   521,   728,   696,   521,
     1788     914,   318,   521,  1174,   726,    66,    60,   915,   172,   988,
     1789     276,   523,  1018,   334,   523,  1174,   548,   523,   365,  1175,
     1790     465,   549,   550,   366,  1300,   671,   673,  1442,   326,  1302,
     1791      46,  1291,   337,   520,  1442,   108,   520,   136,   137,   520,
     1792    1301,  1085,    46,   225,    46,  1303,   208,   226,   471,    53,
     1793     230,   569,   232,   404,   719,   870,   762,    67,   892,   241,
     1794     720,   570,   172,    46,   327,  1388,   318,   322,   322,   172,
     1795     999,   741,  1347,  1480,   817,    74,   742,   815,   862,    46,
     1796     593,   827,  1095,   603,   328,  -102,   764,  1031,   404,  -102,
     1797     939,   891,    46,   893,    74,    46,   765,   551,   552,   701,
     1798    1016,  -109,    74,  -109,  1029,   751,   337,  -109,   752,   856,
     1799     819,   758,   370,   519,   593,   717,   519,  1332,   329,   519,
     1800     865,  1333,  -109,  -109,  1074,   943,   883,   601,   642,    46,
     1801     330,    46,   884,    36,   736,   944,   172,    39,   382,  1444,
     1802     737,  1445,   322,   378,    40,    41,   559,   560,    74,   871,
     1803     871,   871,  -449,   172,  -449,   746,   402,   172,  -449,   938,
     1804     322,   747,  1107,   817,   762,   989,   871,   761,   917,    42,
     1805     693,  1036,   799,   762,   334,    46,    46,   905,   390,   144,
     1806     907,   984,  1481,   762,   225,   996,   762,   985,   419,    46,
     1807     138,   720,  1222,  1340,   903,   434,   448,   420,   577,   762,
     1808    1128,   728,   472,   910,  1341,   663,  1343,   912,   726,   424,
     1809     762,   453,   762,   692,   827,   603,   442,   104,   172,   664,
     1810      36,   455,   170,   171,    39,   322,   488,   694,   918,  1348,
     1811     458,    40,    41,   596,   919,   762,   920,   859,   461,   598,
     1812     871,   237,   240,   211,   472,   462,  1399,   717,   334,   108,
     1813    1031,    36,  1400,   874,   484,    39,   366,   717,  1419,  1500,
     1814     238,   159,    40,    41,   762,   577,   889,    46,   858,   248,
     1815     324,   404,   717,   598,   493,   728,   494,   190,   512,    46,
     1816     213,   528,   726,   223,   553,   554,   208,   733,   509,     8,
     1817       9,    10,    11,    12,   211,   524,   108,   734,   136,   137,
     1818     208,   526,   527,   324,   404,   998,   827,   561,   126,   815,
     1819     127,   128,   129,   547,   562,   578,    30,   404,   603,  1224,
     1820     563,   505,   225,  -275,   230,   581,  1056,   404,  1172,   871,
     1821       8,     9,    10,    11,    12,   817,   895,   211,   404,    33,
     1822     564,   898,   819,   404,    74,   567,   529,   530,   531,   527,
     1823     333,    46,   787,   788,   789,   790,  -421,    30,   412,   659,
     1824     404,   159,   585,   500,    46,   481,   324,   404,   729,   532,
     1825     588,   533,    46,   534,   368,   638,  1263,  1264,   505,   505,
     1826      33,  1131,   172,   404,   656,   527,    74,   841,   324,   601,
     1827      46,   208,  1314,  1316,  1317,  1282,  1283,   211,   815,   159,
     1828     457,   657,   448,   693,  1100,  1143,   665,   404,    66,    60,
     1829     225,   693,  1146,   667,   601,   172,    36,   453,   170,   171,
     1830      39,  1121,   159,  1148,   754,   601,  1121,    40,    41,   603,
     1831    1210,   172,   404,   658,   436,   211,  1151,  1079,   925,   211,
     1832     925,   488,  1102,   318,   172,  1437,  1438,   729,  1378,  1379,
     1833     783,   784,    53,   685,     2,   202,     4,     5,     6,     7,
     1834      67,   785,   786,   791,   792,   717,   717,   660,   661,   662,
     1835    1058,   253,   708,   748,  1121,   710,  -222,   759,   763,    63,
     1836     114,   767,   820,   -12,  1056,   822,   824,  1186,  1188,  1190,
     1837     856,   835,     2,   202,     4,     5,     6,     7,   879,   880,
     1838     886,   285,   906,   908,   913,   688,   909,  1217,   960,  -398,
     1839      63,   142,    34,   737,    35,   933,  -502,  1471,  1101,   947,
     1840     224,   717,   717,   157,   211,   954,     8,     9,    10,    11,
     1841      12,   956,   961,   965,   966,   643,   968,  1158,   969,   970,
     1842     368,   172,   971,   337,    46,   217,   980,   991,   992,   993,
     1843      34,    74,    35,    30,  1007,  1008,  1085,  1009,   780,   781,
     1844     782,  1010,  1011,  1179,   472,  1012,  1013,  1024,  -386,   448,
     1845     815,  -385,  1071,  1082,    -3,  1038,    33,   434,  1081,  1193,
     1846    1083,    36,   255,  1084,   453,    39,  1091,  1411,  1089,   505,
     1847    1073,  1088,    40,    41,  1092,  1090,  1098,  1108,  1109,   762,
     1848    1110,   527,   322,   211,   974,  1113,  1120,    53,  1117,  1141,
     1849    1164,  1162,  1163,  1165,   706,    67,   368,    42,  1166,   457,
     1850     104,  1180,  1181,   323,  1183,  1184,  1192,   144,  1182,  1198,
     1851     215,   255,   344,  1196,    -3,  1197,  1203,  1208,    46,  1056,
     1852    1214,  1225,  1223,   493,  1218,  1457,  1411,   505,   505,   858,
     1853    1228,   728,   739,   211,   743,  1232,  1236,  1239,   726,  1296,
     1854    1241,   399,  1243,  1244,  1249,  1273,   210,  1245,  1246,  1247,
     1855    1100,  1256,  1265,  1121,  1121,  1121,   417,  1266,  1276,   142,
     1856     423,  1277,  1342,  1490,   157,   334,   104,  1290,   717,  1298,
     1857       2,   202,     4,     5,     6,     7,   717,   717,   717,  1279,
     1858     904,  1280,  1287,   172,  1304,   440,    74,  1306,  1102,   443,
     1859    1310,   444,  1312,  1318,  1311,  1319,  1320,   210,  1322,  1328,
     1860     459,    66,    60,  1329,  1330,  1331,    63,  1056,  1338,  1339,
     1861    1349,   473,  1283,   527,  1352,  1354,   392,   726,   393,  1355,
     1862     717,   480,  1357,   206,   216,   394,  1362,    72,    34,   423,
     1863      35,   208,   400,  1365,  1361,  1372,  1100,   395,   396,  1373,
     1864     210,  -387,  1376,   397,  1397,    53,   401,  1387,  1391,   398,
     1865    1393,   663,  1401,    67,   211,   104,  1335,   975,    72,  1056,
     1866    1398,  1410,  1056,  1058,  1101,   664,  1271,  1272,  1420,  1274,
     1867    1405,  1406,  1407,  1408,  1102,  1278,  1179,   472,  1281,  1422,
     1868      46,    46,   211,   878,  1333,  1121,  1121,   211,  1415,  1350,
     1869    1424,  1426,  1428,   218,   718,   255,  1430,  1431,   594,  1443,
     1870     210,  1056,  1432,   527,   622,  1451,  1056,  1453,  1455,  1456,
     1871    1463,  1475,   990,  1478,  1485,   433,  1487,   627,  1493,  1499,
     1872      53,   627,   995,   434,   255,   793,  1100,   901,    67,  1056,
     1873     794,   796,   795,  1231,  1470,   797,  1289,  1006,   210,  1390,
     1874    1458,  1501,   210,   929,    74,  1351,  1474,   146,  1226,   932,
     1875    1101,  1353,   147,  1227,   148,  1202,  1446,  1086,   712,   683,
     1876     684,   926,   812,    36,  1102,   170,   171,    39,  1087,  1472,
     1877     473,    46,  1116,   211,    40,    41,   885,  1037,  1056,   949,
     1878     347,  1097,  1299,  1056,   344,   731,   957,   211,   802,   473,
     1879      46,    46,   104,   158,  1449,   803,  1056,   473,  1056,   370,
     1880       0,     0,  1056,  1377,   804,  1056,  1385,     0,     0,  1450,
     1881      46,  1056,   367,   104,     0,  1056,     0,  1179,   472,    74,
     1882       0,  1449,     0,   713,  1179,   472,   423,   210,  1384,   479,
     1883    1447,     0,   104,     0,     0,    36,  1450,   179,   180,    39,
     1884    1101,   727,     0,    63,   318,  1417,    40,    41,     0,     0,
     1885    1421,   423,     0,   441,  1396,   423,     0,  1473,     0,     0,
     1886       0,    53,     0,  1179,   472,     0,     0,     0,    53,    67,
     1887     172,   181,     0,  1435,    72,     0,    67,     0,   211,    72,
     1888       0,   182,     0,   255,   344,     0,     0,     0,   104,     0,
     1889       0,   527,    36,  1498,   179,   180,    39,     0,     0,   718,
     1890       0,     0,     0,    40,    41,  1503,   210,    53,     8,     9,
     1891      10,    11,    12,     0,     0,    67,     0,     0,   104,     0,
     1892       0,   643,     0,     0,     0,     0,     0,  1041,   261,   805,
     1893    1156,  1157,   509,     0,     0,    30,     0,     0,   262,     0,
     1894    1491,     0,     0,     0,     0,    75,  1491,   627,   818,     0,
     1895     594,     0,     0,     0,     0,  1491,   210,     0,    33,  1491,
     1896      74,   837,     0,     0,     0,     0,     0,    74,     0,     0,
     1897       0,     0,   218,     0,     0,     0,    75,     0,     0,   594,
     1898       0,     0,     0,     0,   594,     0,  1205,  1206,     0,     0,
     1899     627,     0,     0,   344,   344,   344,     0,     0,     0,   569,
     1900       0,   404,     0,   322,     0,     0,    74,     0,   104,   570,
     1901     344,   219,   209,     0,     0,   643,     0,     0,     0,     0,
     1902       0,     0,   228,     0,    54,    54,     0,     0,   713,   104,
     1903       0,   718,   172,     0,     0,     0,   104,     0,    72,   473,
     1904       0,   718,    36,   527,   255,   727,    39,     0,   922,     0,
     1905       0,  -276,   347,    40,    41,    54,   718,    72,     8,     9,
     1906      10,    11,    12,   209,   211,    72,     0,     0,     0,     0,
     1907       0,     0,     0,     0,     0,   104,     0,   210,   825,     0,
     1908     601,   473,     0,     0,   344,    30,     0,    54,   602,     0,
     1909      54,   347,  -277,   948,     0,     0,   423,     0,   349,     8,
     1910       9,    10,    11,    12,     0,   210,   209,     0,    33,   347,
     1911     210,    72,  1041,     0,     0,     0,     0,     0,   255,   727,
     1912       0,     0,     0,     0,   973,     0,    30,     0,     0,     0,
     1913       0,     0,     8,     9,    10,    11,    12,     0,     8,     9,
     1914      10,    11,    12,     0,     0,     0,     0,     0,   406,    33,
     1915       0,     0,   347,  1321,     0,   414,     0,     0,     0,    30,
     1916     713,  1323,  1324,  1325,     0,    30,   209,     0,     0,     0,
     1917     713,     0,     0,   344,     0,   627,     0,   342,  1004,   627,
     1918     818,     0,    33,     0,     0,   713,     0,    36,    33,   179,
     1919     180,    39,    75,     0,     0,  1015,   210,    75,    40,    41,
     1920       0,     0,     0,     0,   209,  1356,     0,     0,   209,     0,
     1921     210,     0,     0,    77,     0,  1269,   347,     0,     0,     0,
     1922       0,     0,     0,   600,   499,   601,     0,   406,     0,   764,
     1923       0,   404,     0,   602,     0,     0,     0,     0,   211,   765,
     1924       0,    54,     0,     0,    77,     0,    63,     0,     0,   718,
     1925     718,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1926       0,   347,   347,   347,     0,     0,     0,     0,   627,     0,
     1927       0,    54,     0,     0,     0,     0,     0,     0,   347,   220,
     1928       0,   575,     0,     8,     9,    10,    11,    12,     0,   579,
     1929     219,     0,   582,   209,     0,     0,   347,     0,     0,     0,
     1930       0,   210,     0,  1094,     0,   718,   718,    72,     0,     0,
     1931      30,   423,   114,   347,     0,     0,     0,    36,     0,   179,
     1932     180,    39,     0,   121,   124,   125,   344,     0,    40,    41,
     1933     211,     0,     0,    33,   535,   536,   537,   538,   539,   540,
     1934     541,   542,   543,   544,     0,     0,     0,     0,     0,    72,
     1935       0,     0,   347,   687,   406,   404,    75,     0,   414,     0,
     1936     594,   688,     0,   689,     0,     0,   350,   545,     0,     0,
     1937     349,     0,   209,   142,   943,    75,   601,     0,   713,   713,
     1938       0,   344,   344,    75,   944,     0,     0,   347,     0,   209,
     1939       0,     0,     0,     0,   250,     0,   251,     0,     0,     0,
     1940       0,  1178,     0,     0,     0,     0,     0,     0,     0,   349,
     1941       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     1942       0,     0,   209,     0,     0,     0,     0,   349,   347,    75,
     1943       0,     0,     0,     0,   713,   713,     0,     0,   347,    30,
     1944     627,   347,   406,  1297,     0,     0,   218,     0,   347,   342,
     1945       0,     0,     0,   347,     0,     0,     0,     0,     0,     0,
     1946      77,     0,    33,     0,     0,    77,     0,    36,     0,     0,
     1947     349,    39,   718,     0,     0,   389,     0,     0,    40,    41,
     1948     718,   718,   718,     0,     0,   408,   409,   210,     0,     0,
     1949     413,     0,   415,   416,     0,   727,     0,     0,     0,     0,
     1950       0,     0,     0,   733,     0,     0,     0,     0,    54,     0,
     1951       0,     0,     0,   734,    72,    36,     0,   179,   180,    39,
     1952       0,     0,     0,     0,   718,     0,    40,    41,     0,     0,
     1953       0,    84,   575,   575,   349,     0,     0,     0,  1270,     0,
     1954       0,     0,     0,   209,     0,     0,     0,     0,     0,   342,
     1955       0,   600,     0,   601,     0,   255,     0,     0,   220,    63,
     1956       0,   602,    84,     0,     0,     0,     0,     0,     0,     0,
     1957       0,   209,   713,     0,   727,     0,   209,     0,   114,   349,
     1958     349,   349,     0,     0,     0,     0,     0,     0,     0,     0,
     1959       0,     0,     0,     0,   347,     0,   349,   221,     0,     0,
     1960       0,   713,     0,     0,     0,     0,     0,     0,     0,   713,
     1961     713,   713,     0,   342,   349,     0,     0,     0,     0,   896,
     1962     344,   344,     0,   899,    77,    75,     0,     0,     0,     0,
     1963       0,   349,     0,     0,  1178,     0,     0,     0,   350,     0,
     1964       0,     0,     0,    77,     0,     0,   347,   347,     0,   347,
     1965     347,    77,     0,   713,     0,     0,   406,     0,   342,   342,
     1966     342,   210,   209,     0,   114,     0,     0,    75,     0,    72,
     1967     349,     0,     0,     0,     0,   342,   209,   350,     0,     0,
     1968       0,     0,     0,     0,   357,     0,     0,     0,     0,     0,
     1969       0,     0,     0,     0,     0,   350,   499,    77,     0,     0,
     1970       0,     0,   347,   347,     0,   349,     0,     0,     0,     0,
     1971       0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     1972      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     1973      23,    24,     0,   344,    25,    26,    27,     0,   350,     0,
     1974       0,     0,    30,   446,     0,     0,   349,     0,     0,   342,
     1975       0,     0,     0,   210,   114,     0,   349,     0,     0,   349,
     1976       0,     0,     0,   347,   219,    33,   349,   209,   575,     0,
     1977       0,   349,    37,    38,     0,  1178,     0,     0,    84,     0,
     1978       0,     0,  1178,    84,     0,     0,     0,     0,     0,     0,
    20011979       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,
     1980      12,     0,   350,     0,     0,     0,   218,     0,   447,     0,
     1981       0,     0,   700,     0,     0,     0,   109,     0,     0,     0,
     1982       0,  1178,    36,    30,   179,   180,    39,    72,  1488,     0,
     1983       0,     0,    75,    40,    41,     0,     0,     0,   342,     0,
     1984     347,     0,   347,     0,     0,   342,    33,   350,   350,   350,
     1985       0,    36,     0,   179,   180,    39,     0,     0,   687,     0,
     1986     404,     0,    40,    41,   350,     0,     0,     0,   689,   347,
     1987       0,   807,   808,     0,     0,     0,   221,   347,   347,   347,
     1988     406,     0,   350,     0,     0,     0,     0,   181,   347,   347,
     1989       0,     0,     0,    77,     0,     0,     0,   182,     0,   350,
     1990       0,   842,    72,     0,   845,   846,     0,   849,     0,   851,
     1991     852,    54,   349,     0,   853,   854,     0,     0,     0,     0,
     1992       0,   347,     0,     0,     0,     0,     0,     0,     0,     0,
     1993       0,     0,     0,     0,     0,    77,     0,     0,   350,     0,
     1994       0,     0,    84,     0,     0,     0,    36,     0,   179,   180,
     1995      39,     0,     0,   209,  1132,     0,   357,    40,    41,     0,
     1996       0,    84,     0,     0,   349,   349,     0,   349,   349,    84,
     1997    1144,     0,     0,   350,   164,     0,   168,    54,     0,   174,
     1998     175,   176,  1468,   178,   404,     0,     0,    75,     0,     0,
     1999       0,   342,  1469,     0,     0,   357,   927,   928,   229,     0,
     2000       0,   347,   930,     8,     9,    10,    11,    12,     0,     0,
     2001     244,   245,     0,   357,   350,    84,     0,     0,     0,     0,
     2002     349,   349,     0,     0,   350,     0,     0,   350,     0,     0,
     2003      30,     0,   220,     0,   350,     0,     0,     0,     0,   350,
     2004       0,     0,     0,    72,     0,  1211,   342,   342,     0,     0,
     2005      72,     0,     0,    33,     0,     0,   357,     0,    36,     0,
     2006     179,   180,    39,     0,     0,     0,    54,     0,     0,    40,
     2007      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2008       0,   349,     0,     0,     0,     0,     0,     0,     0,    72,
     2009       0,     0,     0,     0,   687,     0,   404,     0,     0,     0,
     2010      77,     0,     0,     0,   689,     0,     0,     0,     0,     0,
     2011       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2012     357,     0,     0,     0,   219,     0,     0,   209,     8,     9,
     2013      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2014      20,    21,    22,    23,    24,    75,     0,    25,    26,    27,
     2015       0,     0,     0,     0,     0,    30,   446,     0,   349,     0,
     2016     349,     0,     0,     0,     0,   357,   357,   357,     0,     0,
     2017       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2018     350,     0,   357,     0,     0,    37,    38,   349,     0,     0,
     2019       0,     0,     0,     0,     0,   349,   349,   349,     0,     0,
     2020     357,     0,    54,    54,     0,     0,   349,   349,     0,     0,
     2021       0,    84,     0,     0,     0,     0,     0,   357,     0,   209,
     2022      75,   447,     0,     0,    54,   931,     0,     0,     0,   109,
     2023       0,     0,   350,   350,     0,   350,   350,     0,     0,   349,
     2024       0,     0,     0,    54,     0,     0,     0,     0,     0,     0,
     2025       0,     0,     0,    84,     0,    77,   357,     0,     0,     0,
     2026       0,     0,     0,   592,   599,     0,     0,     0,     0,     0,
     2027       0,     0,     0,     0,     0,   623,   624,     0,     0,     0,
     2028       0,     0,     0,     0,     0,   342,   342,     0,   350,   350,
     2029       0,   357,     0,     0,    54,     0,     0,     0,     0,    54,
     2030       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2031      17,    18,    19,    20,    21,    22,    23,    24,  -278,   349,
     2032      25,    26,    27,     0,     0,     0,     0,     0,    30,    54,
     2033       0,     0,   357,     0,     0,     0,     0,     0,     0,     0,
     2034       0,     0,   357,     0,     0,   357,     0,     0,     0,   350,
     2035     221,    33,   357,     0,     0,     0,     0,   357,    37,    38,
     2036       0,    75,  -278,     0,     0,     0,     0,     0,    75,     0,
     2037       0,     0,     0,     0,     0,  1207,     0,     8,     9,    10,
     2038      11,    12,     0,     0,     0,     0,     0,     0,     0,     0,
     2039       0,     0,   220,     0,   333,     0,     0,     0,   342,     0,
     2040       0,     0,   109,     0,    30,     0,     0,    75,     0,     0,
     2041       0,     0,     0,    77,     0,     0,     0,     0,    84,    54,
     2042       0,     0,     0,     0,     0,     0,   350,    33,   350,     0,
     2043       0,     0,    36,     0,   179,   180,    39,     0,     0,     0,
     2044      54,     0,     0,    40,    41,     0,     0,    54,     0,     0,
     2045       0,     0,     0,     0,     0,   350,     0,     0,     0,     0,
     2046       0,     0,     0,   350,   350,   350,     0,     0,  1468,     0,
     2047     404,     0,     0,     0,   350,   350,     0,     0,  1469,     0,
     2048       0,     0,     0,     0,     0,     0,    54,     0,    77,     0,
     2049       0,     0,     0,     0,     0,  1288,     0,     0,   357,     0,
     2050       0,     0,     0,     0,     0,     0,     0,   350,     0,  1014,
     2051       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2052       0,     0,     0,     0,     0,     0,   162,     0,     0,     0,
     2053       0,     0,     0,     0,     0,     0,     0,     0,   277,    30,
     2054     278,     0,     0,     0,     0,   214,     0,     0,     0,     0,
     2055     357,   357,     0,   357,   357,     0,     0,     0,     0,     0,
     2056       0,   279,    33,     0,     0,     0,     0,   280,     0,     0,
     2057       0,   281,     0,    84,   282,   283,   284,   285,    40,    41,
     2058       0,   286,   287,     0,     0,     0,     0,   350,     0,   288,
     2059       0,   162,     0,     0,     0,     0,   268,     0,     0,     0,
     2060       0,     0,     0,   289,     0,   373,   357,   357,     0,     0,
     2061       0,     0,   291,   813,   293,   294,   295,   296,     0,     0,
     2062       0,     0,     0,     0,     0,   162,     0,     0,     0,    77,
     2063       0,     0,     0,     0,     0,   363,    77,     0,   936,   369,
     2064     937,     0,     0,     0,     0,     0,     0,   940,   941,     0,
     2065       0,     0,   946,     0,  1152,     0,     0,     8,     9,    10,
     2066      11,    12,     0,     0,   951,     0,     0,   357,     0,   955,
     2067       0,     0,     0,     0,     0,    77,     0,     0,     0,     0,
     2068       0,     0,     0,   277,    30,   278,     0,   162,     0,     0,
     2069       0,     0,     0,   981,     0,     0,     0,     0,     0,   214,
     2070       0,     0,     0,     0,     0,     0,   279,    33,     0,     0,
     2071     221,     0,   280,     0,     0,     0,   281,   162,   454,   282,
     2072     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2073       0,    84,     0,     0,   288,     0,     0,   592,     0,     0,
     2074       0,   369,     0,     0,   357,     0,   357,     0,   289,   162,
     2075     373,     0,     0,     0,     0,     0,     0,   291,  1153,   293,
     2076     294,   295,   296,     0,     0,     0,     0,     0,     0,     0,
     2077       0,   454,     0,   357,   162,     0,     0,     0,     0,     0,
     2078       0,   357,   357,   357,     0,     0,     0,     0,     0,     0,
     2079       0,     0,   357,   357,  1025,  1026,  1027,  1028,     0,  1030,
     2080       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
     2081       0,     0,     0,     0,  1072,     0,     0,     0,     0,     0,
     2082       0,   597,     0,     0,     0,   357,   621,     0,  1078,     0,
     2083       0,     0,     0,     1,     2,   202,     4,     5,     6,     7,
     2084       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2085      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2086      26,    27,    28,     0,     0,    29,  1093,    30,     0,     0,
     2087       0,     0,   123,   123,   123,     0,     0,     0,     0,     0,
     2088       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2089      33,     0,    34,     0,    35,     0,     0,    37,    38,     0,
     2090       0,   162,   162,  1118,     0,   357,     0,   363,     0,     0,
     2091    1126,     0,     0,     0,  1130,     0,     0,     0,     0,  1134,
     2092       0,  1135,     0,     0,     0,  1137,  1138,  1139,   454,     0,
     2093    1142,   454,     0,    43,     0,     0,     0,   454,     0,  1154,
     2094       0,   109,     0,   123,     0,   123,     0,    84,     0,     0,
     2095       0,     0,     0,     0,    84,     0,     0,  1169,  1170,     8,
     2096       9,    10,    11,    12,   730,     0,     0,     0,     0,   271,
     2097       0,     0,     0,     0,     0,     0,   162,     0,     0,     0,
     2098       0,     0,  1199,     0,     0,  1201,    30,     0,     0,   454,
     2099       0,     0,   454,    84,   162,   454,     0,     0,     0,     0,
     2100       0,     0,     0,     0,     0,     0,     0,   363,     0,    33,
     2101       0,     0,     0,     0,    36,     0,   179,   180,    39,     0,
     2102       0,     0,     0,  1216,   123,    40,    41,     0,     0,  1220,
     2103    1221,     0,   123,     0,   123,   123,     0,     0,  1229,   123,
     2104       0,   123,   123,  1233,     0,     0,  1237,     0,  1238,     0,
     2105     261,  1240,     0,     0,     0,     0,     0,     0,     0,   162,
     2106     262,     0,     0,     0,  1248,     0,     0,     0,     0,     0,
     2107       0,   363,     0,   597,     0,     0,   823,  1255,     0,  1257,
     2108    1258,  1259,  1260,     0,     0,     0,     0,     0,     0,     0,
     2109       0,     0,     0,     0,     0,  1267,     0,  1268,     0,     0,
     2110       0,   168,   597,     0,     0,     0,     0,   597,     0,     0,
     2111       0,   123,     0,     0,     0,     0,   363,   363,   363,     0,
     2112       0,     0,     0,     0,     0,     0,     0,     0,     0,  1292,
     2113    1293,     0,     0,   363,     0,     0,     0,   207,     0,     0,
     2114       0,     0,     0,     0,     0,     0,     0,   227,     0,   231,
     2115       0,   233,     0,     0,     0,     0,     0,     0,   242,     0,
     2116       0,     0,     0,     0,     0,     0,     0,     0,   730,     0,
     2117       0,     0,     0,     0,     0,     0,     0,  1326,  1327,     0,
     2118       0,     0,     0,     0,     0,     0,     0,  1337,   207,   454,
     2119     231,   233,   242,     0,     0,     0,     0,     0,     0,     0,
     2120       0,     0,     0,     0,     0,     0,     0,   363,     0,   945,
     2121       0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
     2122       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2123       0,   207,     0,  1364,     0,     0,     0,     0,     0,     0,
     2124       0,     0,   730,     0,     0,  1368,     0,  1369,  1370,  1371,
     2125       0,     0,     0,     0,     0,     0,     0,     0,     0,  1375,
     2126       0,     0,     0,     0,     0,   153,     0,     0,  1386,     0,
     2127       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2128    1394,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2129       0,   207,     0,   231,   233,   242,   363,     0,     0,     0,
     2130     621,     0,     0,   363,     0,     0,     0,     0,     0,     0,
     2131       0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
     2132       0,   252,     0,     0,     0,     0,     0,  1433,  1434,   207,
     2133       0,     0,     0,   207,     0,     0,     0,     0,     0,     0,
     2134    1439,     0,     0,     0,     0,     0,     0,  1439,     0,   497,
     2135       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2136      18,    19,    20,    21,    22,    23,    24,  -278,     0,    25,
     2137      26,    27,  1467,     0,     0,     0,   153,    30,     0,     0,
     2138       0,     0,     0,     0,     0,     0,     0,     0,     0,   379,
     2139       0,     0,     0,     0,     0,   454,     0,   207,  1489,     0,
     2140      33,     0,     0,     0,     0,    36,     0,   331,   332,    39,
     2141       0,  -278,   411,     0,     0,     0,    40,    41,   207,     0,
     2142     123,   123,  1502,   231,   233,     0,   425,  1504,     0,     0,
     2143       0,   242,     0,     0,     0,   430,   162,     0,     0,     0,
     2144       0,   634,     0,   333,     0,   438,     0,     0,     0,   363,
     2145     123,   625,     0,   123,   123,     0,   123,     0,   123,   123,
     2146       0,     0,     0,   123,   123,     0,     0,     0,     0,     0,
     2147     464,     0,     0,   207,     0,   474,     0,     0,     0,     0,
     2148       0,     0,     0,   597,     0,     0,     0,     0,   482,     0,
     2149       0,   207,     0,     0,   492,     0,   496,   207,     0,     0,
     2150       0,     0,     0,     0,   363,   363,     0,     0,     0,     0,
     2151       0,     0,   525,     0,   207,     0,     0,   207,   207,     0,
     2152       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2153       0,     0,     0,   207,     0,     0,     0,     0,     0,     0,
     2154     123,     0,     0,     0,     0,   123,   123,   207,     0,     0,
     2155       0,   123,     0,     0,   207,   584,     0,     0,     0,     0,
     2156     589,     0,   454,   201,     2,   202,     4,     5,     6,     7,
     2157       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2158      18,    19,    20,    21,    22,    23,    24,     0,   635,    25,
     2159      26,    27,   636,   637,     0,   639,     0,    30,     0,     0,
     2160       0,   649,   650,     0,   651,   652,     0,   653,     0,   654,
     2161       0,     0,     0,     0,     0,     0,     0,     0,   730,     0,
     2162      33,     0,    34,     0,    35,    36,   584,   203,    38,    39,
     2163       0,     0,     0,     0,   669,     0,    40,    41,     0,     0,
     2164       0,     0,     0,   277,     0,   278,     0,     0,     0,     0,
     2165       0,     0,     0,     0,     0,     0,     0,     0,   680,     0,
     2166     214,    42,     0,   204,     0,     0,   279,     0,   207,   686,
     2167       0,   205,   280,     0,     0,     0,   281,     0,     0,   282,
     2168     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2169       0,     0,   722,     0,   288,     0,   207,   730,   725,     0,
     2170       0,   207,     0,   464,     0,     0,     0,     0,   289,     0,
     2171     373,     0,     0,     0,     0,     0,     0,   291,   375,   293,
     2172     294,   295,   296,     0,     0,     0,     0,     0,   336,   358,
     2173       0,  1194,     0,     0,     0,     0,     0,     0,     0,   760,
     2174       0,     0,     0,   363,   363,     0,     0,     0,     0,     0,
     2175       0,     0,   214,     0,     0,   775,     0,     0,     0,     0,
     2176       0,   407,     0,     0,     0,     0,     0,     0,   407,     8,
     2177       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2178      19,    20,    21,    22,    23,    24,     0,   207,    25,    26,
     2179      27,   801,     0,     0,     0,   277,    30,   278,     0,     0,
     2180     811,   207,     0,     0,     0,     0,     0,   814,     0,     0,
     2181       0,     0,   821,     0,     0,     0,     0,     0,   279,    33,
     2182       0,   497,     0,   836,   280,     0,    37,    38,   281,     0,
     2183       0,   282,   283,   284,   285,    40,    41,     0,   286,   287,
     2184     407,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2185       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2186     289,     0,   517,   876,     0,   167,     0,     0,     0,   291,
     2187     292,   293,   294,   295,   296,     0,     0,     0,     0,   207,
     2188       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2189       0,     0,   207,     0,   407,     0,     0,     0,   821,     0,
     2190       0,     0,   407,   580,     0,   407,   583,   454,     0,     0,
     2191       0,   207,     0,     0,     0,   358,     0,     0,     0,   613,
    20482192       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,
     2193       0,     0,     0,     0,   454,     0,     0,     0,   631,     0,
     2194       0,   336,     0,     0,     0,     0,     0,     0,     0,     0,
     2195       0,     0,     0,   247,     0,     0,     0,   162,     0,     0,
     2196       0,     0,     0,   952,   953,     0,     0,   407,     0,     0,
     2197       0,   407,     0,     0,     0,   967,     0,     0,     0,     0,
     2198       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2199       0,     0,   982,     0,   983,     0,   207,     0,   987,     0,
     2200       0,   358,     0,     0,     0,     0,     0,     0,     0,     0,
     2201       0,     0,     0,     0,     0,     0,     0,     0,   316,     0,
     2202       0,     0,   207,     0,   407,     0,     0,     0,   340,     0,
     2203       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2204     376,     0,     0,     0,   123,     0,     0,   207,     0,     0,
     2205       0,     0,     0,     0,     0,   407,     0,     0,   358,     0,
     2206       0,     0,     0,  1019,     0,     0,     0,     0,     0,     0,
     2207    1020,     0,     0,     0,     0,   277,     0,   278,   207,     0,
     2208       0,     0,     0,  1022,     0,  1023,     0,     0,     0,   207,
     2209       0,     0,     0,     0,     0,     0,     0,   407,   279,  1035,
     2210     336,   358,     0,     0,   280,  1039,     0,     0,   281,     0,
     2211     316,   282,   283,   284,   285,    40,    41,  1075,   286,   287,
     2212    1076,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2213       0,     0,     0,     0,     0,   478,     0,     0,   589,     0,
     2214     289,     0,   373,     0,     0,   407,   407,     0,   798,   291,
     2215     375,   293,   294,   295,   296,     0,     0,     0,     0,     0,
     2216       0,     0,     0,     0,   816,   358,     0,   358,   207,     0,
     2217       0,     0,     0,     0,     0,     0,   613,     0,   613,   613,
     2218       0,     0,     0,     0,     0,   613,     0,     0,     0,     0,
     2219       0,     0,     0,     0,     0,   855,   358,     0,     0,     0,
     2220       0,   358,     0,     0,     0,     0,     0,     0,     0,     0,
     2221     358,   358,   358,     0,     0,     0,     0,     0,     0,     0,
     2222       0,     0,  1136,     0,     0,     0,     0,   358,     0,     0,
     2223       0,     0,   407,   897,     0,     0,   407,   900,     0,     0,
     2224       0,     0,     0,   902,     0,     0,     0,     0,     0,   376,
     2225       0,     0,   207,   277,     0,   278,     0,     0,     0,     0,
     2226       0,   336,   358,   407,     0,   407,     0,     0,     0,   407,
     2227       0,     0,     0,     0,     0,     0,   279,   525,     0,     0,
     2228       0,     0,   640,  1200,   136,   137,   281,     0,     0,   282,
     2229     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2230       0,   358,   613,     0,   288,     0,     0,     0,     0,     0,
     2231       0,     0,  1213,     0,     0,     0,     0,  1215,   289,     0,
     2232     641,     0,   642,   374,     0,  1219,     0,   291,   375,   293,
     2233     294,   295,   296,     0,     0,   336,   358,     0,     0,     0,
     2234     407,   407,     0,     0,   207,   504,   508,   504,   511,   724,
     2235       0,     0,     0,  1242,     0,   514,   515,     0,     0,     0,
     2236     504,   504,     0,     0,     0,  1250,     0,     0,  1251,     0,
     2237    1252,     0,   504,     0,     0,     0,     0,     0,     0,     0,
     2238       0,   407,     0,     0,  1261,  1262,     0,   756,     0,     0,
     2239     358,     0,     0,     0,     0,     0,   816,   358,     0,     0,
     2240     769,   613,     0,   613,     0,     0,  1275,   756,   504,     0,
     2241       0,     0,     0,   613,     0,     0,     0,     0,     0,     0,
     2242     778,   779,     0,     0,     0,     0,     0,     0,     0,     0,
     2243       0,     0,  1294,     0,     0,     0,     0,     0,     0,     0,
     2244       0,     0,   800,     0,   504,     0,     0,     0,     0,     0,
     2245       0,     0,   809,     0,     0,     0,     0,     0,     0,   340,
     2246       0,     0,     0,     0,   769,     0,     0,     0,     8,     9,
     2247      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2248      20,    21,    22,    23,    24,   816,     0,    25,    26,    27,
     2249       0,     0,     0,   407,     0,    30,     0,     0,   407,     0,
     2250       0,     0,     0,     0,     0,     0,   407,     0,     0,     0,
     2251       0,     0,     0,     0,   875,     0,     0,     0,    33,   613,
     2252     613,   376,  1358,     0,  1359,   203,    38,     0,     0,     0,
     2253       0,     0,     0,     0,     0,  1366,     0,  1367,     0,     0,
     2254       0,     0,     0,   358,     0,     0,     0,     0,     0,   407,
     2255       0,     0,     0,     0,     0,  1374,     0,     0,     0,     0,
     2256       0,   340,   207,     0,     0,     0,     0,   407,  1133,   267,
     2257       0,  1392,     0,     0,     0,     0,     0,   358,     0,  1395,
     2258       0,     0,  1219,   407,  1145,     0,   613,   613,  1150,     0,
    20662259       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,
     2260       0,     0,  1416,     0,     0,     0,     0,     0,     0,     0,
     2261       0,  1423,     0,     0,  1425,  1427,     0,   504,   504,   504,
     2262     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
     2263     504,   504,   504,   504,   504,   769,     0,   972,     0,     0,
     2264       0,     0,     0,   977,     0,     0,     0,     0,     0,  1452,
     2265     986,  1219,     0,     0,     0,     0,     0,   816,   407,  1212,
     2266     504,     0,     0,  1462,     0,     0,     0,     0,     0,     0,
     2267     613,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    20952268       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,
     2269       0,     0,     0,  1002,  1003,     0,   340,     0,     0,     0,
    20992270       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,
     2271       0,   340,   358,     2,   202,     4,     5,     6,     7,     8,
    21242272       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    21252273      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,
     2274      27,     0,     0,     0,     0,   277,    30,   278,     0,     0,
     2275       0,  1033,     0,     0,     0,   376,     0,   504,     0,     0,
     2276       0,     0,     0,     0,     0,     0,     0,     0,   279,    33,
     2277       0,    34,   336,    35,   280,     0,    37,    38,   281,   504,
     2278       0,   282,   283,   284,   285,    40,    41,     0,   286,   287,
     2279       0,   358,   504,     0,     0,     0,   288,     0,     0,     0,
    21472280       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,
     2281     289,     0,   338,     0,     0,     0,     0,   768,     0,   291,
     2282     339,   293,   294,   295,   296,     0,     0,     0,     0,   316,
     2283       0,     0,     0,     0,     0,     0,   504,   358,   358,     0,
     2284       0,     0,  1114,  1115,     0,     0,     0,     0,   277,   376,
     2285     278,     0,     0,     0,     0,   977,     0,     0,  1124,     0,
     2286     756,     0,     0,     0,     0,     0,     0,   504,     0,     0,
     2287       0,   279,     0,     0,     0,     0,     0,   280,     0,  1140,
     2288       0,   281,   504,     0,   282,   283,   284,   285,    40,    41,
     2289    1155,   286,   287,     0,     0,     0,     0,     0,     0,   288,
    21552290       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,
     2291       0,     0,   376,   289,  1173,   373,     0,     0,   374,     0,
     2292       0,     0,   291,   375,   293,   294,   295,   296,     0,  1195,
     2293       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2294       0,     0,     0,     0,     0,     0,     0,     0,  1204,     0,
     2295     358,     0,  -497,     0,     0,     1,     2,     3,     4,     5,
     2296       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2297      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2298       0,    25,    26,    27,    28,     0,     0,    29,     0,    30,
     2299      31,     0,   977,     0,     0,     0,     0,     0,     0,     0,
     2300       0,     0,     0,     0,     0,     0,     0,     0,     0,    32,
     2301       0,   875,    33,     0,    34,     0,    35,    36,     0,    37,
     2302      38,    39,     0,     0,     0,   407,  1253,  1254,    40,    41,
     2303       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
     2304       0,   278,     0,     0,   407,   407,     0,     0,     0,     0,
     2305       0,     0,     0,    42,     0,    43,     0,     0,   504,     0,
     2306       0,     0,   279,    44,   407,     0,     0,     0,   280,     0,
     2307     504,     0,   281,     0,     0,   282,   283,   284,   285,    40,
     2308      41,     0,   286,   287,     0,     0,     0,     0,     0,     0,
     2309     288,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2310       0,     0,     0,   977,   289,     0,   373,     0,     0,   974,
     2311       0,   504,     0,   291,   375,   293,   294,   295,   296,     0,
     2312       0,     1,     2,   202,     4,     5,     6,     7,     8,     9,
     2313      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2314      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2315      28,     0,     0,    29,   277,    30,  1042,  1043,     0,  1044,
     2316       0,     0,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,
     2317       0,  1053,     0,     0,  1054,    32,     0,   279,    33,   504,
     2318      34,     0,    35,   640,     0,    37,    38,   281,     0,     0,
     2319     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2320       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2321       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2322       0,  1055,   504,     0,   167,     0,     0,     0,   291,   292,
     2323     293,   294,   295,   296,     0,     0,   504,   504,     0,     0,
     2324    1402,     0,  -126,     0,     1,     2,   202,     4,     5,     6,
     2325       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2326      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2327      25,    26,    27,    28,     0,     0,    29,   277,    30,   278,
     2328       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2329       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2330     279,    33,     0,    34,     0,    35,   280,  1454,    37,    38,
     2331     281,     0,     0,   282,   283,   284,   285,    40,    41,     0,
     2332     286,   287,     0,     0,     0,     0,     0,     0,   288,     0,
     2333       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2334       0,     0,   289,     0,  1055,     0,     0,     0,     0,     0,
     2335     316,   291,   292,   293,   294,   295,   296,     0,     0,     0,
     2336       0,     0,     0,     0,     0,  -126,     1,     2,   202,     4,
    21892337       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    21902338      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,
     2339       0,     0,    25,    26,    27,    28,     0,     0,    29,   277,
     2340      30,   278,     8,     9,    10,    11,    12,    13,    14,    15,
     2341      16,    17,    18,    19,    20,    21,    22,    23,    24,  -278,
     2342       0,     0,   279,    33,     0,    34,     0,    35,   280,    30,
     2343      37,    38,   281,     0,     0,   282,   283,   284,   285,    40,
     2344      41,     0,   286,   287,     0,     0,     0,   504,     0,     0,
     2345     288,     0,    33,     0,     0,     0,     0,     0,     0,     0,
     2346       0,     0,     0,  -278,   289,     0,    43,     0,     0,     0,
     2347       0,     0,     0,   291,   292,   293,   294,   295,   296,     0,
     2348       0,     0,     2,   202,     4,     5,     6,     7,     8,     9,
     2349      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2350      20,    21,    22,    23,    24,   504,   504,    25,    26,    27,
     2351       0,     0,     0,     0,   277,    30,   278,     8,     9,    10,
     2352      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2353      21,    22,    23,    24,  -279,     0,     0,   279,    33,     0,
     2354      34,     0,    35,   280,    30,    37,    38,   281,     0,     0,
     2355     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2356       0,     0,     0,     0,     0,   288,     0,    33,     0,     0,
     2357       0,     0,     0,     0,     0,     0,     0,     0,  -279,   289,
     2358       0,   916,     0,     0,     0,     0,   768,     0,   291,   339,
     2359     293,   294,   295,   296,     2,   202,     4,     5,     6,     7,
     2360       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2361      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2362      26,    27,     0,     0,     0,     0,   277,    30,   278,     8,
     2363       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2364      19,    20,    21,    22,    23,    24,     0,     0,     0,   279,
     2365      33,     0,    34,     0,    35,   280,    30,    37,    38,   281,
     2366       0,     0,   282,   283,   284,   285,    40,    41,     0,   286,
     2367     287,     0,     0,     0,     0,     0,     0,   288,     0,    33,
    21932368       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,
     2369       0,   289,     0,   916,     0,     0,     0,     0,   768,     0,
     2370     291,   591,   293,   294,   295,   296,     2,   202,     4,     5,
     2371       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2372      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2373       0,    25,    26,    27,     0,     0,     0,     0,   277,    30,
     2374     278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    22192375       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,
     2376       0,   279,    33,     0,    34,     0,    35,   280,     0,    37,
     2377      38,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2378       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2379       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2380       0,     0,     0,   289,     0,   338,     0,     0,     0,     0,
     2381       0,     0,   291,   339,   293,   294,   295,   296,     2,   202,
     2382       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2383      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2384      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2385     277,    30,   278,     0,     0,     0,     0,     0,     0,     0,
     2386       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2387       0,     0,     0,   279,    33,     0,    34,     0,    35,   280,
     2388       0,    37,    38,   281,     0,     0,   282,   283,   284,   285,
     2389      40,    41,     0,   286,   287,     0,     0,     0,     0,     0,
     2390       0,   288,     0,     0,     0,     0,     0,     0,     0,     0,
     2391       0,     0,     0,     0,     0,   289,     0,   916,     0,     0,
     2392       0,     0,     0,     0,   291,   339,   293,   294,   295,   296,
    22352393       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    22362394      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,
     2395      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2396       0,     0,   277,    30,   278,     0,     0,     0,     0,     0,
     2397       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2398       0,     0,     0,     0,     0,   279,    33,     0,    34,     0,
     2399      35,   280,     0,   203,    38,   281,     0,     0,   282,   283,
     2400     284,   285,    40,    41,     0,   286,   287,     0,     0,     0,
     2401       0,     0,     0,   288,     0,     0,     0,     0,     0,     0,
     2402       0,     0,     0,     0,     0,     0,     0,   289,     0,  1000,
     2403       0,     0,     0,     0,     0,     0,   291,  1001,   293,   294,
     2404     295,   296,     2,   202,     4,     5,     6,     7,     8,     9,
    22612405      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,
     2406      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2407       0,     0,     0,     0,   277,    30,   278,     0,     0,     0,
     2408       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2409       0,     0,     0,     0,     0,     0,     0,   279,    33,     0,
     2410      34,     0,    35,   280,     0,   203,    38,   281,     0,     0,
     2411     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2412       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2413       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2414       0,   373,     0,     0,     0,     0,     0,     0,   291,   375,
     2415     293,   294,   295,   296,     1,     2,     3,     4,     5,     6,
     2416       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2417      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2418      25,    26,    27,    28,     0,     0,    29,     0,    30,    31,
     2419       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2420       0,     0,     0,     0,     0,     0,     0,     0,    32,     0,
     2421       0,    33,     0,    34,     0,    35,    36,     0,    37,    38,
     2422      39,     0,     0,     0,     0,     0,     0,    40,    41,     0,
     2423       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2424       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2425       0,     0,    42,     0,    43,     0,     0,     0,  -501,     0,
     2426       0,     0,    44,     1,     2,     3,     4,     5,     6,     7,
     2427       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2428      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2429      26,    27,    28,     0,     0,    29,     0,    30,    31,     0,
     2430       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2431       0,     0,     0,     0,     0,     0,     0,    32,     0,     0,
     2432      33,     0,    34,     0,    35,    36,     0,    37,    38,    39,
     2433       0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
     2434       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2435       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2436       0,    42,     0,    43,     0,     0,     0,     0,     0,     0,
     2437       0,    44,     1,     2,   202,     4,     5,     6,     7,     8,
     2438       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2439      19,    20,    21,    22,    23,    24,  -278,     0,    25,    26,
     2440      27,    28,     0,     0,    29,     0,    30,     0,     0,     0,
     2441       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2443       0,    34,     0,    35,     0,     0,    37,    38,     0,     0,
     2444    -278,   201,     2,   202,     4,     5,     6,     7,     8,     9,
     2445      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2446      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2447       0,     0,    43,     0,     0,    30,     0,     0,     0,     0,
     2448     109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2449       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2450      34,     0,    35,     0,     0,   203,    38,     2,   202,     4,
    22712451       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    22722452      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    22732453       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,
     2454      30,   204,     0,     0,     0,     0,     0,     0,     0,   267,
    22862455       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,
     2456       0,     0,     0,    33,     0,    34,     0,    35,    36,     0,
     2457     203,    38,    39,     0,     0,     0,     0,     0,     0,    40,
     2458      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2459       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2460       0,     0,     0,     0,    42,     0,   204,     0,     0,     0,
     2461       0,     0,     0,     0,   205,     2,   202,     4,     5,     6,
    22962462       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    22972463      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,
     2464      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    23382465       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23392466       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,
     2467       0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
     2468       0,     0,     2,   202,     4,     5,     6,     7,     8,     9,
    24252469      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    24262470      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    2427       28,     0,     0,    29,     0,    30,    31,     0,     0,     0,
     2471       0,     0,     0,  -383,   676,    30,     0,     0,     0,     0,
     2472       0,     0,   625,     0,     0,     0,     0,     0,     0,     0,
     2473       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2474      34,     0,    35,     0,     0,    37,    38,     0,     0,     0,
    24282475       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,
     2476       0,     0,     0,     0,     0,     0,     0,  1334,     0,     0,
    24322477       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,
     2478       0,   676,     0,     0,     0,     0,     0,     0,     0,   625,
    24662479       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    24672480      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    24682481      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,
     2482       0,     0,     0,    30,     8,     9,    10,    11,    12,    13,
     2483      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2484      24,     0,     0,    25,    26,    27,    33,     0,    34,     0,
     2485      35,    30,     0,    37,    38,     0,     0,     0,     0,     0,
    24732486       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,
     2487       0,     0,     0,     0,    33,  1336,     0,     0,     0,   108,
     2488       0,    37,    38,     0,     0,     0,     0,     0,     0,   676,
     2489       0,     0,     0,     0,     0,     0,     0,   625,     2,   202,
    24772490       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24782491      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    24792492      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,
     2493       0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
    24842494       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,
     2495       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
     2496       0,   203,    38,     2,   202,     4,     5,     6,     7,     8,
    25392497       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    25402498      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2541       27,     0,     0,     0,     0,   278,    30,   279,     0,     0,
     2499      27,     0,     0,     0,     0,     0,    30,   266,     0,     0,
     2500       0,     0,     0,     0,     0,   620,     0,     0,     0,     0,
     2501       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2502       0,    34,     0,    35,     0,     0,    37,    38,     2,   202,
     2503       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2504      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2505      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2506       0,    30,   676,     0,     0,     0,     0,     0,     0,     0,
     2507     625,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2508       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
     2509       0,    37,    38,     2,   202,     4,     5,     6,     7,     8,
     2510       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2511      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2512      27,     0,     0,     0,     0,     0,    30,   590,     0,     0,
     2513       0,     0,     0,     0,     0,   625,     0,     0,     0,     0,
     2514       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2515       0,    34,     0,    35,     0,     0,   203,    38,     8,     9,
     2516      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2517      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2518       0,     0,     0,     0,   277,    30,   278,     0,     0,     0,
     2519       0,     0,   204,     0,     0,     0,     0,     0,     0,     0,
     2520     267,     0,     0,     0,     0,     0,     0,   279,    33,     0,
     2521       0,     0,     0,   280,     0,    37,    38,   281,     0,     0,
     2522     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2523       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2524       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2525       0,   590,    -3,     0,     0,     0,     0,     0,   291,   591,
     2526     293,   294,   295,   296,     8,     9,    10,    11,    12,    13,
     2527      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2528      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2529     277,    30,   278,     0,     0,     0,     0,     0,     0,     0,
    25422530       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,
     2531       0,     0,     0,   279,    33,     0,     0,     0,     0,   640,
     2532       0,    37,    38,   281,     0,     0,   282,   283,   284,   285,
     2533      40,    41,     0,   286,   287,     0,     0,     0,     0,     0,
     2534       0,   288,     0,     0,     0,     0,     0,     0,     0,     0,
     2535       0,     0,     0,     0,     0,   289,   -35,   753,     0,     0,
     2536       0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
     2537       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2538      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2539      26,    27,     0,     0,     0,     0,   277,    30,   278,     0,
    25472540       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,
     2541       0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
     2542      33,     0,     0,     0,     0,   280,     0,    37,    38,   281,
     2543       0,     0,   282,   283,   284,   285,    40,    41,     0,   286,
     2544     287,     0,     0,     0,     0,     0,     0,   288,     0,     0,
    25532545       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,
     2546       0,   289,     0,   290,     0,     0,     0,     0,     0,     0,
     2547     291,   292,   293,   294,   295,   296,     8,     9,    10,    11,
     2548      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2549      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2550       0,     0,   277,    30,   278,     0,     0,     0,     0,     0,
     2551       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2552       0,     0,     0,     0,     0,   279,    33,     0,     0,     0,
     2553       0,   280,     0,    37,    38,   281,     0,     0,   282,   283,
     2554     284,   285,    40,    41,     0,   286,   287,     0,     0,     0,
     2555       0,     0,     0,   288,     0,     0,     0,     0,     0,     0,
     2556       0,     0,     0,     0,     0,     0,     0,   289,     0,   154,
     2557       0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
     2558     295,   296,     8,     9,    10,    11,    12,    13,    14,    15,
     2559      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2560       0,    25,    26,    27,     0,     0,     0,     0,   277,    30,
     2561     278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2562       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2563       0,   279,    33,     0,     0,     0,     0,   280,     0,    37,
     2564      38,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2565       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2566       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2567       0,     0,     0,   289,     0,   590,     0,     0,     0,     0,
     2568       0,     0,   291,   591,   293,   294,   295,   296,     8,     9,
     2569      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2570      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2571       0,     0,     0,     0,   277,    30,   278,     0,     0,     0,
     2572       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2573       0,     0,     0,     0,     0,     0,     0,   279,    33,     0,
     2574       0,     0,     0,   280,     0,    37,    38,   281,     0,     0,
     2575     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2576       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2577       0,     0,     0,     0,     0,     0,     0,     0,     0,   289,
     2578       0,   373,     0,     0,     0,     0,     0,     0,   291,   375,
     2579     293,   294,   295,   296,   467,     2,   202,     4,     5,     6,
     2580       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    25612581      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2562       25,    26,    27,     0,     0,     0,     0,   278,    30,   279,
     2582      25,    26,    27,     0,     0,     0,     0,     0,    30,     8,
     2583       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2584      19,    20,    21,    22,    23,    24,  -278,     0,    25,    26,
     2585      27,    33,     0,    34,     0,    35,    30,     0,    37,    38,
     2586       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2587      16,    17,    18,    19,    20,    21,    22,    23,    24,    33,
     2588       0,    25,    26,    27,    36,     0,   331,   332,    39,    30,
     2589    -278,     0,     0,     0,     0,    40,    41,    -3,     0,     0,
    25632590       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,
     2591       0,     0,    33,     0,     0,     0,     0,    36,     0,    37,
     2592      38,    39,   333,     0,     0,     0,     0,     0,    40,    41,
     2593     109,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    25892594      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,
     2595      25,    26,    27,    42,     0,   154,     0,     0,    30,     0,
     2596       0,     0,     0,    44,     0,     0,     0,     0,     0,     0,
    25922597       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25932598       0,    33,     0,     0,     0,     0,    36,     0,    37,    38,
     
    25952600       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    25962601      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2597       27,     0,    42,     0,   154,     0,    30,     0,     0,     0,
     2602      27,     0,    42,     0,    43,     0,    30,     0,     0,     0,
    25982603       0,     0,    44,     0,     0,     0,     0,     0,     0,     0,
    25992604       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2600        0,     0,     0,     0,    36,     0,    37,    38,    39,     0,
     2605       0,     0,     0,     0,    36,     0,   203,    38,    39,     0,
    26012606       0,     0,     0,     0,     0,    40,    41,     8,     9,    10,
    26022607      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    26032608      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,
     2609      42,     0,   266,     0,    30,     0,     0,     0,     0,     0,
     2610     205,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26062611       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    2607        0,     0,    36,     0,   203,    38,    39,     0,     0,     0,
     2612       0,     0,    36,     0,   331,   332,    39,     0,     0,     0,
    26082613       0,     0,     0,    40,    41,     8,     9,    10,    11,    12,
    26092614      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,
     2615      23,    24,     0,     0,    25,    26,    27,     0,   634,     0,
     2616     333,     0,    30,     0,     0,     0,     0,     0,   625,     0,
    26122617       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26132618       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2614       36,     0,   332,   333,    39,     0,     0,     0,     0,     0,
     2619      36,     0,   331,   332,    39,     0,     0,     0,     0,     0,
    26152620       0,    40,    41,     8,     9,    10,    11,    12,    13,    14,
    26162621      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,
     2622    -278,     0,    25,    26,    27,     0,     0,     0,   333,     0,
     2623      30,     0,     0,     0,     0,     0,   109,     0,     0,     0,
    26192624       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,
     2625       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     2626      37,    38,     0,     0,  -278,     8,     9,    10,    11,    12,
     2627      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2628      23,    24,  -278,     0,    25,    26,    27,     0,     0,     0,
     2629       0,     0,    30,     0,   634,     0,   333,     0,     0,     0,
    26252630       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,
     2631       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2632       0,     0,    37,    38,     0,     0,  -278,     8,     9,    10,
     2633      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2634      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2635       0,     0,     0,     0,    30,   446,   634,     0,   333,     0,
     2636       0,     0,     0,     0,     0,     0,   625,     0,     0,     0,
     2637       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
     2638       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
     2639      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2640      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2641       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
     2642     447,     0,     0,     0,  1209,     0,     0,     0,   109,     0,
     2643       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
     2644       0,   108,     0,    37,    38,     8,     9,    10,    11,    12,
    26352645      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    26362646      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,
     2647       0,     0,    30,   446,     0,     0,     0,     0,     0,    43,
     2648       0,     0,     0,     0,     0,     0,     0,   109,     0,     0,
    26392649       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    26402650       0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    26412651      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    26422652      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,
     2653       0,    30,     0,     0,     0,     0,     0,     0,   447,     0,
     2654       0,     0,     0,     0,     0,     0,   109,     0,     0,     0,
    26452655       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    26462656       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    26472657      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,
    26662658       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2667       30,   448,     0,     0,     0,     0,     0,    43,     0,     0,
     2659      30,     0,     0,     0,     0,   634,     0,   333,     0,     0,
    26682660       0,     0,     0,     0,     0,   109,     0,     0,     0,     0,
    26692661       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     
    26712663      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    26722664       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,
     2665       0,     0,     0,     0,   634,     0,   333,     0,     0,     0,
     2666       0,     0,     0,     0,   625,     0,     0,     0,     0,     0,
    26752667       0,     0,    33,     0,     0,     0,     0,     0,     0,    37,
    26762668      38,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    26772669      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    26782670      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    2679        0,     0,     0,   636,     0,   334,     0,     0,     0,     0,
     2671       0,     0,     0,     0,     0,   253,     0,     0,     0,     0,
    26802672       0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
    26812673       0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
     
    26832675      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    26842676      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,
     2677       0,     0,     0,     0,   154,     0,     0,     0,     0,     0,
     2678       0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
     2679      33,     0,     0,     0,     0,     0,     0,   203,    38,     8,
    26882680       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    26892681      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    26902682      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,
     2683       0,     0,     0,   266,     0,     0,     0,     0,     0,     0,
     2684       0,   267,     0,     0,     0,     0,     0,     0,     0,    33,
    26932685       0,     0,     0,     0,     0,     0,    37,    38,     8,     9,
    26942686      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    26952687      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    26962688       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,
     2689       0,     0,   253,     0,     0,     0,     0,     0,     0,     0,
     2690     625,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2691       0,     0,     0,     0,     0,    37,    38,     8,     9,    10,
    27002692      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    27012693      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    27022694       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
    2703        0,   266,     0,     0,     0,     0,     0,     0,     0,   267,
     2695       0,   333,     0,     0,     0,     0,     0,     0,     0,   625,
    27042696       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    27052697       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
     
    27072699      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    27082700       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
    2709      253,     0,     0,     0,     0,     0,     0,     0,   627,     0,
     2701     447,     0,     0,     0,     0,     0,     0,     0,   109,     0,
    27102702       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
    2711        0,     0,     0,    37,    38,     8,     9,    10,    11,    12,
     2703       0,     0,     0,   203,    38,     8,     9,    10,    11,    12,
    27122704      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    27132705      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,
     2706       0,     0,    30,     0,     0,     0,     0,     0,     0,   266,
     2707       0,     0,     0,     0,     0,     0,     0,   620,     0,     0,
    27162708       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    27172709       0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    27182710      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    27192711      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,
     2712       0,    30,     0,     0,     0,     0,     0,     0,   590,     0,
     2713       0,     0,     0,     0,     0,     0,   625,     0,     0,     0,
    27222714       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    2723        0,   203,    38,     8,     9,    10,    11,    12,    13,    14,
     2715       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    27242716      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    27252717       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,
     2718      30,     0,     0,     0,     0,     0,     0,   333,     0,     0,
     2719       0,     0,     0,     0,     0,   109,     0,     0,     0,     0,
    27282720       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    27292721      37,    38,     8,     9,    10,    11,    12,    13,    14,    15,
    27302722      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    27312723       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,
     2724       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
     2725       0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
     2726       0,     0,    33,     0,     0,     0,     0,     0,     0,   203,
     2727      38,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2728      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2729      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2730       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
     2731       0,     0,     0,   620,     0,     0,     0,     0,     0,     0,
     2732       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     2733       0,    35,     0,     0,    37,    38,     0,   277,     0,   278,
     2734    1043,     0,  1044,     0,     0,  1045,  1046,  1047,  1048,  1049,
     2735    1050,  1051,  1052,  1482,  1053,     0,     0,  1054,    32,     0,
     2736     279,     0,     0,     0,     0,     0,   640,     0,     0,  -396,
     2737     281,     0,     0,   282,   283,   284,   285,    40,    41,     0,
     2738     286,   287,     0,     0,     0,     0,     0,     0,   288,     0,
     2739       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2740       0,     0,   289,     0,   373,     0,     0,   167,     0,     0,
     2741       0,   291,   375,   293,   294,   295,   296,     0,   277,     0,
     2742     278,  1043,     0,  1044,     0,  -126,  1045,  1046,  1047,  1048,
     2743    1049,  1050,  1051,  1052,     0,  1053,     0,     0,  1054,    32,
     2744       0,   279,     0,     0,     0,     0,     0,   640,     0,     0,
     2745       0,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2746       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2747       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2748       0,     0,     0,   289,     0,   373,     0,     0,   167,     0,
     2749       0,     0,   291,   375,   293,   294,   295,   296,     0,     0,
     2750       0,     0,     0,     0,     0,     0,  -126,     2,   202,     4,
     2751       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2752      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2753       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
     2754      30,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27362755      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,
     2756      25,    26,    27,    33,     0,    34,     0,    35,    30,     0,
     2757      37,    38,     0,   277,     0,   278,  1043,     0,  1044,  1378,
     2758    1379,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,  1482,
     2759    1053,    33,  1295,  1054,    32,     0,   279,     0,    37,    38,
     2760       0,     0,   640,     0,     0,     0,   281,     0,     0,   282,
     2761     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2762       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
     2763       0,     0,     0,     0,     0,     0,     0,     0,   289,     0,
     2764     373,     0,     0,   167,     0,     0,     0,   291,   375,   293,
     2765     294,   295,   296,   277,     0,   278,  1043,     0,  1044,  1378,
     2766    1379,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,     0,
     2767    1053,     0,     0,  1054,    32,     0,   279,     0,     0,     0,
     2768       0,     0,   640,     0,     0,     0,   281,     0,     0,   282,
     2769     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2770       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
     2771       0,     0,     0,     0,     0,     0,     0,     0,   289,     0,
     2772     373,     0,     0,   167,     0,     0,     0,   291,   375,   293,
     2773     294,   295,   296,   277,     0,   278,  1043,     0,  1044,     0,
     2774       0,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,     0,
     2775    1053,     0,     0,  1054,    32,     0,   279,     0,     0,     0,
     2776       0,     0,   640,     0,     0,     0,   281,     0,     0,   282,
     2777     283,   284,   285,    40,    41,     0,   286,   287,     0,     0,
     2778       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
     2779     277,     0,   278,     0,     0,     0,     0,     0,   289,     0,
     2780     373,     0,     0,   167,     0,     0,     0,   291,   375,   293,
     2781     294,   295,   296,   279,     0,     0,     0,     0,     0,   280,
     2782       0,     0,     0,   281,     0,     0,   282,   283,   284,   285,
     2783      40,    41,     0,   286,   287,     0,     0,     0,     0,     0,
     2784       0,   288,     0,     0,     0,     0,     0,   277,     0,   278,
     2785       0,     0,     0,     0,     0,   289,     0,   373,     0,     0,
     2786       0,     0,   768,     0,   291,   375,   293,   294,   295,   296,
     2787     279,     0,     0,     0,     0,     0,   280,     0,     0,     0,
     2788     281,     0,     0,   282,   283,   284,   285,    40,    41,     0,
     2789     286,   287,     0,     0,     0,     0,     0,     0,   288,     0,
     2790       0,     0,     0,     0,   277,     0,   278,     0,     0,     0,
     2791       0,     0,   289,     0,   373,     0,     0,     0,     0,     0,
     2792       0,   291,   375,   293,   294,   295,   296,   279,     0,     0,
     2793       0,     0,     0,   280,     0,     0,     0,   281,     0,     0,
     2794     282,   283,   284,   285,    40,    41,     0,   286,   287,     0,
     2795       0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     2796       0,   277,     0,   278,     0,     0,     0,     0,     0,   289,
     2797       0,   373,     0,     0,     0,     0,     0,     0,   291,   723,
     2798     293,   294,   295,   296,   279,     0,     0,     0,     0,     0,
     2799     640,     0,     0,     0,   281,     0,     0,   282,   283,   284,
     2800     285,    40,    41,     0,   286,   287,     0,     0,     0,     0,
     2801       0,     0,   288,     0,     0,     0,     0,     0,   277,     0,
     2802     278,     0,     0,     0,     0,     0,   289,     0,   772,     0,
     2803       0,     0,     0,     0,     0,   291,   375,   293,   294,   295,
     2804     296,   279,     0,     0,     0,     0,     0,   280,     0,     0,
     2805       0,   281,     0,     0,   282,   283,   284,   285,    40,    41,
     2806       0,   286,   287,     0,     0,     0,     0,     0,     0,   288,
     2807       0,     0,     0,     0,     0,   277,     0,   278,     0,     0,
     2808       0,     0,     0,   289,     0,   373,     0,     0,     0,     0,
     2809       0,     0,   291,   813,   293,   294,   295,   296,   279,     0,
     2810       0,     0,     0,     0,   280,     0,     0,     0,   281,     0,
     2811       0,   282,   283,   284,   285,    40,    41,     0,   286,   287,
     2812       0,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2813       0,     0,   277,     0,   278,     0,     0,     0,     0,     0,
     2814     289,     0,     0,     0,     0,     0,     0,     0,     0,   291,
     2815     375,   293,   294,   295,   296,   279,     0,     0,     0,     0,
     2816       0,   280,     0,     0,     0,   281,     0,     0,   282,   283,
     2817     284,   285,    40,    41,     0,   286,   287,     0,     0,     0,
     2818       0,     0,     0,   288,     0,     0,     0,     0,     0,   277,
     2819       0,   278,     0,     0,     0,     0,     0,   507,     0,     0,
     2820       0,     0,     0,     0,     0,     0,   291,   375,   293,   294,
     2821     295,   296,   279,     0,     0,     0,     0,     0,   280,     0,
     2822       0,     0,   281,     0,     0,   282,   283,   284,   285,    40,
     2823      41,     0,   286,   287,     0,     0,     0,     0,     0,     0,
     2824     288,     0,     0,     0,     0,     0,   277,     0,   278,     0,
     2825       0,     0,     0,     0,   510,     0,     0,     0,     0,     0,
     2826       0,     0,     0,   291,   375,   293,   294,   295,   296,   279,
     2827       0,     0,     0,     0,     0,   280,     0,     0,     0,   281,
     2828       0,     0,   282,   283,   284,   285,    40,    41,     0,   286,
     2829     287,     0,     0,     0,     0,     0,     0,   288,     0,     0,
    27532830       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,
     2831       0,   513,     0,     0,     0,     0,     0,     0,     0,     0,
     2832     291,   375,   293,   294,   295,   296,     2,   202,     4,     5,
    27652833       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    27662834      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,
     2835       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    28482836       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,
     2837       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2838       0,     0,    33,     0,    34,     0,    35,    36,     0,   170,
     2839     171,    39,     0,     0,     0,     0,     0,     0,    40,    41,
     2840     201,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2841      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2842      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2843       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
     2844       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2845       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     2846       0,    35,     0,     0,   203,    38,   467,     2,   202,     4,
    28522847       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    28532848      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    28562851       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28572852       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,
     2853      37,    38,     2,   202,     4,     5,     6,     7,     8,     9,
     2854      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2855      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2856       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
    28622857       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,
     2858       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2859      34,     0,    35,     0,     0,   203,    38,     8,     9,    10,
     2860      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2861      21,    22,    23,    24,     0,     0,    25,    26,    27,   485,
     2862     486,   487,     0,     0,    30,     8,     9,    10,    11,    12,
     2863      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2864      23,    24,     0,     0,    25,    26,    27,    33,     0,     0,
     2865       0,     0,    30,     0,    37,    38,     0,     0,     0,     0,
    28692866       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
     2867       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2868       0,     0,   203,    38
    28802869};
    28812870
    28822871#define yypact_value_is_default(yystate) \
    2883   ((yystate) == (-1318))
     2872  ((yystate) == (-1269))
    28842873
    28852874#define yytable_value_is_error(yytable_value) \
     
    28882877static const yytype_int16 yycheck[] =
    28892878{
    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,
     2879       1,    42,     0,   235,     0,   215,    42,   687,    42,   181,
     2880     103,   181,     1,   687,    32,   687,   165,   620,   181,   275,
     2881     343,     0,   183,  1023,    31,   182,   987,   748,   449,   455,
     2882     181,   181,   645,    31,   600,    31,   181,  1305,   602,   182,
     2883     600,     0,   181,   532,    42,   276,    44,   276,    44,   492,
     2884       1,   600,    31,   496,   570,   343,    54,   603,   887,   152,
     2885     887,   980,    60,   609,    60,    63,    42,    63,    66,    37,
     2886      66,   600,    31,   767,  1035,    42,   448,    66,   113,  1042,
     2887     602,     0,     0,    42,   764,    44,   600,    42,    65,   261,
     2888     764,   261,   764,    44,   490,   600,   257,   258,   261,   712,
     2889      75,    60,   419,   420,    63,   262,   104,    66,    44,   107,
     2890     261,   261,    31,    31,   102,   113,   261,   411,   101,   262,
     2891      65,   109,   261,    27,   600,     0,     1,  1395,  1022,  1023,
     2892      57,   339,    65,     0,   111,   103,   430,    89,    52,    78,
     2893     181,    42,    43,    89,   438,   181,   144,   181,   144,   521,
     2894      37,  1378,   103,    88,   152,   108,    31,   101,   109,   157,
     2895     101,   157,   197,   115,    31,    37,   105,    71,    37,   115,
     2896     103,   124,   358,   109,   101,    37,   362,   494,   224,   124,
     2897     252,    95,   200,   181,   182,   144,   182,   122,    63,    42,
     2898      43,    66,   143,   403,   104,   512,    63,   243,   157,   197,
     2899     488,   152,   635,   636,   733,   181,   107,   205,   604,   205,
     2900    1437,   123,   608,  1042,   181,  1215,   214,    75,   651,   217,
     2901     261,   217,   181,   182,     0,   261,   181,   261,   733,   101,
     2902      54,   103,   101,   629,   103,    37,  1382,   633,    65,   101,
     2903     247,   103,   399,   336,   102,   101,   205,   248,   108,   247,
     2904     201,   247,    44,   106,   205,    31,   399,   733,   217,   825,
     2905     577,   106,  1262,   261,   262,   825,   262,   123,   247,   205,
     2906     268,   102,   365,   837,   482,   189,   825,   275,   109,   602,
     2907     104,   827,    37,   107,   235,   236,   707,   288,   247,   805,
     2908       3,   448,   725,     0,     1,   989,   825,   124,   212,   101,
     2909     236,   103,   261,   102,  1464,   448,    42,    43,   222,  1228,
     2910     109,   825,  1275,  1459,    65,   837,   267,   109,  1464,   270,
     2911     825,  1464,    65,   480,    31,   323,  1486,   323,   247,   247,
     2912    1051,   267,     3,  1479,   252,   108,  1479,   480,   289,   411,
     2913    1486,   292,   217,  1486,   342,   343,   101,   108,   103,   825,
     2914     217,   143,   103,   289,   389,   102,   292,   101,   430,    66,
     2915     103,   359,   109,   124,   323,   363,   438,  1261,  1262,     0,
     2916     106,  1200,   247,  1200,  1374,   289,   123,   943,    65,     0,
     2917     247,   814,   417,   591,   343,   336,   680,   422,   339,   123,
     2918     214,   389,   101,    65,   943,    67,    68,    65,  1001,    67,
     2919      68,   399,   588,   399,  1440,  1366,  1367,   358,    54,   102,
     2920    1446,   362,   620,   205,   365,   108,   103,   625,    65,   417,
     2921      67,    68,   944,   108,   422,  1461,   424,   101,   102,   943,
     2922    1466,   524,   108,   101,   106,   634,   635,   636,   106,   124,
     2923     399,   102,   101,   235,   268,   631,  1275,   108,   124,   101,
     2924     448,   275,   651,  1416,   102,   289,   103,   688,   104,   688,
     2925    1423,   107,   101,   859,  1010,  1011,   467,   108,   419,   420,
     2926     464,   247,    83,    84,   472,   267,   252,   344,   686,   710,
     2927    1374,   710,   480,   124,   480,   108,   484,   913,   484,   448,
     2928     488,   747,   101,   411,   655,   446,   985,   646,   449,  1462,
     2929     292,   124,   101,  1116,   455,   484,   152,   118,   119,   952,
     2930     446,   512,   430,   449,   837,   687,   467,   687,   342,   455,
     2931     438,   435,   108,   104,   687,   484,   725,   108,   529,   488,
     2932     104,   532,   689,   534,   108,   359,   687,   687,   124,   363,
     2933     247,   492,   687,   494,   108,   496,   689,   339,   687,   837,
     2934     922,   108,   760,   949,  1275,   469,   507,   482,   930,   510,
     2935     124,   512,   513,   108,   482,   484,   484,   124,   214,   798,
     2936     101,   507,  1094,   524,   510,   108,   111,   513,   104,   124,
     2937     581,   116,   117,   101,   108,   419,   420,  1416,   102,   108,
     2938     588,   124,   685,   507,  1423,    65,   510,    67,    68,   513,
     2939     124,   973,   600,    67,   602,   124,   473,    71,   680,   484,
     2940      74,   101,    76,   103,   102,   814,   108,   484,   653,    83,
     2941     108,   111,   268,   621,   102,  1346,   577,   419,   420,   275,
     2942     816,   101,   124,  1462,   820,   411,   106,   588,   104,   637,
     2943     591,   600,   108,   602,   102,   104,   101,   876,   103,   108,
     2944     722,   652,   650,   654,   430,   653,   111,   113,   114,  1080,
     2945     948,   102,   438,   104,   874,   507,   759,   108,   510,   620,
     2946     589,   513,   101,   507,   625,   669,   510,   104,   102,   513,
     2947     631,   108,   123,   124,   894,   101,   103,   103,   105,   687,
     2948     102,   689,   109,    65,   102,   111,   342,    69,   101,  1420,
     2949     108,  1422,   494,   107,    76,    77,    85,    86,   484,   634,
     2950     635,   636,   103,   359,   105,   102,    57,   363,   109,   720,
     2951     512,   108,   954,   909,   108,   109,   651,   102,   687,   101,
     2952     689,   880,   566,   108,   685,   733,   734,   102,   124,   111,
     2953     102,   102,  1463,   108,   208,   102,   108,   108,   101,   747,
     2954      29,   108,   102,   102,   668,   622,   707,   101,   108,   108,
     2955     989,   686,   680,   677,   102,   922,   102,   681,   686,   104,
     2956     108,   707,   108,   930,   733,   734,   124,   484,   424,   922,
     2957      65,   106,    67,    68,    69,   577,   737,   930,  1468,   102,
     2958     106,    76,    77,  1001,  1468,   108,  1468,   621,   124,   591,
     2959     725,    80,    81,    63,   722,   124,   102,   801,   759,    65,
     2960    1039,    65,   108,   637,   106,    69,   101,   811,   102,   102,
     2961      80,    44,    76,    77,   108,   108,   650,   825,   620,   101,
     2962     102,   103,   826,   625,   121,   760,   123,    60,   101,   837,
     2963      63,    75,   760,    66,    81,    82,   713,   101,   278,    10,
     2964      11,    12,    13,    14,   114,   104,    65,   111,    67,    68,
     2965     727,   291,   292,   102,   103,   816,   825,   112,    65,   820,
     2966      67,    68,    69,   303,   120,   101,    37,   103,   837,  1110,
     2967     121,  1110,   346,     3,   348,   101,   887,   103,  1037,   814,
     2968      10,    11,    12,    13,    14,  1081,   101,   157,   103,    60,
     2969      87,   101,   821,   103,   680,   123,    78,    79,    80,   339,
     2970     103,   909,   555,   556,   557,   558,   101,    37,   101,   102,
     2971     103,   144,   101,   747,   922,   101,   102,   103,  1136,   101,
     2972     104,   103,   930,   105,   157,   104,  1167,  1168,  1167,  1168,
     2973      60,   101,   588,   103,   102,   375,   722,   101,   102,   103,
     2974     948,   818,  1234,  1235,  1236,    54,    55,   217,   909,   182,
     2975     239,   102,   913,   922,   953,   101,   101,   103,   887,   887,
     2976     434,   930,   101,   104,   103,   621,    65,   913,    67,    68,
     2977      69,   982,   205,   101,   985,   103,   987,    76,    77,   948,
     2978     101,   637,   103,   102,   217,   255,  1014,   911,   692,   259,
     2979     694,   952,   953,   954,   650,   108,   109,  1215,    42,    43,
     2980     551,   552,   887,   104,     4,     5,     6,     7,     8,     9,
     2981     887,   553,   554,   559,   560,  1019,  1020,   102,   102,   102,
     2982     887,   103,   108,   101,  1035,   123,   106,   104,   102,     0,
     2983       1,   102,   104,   109,  1045,   104,   104,  1048,  1049,  1050,
     2984    1001,   104,     4,     5,     6,     7,     8,     9,   109,   108,
     2985      28,    75,   102,   102,   106,   109,   104,  1102,   124,   102,
     2986      31,    32,    62,   108,    64,   107,   107,  1449,   953,   107,
     2987      32,  1075,  1076,    44,   344,   101,    10,    11,    12,    13,
     2988      14,   102,    75,   102,   102,   374,   109,  1022,   102,   102,
     2989     323,   747,   102,  1196,  1102,    66,   108,   102,   102,   102,
     2990      62,   887,    64,    37,   102,   102,  1488,   102,   548,   549,
     2991     550,   102,   102,  1042,  1042,   102,   102,   102,   102,  1080,
     2992    1081,   102,    28,   102,   124,   107,    60,  1004,   104,  1053,
     2993     102,    65,   103,   102,  1080,    69,   104,  1378,   102,  1378,
     2994     123,   107,    76,    77,   104,   108,   102,   102,   102,   108,
     2995     101,   591,   954,   423,   106,   108,   104,  1042,   108,   102,
     2996     102,   108,   108,   102,   453,  1042,   399,   101,   104,   458,
     2997     887,   101,   101,   144,   101,   101,   101,   111,  1045,   124,
     2998    1179,   152,   153,   104,   107,   109,   102,   102,  1196,  1200,
     2999     102,   124,   106,   121,   107,  1436,  1437,  1436,  1437,  1001,
     3000     108,  1136,   491,   473,   493,   104,   108,   104,  1136,  1213,
     3001     102,   182,   102,   102,   102,    45,    63,   104,   104,   104,
     3002    1219,   104,   104,  1234,  1235,  1236,   197,   104,   124,   200,
     3003     201,   124,   101,  1475,   205,  1196,   953,   107,  1242,   102,
     3004       4,     5,     6,     7,     8,     9,  1250,  1251,  1252,   124,
     3005     669,   124,   124,   909,   107,   226,  1042,   102,  1219,   230,
     3006     104,   232,   104,   104,   107,   104,   104,   114,   104,   104,
     3007     241,  1200,  1200,   104,   102,   102,   247,  1288,   104,   104,
     3008     101,   252,    55,   723,    54,   102,  1468,  1215,  1468,   102,
     3009    1294,   262,   106,  1178,  1179,  1468,    75,     0,    62,   270,
     3010      64,  1178,  1469,   109,   124,   104,  1305,  1468,  1468,   104,
     3011     157,   102,   104,  1468,  1359,  1200,  1469,   102,    89,  1468,
     3012     101,  1488,   104,  1200,   594,  1042,  1261,   767,    31,  1340,
     3013     107,    40,  1343,  1200,  1219,  1488,  1180,  1181,   124,  1183,
     3014     102,   102,   102,   102,  1305,  1189,  1275,  1275,  1192,   124,
     3015    1358,  1359,   622,   642,   108,  1366,  1367,   627,   109,  1283,
     3016     102,    89,   102,    66,   464,   336,   124,    75,   339,   124,
     3017     217,  1382,   109,   813,   345,   102,  1387,   107,   104,   104,
     3018     124,   101,   801,   107,   107,  1270,   102,   358,   124,   102,
     3019    1275,   362,   811,  1270,   365,   561,  1395,   665,  1275,  1410,
     3020     562,   564,   563,  1117,  1449,   565,  1200,   826,   255,  1348,
     3021    1437,  1496,   259,   702,  1200,  1284,  1452,  1468,  1112,   708,
     3022    1305,  1288,  1468,  1113,  1468,  1071,  1423,   930,   458,   446,
     3023     446,   694,   581,    65,  1395,    67,    68,    69,   932,  1450,
     3024     411,  1449,   974,   713,    76,    77,   647,   880,  1459,   737,
     3025     153,   950,  1219,  1464,   425,   484,   747,   727,   569,   430,
     3026    1468,  1469,  1179,  1469,  1425,   569,  1477,   438,  1479,   101,
     3027      -1,    -1,  1483,  1340,   569,  1486,  1343,    -1,    -1,  1425,
     3028    1488,  1492,  1488,  1200,    -1,  1496,    -1,  1416,  1416,  1275,
     3029      -1,  1452,    -1,   464,  1423,  1423,   467,   344,  1342,  1468,
     3030    1424,    -1,  1219,    -1,    -1,    65,  1452,    67,    68,    69,
     3031    1395,   482,    -1,   484,  1475,  1382,    76,    77,    -1,    -1,
     3032    1387,   492,    -1,   226,  1358,   496,    -1,  1451,    -1,    -1,
     3033      -1,  1416,    -1,  1462,  1462,    -1,    -1,    -1,  1423,  1416,
     3034    1196,   101,    -1,  1410,   247,    -1,  1423,    -1,   818,   252,
     3035      -1,   111,    -1,   524,   525,    -1,    -1,    -1,  1275,    -1,
     3036      -1,  1001,    65,  1487,    67,    68,    69,    -1,    -1,   669,
     3037      -1,    -1,    -1,    76,    77,  1499,   423,  1462,    10,    11,
     3038      12,    13,    14,    -1,    -1,  1462,    -1,    -1,  1305,    -1,
     3039      -1,   880,    -1,    -1,    -1,    -1,    -1,   886,   101,   570,
     3040    1019,  1020,  1042,    -1,    -1,    37,    -1,    -1,   111,    -1,
     3041    1477,    -1,    -1,    -1,    -1,     0,  1483,   588,   589,    -1,
     3042     591,    -1,    -1,    -1,    -1,  1492,   473,    -1,    60,  1496,
     3043    1416,   602,    -1,    -1,    -1,    -1,    -1,  1423,    -1,    -1,
     3044      -1,    -1,   345,    -1,    -1,    -1,    31,    -1,    -1,   620,
     3045      -1,    -1,    -1,    -1,   625,    -1,  1075,  1076,    -1,    -1,
     3046     631,    -1,    -1,   634,   635,   636,    -1,    -1,    -1,   101,
     3047      -1,   103,    -1,  1475,    -1,    -1,  1462,    -1,  1395,   111,
     3048     651,    66,    63,    -1,    -1,   974,    -1,    -1,    -1,    -1,
     3049      -1,    -1,    73,    -1,     0,     1,    -1,    -1,   669,  1416,
     3050      -1,   801,  1358,    -1,    -1,    -1,  1423,    -1,   411,   680,
     3051      -1,   811,    65,  1153,   685,   686,    69,    -1,   689,    -1,
     3052      -1,     3,   425,    76,    77,    31,   826,   430,    10,    11,
     3053      12,    13,    14,   114,  1004,   438,    -1,    -1,    -1,    -1,
     3054      -1,    -1,    -1,    -1,    -1,  1462,    -1,   594,   101,    -1,
     3055     103,   722,    -1,    -1,   725,    37,    -1,    63,   111,    -1,
     3056      66,   464,     3,   734,    -1,    -1,   737,    -1,   153,    10,
     3057      11,    12,    13,    14,    -1,   622,   157,    -1,    60,   482,
     3058     627,   484,  1071,    -1,    -1,    -1,    -1,    -1,   759,   760,
     3059      -1,    -1,    -1,    -1,   765,    -1,    37,    -1,    -1,    -1,
     3060      -1,    -1,    10,    11,    12,    13,    14,    -1,    10,    11,
     3061      12,    13,    14,    -1,    -1,    -1,    -1,    -1,   185,    60,
     3062      -1,    -1,   525,  1242,    -1,   192,    -1,    -1,    -1,    37,
     3063     801,  1250,  1251,  1252,    -1,    37,   217,    -1,    -1,    -1,
     3064     811,    -1,    -1,   814,    -1,   816,    -1,   153,   819,   820,
     3065     821,    -1,    60,    -1,    -1,   826,    -1,    65,    60,    67,
     3066      68,    69,   247,    -1,    -1,   836,   713,   252,    76,    77,
     3067      -1,    -1,    -1,    -1,   255,  1294,    -1,    -1,   259,    -1,
     3068     727,    -1,    -1,     0,    -1,  1174,   589,    -1,    -1,    -1,
     3069      -1,    -1,    -1,   101,   275,   103,    -1,   264,    -1,   101,
     3070      -1,   103,    -1,   111,    -1,    -1,    -1,    -1,  1178,   111,
     3071      -1,   217,    -1,    -1,    31,    -1,   887,    -1,    -1,  1019,
     3072    1020,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3073      -1,   634,   635,   636,    -1,    -1,    -1,    -1,   909,    -1,
     3074      -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,   651,    66,
     3075      -1,   318,    -1,    10,    11,    12,    13,    14,    -1,   326,
     3076     345,    -1,   329,   344,    -1,    -1,   669,    -1,    -1,    -1,
     3077      -1,   818,    -1,   944,    -1,  1075,  1076,   680,    -1,    -1,
     3078      37,   952,   953,   686,    -1,    -1,    -1,    65,    -1,    67,
     3079      68,    69,    -1,    25,    26,    27,   967,    -1,    76,    77,
     3080    1270,    -1,    -1,    60,    90,    91,    92,    93,    94,    95,
     3081      96,    97,    98,    99,    -1,    -1,    -1,    -1,    -1,   722,
     3082      -1,    -1,   725,   101,   391,   103,   411,    -1,   395,    -1,
     3083    1001,   109,    -1,   111,    -1,    -1,   153,   123,    -1,    -1,
     3084     425,    -1,   423,  1014,   101,   430,   103,    -1,  1019,  1020,
     3085      -1,  1022,  1023,   438,   111,    -1,    -1,   760,    -1,   440,
     3086      -1,    -1,    -1,    -1,    96,    -1,    98,    -1,    -1,    -1,
     3087      -1,  1042,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   464,
     3088      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3089      -1,    -1,   473,    -1,    -1,    -1,    -1,   482,   801,   484,
     3090      -1,    -1,    -1,    -1,  1075,  1076,    -1,    -1,   811,    37,
     3091    1081,   814,   479,  1213,    -1,    -1,   819,    -1,   821,   425,
     3092      -1,    -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,    -1,
     3093     247,    -1,    60,    -1,    -1,   252,    -1,    65,    -1,    -1,
     3094     525,    69,  1242,    -1,    -1,   177,    -1,    -1,    76,    77,
     3095    1250,  1251,  1252,    -1,    -1,   187,   188,  1004,    -1,    -1,
     3096     192,    -1,   194,   195,    -1,  1136,    -1,    -1,    -1,    -1,
     3097      -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,   484,    -1,
     3098      -1,    -1,    -1,   111,   887,    65,    -1,    67,    68,    69,
     3099      -1,    -1,    -1,    -1,  1294,    -1,    76,    77,    -1,    -1,
     3100      -1,     0,   569,   570,   589,    -1,    -1,    -1,  1179,    -1,
     3101      -1,    -1,    -1,   594,    -1,    -1,    -1,    -1,    -1,   525,
     3102      -1,   101,    -1,   103,    -1,  1196,    -1,    -1,   345,  1200,
     3103      -1,   111,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3104      -1,   622,  1213,    -1,  1215,    -1,   627,    -1,  1219,   634,
     3105     635,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3106      -1,    -1,    -1,    -1,   967,    -1,   651,    66,    -1,    -1,
     3107      -1,  1242,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1250,
     3108    1251,  1252,    -1,   589,   669,    -1,    -1,    -1,    -1,   656,
     3109    1261,  1262,    -1,   660,   411,   680,    -1,    -1,    -1,    -1,
     3110      -1,   686,    -1,    -1,  1275,    -1,    -1,    -1,   425,    -1,
     3111      -1,    -1,    -1,   430,    -1,    -1,  1019,  1020,    -1,  1022,
     3112    1023,   438,    -1,  1294,    -1,    -1,   693,    -1,   634,   635,
     3113     636,  1178,   713,    -1,  1305,    -1,    -1,   722,    -1,  1042,
     3114     725,    -1,    -1,    -1,    -1,   651,   727,   464,    -1,    -1,
     3115      -1,    -1,    -1,    -1,   153,    -1,    -1,    -1,    -1,    -1,
     3116      -1,    -1,    -1,    -1,    -1,   482,   747,   484,    -1,    -1,
     3117      -1,    -1,  1075,  1076,    -1,   760,    -1,    -1,    -1,    -1,
     3118      -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3119      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3120      25,    26,    -1,  1374,    29,    30,    31,    -1,   525,    -1,
     3121      -1,    -1,    37,    38,    -1,    -1,   801,    -1,    -1,   725,
     3122      -1,    -1,    -1,  1270,  1395,    -1,   811,    -1,    -1,   814,
     3123      -1,    -1,    -1,  1136,   819,    60,   821,   818,   805,    -1,
     3124      -1,   826,    67,    68,    -1,  1416,    -1,    -1,   247,    -1,
     3125      -1,    -1,  1423,   252,    -1,    -1,    -1,    -1,    -1,    -1,
    31443126      -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,
     3127      14,    -1,   589,    -1,    -1,    -1,  1179,    -1,   103,    -1,
     3128      -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3129      -1,  1462,    65,    37,    67,    68,    69,  1200,  1469,    -1,
     3130      -1,    -1,   887,    76,    77,    -1,    -1,    -1,   814,    -1,
     3131    1213,    -1,  1215,    -1,    -1,   821,    60,   634,   635,   636,
     3132      -1,    65,    -1,    67,    68,    69,    -1,    -1,   101,    -1,
     3133     103,    -1,    76,    77,   651,    -1,    -1,    -1,   111,  1242,
     3134      -1,   573,   574,    -1,    -1,    -1,   345,  1250,  1251,  1252,
     3135     917,    -1,   669,    -1,    -1,    -1,    -1,   101,  1261,  1262,
     3136      -1,    -1,    -1,   680,    -1,    -1,    -1,   111,    -1,   686,
     3137      -1,   603,  1275,    -1,   606,   607,    -1,   609,    -1,   611,
     3138     612,   887,   967,    -1,   616,   617,    -1,    -1,    -1,    -1,
     3139      -1,  1294,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3140      -1,    -1,    -1,    -1,    -1,   722,    -1,    -1,   725,    -1,
     3141      -1,    -1,   411,    -1,    -1,    -1,    65,    -1,    67,    68,
     3142      69,    -1,    -1,  1004,   991,    -1,   425,    76,    77,    -1,
     3143      -1,   430,    -1,    -1,  1019,  1020,    -1,  1022,  1023,   438,
     3144    1007,    -1,    -1,   760,    50,    -1,    52,   953,    -1,    55,
     3145      56,    57,   101,    59,   103,    -1,    -1,  1042,    -1,    -1,
     3146      -1,   967,   111,    -1,    -1,   464,   698,   699,    74,    -1,
     3147      -1,  1374,   704,    10,    11,    12,    13,    14,    -1,    -1,
     3148      86,    87,    -1,   482,   801,   484,    -1,    -1,    -1,    -1,
     3149    1075,  1076,    -1,    -1,   811,    -1,    -1,   814,    -1,    -1,
     3150      37,    -1,   819,    -1,   821,    -1,    -1,    -1,    -1,   826,
     3151      -1,    -1,    -1,  1416,    -1,  1082,  1022,  1023,    -1,    -1,
     3152    1423,    -1,    -1,    60,    -1,    -1,   525,    -1,    65,    -1,
     3153      67,    68,    69,    -1,    -1,    -1,  1042,    -1,    -1,    76,
     3154      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3155      -1,  1136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1462,
     3156      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3157     887,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3158      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3159     589,    -1,    -1,    -1,  1179,    -1,    -1,  1178,    10,    11,
     3160      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3161      22,    23,    24,    25,    26,  1200,    -1,    29,    30,    31,
     3162      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,  1213,    -1,
     3163    1215,    -1,    -1,    -1,    -1,   634,   635,   636,    -1,    -1,
     3164      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3165     967,    -1,   651,    -1,    -1,    67,    68,  1242,    -1,    -1,
     3166      -1,    -1,    -1,    -1,    -1,  1250,  1251,  1252,    -1,    -1,
     3167     669,    -1,  1178,  1179,    -1,    -1,  1261,  1262,    -1,    -1,
     3168      -1,   680,    -1,    -1,    -1,    -1,    -1,   686,    -1,  1270,
     3169    1275,   103,    -1,    -1,  1200,   107,    -1,    -1,    -1,   111,
     3170      -1,    -1,  1019,  1020,    -1,  1022,  1023,    -1,    -1,  1294,
     3171      -1,    -1,    -1,  1219,    -1,    -1,    -1,    -1,    -1,    -1,
     3172      -1,    -1,    -1,   722,    -1,  1042,   725,    -1,    -1,    -1,
     3173      -1,    -1,    -1,   339,   340,    -1,    -1,    -1,    -1,    -1,
     3174      -1,    -1,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,
     3175      -1,    -1,    -1,    -1,    -1,  1261,  1262,    -1,  1075,  1076,
     3176      -1,   760,    -1,    -1,  1270,    -1,    -1,    -1,    -1,  1275,
     3177      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3178      19,    20,    21,    22,    23,    24,    25,    26,    27,  1374,
     3179      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,  1305,
     3180      -1,    -1,   801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3181      -1,    -1,   811,    -1,    -1,   814,    -1,    -1,    -1,  1136,
     3182     819,    60,   821,    -1,    -1,    -1,    -1,   826,    67,    68,
     3183      -1,  1416,    71,    -1,    -1,    -1,    -1,    -1,  1423,    -1,
     3184      -1,    -1,    -1,    -1,    -1,  1077,    -1,    10,    11,    12,
     3185      13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3186      -1,    -1,  1179,    -1,   103,    -1,    -1,    -1,  1374,    -1,
     3187      -1,    -1,   111,    -1,    37,    -1,    -1,  1462,    -1,    -1,
     3188      -1,    -1,    -1,  1200,    -1,    -1,    -1,    -1,   887,  1395,
     3189      -1,    -1,    -1,    -1,    -1,    -1,  1213,    60,  1215,    -1,
     3190      -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
     3191    1416,    -1,    -1,    76,    77,    -1,    -1,  1423,    -1,    -1,
     3192      -1,    -1,    -1,    -1,    -1,  1242,    -1,    -1,    -1,    -1,
     3193      -1,    -1,    -1,  1250,  1251,  1252,    -1,    -1,   101,    -1,
     3194     103,    -1,    -1,    -1,  1261,  1262,    -1,    -1,   111,    -1,
     3195      -1,    -1,    -1,    -1,    -1,    -1,  1462,    -1,  1275,    -1,
     3196      -1,    -1,    -1,    -1,    -1,  1197,    -1,    -1,   967,    -1,
     3197      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1294,    -1,     7,
     3198      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3199      -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
     3200      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    37,
     3201      38,    -1,    -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,
     3202    1019,  1020,    -1,  1022,  1023,    -1,    -1,    -1,    -1,    -1,
     3203      -1,    59,    60,    -1,    -1,    -1,    -1,    65,    -1,    -1,
     3204      -1,    69,    -1,  1042,    72,    73,    74,    75,    76,    77,
     3205      -1,    79,    80,    -1,    -1,    -1,    -1,  1374,    -1,    87,
     3206      -1,   109,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,
     3207      -1,    -1,    -1,   101,    -1,   103,  1075,  1076,    -1,    -1,
     3208      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
     3209      -1,    -1,    -1,    -1,    -1,   143,    -1,    -1,    -1,  1416,
     3210      -1,    -1,    -1,    -1,    -1,   153,  1423,    -1,   714,   157,
     3211     716,    -1,    -1,    -1,    -1,    -1,    -1,   723,   724,    -1,
     3212      -1,    -1,   728,    -1,     7,    -1,    -1,    10,    11,    12,
     3213      13,    14,    -1,    -1,   740,    -1,    -1,  1136,    -1,   745,
     3214      -1,    -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,
     3215      -1,    -1,    -1,    36,    37,    38,    -1,   205,    -1,    -1,
     3216      -1,    -1,    -1,   769,    -1,    -1,    -1,    -1,    -1,   217,
     3217      -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,
     3218    1179,    -1,    65,    -1,    -1,    -1,    69,   235,   236,    72,
     3219      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3220      -1,  1200,    -1,    -1,    87,    -1,    -1,   813,    -1,    -1,
     3221      -1,   259,    -1,    -1,  1213,    -1,  1215,    -1,   101,   267,
     3222     103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
     3223     113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3224      -1,   289,    -1,  1242,   292,    -1,    -1,    -1,    -1,    -1,
     3225      -1,  1250,  1251,  1252,    -1,    -1,    -1,    -1,    -1,    -1,
     3226      -1,    -1,  1261,  1262,   870,   871,   872,   873,    -1,   875,
     3227      -1,    -1,    -1,    -1,    -1,    -1,  1275,    -1,    -1,    -1,
     3228      -1,    -1,    -1,    -1,   890,    -1,    -1,    -1,    -1,    -1,
     3229      -1,   339,    -1,    -1,    -1,  1294,   344,    -1,   904,    -1,
     3230      -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
     3231      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3232      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3233      30,    31,    32,    -1,    -1,    35,   942,    37,    -1,    -1,
    31813234      -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,
     3235      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3236      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
     3237      -1,   419,   420,   979,    -1,  1374,    -1,   425,    -1,    -1,
     3238     986,    -1,    -1,    -1,   990,    -1,    -1,    -1,    -1,   995,
     3239      -1,   997,    -1,    -1,    -1,  1001,  1002,  1003,   446,    -1,
     3240    1006,   449,    -1,   103,    -1,    -1,    -1,   455,    -1,  1015,
     3241      -1,   111,    -1,    96,    -1,    98,    -1,  1416,    -1,    -1,
     3242      -1,    -1,    -1,    -1,  1423,    -1,    -1,  1033,  1034,    10,
     3243      11,    12,    13,    14,   482,    -1,    -1,    -1,    -1,   122,
     3244      -1,    -1,    -1,    -1,    -1,    -1,   494,    -1,    -1,    -1,
     3245      -1,    -1,  1058,    -1,    -1,  1061,    37,    -1,    -1,   507,
     3246      -1,    -1,   510,  1462,   512,   513,    -1,    -1,    -1,    -1,
     3247      -1,    -1,    -1,    -1,    -1,    -1,    -1,   525,    -1,    60,
     3248      -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,
     3249      -1,    -1,    -1,  1099,   177,    76,    77,    -1,    -1,  1105,
     3250    1106,    -1,   185,    -1,   187,   188,    -1,    -1,  1114,   192,
     3251      -1,   194,   195,  1119,    -1,    -1,  1122,    -1,  1124,    -1,
     3252     101,  1127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   577,
     3253     111,    -1,    -1,    -1,  1140,    -1,    -1,    -1,    -1,    -1,
     3254      -1,   589,    -1,   591,    -1,    -1,   594,  1153,    -1,  1155,
     3255    1156,  1157,  1158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3256      -1,    -1,    -1,    -1,    -1,  1171,    -1,  1173,    -1,    -1,
     3257      -1,  1177,   620,    -1,    -1,    -1,    -1,   625,    -1,    -1,
     3258      -1,   264,    -1,    -1,    -1,    -1,   634,   635,   636,    -1,
     3259      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,
     3260    1206,    -1,    -1,   651,    -1,    -1,    -1,    63,    -1,    -1,
     3261      -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    75,
     3262      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,
     3263      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   686,    -1,
     3264      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1253,  1254,    -1,
     3265      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1263,   114,   707,
     3266     116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3267      -1,    -1,    -1,    -1,    -1,    -1,    -1,   725,    -1,   727,
     3268      -1,    -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,
     3269      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3270      -1,   157,    -1,  1309,    -1,    -1,    -1,    -1,    -1,    -1,
     3271      -1,    -1,   760,    -1,    -1,  1321,    -1,  1323,  1324,  1325,
     3272      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1335,
     3273      -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,  1344,    -1,
     3274      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3275    1356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3276      -1,   217,    -1,   219,   220,   221,   814,    -1,    -1,    -1,
     3277     818,    -1,    -1,   821,    -1,    -1,    -1,    -1,    -1,    -1,
     3278      -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3279      -1,    99,    -1,    -1,    -1,    -1,    -1,  1403,  1404,   255,
     3280      -1,    -1,    -1,   259,    -1,    -1,    -1,    -1,    -1,    -1,
     3281    1416,    -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,   275,
    32243282      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,
     3283      20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
     3284      30,    31,  1448,    -1,    -1,    -1,   154,    37,    -1,    -1,
     3285      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
     3286      -1,    -1,    -1,    -1,    -1,   913,    -1,   323,  1474,    -1,
     3287      60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     3288      -1,    71,   190,    -1,    -1,    -1,    76,    77,   344,    -1,
     3289     573,   574,  1498,   349,   350,    -1,   204,  1503,    -1,    -1,
     3290      -1,   357,    -1,    -1,    -1,   213,   954,    -1,    -1,    -1,
     3291      -1,   101,    -1,   103,    -1,   223,    -1,    -1,    -1,   967,
     3292     603,   111,    -1,   606,   607,    -1,   609,    -1,   611,   612,
     3293      -1,    -1,    -1,   616,   617,    -1,    -1,    -1,    -1,    -1,
     3294     248,    -1,    -1,   399,    -1,   253,    -1,    -1,    -1,    -1,
     3295      -1,    -1,    -1,  1001,    -1,    -1,    -1,    -1,   266,    -1,
     3296      -1,   417,    -1,    -1,   272,    -1,   274,   423,    -1,    -1,
     3297      -1,    -1,    -1,    -1,  1022,  1023,    -1,    -1,    -1,    -1,
     3298      -1,    -1,   290,    -1,   440,    -1,    -1,   443,   444,    -1,
    32383299      -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,
     3300      -1,    -1,    -1,   459,    -1,    -1,    -1,    -1,    -1,    -1,
     3301     693,    -1,    -1,    -1,    -1,   698,   699,   473,    -1,    -1,
     3302      -1,   704,    -1,    -1,   480,   333,    -1,    -1,    -1,    -1,
     3303     338,    -1,  1080,     3,     4,     5,     6,     7,     8,     9,
     3304      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3305      20,    21,    22,    23,    24,    25,    26,    -1,   366,    29,
     3306      30,    31,   370,   371,    -1,   373,    -1,    37,    -1,    -1,
     3307      -1,   379,   380,    -1,   382,   383,    -1,   385,    -1,   387,
     3308      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1136,    -1,
     3309      60,    -1,    62,    -1,    64,    65,   404,    67,    68,    69,
     3310      -1,    -1,    -1,    -1,   412,    -1,    76,    77,    -1,    -1,
     3311      -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,
     3312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,
     3313    1178,   101,    -1,   103,    -1,    -1,    59,    -1,   594,   447,
     3314      -1,   111,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
     3315      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3316      -1,    -1,   470,    -1,    87,    -1,   622,  1215,   476,    -1,
     3317      -1,   627,    -1,   481,    -1,    -1,    -1,    -1,   101,    -1,
     3318     103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
     3319     113,   114,   115,    -1,    -1,    -1,    -1,    -1,   152,   153,
     3320      -1,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   517,
     3321      -1,    -1,    -1,  1261,  1262,    -1,    -1,    -1,    -1,    -1,
     3322      -1,    -1,  1270,    -1,    -1,   533,    -1,    -1,    -1,    -1,
     3323      -1,   185,    -1,    -1,    -1,    -1,    -1,    -1,   192,    10,
     3324      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3325      21,    22,    23,    24,    25,    26,    -1,   713,    29,    30,
     3326      31,   569,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
     3327     578,   727,    -1,    -1,    -1,    -1,    -1,   585,    -1,    -1,
     3328      -1,    -1,   590,    -1,    -1,    -1,    -1,    -1,    59,    60,
     3329      -1,   747,    -1,   601,    65,    -1,    67,    68,    69,    -1,
     3330      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
     3331     264,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3332      -1,    -1,    -1,    -1,    -1,    -1,  1374,    -1,    -1,    -1,
     3333     101,    -1,   103,   641,    -1,   106,    -1,    -1,    -1,   110,
     3334     111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,   805,
    32423335      -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,
     3336      -1,    -1,   818,    -1,   318,    -1,    -1,    -1,   676,    -1,
     3337      -1,    -1,   326,   327,    -1,   329,   330,  1425,    -1,    -1,
     3338      -1,   837,    -1,    -1,    -1,   339,    -1,    -1,    -1,   343,
     3339      -1,    -1,    -1,    -1,  1077,    -1,    -1,    -1,    -1,    -1,
     3340      -1,    -1,    -1,    -1,  1452,    -1,    -1,    -1,   362,    -1,
     3341      -1,   365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3342      -1,    -1,    -1,   731,    -1,    -1,    -1,  1475,    -1,    -1,
     3343      -1,    -1,    -1,   741,   742,    -1,    -1,   391,    -1,    -1,
     3344      -1,   395,    -1,    -1,    -1,   753,    -1,    -1,    -1,    -1,
    32473345      -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,
     3346      -1,    -1,   770,    -1,   772,    -1,   922,    -1,   776,    -1,
     3347      -1,   425,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3348      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   143,    -1,
     3349      -1,    -1,   948,    -1,   448,    -1,    -1,    -1,   153,    -1,
    32643350      -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,
     3351     165,    -1,    -1,    -1,  1197,    -1,    -1,   973,    -1,    -1,
     3352      -1,    -1,    -1,    -1,    -1,   479,    -1,    -1,   482,    -1,
     3353      -1,    -1,    -1,   841,    -1,    -1,    -1,    -1,    -1,    -1,
     3354     848,    -1,    -1,    -1,    -1,    36,    -1,    38,  1004,    -1,
     3355      -1,    -1,    -1,   861,    -1,   863,    -1,    -1,    -1,  1015,
     3356      -1,    -1,    -1,    -1,    -1,    -1,    -1,   521,    59,   877,
     3357     524,   525,    -1,    -1,    65,   883,    -1,    -1,    69,    -1,
     3358     235,    72,    73,    74,    75,    76,    77,   895,    79,    80,
     3359     898,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3360      -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,   916,    -1,
     3361     101,    -1,   103,    -1,    -1,   569,   570,    -1,   109,   110,
     3362     111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,
     3363      -1,    -1,    -1,    -1,   588,   589,    -1,   591,  1094,    -1,
     3364      -1,    -1,    -1,    -1,    -1,    -1,   600,    -1,   602,   603,
     3365      -1,    -1,    -1,    -1,    -1,   609,    -1,    -1,    -1,    -1,
     3366      -1,    -1,    -1,    -1,    -1,   619,   620,    -1,    -1,    -1,
     3367      -1,   625,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3368     634,   635,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3369      -1,    -1,  1000,    -1,    -1,    -1,    -1,   651,    -1,    -1,
     3370      -1,    -1,   656,   657,    -1,    -1,   660,   661,    -1,    -1,
     3371      -1,    -1,    -1,   667,    -1,    -1,    -1,    -1,    -1,   374,
     3372      -1,    -1,  1178,    36,    -1,    38,    -1,    -1,    -1,    -1,
     3373      -1,   685,   686,   687,    -1,   689,    -1,    -1,    -1,   693,
     3374      -1,    -1,    -1,    -1,    -1,    -1,    59,  1055,    -1,    -1,
     3375      -1,    -1,    65,  1061,    67,    68,    69,    -1,    -1,    72,
     3376      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3377      -1,   725,   726,    -1,    87,    -1,    -1,    -1,    -1,    -1,
     3378      -1,    -1,  1090,    -1,    -1,    -1,    -1,  1095,   101,    -1,
     3379     103,    -1,   105,   106,    -1,  1103,    -1,   110,   111,   112,
     3380     113,   114,   115,    -1,    -1,   759,   760,    -1,    -1,    -1,
     3381     764,   765,    -1,    -1,  1270,   276,   277,   278,   279,   474,
     3382      -1,    -1,    -1,  1131,    -1,   286,   287,    -1,    -1,    -1,
     3383     291,   292,    -1,    -1,    -1,  1143,    -1,    -1,  1146,    -1,
     3384    1148,    -1,   303,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3385      -1,   805,    -1,    -1,  1162,  1163,    -1,   512,    -1,    -1,
     3386     814,    -1,    -1,    -1,    -1,    -1,   820,   821,    -1,    -1,
     3387     525,   825,    -1,   827,    -1,    -1,  1184,   532,   339,    -1,
     3388      -1,    -1,    -1,   837,    -1,    -1,    -1,    -1,    -1,    -1,
     3389     545,   546,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3390      -1,    -1,  1210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3391      -1,    -1,   567,    -1,   375,    -1,    -1,    -1,    -1,    -1,
     3392      -1,    -1,   577,    -1,    -1,    -1,    -1,    -1,    -1,   584,
     3393      -1,    -1,    -1,    -1,   589,    -1,    -1,    -1,    10,    11,
     3394      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3395      22,    23,    24,    25,    26,   909,    -1,    29,    30,    31,
     3396      -1,    -1,    -1,   917,    -1,    37,    -1,    -1,   922,    -1,
     3397      -1,    -1,    -1,    -1,    -1,    -1,   930,    -1,    -1,    -1,
     3398      -1,    -1,    -1,    -1,   639,    -1,    -1,    -1,    60,   943,
     3399     944,   646,  1300,    -1,  1302,    67,    68,    -1,    -1,    -1,
     3400      -1,    -1,    -1,    -1,    -1,  1313,    -1,  1315,    -1,    -1,
     3401      -1,    -1,    -1,   967,    -1,    -1,    -1,    -1,    -1,   973,
     3402      -1,    -1,    -1,    -1,    -1,  1333,    -1,    -1,    -1,    -1,
     3403      -1,   686,  1488,    -1,    -1,    -1,    -1,   991,   992,   111,
     3404      -1,  1349,    -1,    -1,    -1,    -1,    -1,  1001,    -1,  1357,
     3405      -1,    -1,  1360,  1007,  1008,    -1,  1010,  1011,  1012,    -1,
     3406      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1022,  1023,
     3407      -1,    -1,  1380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3408      -1,  1389,    -1,    -1,  1392,  1393,    -1,   548,   549,   550,
     3409     551,   552,   553,   554,   555,   556,   557,   558,   559,   560,
     3410     561,   562,   563,   564,   565,   760,    -1,   762,    -1,    -1,
     3411      -1,    -1,    -1,   768,    -1,    -1,    -1,    -1,    -1,  1427,
     3412     775,  1429,    -1,    -1,    -1,    -1,    -1,  1081,  1082,  1083,
     3413     591,    -1,    -1,  1441,    -1,    -1,    -1,    -1,    -1,    -1,
     3414    1094,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3415      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3416      -1,    -1,    -1,   818,   819,    -1,   821,    -1,    -1,    -1,
     3417      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3418      -1,   836,  1136,     4,     5,     6,     7,     8,     9,    10,
    32673419      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    32683420      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,
     3421      31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
     3422      -1,   876,    -1,    -1,    -1,   880,    -1,   688,    -1,    -1,
     3423      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
     3424      -1,    62,  1196,    64,    65,    -1,    67,    68,    69,   710,
     3425      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
     3426      -1,  1215,   723,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3427      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3428     101,    -1,   103,    -1,    -1,    -1,    -1,   108,    -1,   110,
     3429     111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,   954,
     3430      -1,    -1,    -1,    -1,    -1,    -1,   767,  1261,  1262,    -1,
     3431      -1,    -1,   967,   968,    -1,    -1,    -1,    -1,    36,   974,
     3432      38,    -1,    -1,    -1,    -1,   980,    -1,    -1,   983,    -1,
     3433     985,    -1,    -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,
     3434      -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,  1004,
     3435      -1,    69,   813,    -1,    72,    73,    74,    75,    76,    77,
     3436    1015,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3437      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3438      -1,    -1,  1037,   101,  1039,   103,    -1,    -1,   106,    -1,
     3439      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,  1054,
     3440      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3441      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1073,    -1,
     3442    1374,    -1,     0,    -1,    -1,     3,     4,     5,     6,     7,
     3443       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3444      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3445      -1,    29,    30,    31,    32,    -1,    -1,    35,    -1,    37,
     3446      38,    -1,  1117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3447      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
     3448      -1,  1136,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3449      68,    69,    -1,    -1,    -1,  1449,  1151,  1152,    76,    77,
     3450      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,
     3451      -1,    38,    -1,    -1,  1468,  1469,    -1,    -1,    -1,    -1,
     3452      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,   989,    -1,
     3453      -1,    -1,    59,   111,  1488,    -1,    -1,    -1,    65,    -1,
     3454    1001,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3455      77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
     3456      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3457      -1,    -1,    -1,  1228,   101,    -1,   103,    -1,    -1,   106,
     3458      -1,  1042,    -1,   110,   111,   112,   113,   114,   115,    -1,
     3459      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3460      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3461      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3462      32,    -1,    -1,    35,    36,    37,    38,    39,    -1,    41,
     3463      -1,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
     3464      -1,    53,    -1,    -1,    56,    57,    -1,    59,    60,  1110,
     3465      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    32843466      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,
     3467      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3468      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3469      -1,   103,  1153,    -1,   106,    -1,    -1,    -1,   110,   111,
     3470     112,   113,   114,   115,    -1,    -1,  1167,  1168,    -1,    -1,
     3471    1365,    -1,   124,    -1,     3,     4,     5,     6,     7,     8,
    34783472       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    34793473      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     
    34813475      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34823476      -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,
     3477      59,    60,    -1,    62,    -1,    64,    65,  1432,    67,    68,
    35403478      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    35413479      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    35423480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35433481      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3544       -1,   110,   111,   112,   113,   114,   115,     4,     5,     6,
     3482    1475,   110,   111,   112,   113,   114,   115,    -1,    -1,    -1,
     3483      -1,    -1,    -1,    -1,    -1,   124,     3,     4,     5,     6,
    35453484       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    35463485      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,
     3486      -1,    -1,    29,    30,    31,    32,    -1,    -1,    35,    36,
     3487      37,    38,    10,    11,    12,    13,    14,    15,    16,    17,
     3488      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3489      -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,    37,
     3490      67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3491      77,    -1,    79,    80,    -1,    -1,    -1,  1378,    -1,    -1,
     3492      87,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3493      -1,    -1,    -1,    71,   101,    -1,   103,    -1,    -1,    -1,
     3494      -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    -1,
     3495      -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3496      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3497      22,    23,    24,    25,    26,  1436,  1437,    29,    30,    31,
     3498      -1,    -1,    -1,    -1,    36,    37,    38,    10,    11,    12,
     3499      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3500      23,    24,    25,    26,    27,    -1,    -1,    59,    60,    -1,
     3501      62,    -1,    64,    65,    37,    67,    68,    69,    -1,    -1,
     3502      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3503      -1,    -1,    -1,    -1,    -1,    87,    -1,    60,    -1,    -1,
     3504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,   101,
     3505      -1,   103,    -1,    -1,    -1,    -1,   108,    -1,   110,   111,
     3506     112,   113,   114,   115,     4,     5,     6,     7,     8,     9,
     3507      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3508      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3509      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    10,
     3510      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3511      21,    22,    23,    24,    25,    26,    -1,    -1,    -1,    59,
     3512      60,    -1,    62,    -1,    64,    65,    37,    67,    68,    69,
     3513      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3514      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    60,
    35493515      -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,
     3516      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,   108,    -1,
     3517     110,   111,   112,   113,   114,   115,     4,     5,     6,     7,
     3518       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3519      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3520      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,
     3521      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35603522      -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,
     3523      -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3524      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3525      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3526      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3527      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3528      -1,    -1,   110,   111,   112,   113,   114,   115,     4,     5,
     3529       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3530      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3531      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3532      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3533      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3534      -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,
     3535      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
     3536      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
     3537      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3538      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
     3539      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3540       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3541      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3542      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3543      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
     3544      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3545      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
     3546      64,    65,    -1,    67,    68,    69,    -1,    -1,    72,    73,
     3547      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3548      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3549      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3550      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
     3551     114,   115,     4,     5,     6,     7,     8,     9,    10,    11,
    35683552      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    35693553      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
    3570       32,    -1,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,
     3554      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
    35713555      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3572       -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
     3556      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
    35733557      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,
     3558      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3559      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
    35763560      -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,
     3561      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3562     112,   113,   114,   115,     3,     4,     5,     6,     7,     8,
    35923563       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    35933564      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,
     3565      29,    30,    31,    32,    -1,    -1,    35,    -1,    37,    38,
    35963566      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,
    35973568      -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
    35983569      69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
    35993570      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36003571      -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,
     3572      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,   107,    -1,
     3573      -1,    -1,   111,     3,     4,     5,     6,     7,     8,     9,
     3574      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3575      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3576      30,    31,    32,    -1,    -1,    35,    -1,    37,    38,    -1,
     3577      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3578      -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,
     3579      60,    -1,    62,    -1,    64,    65,    -1,    67,    68,    69,
     3580      -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,    -1,
     3581      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3582      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3583      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
     3584      -1,   111,     3,     4,     5,     6,     7,     8,     9,    10,
    36033585      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,
     3586      21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
     3587      31,    32,    -1,    -1,    35,    -1,    37,    -1,    -1,    -1,
    36063588      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36073589      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
    36083590      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    -1,
     3591      71,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3592      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3593      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3594      -1,    -1,   103,    -1,    -1,    37,    -1,    -1,    -1,    -1,
     3595     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3596      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3597      62,    -1,    64,    -1,    -1,    67,    68,     4,     5,     6,
     3598       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3599      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3600      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3601      37,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     3602      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3603      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,
     3604      67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
     3605      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3606      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3607      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3608      -1,    -1,    -1,    -1,   111,     4,     5,     6,     7,     8,
     3609       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3610      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3611      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
     3612      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3613      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3614      -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,
     3615      -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3616      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3617      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3618      -1,    -1,    -1,   102,   103,    37,    -1,    -1,    -1,    -1,
     3619      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3620      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3621      62,    -1,    64,    -1,    -1,    67,    68,    -1,    -1,    -1,
     3622      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
     3624      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3625      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    36093626       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    36103627      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    36113628      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,
     3629      -1,    -1,    -1,    37,    10,    11,    12,    13,    14,    15,
     3630      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3631      26,    -1,    -1,    29,    30,    31,    60,    -1,    62,    -1,
     3632      64,    37,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,
    36163633      -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,
     3634      -1,    -1,    -1,    -1,    60,    89,    -1,    -1,    -1,    65,
     3635      -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,   103,
    36193636      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,     4,     5,
    36203637       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    36213638      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    36223639      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,
     3640      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36273641      -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,
     3642      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
     3643      -1,    67,    68,     4,     5,     6,     7,     8,     9,    10,
    36823644      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    36833645      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3684       31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
     3646      31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,
     3647      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3648      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
     3649      -1,    62,    -1,    64,    -1,    -1,    67,    68,     4,     5,
     3650       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3651      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3652      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3653      -1,    37,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3654     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3655      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
     3656      -1,    67,    68,     4,     5,     6,     7,     8,     9,    10,
     3657      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3658      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3659      31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,
     3660      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
     3662      -1,    62,    -1,    64,    -1,    -1,    67,    68,    10,    11,
     3663      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3664      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3665      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
     3666      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3667     111,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
     3668      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,
     3669      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3670      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3671      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3672      -1,   103,   104,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3673     112,   113,   114,   115,    10,    11,    12,    13,    14,    15,
     3674      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3675      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3676      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36853677      -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,
     3678      -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    65,
     3679      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
     3680      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
     3681      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3682      -1,    -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,
     3683      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3684      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3685      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3686      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,
    36903687      -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,
     3688      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
     3689      60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     3690      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3691      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    36963692      -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,
     3693      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
     3694     110,   111,   112,   113,   114,   115,    10,    11,    12,    13,
     3695      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3696      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3697      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
     3698      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
     3700      -1,    65,    -1,    67,    68,    69,    -1,    -1,    72,    73,
     3701      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3702      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3703      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3704      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
     3705     114,   115,    10,    11,    12,    13,    14,    15,    16,    17,
     3706      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3707      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,
     3708      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3709      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3710      -1,    59,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,
     3711      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3712      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3713      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3714      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3715      -1,    -1,   110,   111,   112,   113,   114,   115,    10,    11,
     3716      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3717      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3718      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
     3719      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3720      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
     3721      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,
     3722      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3723      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3724      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3725      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3726     112,   113,   114,   115,     3,     4,     5,     6,     7,     8,
     3727       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37043728      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3705       29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
     3729      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    10,
     3730      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3731      21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
     3732      31,    60,    -1,    62,    -1,    64,    37,    -1,    67,    68,
     3733      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3734      18,    19,    20,    21,    22,    23,    24,    25,    26,    60,
     3735      -1,    29,    30,    31,    65,    -1,    67,    68,    69,    37,
     3736      71,    -1,    -1,    -1,    -1,    76,    77,   106,    -1,    -1,
    37063737      -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,
     3738      -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,
     3739      68,    69,   103,    -1,    -1,    -1,    -1,    -1,    76,    77,
     3740     111,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37323741      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,
     3742      29,    30,    31,   101,    -1,   103,    -1,    -1,    37,    -1,
     3743      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    37353744      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37363745      -1,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
     
    37583767      -1,    76,    77,    10,    11,    12,    13,    14,    15,    16,
    37593768      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3760       -1,    -1,    29,    30,    31,    -1,   101,    -1,   103,    -1,
     3769      27,    -1,    29,    30,    31,    -1,    -1,    -1,   103,    -1,
    37613770      37,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    37623771      -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,
    37763772      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
    37773773      67,    68,    -1,    -1,    71,    10,    11,    12,    13,    14,
    37783774      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,
     3775      25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
     3776      -1,    -1,    37,    -1,   101,    -1,   103,    -1,    -1,    -1,
    37813777      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    37823778      -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,
     3779      -1,    -1,    67,    68,    -1,    -1,    71,    10,    11,    12,
     3780      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3781      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3782      -1,    -1,    -1,    -1,    37,    38,   101,    -1,   103,    -1,
     3783      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3784      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
     3785      -1,    -1,    -1,    -1,    67,    68,    10,    11,    12,    13,
     3786      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3787      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3788      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
     3789     103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,    -1,
     3790      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
     3791      -1,    65,    -1,    67,    68,    10,    11,    12,    13,    14,
    37963792      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    37973793      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,
     3794      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,   103,
     3795      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    38003796      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
    38013797      -1,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
     
    38033799      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    38043800      -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,
     3801      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3802      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
    38073803      -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    38083804      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    38093805      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3810       37,    38,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
     3806      37,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
    38113807      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    38123808      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
     
    38143810      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    38153811      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3816       -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,
     3812      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    38173813      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    38183814      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     
    38203816      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    38213817      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
    3822       -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3818      -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,
    38233819      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    38243820      -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
     
    38263822      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
    38273823      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
    3828       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
     3824      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    38293825      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38303826      60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    10,
     
    38763872      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    38773873      -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,
     3874      68,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3875      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3876      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3877      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    38823878      -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,
     3879      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
     3880      -1,    64,    -1,    -1,    67,    68,    -1,    36,    -1,    38,
     3881      39,    -1,    41,    -1,    -1,    44,    45,    46,    47,    48,
     3882      49,    50,    51,    52,    53,    -1,    -1,    56,    57,    -1,
     3883      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,   102,
    39023884      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    39033885      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    39043886      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39053887      -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,
     3888      -1,   110,   111,   112,   113,   114,   115,    -1,    36,    -1,
     3889      38,    39,    -1,    41,    -1,   124,    44,    45,    46,    47,
     3890      48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    57,
     3891      -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
     3892      -1,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3893      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3894      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3895      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,   106,    -1,
     3896      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
     3897      -1,    -1,    -1,    -1,    -1,    -1,   124,     4,     5,     6,
     3898       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3899      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3900      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3901      37,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3902      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3903      29,    30,    31,    60,    -1,    62,    -1,    64,    37,    -1,
     3904      67,    68,    -1,    36,    -1,    38,    39,    -1,    41,    42,
     3905      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     3906      53,    60,    89,    56,    57,    -1,    59,    -1,    67,    68,
     3907      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
     3908      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3909      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
     3910      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
     3911     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
     3912     113,   114,   115,    36,    -1,    38,    39,    -1,    41,    42,
     3913      43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
     3914      53,    -1,    -1,    56,    57,    -1,    59,    -1,    -1,    -1,
     3915      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
     3916      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
     3917      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
     3918      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
     3919     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
     3920     113,   114,   115,    36,    -1,    38,    39,    -1,    41,    -1,
     3921      -1,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
     3922      53,    -1,    -1,    56,    57,    -1,    59,    -1,    -1,    -1,
    39423923      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
    39433924      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    39443925      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    39453926      36,    -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3946      103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
     3927     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
    39473928     113,   114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,
    39483929      -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,
     
    39503931      -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,
    39513932      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
    3952       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3933      -1,    -1,   108,    -1,   110,   111,   112,   113,   114,   115,
    39533934      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
    39543935      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
     
    39663947      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    39673948      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,
    3968       38,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,
     3949      38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    39693950      -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    39703951     115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
     
    39723953      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
    39733954      -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,    -1,
    3974       -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     3955      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
    39753956      -1,    -1,   110,   111,   112,   113,   114,   115,    59,    -1,
    39763957      -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,    -1,
     
    39823963      -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    39833964      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,
     3965      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,
     3966      -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,
    39863967      -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,
     3968     114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
     3969      -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3970      77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
     3971      87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,
     3972      -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,
     3973      -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    59,
     3974      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
     3975      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3976      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    39913977      -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,
     3978      -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3979     110,   111,   112,   113,   114,   115,     4,     5,     6,     7,
     3980       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3981      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3982      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
     3983      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3984      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3985      -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3986      68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
     3987       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3988      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3989      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3990      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
     3991      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3992      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
     3993      -1,    64,    -1,    -1,    67,    68,     3,     4,     5,     6,
    39953994       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    39963995      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     
    39993998      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40003999      -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,
     4000      67,    68,     4,     5,     6,     7,     8,     9,    10,    11,
     4001      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4002      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     4003      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
    40054004      -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,
     4005      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     4006      62,    -1,    64,    -1,    -1,    67,    68,    10,    11,    12,
     4007      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     4008      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    32,
     4009      33,    34,    -1,    -1,    37,    10,    11,    12,    13,    14,
     4010      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     4011      25,    26,    -1,    -1,    29,    30,    31,    60,    -1,    -1,
     4012      -1,    -1,    37,    -1,    67,    68,    -1,    -1,    -1,    -1,
    40124013      -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
     4014      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
     4015      -1,    -1,    67,    68
    40234016};
    40244017
     
    40314024      22,    23,    24,    25,    26,    29,    30,    31,    32,    35,
    40324025      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,
     4026      76,    77,   101,   103,   111,   129,   132,   189,   201,   202,
     4027     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
     4028     213,   214,   215,   216,   217,   218,   220,   221,   222,   223,
     4029     224,   225,   226,   227,   229,   230,   231,   232,   233,   234,
     4030     235,   243,   244,   270,   271,   272,   280,   283,   289,   290,
     4031     292,   294,   295,   301,   306,   310,   311,   312,   313,   314,
     4032     315,   316,   317,   337,   354,   355,   356,   357,    65,   111,
     4033     131,   204,   206,   214,   216,   226,   230,   232,   271,    75,
     4034     101,   299,   300,   301,   299,   299,    65,    67,    68,    69,
     4035     130,   131,   260,   261,   281,   282,    67,    68,   261,   101,
     4036     292,   215,   216,   101,   111,   306,   311,   312,   313,   315,
     4037     316,   317,   104,   126,   103,   207,   214,   216,   310,   314,
     4038     353,   354,   357,   358,   127,   123,   264,   106,   127,   164,
     4039      67,    68,   129,   259,   127,   127,   127,   108,   127,    67,
     4040      68,   101,   111,   296,   305,   306,   307,   308,   309,   310,
     4041     314,   318,   319,   320,   321,   322,   328,     3,    27,    71,
     4042     228,     3,     5,    67,   103,   111,   206,   217,   221,   224,
     4043     233,   272,   310,   314,   357,   204,   206,   216,   226,   230,
     4044     232,   271,   310,   314,    32,   222,   222,   217,   224,   127,
     4045     222,   217,   222,   217,    68,   101,   106,   261,   272,   106,
     4046     261,   222,   217,   108,   127,   127,     0,   126,   101,   164,
     4047     299,   299,   126,   103,   214,   216,   355,   259,   259,   216,
     4048     123,   101,   111,   296,   306,   310,   103,   111,   357,   293,
     4049     219,   301,   101,   277,   101,   101,   101,    36,    38,    59,
     4050      65,    69,    72,    73,    74,    75,    79,    80,    87,   101,
     4051     103,   110,   111,   112,   113,   114,   115,   128,   132,   133,
     4052     134,   135,   140,   141,   142,   143,   144,   145,   146,   147,
     4053     148,   149,   150,   151,   152,   153,   155,   157,   214,   263,
     4054     279,   353,   358,   216,   102,   102,   102,   102,   102,   102,
     4055     102,    67,    68,   103,   214,   259,   337,   355,   103,   111,
     4056     155,   206,   207,   213,   216,   220,   221,   226,   229,   230,
     4057     232,   249,   250,   254,   255,   256,   257,   271,   337,   349,
     4058     350,   351,   352,   357,   358,   104,   101,   310,   314,   357,
     4059     101,   108,   124,   103,   106,   111,   155,   265,   107,   126,
     4060     108,   124,   101,   108,   124,   108,   124,   108,   124,   299,
     4061     124,   306,   307,   308,   309,   319,   320,   321,   322,   216,
     4062     305,   318,    57,   298,   103,   299,   336,   337,   299,   299,
     4063     164,   126,   101,   299,   336,   299,   299,   216,   296,   101,
     4064     101,   215,   214,   216,   104,   126,   214,   353,   358,   164,
     4065     126,   259,   264,   206,   221,   310,   314,   164,   126,   281,
     4066     216,   226,   124,   216,   216,   279,    38,   103,   214,   236,
     4067     237,   238,   239,   353,   357,   106,   245,   261,   106,   216,
     4068     281,   124,   124,   292,   126,   131,   258,     3,   127,   196,
     4069     197,   211,   213,   216,   126,   298,   101,   298,   155,   306,
     4070     216,   101,   126,   259,   106,    32,    33,    34,   214,   273,
     4071     274,   276,   126,   121,   123,   278,   126,   217,   223,   224,
     4072     259,   302,   303,   304,   140,   153,   154,   101,   140,   142,
     4073     101,   140,   101,   101,   140,   140,   131,   103,   155,   160,
     4074     164,   214,   262,   353,   104,   126,   142,   142,    75,    78,
     4075      79,    80,   101,   103,   105,    90,    91,    92,    93,    94,
     4076      95,    96,    97,    98,    99,   123,   159,   142,   111,   116,
     4077     117,   113,   114,    81,    82,    83,    84,   118,   119,    85,
     4078      86,   112,   120,   121,    87,    88,   122,   123,   360,   101,
     4079     111,   332,   333,   334,   335,   336,   102,   108,   101,   336,
     4080     337,   101,   336,   337,   126,   101,   214,   355,   104,   126,
     4081     103,   111,   127,   214,   216,   348,   349,   357,   358,   127,
     4082     101,   103,   111,   306,   323,   324,   325,   326,   327,   328,
     4083     329,   330,   331,   337,   338,   339,   340,   341,   342,   343,
     4084     111,   357,   216,   127,   127,   111,   214,   216,   350,   259,
     4085     214,   337,   350,   259,   101,   126,   126,   126,   104,   126,
     4086      65,   103,   105,   261,   265,   266,   267,   268,   269,   126,
     4087     126,   126,   126,   126,   126,   296,   102,   102,   102,   102,
     4088     102,   102,   102,   305,   318,   101,   264,   104,   196,   126,
     4089     296,   160,   263,   160,   263,   296,   103,   196,   298,   164,
     4090     126,   196,   102,   238,   239,   104,   126,   101,   109,   111,
     4091     240,   242,   305,   306,   318,   336,   344,   345,   346,   347,
     4092     107,   237,   108,   124,   108,   124,   261,   236,   108,   359,
     4093     123,   246,   245,   216,   251,   252,   253,   256,   257,   102,
     4094     108,   164,   126,   111,   155,   126,   213,   216,   250,   349,
     4095     357,   290,   291,   101,   111,   323,   102,   108,   360,   261,
     4096     273,   101,   106,   261,   263,   273,   102,   108,   101,   102,
     4097     109,   262,   262,   103,   131,   137,   155,   263,   262,   104,
     4098     126,   102,   108,   102,   101,   111,   344,   102,   108,   155,
     4099     103,   131,   103,   136,   137,   126,   103,   131,   155,   155,
     4100     142,   142,   142,   143,   143,   144,   144,   145,   145,   145,
     4101     145,   146,   146,   147,   148,   149,   150,   151,   109,   160,
     4102     155,   126,   333,   334,   335,   216,   332,   299,   299,   155,
     4103     263,   126,   258,   111,   126,   214,   337,   350,   216,   220,
     4104     104,   126,   104,   357,   104,   101,   126,   306,   324,   325,
     4105     326,   329,   339,   340,   341,   104,   126,   216,   323,   327,
     4106     338,   101,   299,   342,   360,   299,   299,   360,   101,   299,
     4107     342,   299,   299,   299,   299,   337,   214,   348,   358,   259,
     4108     104,   108,   104,   108,   360,   214,   350,   360,   247,   248,
     4109     249,   250,   247,   247,   259,   155,   126,   103,   261,   109,
     4110     108,   359,   265,   103,   109,   269,    28,   198,   199,   259,
     4111     247,   131,   296,   131,   298,   101,   336,   337,   101,   336,
     4112     337,   133,   337,   164,   251,   102,   102,   102,   102,   104,
     4113     164,   196,   164,   106,   124,   124,   103,   306,   345,   346,
     4114     347,   154,   216,   344,   241,   242,   241,   299,   299,   261,
     4115     299,   107,   261,   107,   154,   359,   127,   127,   131,   211,
     4116     127,   127,   247,   101,   111,   357,   127,   107,   216,   274,
     4117     275,   127,   126,   126,   101,   127,   102,   303,   160,   161,
     4118     124,    75,   190,   191,   192,   102,   102,   126,   109,   102,
     4119     102,   102,   155,   216,   106,   142,   157,   155,   156,   158,
     4120     108,   127,   126,   126,   102,   108,   155,   126,   153,   109,
     4121     251,   102,   102,   102,   332,   251,   102,   247,   214,   350,
     4122     103,   111,   155,   155,   216,   329,   251,   102,   102,   102,
     4123     102,   102,   102,   102,     7,   216,   323,   327,   338,   126,
     4124     126,   360,   126,   126,   102,   127,   127,   127,   127,   264,
     4125     127,   153,   154,   155,   297,   126,   265,   267,   107,   126,
     4126     200,   261,    38,    39,    41,    44,    45,    46,    47,    48,
     4127      49,    50,    51,    53,    56,   103,   131,   161,   162,   163,
     4128     164,   165,   166,   168,   169,   181,   183,   184,   189,   201,
     4129     295,    28,   127,   123,   264,   126,   126,   102,   127,   164,
     4130     236,   104,   102,   102,   102,   344,   240,   246,   107,   102,
     4131     108,   104,   104,   127,   216,   108,   360,   277,   102,   273,
     4132     204,   206,   214,   285,   286,   287,   288,   279,   102,   102,
     4133     101,   102,   109,   108,   155,   155,   266,   108,   127,   158,
    41424134     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,
     4135     127,   101,   336,   337,   127,   127,   126,   127,   127,   127,
     4136     155,   102,   127,   101,   336,   337,   101,   342,   101,   342,
     4137     337,   215,     7,   111,   127,   155,   251,   251,   250,   254,
     4138     254,   255,   108,   108,   102,   102,   104,    89,   115,   127,
     4139     127,   138,   265,   155,   108,   124,   201,   205,   216,   220,
    41484140     101,   101,   162,   101,   101,   124,   131,   124,   131,   111,
    41494141     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
     4142     126,   127,   200,   102,   155,   251,   251,   299,   102,   107,
     4143     101,   336,   337,   126,   102,   126,   127,   296,   107,   126,
     4144     127,   127,   102,   106,   154,   124,   190,   192,   108,   127,
     4145     359,   156,   104,   127,    78,   105,   108,   127,   127,   104,
     4146     127,   102,   126,   102,   102,   104,   104,   104,   127,   102,
     4147     126,   126,   126,   155,   155,   127,   104,   127,   127,   127,
     4148     127,   126,   126,   154,   154,   104,   104,   127,   127,   261,
     4149     216,   160,   160,    45,   160,   126,   124,   124,   160,   124,
     4150     124,   160,    54,    55,   185,   186,   187,   124,   299,   166,
     4151     107,   124,   127,   127,   126,    89,   256,   257,   102,   286,
     4152     108,   124,   108,   124,   107,   284,   102,   102,   109,   158,
     4153     104,   107,   104,   103,   139,   103,   139,   139,   104,   104,
     4154     104,   251,   104,   251,   251,   251,   127,   127,   104,   104,
     4155     102,   102,   104,   108,    89,   250,    89,   127,   104,   104,
     4156     102,   102,   101,   102,   161,   182,   201,   124,   102,   101,
     4157     164,   187,    54,   162,   102,   102,   251,   106,   126,   126,
     4158     285,   124,    75,   193,   127,   109,   126,   126,   127,   127,
     4159     127,   127,   104,   104,   126,   127,   104,   162,    42,    43,
     4160     106,   172,   173,   174,   160,   162,   127,   102,   161,   106,
     4161     174,    89,   126,   101,   127,   126,   259,   296,   107,   102,
     4162     108,   104,   155,   138,   138,   102,   102,   102,   102,   254,
     4163      40,   154,   170,   171,   297,   109,   126,   162,   172,   102,
     4164     124,   162,   124,   126,   102,   126,    89,   126,   102,   285,
     4165     124,    75,   109,   127,   127,   162,    89,   108,   109,   127,
     4166     194,   195,   201,   124,   161,   161,   194,   164,   188,   214,
     4167     353,   102,   126,   107,   155,   104,   104,   154,   170,   173,
     4168     175,   176,   126,   124,   173,   177,   178,   127,   101,   111,
     4169     296,   344,   131,   164,   188,   101,   162,   167,   107,   173,
     4170     201,   161,    52,   167,   180,   107,   173,   102,   216,   127,
     4171     279,   162,   167,   124,   179,   180,   167,   180,   164,   102,
     4172     102,   179,   127,   164,   127
    41824173};
    41834174
     
    50165007
    50175008/* Line 1806 of yacc.c  */
    5018 #line 288 "parser.yy"
     5009#line 279 "parser.yy"
    50195010    {
    50205011                        typedefTable.enterScope();
     
    50255016
    50265017/* Line 1806 of yacc.c  */
    5027 #line 294 "parser.yy"
     5018#line 285 "parser.yy"
    50285019    {
    50295020                        typedefTable.leaveScope();
     
    50345025
    50355026/* Line 1806 of yacc.c  */
    5036 #line 303 "parser.yy"
     5027#line 294 "parser.yy"
    50375028    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    50385029    break;
     
    50415032
    50425033/* Line 1806 of yacc.c  */
    5043 #line 304 "parser.yy"
     5034#line 295 "parser.yy"
    50445035    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    50455036    break;
     
    50485039
    50495040/* Line 1806 of yacc.c  */
    5050 #line 305 "parser.yy"
     5041#line 296 "parser.yy"
    50515042    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    50525043    break;
     
    50555046
    50565047/* Line 1806 of yacc.c  */
    5057 #line 329 "parser.yy"
     5048#line 320 "parser.yy"
    50585049    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    50595050    break;
     
    50625053
    50635054/* Line 1806 of yacc.c  */
     5055#line 321 "parser.yy"
     5056    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
     5057    break;
     5058
     5059  case 17:
     5060
     5061/* Line 1806 of yacc.c  */
     5062#line 328 "parser.yy"
     5063    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5064    break;
     5065
     5066  case 18:
     5067
     5068/* Line 1806 of yacc.c  */
    50645069#line 330 "parser.yy"
    5065     { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    5066     break;
    5067 
    5068   case 17:
    5069 
    5070 /* Line 1806 of yacc.c  */
    5071 #line 337 "parser.yy"
    50725070    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    50735071    break;
    50745072
    5075   case 18:
    5076 
    5077 /* Line 1806 of yacc.c  */
    5078 #line 339 "parser.yy"
     5073  case 19:
     5074
     5075/* Line 1806 of yacc.c  */
     5076#line 332 "parser.yy"
     5077    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5078    break;
     5079
     5080  case 20:
     5081
     5082/* Line 1806 of yacc.c  */
     5083#line 334 "parser.yy"
     5084    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5085    break;
     5086
     5087  case 21:
     5088
     5089/* Line 1806 of yacc.c  */
     5090#line 336 "parser.yy"
     5091    { (yyval.en) = (yyvsp[(2) - (3)].en); }
     5092    break;
     5093
     5094  case 22:
     5095
     5096/* Line 1806 of yacc.c  */
     5097#line 338 "parser.yy"
     5098    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
     5099    break;
     5100
     5101  case 24:
     5102
     5103/* Line 1806 of yacc.c  */
     5104#line 348 "parser.yy"
     5105    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
     5106    break;
     5107
     5108  case 25:
     5109
     5110/* Line 1806 of yacc.c  */
     5111#line 350 "parser.yy"
     5112    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
     5113    break;
     5114
     5115  case 26:
     5116
     5117/* Line 1806 of yacc.c  */
     5118#line 352 "parser.yy"
     5119    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
     5120    break;
     5121
     5122  case 28:
     5123
     5124/* Line 1806 of yacc.c  */
     5125#line 355 "parser.yy"
     5126    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
     5127    break;
     5128
     5129  case 30:
     5130
     5131/* Line 1806 of yacc.c  */
     5132#line 358 "parser.yy"
     5133    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
     5134    break;
     5135
     5136  case 31:
     5137
     5138/* Line 1806 of yacc.c  */
     5139#line 360 "parser.yy"
     5140    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
     5141    break;
     5142
     5143  case 32:
     5144
     5145/* Line 1806 of yacc.c  */
     5146#line 363 "parser.yy"
     5147    { (yyval.en) = 0; }
     5148    break;
     5149
     5150  case 34:
     5151
     5152/* Line 1806 of yacc.c  */
     5153#line 369 "parser.yy"
     5154    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     5155    break;
     5156
     5157  case 35:
     5158
     5159/* Line 1806 of yacc.c  */
     5160#line 374 "parser.yy"
     5161    { (yyval.en) = 0; }
     5162    break;
     5163
     5164  case 37:
     5165
     5166/* Line 1806 of yacc.c  */
     5167#line 377 "parser.yy"
     5168    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_asArgName( (yyvsp[(1) - (3)].tok) ); }
     5169    break;
     5170
     5171  case 38:
     5172
     5173/* Line 1806 of yacc.c  */
     5174#line 382 "parser.yy"
     5175    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_asArgName( (yyvsp[(3) - (7)].en) ); }
     5176    break;
     5177
     5178  case 39:
     5179
     5180/* Line 1806 of yacc.c  */
     5181#line 384 "parser.yy"
     5182    { (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) )))); }
     5183    break;
     5184
     5185  case 41:
     5186
     5187/* Line 1806 of yacc.c  */
     5188#line 389 "parser.yy"
     5189    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5190    break;
     5191
     5192  case 42:
     5193
     5194/* Line 1806 of yacc.c  */
     5195#line 394 "parser.yy"
    50795196    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    50805197    break;
    50815198
    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"
     5199  case 43:
     5200
     5201/* Line 1806 of yacc.c  */
     5202#line 396 "parser.yy"
     5203    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
     5204    break;
     5205
     5206  case 44:
     5207
     5208/* Line 1806 of yacc.c  */
     5209#line 398 "parser.yy"
     5210    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
     5211    break;
     5212
     5213  case 45:
     5214
     5215/* Line 1806 of yacc.c  */
     5216#line 400 "parser.yy"
     5217    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
     5218    break;
     5219
     5220  case 46:
     5221
     5222/* Line 1806 of yacc.c  */
     5223#line 402 "parser.yy"
     5224    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
     5225    break;
     5226
     5227  case 48:
     5228
     5229/* Line 1806 of yacc.c  */
     5230#line 408 "parser.yy"
     5231    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
     5232    break;
     5233
     5234  case 49:
     5235
     5236/* Line 1806 of yacc.c  */
     5237#line 410 "parser.yy"
     5238    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
     5239    break;
     5240
     5241  case 50:
     5242
     5243/* Line 1806 of yacc.c  */
     5244#line 412 "parser.yy"
     5245    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     5246    break;
     5247
     5248  case 51:
     5249
     5250/* Line 1806 of yacc.c  */
     5251#line 414 "parser.yy"
     5252    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5253    break;
     5254
     5255  case 52:
     5256
     5257/* Line 1806 of yacc.c  */
     5258#line 416 "parser.yy"
     5259    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
     5260    break;
     5261
     5262  case 53:
     5263
     5264/* Line 1806 of yacc.c  */
     5265#line 418 "parser.yy"
     5266    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
     5267    break;
     5268
     5269  case 54:
     5270
     5271/* Line 1806 of yacc.c  */
     5272#line 424 "parser.yy"
     5273    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
     5274    break;
     5275
     5276  case 55:
     5277
     5278/* Line 1806 of yacc.c  */
     5279#line 426 "parser.yy"
     5280    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5281    break;
     5282
     5283  case 56:
     5284
     5285/* Line 1806 of yacc.c  */
     5286#line 428 "parser.yy"
     5287    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
     5288    break;
     5289
     5290  case 57:
     5291
     5292/* Line 1806 of yacc.c  */
     5293#line 430 "parser.yy"
     5294    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5295    break;
     5296
     5297  case 58:
     5298
     5299/* Line 1806 of yacc.c  */
     5300#line 432 "parser.yy"
     5301    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
     5302    break;
     5303
     5304  case 59:
     5305
     5306/* Line 1806 of yacc.c  */
     5307#line 434 "parser.yy"
     5308    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
     5309    break;
     5310
     5311  case 60:
     5312
     5313/* Line 1806 of yacc.c  */
     5314#line 436 "parser.yy"
     5315    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5316    break;
     5317
     5318  case 61:
     5319
     5320/* Line 1806 of yacc.c  */
     5321#line 438 "parser.yy"
     5322    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true )); }
     5323    break;
     5324
     5325  case 62:
     5326
     5327/* Line 1806 of yacc.c  */
     5328#line 442 "parser.yy"
     5329    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
     5330    break;
     5331
     5332  case 63:
     5333
     5334/* Line 1806 of yacc.c  */
     5335#line 443 "parser.yy"
     5336    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5337    break;
     5338
     5339  case 64:
     5340
     5341/* Line 1806 of yacc.c  */
     5342#line 444 "parser.yy"
     5343    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5344    break;
     5345
     5346  case 65:
     5347
     5348/* Line 1806 of yacc.c  */
     5349#line 445 "parser.yy"
     5350    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
     5351    break;
     5352
     5353  case 67:
     5354
     5355/* Line 1806 of yacc.c  */
     5356#line 451 "parser.yy"
     5357    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5358    break;
     5359
     5360  case 68:
     5361
     5362/* Line 1806 of yacc.c  */
     5363#line 453 "parser.yy"
     5364    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5365    break;
     5366
     5367  case 70:
     5368
     5369/* Line 1806 of yacc.c  */
     5370#line 459 "parser.yy"
     5371    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5372    break;
     5373
     5374  case 71:
     5375
     5376/* Line 1806 of yacc.c  */
     5377#line 461 "parser.yy"
     5378    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5379    break;
     5380
     5381  case 72:
     5382
     5383/* Line 1806 of yacc.c  */
     5384#line 463 "parser.yy"
     5385    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5386    break;
     5387
     5388  case 74:
     5389
     5390/* Line 1806 of yacc.c  */
     5391#line 469 "parser.yy"
     5392    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5393    break;
     5394
     5395  case 75:
     5396
     5397/* Line 1806 of yacc.c  */
     5398#line 471 "parser.yy"
     5399    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5400    break;
     5401
     5402  case 77:
     5403
     5404/* Line 1806 of yacc.c  */
     5405#line 477 "parser.yy"
     5406    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5407    break;
     5408
     5409  case 78:
     5410
     5411/* Line 1806 of yacc.c  */
     5412#line 479 "parser.yy"
     5413    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5414    break;
     5415
     5416  case 80:
     5417
     5418/* Line 1806 of yacc.c  */
     5419#line 485 "parser.yy"
     5420    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5421    break;
     5422
     5423  case 81:
     5424
     5425/* Line 1806 of yacc.c  */
     5426#line 487 "parser.yy"
     5427    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5428    break;
     5429
     5430  case 82:
     5431
     5432/* Line 1806 of yacc.c  */
     5433#line 489 "parser.yy"
     5434    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5435    break;
     5436
     5437  case 83:
     5438
     5439/* Line 1806 of yacc.c  */
     5440#line 491 "parser.yy"
     5441    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5442    break;
     5443
     5444  case 85:
     5445
     5446/* Line 1806 of yacc.c  */
     5447#line 497 "parser.yy"
     5448    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5449    break;
     5450
     5451  case 86:
     5452
     5453/* Line 1806 of yacc.c  */
     5454#line 499 "parser.yy"
     5455    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5456    break;
     5457
     5458  case 88:
     5459
     5460/* Line 1806 of yacc.c  */
     5461#line 505 "parser.yy"
     5462    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5463    break;
     5464
     5465  case 90:
     5466
     5467/* Line 1806 of yacc.c  */
     5468#line 511 "parser.yy"
     5469    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5470    break;
     5471
     5472  case 92:
     5473
     5474/* Line 1806 of yacc.c  */
     5475#line 517 "parser.yy"
     5476    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5477    break;
     5478
     5479  case 94:
     5480
     5481/* Line 1806 of yacc.c  */
     5482#line 523 "parser.yy"
     5483    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5484    break;
     5485
     5486  case 96:
     5487
     5488/* Line 1806 of yacc.c  */
     5489#line 529 "parser.yy"
     5490    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5491    break;
     5492
     5493  case 98:
     5494
     5495/* Line 1806 of yacc.c  */
     5496#line 535 "parser.yy"
     5497    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5498    break;
     5499
     5500  case 99:
     5501
     5502/* Line 1806 of yacc.c  */
     5503#line 537 "parser.yy"
     5504    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     5505    break;
     5506
     5507  case 100:
     5508
     5509/* Line 1806 of yacc.c  */
     5510#line 539 "parser.yy"
     5511    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5512    break;
     5513
     5514  case 103:
     5515
     5516/* Line 1806 of yacc.c  */
     5517#line 550 "parser.yy"
     5518    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5519    break;
     5520
     5521  case 104:
     5522
     5523/* Line 1806 of yacc.c  */
     5524#line 552 "parser.yy"
     5525    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5526    break;
     5527
     5528  case 105:
     5529
     5530/* Line 1806 of yacc.c  */
     5531#line 554 "parser.yy"
     5532    { (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) ); }
     5533    break;
     5534
     5535  case 106:
     5536
     5537/* Line 1806 of yacc.c  */
     5538#line 559 "parser.yy"
     5539    { (yyval.en) = new NullExprNode; }
     5540    break;
     5541
     5542  case 108:
     5543
     5544/* Line 1806 of yacc.c  */
     5545#line 567 "parser.yy"
     5546    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5547    break;
     5548
     5549  case 109:
     5550
     5551/* Line 1806 of yacc.c  */
     5552#line 569 "parser.yy"
     5553    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
     5554    break;
     5555
     5556  case 110:
     5557
     5558/* Line 1806 of yacc.c  */
     5559#line 571 "parser.yy"
     5560    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
     5561    break;
     5562
     5563  case 111:
     5564
     5565/* Line 1806 of yacc.c  */
     5566#line 573 "parser.yy"
     5567    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
     5568    break;
     5569
     5570  case 113:
     5571
     5572/* Line 1806 of yacc.c  */
     5573#line 579 "parser.yy"
     5574    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5575    break;
     5576
     5577  case 114:
     5578
     5579/* Line 1806 of yacc.c  */
     5580#line 583 "parser.yy"
     5581    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
     5582    break;
     5583
     5584  case 115:
     5585
     5586/* Line 1806 of yacc.c  */
     5587#line 584 "parser.yy"
     5588    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5589    break;
     5590
     5591  case 116:
     5592
     5593/* Line 1806 of yacc.c  */
     5594#line 585 "parser.yy"
     5595    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5596    break;
     5597
     5598  case 117:
     5599
     5600/* Line 1806 of yacc.c  */
     5601#line 586 "parser.yy"
     5602    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5603    break;
     5604
     5605  case 118:
     5606
     5607/* Line 1806 of yacc.c  */
     5608#line 587 "parser.yy"
     5609    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5610    break;
     5611
     5612  case 119:
     5613
     5614/* Line 1806 of yacc.c  */
     5615#line 588 "parser.yy"
     5616    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5617    break;
     5618
     5619  case 120:
     5620
     5621/* Line 1806 of yacc.c  */
     5622#line 589 "parser.yy"
     5623    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5624    break;
     5625
     5626  case 121:
     5627
     5628/* Line 1806 of yacc.c  */
     5629#line 590 "parser.yy"
     5630    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5631    break;
     5632
     5633  case 122:
     5634
     5635/* Line 1806 of yacc.c  */
     5636#line 591 "parser.yy"
     5637    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5638    break;
     5639
     5640  case 123:
     5641
     5642/* Line 1806 of yacc.c  */
     5643#line 592 "parser.yy"
     5644    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
     5645    break;
     5646
     5647  case 125:
     5648
     5649/* Line 1806 of yacc.c  */
     5650#line 598 "parser.yy"
     5651    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5652    break;
     5653
     5654  case 126:
     5655
     5656/* Line 1806 of yacc.c  */
     5657#line 603 "parser.yy"
    51425658    { (yyval.en) = 0; }
    51435659    break;
    51445660
    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 
    56705661  case 130:
    56715662
    56725663/* Line 1806 of yacc.c  */
    5673 #line 623 "parser.yy"
     5664#line 612 "parser.yy"
    56745665    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56755666    break;
     
    56785669
    56795670/* Line 1806 of yacc.c  */
    5680 #line 633 "parser.yy"
    5681     {
    5682                         (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
    5683                 }
     5671#line 622 "parser.yy"
     5672    { (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );}
    56845673    break;
    56855674
     
    56875676
    56885677/* Line 1806 of yacc.c  */
     5678#line 627 "parser.yy"
     5679    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
     5680    break;
     5681
     5682  case 138:
     5683
     5684/* Line 1806 of yacc.c  */
     5685#line 634 "parser.yy"
     5686    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
     5687    break;
     5688
     5689  case 140:
     5690
     5691/* Line 1806 of yacc.c  */
    56895692#line 640 "parser.yy"
    5690     { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    5691     break;
    5692 
    5693   case 138:
     5693    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
     5694    break;
     5695
     5696  case 141:
     5697
     5698/* Line 1806 of yacc.c  */
     5699#line 645 "parser.yy"
     5700    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
     5701    break;
     5702
     5703  case 142:
    56945704
    56955705/* Line 1806 of yacc.c  */
    56965706#line 647 "parser.yy"
    5697     { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    5698     break;
    5699 
    5700   case 140:
    5701 
    5702 /* Line 1806 of yacc.c  */
    5703 #line 653 "parser.yy"
    5704     { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    5705     break;
    5706 
    5707   case 141:
    5708 
    5709 /* Line 1806 of yacc.c  */
    5710 #line 658 "parser.yy"
     5707    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
     5708    break;
     5709
     5710  case 143:
     5711
     5712/* Line 1806 of yacc.c  */
     5713#line 649 "parser.yy"
    57115714    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57125715    break;
    57135716
    5714   case 142:
    5715 
    5716 /* Line 1806 of yacc.c  */
    5717 #line 660 "parser.yy"
    5718     { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    5719     break;
    5720 
    5721   case 143:
    5722 
    5723 /* Line 1806 of yacc.c  */
    5724 #line 662 "parser.yy"
    5725     { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    5726     break;
    5727 
    57285717  case 146:
    57295718
    57305719/* Line 1806 of yacc.c  */
     5720#line 656 "parser.yy"
     5721    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
     5722    break;
     5723
     5724  case 147:
     5725
     5726/* Line 1806 of yacc.c  */
     5727#line 661 "parser.yy"
     5728    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
     5729    break;
     5730
     5731  case 148:
     5732
     5733/* Line 1806 of yacc.c  */
     5734#line 667 "parser.yy"
     5735    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5736    break;
     5737
     5738  case 149:
     5739
     5740/* Line 1806 of yacc.c  */
    57315741#line 669 "parser.yy"
    5732     { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    5733     break;
    5734 
    5735   case 147:
    5736 
    5737 /* Line 1806 of yacc.c  */
    5738 #line 674 "parser.yy"
    5739     { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    5740     break;
    5741 
    5742   case 148:
     5742    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
     5743    break;
     5744
     5745  case 150:
     5746
     5747/* Line 1806 of yacc.c  */
     5748#line 671 "parser.yy"
     5749    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5750    break;
     5751
     5752  case 151:
     5753
     5754/* Line 1806 of yacc.c  */
     5755#line 673 "parser.yy"
     5756    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
     5757    break;
     5758
     5759  case 152:
     5760
     5761/* Line 1806 of yacc.c  */
     5762#line 678 "parser.yy"
     5763    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5764    break;
     5765
     5766  case 153:
    57435767
    57445768/* Line 1806 of yacc.c  */
    57455769#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"
    5753     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    5754     break;
    5755 
    5756   case 150:
    5757 
    5758 /* Line 1806 of yacc.c  */
    5759 #line 684 "parser.yy"
    5760     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5761     break;
    5762 
    5763   case 151:
    5764 
    5765 /* Line 1806 of yacc.c  */
    5766 #line 686 "parser.yy"
    5767     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    5768     break;
    5769 
    5770   case 152:
    5771 
    5772 /* Line 1806 of yacc.c  */
    5773 #line 691 "parser.yy"
    5774     { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5775     break;
    5776 
    5777   case 153:
    5778 
    5779 /* Line 1806 of yacc.c  */
    5780 #line 693 "parser.yy"
    57815770    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    57825771    break;
     
    57855774
    57865775/* Line 1806 of yacc.c  */
     5776#line 687 "parser.yy"
     5777    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     5778    break;
     5779
     5780  case 155:
     5781
     5782/* Line 1806 of yacc.c  */
     5783#line 689 "parser.yy"
     5784    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5785    break;
     5786
     5787  case 158:
     5788
     5789/* Line 1806 of yacc.c  */
     5790#line 696 "parser.yy"
     5791    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
     5792    break;
     5793
     5794  case 159:
     5795
     5796/* Line 1806 of yacc.c  */
    57875797#line 700 "parser.yy"
    5788     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    5789     break;
    5790 
    5791   case 155:
    5792 
    5793 /* Line 1806 of yacc.c  */
    5794 #line 702 "parser.yy"
    5795     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5796     break;
    5797 
    5798   case 158:
    5799 
    5800 /* Line 1806 of yacc.c  */
    5801 #line 709 "parser.yy"
    5802     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    5803     break;
    5804 
    5805   case 159:
    5806 
    5807 /* Line 1806 of yacc.c  */
    5808 #line 713 "parser.yy"
    58095798    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    58105799    break;
     
    58135802
    58145803/* Line 1806 of yacc.c  */
    5815 #line 714 "parser.yy"
     5804#line 701 "parser.yy"
    58165805    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58175806    break;
     
    58205809
    58215810/* Line 1806 of yacc.c  */
    5822 #line 720 "parser.yy"
     5811#line 707 "parser.yy"
    58235812    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58245813    break;
     
    58275816
    58285817/* Line 1806 of yacc.c  */
     5818#line 711 "parser.yy"
     5819    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     5820    break;
     5821
     5822  case 164:
     5823
     5824/* Line 1806 of yacc.c  */
     5825#line 716 "parser.yy"
     5826    { (yyval.sn) = 0; }
     5827    break;
     5828
     5829  case 166:
     5830
     5831/* Line 1806 of yacc.c  */
     5832#line 722 "parser.yy"
     5833    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     5834    break;
     5835
     5836  case 167:
     5837
     5838/* Line 1806 of yacc.c  */
    58295839#line 724 "parser.yy"
    5830     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    5831     break;
    5832 
    5833   case 164:
     5840    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     5841    break;
     5842
     5843  case 168:
    58345844
    58355845/* Line 1806 of yacc.c  */
     
    58385848    break;
    58395849
    5840   case 166:
     5850  case 170:
    58415851
    58425852/* Line 1806 of yacc.c  */
     
    58455855    break;
    58465856
    5847   case 167:
     5857  case 171:
    58485858
    58495859/* Line 1806 of yacc.c  */
    58505860#line 737 "parser.yy"
     5861    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
     5862    break;
     5863
     5864  case 172:
     5865
     5866/* Line 1806 of yacc.c  */
     5867#line 739 "parser.yy"
    58515868    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58525869    break;
    58535870
    5854   case 168:
    5855 
    5856 /* Line 1806 of yacc.c  */
    5857 #line 742 "parser.yy"
     5871  case 173:
     5872
     5873/* Line 1806 of yacc.c  */
     5874#line 741 "parser.yy"
     5875    { (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) ))))); }
     5876    break;
     5877
     5878  case 174:
     5879
     5880/* Line 1806 of yacc.c  */
     5881#line 746 "parser.yy"
    58585882    { (yyval.sn) = 0; }
    58595883    break;
    58605884
    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:
     5885  case 176:
     5886
     5887/* Line 1806 of yacc.c  */
     5888#line 751 "parser.yy"
     5889    { (yyval.sn) = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
     5890    break;
     5891
     5892  case 177:
    58765893
    58775894/* Line 1806 of yacc.c  */
    58785895#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:
     5896    { (yyval.sn) = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
     5897    break;
     5898
     5899  case 178:
     5900
     5901/* Line 1806 of yacc.c  */
     5902#line 757 "parser.yy"
     5903    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5904    break;
     5905
     5906  case 179:
    58905907
    58915908/* Line 1806 of yacc.c  */
    58925909#line 759 "parser.yy"
    5893     { (yyval.sn) = 0; }
    5894     break;
    5895 
    5896   case 176:
    5897 
    5898 /* Line 1806 of yacc.c  */
    5899 #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"
    59215910    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    59225911    break;
     
    59255914
    59265915/* Line 1806 of yacc.c  */
    5927 #line 774 "parser.yy"
     5916#line 761 "parser.yy"
    59285917    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59295918    break;
     
    59325921
    59335922/* Line 1806 of yacc.c  */
    5934 #line 779 "parser.yy"
     5923#line 766 "parser.yy"
    59355924    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59365925    break;
     
    59395928
    59405929/* Line 1806 of yacc.c  */
    5941 #line 781 "parser.yy"
     5930#line 768 "parser.yy"
    59425931    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59435932    break;
     
    59465935
    59475936/* Line 1806 of yacc.c  */
    5948 #line 786 "parser.yy"
     5937#line 773 "parser.yy"
    59495938    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59505939    break;
     
    59535942
    59545943/* Line 1806 of yacc.c  */
    5955 #line 790 "parser.yy"
     5944#line 777 "parser.yy"
    59565945    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59575946    break;
     
    59605949
    59615950/* Line 1806 of yacc.c  */
     5951#line 780 "parser.yy"
     5952    { (yyval.sn) = new StatementNode( StatementNode::Continue, 0, 0 ); }
     5953    break;
     5954
     5955  case 186:
     5956
     5957/* Line 1806 of yacc.c  */
     5958#line 784 "parser.yy"
     5959    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
     5960    break;
     5961
     5962  case 187:
     5963
     5964/* Line 1806 of yacc.c  */
     5965#line 787 "parser.yy"
     5966    { (yyval.sn) = new StatementNode( StatementNode::Break, 0, 0 ); }
     5967    break;
     5968
     5969  case 188:
     5970
     5971/* Line 1806 of yacc.c  */
     5972#line 791 "parser.yy"
     5973    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
     5974    break;
     5975
     5976  case 189:
     5977
     5978/* Line 1806 of yacc.c  */
    59625979#line 793 "parser.yy"
    5963     { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    5964     break;
    5965 
    5966   case 186:
     5980    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
     5981    break;
     5982
     5983  case 190:
     5984
     5985/* Line 1806 of yacc.c  */
     5986#line 795 "parser.yy"
     5987    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     5988    break;
     5989
     5990  case 191:
    59675991
    59685992/* Line 1806 of yacc.c  */
    59695993#line 797 "parser.yy"
    5970     { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    5971     break;
    5972 
    5973   case 187:
    5974 
    5975 /* Line 1806 of yacc.c  */
    5976 #line 800 "parser.yy"
    5977     { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    5978     break;
    5979 
    5980   case 188:
     5994    { (yyval.sn) = new StatementNode( StatementNode::Throw, 0, 0 ); }
     5995    break;
     5996
     5997  case 192:
     5998
     5999/* Line 1806 of yacc.c  */
     6000#line 802 "parser.yy"
     6001    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6002    break;
     6003
     6004  case 193:
    59816005
    59826006/* Line 1806 of yacc.c  */
    59836007#line 804 "parser.yy"
    5984     { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    5985     break;
    5986 
    5987   case 189:
     6008    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6009    break;
     6010
     6011  case 194:
    59886012
    59896013/* Line 1806 of yacc.c  */
    59906014#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"
    5998     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    5999     break;
    6000 
    6001   case 191:
    6002 
    6003 /* Line 1806 of yacc.c  */
    6004 #line 810 "parser.yy"
    6005     { (yyval.sn) = new StatementNode( StatementNode::Throw ); }
    6006     break;
    6007 
    6008   case 192:
    6009 
    6010 /* Line 1806 of yacc.c  */
    6011 #line 815 "parser.yy"
    6012     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6013     break;
    6014 
    6015   case 193:
    6016 
    6017 /* Line 1806 of yacc.c  */
    6018 #line 817 "parser.yy"
    6019     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6020     break;
    6021 
    6022   case 194:
    6023 
    6024 /* Line 1806 of yacc.c  */
    6025 #line 819 "parser.yy"
    60266015    {
    60276016                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60336022
    60346023/* Line 1806 of yacc.c  */
    6035 #line 830 "parser.yy"
     6024#line 817 "parser.yy"
    60366025    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60376026    break;
     
    60406029
    60416030/* Line 1806 of yacc.c  */
    6042 #line 832 "parser.yy"
     6031#line 819 "parser.yy"
    60436032    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60446033    break;
     
    60476036
    60486037/* Line 1806 of yacc.c  */
    6049 #line 837 "parser.yy"
     6038#line 824 "parser.yy"
    60506039    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    60516040    break;
     
    60546043
    60556044/* Line 1806 of yacc.c  */
    6056 #line 839 "parser.yy"
     6045#line 826 "parser.yy"
    60576046    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60586047    break;
     
    60616050
    60626051/* Line 1806 of yacc.c  */
    6063 #line 844 "parser.yy"
     6052#line 831 "parser.yy"
    60646053    {
    60656054                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    60716060
    60726061/* Line 1806 of yacc.c  */
    6073 #line 858 "parser.yy"
     6062#line 845 "parser.yy"
    60746063    {
    60756064                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60816070
    60826071/* Line 1806 of yacc.c  */
    6083 #line 863 "parser.yy"
     6072#line 850 "parser.yy"
    60846073    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    60856074    break;
     
    60886077
    60896078/* Line 1806 of yacc.c  */
    6090 #line 865 "parser.yy"
     6079#line 852 "parser.yy"
    60916080    {
    60926081                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60986087
    60996088/* 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 ); }
     6089#line 861 "parser.yy"
     6090    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
    61026091    break;
    61036092
     
    61056094
    61066095/* 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) ); }
     6096#line 863 "parser.yy"
     6097    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
    61096098    break;
    61106099
     
    61126101
    61136102/* 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) ); }
     6103#line 865 "parser.yy"
     6104    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
    61166105    break;
    61176106
     
    61196108
    61206109/* 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) ); }
     6110#line 867 "parser.yy"
     6111    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
     6112    break;
     6113
     6114  case 214:
     6115
     6116/* Line 1806 of yacc.c  */
     6117#line 881 "parser.yy"
     6118    {}
     6119    break;
     6120
     6121  case 215:
     6122
     6123/* Line 1806 of yacc.c  */
     6124#line 885 "parser.yy"
     6125    {}
    61586126    break;
    61596127
     
    61616129
    61626130/* 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; }
     6131#line 893 "parser.yy"
     6132    { (yyval.decl) = 0; }
    61796133    break;
    61806134
     
    61826136
    61836137/* Line 1806 of yacc.c  */
    6184 #line 915 "parser.yy"
    6185     { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
     6138#line 900 "parser.yy"
     6139    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    61866140    break;
    61876141
     
    61896143
    61906144/* Line 1806 of yacc.c  */
    6191 #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) ); }
     6145#line 905 "parser.yy"
     6146    { (yyval.decl) = 0; }
    62076147    break;
    62086148
     
    62106150
    62116151/* Line 1806 of yacc.c  */
    6212 #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"
     6152#line 912 "parser.yy"
    62206153    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62216154    break;
    62226155
    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"
     6156  case 229:
     6157
     6158/* Line 1806 of yacc.c  */
     6159#line 926 "parser.yy"
    62416160    {}
    62426161    break;
    62436162
    6244   case 237:
    6245 
    6246 /* Line 1806 of yacc.c  */
    6247 #line 965 "parser.yy"
     6163  case 230:
     6164
     6165/* Line 1806 of yacc.c  */
     6166#line 927 "parser.yy"
    62486167    {}
    62496168    break;
    62506169
    6251   case 245:
    6252 
    6253 /* Line 1806 of yacc.c  */
    6254 #line 994 "parser.yy"
     6170  case 238:
     6171
     6172/* Line 1806 of yacc.c  */
     6173#line 956 "parser.yy"
    62556174    {
    62566175                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62596178    break;
    62606179
    6261   case 246:
    6262 
    6263 /* Line 1806 of yacc.c  */
    6264 #line 1001 "parser.yy"
     6180  case 239:
     6181
     6182/* Line 1806 of yacc.c  */
     6183#line 963 "parser.yy"
    62656184    {
    62666185                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62696188    break;
    62706189
    6271   case 247:
    6272 
    6273 /* Line 1806 of yacc.c  */
    6274 #line 1006 "parser.yy"
     6190  case 240:
     6191
     6192/* Line 1806 of yacc.c  */
     6193#line 968 "parser.yy"
    62756194    {
    62766195                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    62796198    break;
    62806199
    6281   case 248:
    6282 
    6283 /* Line 1806 of yacc.c  */
    6284 #line 1016 "parser.yy"
     6200  case 241:
     6201
     6202/* Line 1806 of yacc.c  */
     6203#line 978 "parser.yy"
    62856204    {
    62866205                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    62896208    break;
    62906209
    6291   case 249:
    6292 
    6293 /* Line 1806 of yacc.c  */
    6294 #line 1021 "parser.yy"
     6210  case 242:
     6211
     6212/* Line 1806 of yacc.c  */
     6213#line 983 "parser.yy"
    62956214    {
    62966215                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    62996218    break;
    63006219
    6301   case 250:
    6302 
    6303 /* Line 1806 of yacc.c  */
    6304 #line 1026 "parser.yy"
     6220  case 243:
     6221
     6222/* Line 1806 of yacc.c  */
     6223#line 988 "parser.yy"
    63056224    {
    63066225                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63096228    break;
    63106229
    6311   case 251:
    6312 
    6313 /* Line 1806 of yacc.c  */
    6314 #line 1034 "parser.yy"
     6230  case 244:
     6231
     6232/* Line 1806 of yacc.c  */
     6233#line 996 "parser.yy"
    63156234    {
    63166235                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63196238    break;
    63206239
    6321   case 252:
    6322 
    6323 /* Line 1806 of yacc.c  */
    6324 #line 1039 "parser.yy"
     6240  case 245:
     6241
     6242/* Line 1806 of yacc.c  */
     6243#line 1001 "parser.yy"
    63256244    {
    63266245                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63296248    break;
    63306249
    6331   case 253:
    6332 
    6333 /* Line 1806 of yacc.c  */
    6334 #line 1044 "parser.yy"
     6250  case 246:
     6251
     6252/* Line 1806 of yacc.c  */
     6253#line 1006 "parser.yy"
    63356254    {
    63366255                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63396258    break;
    63406259
    6341   case 254:
    6342 
    6343 /* Line 1806 of yacc.c  */
    6344 #line 1049 "parser.yy"
     6260  case 247:
     6261
     6262/* Line 1806 of yacc.c  */
     6263#line 1011 "parser.yy"
    63456264    {
    63466265                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63496268    break;
    63506269
    6351   case 255:
    6352 
    6353 /* Line 1806 of yacc.c  */
    6354 #line 1054 "parser.yy"
     6270  case 248:
     6271
     6272/* Line 1806 of yacc.c  */
     6273#line 1016 "parser.yy"
    63556274    {
    63566275                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63596278    break;
    63606279
    6361   case 256:
    6362 
    6363 /* Line 1806 of yacc.c  */
    6364 #line 1062 "parser.yy"
     6280  case 249:
     6281
     6282/* Line 1806 of yacc.c  */
     6283#line 1024 "parser.yy"
    63656284    {
    63666285                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    63686287    break;
    63696288
    6370   case 257:
    6371 
    6372 /* Line 1806 of yacc.c  */
    6373 #line 1085 "parser.yy"
     6289  case 250:
     6290
     6291/* Line 1806 of yacc.c  */
     6292#line 1047 "parser.yy"
    63746293    {
    63756294                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63776296    break;
    63786297
    6379   case 258:
    6380 
    6381 /* Line 1806 of yacc.c  */
    6382 #line 1089 "parser.yy"
     6298  case 251:
     6299
     6300/* Line 1806 of yacc.c  */
     6301#line 1051 "parser.yy"
    63836302    {
    63846303                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63866305    break;
    63876306
    6388   case 259:
    6389 
    6390 /* Line 1806 of yacc.c  */
    6391 #line 1096 "parser.yy"
     6307  case 252:
     6308
     6309/* Line 1806 of yacc.c  */
     6310#line 1058 "parser.yy"
    63926311    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    63936312    break;
    63946313
    6395   case 260:
    6396 
    6397 /* Line 1806 of yacc.c  */
    6398 #line 1100 "parser.yy"
     6314  case 253:
     6315
     6316/* Line 1806 of yacc.c  */
     6317#line 1062 "parser.yy"
    63996318    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64006319    break;
    64016320
    6402   case 261:
    6403 
    6404 /* Line 1806 of yacc.c  */
    6405 #line 1105 "parser.yy"
     6321  case 254:
     6322
     6323/* Line 1806 of yacc.c  */
     6324#line 1067 "parser.yy"
    64066325    {
    64076326                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64106329    break;
    64116330
    6412   case 262:
    6413 
    6414 /* Line 1806 of yacc.c  */
    6415 #line 1110 "parser.yy"
     6331  case 255:
     6332
     6333/* Line 1806 of yacc.c  */
     6334#line 1072 "parser.yy"
    64166335    {
    64176336                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64206339    break;
    64216340
    6422   case 263:
    6423 
    6424 /* Line 1806 of yacc.c  */
    6425 #line 1115 "parser.yy"
     6341  case 256:
     6342
     6343/* Line 1806 of yacc.c  */
     6344#line 1077 "parser.yy"
    64266345    {
    64276346                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64306349    break;
    64316350
    6432   case 264:
    6433 
    6434 /* Line 1806 of yacc.c  */
    6435 #line 1126 "parser.yy"
     6351  case 257:
     6352
     6353/* Line 1806 of yacc.c  */
     6354#line 1088 "parser.yy"
    64366355    {
    64376356                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64406359    break;
    64416360
    6442   case 265:
    6443 
    6444 /* Line 1806 of yacc.c  */
    6445 #line 1131 "parser.yy"
     6361  case 258:
     6362
     6363/* Line 1806 of yacc.c  */
     6364#line 1093 "parser.yy"
    64466365    {
    64476366                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64506369    break;
    64516370
    6452   case 266:
    6453 
    6454 /* Line 1806 of yacc.c  */
    6455 #line 1136 "parser.yy"
     6371  case 259:
     6372
     6373/* Line 1806 of yacc.c  */
     6374#line 1098 "parser.yy"
    64566375    {
    64576376                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64606379    break;
    64616380
    6462   case 267:
    6463 
    6464 /* Line 1806 of yacc.c  */
    6465 #line 1141 "parser.yy"
     6381  case 260:
     6382
     6383/* Line 1806 of yacc.c  */
     6384#line 1103 "parser.yy"
    64666385    {
    64676386                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64706389    break;
    64716390
    6472   case 268:
    6473 
    6474 /* Line 1806 of yacc.c  */
    6475 #line 1146 "parser.yy"
     6391  case 261:
     6392
     6393/* Line 1806 of yacc.c  */
     6394#line 1108 "parser.yy"
    64766395    {
    64776396                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64806399    break;
    64816400
    6482   case 269:
    6483 
    6484 /* Line 1806 of yacc.c  */
    6485 #line 1155 "parser.yy"
     6401  case 262:
     6402
     6403/* Line 1806 of yacc.c  */
     6404#line 1117 "parser.yy"
    64866405    {
    64876406                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    64906409    break;
    64916410
    6492   case 270:
    6493 
    6494 /* Line 1806 of yacc.c  */
    6495 #line 1160 "parser.yy"
     6411  case 263:
     6412
     6413/* Line 1806 of yacc.c  */
     6414#line 1122 "parser.yy"
    64966415    {
    64976416                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65006419    break;
    65016420
    6502   case 275:
    6503 
    6504 /* Line 1806 of yacc.c  */
    6505 #line 1177 "parser.yy"
     6421  case 268:
     6422
     6423/* Line 1806 of yacc.c  */
     6424#line 1139 "parser.yy"
    65066425    {
    65076426                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65106429    break;
    65116430
    6512   case 276:
    6513 
    6514 /* Line 1806 of yacc.c  */
    6515 #line 1182 "parser.yy"
     6431  case 269:
     6432
     6433/* Line 1806 of yacc.c  */
     6434#line 1144 "parser.yy"
    65166435    {
    65176436                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65206439    break;
    65216440
     6441  case 278:
     6442
     6443/* Line 1806 of yacc.c  */
     6444#line 1166 "parser.yy"
     6445    { (yyval.decl) = 0; }
     6446    break;
     6447
     6448  case 281:
     6449
     6450/* Line 1806 of yacc.c  */
     6451#line 1178 "parser.yy"
     6452    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6453    break;
     6454
     6455  case 283:
     6456
     6457/* Line 1806 of yacc.c  */
     6458#line 1184 "parser.yy"
     6459    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }
     6460    break;
     6461
     6462  case 284:
     6463
     6464/* Line 1806 of yacc.c  */
     6465#line 1189 "parser.yy"
     6466    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6467    break;
     6468
    65226469  case 285:
    65236470
    65246471/* Line 1806 of yacc.c  */
    6525 #line 1204 "parser.yy"
    6526     { (yyval.decl) = 0; }
     6472#line 1191 "parser.yy"
     6473    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
     6474    break;
     6475
     6476  case 286:
     6477
     6478/* Line 1806 of yacc.c  */
     6479#line 1193 "parser.yy"
     6480    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
     6481    break;
     6482
     6483  case 287:
     6484
     6485/* Line 1806 of yacc.c  */
     6486#line 1195 "parser.yy"
     6487    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    65276488    break;
    65286489
     
    65306491
    65316492/* 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"
     6493#line 1197 "parser.yy"
    65686494    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    65696495    break;
    65706496
    6571   case 296:
    6572 
    6573 /* Line 1806 of yacc.c  */
    6574 #line 1237 "parser.yy"
     6497  case 289:
     6498
     6499/* Line 1806 of yacc.c  */
     6500#line 1199 "parser.yy"
    65756501    {
    65766502                        typedefTable.enterScope();
     
    65786504    break;
    65796505
    6580   case 297:
    6581 
    6582 /* Line 1806 of yacc.c  */
    6583 #line 1241 "parser.yy"
     6506  case 290:
     6507
     6508/* Line 1806 of yacc.c  */
     6509#line 1203 "parser.yy"
    65846510    {
    65856511                        typedefTable.leaveScope();
     
    65886514    break;
    65896515
     6516  case 292:
     6517
     6518/* Line 1806 of yacc.c  */
     6519#line 1212 "parser.yy"
     6520    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6521    break;
     6522
     6523  case 293:
     6524
     6525/* Line 1806 of yacc.c  */
     6526#line 1214 "parser.yy"
     6527    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6528    break;
     6529
     6530  case 295:
     6531
     6532/* Line 1806 of yacc.c  */
     6533#line 1225 "parser.yy"
     6534    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6535    break;
     6536
     6537  case 297:
     6538
     6539/* Line 1806 of yacc.c  */
     6540#line 1234 "parser.yy"
     6541    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6542    break;
     6543
     6544  case 298:
     6545
     6546/* Line 1806 of yacc.c  */
     6547#line 1236 "parser.yy"
     6548    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6549    break;
     6550
    65906551  case 299:
    65916552
    65926553/* Line 1806 of yacc.c  */
    6593 #line 1250 "parser.yy"
     6554#line 1238 "parser.yy"
     6555    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6556    break;
     6557
     6558  case 300:
     6559
     6560/* Line 1806 of yacc.c  */
     6561#line 1240 "parser.yy"
     6562    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6563    break;
     6564
     6565  case 301:
     6566
     6567/* Line 1806 of yacc.c  */
     6568#line 1242 "parser.yy"
     6569    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6570    break;
     6571
     6572  case 302:
     6573
     6574/* Line 1806 of yacc.c  */
     6575#line 1244 "parser.yy"
     6576    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6577    break;
     6578
     6579  case 303:
     6580
     6581/* Line 1806 of yacc.c  */
     6582#line 1246 "parser.yy"
     6583    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6584    break;
     6585
     6586  case 304:
     6587
     6588/* Line 1806 of yacc.c  */
     6589#line 1248 "parser.yy"
     6590    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6591    break;
     6592
     6593  case 305:
     6594
     6595/* Line 1806 of yacc.c  */
     6596#line 1253 "parser.yy"
     6597    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     6598    break;
     6599
     6600  case 306:
     6601
     6602/* Line 1806 of yacc.c  */
     6603#line 1255 "parser.yy"
     6604    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6605    break;
     6606
     6607  case 307:
     6608
     6609/* Line 1806 of yacc.c  */
     6610#line 1257 "parser.yy"
     6611    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6612    break;
     6613
     6614  case 308:
     6615
     6616/* Line 1806 of yacc.c  */
     6617#line 1259 "parser.yy"
     6618    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6619    break;
     6620
     6621  case 309:
     6622
     6623/* Line 1806 of yacc.c  */
     6624#line 1261 "parser.yy"
     6625    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6626    break;
     6627
     6628  case 310:
     6629
     6630/* Line 1806 of yacc.c  */
     6631#line 1263 "parser.yy"
     6632    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     6633    break;
     6634
     6635  case 311:
     6636
     6637/* Line 1806 of yacc.c  */
     6638#line 1265 "parser.yy"
     6639    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     6640    break;
     6641
     6642  case 312:
     6643
     6644/* Line 1806 of yacc.c  */
     6645#line 1267 "parser.yy"
     6646    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     6647    break;
     6648
     6649  case 313:
     6650
     6651/* Line 1806 of yacc.c  */
     6652#line 1269 "parser.yy"
     6653    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     6654    break;
     6655
     6656  case 314:
     6657
     6658/* Line 1806 of yacc.c  */
     6659#line 1271 "parser.yy"
     6660    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     6661    break;
     6662
     6663  case 315:
     6664
     6665/* Line 1806 of yacc.c  */
     6666#line 1273 "parser.yy"
     6667    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     6668    break;
     6669
     6670  case 316:
     6671
     6672/* Line 1806 of yacc.c  */
     6673#line 1275 "parser.yy"
     6674    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     6675    break;
     6676
     6677  case 318:
     6678
     6679/* Line 1806 of yacc.c  */
     6680#line 1282 "parser.yy"
     6681    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6682    break;
     6683
     6684  case 319:
     6685
     6686/* Line 1806 of yacc.c  */
     6687#line 1284 "parser.yy"
    65946688    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65956689    break;
    65966690
    6597   case 300:
    6598 
    6599 /* Line 1806 of yacc.c  */
    6600 #line 1252 "parser.yy"
     6691  case 320:
     6692
     6693/* Line 1806 of yacc.c  */
     6694#line 1286 "parser.yy"
    66016695    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66026696    break;
    66036697
    6604   case 302:
    6605 
    6606 /* Line 1806 of yacc.c  */
    6607 #line 1263 "parser.yy"
     6698  case 321:
     6699
     6700/* Line 1806 of yacc.c  */
     6701#line 1288 "parser.yy"
     6702    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     6703    break;
     6704
     6705  case 323:
     6706
     6707/* Line 1806 of yacc.c  */
     6708#line 1294 "parser.yy"
     6709    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6710    break;
     6711
     6712  case 325:
     6713
     6714/* Line 1806 of yacc.c  */
     6715#line 1301 "parser.yy"
     6716    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6717    break;
     6718
     6719  case 326:
     6720
     6721/* Line 1806 of yacc.c  */
     6722#line 1303 "parser.yy"
    66086723    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66096724    break;
    66106725
    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:
     6726  case 327:
    67176727
    67186728/* Line 1806 of yacc.c  */
    67196729#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"
     6730    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     6731    break;
     6732
     6733  case 328:
     6734
     6735/* Line 1806 of yacc.c  */
     6736#line 1310 "parser.yy"
     6737    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     6738    break;
     6739
     6740  case 329:
     6741
     6742/* Line 1806 of yacc.c  */
     6743#line 1312 "parser.yy"
     6744    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     6745    break;
     6746
     6747  case 330:
     6748
     6749/* Line 1806 of yacc.c  */
     6750#line 1314 "parser.yy"
     6751    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     6752    break;
     6753
     6754  case 331:
     6755
     6756/* Line 1806 of yacc.c  */
     6757#line 1316 "parser.yy"
     6758    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     6759    break;
     6760
     6761  case 333:
     6762
     6763/* Line 1806 of yacc.c  */
     6764#line 1322 "parser.yy"
    67556765    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67566766    break;
    67576767
    6758   case 326:
    6759 
    6760 /* Line 1806 of yacc.c  */
    6761 #line 1322 "parser.yy"
     6768  case 334:
     6769
     6770/* Line 1806 of yacc.c  */
     6771#line 1324 "parser.yy"
    67626772    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67636773    break;
    67646774
    6765   case 327:
    6766 
    6767 /* Line 1806 of yacc.c  */
    6768 #line 1324 "parser.yy"
     6775  case 335:
     6776
     6777/* Line 1806 of yacc.c  */
     6778#line 1326 "parser.yy"
    67696779    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67706780    break;
    67716781
    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:
     6782  case 337:
    67806783
    67816784/* Line 1806 of yacc.c  */
    67826785#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:
    6787 
    6788 /* Line 1806 of yacc.c  */
    6789 #line 1339 "parser.yy"
    67906786    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67916787    break;
    67926788
    6793   case 333:
    6794 
    6795 /* Line 1806 of yacc.c  */
    6796 #line 1341 "parser.yy"
     6789  case 338:
     6790
     6791/* Line 1806 of yacc.c  */
     6792#line 1334 "parser.yy"
    67976793    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67986794    break;
    67996795
    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:
    6829 
    6830 /* Line 1806 of yacc.c  */
    6831 #line 1354 "parser.yy"
    6832     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6833     break;
    6834 
    68356796  case 340:
    68366797
    68376798/* Line 1806 of yacc.c  */
    6838 #line 1360 "parser.yy"
     6799#line 1340 "parser.yy"
    68396800    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68406801    break;
     
    68436804
    68446805/* Line 1806 of yacc.c  */
    6845 #line 1362 "parser.yy"
     6806#line 1342 "parser.yy"
    68466807    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68476808    break;
     
    68506811
    68516812/* Line 1806 of yacc.c  */
    6852 #line 1364 "parser.yy"
     6813#line 1344 "parser.yy"
    68536814    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68546815    break;
    68556816
     6817  case 343:
     6818
     6819/* Line 1806 of yacc.c  */
     6820#line 1349 "parser.yy"
     6821    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     6822    break;
     6823
    68566824  case 344:
    68576825
    68586826/* Line 1806 of yacc.c  */
    6859 #line 1370 "parser.yy"
     6827#line 1351 "parser.yy"
     6828    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6829    break;
     6830
     6831  case 345:
     6832
     6833/* Line 1806 of yacc.c  */
     6834#line 1353 "parser.yy"
     6835    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6836    break;
     6837
     6838  case 348:
     6839
     6840/* Line 1806 of yacc.c  */
     6841#line 1363 "parser.yy"
     6842    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
     6843    break;
     6844
     6845  case 349:
     6846
     6847/* Line 1806 of yacc.c  */
     6848#line 1365 "parser.yy"
     6849    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
     6850    break;
     6851
     6852  case 350:
     6853
     6854/* Line 1806 of yacc.c  */
     6855#line 1367 "parser.yy"
     6856    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
     6857    break;
     6858
     6859  case 351:
     6860
     6861/* Line 1806 of yacc.c  */
     6862#line 1369 "parser.yy"
     6863    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
     6864    break;
     6865
     6866  case 352:
     6867
     6868/* Line 1806 of yacc.c  */
     6869#line 1371 "parser.yy"
     6870    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     6871    break;
     6872
     6873  case 353:
     6874
     6875/* Line 1806 of yacc.c  */
     6876#line 1376 "parser.yy"
     6877    { (yyval.aggKey) = DeclarationNode::Struct; }
     6878    break;
     6879
     6880  case 354:
     6881
     6882/* Line 1806 of yacc.c  */
     6883#line 1378 "parser.yy"
     6884    { (yyval.aggKey) = DeclarationNode::Union; }
     6885    break;
     6886
     6887  case 355:
     6888
     6889/* Line 1806 of yacc.c  */
     6890#line 1383 "parser.yy"
     6891    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
     6892    break;
     6893
     6894  case 356:
     6895
     6896/* Line 1806 of yacc.c  */
     6897#line 1385 "parser.yy"
     6898    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
     6899    break;
     6900
     6901  case 358:
     6902
     6903/* Line 1806 of yacc.c  */
     6904#line 1391 "parser.yy"
     6905    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     6906    break;
     6907
     6908  case 360:
     6909
     6910/* Line 1806 of yacc.c  */
     6911#line 1394 "parser.yy"
     6912    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     6913    break;
     6914
     6915  case 362:
     6916
     6917/* Line 1806 of yacc.c  */
     6918#line 1400 "parser.yy"
     6919    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     6920    break;
     6921
     6922  case 363:
     6923
     6924/* Line 1806 of yacc.c  */
     6925#line 1402 "parser.yy"
     6926    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     6927    break;
     6928
     6929  case 364:
     6930
     6931/* Line 1806 of yacc.c  */
     6932#line 1404 "parser.yy"
     6933    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     6934    break;
     6935
     6936  case 365:
     6937
     6938/* Line 1806 of yacc.c  */
     6939#line 1409 "parser.yy"
     6940    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     6941    break;
     6942
     6943  case 366:
     6944
     6945/* Line 1806 of yacc.c  */
     6946#line 1411 "parser.yy"
     6947    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     6948    break;
     6949
     6950  case 367:
     6951
     6952/* Line 1806 of yacc.c  */
     6953#line 1416 "parser.yy"
     6954    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     6955    break;
     6956
     6957  case 368:
     6958
     6959/* Line 1806 of yacc.c  */
     6960#line 1418 "parser.yy"
     6961    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
     6962    break;
     6963
     6964  case 369:
     6965
     6966/* Line 1806 of yacc.c  */
     6967#line 1421 "parser.yy"
     6968    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     6969    break;
     6970
     6971  case 370:
     6972
     6973/* Line 1806 of yacc.c  */
     6974#line 1424 "parser.yy"
     6975    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     6976    break;
     6977
     6978  case 372:
     6979
     6980/* Line 1806 of yacc.c  */
     6981#line 1430 "parser.yy"
     6982    { (yyval.en) = 0; }
     6983    break;
     6984
     6985  case 373:
     6986
     6987/* Line 1806 of yacc.c  */
     6988#line 1432 "parser.yy"
     6989    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     6990    break;
     6991
     6992  case 374:
     6993
     6994/* Line 1806 of yacc.c  */
     6995#line 1437 "parser.yy"
     6996    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     6997    break;
     6998
     6999  case 376:
     7000
     7001/* Line 1806 of yacc.c  */
     7002#line 1446 "parser.yy"
     7003    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
     7004    break;
     7005
     7006  case 377:
     7007
     7008/* Line 1806 of yacc.c  */
     7009#line 1448 "parser.yy"
     7010    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
     7011    break;
     7012
     7013  case 378:
     7014
     7015/* Line 1806 of yacc.c  */
     7016#line 1450 "parser.yy"
     7017    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
     7018    break;
     7019
     7020  case 379:
     7021
     7022/* Line 1806 of yacc.c  */
     7023#line 1455 "parser.yy"
     7024    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
     7025    break;
     7026
     7027  case 380:
     7028
     7029/* Line 1806 of yacc.c  */
     7030#line 1457 "parser.yy"
     7031    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
     7032    break;
     7033
     7034  case 381:
     7035
     7036/* Line 1806 of yacc.c  */
     7037#line 1462 "parser.yy"
     7038    { (yyval.en) = 0; }
     7039    break;
     7040
     7041  case 382:
     7042
     7043/* Line 1806 of yacc.c  */
     7044#line 1464 "parser.yy"
     7045    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     7046    break;
     7047
     7048  case 383:
     7049
     7050/* Line 1806 of yacc.c  */
     7051#line 1471 "parser.yy"
     7052    { (yyval.decl) = 0; }
     7053    break;
     7054
     7055  case 387:
     7056
     7057/* Line 1806 of yacc.c  */
     7058#line 1479 "parser.yy"
     7059    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7060    break;
     7061
     7062  case 388:
     7063
     7064/* Line 1806 of yacc.c  */
     7065#line 1481 "parser.yy"
     7066    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7067    break;
     7068
     7069  case 389:
     7070
     7071/* Line 1806 of yacc.c  */
     7072#line 1483 "parser.yy"
     7073    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7074    break;
     7075
     7076  case 391:
     7077
     7078/* Line 1806 of yacc.c  */
     7079#line 1491 "parser.yy"
     7080    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7081    break;
     7082
     7083  case 392:
     7084
     7085/* Line 1806 of yacc.c  */
     7086#line 1493 "parser.yy"
     7087    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7088    break;
     7089
     7090  case 393:
     7091
     7092/* Line 1806 of yacc.c  */
     7093#line 1495 "parser.yy"
     7094    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7095    break;
     7096
     7097  case 395:
     7098
     7099/* Line 1806 of yacc.c  */
     7100#line 1501 "parser.yy"
     7101    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7102    break;
     7103
     7104  case 396:
     7105
     7106/* Line 1806 of yacc.c  */
     7107#line 1506 "parser.yy"
     7108    { (yyval.decl) = 0; }
     7109    break;
     7110
     7111  case 399:
     7112
     7113/* Line 1806 of yacc.c  */
     7114#line 1513 "parser.yy"
     7115    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7116    break;
     7117
     7118  case 402:
     7119
     7120/* Line 1806 of yacc.c  */
     7121#line 1520 "parser.yy"
     7122    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7123    break;
     7124
     7125  case 403:
     7126
     7127/* Line 1806 of yacc.c  */
     7128#line 1522 "parser.yy"
     7129    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7130    break;
     7131
     7132  case 405:
     7133
     7134/* Line 1806 of yacc.c  */
     7135#line 1531 "parser.yy"
     7136    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7137    break;
     7138
     7139  case 406:
     7140
     7141/* Line 1806 of yacc.c  */
     7142#line 1534 "parser.yy"
     7143    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7144    break;
     7145
     7146  case 407:
     7147
     7148/* Line 1806 of yacc.c  */
     7149#line 1536 "parser.yy"
     7150    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
     7151    break;
     7152
     7153  case 412:
     7154
     7155/* Line 1806 of yacc.c  */
     7156#line 1546 "parser.yy"
    68607157    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68617158    break;
    68627159
    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 
    72207160  case 414:
    72217161
    72227162/* 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"
     7163#line 1552 "parser.yy"
    72387164    {
    72397165                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72427168    break;
    72437169
    7244   case 422:
    7245 
    7246 /* Line 1806 of yacc.c  */
    7247 #line 1595 "parser.yy"
     7170  case 415:
     7171
     7172/* Line 1806 of yacc.c  */
     7173#line 1557 "parser.yy"
    72487174    {
    72497175                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72527178    break;
    72537179
    7254   case 424:
    7255 
    7256 /* Line 1806 of yacc.c  */
    7257 #line 1604 "parser.yy"
     7180  case 417:
     7181
     7182/* Line 1806 of yacc.c  */
     7183#line 1566 "parser.yy"
    72587184    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72597185    break;
    72607186
    7261   case 425:
    7262 
    7263 /* Line 1806 of yacc.c  */
    7264 #line 1613 "parser.yy"
     7187  case 418:
     7188
     7189/* Line 1806 of yacc.c  */
     7190#line 1575 "parser.yy"
    72657191    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    72667192    break;
    72677193
    7268   case 426:
     7194  case 419:
     7195
     7196/* Line 1806 of yacc.c  */
     7197#line 1577 "parser.yy"
     7198    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7199    break;
     7200
     7201  case 431:
     7202
     7203/* Line 1806 of yacc.c  */
     7204#line 1602 "parser.yy"
     7205    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7206    break;
     7207
     7208  case 435:
     7209
     7210/* Line 1806 of yacc.c  */
     7211#line 1610 "parser.yy"
     7212    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7213    break;
     7214
     7215  case 436:
    72697216
    72707217/* Line 1806 of yacc.c  */
    72717218#line 1615 "parser.yy"
    7272     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7219    { (yyval.in) = 0; }
     7220    break;
     7221
     7222  case 437:
     7223
     7224/* Line 1806 of yacc.c  */
     7225#line 1617 "parser.yy"
     7226    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    72737227    break;
    72747228
     
    72767230
    72777231/* Line 1806 of yacc.c  */
    7278 #line 1640 "parser.yy"
    7279     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7232#line 1621 "parser.yy"
     7233    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7234    break;
     7235
     7236  case 439:
     7237
     7238/* Line 1806 of yacc.c  */
     7239#line 1622 "parser.yy"
     7240    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7241    break;
     7242
     7243  case 441:
     7244
     7245/* Line 1806 of yacc.c  */
     7246#line 1627 "parser.yy"
     7247    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    72807248    break;
    72817249
     
    72837251
    72847252/* Line 1806 of yacc.c  */
    7285 #line 1648 "parser.yy"
    7286     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7253#line 1628 "parser.yy"
     7254    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    72877255    break;
    72887256
     
    72907258
    72917259/* 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); }
     7260#line 1630 "parser.yy"
     7261    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73017262    break;
    73027263
     
    73047265
    73057266/* 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 ); }
     7267#line 1646 "parser.yy"
     7268    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7269    break;
     7270
     7271  case 447:
     7272
     7273/* Line 1806 of yacc.c  */
     7274#line 1652 "parser.yy"
     7275    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    73157276    break;
    73167277
     
    73187279
    73197280/* Line 1806 of yacc.c  */
     7281#line 1658 "parser.yy"
     7282    { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); }
     7283    break;
     7284
     7285  case 449:
     7286
     7287/* Line 1806 of yacc.c  */
     7288#line 1661 "parser.yy"
     7289    { (yyval.en) = (yyvsp[(3) - (5)].en); }
     7290    break;
     7291
     7292  case 450:
     7293
     7294/* Line 1806 of yacc.c  */
     7295#line 1663 "parser.yy"
     7296    { (yyval.en) = (yyvsp[(3) - (5)].en); }
     7297    break;
     7298
     7299  case 451:
     7300
     7301/* Line 1806 of yacc.c  */
    73207302#line 1665 "parser.yy"
    7321     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    7322     break;
    7323 
    7324   case 449:
    7325 
    7326 /* Line 1806 of yacc.c  */
    7327 #line 1666 "parser.yy"
    7328     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    7329     break;
    7330 
    7331   case 450:
    7332 
    7333 /* Line 1806 of yacc.c  */
    7334 #line 1668 "parser.yy"
    7335     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
     7303    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); }
    73367304    break;
    73377305
     
    73397307
    73407308/* Line 1806 of yacc.c  */
    7341 #line 1684 "parser.yy"
    7342     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7309#line 1667 "parser.yy"
     7310    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    73437311    break;
    73447312
     
    73467314
    73477315/* Line 1806 of yacc.c  */
    7348 #line 1690 "parser.yy"
    7349     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7316#line 1691 "parser.yy"
     7317    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73507318    break;
    73517319
     
    73537321
    73547322/* Line 1806 of yacc.c  */
    7355 #line 1697 "parser.yy"
    7356     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7323#line 1693 "parser.yy"
     7324    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    73577325    break;
    73587326
     
    73607328
    73617329/* 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 ); }
     7330#line 1695 "parser.yy"
     7331    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    73717332    break;
    73727333
     
    73747335
    73757336/* Line 1806 of yacc.c  */
    7376 #line 1704 "parser.yy"
    7377     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7337#line 1701 "parser.yy"
     7338    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73787339    break;
    73797340
     
    73817342
    73827343/* 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 ); }
     7344#line 1703 "parser.yy"
     7345    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    73857346    break;
    73867347
     
    73897350/* Line 1806 of yacc.c  */
    73907351#line 1708 "parser.yy"
    7391     { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
     7352    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    73927353    break;
    73937354
     
    73957356
    73967357/* Line 1806 of yacc.c  */
    7397 #line 1732 "parser.yy"
    7398     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7358#line 1714 "parser.yy"
     7359    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    73997360    break;
    74007361
     
    74027363
    74037364/* Line 1806 of yacc.c  */
    7404 #line 1734 "parser.yy"
    7405     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7365#line 1719 "parser.yy"
     7366    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    74067367    break;
    74077368
     
    74097370
    74107371/* Line 1806 of yacc.c  */
     7372#line 1721 "parser.yy"
     7373    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
     7374    break;
     7375
     7376  case 466:
     7377
     7378/* Line 1806 of yacc.c  */
     7379#line 1727 "parser.yy"
     7380    { (yyval.tclass) = DeclarationNode::Type; }
     7381    break;
     7382
     7383  case 467:
     7384
     7385/* Line 1806 of yacc.c  */
     7386#line 1729 "parser.yy"
     7387    { (yyval.tclass) = DeclarationNode::Ftype; }
     7388    break;
     7389
     7390  case 468:
     7391
     7392/* Line 1806 of yacc.c  */
     7393#line 1731 "parser.yy"
     7394    { (yyval.tclass) = DeclarationNode::Dtype; }
     7395    break;
     7396
     7397  case 469:
     7398
     7399/* Line 1806 of yacc.c  */
    74117400#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) ); }
     7401    { (yyval.decl) = 0; }
    74347402    break;
    74357403
     
    74377405
    74387406/* Line 1806 of yacc.c  */
    7439 #line 1755 "parser.yy"
    7440     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7407#line 1738 "parser.yy"
     7408    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    74417409    break;
    74427410
     
    74447412
    74457413/* 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"
     7414#line 1743 "parser.yy"
    74967415    {
    74977416                        typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
     
    75007419    break;
    75017420
     7421  case 472:
     7422
     7423/* Line 1806 of yacc.c  */
     7424#line 1748 "parser.yy"
     7425    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7426    break;
     7427
     7428  case 473:
     7429
     7430/* Line 1806 of yacc.c  */
     7431#line 1750 "parser.yy"
     7432    { (yyval.decl) = 0; }
     7433    break;
     7434
     7435  case 474:
     7436
     7437/* Line 1806 of yacc.c  */
     7438#line 1755 "parser.yy"
     7439    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7440    break;
     7441
     7442  case 476:
     7443
     7444/* Line 1806 of yacc.c  */
     7445#line 1758 "parser.yy"
     7446    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7447    break;
     7448
     7449  case 477:
     7450
     7451/* Line 1806 of yacc.c  */
     7452#line 1760 "parser.yy"
     7453    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     7454    break;
     7455
     7456  case 478:
     7457
     7458/* Line 1806 of yacc.c  */
     7459#line 1765 "parser.yy"
     7460    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7461    break;
     7462
     7463  case 479:
     7464
     7465/* Line 1806 of yacc.c  */
     7466#line 1767 "parser.yy"
     7467    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7468    break;
     7469
    75027470  case 480:
    75037471
    75047472/* Line 1806 of yacc.c  */
    7505 #line 1789 "parser.yy"
    7506     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7473#line 1769 "parser.yy"
     7474    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    75077475    break;
    75087476
     
    75107478
    75117479/* Line 1806 of yacc.c  */
    7512 #line 1791 "parser.yy"
    7513     { (yyval.decl) = 0; }
     7480#line 1774 "parser.yy"
     7481    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    75147482    break;
    75157483
     
    75177485
    75187486/* 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"
     7487#line 1776 "parser.yy"
    75697488    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    75707489    break;
    75717490
    7572   case 491:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1822 "parser.yy"
     7491  case 483:
     7492
     7493/* Line 1806 of yacc.c  */
     7494#line 1781 "parser.yy"
    75767495    {
    75777496                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    75807499    break;
    75817500
    7582   case 492:
    7583 
    7584 /* Line 1806 of yacc.c  */
    7585 #line 1827 "parser.yy"
     7501  case 484:
     7502
     7503/* Line 1806 of yacc.c  */
     7504#line 1786 "parser.yy"
    75867505    {
    75877506                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    75907509    break;
    75917510
    7592   case 493:
    7593 
    7594 /* Line 1806 of yacc.c  */
    7595 #line 1835 "parser.yy"
     7511  case 485:
     7512
     7513/* Line 1806 of yacc.c  */
     7514#line 1794 "parser.yy"
    75967515    {
    75977516                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76007519    break;
    76017520
    7602   case 494:
    7603 
    7604 /* Line 1806 of yacc.c  */
    7605 #line 1840 "parser.yy"
     7521  case 486:
     7522
     7523/* Line 1806 of yacc.c  */
     7524#line 1799 "parser.yy"
    76067525    {
    76077526                        typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
     
    76107529    break;
    76117530
    7612   case 495:
    7613 
    7614 /* Line 1806 of yacc.c  */
    7615 #line 1845 "parser.yy"
     7531  case 487:
     7532
     7533/* Line 1806 of yacc.c  */
     7534#line 1804 "parser.yy"
    76167535    {
    76177536                        typedefTable.leaveContext();
     
    76217540    break;
    76227541
    7623   case 497:
    7624 
    7625 /* Line 1806 of yacc.c  */
    7626 #line 1855 "parser.yy"
     7542  case 489:
     7543
     7544/* Line 1806 of yacc.c  */
     7545#line 1814 "parser.yy"
    76277546    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76287547    break;
    76297548
    7630   case 500:
    7631 
    7632 /* Line 1806 of yacc.c  */
    7633 #line 1865 "parser.yy"
     7549  case 492:
     7550
     7551/* Line 1806 of yacc.c  */
     7552#line 1824 "parser.yy"
    76347553    {
    76357554                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76387557    break;
    76397558
    7640   case 501:
    7641 
    7642 /* Line 1806 of yacc.c  */
    7643 #line 1870 "parser.yy"
     7559  case 493:
     7560
     7561/* Line 1806 of yacc.c  */
     7562#line 1829 "parser.yy"
    76447563    {
    76457564                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76487567    break;
    76497568
    7650   case 502:
    7651 
    7652 /* Line 1806 of yacc.c  */
    7653 #line 1875 "parser.yy"
     7569  case 494:
     7570
     7571/* Line 1806 of yacc.c  */
     7572#line 1834 "parser.yy"
    76547573    {
    76557574                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    76587577    break;
    76597578
    7660   case 503:
    7661 
    7662 /* Line 1806 of yacc.c  */
    7663 #line 1883 "parser.yy"
     7579  case 495:
     7580
     7581/* Line 1806 of yacc.c  */
     7582#line 1842 "parser.yy"
    76647583    {
    76657584                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76687587    break;
    76697588
    7670   case 504:
    7671 
    7672 /* Line 1806 of yacc.c  */
    7673 #line 1888 "parser.yy"
     7589  case 496:
     7590
     7591/* Line 1806 of yacc.c  */
     7592#line 1847 "parser.yy"
    76747593    {
    76757594                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76787597    break;
    76797598
    7680   case 505:
    7681 
    7682 /* Line 1806 of yacc.c  */
    7683 #line 1898 "parser.yy"
     7599  case 497:
     7600
     7601/* Line 1806 of yacc.c  */
     7602#line 1857 "parser.yy"
    76847603    {}
    76857604    break;
    76867605
    7687   case 506:
    7688 
    7689 /* Line 1806 of yacc.c  */
    7690 #line 1900 "parser.yy"
     7606  case 498:
     7607
     7608/* Line 1806 of yacc.c  */
     7609#line 1859 "parser.yy"
    76917610    {
    76927611                        if ( theTree ) {
     
    76987617    break;
    76997618
    7700   case 508:
    7701 
    7702 /* Line 1806 of yacc.c  */
    7703 #line 1912 "parser.yy"
     7619  case 500:
     7620
     7621/* Line 1806 of yacc.c  */
     7622#line 1871 "parser.yy"
    77047623    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77057624    break;
    77067625
    7707   case 509:
    7708 
    7709 /* Line 1806 of yacc.c  */
    7710 #line 1917 "parser.yy"
     7626  case 501:
     7627
     7628/* Line 1806 of yacc.c  */
     7629#line 1876 "parser.yy"
    77117630    { (yyval.decl) = 0; }
    77127631    break;
    77137632
    7714   case 513:
    7715 
    7716 /* Line 1806 of yacc.c  */
    7717 #line 1925 "parser.yy"
     7633  case 505:
     7634
     7635/* Line 1806 of yacc.c  */
     7636#line 1884 "parser.yy"
    77187637    {}
    77197638    break;
    77207639
    7721   case 514:
    7722 
    7723 /* Line 1806 of yacc.c  */
    7724 #line 1927 "parser.yy"
     7640  case 506:
     7641
     7642/* Line 1806 of yacc.c  */
     7643#line 1886 "parser.yy"
    77257644    {
    77267645                        linkageStack.push( linkage );
     
    77297648    break;
    77307649
    7731   case 515:
    7732 
    7733 /* Line 1806 of yacc.c  */
    7734 #line 1932 "parser.yy"
     7650  case 507:
     7651
     7652/* Line 1806 of yacc.c  */
     7653#line 1891 "parser.yy"
    77357654    {
    77367655                        linkage = linkageStack.top();
     
    77407659    break;
    77417660
    7742   case 516:
    7743 
    7744 /* Line 1806 of yacc.c  */
    7745 #line 1938 "parser.yy"
     7661  case 508:
     7662
     7663/* Line 1806 of yacc.c  */
     7664#line 1897 "parser.yy"
    77467665    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    77477666    break;
    77487667
    7749   case 518:
    7750 
    7751 /* Line 1806 of yacc.c  */
    7752 #line 1948 "parser.yy"
     7668  case 510:
     7669
     7670/* Line 1806 of yacc.c  */
     7671#line 1907 "parser.yy"
    77537672    {
    77547673                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77587677    break;
    77597678
    7760   case 519:
    7761 
    7762 /* Line 1806 of yacc.c  */
    7763 #line 1954 "parser.yy"
     7679  case 511:
     7680
     7681/* Line 1806 of yacc.c  */
     7682#line 1913 "parser.yy"
    77647683    {
    77657684                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77697688    break;
    77707689
    7771   case 520:
    7772 
    7773 /* Line 1806 of yacc.c  */
    7774 #line 1963 "parser.yy"
     7690  case 512:
     7691
     7692/* Line 1806 of yacc.c  */
     7693#line 1922 "parser.yy"
    77757694    {
    77767695                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77807699    break;
    77817700
    7782   case 521:
    7783 
    7784 /* Line 1806 of yacc.c  */
    7785 #line 1969 "parser.yy"
     7701  case 513:
     7702
     7703/* Line 1806 of yacc.c  */
     7704#line 1928 "parser.yy"
    77867705    {
    77877706                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77917710    break;
    77927711
    7793   case 522:
    7794 
    7795 /* Line 1806 of yacc.c  */
    7796 #line 1975 "parser.yy"
     7712  case 514:
     7713
     7714/* Line 1806 of yacc.c  */
     7715#line 1934 "parser.yy"
    77977716    {
    77987717                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78027721    break;
    78037722
    7804   case 523:
    7805 
    7806 /* Line 1806 of yacc.c  */
    7807 #line 1981 "parser.yy"
     7723  case 515:
     7724
     7725/* Line 1806 of yacc.c  */
     7726#line 1940 "parser.yy"
    78087727    {
    78097728                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78137732    break;
    78147733
    7815   case 524:
    7816 
    7817 /* Line 1806 of yacc.c  */
    7818 #line 1987 "parser.yy"
     7734  case 516:
     7735
     7736/* Line 1806 of yacc.c  */
     7737#line 1946 "parser.yy"
    78197738    {
    78207739                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78247743    break;
    78257744
    7826   case 525:
    7827 
    7828 /* Line 1806 of yacc.c  */
    7829 #line 1995 "parser.yy"
     7745  case 517:
     7746
     7747/* Line 1806 of yacc.c  */
     7748#line 1954 "parser.yy"
    78307749    {
    78317750                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78357754    break;
    78367755
    7837   case 526:
    7838 
    7839 /* Line 1806 of yacc.c  */
    7840 #line 2001 "parser.yy"
     7756  case 518:
     7757
     7758/* Line 1806 of yacc.c  */
     7759#line 1960 "parser.yy"
    78417760    {
    78427761                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78467765    break;
    78477766
    7848   case 527:
    7849 
    7850 /* Line 1806 of yacc.c  */
    7851 #line 2009 "parser.yy"
     7767  case 519:
     7768
     7769/* Line 1806 of yacc.c  */
     7770#line 1968 "parser.yy"
    78527771    {
    78537772                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78577776    break;
    78587777
    7859   case 528:
    7860 
    7861 /* Line 1806 of yacc.c  */
    7862 #line 2015 "parser.yy"
     7778  case 520:
     7779
     7780/* Line 1806 of yacc.c  */
     7781#line 1974 "parser.yy"
    78637782    {
    78647783                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78687787    break;
    78697788
    7870   case 532:
    7871 
    7872 /* Line 1806 of yacc.c  */
    7873 #line 2030 "parser.yy"
     7789  case 524:
     7790
     7791/* Line 1806 of yacc.c  */
     7792#line 1989 "parser.yy"
    78747793    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    78757794    break;
    78767795
    7877   case 535:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 2040 "parser.yy"
    7881     { (yyval.decl) = 0; }
     7796  case 537:
     7797
     7798/* Line 1806 of yacc.c  */
     7799#line 2023 "parser.yy"
     7800    {}
    78827801    break;
    78837802
     
    78857804
    78867805/* Line 1806 of yacc.c  */
    7887 #line 2047 "parser.yy"
    7888     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7806#line 2024 "parser.yy"
     7807    {}
    78897808    break;
    78907809
     
    78927811
    78937812/* Line 1806 of yacc.c  */
    7894 #line 2053 "parser.yy"
    7895     { (yyval.decl) = 0; }
     7813#line 2025 "parser.yy"
     7814    {}
     7815    break;
     7816
     7817  case 540:
     7818
     7819/* Line 1806 of yacc.c  */
     7820#line 2026 "parser.yy"
     7821    {}
    78967822    break;
    78977823
     
    79007826/* Line 1806 of yacc.c  */
    79017827#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"
    79517828    {
    79527829                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    79557832    break;
    79567833
     7834  case 546:
     7835
     7836/* Line 1806 of yacc.c  */
     7837#line 2073 "parser.yy"
     7838    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7839    break;
     7840
     7841  case 547:
     7842
     7843/* Line 1806 of yacc.c  */
     7844#line 2078 "parser.yy"
     7845    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     7846    break;
     7847
     7848  case 548:
     7849
     7850/* Line 1806 of yacc.c  */
     7851#line 2080 "parser.yy"
     7852    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     7853    break;
     7854
     7855  case 549:
     7856
     7857/* Line 1806 of yacc.c  */
     7858#line 2082 "parser.yy"
     7859    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7860    break;
     7861
     7862  case 550:
     7863
     7864/* Line 1806 of yacc.c  */
     7865#line 2087 "parser.yy"
     7866    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     7867    break;
     7868
     7869  case 551:
     7870
     7871/* Line 1806 of yacc.c  */
     7872#line 2089 "parser.yy"
     7873    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     7874    break;
     7875
     7876  case 552:
     7877
     7878/* Line 1806 of yacc.c  */
     7879#line 2091 "parser.yy"
     7880    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     7881    break;
     7882
     7883  case 553:
     7884
     7885/* Line 1806 of yacc.c  */
     7886#line 2093 "parser.yy"
     7887    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7888    break;
     7889
    79577890  case 554:
    79587891
    79597892/* Line 1806 of yacc.c  */
    7960 #line 2121 "parser.yy"
     7893#line 2098 "parser.yy"
     7894    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     7895    break;
     7896
     7897  case 555:
     7898
     7899/* Line 1806 of yacc.c  */
     7900#line 2100 "parser.yy"
    79617901    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79627902    break;
    79637903
    7964   case 555:
    7965 
    7966 /* Line 1806 of yacc.c  */
    7967 #line 2126 "parser.yy"
     7904  case 559:
     7905
     7906/* Line 1806 of yacc.c  */
     7907#line 2116 "parser.yy"
     7908    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     7909    break;
     7910
     7911  case 560:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 2118 "parser.yy"
     7915    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     7916    break;
     7917
     7918  case 561:
     7919
     7920/* Line 1806 of yacc.c  */
     7921#line 2120 "parser.yy"
     7922    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7923    break;
     7924
     7925  case 562:
     7926
     7927/* Line 1806 of yacc.c  */
     7928#line 2125 "parser.yy"
    79687929    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    79697930    break;
    79707931
    7971   case 556:
    7972 
    7973 /* Line 1806 of yacc.c  */
    7974 #line 2128 "parser.yy"
     7932  case 563:
     7933
     7934/* Line 1806 of yacc.c  */
     7935#line 2127 "parser.yy"
    79757936    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    79767937    break;
    79777938
    7978   case 557:
    7979 
    7980 /* Line 1806 of yacc.c  */
    7981 #line 2130 "parser.yy"
     7939  case 564:
     7940
     7941/* Line 1806 of yacc.c  */
     7942#line 2129 "parser.yy"
    79827943    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79837944    break;
    79847945
    7985   case 558:
    7986 
    7987 /* Line 1806 of yacc.c  */
    7988 #line 2135 "parser.yy"
    7989     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    7990     break;
    7991 
    7992   case 559:
    7993 
    7994 /* Line 1806 of yacc.c  */
    7995 #line 2137 "parser.yy"
     7946  case 565:
     7947
     7948/* Line 1806 of yacc.c  */
     7949#line 2134 "parser.yy"
    79967950    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    79977951    break;
    79987952
    7999   case 560:
    8000 
    8001 /* Line 1806 of yacc.c  */
    8002 #line 2139 "parser.yy"
     7953  case 566:
     7954
     7955/* Line 1806 of yacc.c  */
     7956#line 2136 "parser.yy"
    80037957    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80047958    break;
    80057959
    8006   case 561:
    8007 
    8008 /* Line 1806 of yacc.c  */
    8009 #line 2141 "parser.yy"
     7960  case 567:
     7961
     7962/* Line 1806 of yacc.c  */
     7963#line 2138 "parser.yy"
    80107964    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80117965    break;
    80127966
    8013   case 562:
    8014 
    8015 /* Line 1806 of yacc.c  */
    8016 #line 2146 "parser.yy"
    8017     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8018     break;
    8019 
    8020   case 563:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 2148 "parser.yy"
     7967  case 571:
     7968
     7969/* Line 1806 of yacc.c  */
     7970#line 2153 "parser.yy"
     7971    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     7972    break;
     7973
     7974  case 572:
     7975
     7976/* Line 1806 of yacc.c  */
     7977#line 2155 "parser.yy"
     7978    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     7979    break;
     7980
     7981  case 573:
     7982
     7983/* Line 1806 of yacc.c  */
     7984#line 2157 "parser.yy"
    80247985    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80257986    break;
    80267987
    8027   case 564:
    8028 
    8029 /* Line 1806 of yacc.c  */
    8030 #line 2158 "parser.yy"
    8031     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8032     break;
    8033 
    8034   case 566:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 2161 "parser.yy"
    8038     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8039     break;
    8040 
    8041   case 567:
     7988  case 574:
     7989
     7990/* Line 1806 of yacc.c  */
     7991#line 2162 "parser.yy"
     7992    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     7993    break;
     7994
     7995  case 575:
     7996
     7997/* Line 1806 of yacc.c  */
     7998#line 2164 "parser.yy"
     7999    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8000    break;
     8001
     8002  case 576:
    80428003
    80438004/* Line 1806 of yacc.c  */
    80448005#line 2166 "parser.yy"
    8045     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8046     break;
    8047 
    8048   case 568:
    8049 
    8050 /* Line 1806 of yacc.c  */
    8051 #line 2168 "parser.yy"
    8052     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8053     break;
    8054 
    8055   case 569:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2170 "parser.yy"
    80598006    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80608007    break;
    80618008
    8062   case 570:
     8009  case 577:
     8010
     8011/* Line 1806 of yacc.c  */
     8012#line 2171 "parser.yy"
     8013    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8014    break;
     8015
     8016  case 578:
     8017
     8018/* Line 1806 of yacc.c  */
     8019#line 2173 "parser.yy"
     8020    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8021    break;
     8022
     8023  case 579:
    80638024
    80648025/* Line 1806 of yacc.c  */
    80658026#line 2175 "parser.yy"
     8027    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8028    break;
     8029
     8030  case 585:
     8031
     8032/* Line 1806 of yacc.c  */
     8033#line 2198 "parser.yy"
     8034    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8035    break;
     8036
     8037  case 586:
     8038
     8039/* Line 1806 of yacc.c  */
     8040#line 2203 "parser.yy"
    80668041    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80678042    break;
    80688043
    8069   case 571:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2177 "parser.yy"
     8044  case 587:
     8045
     8046/* Line 1806 of yacc.c  */
     8047#line 2205 "parser.yy"
    80738048    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80748049    break;
    80758050
    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:
     8051  case 588:
    81198052
    81208053/* Line 1806 of yacc.c  */
     
    81238056    break;
    81248057
    8125   case 582:
     8058  case 589:
    81268059
    81278060/* Line 1806 of yacc.c  */
    81288061#line 2212 "parser.yy"
     8062    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8063    break;
     8064
     8065  case 590:
     8066
     8067/* Line 1806 of yacc.c  */
     8068#line 2214 "parser.yy"
     8069    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8070    break;
     8071
     8072  case 591:
     8073
     8074/* Line 1806 of yacc.c  */
     8075#line 2216 "parser.yy"
     8076    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8077    break;
     8078
     8079  case 592:
     8080
     8081/* Line 1806 of yacc.c  */
     8082#line 2218 "parser.yy"
     8083    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8084    break;
     8085
     8086  case 593:
     8087
     8088/* Line 1806 of yacc.c  */
     8089#line 2223 "parser.yy"
     8090    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8091    break;
     8092
     8093  case 594:
     8094
     8095/* Line 1806 of yacc.c  */
     8096#line 2225 "parser.yy"
     8097    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8098    break;
     8099
     8100  case 595:
     8101
     8102/* Line 1806 of yacc.c  */
     8103#line 2227 "parser.yy"
     8104    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8105    break;
     8106
     8107  case 600:
     8108
     8109/* Line 1806 of yacc.c  */
     8110#line 2244 "parser.yy"
    81298111    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81308112    break;
    81318113
    8132   case 583:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2214 "parser.yy"
     8114  case 601:
     8115
     8116/* Line 1806 of yacc.c  */
     8117#line 2246 "parser.yy"
    81368118    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81378119    break;
    81388120
    8139   case 584:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2216 "parser.yy"
     8121  case 602:
     8122
     8123/* Line 1806 of yacc.c  */
     8124#line 2248 "parser.yy"
    81438125    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81448126    break;
    81458127
    8146   case 585:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2221 "parser.yy"
     8128  case 603:
     8129
     8130/* Line 1806 of yacc.c  */
     8131#line 2253 "parser.yy"
     8132    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8133    break;
     8134
     8135  case 604:
     8136
     8137/* Line 1806 of yacc.c  */
     8138#line 2255 "parser.yy"
    81508139    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81518140    break;
    81528141
    8153   case 586:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2223 "parser.yy"
     8142  case 605:
     8143
     8144/* Line 1806 of yacc.c  */
     8145#line 2257 "parser.yy"
    81578146    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81588147    break;
    81598148
    8160   case 587:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2225 "parser.yy"
     8149  case 606:
     8150
     8151/* Line 1806 of yacc.c  */
     8152#line 2259 "parser.yy"
    81648153    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81658154    break;
    81668155
    8167   case 588:
    8168 
    8169 /* Line 1806 of yacc.c  */
    8170 #line 2240 "parser.yy"
    8171     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8172     break;
    8173 
    8174   case 590:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2243 "parser.yy"
    8178     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8179     break;
    8180 
    8181   case 591:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2245 "parser.yy"
    8185     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8186     break;
    8187 
    8188   case 593:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2251 "parser.yy"
     8156  case 607:
     8157
     8158/* Line 1806 of yacc.c  */
     8159#line 2264 "parser.yy"
     8160    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8161    break;
     8162
     8163  case 608:
     8164
     8165/* Line 1806 of yacc.c  */
     8166#line 2266 "parser.yy"
     8167    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8168    break;
     8169
     8170  case 609:
     8171
     8172/* Line 1806 of yacc.c  */
     8173#line 2268 "parser.yy"
    81928174    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81938175    break;
    81948176
    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 
    83288177  case 614:
    83298178
    83308179/* 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"
     8180#line 2306 "parser.yy"
    83818181    {
    83828182                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    83858185    break;
    83868186
    8387   case 623:
    8388 
    8389 /* Line 1806 of yacc.c  */
    8390 #line 2370 "parser.yy"
     8187  case 615:
     8188
     8189/* Line 1806 of yacc.c  */
     8190#line 2311 "parser.yy"
    83918191    {
    83928192                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    83958195    break;
    83968196
    8397   case 624:
    8398 
    8399 /* Line 1806 of yacc.c  */
    8400 #line 2378 "parser.yy"
     8197  case 616:
     8198
     8199/* Line 1806 of yacc.c  */
     8200#line 2319 "parser.yy"
    84018201    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84028202    break;
    84038203
    8404   case 625:
     8204  case 617:
     8205
     8206/* Line 1806 of yacc.c  */
     8207#line 2321 "parser.yy"
     8208    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8209    break;
     8210
     8211  case 618:
     8212
     8213/* Line 1806 of yacc.c  */
     8214#line 2323 "parser.yy"
     8215    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8216    break;
     8217
     8218  case 619:
     8219
     8220/* Line 1806 of yacc.c  */
     8221#line 2328 "parser.yy"
     8222    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8223    break;
     8224
     8225  case 620:
     8226
     8227/* Line 1806 of yacc.c  */
     8228#line 2330 "parser.yy"
     8229    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8230    break;
     8231
     8232  case 621:
     8233
     8234/* Line 1806 of yacc.c  */
     8235#line 2335 "parser.yy"
     8236    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8237    break;
     8238
     8239  case 622:
     8240
     8241/* Line 1806 of yacc.c  */
     8242#line 2337 "parser.yy"
     8243    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8244    break;
     8245
     8246  case 626:
     8247
     8248/* Line 1806 of yacc.c  */
     8249#line 2357 "parser.yy"
     8250    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8251    break;
     8252
     8253  case 627:
     8254
     8255/* Line 1806 of yacc.c  */
     8256#line 2359 "parser.yy"
     8257    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8258    break;
     8259
     8260  case 628:
     8261
     8262/* Line 1806 of yacc.c  */
     8263#line 2361 "parser.yy"
     8264    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8265    break;
     8266
     8267  case 629:
     8268
     8269/* Line 1806 of yacc.c  */
     8270#line 2363 "parser.yy"
     8271    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8272    break;
     8273
     8274  case 630:
     8275
     8276/* Line 1806 of yacc.c  */
     8277#line 2365 "parser.yy"
     8278    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8279    break;
     8280
     8281  case 632:
     8282
     8283/* Line 1806 of yacc.c  */
     8284#line 2371 "parser.yy"
     8285    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8286    break;
     8287
     8288  case 633:
     8289
     8290/* Line 1806 of yacc.c  */
     8291#line 2373 "parser.yy"
     8292    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8293    break;
     8294
     8295  case 634:
     8296
     8297/* Line 1806 of yacc.c  */
     8298#line 2375 "parser.yy"
     8299    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8300    break;
     8301
     8302  case 635:
    84058303
    84068304/* Line 1806 of yacc.c  */
    84078305#line 2380 "parser.yy"
     8306    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8307    break;
     8308
     8309  case 636:
     8310
     8311/* Line 1806 of yacc.c  */
     8312#line 2382 "parser.yy"
     8313    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8314    break;
     8315
     8316  case 637:
     8317
     8318/* Line 1806 of yacc.c  */
     8319#line 2384 "parser.yy"
     8320    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8321    break;
     8322
     8323  case 638:
     8324
     8325/* Line 1806 of yacc.c  */
     8326#line 2390 "parser.yy"
     8327    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8328    break;
     8329
     8330  case 639:
     8331
     8332/* Line 1806 of yacc.c  */
     8333#line 2392 "parser.yy"
     8334    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8335    break;
     8336
     8337  case 641:
     8338
     8339/* Line 1806 of yacc.c  */
     8340#line 2398 "parser.yy"
     8341    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8342    break;
     8343
     8344  case 642:
     8345
     8346/* Line 1806 of yacc.c  */
     8347#line 2400 "parser.yy"
     8348    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8349    break;
     8350
     8351  case 643:
     8352
     8353/* Line 1806 of yacc.c  */
     8354#line 2402 "parser.yy"
     8355    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8356    break;
     8357
     8358  case 644:
     8359
     8360/* Line 1806 of yacc.c  */
     8361#line 2404 "parser.yy"
     8362    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8363    break;
     8364
     8365  case 648:
     8366
     8367/* Line 1806 of yacc.c  */
     8368#line 2424 "parser.yy"
     8369    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8370    break;
     8371
     8372  case 649:
     8373
     8374/* Line 1806 of yacc.c  */
     8375#line 2426 "parser.yy"
     8376    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8377    break;
     8378
     8379  case 650:
     8380
     8381/* Line 1806 of yacc.c  */
     8382#line 2428 "parser.yy"
     8383    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8384    break;
     8385
     8386  case 651:
     8387
     8388/* Line 1806 of yacc.c  */
     8389#line 2430 "parser.yy"
    84088390    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84098391    break;
    84108392
    8411   case 626:
    8412 
    8413 /* Line 1806 of yacc.c  */
    8414 #line 2382 "parser.yy"
     8393  case 652:
     8394
     8395/* Line 1806 of yacc.c  */
     8396#line 2432 "parser.yy"
    84158397    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84168398    break;
    84178399
    8418   case 627:
    8419 
    8420 /* Line 1806 of yacc.c  */
    8421 #line 2387 "parser.yy"
     8400  case 654:
     8401
     8402/* Line 1806 of yacc.c  */
     8403#line 2438 "parser.yy"
     8404    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8405    break;
     8406
     8407  case 655:
     8408
     8409/* Line 1806 of yacc.c  */
     8410#line 2440 "parser.yy"
     8411    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8412    break;
     8413
     8414  case 656:
     8415
     8416/* Line 1806 of yacc.c  */
     8417#line 2442 "parser.yy"
     8418    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8419    break;
     8420
     8421  case 657:
     8422
     8423/* Line 1806 of yacc.c  */
     8424#line 2447 "parser.yy"
     8425    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8426    break;
     8427
     8428  case 658:
     8429
     8430/* Line 1806 of yacc.c  */
     8431#line 2449 "parser.yy"
     8432    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8433    break;
     8434
     8435  case 659:
     8436
     8437/* Line 1806 of yacc.c  */
     8438#line 2451 "parser.yy"
     8439    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8440    break;
     8441
     8442  case 661:
     8443
     8444/* Line 1806 of yacc.c  */
     8445#line 2458 "parser.yy"
    84228446    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84238447    break;
    84248448
    8425   case 628:
    8426 
    8427 /* Line 1806 of yacc.c  */
    8428 #line 2389 "parser.yy"
     8449  case 663:
     8450
     8451/* Line 1806 of yacc.c  */
     8452#line 2469 "parser.yy"
     8453    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8454    break;
     8455
     8456  case 664:
     8457
     8458/* Line 1806 of yacc.c  */
     8459#line 2472 "parser.yy"
     8460    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8461    break;
     8462
     8463  case 665:
     8464
     8465/* Line 1806 of yacc.c  */
     8466#line 2474 "parser.yy"
     8467    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     8468    break;
     8469
     8470  case 666:
     8471
     8472/* Line 1806 of yacc.c  */
     8473#line 2477 "parser.yy"
     8474    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8475    break;
     8476
     8477  case 667:
     8478
     8479/* Line 1806 of yacc.c  */
     8480#line 2479 "parser.yy"
     8481    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8482    break;
     8483
     8484  case 668:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2481 "parser.yy"
     8488    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     8489    break;
     8490
     8491  case 672:
     8492
     8493/* Line 1806 of yacc.c  */
     8494#line 2500 "parser.yy"
     8495    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8496    break;
     8497
     8498  case 673:
     8499
     8500/* Line 1806 of yacc.c  */
     8501#line 2502 "parser.yy"
     8502    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8503    break;
     8504
     8505  case 674:
     8506
     8507/* Line 1806 of yacc.c  */
     8508#line 2504 "parser.yy"
     8509    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8510    break;
     8511
     8512  case 675:
     8513
     8514/* Line 1806 of yacc.c  */
     8515#line 2506 "parser.yy"
     8516    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8517    break;
     8518
     8519  case 676:
     8520
     8521/* Line 1806 of yacc.c  */
     8522#line 2508 "parser.yy"
     8523    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8524    break;
     8525
     8526  case 678:
     8527
     8528/* Line 1806 of yacc.c  */
     8529#line 2514 "parser.yy"
    84298530    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84308531    break;
    84318532
    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"
     8533  case 679:
     8534
     8535/* Line 1806 of yacc.c  */
     8536#line 2516 "parser.yy"
     8537    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8538    break;
     8539
     8540  case 680:
     8541
     8542/* Line 1806 of yacc.c  */
     8543#line 2518 "parser.yy"
     8544    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8545    break;
     8546
     8547  case 681:
     8548
     8549/* Line 1806 of yacc.c  */
     8550#line 2523 "parser.yy"
    84438551    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84448552    break;
    84458553
    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"
     8554  case 682:
     8555
     8556/* Line 1806 of yacc.c  */
     8557#line 2525 "parser.yy"
    84928558    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84938559    break;
    84948560
    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:
     8561  case 685:
    86858562
    86868563/* Line 1806 of yacc.c  */
    86878564#line 2535 "parser.yy"
     8565    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8566    break;
     8567
     8568  case 688:
     8569
     8570/* Line 1806 of yacc.c  */
     8571#line 2545 "parser.yy"
     8572    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8573    break;
     8574
     8575  case 689:
     8576
     8577/* Line 1806 of yacc.c  */
     8578#line 2547 "parser.yy"
     8579    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8580    break;
     8581
     8582  case 690:
     8583
     8584/* Line 1806 of yacc.c  */
     8585#line 2549 "parser.yy"
     8586    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8587    break;
     8588
     8589  case 691:
     8590
     8591/* Line 1806 of yacc.c  */
     8592#line 2551 "parser.yy"
     8593    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8594    break;
     8595
     8596  case 692:
     8597
     8598/* Line 1806 of yacc.c  */
     8599#line 2553 "parser.yy"
     8600    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8601    break;
     8602
     8603  case 693:
     8604
     8605/* Line 1806 of yacc.c  */
     8606#line 2555 "parser.yy"
     8607    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8608    break;
     8609
     8610  case 694:
     8611
     8612/* Line 1806 of yacc.c  */
     8613#line 2562 "parser.yy"
     8614    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8615    break;
     8616
     8617  case 695:
     8618
     8619/* Line 1806 of yacc.c  */
     8620#line 2564 "parser.yy"
     8621    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8622    break;
     8623
     8624  case 696:
     8625
     8626/* Line 1806 of yacc.c  */
     8627#line 2566 "parser.yy"
     8628    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8629    break;
     8630
     8631  case 697:
     8632
     8633/* Line 1806 of yacc.c  */
     8634#line 2568 "parser.yy"
     8635    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8636    break;
     8637
     8638  case 698:
     8639
     8640/* Line 1806 of yacc.c  */
     8641#line 2570 "parser.yy"
     8642    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8643    break;
     8644
     8645  case 699:
     8646
     8647/* Line 1806 of yacc.c  */
     8648#line 2572 "parser.yy"
     8649    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8650    break;
     8651
     8652  case 700:
     8653
     8654/* Line 1806 of yacc.c  */
     8655#line 2574 "parser.yy"
     8656    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8657    break;
     8658
     8659  case 701:
     8660
     8661/* Line 1806 of yacc.c  */
     8662#line 2576 "parser.yy"
     8663    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8664    break;
     8665
     8666  case 702:
     8667
     8668/* Line 1806 of yacc.c  */
     8669#line 2578 "parser.yy"
     8670    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8671    break;
     8672
     8673  case 703:
     8674
     8675/* Line 1806 of yacc.c  */
     8676#line 2580 "parser.yy"
     8677    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8678    break;
     8679
     8680  case 704:
     8681
     8682/* Line 1806 of yacc.c  */
     8683#line 2585 "parser.yy"
    86888684    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    86898685    break;
    86908686
    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"
     8687  case 705:
     8688
     8689/* Line 1806 of yacc.c  */
     8690#line 2587 "parser.yy"
    87028691    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87038692    break;
    87048693
    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"
     8694  case 706:
     8695
     8696/* Line 1806 of yacc.c  */
     8697#line 2592 "parser.yy"
     8698    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     8699    break;
     8700
     8701  case 707:
     8702
     8703/* Line 1806 of yacc.c  */
     8704#line 2594 "parser.yy"
     8705    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     8706    break;
     8707
     8708  case 709:
     8709
     8710/* Line 1806 of yacc.c  */
     8711#line 2621 "parser.yy"
    88078712    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88088713    break;
    88098714
    8810   case 696:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2610 "parser.yy"
     8715  case 713:
     8716
     8717/* Line 1806 of yacc.c  */
     8718#line 2632 "parser.yy"
    88148719    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88158720    break;
    88168721
    8817   case 697:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2612 "parser.yy"
     8722  case 714:
     8723
     8724/* Line 1806 of yacc.c  */
     8725#line 2634 "parser.yy"
    88218726    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88228727    break;
    88238728
    8824   case 698:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2614 "parser.yy"
     8729  case 715:
     8730
     8731/* Line 1806 of yacc.c  */
     8732#line 2636 "parser.yy"
    88288733    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88298734    break;
    88308735
    8831   case 699:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2616 "parser.yy"
     8736  case 716:
     8737
     8738/* Line 1806 of yacc.c  */
     8739#line 2638 "parser.yy"
    88358740    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88368741    break;
    88378742
    8838   case 700:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2618 "parser.yy"
     8743  case 717:
     8744
     8745/* Line 1806 of yacc.c  */
     8746#line 2640 "parser.yy"
    88428747    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88438748    break;
    88448749
    8845   case 701:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2620 "parser.yy"
     8750  case 718:
     8751
     8752/* Line 1806 of yacc.c  */
     8753#line 2642 "parser.yy"
    88498754    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88508755    break;
    88518756
    8852   case 702:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2627 "parser.yy"
     8757  case 719:
     8758
     8759/* Line 1806 of yacc.c  */
     8760#line 2649 "parser.yy"
    88568761    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88578762    break;
    88588763
    8859   case 703:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2629 "parser.yy"
     8764  case 720:
     8765
     8766/* Line 1806 of yacc.c  */
     8767#line 2651 "parser.yy"
     8768    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8769    break;
     8770
     8771  case 721:
     8772
     8773/* Line 1806 of yacc.c  */
     8774#line 2653 "parser.yy"
    88638775    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88648776    break;
    88658777
    8866   case 704:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2631 "parser.yy"
     8778  case 722:
     8779
     8780/* Line 1806 of yacc.c  */
     8781#line 2655 "parser.yy"
     8782    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8783    break;
     8784
     8785  case 723:
     8786
     8787/* Line 1806 of yacc.c  */
     8788#line 2657 "parser.yy"
    88708789    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88718790    break;
    88728791
    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"
     8792  case 724:
     8793
     8794/* Line 1806 of yacc.c  */
     8795#line 2659 "parser.yy"
    88848796    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88858797    break;
    88868798
    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:
     8799  case 725:
     8800
     8801/* Line 1806 of yacc.c  */
     8802#line 2664 "parser.yy"
     8803    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     8804    break;
     8805
     8806  case 726:
     8807
     8808/* Line 1806 of yacc.c  */
     8809#line 2669 "parser.yy"
     8810    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
     8811    break;
     8812
     8813  case 727:
     8814
     8815/* Line 1806 of yacc.c  */
     8816#line 2671 "parser.yy"
     8817    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     8818    break;
     8819
     8820  case 728:
     8821
     8822/* Line 1806 of yacc.c  */
     8823#line 2673 "parser.yy"
     8824    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     8825    break;
     8826
     8827  case 731:
    89588828
    89598829/* Line 1806 of yacc.c  */
    89608830#line 2697 "parser.yy"
    8961     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8962     break;
    8963 
    8964   case 722:
     8831    { (yyval.en) = 0; }
     8832    break;
     8833
     8834  case 732:
    89658835
    89668836/* Line 1806 of yacc.c  */
    89678837#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 
    8985   case 725:
    8986 
    8987 /* Line 1806 of yacc.c  */
    8988 #line 2705 "parser.yy"
    8989     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8990     break;
    8991 
    8992   case 726:
    8993 
    8994 /* Line 1806 of yacc.c  */
    8995 #line 2707 "parser.yy"
    8996     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    8997     break;
    8998 
    8999   case 727:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2714 "parser.yy"
    9003     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9004     break;
    9005 
    9006   case 728:
    9007 
    9008 /* 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 ) ); }
    9025     break;
    9026 
    9027   case 731:
    9028 
    9029 /* 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 ) ); }
    9032     break;
    9033 
    9034   case 732:
    9035 
    9036 /* 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"
    90808838    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    90818839    break;
     
    90848842
    90858843/* Line 1806 of yacc.c  */
    9086 #line 9087 "Parser/parser.cc"
     8844#line 8845 "Parser/parser.cc"
    90878845      default: break;
    90888846    }
     
    93159073
    93169074/* Line 2067 of yacc.c  */
    9317 #line 2767 "parser.yy"
     9075#line 2702 "parser.yy"
    93189076
    93199077// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.