Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r2f22cc4 r51e076e  
    8989TypedefTable typedefTable;
    9090
    91 void appendStr( std::string &to, std::string *from ) {
    92         // "abc" "def" "ghi" => "abcdefghi", remove new text from quotes and insert before last quote in old string.
    93         to.insert( to.length() - 1, from->substr( 1, from->length() - 2 ) );
    94 } // appendStr
    95 
    9691
    9792/* Line 268 of yacc.c  */
    98 #line 99 "Parser/parser.cc"
     93#line 94 "Parser/parser.cc"
    9994
    10095/* Enabling traces.  */
     
    347342
    348343/* Line 293 of yacc.c  */
    349 #line 115 "parser.yy"
     344#line 110 "parser.yy"
    350345
    351346        Token tok;
     
    356351        DeclarationNode::TypeClass tclass;
    357352        StatementNode *sn;
    358         ConstantExpr *constant;
    359         ForCtl *fctl;
     353        ConstantNode *constant;
    360354        LabelNode *label;
    361355        InitializerNode *in;
    362         OperKinds op;
     356        OperatorNode::Type op;
    363357        bool flag;
    364358
     
    366360
    367361/* Line 293 of yacc.c  */
    368 #line 369 "Parser/parser.cc"
     362#line 363 "Parser/parser.cc"
    369363} YYSTYPE;
    370364# define YYSTYPE_IS_TRIVIAL 1
     
    378372
    379373/* Line 343 of yacc.c  */
    380 #line 381 "Parser/parser.cc"
     374#line 375 "Parser/parser.cc"
    381375
    382376#ifdef short
     
    595589
    596590/* YYFINAL -- State number of the termination state.  */
    597 #define YYFINAL  251
     591#define YYFINAL  252
    598592/* YYLAST -- Last index in YYTABLE.  */
    599 #define YYLAST   10816
     593#define YYLAST   12080
    600594
    601595/* YYNTOKENS -- Number of terminals.  */
     
    604598#define YYNNTS  241
    605599/* YYNRULES -- Number of rules.  */
    606 #define YYNRULES  750
     600#define YYNRULES  755
    607601/* YYNRULES -- Number of states.  */
    608 #define YYNSTATES  1554
     602#define YYNSTATES  1579
    609603
    610604/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    621615       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    622616       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    623        2,     2,     2,   121,     2,     2,     2,   124,   118,     2,
    624      109,   110,   117,   119,   116,   120,   113,   123,     2,     2,
    625        2,     2,     2,     2,     2,     2,     2,     2,   130,   132,
    626      125,   131,   126,   129,     2,     2,     2,     2,     2,     2,
     617       2,     2,     2,   122,     2,     2,     2,   125,   119,     2,
     618     109,   110,   118,   120,   116,   121,   113,   124,     2,     2,
     619       2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
     620     126,   131,   127,   130,     2,     2,     2,     2,     2,     2,
    627621       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    628622       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    629        2,   111,     2,   112,   127,     2,     2,     2,     2,     2,
     623       2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
    630624       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    631625       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    632        2,     2,     2,   114,   128,   115,   122,     2,     2,     2,
     626       2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
    633627       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    634628       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    665659      17,    19,    21,    23,    25,    27,    29,    31,    34,    36,
    666660      38,    42,    46,    48,    55,    60,    64,    72,    76,    84,
    667       87,    90,    98,   103,   105,   109,   110,   112,   114,   118,
    668      120,   124,   132,   136,   144,   146,   148,   150,   153,   156,
    669      159,   162,   165,   168,   173,   176,   181,   188,   190,   195,
    670      200,   202,   204,   206,   208,   210,   212,   214,   219,   224,
    671      226,   230,   234,   238,   240,   244,   248,   250,   254,   258,
    672      260,   264,   268,   272,   276,   278,   282,   286,   288,   292,
    673      294,   298,   300,   304,   306,   310,   312,   316,   318,   324,
    674      329,   335,   337,   339,   343,   346,   347,   349,   351,   353,
    675      355,   357,   359,   361,   363,   365,   367,   369,   371,   374,
    676      380,   387,   395,   397,   401,   403,   407,   408,   410,   412,
    677      414,   416,   418,   420,   422,   424,   426,   433,   438,   441,
    678      449,   451,   455,   457,   460,   462,   465,   467,   470,   473,
    679      479,   487,   493,   503,   509,   519,   521,   525,   527,   529,
    680      533,   537,   540,   542,   545,   548,   549,   551,   554,   558,
    681      559,   561,   564,   568,   572,   577,   578,   580,   582,   585,
    682      591,   599,   606,   613,   618,   622,   627,   630,   634,   637,
    683      641,   645,   649,   653,   659,   663,   667,   672,   674,   680,
    684      687,   693,   700,   710,   721,   731,   742,   745,   747,   750,
    685      753,   756,   758,   765,   774,   785,   798,   813,   814,   816,
    686      817,   819,   821,   825,   830,   838,   839,   841,   845,   847,
    687      851,   853,   855,   857,   861,   863,   865,   867,   871,   872,
    688      874,   878,   883,   885,   889,   891,   893,   897,   901,   905,
    689      909,   913,   916,   920,   927,   931,   935,   940,   942,   945,
    690      948,   952,   958,   967,   975,   983,   989,   999,  1002,  1005,
    691     1011,  1015,  1021,  1026,  1030,  1035,  1040,  1048,  1052,  1056,
    692     1060,  1064,  1069,  1076,  1078,  1080,  1082,  1084,  1086,  1088,
    693     1090,  1092,  1093,  1095,  1097,  1100,  1102,  1104,  1106,  1108,
    694     1110,  1112,  1114,  1115,  1121,  1123,  1126,  1130,  1132,  1135,
    695     1137,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
    696     1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    697     1177,  1179,  1181,  1184,  1187,  1191,  1195,  1197,  1201,  1203,
    698     1206,  1209,  1212,  1217,  1222,  1227,  1232,  1234,  1237,  1240,
    699     1244,  1246,  1249,  1252,  1254,  1257,  1260,  1264,  1266,  1269,
    700     1272,  1274,  1276,  1281,  1284,  1285,  1292,  1300,  1303,  1306,
    701     1309,  1310,  1313,  1316,  1320,  1323,  1327,  1329,  1332,  1336,
    702     1339,  1342,  1347,  1348,  1350,  1353,  1356,  1358,  1359,  1361,
    703     1364,  1367,  1373,  1376,  1377,  1385,  1388,  1393,  1394,  1397,
    704     1398,  1400,  1402,  1404,  1410,  1416,  1422,  1424,  1430,  1436,
    705     1446,  1448,  1454,  1455,  1457,  1459,  1465,  1467,  1469,  1475,
    706     1481,  1483,  1487,  1491,  1496,  1498,  1500,  1502,  1504,  1507,
    707     1509,  1513,  1517,  1519,  1522,  1524,  1528,  1530,  1532,  1534,
    708     1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1553,  1555,
    709     1557,  1559,  1562,  1563,  1566,  1569,  1571,  1576,  1577,  1579,
    710     1582,  1586,  1591,  1594,  1597,  1599,  1602,  1605,  1611,  1617,
    711     1625,  1632,  1634,  1637,  1640,  1644,  1646,  1649,  1652,  1657,
    712     1660,  1665,  1666,  1671,  1674,  1676,  1678,  1680,  1681,  1684,
    713     1690,  1696,  1710,  1712,  1714,  1718,  1722,  1725,  1729,  1733,
    714     1736,  1741,  1743,  1750,  1760,  1761,  1773,  1775,  1779,  1783,
    715     1787,  1789,  1791,  1797,  1800,  1806,  1807,  1809,  1811,  1815,
    716     1816,  1818,  1820,  1822,  1824,  1825,  1832,  1835,  1837,  1840,
    717     1845,  1848,  1852,  1856,  1860,  1865,  1871,  1877,  1883,  1890,
    718     1892,  1894,  1896,  1900,  1901,  1907,  1908,  1910,  1912,  1915,
    719     1922,  1924,  1928,  1929,  1931,  1936,  1938,  1940,  1942,  1944,
    720     1947,  1949,  1952,  1955,  1957,  1961,  1964,  1968,  1972,  1975,
    721     1980,  1985,  1989,  1998,  2002,  2005,  2007,  2010,  2017,  2026,
    722     2030,  2033,  2037,  2041,  2046,  2051,  2055,  2057,  2059,  2061,
    723     2066,  2073,  2077,  2080,  2084,  2088,  2093,  2098,  2102,  2105,
    724     2107,  2110,  2113,  2115,  2119,  2122,  2126,  2130,  2133,  2138,
    725     2143,  2147,  2154,  2163,  2167,  2170,  2172,  2175,  2178,  2181,
    726     2185,  2189,  2192,  2197,  2202,  2206,  2213,  2222,  2226,  2229,
    727     2231,  2234,  2237,  2239,  2241,  2244,  2248,  2252,  2255,  2260,
    728     2267,  2276,  2278,  2281,  2284,  2286,  2289,  2292,  2296,  2300,
    729     2302,  2307,  2312,  2316,  2322,  2331,  2335,  2338,  2342,  2344,
    730     2350,  2356,  2363,  2370,  2372,  2375,  2378,  2380,  2383,  2386,
    731     2390,  2394,  2396,  2401,  2406,  2410,  2416,  2425,  2429,  2431,
    732     2434,  2436,  2439,  2446,  2452,  2459,  2467,  2475,  2477,  2480,
    733     2483,  2485,  2488,  2491,  2495,  2499,  2501,  2506,  2511,  2515,
    734     2524,  2528,  2530,  2532,  2535,  2537,  2539,  2542,  2546,  2549,
    735     2553,  2556,  2560,  2564,  2567,  2572,  2576,  2579,  2583,  2586,
    736     2591,  2595,  2598,  2605,  2612,  2619,  2627,  2629,  2632,  2634,
    737     2636,  2638,  2641,  2645,  2648,  2652,  2655,  2659,  2663,  2668,
    738     2671,  2675,  2680,  2683,  2689,  2695,  2702,  2709,  2710,  2712,
    739     2713
     661      87,    90,    98,   103,   105,   109,   110,   112,   116,   124,
     662     134,   136,   140,   142,   146,   154,   158,   166,   168,   170,
     663     172,   175,   178,   181,   184,   187,   190,   195,   202,   204,
     664     209,   214,   217,   222,   224,   226,   228,   230,   232,   234,
     665     236,   238,   243,   248,   250,   254,   258,   262,   264,   268,
     666     272,   274,   278,   282,   284,   288,   292,   296,   300,   302,
     667     306,   310,   312,   316,   318,   322,   324,   328,   330,   334,
     668     336,   340,   342,   348,   353,   359,   361,   363,   367,   371,
     669     374,   375,   377,   380,   386,   393,   401,   403,   407,   409,
     670     411,   413,   415,   417,   419,   421,   423,   425,   427,   429,
     671     433,   434,   436,   438,   440,   442,   444,   446,   448,   450,
     672     452,   459,   464,   467,   475,   477,   481,   483,   486,   488,
     673     491,   493,   496,   499,   505,   513,   519,   529,   535,   545,
     674     547,   551,   553,   555,   559,   563,   566,   568,   571,   574,
     675     575,   577,   580,   584,   585,   587,   590,   594,   598,   603,
     676     604,   606,   608,   611,   617,   625,   632,   639,   644,   648,
     677     653,   656,   660,   663,   667,   671,   675,   679,   685,   689,
     678     693,   698,   700,   706,   713,   719,   726,   736,   747,   757,
     679     768,   771,   773,   776,   779,   782,   784,   791,   800,   811,
     680     824,   839,   840,   842,   843,   845,   847,   851,   856,   864,
     681     865,   867,   871,   873,   877,   879,   881,   883,   887,   889,
     682     891,   893,   897,   898,   900,   904,   909,   911,   915,   917,
     683     919,   923,   927,   931,   935,   939,   942,   946,   953,   957,
     684     961,   966,   968,   971,   974,   978,   984,   993,  1001,  1009,
     685    1015,  1025,  1028,  1031,  1037,  1041,  1047,  1052,  1056,  1061,
     686    1066,  1074,  1078,  1082,  1086,  1090,  1095,  1102,  1104,  1106,
     687    1108,  1110,  1112,  1114,  1116,  1118,  1119,  1121,  1123,  1126,
     688    1128,  1130,  1132,  1134,  1136,  1138,  1140,  1141,  1147,  1149,
     689    1152,  1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,
     690    1175,  1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,
     691    1195,  1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,
     692    1221,  1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,
     693    1258,  1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,
     694    1286,  1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,
     695    1318,  1326,  1329,  1332,  1335,  1336,  1339,  1342,  1346,  1349,
     696    1353,  1355,  1358,  1362,  1365,  1368,  1373,  1374,  1376,  1379,
     697    1382,  1384,  1385,  1387,  1390,  1393,  1399,  1402,  1403,  1411,
     698    1414,  1419,  1420,  1423,  1424,  1426,  1428,  1430,  1436,  1442,
     699    1448,  1450,  1456,  1462,  1472,  1474,  1480,  1481,  1483,  1485,
     700    1491,  1493,  1495,  1501,  1507,  1509,  1513,  1517,  1522,  1524,
     701    1526,  1528,  1530,  1533,  1535,  1539,  1543,  1545,  1548,  1550,
     702    1554,  1556,  1558,  1560,  1562,  1564,  1566,  1568,  1570,  1572,
     703    1574,  1576,  1579,  1581,  1583,  1585,  1588,  1589,  1592,  1595,
     704    1597,  1602,  1603,  1605,  1608,  1612,  1617,  1620,  1623,  1625,
     705    1628,  1630,  1633,  1639,  1645,  1653,  1660,  1662,  1665,  1668,
     706    1672,  1674,  1677,  1680,  1685,  1688,  1693,  1694,  1699,  1702,
     707    1704,  1706,  1708,  1709,  1712,  1718,  1724,  1738,  1740,  1742,
     708    1746,  1750,  1753,  1757,  1761,  1764,  1769,  1771,  1778,  1788,
     709    1789,  1801,  1803,  1807,  1811,  1815,  1817,  1819,  1825,  1828,
     710    1834,  1835,  1837,  1839,  1843,  1844,  1846,  1848,  1850,  1852,
     711    1853,  1860,  1863,  1865,  1868,  1873,  1876,  1880,  1884,  1888,
     712    1893,  1899,  1905,  1911,  1918,  1920,  1922,  1924,  1928,  1929,
     713    1935,  1936,  1938,  1940,  1943,  1950,  1952,  1956,  1957,  1959,
     714    1964,  1966,  1968,  1970,  1972,  1975,  1977,  1980,  1983,  1985,
     715    1989,  1992,  1996,  2000,  2003,  2008,  2013,  2017,  2026,  2030,
     716    2033,  2035,  2038,  2045,  2054,  2058,  2061,  2065,  2069,  2074,
     717    2079,  2083,  2085,  2087,  2089,  2094,  2101,  2105,  2108,  2112,
     718    2116,  2121,  2126,  2130,  2133,  2135,  2138,  2141,  2143,  2147,
     719    2150,  2154,  2158,  2161,  2166,  2171,  2175,  2182,  2191,  2195,
     720    2198,  2200,  2203,  2206,  2209,  2213,  2217,  2220,  2225,  2230,
     721    2234,  2241,  2250,  2254,  2257,  2259,  2262,  2265,  2267,  2269,
     722    2272,  2276,  2280,  2283,  2288,  2295,  2304,  2306,  2309,  2312,
     723    2314,  2317,  2320,  2324,  2328,  2330,  2335,  2340,  2344,  2350,
     724    2359,  2363,  2366,  2370,  2372,  2378,  2384,  2391,  2398,  2400,
     725    2403,  2406,  2408,  2411,  2414,  2418,  2422,  2424,  2429,  2434,
     726    2438,  2444,  2453,  2457,  2459,  2462,  2464,  2467,  2474,  2480,
     727    2487,  2495,  2503,  2505,  2508,  2511,  2513,  2516,  2519,  2523,
     728    2527,  2529,  2534,  2539,  2543,  2552,  2556,  2558,  2560,  2563,
     729    2565,  2567,  2570,  2574,  2577,  2581,  2584,  2588,  2592,  2595,
     730    2600,  2604,  2607,  2611,  2614,  2619,  2623,  2626,  2633,  2640,
     731    2647,  2655,  2657,  2660,  2662,  2664,  2666,  2669,  2673,  2676,
     732    2680,  2683,  2687,  2691,  2696,  2699,  2703,  2708,  2711,  2717,
     733    2723,  2730,  2737,  2738,  2740,  2741
    740734};
    741735
     
    754748     109,   275,   110,   114,   279,   372,   115,    -1,   143,   114,
    755749     144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
    756      164,    -1,   147,    -1,   146,   116,   147,    -1,   139,    -1,
    757      139,   113,   147,    -1,   139,   113,   111,   134,   146,   135,
    758      112,    -1,   139,    85,   147,    -1,   139,    85,   111,   134,
    759      146,   135,   112,    -1,   143,    -1,   136,    -1,   141,    -1,
    760       40,   151,    -1,   149,   151,    -1,   150,   151,    -1,    86,
    761      148,    -1,    87,   148,    -1,    37,   148,    -1,    37,   109,
    762      275,   110,    -1,    66,   148,    -1,    66,   109,   275,   110,
    763       -1,    38,   109,   275,   116,   139,   110,    -1,    76,    -1,
    764       76,   109,   145,   110,    -1,    76,   109,   276,   110,    -1,
    765      117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,
    766      122,    -1,   148,    -1,   109,   275,   110,   151,    -1,   109,
    767      275,   110,   167,    -1,   151,    -1,   152,   117,   151,    -1,
    768      152,   123,   151,    -1,   152,   124,   151,    -1,   152,    -1,
    769      153,   119,   152,    -1,   153,   120,   152,    -1,   153,    -1,
    770      154,    88,   153,    -1,   154,    89,   153,    -1,   154,    -1,
    771      155,   125,   154,    -1,   155,   126,   154,    -1,   155,    90,
    772      154,    -1,   155,    91,   154,    -1,   155,    -1,   156,    92,
    773      155,    -1,   156,    93,   155,    -1,   156,    -1,   157,   118,
    774      156,    -1,   157,    -1,   158,   127,   157,    -1,   158,    -1,
    775      159,   128,   158,    -1,   159,    -1,   160,    94,   159,    -1,
    776      160,    -1,   161,    95,   160,    -1,   161,    -1,   161,   129,
    777      169,   130,   162,    -1,   161,   129,   130,   162,    -1,   161,
    778      129,   169,   130,   167,    -1,   162,    -1,   162,    -1,   148,
    779      166,   164,    -1,   167,   373,    -1,    -1,   164,    -1,   131,
    780       -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,
    781       -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,   106,
    782       -1,   111,   112,    -1,   111,   134,   164,   135,   112,    -1,
    783      111,   134,   116,   168,   135,   112,    -1,   111,   134,   164,
    784      116,   168,   135,   112,    -1,   165,    -1,   168,   116,   165,
    785       -1,   164,    -1,   169,   116,   164,    -1,    -1,   169,    -1,
    786      172,    -1,   173,    -1,   177,    -1,   178,    -1,   190,    -1,
    787      192,    -1,   193,    -1,   198,    -1,   127,   143,   114,   144,
    788      115,   132,    -1,    72,   130,   312,   171,    -1,   114,   115,
    789       -1,   114,   134,   134,   209,   174,   135,   115,    -1,   175,
    790       -1,   174,   134,   175,    -1,   212,    -1,    40,   212,    -1,
    791      308,    -1,   171,   135,    -1,   171,    -1,   176,   171,    -1,
    792      170,   132,    -1,    41,   109,   169,   110,   171,    -1,    41,
    793      109,   169,   110,   171,    42,   171,    -1,    43,   109,   169,
    794      110,   183,    -1,    43,   109,   169,   110,   114,   134,   205,
    795      184,   115,    -1,    53,   109,   169,   110,   183,    -1,    53,
    796      109,   169,   110,   114,   134,   205,   186,   115,    -1,   163,
    797       -1,   163,    96,   163,    -1,   310,    -1,   179,    -1,   180,
    798      116,   179,    -1,    44,   180,   130,    -1,    45,   130,    -1,
    799      181,    -1,   182,   181,    -1,   182,   171,    -1,    -1,   185,
    800       -1,   182,   176,    -1,   185,   182,   176,    -1,    -1,   187,
    801       -1,   182,   189,    -1,   182,   176,   188,    -1,   187,   182,
    802      189,    -1,   187,   182,   176,   188,    -1,    -1,   189,    -1,
    803       56,    -1,    56,   132,    -1,    47,   109,   169,   110,   171,
    804       -1,    46,   171,    47,   109,   169,   110,   132,    -1,    48,
    805      109,   134,   191,   110,   171,    -1,   170,   135,   132,   170,
    806      132,   170,    -1,   212,   170,   132,   170,    -1,    51,    72,
    807      132,    -1,    51,   117,   169,   132,    -1,    50,   132,    -1,
    808       50,    72,   132,    -1,    49,   132,    -1,    49,    72,   132,
    809       -1,    52,   170,   132,    -1,    61,   165,   132,    -1,    62,
    810      165,   132,    -1,    62,   165,    63,   164,   132,    -1,    57,
    811      173,   194,    -1,    57,   173,   196,    -1,    57,   173,   194,
    812      196,    -1,   195,    -1,    58,   109,    96,   110,   173,    -1,
    813      195,    58,   109,    96,   110,   173,    -1,    59,   109,    96,
    814      110,   173,    -1,   195,    59,   109,    96,   110,   173,    -1,
    815       58,   109,   134,   134,   197,   135,   110,   173,   135,    -1,
    816      195,    58,   109,   134,   134,   197,   135,   110,   173,   135,
    817       -1,    59,   109,   134,   134,   197,   135,   110,   173,   135,
    818       -1,   195,    59,   109,   134,   134,   197,   135,   110,   173,
    819      135,    -1,    60,   173,    -1,   225,    -1,   225,   309,    -1,
    820      225,   357,    -1,   366,   139,    -1,   366,    -1,    64,   199,
    821      109,   141,   110,   132,    -1,    64,   199,   109,   141,   130,
    822      200,   110,   132,    -1,    64,   199,   109,   141,   130,   200,
    823      130,   200,   110,   132,    -1,    64,   199,   109,   141,   130,
    824      200,   130,   200,   130,   203,   110,   132,    -1,    64,   199,
    825       51,   109,   141,   130,   130,   200,   130,   203,   130,   204,
    826      110,   132,    -1,    -1,    11,    -1,    -1,   201,    -1,   202,
    827       -1,   201,   116,   202,    -1,   141,   109,   163,   110,    -1,
    828      111,   163,   112,   141,   109,   163,   110,    -1,    -1,   141,
    829       -1,   203,   116,   141,    -1,   139,    -1,   204,   116,   139,
    830       -1,   135,    -1,   206,    -1,   212,    -1,   206,   134,   212,
    831       -1,   135,    -1,   208,    -1,   222,    -1,   208,   134,   222,
    832       -1,    -1,   210,    -1,    29,   211,   132,    -1,   210,    29,
    833      211,   132,    -1,   274,    -1,   211,   116,   274,    -1,   213,
    834       -1,   222,    -1,   214,   135,   132,    -1,   219,   135,   132,
    835       -1,   216,   135,   132,    -1,   293,   135,   132,    -1,   296,
    836      135,   132,    -1,   215,   277,    -1,   231,   215,   277,    -1,
    837      214,   135,   116,   134,   272,   277,    -1,   367,   272,   311,
    838       -1,   370,   272,   311,    -1,   227,   370,   272,   311,    -1,
    839      217,    -1,   227,   217,    -1,   231,   217,    -1,   231,   227,
    840      217,    -1,   216,   135,   116,   134,   272,    -1,   111,   112,
    841      272,   109,   134,   260,   135,   110,    -1,   370,   272,   109,
    842      134,   260,   135,   110,    -1,   218,   272,   109,   134,   260,
    843      135,   110,    -1,   111,   134,   262,   135,   112,    -1,   111,
    844      134,   262,   135,   116,   134,   263,   135,   112,    -1,     3,
    845      215,    -1,     3,   217,    -1,   219,   135,   116,   134,   139,
    846       -1,     3,   225,   309,    -1,   220,   135,   116,   134,   309,
    847       -1,   227,     3,   225,   309,    -1,   225,     3,   309,    -1,
    848      225,     3,   227,   309,    -1,     3,   139,   131,   164,    -1,
    849      221,   135,   116,   134,   139,   131,   164,    -1,   223,   135,
    850      132,    -1,   220,   135,   132,    -1,   221,   135,   132,    -1,
    851      240,   135,   132,    -1,   224,   309,   311,   277,    -1,   223,
    852      116,   312,   309,   311,   277,    -1,   236,    -1,   240,    -1,
    853      242,    -1,   283,    -1,   237,    -1,   241,    -1,   243,    -1,
    854      284,    -1,    -1,   227,    -1,   228,    -1,   227,   228,    -1,
    855      229,    -1,   314,    -1,    10,    -1,    12,    -1,    11,    -1,
    856       14,    -1,    67,    -1,    -1,    13,   109,   230,   286,   110,
    857       -1,   232,    -1,   227,   232,    -1,   231,   227,   232,    -1,
    858      233,    -1,   232,   233,    -1,   234,    -1,     5,    -1,     7,
    859       -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,    69,
    860       -1,    71,    -1,    16,    -1,    21,    -1,    20,    -1,    18,
    861       -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,    15,
    862       -1,    25,    -1,    26,    -1,    27,    -1,    24,    -1,   237,
    863       -1,   231,   237,    -1,   236,   233,    -1,   236,   233,   227,
    864       -1,   236,   233,   237,    -1,   238,    -1,   226,   239,   226,
    865       -1,   235,    -1,   227,   235,    -1,   238,   228,    -1,   238,
    866      235,    -1,    28,   109,   276,   110,    -1,    28,   109,   169,
    867      110,    -1,    78,   109,   276,   110,    -1,    78,   109,   169,
    868      110,    -1,   241,    -1,   231,   241,    -1,   240,   233,    -1,
    869      240,   233,   227,    -1,   244,    -1,   227,   244,    -1,   241,
    870      228,    -1,   243,    -1,   231,   243,    -1,   242,   233,    -1,
    871      242,   233,   227,    -1,    74,    -1,   227,    74,    -1,   243,
    872      228,    -1,   245,    -1,   256,    -1,   247,   114,   248,   115,
    873       -1,   247,   274,    -1,    -1,   247,   274,   246,   114,   248,
    874      115,    -1,   247,   109,   292,   110,   114,   248,   115,    -1,
    875      247,   285,    -1,    31,   312,    -1,    32,   312,    -1,    -1,
    876      248,   249,    -1,   250,   132,    -1,    40,   250,   132,    -1,
    877      251,   132,    -1,    40,   251,   132,    -1,   366,    -1,   366,
    878      274,    -1,   250,   116,   274,    -1,   250,   116,    -1,   225,
    879      252,    -1,   251,   116,   312,   252,    -1,    -1,   254,    -1,
    880      318,   253,    -1,   331,   253,    -1,   357,    -1,    -1,   254,
    881       -1,   130,   163,    -1,    30,   312,    -1,   255,   114,   258,
    882      372,   115,    -1,   255,   274,    -1,    -1,   255,   274,   257,
    883      114,   258,   372,   115,    -1,   274,   259,    -1,   258,   116,
    884      274,   259,    -1,    -1,   131,   163,    -1,    -1,   261,    -1,
    885      263,    -1,   262,    -1,   262,   135,   116,   134,   263,    -1,
    886      263,   135,   116,   134,    96,    -1,   262,   135,   116,   134,
    887       96,    -1,   267,    -1,   263,   135,   116,   134,   267,    -1,
    888      262,   135,   116,   134,   267,    -1,   262,   135,   116,   134,
    889      263,   135,   116,   134,   267,    -1,   268,    -1,   263,   135,
    890      116,   134,   268,    -1,    -1,   265,    -1,   266,    -1,   266,
    891      135,   116,   134,    96,    -1,   270,    -1,   269,    -1,   266,
    892      135,   116,   134,   270,    -1,   266,   135,   116,   134,   269,
    893       -1,   269,    -1,   362,   272,   373,    -1,   370,   272,   373,
    894       -1,   227,   370,   272,   373,    -1,   217,    -1,   270,    -1,
    895      362,    -1,   370,    -1,   227,   370,    -1,   371,    -1,   224,
    896      336,   373,    -1,   224,   340,   373,    -1,   224,    -1,   224,
    897      351,    -1,   139,    -1,   271,   116,   139,    -1,   137,    -1,
    898       74,    -1,    75,    -1,   138,    -1,    74,    -1,    75,    -1,
    899      139,    -1,    74,    -1,    75,    -1,   366,    -1,   225,    -1,
    900      225,   357,    -1,   366,    -1,   371,    -1,   225,    -1,   225,
    901      345,    -1,    -1,   131,   278,    -1,   107,   278,    -1,   164,
    902       -1,   114,   279,   372,   115,    -1,    -1,   278,    -1,   280,
    903      278,    -1,   279,   116,   278,    -1,   279,   116,   280,   278,
    904       -1,   281,   130,    -1,   274,   130,    -1,   282,    -1,   281,
    905      282,    -1,   113,   274,    -1,   111,   134,   164,   135,   112,
    906       -1,   111,   134,   310,   135,   112,    -1,   111,   134,   163,
    907       96,   163,   135,   112,    -1,   113,   111,   134,   146,   135,
    908      112,    -1,   284,    -1,   231,   284,    -1,   283,   233,    -1,
    909      283,   233,   227,    -1,   285,    -1,   227,   285,    -1,   284,
    910      228,    -1,    75,   109,   292,   110,    -1,   287,   373,    -1,
    911      286,   116,   287,   373,    -1,    -1,   289,   274,   288,   290,
    912       -1,   225,   336,    -1,    33,    -1,    35,    -1,    34,    -1,
    913       -1,   290,   291,    -1,   128,   274,   109,   292,   110,    -1,
    914      128,   114,   134,   298,   115,    -1,   128,   109,   134,   286,
    915      135,   110,   114,   134,   298,   115,   109,   292,   110,    -1,
    916      276,    -1,   164,    -1,   292,   116,   276,    -1,   292,   116,
    917      164,    -1,    33,   294,    -1,   232,    33,   294,    -1,   293,
    918      116,   294,    -1,   295,   290,    -1,   295,   290,   131,   276,
    919       -1,   274,    -1,   273,   109,   134,   286,   135,   110,    -1,
    920       36,   274,   109,   134,   286,   135,   110,   114,   115,    -1,
    921       -1,    36,   274,   109,   134,   286,   135,   110,   114,   297,
    922      298,   115,    -1,   299,    -1,   298,   134,   299,    -1,   300,
    923      135,   132,    -1,   301,   135,   132,    -1,   215,    -1,   217,
    924       -1,   300,   135,   116,   134,   272,    -1,   225,   309,    -1,
    925      301,   135,   116,   134,   309,    -1,    -1,   303,    -1,   305,
    926       -1,   303,   134,   305,    -1,    -1,   303,    -1,   212,    -1,
    927      307,    -1,   198,    -1,    -1,     5,    82,   306,   114,   304,
    928      115,    -1,    40,   305,    -1,   308,    -1,   323,   173,    -1,
    929      327,   134,   207,   173,    -1,   216,   173,    -1,   224,   323,
    930      173,    -1,   227,   323,   173,    -1,   231,   323,   173,    -1,
    931      231,   227,   323,   173,    -1,   224,   327,   134,   207,   173,
    932       -1,   227,   327,   134,   207,   173,    -1,   231,   327,   134,
    933      207,   173,    -1,   231,   227,   327,   134,   207,   173,    -1,
    934      318,    -1,   331,    -1,   323,    -1,   163,   122,   163,    -1,
    935       -1,    64,   109,   141,   110,   312,    -1,    -1,   313,    -1,
    936      314,    -1,   313,   314,    -1,    39,   109,   109,   315,   110,
    937      110,    -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,
    938       -1,   317,   109,   170,   110,    -1,   272,    -1,   234,    -1,
    939      235,    -1,   228,    -1,   319,   312,    -1,   320,    -1,   321,
    940      312,    -1,   322,   312,    -1,   137,    -1,   109,   319,   110,
    941       -1,   149,   318,    -1,   149,   227,   318,    -1,   109,   320,
    942      110,    -1,   319,   349,    -1,   109,   320,   110,   349,    -1,
    943      109,   321,   110,   350,    -1,   109,   321,   110,    -1,   109,
    944      320,   110,   109,   134,   264,   135,   110,    -1,   109,   322,
    945      110,    -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,
    946      319,   109,   134,   264,   135,   110,    -1,   109,   325,   110,
    947      109,   134,   264,   135,   110,    -1,   109,   324,   110,    -1,
    948      149,   323,    -1,   149,   227,   323,    -1,   109,   325,   110,
    949       -1,   109,   325,   110,   349,    -1,   109,   326,   110,   350,
    950       -1,   109,   326,   110,    -1,   328,    -1,   329,    -1,   330,
    951       -1,   319,   109,   271,   110,    -1,   109,   329,   110,   109,
    952      271,   110,    -1,   109,   328,   110,    -1,   149,   327,    -1,
    953      149,   227,   327,    -1,   109,   329,   110,    -1,   109,   329,
    954      110,   349,    -1,   109,   330,   110,   350,    -1,   109,   330,
    955      110,    -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,
    956      335,   312,    -1,   341,    -1,   109,   332,   110,    -1,   149,
    957      331,    -1,   149,   227,   331,    -1,   109,   333,   110,    -1,
    958      332,   349,    -1,   109,   333,   110,   349,    -1,   109,   334,
    959      110,   350,    -1,   109,   334,   110,    -1,   332,   109,   134,
    960      264,   135,   110,    -1,   109,   333,   110,   109,   134,   264,
    961      135,   110,    -1,   109,   335,   110,    -1,   319,   312,    -1,
    962      337,    -1,   338,   312,    -1,   339,   312,    -1,   149,   336,
    963       -1,   149,   227,   336,    -1,   109,   337,   110,    -1,   319,
    964      355,    -1,   109,   337,   110,   349,    -1,   109,   338,   110,
    965      350,    -1,   109,   338,   110,    -1,   319,   109,   134,   264,
    966      135,   110,    -1,   109,   337,   110,   109,   134,   264,   135,
    967      110,    -1,   109,   339,   110,    -1,   341,   312,    -1,   342,
    968       -1,   343,   312,    -1,   344,   312,    -1,    74,    -1,    75,
    969       -1,   149,   340,    -1,   149,   227,   340,    -1,   109,   342,
    970      110,    -1,   341,   355,    -1,   109,   342,   110,   355,    -1,
    971      341,   109,   134,   264,   135,   110,    -1,   109,   342,   110,
    972      109,   134,   264,   135,   110,    -1,   346,    -1,   347,   312,
    973       -1,   348,   312,    -1,   149,    -1,   149,   227,    -1,   149,
    974      345,    -1,   149,   227,   345,    -1,   109,   346,   110,    -1,
    975      349,    -1,   109,   346,   110,   349,    -1,   109,   347,   110,
    976      350,    -1,   109,   347,   110,    -1,   109,   134,   264,   135,
    977      110,    -1,   109,   346,   110,   109,   134,   264,   135,   110,
    978       -1,   109,   348,   110,    -1,   111,   112,    -1,   111,   112,
    979      350,    -1,   350,    -1,   111,   134,   164,   135,   112,    -1,
    980      111,   134,   117,   135,   112,    -1,   350,   111,   134,   164,
    981      135,   112,    -1,   350,   111,   134,   117,   135,   112,    -1,
    982      352,    -1,   353,   312,    -1,   354,   312,    -1,   149,    -1,
    983      149,   227,    -1,   149,   351,    -1,   149,   227,   351,    -1,
    984      109,   352,   110,    -1,   355,    -1,   109,   352,   110,   355,
    985       -1,   109,   353,   110,   350,    -1,   109,   353,   110,    -1,
    986      109,   134,   264,   135,   110,    -1,   109,   352,   110,   109,
    987      134,   264,   135,   110,    -1,   109,   354,   110,    -1,   356,
    988       -1,   356,   350,    -1,   350,    -1,   111,   112,    -1,   111,
    989      134,   227,   117,   135,   112,    -1,   111,   134,   227,   135,
    990      112,    -1,   111,   134,   227,   164,   135,   112,    -1,   111,
    991      134,     7,   226,   164,   135,   112,    -1,   111,   134,   227,
    992        7,   164,   135,   112,    -1,   358,    -1,   359,   312,    -1,
    993      360,   312,    -1,   149,    -1,   149,   227,    -1,   149,   357,
    994       -1,   149,   227,   357,    -1,   109,   358,   110,    -1,   349,
    995       -1,   109,   358,   110,   349,    -1,   109,   359,   110,   350,
    996       -1,   109,   359,   110,    -1,   109,   358,   110,   109,   134,
    997      264,   135,   110,    -1,   109,   360,   110,    -1,   362,    -1,
    998      370,    -1,   227,   370,    -1,   363,    -1,   364,    -1,   149,
    999      225,    -1,   227,   149,   225,    -1,   149,   371,    -1,   227,
    1000      149,   371,    -1,   149,   361,    -1,   227,   149,   361,    -1,
    1001      111,   112,   225,    -1,   365,   225,    -1,   111,   112,   350,
    1002      225,    -1,   365,   350,   225,    -1,   350,   225,    -1,   111,
    1003      112,   363,    -1,   365,   363,    -1,   111,   112,   350,   363,
    1004       -1,   365,   350,   363,    -1,   350,   363,    -1,   111,   134,
    1005      227,   117,   135,   112,    -1,   111,   134,   227,   164,   135,
    1006      112,    -1,   111,   134,   231,   164,   135,   112,    -1,   111,
    1007      134,   231,   227,   164,   135,   112,    -1,   370,    -1,   227,
    1008      370,    -1,   367,    -1,   368,    -1,   369,    -1,   149,   225,
    1009       -1,   227,   149,   225,    -1,   149,   371,    -1,   227,   149,
    1010      371,    -1,   149,   366,    -1,   227,   149,   366,    -1,   111,
    1011      112,   225,    -1,   111,   112,   350,   225,    -1,   350,   225,
    1012       -1,   111,   112,   368,    -1,   111,   112,   350,   368,    -1,
    1013      350,   368,    -1,   111,   134,   263,   135,   112,    -1,   111,
    1014      112,   109,   260,   110,    -1,   370,   109,   134,   260,   135,
    1015      110,    -1,   218,   109,   134,   260,   135,   110,    -1,    -1,
    1016      116,    -1,    -1,   131,   164,    -1
     750     164,    -1,   139,   117,   164,    -1,   111,   134,   164,   135,
     751     112,   117,   164,    -1,   111,   134,   164,   116,   167,   135,
     752     112,   117,   164,    -1,   147,    -1,   146,   116,   147,    -1,
     753     139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
     754     146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
     755     111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
     756     141,    -1,    40,   151,    -1,   149,   151,    -1,   150,   151,
     757      -1,    86,   148,    -1,    87,   148,    -1,    37,   148,    -1,
     758      37,   109,   275,   110,    -1,    38,   109,   275,   116,   139,
     759     110,    -1,    76,    -1,    76,   109,   276,   110,    -1,    76,
     760     109,   145,   110,    -1,    66,   148,    -1,    66,   109,   275,
     761     110,    -1,   118,    -1,   119,    -1,    94,    -1,   120,    -1,
     762     121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   275,
     763     110,   151,    -1,   109,   275,   110,   166,    -1,   151,    -1,
     764     152,   118,   151,    -1,   152,   124,   151,    -1,   152,   125,
     765     151,    -1,   152,    -1,   153,   120,   152,    -1,   153,   121,
     766     152,    -1,   153,    -1,   154,    88,   153,    -1,   154,    89,
     767     153,    -1,   154,    -1,   155,   126,   154,    -1,   155,   127,
     768     154,    -1,   155,    90,   154,    -1,   155,    91,   154,    -1,
     769     155,    -1,   156,    92,   155,    -1,   156,    93,   155,    -1,
     770     156,    -1,   157,   119,   156,    -1,   157,    -1,   158,   128,
     771     157,    -1,   158,    -1,   159,   129,   158,    -1,   159,    -1,
     772     160,    94,   159,    -1,   160,    -1,   161,    95,   160,    -1,
     773     161,    -1,   161,   130,   169,   117,   162,    -1,   161,   130,
     774     117,   162,    -1,   161,   130,   169,   117,   166,    -1,   162,
     775      -1,   162,    -1,   148,   131,   164,    -1,   148,   168,   164,
     776      -1,   166,   373,    -1,    -1,   164,    -1,   111,   112,    -1,
     777     111,   134,   164,   135,   112,    -1,   111,   134,   116,   167,
     778     135,   112,    -1,   111,   134,   164,   116,   167,   135,   112,
     779      -1,   165,    -1,   167,   116,   165,    -1,    97,    -1,    98,
     780      -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
     781      -1,   104,    -1,   105,    -1,   106,    -1,   164,    -1,   169,
     782     116,   164,    -1,    -1,   169,    -1,   172,    -1,   173,    -1,
     783     177,    -1,   178,    -1,   190,    -1,   192,    -1,   193,    -1,
     784     198,    -1,   128,   143,   114,   144,   115,   132,    -1,    72,
     785     117,   312,   171,    -1,   114,   115,    -1,   114,   134,   134,
     786     209,   174,   135,   115,    -1,   175,    -1,   174,   134,   175,
     787      -1,   212,    -1,    40,   212,    -1,   308,    -1,   171,   135,
     788      -1,   171,    -1,   176,   171,    -1,   170,   132,    -1,    41,
     789     109,   169,   110,   171,    -1,    41,   109,   169,   110,   171,
     790      42,   171,    -1,    43,   109,   169,   110,   183,    -1,    43,
     791     109,   169,   110,   114,   134,   205,   184,   115,    -1,    53,
     792     109,   169,   110,   183,    -1,    53,   109,   169,   110,   114,
     793     134,   205,   186,   115,    -1,   163,    -1,   163,    96,   163,
     794      -1,   310,    -1,   179,    -1,   180,   116,   179,    -1,    44,
     795     180,   117,    -1,    45,   117,    -1,   181,    -1,   182,   181,
     796      -1,   182,   171,    -1,    -1,   185,    -1,   182,   176,    -1,
     797     185,   182,   176,    -1,    -1,   187,    -1,   182,   189,    -1,
     798     182,   176,   188,    -1,   187,   182,   189,    -1,   187,   182,
     799     176,   188,    -1,    -1,   189,    -1,    56,    -1,    56,   132,
     800      -1,    47,   109,   169,   110,   171,    -1,    46,   171,    47,
     801     109,   169,   110,   132,    -1,    48,   109,   134,   191,   110,
     802     171,    -1,   170,   135,   132,   170,   132,   170,    -1,   212,
     803     170,   132,   170,    -1,    51,    72,   132,    -1,    51,   118,
     804     169,   132,    -1,    50,   132,    -1,    50,    72,   132,    -1,
     805      49,   132,    -1,    49,    72,   132,    -1,    52,   170,   132,
     806      -1,    61,   165,   132,    -1,    62,   165,   132,    -1,    62,
     807     165,    63,   164,   132,    -1,    57,   173,   194,    -1,    57,
     808     173,   196,    -1,    57,   173,   194,   196,    -1,   195,    -1,
     809      58,   109,    96,   110,   173,    -1,   195,    58,   109,    96,
     810     110,   173,    -1,    59,   109,    96,   110,   173,    -1,   195,
     811      59,   109,    96,   110,   173,    -1,    58,   109,   134,   134,
     812     197,   135,   110,   173,   135,    -1,   195,    58,   109,   134,
     813     134,   197,   135,   110,   173,   135,    -1,    59,   109,   134,
     814     134,   197,   135,   110,   173,   135,    -1,   195,    59,   109,
     815     134,   134,   197,   135,   110,   173,   135,    -1,    60,   173,
     816      -1,   225,    -1,   225,   309,    -1,   225,   357,    -1,   366,
     817     139,    -1,   366,    -1,    64,   199,   109,   141,   110,   132,
     818      -1,    64,   199,   109,   141,   117,   200,   110,   132,    -1,
     819      64,   199,   109,   141,   117,   200,   117,   200,   110,   132,
     820      -1,    64,   199,   109,   141,   117,   200,   117,   200,   117,
     821     203,   110,   132,    -1,    64,   199,    51,   109,   141,   117,
     822     117,   200,   117,   203,   117,   204,   110,   132,    -1,    -1,
     823      11,    -1,    -1,   201,    -1,   202,    -1,   201,   116,   202,
     824      -1,   141,   109,   163,   110,    -1,   111,   163,   112,   141,
     825     109,   163,   110,    -1,    -1,   141,    -1,   203,   116,   141,
     826      -1,   139,    -1,   204,   116,   139,    -1,   135,    -1,   206,
     827      -1,   212,    -1,   206,   134,   212,    -1,   135,    -1,   208,
     828      -1,   222,    -1,   208,   134,   222,    -1,    -1,   210,    -1,
     829      29,   211,   132,    -1,   210,    29,   211,   132,    -1,   274,
     830      -1,   211,   116,   274,    -1,   213,    -1,   222,    -1,   214,
     831     135,   132,    -1,   219,   135,   132,    -1,   216,   135,   132,
     832      -1,   293,   135,   132,    -1,   296,   135,   132,    -1,   215,
     833     277,    -1,   231,   215,   277,    -1,   214,   135,   116,   134,
     834     272,   277,    -1,   367,   272,   311,    -1,   370,   272,   311,
     835      -1,   227,   370,   272,   311,    -1,   217,    -1,   227,   217,
     836      -1,   231,   217,    -1,   231,   227,   217,    -1,   216,   135,
     837     116,   134,   272,    -1,   111,   112,   272,   109,   134,   260,
     838     135,   110,    -1,   370,   272,   109,   134,   260,   135,   110,
     839      -1,   218,   272,   109,   134,   260,   135,   110,    -1,   111,
     840     134,   262,   135,   112,    -1,   111,   134,   262,   135,   116,
     841     134,   263,   135,   112,    -1,     3,   215,    -1,     3,   217,
     842      -1,   219,   135,   116,   134,   139,    -1,     3,   225,   309,
     843      -1,   220,   135,   116,   134,   309,    -1,   227,     3,   225,
     844     309,    -1,   225,     3,   309,    -1,   225,     3,   227,   309,
     845      -1,     3,   139,   131,   164,    -1,   221,   135,   116,   134,
     846     139,   131,   164,    -1,   223,   135,   132,    -1,   220,   135,
     847     132,    -1,   221,   135,   132,    -1,   240,   135,   132,    -1,
     848     224,   309,   311,   277,    -1,   223,   116,   312,   309,   311,
     849     277,    -1,   236,    -1,   240,    -1,   242,    -1,   283,    -1,
     850     237,    -1,   241,    -1,   243,    -1,   284,    -1,    -1,   227,
     851      -1,   228,    -1,   227,   228,    -1,   229,    -1,   314,    -1,
     852      10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
     853      -1,    13,   109,   230,   286,   110,    -1,   232,    -1,   227,
     854     232,    -1,   231,   227,   232,    -1,   233,    -1,   232,   233,
     855      -1,   234,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
     856      -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
     857      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
     858      -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
     859      -1,    27,    -1,    24,    -1,   237,    -1,   231,   237,    -1,
     860     236,   233,    -1,   236,   233,   227,    -1,   236,   233,   237,
     861      -1,   238,    -1,   226,   239,   226,    -1,   235,    -1,   227,
     862     235,    -1,   238,   228,    -1,   238,   235,    -1,    28,   109,
     863     276,   110,    -1,    28,   109,   169,   110,    -1,    78,   109,
     864     276,   110,    -1,    78,   109,   169,   110,    -1,   241,    -1,
     865     231,   241,    -1,   240,   233,    -1,   240,   233,   227,    -1,
     866     244,    -1,   227,   244,    -1,   241,   228,    -1,   243,    -1,
     867     231,   243,    -1,   242,   233,    -1,   242,   233,   227,    -1,
     868      74,    -1,   227,    74,    -1,   243,   228,    -1,   245,    -1,
     869     256,    -1,   247,   114,   248,   115,    -1,   247,   274,    -1,
     870      -1,   247,   274,   246,   114,   248,   115,    -1,   247,   109,
     871     292,   110,   114,   248,   115,    -1,   247,   285,    -1,    31,
     872     312,    -1,    32,   312,    -1,    -1,   248,   249,    -1,   250,
     873     132,    -1,    40,   250,   132,    -1,   251,   132,    -1,    40,
     874     251,   132,    -1,   366,    -1,   366,   274,    -1,   250,   116,
     875     274,    -1,   250,   116,    -1,   225,   252,    -1,   251,   116,
     876     312,   252,    -1,    -1,   254,    -1,   318,   253,    -1,   331,
     877     253,    -1,   357,    -1,    -1,   254,    -1,   117,   163,    -1,
     878      30,   312,    -1,   255,   114,   258,   372,   115,    -1,   255,
     879     274,    -1,    -1,   255,   274,   257,   114,   258,   372,   115,
     880      -1,   274,   259,    -1,   258,   116,   274,   259,    -1,    -1,
     881     131,   163,    -1,    -1,   261,    -1,   263,    -1,   262,    -1,
     882     262,   135,   116,   134,   263,    -1,   263,   135,   116,   134,
     883      96,    -1,   262,   135,   116,   134,    96,    -1,   267,    -1,
     884     263,   135,   116,   134,   267,    -1,   262,   135,   116,   134,
     885     267,    -1,   262,   135,   116,   134,   263,   135,   116,   134,
     886     267,    -1,   268,    -1,   263,   135,   116,   134,   268,    -1,
     887      -1,   265,    -1,   266,    -1,   266,   135,   116,   134,    96,
     888      -1,   270,    -1,   269,    -1,   266,   135,   116,   134,   270,
     889      -1,   266,   135,   116,   134,   269,    -1,   269,    -1,   362,
     890     272,   373,    -1,   370,   272,   373,    -1,   227,   370,   272,
     891     373,    -1,   217,    -1,   270,    -1,   362,    -1,   370,    -1,
     892     227,   370,    -1,   371,    -1,   224,   336,   373,    -1,   224,
     893     340,   373,    -1,   224,    -1,   224,   351,    -1,   139,    -1,
     894     271,   116,   139,    -1,   137,    -1,    74,    -1,    75,    -1,
     895     138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,    -1,
     896      75,    -1,   366,    -1,   225,    -1,   225,   357,    -1,   366,
     897      -1,   371,    -1,   225,    -1,   225,   345,    -1,    -1,   131,
     898     278,    -1,   107,   278,    -1,   164,    -1,   114,   279,   372,
     899     115,    -1,    -1,   278,    -1,   280,   278,    -1,   279,   116,
     900     278,    -1,   279,   116,   280,   278,    -1,   281,   117,    -1,
     901     274,   117,    -1,   282,    -1,   281,   282,    -1,    80,    -1,
     902     113,   274,    -1,   111,   134,   164,   135,   112,    -1,   111,
     903     134,   310,   135,   112,    -1,   111,   134,   163,    96,   163,
     904     135,   112,    -1,   113,   111,   134,   146,   135,   112,    -1,
     905     284,    -1,   231,   284,    -1,   283,   233,    -1,   283,   233,
     906     227,    -1,   285,    -1,   227,   285,    -1,   284,   228,    -1,
     907      75,   109,   292,   110,    -1,   287,   373,    -1,   286,   116,
     908     287,   373,    -1,    -1,   289,   274,   288,   290,    -1,   225,
     909     336,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,   290,
     910     291,    -1,   129,   274,   109,   292,   110,    -1,   129,   114,
     911     134,   298,   115,    -1,   129,   109,   134,   286,   135,   110,
     912     114,   134,   298,   115,   109,   292,   110,    -1,   276,    -1,
     913     164,    -1,   292,   116,   276,    -1,   292,   116,   164,    -1,
     914      33,   294,    -1,   232,    33,   294,    -1,   293,   116,   294,
     915      -1,   295,   290,    -1,   295,   290,   131,   276,    -1,   274,
     916      -1,   273,   109,   134,   286,   135,   110,    -1,    36,   274,
     917     109,   134,   286,   135,   110,   114,   115,    -1,    -1,    36,
     918     274,   109,   134,   286,   135,   110,   114,   297,   298,   115,
     919      -1,   299,    -1,   298,   134,   299,    -1,   300,   135,   132,
     920      -1,   301,   135,   132,    -1,   215,    -1,   217,    -1,   300,
     921     135,   116,   134,   272,    -1,   225,   309,    -1,   301,   135,
     922     116,   134,   309,    -1,    -1,   303,    -1,   305,    -1,   303,
     923     134,   305,    -1,    -1,   303,    -1,   212,    -1,   307,    -1,
     924     198,    -1,    -1,     5,    82,   306,   114,   304,   115,    -1,
     925      40,   305,    -1,   308,    -1,   323,   173,    -1,   327,   134,
     926     207,   173,    -1,   216,   173,    -1,   224,   323,   173,    -1,
     927     227,   323,   173,    -1,   231,   323,   173,    -1,   231,   227,
     928     323,   173,    -1,   224,   327,   134,   207,   173,    -1,   227,
     929     327,   134,   207,   173,    -1,   231,   327,   134,   207,   173,
     930      -1,   231,   227,   327,   134,   207,   173,    -1,   318,    -1,
     931     331,    -1,   323,    -1,   163,   123,   163,    -1,    -1,    64,
     932     109,   141,   110,   312,    -1,    -1,   313,    -1,   314,    -1,
     933     313,   314,    -1,    39,   109,   109,   315,   110,   110,    -1,
     934     316,    -1,   315,   116,   316,    -1,    -1,   317,    -1,   317,
     935     109,   170,   110,    -1,   272,    -1,   234,    -1,   235,    -1,
     936     228,    -1,   319,   312,    -1,   320,    -1,   321,   312,    -1,
     937     322,   312,    -1,   137,    -1,   109,   319,   110,    -1,   149,
     938     318,    -1,   149,   227,   318,    -1,   109,   320,   110,    -1,
     939     319,   349,    -1,   109,   320,   110,   349,    -1,   109,   321,
     940     110,   350,    -1,   109,   321,   110,    -1,   109,   320,   110,
     941     109,   134,   264,   135,   110,    -1,   109,   322,   110,    -1,
     942     324,   312,    -1,   325,    -1,   326,   312,    -1,   319,   109,
     943     134,   264,   135,   110,    -1,   109,   325,   110,   109,   134,
     944     264,   135,   110,    -1,   109,   324,   110,    -1,   149,   323,
     945      -1,   149,   227,   323,    -1,   109,   325,   110,    -1,   109,
     946     325,   110,   349,    -1,   109,   326,   110,   350,    -1,   109,
     947     326,   110,    -1,   328,    -1,   329,    -1,   330,    -1,   319,
     948     109,   271,   110,    -1,   109,   329,   110,   109,   271,   110,
     949      -1,   109,   328,   110,    -1,   149,   327,    -1,   149,   227,
     950     327,    -1,   109,   329,   110,    -1,   109,   329,   110,   349,
     951      -1,   109,   330,   110,   350,    -1,   109,   330,   110,    -1,
     952     332,   312,    -1,   333,    -1,   334,   312,    -1,   335,   312,
     953      -1,   341,    -1,   109,   332,   110,    -1,   149,   331,    -1,
     954     149,   227,   331,    -1,   109,   333,   110,    -1,   332,   349,
     955      -1,   109,   333,   110,   349,    -1,   109,   334,   110,   350,
     956      -1,   109,   334,   110,    -1,   332,   109,   134,   264,   135,
     957     110,    -1,   109,   333,   110,   109,   134,   264,   135,   110,
     958      -1,   109,   335,   110,    -1,   319,   312,    -1,   337,    -1,
     959     338,   312,    -1,   339,   312,    -1,   149,   336,    -1,   149,
     960     227,   336,    -1,   109,   337,   110,    -1,   319,   355,    -1,
     961     109,   337,   110,   349,    -1,   109,   338,   110,   350,    -1,
     962     109,   338,   110,    -1,   319,   109,   134,   264,   135,   110,
     963      -1,   109,   337,   110,   109,   134,   264,   135,   110,    -1,
     964     109,   339,   110,    -1,   341,   312,    -1,   342,    -1,   343,
     965     312,    -1,   344,   312,    -1,    74,    -1,    75,    -1,   149,
     966     340,    -1,   149,   227,   340,    -1,   109,   342,   110,    -1,
     967     341,   355,    -1,   109,   342,   110,   355,    -1,   341,   109,
     968     134,   264,   135,   110,    -1,   109,   342,   110,   109,   134,
     969     264,   135,   110,    -1,   346,    -1,   347,   312,    -1,   348,
     970     312,    -1,   149,    -1,   149,   227,    -1,   149,   345,    -1,
     971     149,   227,   345,    -1,   109,   346,   110,    -1,   349,    -1,
     972     109,   346,   110,   349,    -1,   109,   347,   110,   350,    -1,
     973     109,   347,   110,    -1,   109,   134,   264,   135,   110,    -1,
     974     109,   346,   110,   109,   134,   264,   135,   110,    -1,   109,
     975     348,   110,    -1,   111,   112,    -1,   111,   112,   350,    -1,
     976     350,    -1,   111,   134,   164,   135,   112,    -1,   111,   134,
     977     118,   135,   112,    -1,   350,   111,   134,   164,   135,   112,
     978      -1,   350,   111,   134,   118,   135,   112,    -1,   352,    -1,
     979     353,   312,    -1,   354,   312,    -1,   149,    -1,   149,   227,
     980      -1,   149,   351,    -1,   149,   227,   351,    -1,   109,   352,
     981     110,    -1,   355,    -1,   109,   352,   110,   355,    -1,   109,
     982     353,   110,   350,    -1,   109,   353,   110,    -1,   109,   134,
     983     264,   135,   110,    -1,   109,   352,   110,   109,   134,   264,
     984     135,   110,    -1,   109,   354,   110,    -1,   356,    -1,   356,
     985     350,    -1,   350,    -1,   111,   112,    -1,   111,   134,   227,
     986     118,   135,   112,    -1,   111,   134,   227,   135,   112,    -1,
     987     111,   134,   227,   164,   135,   112,    -1,   111,   134,     7,
     988     226,   164,   135,   112,    -1,   111,   134,   227,     7,   164,
     989     135,   112,    -1,   358,    -1,   359,   312,    -1,   360,   312,
     990      -1,   149,    -1,   149,   227,    -1,   149,   357,    -1,   149,
     991     227,   357,    -1,   109,   358,   110,    -1,   349,    -1,   109,
     992     358,   110,   349,    -1,   109,   359,   110,   350,    -1,   109,
     993     359,   110,    -1,   109,   358,   110,   109,   134,   264,   135,
     994     110,    -1,   109,   360,   110,    -1,   362,    -1,   370,    -1,
     995     227,   370,    -1,   363,    -1,   364,    -1,   149,   225,    -1,
     996     227,   149,   225,    -1,   149,   371,    -1,   227,   149,   371,
     997      -1,   149,   361,    -1,   227,   149,   361,    -1,   111,   112,
     998     225,    -1,   365,   225,    -1,   111,   112,   350,   225,    -1,
     999     365,   350,   225,    -1,   350,   225,    -1,   111,   112,   363,
     1000      -1,   365,   363,    -1,   111,   112,   350,   363,    -1,   365,
     1001     350,   363,    -1,   350,   363,    -1,   111,   134,   227,   118,
     1002     135,   112,    -1,   111,   134,   227,   164,   135,   112,    -1,
     1003     111,   134,   231,   164,   135,   112,    -1,   111,   134,   231,
     1004     227,   164,   135,   112,    -1,   370,    -1,   227,   370,    -1,
     1005     367,    -1,   368,    -1,   369,    -1,   149,   225,    -1,   227,
     1006     149,   225,    -1,   149,   371,    -1,   227,   149,   371,    -1,
     1007     149,   366,    -1,   227,   149,   366,    -1,   111,   112,   225,
     1008      -1,   111,   112,   350,   225,    -1,   350,   225,    -1,   111,
     1009     112,   368,    -1,   111,   112,   350,   368,    -1,   350,   368,
     1010      -1,   111,   134,   263,   135,   112,    -1,   111,   112,   109,
     1011     260,   110,    -1,   370,   109,   134,   260,   135,   110,    -1,
     1012     218,   109,   134,   260,   135,   110,    -1,    -1,   116,    -1,
     1013      -1,   131,   164,    -1
    10171014};
    10181015
     
    10201017static const yytype_uint16 yyrline[] =
    10211018{
    1022        0,   299,   299,   305,   314,   315,   316,   320,   321,   322,
    1023      326,   327,   331,   332,   336,   337,   341,   342,   353,   355,
    1024      357,   359,   364,   365,   371,   375,   377,   378,   380,   381,
    1025      383,   385,   387,   396,   397,   403,   404,   408,   409,   413,
    1026      417,   419,   421,   423,   428,   431,   433,   435,   440,   453,
    1027      455,   457,   459,   461,   463,   465,   467,   469,   471,   473,
    1028      480,   481,   487,   488,   489,   490,   494,   495,   497,   502,
    1029      503,   505,   507,   512,   513,   515,   520,   521,   523,   528,
    1030      529,   531,   533,   535,   540,   541,   543,   548,   549,   554,
    1031      555,   560,   561,   566,   567,   572,   573,   578,   579,   582,
    1032      584,   589,   594,   595,   597,   603,   604,   608,   609,   610,
    1033      611,   612,   613,   614,   615,   616,   617,   618,   624,   626,
    1034      628,   630,   635,   636,   641,   642,   648,   649,   655,   656,
    1035      657,   658,   659,   660,   661,   662,   663,   673,   680,   682,
    1036      692,   693,   698,   700,   706,   708,   712,   713,   718,   723,
    1037      727,   730,   733,   743,   746,   758,   759,   761,   765,   767,
    1038      771,   772,   777,   778,   782,   787,   788,   792,   794,   800,
    1039      801,   805,   807,   809,   811,   817,   818,   822,   824,   829,
    1040      831,   833,   838,   840,   845,   847,   851,   854,   858,   861,
    1041      865,   867,   871,   873,   880,   882,   884,   893,   895,   897,
    1042      899,   901,   906,   908,   910,   912,   917,   930,   931,   936,
    1043      938,   943,   947,   949,   951,   953,   955,   961,   962,   968,
    1044      969,   973,   974,   979,   981,   987,   988,   990,   995,   997,
    1045     1004,  1006,  1010,  1011,  1016,  1018,  1022,  1023,  1027,  1029,
    1046     1033,  1034,  1038,  1039,  1043,  1044,  1059,  1060,  1061,  1062,
    1047     1063,  1067,  1072,  1079,  1089,  1094,  1099,  1107,  1112,  1117,
    1048     1122,  1127,  1135,  1157,  1162,  1169,  1171,  1178,  1183,  1188,
    1049     1199,  1204,  1209,  1214,  1219,  1228,  1233,  1241,  1242,  1243,
    1050     1244,  1250,  1255,  1263,  1264,  1265,  1266,  1270,  1271,  1272,
    1051     1273,  1278,  1279,  1288,  1289,  1294,  1295,  1300,  1302,  1304,
    1052     1306,  1308,  1311,  1310,  1322,  1323,  1325,  1335,  1336,  1341,
    1053     1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1364,  1366,
    1054     1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,  1386,
    1055     1388,  1394,  1395,  1397,  1399,  1401,  1406,  1407,  1413,  1414,
    1056     1416,  1418,  1423,  1425,  1427,  1429,  1434,  1435,  1437,  1439,
    1057     1444,  1445,  1447,  1452,  1453,  1455,  1457,  1462,  1464,  1466,
    1058     1471,  1472,  1476,  1478,  1484,  1483,  1487,  1489,  1494,  1496,
    1059     1502,  1503,  1508,  1509,  1511,  1512,  1521,  1522,  1524,  1526,
    1060     1531,  1533,  1539,  1540,  1542,  1545,  1548,  1553,  1554,  1559,
    1061     1564,  1568,  1570,  1576,  1575,  1582,  1584,  1590,  1591,  1599,
    1062     1600,  1604,  1605,  1606,  1608,  1610,  1617,  1618,  1620,  1622,
    1063     1627,  1628,  1634,  1635,  1639,  1640,  1645,  1646,  1647,  1649,
    1064     1657,  1658,  1660,  1663,  1665,  1669,  1670,  1671,  1673,  1675,
    1065     1679,  1684,  1692,  1693,  1702,  1704,  1709,  1710,  1711,  1715,
    1066     1716,  1717,  1721,  1722,  1723,  1727,  1728,  1729,  1734,  1735,
    1067     1736,  1737,  1743,  1744,  1746,  1751,  1752,  1757,  1758,  1759,
    1068     1760,  1761,  1776,  1777,  1782,  1783,  1789,  1791,  1794,  1796,
    1069     1798,  1821,  1822,  1824,  1826,  1831,  1832,  1834,  1839,  1844,
    1070     1845,  1851,  1850,  1854,  1858,  1860,  1862,  1868,  1869,  1874,
    1071     1879,  1881,  1886,  1888,  1889,  1891,  1896,  1898,  1900,  1905,
    1072     1907,  1912,  1917,  1925,  1931,  1930,  1944,  1945,  1950,  1951,
    1073     1955,  1960,  1965,  1973,  1978,  1989,  1990,  2001,  2002,  2008,
    1074     2009,  2013,  2014,  2015,  2018,  2017,  2028,  2037,  2043,  2049,
    1075     2058,  2064,  2070,  2076,  2082,  2090,  2096,  2104,  2110,  2119,
    1076     2120,  2121,  2125,  2129,  2131,  2136,  2137,  2141,  2142,  2147,
    1077     2153,  2154,  2157,  2159,  2160,  2164,  2165,  2166,  2167,  2201,
    1078     2203,  2204,  2206,  2211,  2216,  2221,  2223,  2225,  2230,  2232,
    1079     2234,  2236,  2241,  2243,  2252,  2254,  2255,  2260,  2262,  2264,
    1080     2269,  2271,  2273,  2278,  2280,  2282,  2291,  2292,  2293,  2297,
    1081     2299,  2301,  2306,  2308,  2310,  2315,  2317,  2319,  2334,  2336,
    1082     2337,  2339,  2344,  2345,  2350,  2352,  2354,  2359,  2361,  2363,
    1083     2365,  2370,  2372,  2374,  2384,  2386,  2387,  2389,  2394,  2396,
    1084     2398,  2403,  2405,  2407,  2409,  2414,  2416,  2418,  2449,  2451,
    1085     2452,  2454,  2459,  2464,  2472,  2474,  2476,  2481,  2483,  2488,
    1086     2490,  2504,  2505,  2507,  2512,  2514,  2516,  2518,  2520,  2525,
    1087     2526,  2528,  2530,  2535,  2537,  2539,  2545,  2547,  2549,  2553,
    1088     2555,  2557,  2559,  2573,  2574,  2576,  2581,  2583,  2585,  2587,
    1089     2589,  2594,  2595,  2597,  2599,  2604,  2606,  2608,  2614,  2615,
    1090     2617,  2626,  2629,  2631,  2634,  2636,  2638,  2651,  2652,  2654,
    1091     2659,  2661,  2663,  2665,  2667,  2672,  2673,  2675,  2677,  2682,
    1092     2684,  2692,  2693,  2694,  2699,  2700,  2704,  2706,  2708,  2710,
    1093     2712,  2714,  2721,  2723,  2725,  2727,  2729,  2731,  2733,  2735,
    1094     2737,  2739,  2744,  2746,  2748,  2753,  2779,  2780,  2782,  2786,
    1095     2787,  2791,  2793,  2795,  2797,  2799,  2801,  2808,  2810,  2812,
    1096     2814,  2816,  2818,  2823,  2828,  2830,  2832,  2850,  2852,  2857,
    1097     2858
     1019       0,   292,   292,   298,   307,   308,   309,   313,   314,   315,
     1020     319,   320,   324,   325,   329,   330,   334,   335,   341,   343,
     1021     345,   347,   352,   353,   359,   363,   365,   366,   368,   369,
     1022     371,   373,   375,   383,   384,   390,   391,   392,   397,   399,
     1023     404,   405,   409,   413,   415,   417,   419,   424,   427,   429,
     1024     431,   436,   439,   441,   443,   445,   447,   449,   451,   453,
     1025     455,   457,   459,   466,   467,   469,   473,   474,   475,   476,
     1026     480,   481,   483,   488,   489,   491,   493,   498,   499,   501,
     1027     506,   507,   509,   514,   515,   517,   519,   521,   526,   527,
     1028     529,   534,   535,   540,   541,   546,   547,   552,   553,   558,
     1029     559,   564,   565,   568,   570,   575,   580,   581,   583,   585,
     1030     591,   592,   598,   600,   602,   604,   609,   610,   615,   616,
     1031     617,   618,   619,   620,   621,   622,   623,   624,   628,   629,
     1032     636,   637,   643,   644,   645,   646,   647,   648,   649,   650,
     1033     651,   661,   668,   670,   680,   681,   686,   688,   694,   696,
     1034     700,   701,   706,   711,   714,   716,   718,   728,   730,   741,
     1035     742,   744,   748,   750,   754,   755,   760,   761,   765,   770,
     1036     771,   775,   777,   783,   784,   788,   790,   792,   794,   800,
     1037     801,   805,   807,   812,   814,   816,   821,   823,   828,   830,
     1038     834,   837,   841,   844,   848,   850,   854,   856,   863,   865,
     1039     867,   876,   878,   880,   882,   884,   889,   891,   893,   895,
     1040     900,   913,   914,   919,   921,   926,   930,   932,   934,   936,
     1041     938,   944,   945,   951,   952,   956,   957,   962,   964,   970,
     1042     971,   973,   978,   980,   987,   989,   993,   994,   999,  1001,
     1043    1005,  1006,  1010,  1012,  1016,  1017,  1021,  1022,  1026,  1027,
     1044    1042,  1043,  1044,  1045,  1046,  1050,  1055,  1062,  1072,  1077,
     1045    1082,  1090,  1095,  1100,  1105,  1110,  1118,  1140,  1145,  1152,
     1046    1154,  1161,  1166,  1171,  1182,  1187,  1192,  1197,  1202,  1211,
     1047    1216,  1224,  1225,  1226,  1227,  1233,  1238,  1246,  1247,  1248,
     1048    1249,  1253,  1254,  1255,  1256,  1261,  1262,  1271,  1272,  1277,
     1049    1278,  1283,  1285,  1287,  1289,  1291,  1294,  1293,  1305,  1306,
     1050    1308,  1318,  1319,  1324,  1328,  1330,  1332,  1334,  1336,  1338,
     1051    1340,  1342,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
     1052    1363,  1365,  1367,  1369,  1371,  1377,  1378,  1380,  1382,  1384,
     1053    1389,  1390,  1396,  1397,  1399,  1401,  1406,  1408,  1410,  1412,
     1054    1417,  1418,  1420,  1422,  1427,  1428,  1430,  1435,  1436,  1438,
     1055    1440,  1445,  1447,  1449,  1454,  1455,  1459,  1461,  1467,  1466,
     1056    1470,  1472,  1477,  1479,  1485,  1486,  1491,  1492,  1494,  1495,
     1057    1504,  1505,  1507,  1509,  1514,  1516,  1522,  1523,  1525,  1528,
     1058    1531,  1536,  1537,  1542,  1547,  1551,  1553,  1559,  1558,  1565,
     1059    1567,  1573,  1574,  1582,  1583,  1587,  1588,  1589,  1591,  1593,
     1060    1600,  1601,  1603,  1605,  1610,  1611,  1617,  1618,  1622,  1623,
     1061    1628,  1629,  1630,  1632,  1640,  1641,  1643,  1646,  1648,  1652,
     1062    1653,  1654,  1656,  1658,  1662,  1667,  1675,  1676,  1685,  1687,
     1063    1692,  1693,  1694,  1698,  1699,  1700,  1704,  1705,  1706,  1710,
     1064    1711,  1712,  1717,  1718,  1719,  1720,  1726,  1727,  1729,  1734,
     1065    1735,  1740,  1741,  1742,  1743,  1744,  1759,  1760,  1765,  1766,
     1066    1774,  1776,  1778,  1781,  1783,  1785,  1808,  1809,  1811,  1813,
     1067    1818,  1819,  1821,  1826,  1831,  1832,  1838,  1837,  1841,  1845,
     1068    1847,  1849,  1855,  1856,  1861,  1866,  1868,  1873,  1875,  1876,
     1069    1878,  1883,  1885,  1887,  1892,  1894,  1899,  1904,  1912,  1918,
     1070    1917,  1931,  1932,  1937,  1938,  1942,  1947,  1952,  1960,  1965,
     1071    1976,  1977,  1988,  1989,  1995,  1996,  2000,  2001,  2002,  2005,
     1072    2004,  2015,  2024,  2030,  2036,  2045,  2051,  2057,  2063,  2069,
     1073    2077,  2083,  2091,  2097,  2106,  2107,  2108,  2112,  2116,  2118,
     1074    2123,  2124,  2128,  2129,  2134,  2140,  2141,  2144,  2146,  2147,
     1075    2151,  2152,  2153,  2154,  2188,  2190,  2191,  2193,  2198,  2203,
     1076    2208,  2210,  2212,  2217,  2219,  2221,  2223,  2228,  2230,  2239,
     1077    2241,  2242,  2247,  2249,  2251,  2256,  2258,  2260,  2265,  2267,
     1078    2269,  2278,  2279,  2280,  2284,  2286,  2288,  2293,  2295,  2297,
     1079    2302,  2304,  2306,  2321,  2323,  2324,  2326,  2331,  2332,  2337,
     1080    2339,  2341,  2346,  2348,  2350,  2352,  2357,  2359,  2361,  2371,
     1081    2373,  2374,  2376,  2381,  2383,  2385,  2390,  2392,  2394,  2396,
     1082    2401,  2403,  2405,  2436,  2438,  2439,  2441,  2446,  2451,  2459,
     1083    2461,  2463,  2468,  2470,  2475,  2477,  2491,  2492,  2494,  2499,
     1084    2501,  2503,  2505,  2507,  2512,  2513,  2515,  2517,  2522,  2524,
     1085    2526,  2532,  2534,  2536,  2540,  2542,  2544,  2546,  2560,  2561,
     1086    2563,  2568,  2570,  2572,  2574,  2576,  2581,  2582,  2584,  2586,
     1087    2591,  2593,  2595,  2601,  2602,  2604,  2613,  2616,  2618,  2621,
     1088    2623,  2625,  2638,  2639,  2641,  2646,  2648,  2650,  2652,  2654,
     1089    2659,  2660,  2662,  2664,  2669,  2671,  2679,  2680,  2681,  2686,
     1090    2687,  2691,  2693,  2695,  2697,  2699,  2701,  2708,  2710,  2712,
     1091    2714,  2716,  2718,  2720,  2722,  2724,  2726,  2731,  2733,  2735,
     1092    2740,  2766,  2767,  2769,  2773,  2774,  2778,  2780,  2782,  2784,
     1093    2786,  2788,  2795,  2797,  2799,  2801,  2803,  2805,  2810,  2815,
     1094    2817,  2819,  2837,  2839,  2844,  2845
    10981095};
    10991096#endif
     
    11211118  "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign",
    11221119  "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "THEN",
    1123   "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "'*'", "'&'",
    1124   "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'",
    1125   "'?'", "':'", "'='", "';'", "$accept", "push", "pop", "constant",
     1120  "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "':'", "'*'",
     1121  "'&'", "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'",
     1122  "'|'", "'?'", "'='", "';'", "$accept", "push", "pop", "constant",
    11261123  "identifier", "no_01_identifier", "no_attr_identifier", "zero_one",
    11271124  "string_literal_list", "primary_expression", "postfix_expression",
     
    11331130  "logical_AND_expression", "logical_OR_expression",
    11341131  "conditional_expression", "constant_expression", "assignment_expression",
    1135   "assignment_expression_opt", "assignment_operator", "tuple",
    1136   "tuple_expression_list", "comma_expression", "comma_expression_opt",
     1132  "assignment_expression_opt", "tuple", "tuple_expression_list",
     1133  "assignment_operator", "comma_expression", "comma_expression_opt",
    11371134  "statement", "labeled_statement", "compound_statement",
    11381135  "block_item_list", "block_item", "statement_list",
     
    12281225     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    12291226     355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
    1230       41,    91,    93,    46,   123,   125,    44,    42,    38,    43,
    1231       45,    33,   126,    47,    37,    60,    62,    94,   124,    63,
    1232       58,    61,    59
     1227      41,    91,    93,    46,   123,   125,    44,    58,    42,    38,
     1228      43,    45,    33,   126,    47,    37,    60,    62,    94,   124,
     1229      63,    61,    59
    12331230};
    12341231# endif
     
    12401237     138,   138,   139,   139,   140,   140,   141,   141,   142,   142,
    12411238     142,   142,   143,   143,   143,   143,   143,   143,   143,   143,
    1242      143,   143,   143,   144,   144,   145,   145,   146,   146,   147,
    1243      147,   147,   147,   147,   148,   148,   148,   148,   148,   148,
     1239     143,   143,   143,   144,   144,   145,   145,   145,   145,   145,
     1240     146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
    12441241     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
    1245      149,   149,   150,   150,   150,   150,   151,   151,   151,   152,
    1246      152,   152,   152,   153,   153,   153,   154,   154,   154,   155,
    1247      155,   155,   155,   155,   156,   156,   156,   157,   157,   158,
    1248      158,   159,   159,   160,   160,   161,   161,   162,   162,   162,
    1249      162,   163,   164,   164,   164,   165,   165,   166,   166,   166,
    1250      166,   166,   166,   166,   166,   166,   166,   166,   167,   167,
    1251      167,   167,   168,   168,   169,   169,   170,   170,   171,   171,
    1252      171,   171,   171,   171,   171,   171,   171,   172,   173,   173,
    1253      174,   174,   175,   175,   175,   175,   176,   176,   177,   178,
    1254      178,   178,   178,   178,   178,   179,   179,   179,   180,   180,
    1255      181,   181,   182,   182,   183,   184,   184,   185,   185,   186,
    1256      186,   187,   187,   187,   187,   188,   188,   189,   189,   190,
    1257      190,   190,   191,   191,   192,   192,   192,   192,   192,   192,
    1258      192,   192,   192,   192,   193,   193,   193,   194,   194,   194,
    1259      194,   194,   195,   195,   195,   195,   196,   197,   197,   197,
    1260      197,   197,   198,   198,   198,   198,   198,   199,   199,   200,
    1261      200,   201,   201,   202,   202,   203,   203,   203,   204,   204,
    1262      205,   205,   206,   206,   207,   207,   208,   208,   209,   209,
    1263      210,   210,   211,   211,   212,   212,   213,   213,   213,   213,
    1264      213,   214,   214,   214,   215,   215,   215,   216,   216,   216,
    1265      216,   216,   217,   217,   217,   218,   218,   219,   219,   219,
    1266      220,   220,   220,   220,   220,   221,   221,   222,   222,   222,
    1267      222,   223,   223,   224,   224,   224,   224,   225,   225,   225,
    1268      225,   226,   226,   227,   227,   228,   228,   229,   229,   229,
    1269      229,   229,   230,   229,   231,   231,   231,   232,   232,   233,
    1270      234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
    1271      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
    1272      235,   236,   236,   236,   236,   236,   237,   237,   238,   238,
    1273      238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
    1274      241,   241,   241,   242,   242,   242,   242,   243,   243,   243,
    1275      244,   244,   245,   245,   246,   245,   245,   245,   247,   247,
    1276      248,   248,   249,   249,   249,   249,   250,   250,   250,   250,
    1277      251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
    1278      255,   256,   256,   257,   256,   258,   258,   259,   259,   260,
    1279      260,   261,   261,   261,   261,   261,   262,   262,   262,   262,
    1280      263,   263,   264,   264,   265,   265,   266,   266,   266,   266,
    1281      267,   267,   267,   267,   267,   268,   268,   268,   268,   268,
    1282      269,   269,   270,   270,   271,   271,   272,   272,   272,   273,
    1283      273,   273,   274,   274,   274,   275,   275,   275,   276,   276,
    1284      276,   276,   277,   277,   277,   278,   278,   279,   279,   279,
    1285      279,   279,   280,   280,   281,   281,   282,   282,   282,   282,
    1286      282,   283,   283,   283,   283,   284,   284,   284,   285,   286,
    1287      286,   288,   287,   287,   289,   289,   289,   290,   290,   291,
    1288      291,   291,   292,   292,   292,   292,   293,   293,   293,   294,
    1289      294,   295,   295,   296,   297,   296,   298,   298,   299,   299,
    1290      300,   300,   300,   301,   301,   302,   302,   303,   303,   304,
    1291      304,   305,   305,   305,   306,   305,   305,   307,   307,   307,
    1292      308,   308,   308,   308,   308,   308,   308,   308,   308,   309,
    1293      309,   309,   310,   311,   311,   312,   312,   313,   313,   314,
    1294      315,   315,   316,   316,   316,   317,   317,   317,   317,   318,
    1295      318,   318,   318,   319,   319,   320,   320,   320,   321,   321,
    1296      321,   321,   322,   322,   323,   323,   323,   324,   324,   324,
    1297      325,   325,   325,   326,   326,   326,   327,   327,   327,   328,
    1298      328,   328,   329,   329,   329,   330,   330,   330,   331,   331,
    1299      331,   331,   332,   332,   333,   333,   333,   334,   334,   334,
    1300      334,   335,   335,   335,   336,   336,   336,   336,   337,   337,
    1301      337,   338,   338,   338,   338,   339,   339,   339,   340,   340,
    1302      340,   340,   341,   341,   342,   342,   342,   343,   343,   344,
    1303      344,   345,   345,   345,   346,   346,   346,   346,   346,   347,
    1304      347,   347,   347,   348,   348,   348,   349,   349,   349,   350,
    1305      350,   350,   350,   351,   351,   351,   352,   352,   352,   352,
    1306      352,   353,   353,   353,   353,   354,   354,   354,   355,   355,
    1307      355,   356,   356,   356,   356,   356,   356,   357,   357,   357,
    1308      358,   358,   358,   358,   358,   359,   359,   359,   359,   360,
    1309      360,   361,   361,   361,   362,   362,   363,   363,   363,   363,
    1310      363,   363,   364,   364,   364,   364,   364,   364,   364,   364,
    1311      364,   364,   365,   365,   365,   365,   366,   366,   366,   367,
    1312      367,   368,   368,   368,   368,   368,   368,   369,   369,   369,
    1313      369,   369,   369,   370,   371,   371,   371,   372,   372,   373,
    1314      373
     1242     148,   148,   148,   149,   149,   149,   150,   150,   150,   150,
     1243     151,   151,   151,   152,   152,   152,   152,   153,   153,   153,
     1244     154,   154,   154,   155,   155,   155,   155,   155,   156,   156,
     1245     156,   157,   157,   158,   158,   159,   159,   160,   160,   161,
     1246     161,   162,   162,   162,   162,   163,   164,   164,   164,   164,
     1247     165,   165,   166,   166,   166,   166,   167,   167,   168,   168,
     1248     168,   168,   168,   168,   168,   168,   168,   168,   169,   169,
     1249     170,   170,   171,   171,   171,   171,   171,   171,   171,   171,
     1250     171,   172,   173,   173,   174,   174,   175,   175,   175,   175,
     1251     176,   176,   177,   178,   178,   178,   178,   178,   178,   179,
     1252     179,   179,   180,   180,   181,   181,   182,   182,   183,   184,
     1253     184,   185,   185,   186,   186,   187,   187,   187,   187,   188,
     1254     188,   189,   189,   190,   190,   190,   191,   191,   192,   192,
     1255     192,   192,   192,   192,   192,   192,   192,   192,   193,   193,
     1256     193,   194,   194,   194,   194,   194,   195,   195,   195,   195,
     1257     196,   197,   197,   197,   197,   197,   198,   198,   198,   198,
     1258     198,   199,   199,   200,   200,   201,   201,   202,   202,   203,
     1259     203,   203,   204,   204,   205,   205,   206,   206,   207,   207,
     1260     208,   208,   209,   209,   210,   210,   211,   211,   212,   212,
     1261     213,   213,   213,   213,   213,   214,   214,   214,   215,   215,
     1262     215,   216,   216,   216,   216,   216,   217,   217,   217,   218,
     1263     218,   219,   219,   219,   220,   220,   220,   220,   220,   221,
     1264     221,   222,   222,   222,   222,   223,   223,   224,   224,   224,
     1265     224,   225,   225,   225,   225,   226,   226,   227,   227,   228,
     1266     228,   229,   229,   229,   229,   229,   230,   229,   231,   231,
     1267     231,   232,   232,   233,   234,   234,   234,   234,   234,   234,
     1268     234,   234,   235,   235,   235,   235,   235,   235,   235,   235,
     1269     235,   235,   235,   235,   235,   236,   236,   236,   236,   236,
     1270     237,   237,   238,   238,   238,   238,   239,   239,   239,   239,
     1271     240,   240,   240,   240,   241,   241,   241,   242,   242,   242,
     1272     242,   243,   243,   243,   244,   244,   245,   245,   246,   245,
     1273     245,   245,   247,   247,   248,   248,   249,   249,   249,   249,
     1274     250,   250,   250,   250,   251,   251,   252,   252,   252,   252,
     1275     252,   253,   253,   254,   255,   256,   256,   257,   256,   258,
     1276     258,   259,   259,   260,   260,   261,   261,   261,   261,   261,
     1277     262,   262,   262,   262,   263,   263,   264,   264,   265,   265,
     1278     266,   266,   266,   266,   267,   267,   267,   267,   267,   268,
     1279     268,   268,   268,   268,   269,   269,   270,   270,   271,   271,
     1280     272,   272,   272,   273,   273,   273,   274,   274,   274,   275,
     1281     275,   275,   276,   276,   276,   276,   277,   277,   277,   278,
     1282     278,   279,   279,   279,   279,   279,   280,   280,   281,   281,
     1283     282,   282,   282,   282,   282,   282,   283,   283,   283,   283,
     1284     284,   284,   284,   285,   286,   286,   288,   287,   287,   289,
     1285     289,   289,   290,   290,   291,   291,   291,   292,   292,   292,
     1286     292,   293,   293,   293,   294,   294,   295,   295,   296,   297,
     1287     296,   298,   298,   299,   299,   300,   300,   300,   301,   301,
     1288     302,   302,   303,   303,   304,   304,   305,   305,   305,   306,
     1289     305,   305,   307,   307,   307,   308,   308,   308,   308,   308,
     1290     308,   308,   308,   308,   309,   309,   309,   310,   311,   311,
     1291     312,   312,   313,   313,   314,   315,   315,   316,   316,   316,
     1292     317,   317,   317,   317,   318,   318,   318,   318,   319,   319,
     1293     320,   320,   320,   321,   321,   321,   321,   322,   322,   323,
     1294     323,   323,   324,   324,   324,   325,   325,   325,   326,   326,
     1295     326,   327,   327,   327,   328,   328,   328,   329,   329,   329,
     1296     330,   330,   330,   331,   331,   331,   331,   332,   332,   333,
     1297     333,   333,   334,   334,   334,   334,   335,   335,   335,   336,
     1298     336,   336,   336,   337,   337,   337,   338,   338,   338,   338,
     1299     339,   339,   339,   340,   340,   340,   340,   341,   341,   342,
     1300     342,   342,   343,   343,   344,   344,   345,   345,   345,   346,
     1301     346,   346,   346,   346,   347,   347,   347,   347,   348,   348,
     1302     348,   349,   349,   349,   350,   350,   350,   350,   351,   351,
     1303     351,   352,   352,   352,   352,   352,   353,   353,   353,   353,
     1304     354,   354,   354,   355,   355,   355,   356,   356,   356,   356,
     1305     356,   356,   357,   357,   357,   358,   358,   358,   358,   358,
     1306     359,   359,   359,   359,   360,   360,   361,   361,   361,   362,
     1307     362,   363,   363,   363,   363,   363,   363,   364,   364,   364,
     1308     364,   364,   364,   364,   364,   364,   364,   365,   365,   365,
     1309     365,   366,   366,   366,   367,   367,   368,   368,   368,   368,
     1310     368,   368,   369,   369,   369,   369,   369,   369,   370,   371,
     1311     371,   371,   372,   372,   373,   373
    13151312};
    13161313
     
    13211318       1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
    13221319       3,     3,     1,     6,     4,     3,     7,     3,     7,     2,
    1323        2,     7,     4,     1,     3,     0,     1,     1,     3,     1,
    1324        3,     7,     3,     7,     1,     1,     1,     2,     2,     2,
    1325        2,     2,     2,     4,     2,     4,     6,     1,     4,     4,
    1326        1,     1,     1,     1,     1,     1,     1,     4,     4,     1,
    1327        3,     3,     3,     1,     3,     3,     1,     3,     3,     1,
    1328        3,     3,     3,     3,     1,     3,     3,     1,     3,     1,
    1329        3,     1,     3,     1,     3,     1,     3,     1,     5,     4,
    1330        5,     1,     1,     3,     2,     0,     1,     1,     1,     1,
    1331        1,     1,     1,     1,     1,     1,     1,     1,     2,     5,
    1332        6,     7,     1,     3,     1,     3,     0,     1,     1,     1,
    1333        1,     1,     1,     1,     1,     1,     6,     4,     2,     7,
    1334        1,     3,     1,     2,     1,     2,     1,     2,     2,     5,
    1335        7,     5,     9,     5,     9,     1,     3,     1,     1,     3,
    1336        3,     2,     1,     2,     2,     0,     1,     2,     3,     0,
    1337        1,     2,     3,     3,     4,     0,     1,     1,     2,     5,
    1338        7,     6,     6,     4,     3,     4,     2,     3,     2,     3,
    1339        3,     3,     3,     5,     3,     3,     4,     1,     5,     6,
    1340        5,     6,     9,    10,     9,    10,     2,     1,     2,     2,
    1341        2,     1,     6,     8,    10,    12,    14,     0,     1,     0,
    1342        1,     1,     3,     4,     7,     0,     1,     3,     1,     3,
    1343        1,     1,     1,     3,     1,     1,     1,     3,     0,     1,
    1344        3,     4,     1,     3,     1,     1,     3,     3,     3,     3,
    1345        3,     2,     3,     6,     3,     3,     4,     1,     2,     2,
    1346        3,     5,     8,     7,     7,     5,     9,     2,     2,     5,
    1347        3,     5,     4,     3,     4,     4,     7,     3,     3,     3,
    1348        3,     4,     6,     1,     1,     1,     1,     1,     1,     1,
    1349        1,     0,     1,     1,     2,     1,     1,     1,     1,     1,
    1350        1,     1,     0,     5,     1,     2,     3,     1,     2,     1,
     1320       2,     7,     4,     1,     3,     0,     1,     3,     7,     9,
     1321       1,     3,     1,     3,     7,     3,     7,     1,     1,     1,
     1322       2,     2,     2,     2,     2,     2,     4,     6,     1,     4,
     1323       4,     2,     4,     1,     1,     1,     1,     1,     1,     1,
     1324       1,     4,     4,     1,     3,     3,     3,     1,     3,     3,
     1325       1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
     1326       3,     1,     3,     1,     3,     1,     3,     1,     3,     1,
     1327       3,     1,     5,     4,     5,     1,     1,     3,     3,     2,
     1328       0,     1,     2,     5,     6,     7,     1,     3,     1,     1,
     1329       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
     1330       0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1331       6,     4,     2,     7,     1,     3,     1,     2,     1,     2,
     1332       1,     2,     2,     5,     7,     5,     9,     5,     9,     1,
     1333       3,     1,     1,     3,     3,     2,     1,     2,     2,     0,
     1334       1,     2,     3,     0,     1,     2,     3,     3,     4,     0,
     1335       1,     1,     2,     5,     7,     6,     6,     4,     3,     4,
     1336       2,     3,     2,     3,     3,     3,     3,     5,     3,     3,
     1337       4,     1,     5,     6,     5,     6,     9,    10,     9,    10,
     1338       2,     1,     2,     2,     2,     1,     6,     8,    10,    12,
     1339      14,     0,     1,     0,     1,     1,     3,     4,     7,     0,
     1340       1,     3,     1,     3,     1,     1,     1,     3,     1,     1,
     1341       1,     3,     0,     1,     3,     4,     1,     3,     1,     1,
     1342       3,     3,     3,     3,     3,     2,     3,     6,     3,     3,
     1343       4,     1,     2,     2,     3,     5,     8,     7,     7,     5,
     1344       9,     2,     2,     5,     3,     5,     4,     3,     4,     4,
     1345       7,     3,     3,     3,     3,     4,     6,     1,     1,     1,
     1346       1,     1,     1,     1,     1,     0,     1,     1,     2,     1,
     1347       1,     1,     1,     1,     1,     1,     0,     5,     1,     2,
     1348       3,     1,     2,     1,     1,     1,     1,     1,     1,     1,
    13511349       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1350       1,     1,     1,     1,     1,     1,     2,     2,     3,     3,
     1351       1,     3,     1,     2,     2,     2,     4,     4,     4,     4,
     1352       1,     2,     2,     3,     1,     2,     2,     1,     2,     2,
     1353       3,     1,     2,     2,     1,     1,     4,     2,     0,     6,
     1354       7,     2,     2,     2,     0,     2,     2,     3,     2,     3,
     1355       1,     2,     3,     2,     2,     4,     0,     1,     2,     2,
     1356       1,     0,     1,     2,     2,     5,     2,     0,     7,     2,
     1357       4,     0,     2,     0,     1,     1,     1,     5,     5,     5,
     1358       1,     5,     5,     9,     1,     5,     0,     1,     1,     5,
     1359       1,     1,     5,     5,     1,     3,     3,     4,     1,     1,
     1360       1,     1,     2,     1,     3,     3,     1,     2,     1,     3,
    13521361       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1353        1,     1,     2,     2,     3,     3,     1,     3,     1,     2,
    1354        2,     2,     4,     4,     4,     4,     1,     2,     2,     3,
    1355        1,     2,     2,     1,     2,     2,     3,     1,     2,     2,
    1356        1,     1,     4,     2,     0,     6,     7,     2,     2,     2,
    1357        0,     2,     2,     3,     2,     3,     1,     2,     3,     2,
    1358        2,     4,     0,     1,     2,     2,     1,     0,     1,     2,
    1359        2,     5,     2,     0,     7,     2,     4,     0,     2,     0,
    1360        1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
    1361        1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
    1362        1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
    1363        3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
    1364        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
    1365        1,     2,     0,     2,     2,     1,     4,     0,     1,     2,
    1366        3,     4,     2,     2,     1,     2,     2,     5,     5,     7,
    1367        6,     1,     2,     2,     3,     1,     2,     2,     4,     2,
    1368        4,     0,     4,     2,     1,     1,     1,     0,     2,     5,
    1369        5,    13,     1,     1,     3,     3,     2,     3,     3,     2,
    1370        4,     1,     6,     9,     0,    11,     1,     3,     3,     3,
    1371        1,     1,     5,     2,     5,     0,     1,     1,     3,     0,
    1372        1,     1,     1,     1,     0,     6,     2,     1,     2,     4,
    1373        2,     3,     3,     3,     4,     5,     5,     5,     6,     1,
    1374        1,     1,     3,     0,     5,     0,     1,     1,     2,     6,
    1375        1,     3,     0,     1,     4,     1,     1,     1,     1,     2,
    1376        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1377        4,     3,     8,     3,     2,     1,     2,     6,     8,     3,
    1378        2,     3,     3,     4,     4,     3,     1,     1,     1,     4,
    1379        6,     3,     2,     3,     3,     4,     4,     3,     2,     1,
    1380        2,     2,     1,     3,     2,     3,     3,     2,     4,     4,
    1381        3,     6,     8,     3,     2,     1,     2,     2,     2,     3,
    1382        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1383        2,     2,     1,     1,     2,     3,     3,     2,     4,     6,
    1384        8,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1385        4,     4,     3,     5,     8,     3,     2,     3,     1,     5,
    1386        5,     6,     6,     1,     2,     2,     1,     2,     2,     3,
    1387        3,     1,     4,     4,     3,     5,     8,     3,     1,     2,
    1388        1,     2,     6,     5,     6,     7,     7,     1,     2,     2,
    1389        1,     2,     2,     3,     3,     1,     4,     4,     3,     8,
    1390        3,     1,     1,     2,     1,     1,     2,     3,     2,     3,
    1391        2,     3,     3,     2,     4,     3,     2,     3,     2,     4,
    1392        3,     2,     6,     6,     6,     7,     1,     2,     1,     1,
    1393        1,     2,     3,     2,     3,     2,     3,     3,     4,     2,
    1394        3,     4,     2,     5,     5,     6,     6,     0,     1,     0,
    1395        2
     1362       1,     2,     1,     1,     1,     2,     0,     2,     2,     1,
     1363       4,     0,     1,     2,     3,     4,     2,     2,     1,     2,
     1364       1,     2,     5,     5,     7,     6,     1,     2,     2,     3,
     1365       1,     2,     2,     4,     2,     4,     0,     4,     2,     1,
     1366       1,     1,     0,     2,     5,     5,    13,     1,     1,     3,
     1367       3,     2,     3,     3,     2,     4,     1,     6,     9,     0,
     1368      11,     1,     3,     3,     3,     1,     1,     5,     2,     5,
     1369       0,     1,     1,     3,     0,     1,     1,     1,     1,     0,
     1370       6,     2,     1,     2,     4,     2,     3,     3,     3,     4,
     1371       5,     5,     5,     6,     1,     1,     1,     3,     0,     5,
     1372       0,     1,     1,     2,     6,     1,     3,     0,     1,     4,
     1373       1,     1,     1,     1,     2,     1,     2,     2,     1,     3,
     1374       2,     3,     3,     2,     4,     4,     3,     8,     3,     2,
     1375       1,     2,     6,     8,     3,     2,     3,     3,     4,     4,
     1376       3,     1,     1,     1,     4,     6,     3,     2,     3,     3,
     1377       4,     4,     3,     2,     1,     2,     2,     1,     3,     2,
     1378       3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
     1379       1,     2,     2,     2,     3,     3,     2,     4,     4,     3,
     1380       6,     8,     3,     2,     1,     2,     2,     1,     1,     2,
     1381       3,     3,     2,     4,     6,     8,     1,     2,     2,     1,
     1382       2,     2,     3,     3,     1,     4,     4,     3,     5,     8,
     1383       3,     2,     3,     1,     5,     5,     6,     6,     1,     2,
     1384       2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
     1385       5,     8,     3,     1,     2,     1,     2,     6,     5,     6,
     1386       7,     7,     1,     2,     2,     1,     2,     2,     3,     3,
     1387       1,     4,     4,     3,     8,     3,     1,     1,     2,     1,
     1388       1,     2,     3,     2,     3,     2,     3,     3,     2,     4,
     1389       3,     2,     3,     2,     4,     3,     2,     6,     6,     6,
     1390       7,     1,     2,     1,     1,     1,     2,     3,     2,     3,
     1391       2,     3,     3,     4,     2,     3,     4,     2,     5,     5,
     1392       6,     6,     0,     1,     0,     2
    13961393};
    13971394
     
    14011398static const yytype_uint16 yydefact[] =
    14021399{
    1403      291,   291,   312,   310,   313,   311,   314,   315,   297,   299,
    1404      298,     0,   300,   326,   318,   323,   321,   322,   320,   319,
    1405      324,   325,   330,   327,   328,   329,   545,   545,   545,     0,
    1406        0,     0,   291,   217,   301,   316,   317,     7,   357,     0,
    1407        8,    14,    15,     0,     2,    60,    61,   563,     9,   291,
    1408      523,   521,   244,     3,   452,     3,   257,     0,     3,     3,
    1409        3,   245,     3,     0,     0,     0,   292,   293,   295,   291,
    1410      304,   307,   309,   338,   283,   331,   336,   284,   346,   285,
    1411      353,   350,   360,     0,     0,   361,   286,   471,   475,     3,
    1412        3,     0,     2,   517,   522,   527,   296,     0,     0,   545,
    1413      575,   545,     2,   586,   587,   588,   291,     0,   729,   730,
    1414        0,    12,     0,    13,   291,   267,   268,     0,   292,   287,
    1415      288,   289,   290,   524,   302,   390,   546,   547,   368,   369,
    1416       12,   443,   444,    11,   439,   442,     0,   501,   496,   487,
    1417      443,   444,     0,     0,   526,   218,     0,   291,     0,     0,
    1418        0,     0,     0,     0,     0,     0,   291,   291,     2,     0,
    1419      731,   292,   580,   592,   735,   728,   726,   733,     0,     0,
    1420        0,   251,     2,     0,   530,   437,   438,   436,     0,     0,
    1421        0,     0,   545,     0,   632,   633,     0,     0,   543,   539,
    1422      545,   560,   545,   545,   541,     2,   540,   545,   599,   545,
    1423      545,   602,     0,     0,     0,   291,   291,   310,   358,     2,
    1424      291,   258,   294,   305,   339,   351,   476,     0,     2,     0,
    1425      452,   259,   292,   332,   347,   354,   472,     0,     2,     0,
    1426      308,   333,   340,   341,     0,   348,   352,   355,   359,   444,
    1427      291,   370,   363,   367,     0,   392,   473,   477,     0,     0,
    1428        0,     1,   291,     2,   528,   574,   576,   291,     2,   739,
    1429      292,   742,   543,   543,     0,   292,     0,     0,   270,   545,
    1430      541,     2,   291,     0,     0,   291,   548,     2,   499,     2,
    1431      552,     0,     0,     0,     0,     0,     0,    18,    57,     4,
    1432        5,     6,    16,     0,     0,   291,     2,    62,    63,    64,
    1433       65,    45,    19,    46,    22,    44,    66,   291,     0,    69,
    1434       73,    76,    79,    84,    87,    89,    91,    93,    95,    97,
    1435      102,   493,   749,   450,   492,     0,   448,   449,     0,   564,
    1436      579,   582,   585,   591,   594,   597,   357,     0,     2,   737,
    1437        0,   291,   740,     2,    60,   291,     3,   424,     0,   432,
    1438      292,   291,   304,   331,   284,   346,   353,     3,     3,   406,
    1439      410,   420,   425,   471,   291,   426,   704,   705,   291,   427,
    1440      429,   291,     2,   581,   593,   727,     2,     2,   246,     2,
    1441      457,     0,   455,   454,   453,   138,     2,     2,   248,     2,
    1442        2,   247,     2,   278,     2,   279,     0,   277,     0,     0,
    1443        0,     0,     0,     0,     0,     0,     0,   565,   604,     0,
    1444      452,     2,   559,   568,   658,   561,   562,   531,   291,     2,
    1445      598,   607,   600,   601,     0,   273,   291,   291,   337,   292,
    1446        0,   292,     0,   291,   732,   736,   734,   532,   291,   543,
    1447      252,   260,   306,     0,     2,   533,   291,   497,   334,   335,
    1448      280,   349,   356,     0,   291,     0,   747,   397,     0,   474,
    1449      498,   249,   250,   518,   291,   434,     0,   291,   234,     0,
    1450        2,   236,     0,   292,     0,   254,     2,   255,   275,     0,
    1451        0,     2,   291,   543,   291,   484,   486,   485,     0,     0,
    1452      749,     0,   291,     0,   291,   488,   291,   558,   556,   557,
    1453      555,     0,   550,   553,     0,     0,   291,    52,   291,    66,
    1454       47,   291,    54,   291,   291,    50,    51,     2,   124,     0,
    1455        0,   446,     0,   445,   726,   118,   291,    17,     0,    29,
    1456       30,    35,     2,     0,    35,   108,   109,   110,   111,   112,
    1457      113,   114,   115,   116,   117,   107,     0,    48,    49,     0,
    1458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1459        0,     0,     0,     0,     0,     0,     0,     0,     0,   104,
    1460        2,   644,   451,   641,   545,   545,   649,   478,   291,     2,
    1461      583,   584,     0,   595,   596,     0,     2,   738,   741,   118,
    1462      291,     0,     2,   706,   292,   710,   701,   702,   708,     0,
    1463        2,     2,   666,   545,   749,   615,   545,   545,   749,   545,
    1464      629,   545,   545,   680,   433,   663,   545,   545,   671,   678,
    1465      291,   428,   292,     0,     0,   291,   716,   292,   721,   749,
    1466      713,   291,   718,   749,   291,   291,   291,     0,   118,     0,
    1467       18,     2,     0,    19,     0,   458,   747,     0,     0,   464,
    1468      238,     0,   291,     0,     0,     0,   543,   567,   571,   573,
    1469      603,   606,   610,   613,   566,   605,     0,   281,   656,     0,
    1470      291,   274,     0,     0,     0,     0,   272,     2,     0,   256,
    1471      534,   291,     0,     0,   291,     2,   362,   382,   371,     0,
    1472        0,   376,   370,   748,     0,     0,   395,     0,   292,     3,
    1473      413,     3,   417,   416,   589,     0,   529,   291,    60,     3,
    1474      291,   432,   292,     3,   426,   427,     2,     0,     0,     0,
    1475      483,   303,   291,   479,   481,     3,     2,     2,     0,   500,
    1476        3,     0,   552,   126,     0,     0,   219,     0,     0,     0,
    1477        0,    36,     0,     0,   118,   291,    20,     0,    21,     0,
    1478      690,   695,   447,   687,   545,   545,     0,   105,     3,     2,
    1479       27,     0,    33,     0,     2,    25,     0,   103,    70,    71,
    1480       72,    74,    75,    77,    78,    82,    83,    80,    81,    85,
    1481       86,    88,    90,    92,    94,    96,     0,     0,   750,   291,
    1482        0,     0,     0,   645,   646,   642,   643,   495,   494,   291,
    1483        0,   291,   712,   291,   717,   292,   291,   660,   291,   291,
    1484      703,   659,     2,   291,     0,     0,     0,     0,     0,     0,
    1485        0,     0,   681,     0,   667,   618,   634,   668,     2,   614,
    1486      621,   430,   616,   617,   431,     2,   628,   637,   630,   631,
    1487      664,   665,   679,   707,   711,   709,   749,   265,     2,   743,
    1488        2,   421,   715,   720,   422,     0,   400,     3,     3,     3,
    1489        3,   452,     3,     0,     2,   466,   463,   748,     0,   459,
    1490        2,   462,   465,     0,   291,   239,   261,     3,   269,   271,
    1491        0,   452,     2,   569,   570,     2,   608,   609,     0,   657,
    1492      535,     3,   343,   342,   345,   344,   291,   536,     0,   537,
    1493      370,     0,     0,   291,   291,     0,     0,   690,   380,   383,
    1494      387,   545,   387,   386,   379,   372,   545,   374,   377,   291,
    1495      397,   391,   101,   398,   747,     0,     0,   435,   237,     0,
    1496        0,     3,     2,   666,   428,     0,   525,     0,   749,   487,
    1497        0,   291,   291,   291,     0,   549,   551,   127,     0,     0,
    1498      212,     0,     0,     0,   220,   221,    53,     0,    55,    58,
    1499       59,     0,     2,   125,     0,     0,     0,   691,   692,   688,
    1500      689,   457,    67,    68,   106,   122,     3,   105,     0,     0,
    1501       24,    35,     3,     0,    32,    99,     0,     3,   648,   652,
    1502      655,   647,     3,   590,     3,   714,   719,     2,    60,   291,
    1503        3,     3,   292,     0,     3,   620,   624,   627,   636,   670,
    1504      674,   677,   291,     3,   619,   635,   669,   291,   291,   423,
    1505      291,   291,   744,     0,     0,     0,     0,   253,     0,   101,
    1506        0,     3,     3,     0,   460,     0,   456,     0,     0,   242,
    1507      291,     0,     0,   126,     0,     0,     0,     0,     0,   126,
    1508        0,     0,   105,   105,    18,     2,     0,     0,     3,   128,
    1509      129,     2,   140,   130,   131,   132,   133,   134,   135,   142,
    1510      144,     0,     0,     0,   282,   291,   291,   545,     0,   538,
    1511      291,   373,   375,     0,   389,   691,   384,   388,   385,   378,
    1512      382,   365,   396,     0,   577,     2,   662,   661,     0,   667,
    1513        2,   480,   482,   502,     3,   510,   511,     0,     2,   506,
    1514        3,     3,     0,     0,   554,   219,     0,     0,     0,   219,
    1515        0,     0,   118,   694,   698,   700,   693,   747,   105,     0,
    1516        3,   659,    39,     3,    37,    34,     0,     3,    98,   100,
    1517        0,     2,   650,   651,     0,     0,   291,     0,     0,     0,
    1518        3,   636,     0,     2,   622,   623,     2,   638,     2,   672,
    1519      673,     0,     0,    60,     0,     3,     3,     3,     3,   408,
    1520      407,   411,     2,     2,   746,   745,   119,     0,     0,     0,
    1521        0,     3,   461,     3,     0,   240,   143,     3,   292,   291,
    1522        0,     0,     0,     0,     2,     0,   188,     0,   186,     0,
    1523        0,     0,     0,     0,     0,     0,   545,   118,     0,   148,
    1524      145,   291,     0,     0,   264,   276,     3,     3,   544,   611,
    1525      366,   381,   394,   291,   263,   291,     0,   513,   490,   291,
    1526        0,     0,   489,   504,     0,     0,     0,   213,     0,   222,
    1527       56,     2,   696,   697,     0,   123,   120,     0,     0,     0,
    1528        0,     0,    23,     0,   653,   291,   578,   262,   722,   723,
    1529      724,     0,   675,   291,   291,   291,     3,     3,     0,   683,
    1530        0,     0,     0,     0,   291,   291,     3,   542,   119,   468,
    1531        0,     0,   243,   292,     0,     0,     0,     0,   291,   189,
    1532      187,   184,     0,   190,     0,     0,     0,     0,   194,   197,
    1533      195,   191,     0,   192,   126,    35,   141,   139,   241,     0,
    1534        0,   415,   419,   418,     0,   507,     2,   508,     2,   509,
    1535      503,   291,   225,     0,   223,     0,   225,   291,    31,   121,
    1536        2,    42,     2,    40,    38,    28,    26,     3,   725,     3,
    1537        3,     3,     0,     0,   682,   684,   625,   639,   266,     2,
    1538      405,     3,   404,     0,   470,   467,   126,     0,     0,   126,
    1539        3,     0,   126,   185,     0,     2,     2,   206,   196,     0,
    1540        0,     0,   137,     0,   572,   612,     2,     0,     0,     2,
    1541      226,     0,     0,   214,     0,     3,     0,     0,     0,     0,
    1542        0,     0,   685,   686,   291,     0,   469,   149,     0,     0,
    1543        2,   162,   126,   151,     0,   179,     0,   126,     0,     2,
    1544      153,     0,     2,     0,     2,     2,     2,   193,    32,   291,
    1545      512,   514,   505,     0,     0,     0,     0,     0,     3,     3,
    1546      654,   626,   640,   676,   409,   126,   155,   158,     0,   157,
    1547      161,     3,   164,   163,     0,   126,   181,   126,     3,     0,
    1548      291,     0,   291,     0,     2,     0,     2,   136,     2,   227,
    1549      228,     0,   224,   215,   699,     0,     0,   150,     0,     0,
    1550      160,   230,   165,     2,   232,   180,     0,   183,   169,   198,
    1551        3,   207,   211,   200,     3,     0,   291,     0,   291,     0,
    1552        0,     0,    43,    41,   156,   159,   126,     0,   166,   291,
    1553      126,   126,     0,   170,     0,     0,   690,   208,   209,   210,
    1554        0,   199,     3,   201,     3,   291,   216,   229,   146,   167,
    1555      152,   126,   233,   182,   177,   175,   171,   154,   126,     0,
    1556      691,     0,     0,     0,     0,   147,   168,   178,   172,   176,
    1557      175,   173,     3,     3,     0,     0,   491,   174,   202,   204,
    1558        3,     3,   203,   205
     1400     295,   295,   316,   314,   317,   315,   318,   319,   301,   303,
     1401     302,     0,   304,   330,   322,   327,   325,   326,   324,   323,
     1402     328,   329,   334,   331,   332,   333,   550,   550,   550,     0,
     1403       0,     0,   295,   221,   305,   320,   321,     7,   361,     0,
     1404       8,    14,    15,    65,     0,     2,    63,    64,   568,     9,
     1405     295,   528,   526,   248,     3,   456,     3,   261,     0,     3,
     1406       3,     3,   249,     3,     0,     0,     0,   296,   297,   299,
     1407     295,   308,   311,   313,   342,   287,   335,   340,   288,   350,
     1408     289,   357,   354,   364,     0,     0,   365,   290,   476,   480,
     1409       3,     3,     0,     2,   522,   527,   532,   300,     0,     0,
     1410     550,   580,   550,     2,   591,   592,   593,   295,     0,   734,
     1411     735,     0,    12,     0,    13,   295,   271,   272,     0,   296,
     1412     291,   292,   293,   294,   529,   306,   394,   551,   552,   372,
     1413     373,    12,   447,   448,    11,   443,   446,     0,   506,   501,
     1414     492,   447,   448,     0,     0,   531,   222,     0,   295,     0,
     1415       0,     0,     0,     0,     0,     0,     0,   295,   295,     2,
     1416       0,   736,   296,   585,   597,   740,   733,   731,   738,     0,
     1417       0,     0,   255,     2,     0,   535,   441,   442,   440,     0,
     1418       0,     0,     0,   550,     0,   637,   638,     0,     0,   548,
     1419     544,   550,   565,   550,   550,   546,     2,   545,   550,   604,
     1420     550,   550,   607,     0,     0,     0,   295,   295,   314,   362,
     1421       2,   295,   262,   298,   309,   343,   355,   481,     0,     2,
     1422       0,   456,   263,   296,   336,   351,   358,   477,     0,     2,
     1423       0,   312,   337,   344,   345,     0,   352,   356,   359,   363,
     1424     448,   295,   374,   367,   371,     0,   396,   478,   482,     0,
     1425       0,     0,     1,   295,     2,   533,   579,   581,   295,     2,
     1426     744,   296,   747,   548,   548,     0,   296,     0,     0,   274,
     1427     550,   546,     2,   295,     0,     0,   295,   553,     2,   504,
     1428       2,   557,     0,     0,     0,     0,     0,     0,    18,    58,
     1429       4,     5,     6,    16,     0,     0,   295,     2,    66,    67,
     1430      68,    69,    48,    19,    49,    22,    47,    70,   295,     0,
     1431      73,    77,    80,    83,    88,    91,    93,    95,    97,    99,
     1432     101,   106,   498,   754,   454,   497,     0,   452,   453,     0,
     1433     569,   584,   587,   590,   596,   599,   602,   361,     0,     2,
     1434     742,     0,   295,   745,     2,    63,   295,     3,   428,     0,
     1435     436,   296,   295,   308,   335,   288,   350,   357,     3,     3,
     1436     410,   414,   424,   429,   476,   295,   430,   709,   710,   295,
     1437     431,   433,   295,     2,   586,   598,   732,     2,     2,   250,
     1438       2,   461,     0,   459,   458,   457,   142,     2,     2,   252,
     1439       2,     2,   251,     2,   282,     2,   283,     0,   281,     0,
     1440       0,     0,     0,     0,     0,     0,     0,     0,   570,   609,
     1441       0,   456,     2,   564,   573,   663,   566,   567,   536,   295,
     1442       2,   603,   612,   605,   606,     0,   277,   295,   295,   341,
     1443     296,     0,   296,     0,   295,   737,   741,   739,   537,   295,
     1444     548,   256,   264,   310,     0,     2,   538,   295,   502,   338,
     1445     339,   284,   353,   360,     0,   295,     0,   752,   401,     0,
     1446     479,   503,   253,   254,   523,   295,   438,     0,   295,   238,
     1447       0,     2,   240,     0,   296,     0,   258,     2,   259,   279,
     1448       0,     0,     2,   295,   548,   295,   489,   491,   490,     0,
     1449       0,   754,     0,   295,     0,   295,   493,   295,   563,   561,
     1450     562,   560,     0,   555,   558,     0,     0,   295,    55,   295,
     1451      70,    50,   295,    61,   295,   295,    53,    54,     2,   128,
     1452       0,     0,   450,     0,   449,   731,   112,   295,    17,     0,
     1453      29,    30,    35,     2,     0,    35,   118,   119,   120,   121,
     1454     122,   123,   124,   125,   126,   127,     0,     0,    51,    52,
     1455       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1456       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1457     109,     2,   649,   455,   646,   550,   550,   654,   483,   295,
     1458       2,   588,   589,     0,   600,   601,     0,     2,   743,   746,
     1459     112,   295,     0,     2,   711,   296,   715,   706,   707,   713,
     1460       0,     2,     2,   671,   550,   754,   620,   550,   550,   754,
     1461     550,   634,   550,   550,   685,   437,   668,   550,   550,   676,
     1462     683,   295,   432,   296,     0,     0,   295,   721,   296,   726,
     1463     754,   718,   295,   723,   754,   295,   295,   295,     0,   112,
     1464       0,    18,     5,     2,     0,    19,     0,   462,   752,     0,
     1465       0,   468,   242,     0,   295,     0,     0,     0,   548,   572,
     1466     576,   578,   608,   611,   615,   618,   571,   610,     0,   285,
     1467     661,     0,   295,   278,     0,     0,     0,     0,   276,     2,
     1468       0,   260,   539,   295,     0,     0,   295,     2,   366,   386,
     1469     375,     0,     0,   380,   374,   753,     0,     0,   399,     0,
     1470     296,     3,   417,     3,   421,   420,   594,     0,   534,   295,
     1471      63,     3,   295,   436,   296,     3,   430,   431,     2,     0,
     1472       0,     0,   488,   307,   295,   484,   486,     3,     2,     2,
     1473       0,   505,     3,     0,   557,   130,     0,     0,   223,     0,
     1474       0,     0,     2,     0,     0,    36,     0,     0,   112,   295,
     1475      20,     0,    21,     0,   695,   700,   451,   692,   550,   550,
     1476       0,   110,     3,     2,    27,     2,     0,    33,     0,     2,
     1477      25,     0,   107,   108,    74,    75,    76,    78,    79,    81,
     1478      82,    86,    87,    84,    85,    89,    90,    92,    94,    96,
     1479      98,   100,     0,     0,   755,   295,     0,     0,     0,   650,
     1480     651,   647,   648,   500,   499,   295,     0,   295,   717,   295,
     1481     722,   296,   295,   665,   295,   295,   708,   664,     2,   295,
     1482       0,     0,     0,     0,     0,     0,     0,     0,   686,     0,
     1483     672,   623,   639,   673,     2,   619,   626,   434,   621,   622,
     1484     435,     2,   633,   642,   635,   636,   669,   670,   684,   712,
     1485     716,   714,   754,   269,     2,   748,     2,   425,   720,   725,
     1486     426,     0,   404,     3,     3,     3,     3,   456,     3,     0,
     1487       2,   471,   467,   753,     0,   463,   470,     2,   466,   469,
     1488       0,   295,   243,   265,     3,   273,   275,     0,   456,     2,
     1489     574,   575,     2,   613,   614,     0,   662,   540,     3,   347,
     1490     346,   349,   348,   295,   541,     0,   542,   374,     0,     0,
     1491     295,   295,     0,     0,   695,   384,   387,   391,   550,   391,
     1492     390,   383,   376,   550,   378,   381,   295,   401,   395,   105,
     1493     402,   752,     0,     0,   439,   241,     0,     0,     3,     2,
     1494     671,   432,     0,   530,     0,   754,   492,     0,   295,   295,
     1495     295,     0,   554,   556,   131,     0,     0,   216,     0,     0,
     1496       0,   224,   225,    56,     0,    62,   295,     0,    60,    59,
     1497       0,     2,   129,     0,     0,     0,   696,   697,   693,   694,
     1498     461,    71,    72,   111,   116,     3,   110,     0,     0,     0,
     1499      24,    35,     3,     0,    32,   103,     0,     3,   653,   657,
     1500     660,   652,     3,   595,     3,   719,   724,     2,    63,   295,
     1501       3,     3,   296,     0,     3,   625,   629,   632,   641,   675,
     1502     679,   682,   295,     3,   624,   640,   674,   295,   295,   427,
     1503     295,   295,   749,     0,     0,     0,     0,   257,     0,   105,
     1504       0,     3,     3,     0,   464,     0,   460,     0,     0,   246,
     1505     295,     0,     0,   130,     0,     0,     0,     0,     0,   130,
     1506       0,     0,   110,   110,    18,     2,     0,     0,     3,   132,
     1507     133,     2,   144,   134,   135,   136,   137,   138,   139,   146,
     1508     148,     0,     0,     0,   286,   295,   295,   550,     0,   543,
     1509     295,   377,   379,     0,   393,   696,   388,   392,   389,   382,
     1510     386,   369,   400,     0,   582,     2,   667,   666,     0,   672,
     1511       2,   485,   487,   507,     3,   515,   516,     0,     2,   511,
     1512       3,     3,     0,     0,   559,   223,     0,     0,     0,   223,
     1513       0,     0,     3,    37,   112,   699,   703,   705,   698,   752,
     1514     110,     0,     3,   664,    42,     3,    40,     3,    34,     0,
     1515       3,   102,   104,     0,     2,   655,   656,     0,     0,   295,
     1516       0,     0,     0,     3,   641,     0,     2,   627,   628,     2,
     1517     643,     2,   677,   678,     0,     0,    63,     0,     3,     3,
     1518       3,     3,   412,   411,   415,     2,     2,   751,   750,   113,
     1519       0,     0,     0,     0,     3,   465,     3,     0,   244,   147,
     1520       3,   296,   295,     0,     0,     0,     0,     2,     0,   192,
     1521       0,   190,     0,     0,     0,     0,     0,     0,     0,   550,
     1522     112,     0,   152,   149,   295,     0,     0,   268,   280,     3,
     1523       3,   549,   616,   370,   385,   398,   295,   267,   295,     0,
     1524     518,   495,   295,     0,     0,   494,   509,     0,     0,     0,
     1525     217,     0,   226,    57,   110,     0,     2,   701,   702,     0,
     1526     117,   114,     0,     0,     0,     0,     0,     0,    23,     0,
     1527     658,   295,   583,   266,   727,   728,   729,     0,   680,   295,
     1528     295,   295,     3,     3,     0,   688,     0,     0,     0,     0,
     1529     295,   295,     3,   547,   472,   473,     0,     0,   247,   296,
     1530       0,     0,     0,     0,   295,   193,   191,   188,     0,   194,
     1531       0,     0,     0,     0,   198,   201,   199,   195,     0,   196,
     1532     130,    35,   145,   143,   245,     0,     0,   419,   423,   422,
     1533       0,   512,     2,   513,     2,   514,   508,   295,   229,     0,
     1534     227,     0,   229,     3,   664,   295,    31,   115,     2,    45,
     1535       2,    43,    41,    28,   113,    26,     3,   730,     3,     3,
     1536       3,     0,     0,   687,   689,   630,   644,   270,     2,   409,
     1537       3,   408,     0,   475,   472,   130,     0,     0,   130,     3,
     1538       0,   130,   189,     0,     2,     2,   210,   200,     0,     0,
     1539       0,   141,     0,   577,   617,     2,     0,     0,     2,   230,
     1540       0,     0,   218,     0,     0,     0,     3,     0,     0,     0,
     1541       0,     0,     0,   690,   691,   295,     0,   474,   153,     0,
     1542       0,     2,   166,   130,   155,     0,   183,     0,   130,     0,
     1543       2,   157,     0,     2,     0,     2,     2,     2,   197,    32,
     1544     295,   517,   519,   510,     0,     0,     0,     0,   115,    38,
     1545       0,     3,     3,   659,   631,   645,   681,   413,   130,   159,
     1546     162,     0,   161,   165,     3,   168,   167,     0,   130,   185,
     1547     130,     3,     0,   295,     0,   295,     0,     2,     0,     2,
     1548     140,     2,   231,   232,     0,   228,   219,     0,   704,     0,
     1549       0,   154,     0,     0,   164,   234,   169,     2,   236,   184,
     1550       0,   187,   173,   202,     3,   211,   215,   204,     3,     0,
     1551     295,     0,   295,     0,     0,     0,    39,    46,    44,   160,
     1552     163,   130,     0,   170,   295,   130,   130,     0,   174,     0,
     1553       0,   695,   212,   213,   214,     0,   203,     3,   205,     3,
     1554     295,   220,   233,   150,   171,   156,   130,   237,   186,   181,
     1555     179,   175,   158,   130,     0,   696,     0,     0,     0,     0,
     1556     151,   172,   182,   176,   180,   179,   177,     3,     3,     0,
     1557       0,   496,   178,   206,   208,     3,     3,   207,   209
    15591558};
    15601559
     
    15621561static const yytype_int16 yydefgoto[] =
    15631562{
    1564       -1,   813,   468,   301,    47,   134,   135,   302,   303,   304,
    1565      305,   761,   762,  1133,  1134,   306,   381,   308,   309,   310,
    1566      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
    1567     1030,   518,   975,   546,   322,   976,   947,  1057,  1518,  1059,
    1568     1060,  1061,  1062,  1519,  1063,  1064,  1437,  1438,  1401,  1402,
    1569     1403,  1497,  1498,  1502,  1503,  1538,  1539,  1065,  1361,  1066,
    1570     1067,  1298,  1299,  1300,  1480,  1068,   146,   953,   954,   955,
    1571     1381,  1461,  1472,  1473,   469,   470,   874,   875,  1038,    51,
    1572       52,    53,    54,    55,   347,   159,    58,    59,    60,    61,
    1573       62,   349,    64,    65,   265,    67,    68,   275,   351,   352,
    1574       71,    72,    73,    74,   119,    76,   205,   354,   120,    79,
    1575      121,    81,    82,   455,    83,   454,   688,   689,   690,   908,
    1576     1086,   909,    84,    85,   458,   456,   696,   855,   856,   857,
    1577      858,   699,   700,   701,   359,   360,   361,   362,   466,   340,
    1578      136,   137,   522,   324,   171,   645,   646,   647,   648,   649,
    1579       86,   122,    88,   489,   490,   939,   491,   278,   495,   325,
    1580       89,   138,   139,    90,  1321,  1108,  1109,  1110,  1111,    91,
    1581       92,   717,    93,   274,    94,    95,   188,  1032,   679,   412,
    1582      126,    96,   501,   502,   503,   189,   269,   191,   192,   193,
    1583      270,    99,   100,   101,   102,   103,   104,   105,   196,   197,
    1584      198,   199,   200,   825,   605,   606,   607,   608,   201,   610,
    1585      611,   612,   572,   573,   574,   575,   751,   106,   614,   615,
    1586      616,   617,   618,   619,   968,   753,   754,   755,   595,   365,
    1587      366,   367,   368,   326,   165,   108,   109,   110,   370,   694,
    1588      569
     1563      -1,   819,   469,   302,    48,   135,   136,   303,   304,   305,
     1564     306,   766,   767,  1145,  1146,   307,   382,   309,   310,   311,
     1565     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
     1566    1040,   519,   984,   323,   985,   547,   954,  1067,  1543,  1069,
     1567    1070,  1071,  1072,  1544,  1073,  1074,  1460,  1461,  1422,  1423,
     1568    1424,  1522,  1523,  1527,  1528,  1563,  1564,  1075,  1380,  1076,
     1569    1077,  1314,  1315,  1316,  1504,  1078,   147,   960,   961,   962,
     1570    1400,  1484,  1496,  1497,   470,   471,   881,   882,  1048,    52,
     1571      53,    54,    55,    56,   348,   160,    59,    60,    61,    62,
     1572      63,   350,    65,    66,   266,    68,    69,   276,   352,   353,
     1573      72,    73,    74,    75,   120,    77,   206,   355,   121,    80,
     1574     122,    82,    83,   456,    84,   455,   690,   691,   692,   915,
     1575    1096,   916,    85,    86,   459,   457,   698,   861,   862,   358,
     1576     359,   701,   702,   703,   360,   361,   362,   363,   467,   341,
     1577     137,   138,   523,   325,   172,   647,   648,   649,   650,   651,
     1578      87,   123,    89,   490,   491,   946,   492,   279,   496,   326,
     1579      90,   139,   140,    91,  1337,  1118,  1119,  1120,  1121,    92,
     1580      93,   719,    94,   275,    95,    96,   189,  1042,   681,   413,
     1581     127,    97,   502,   503,   504,   190,   270,   192,   193,   194,
     1582     271,   100,   101,   102,   103,   104,   105,   106,   197,   198,
     1583     199,   200,   201,   831,   606,   607,   608,   609,   202,   611,
     1584     612,   613,   573,   574,   575,   576,   755,   107,   615,   616,
     1585     617,   618,   619,   620,   977,   757,   758,   759,   596,   366,
     1586     367,   368,   369,   327,   166,   109,   110,   111,   371,   696,
     1587     570
    15891588};
    15901589
    15911590/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15921591   STATE-NUM.  */
    1593 #define YYPACT_NINF -1310
     1592#define YYPACT_NINF -1414
    15941593static const yytype_int16 yypact[] =
    15951594{
    1596     7316,  8697, -1310,    16, -1310, -1310, -1310, -1310, -1310, -1310,
    1597    -1310,    22, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1598    -1310, -1310, -1310, -1310, -1310, -1310,   101,   101,   101,  1152,
    1599      941,    64,  7548,   141, -1310, -1310, -1310, -1310, -1310,    87,
    1600    -1310, -1310, -1310,   868,   134, -1310, -1310, -1310, -1310,  9158,
    1601    -1310, -1310, -1310, -1310,   149,   144, -1310,  1337, -1310, -1310,
    1602    -1310, -1310,   139,   935,   260,   102,  2892, -1310, -1310,  9196,
    1603      790, -1310, -1310, -1310,   904,   293,  5512,   547,   778,   904,
    1604     1166, -1310, -1310,   554,   624, -1310,   904,  1343, -1310,   187,
    1605    -1310,   308,   336, -1310, -1310, -1310, -1310,   251,   144,   101,
    1606    -1310,   101, -1310, -1310, -1310, -1310,  8923,  1337, -1310, -1310,
    1607     1337, -1310,   337, -1310,  9043, -1310, -1310,  1053,  9381, -1310,
    1608     1729,  1729,  1729, -1310, -1310, -1310,   101, -1310, -1310, -1310,
    1609      410,   413,   418, -1310, -1310, -1310,   433, -1310, -1310, -1310,
    1610    -1310, -1310,   468,   477, -1310, -1310,    37,  8666,  2607,   742,
    1611      369,   496,   509,   523,   530,   535,  8584,  6836,   536,   546,
    1612    -1310,  9234, -1310, -1310, -1310, -1310,   561, -1310,   245,  4633,
    1613     4633, -1310,   562,   361, -1310, -1310, -1310, -1310,   574,   383,
    1614      408,   429,   101,   577, -1310, -1310,   935,  3015,   664, -1310,
    1615       86, -1310,   101,   101,   144, -1310, -1310,    89, -1310,   101,
    1616      101, -1310,  3541,   634,   653,  1729,  6748, -1310, -1310,   623,
    1617     9158, -1310, -1310,   904, -1310, -1310, -1310,   144, -1310,  1337,
    1618      149, -1310,  7737, -1310,  1729,  1729,  1729,   144, -1310,  1152,
    1619    -1310,  5996, -1310, -1310,   642,  1729, -1310,  1729, -1310,    87,
    1620     8666, -1310,   672, -1310,   941,   697,  1729, -1310,  1152,   699,
    1621      702, -1310,  7548,   567, -1310, -1310, -1310,  9125, -1310, -1310,
    1622     4167, -1310,   664,    10,  5116,  9381,  1053,  3541, -1310,    94,
    1623    -1310, -1310,  9043,  1337,   715, 10741, -1310, -1310,    11, -1310,
    1624    10483,   740,   772, 10231,   759, 10288, 10307, -1310,   763, -1310,
    1625    -1310, -1310, -1310, 10364, 10364,  8440,   765, -1310, -1310, -1310,
    1626    -1310, -1310, -1310,   799, -1310,   616,  2256,  8779, 10288, -1310,
    1627      475,   860,   810,   276,   913,   766,   767,   793,   832,    41,
    1628    -1310, -1310,   807,   704, -1310,   331, -1310, -1310,  2607, -1310,
    1629    -1310,   242,   835, -1310,   421,   835,   841,    87, -1310, -1310,
    1630      846,  8923, -1310,   847,   857,  8892, -1310, -1310,  1352,  2069,
    1631     8155,  6748,   904, -1310,   904,  1729,  1729, -1310, -1310, -1310,
    1632    -1310, -1310, -1310,  1729,  8923,  1337, -1310, -1310,  9419,  1457,
    1633    -1310,  7886, -1310, -1310, -1310, -1310, -1310, -1310, -1310,   875,
    1634    10098, 10288, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1635    -1310, -1310, -1310, -1310, -1310, -1310,  1053, -1310,   928,   862,
    1636      891,   893,  1023,   916,   937,   951,  3015, -1310, -1310,   942,
    1637      149,   958, -1310, -1310,   970, -1310, -1310, -1310,  9125, -1310,
    1638    -1310, -1310, -1310, -1310,  3541, -1310,  8666,  8666, -1310,  1729,
    1639     1053,  6867,  1337,  8228, -1310, -1310, -1310, -1310,  9125,    10,
    1640    -1310, -1310,   904,   144, -1310, -1310,  9125, -1310,  6513, -1310,
    1641    -1310,  1729,  1729,   382,  5342,   969,   972,   960,  1031,  1729,
    1642    -1310, -1310, -1310, -1310,  9605, -1310,   450,  6629, -1310,   144,
    1643     1033, -1310,  1053, 10565, 10155, -1310, -1310, -1310, -1310,  1039,
    1644     3541, -1310,  8301,   664,  7432, -1310, -1310, -1310,   984,   626,
    1645      807,   941, 10741,   606,  9043, -1310, 10741, -1310, -1310, -1310,
    1646    -1310,   690, -1310,  1044,   772,   255,  8440, -1310,  9457, -1310,
    1647    -1310,  8440, -1310,  8553,  8440, -1310, -1310,  1042, -1310,   722,
    1648     1047,   818,  1048, -1310, -1310,  9310,  6479, -1310,   321, -1310,
    1649    -1310,  5116, -1310,   602,  5116, -1310, -1310, -1310, -1310, -1310,
    1650    -1310, -1310, -1310, -1310, -1310, -1310,  5116, -1310, -1310, 10288,
    1651    10288, 10288, 10288, 10288, 10288, 10288, 10288, 10288, 10288, 10288,
    1652    10288, 10288, 10288, 10288, 10288, 10288, 10288,  2426,  5116, -1310,
    1653      704,   830, -1310, -1310,   101,   101, -1310, -1310,  8666, -1310,
    1654    -1310,   970,   567, -1310,   970, 10212, -1310, -1310, -1310,  4524,
    1655     6479,  1049,  1054, -1310,  9381, -1310, -1310,   561, -1310,  1056,
    1656      774,  1073,  2515,    95,   807, -1310,   101,   101,   807,    98,
    1657    -1310,   101,   101,   970, -1310, -1310,   101,   101, -1310,   835,
    1658     9490,  1337, 10710,   283,   326,  9490, -1310,  4167, -1310,   807,
    1659    -1310,  8923, -1310,    80,  7852,  7852,  7852,  1337, -1310,  4787,
    1660     1065,   875,   744,  1066,  1067, -1310,  1070,  4633,   333, -1310,
    1661     1134,  1337,  7852,   567,  1053,   567,   664,   494,   835, -1310,
    1662    -1310,   584,   835, -1310, -1310, -1310,   772, -1310,   835,   144,
    1663     9605, -1310,   737,  1083,   750,  1090, -1310,  1089,   144, -1310,
    1664    -1310,  9125,   144,  1088,  9457,  1092, -1310,  1677, -1310,   441,
    1665      448,   941, -1310,   941,  1091, 10288, -1310,   941, 10710, -1310,
    1666    -1310,  1098, -1310, -1310, -1310,   567, -1310, 10638,   857, -1310,
    1667     7852,   853,  8155, -1310, -1310,   561,  1095,  1097,   984,  3316,
    1668    -1310, -1310, 10741, -1310, -1310,  1099, -1310, -1310,  1105, -1310,
    1669     1099,  1111, 10483,  5116,    62,  1102,   167,  1113,  1121,  1129,
    1670     1130, -1310,  1131,  1132,  9348,  6598, -1310,  5116, -1310,   818,
    1671      978, -1310, -1310, -1310,   101,   101,  5540,  5116,  1135, -1310,
    1672    -1310,   757, -1310,  5116, -1310, -1310,   914, -1310, -1310, -1310,
    1673    -1310,   475,   475,   860,   860,   810,   810,   810,   810,   276,
    1674      276,   913,   766,   767,   793,   832, 10288,   282, -1310,  9605,
    1675     1136,  1137,  1140,   830, -1310, -1310, -1310, -1310, -1310,  9605,
    1676      779,  7852, -1310,  8923, -1310,  6955,  9005, -1310,  7886,  6836,
    1677    -1310, -1310,   774,  9605,  1063,  1142,  1143,  1145,  1146,  1147,
    1678     1148,  1154, -1310,  3759,  2515, -1310, -1310, -1310, -1310, -1310,
    1679    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1680    -1310, -1310,   970, -1310, -1310, -1310,   807, -1310, -1310, -1310,
    1681    -1310, -1310, -1310, -1310, -1310,  1156, -1310,  1159,  1160, -1310,
    1682    -1310,   149,  1135,  4787, -1310, -1310, -1310, 10098,  1157, -1310,
    1683    -1310, -1310, -1310,   941,  6225,  1247, -1310, -1310, -1310, -1310,
    1684     1150,   149, -1310, -1310,   970, -1310, -1310,   970,   137,   970,
    1685    -1310, -1310, -1310, -1310, -1310, -1310,  9272, -1310,   144, -1310,
    1686    -1310,   451,   452,  9419,  7074,  2178, 10288,  3429, -1310, -1310,
    1687     1149,    39,  1149, -1310,   941, -1310,   101, -1310, -1310,  8073,
    1688      960, -1310, -1310, -1310,   972,  1168,  1169, -1310, -1310,  1170,
    1689     1172, -1310,   853,  1305, -1310,   359, -1310,  3316,   807, -1310,
    1690     1177, 10741,  9528,  8666,  1180, -1310, -1310,  1175,  1182,  1164,
    1691    -1310, 10288,    56,   233,  1179, -1310,  1183,   567,  1183, -1310,
    1692    -1310,  1183,  1184, -1310,  1189,  1190,  1192,   978, -1310, -1310,
    1693    -1310, 10098, -1310, -1310, -1310, -1310,  1188,  5116,  1193,   567,
    1694    -1310,  5116, -1310,   567, -1310, -1310,  5116, -1310,   595,   835,
    1695    -1310, -1310, -1310, -1310, -1310, -1310, -1310,   875,   857,  8892,
    1696    -1310, -1310,  7193,  1196, -1310,   622,   835, -1310,   644,   649,
    1697      835, -1310,  1729,  4053, -1310, -1310, -1310,  9605,  9605, -1310,
    1698     8228,  8228, -1310,  1194,  1195,  1198,  1199, -1310,  1200,   531,
    1699       27,  1135, -1310,   567, -1310,  4633, -1310,  5116,   453, -1310,
    1700     6359,  1213,  1217, 10041,  1222,  1223,    43,    49,   106,  5116,
    1701     1228,   144,  5116,  5116,  1208,  1237,   142,  1218, -1310, -1310,
    1702    -1310,  1236, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1703    -1310,   941,  1249,  5116, -1310,  9605,  9605,   101,  1252, -1310,
    1704     8810, -1310, -1310,   987, -1310,  3429, -1310, -1310, -1310, -1310,
    1705     1677, -1310, -1310,  1253, -1310, -1310, -1310, -1310,  1254,  1305,
    1706    -1310, -1310,  1239, -1310,  1099, -1310, -1310,  1053,  1258, -1310,
    1707    -1310, -1310,   806,  1262, -1310,   167,  1267, 10288,  1248,   167,
    1708      167,  1273,  9310,   693,   835, -1310, -1310,  1070,  5116,  1274,
    1709     1188,   208,   157,  1269, -1310, -1310,  1278,  1269, -1310, -1310,
    1710     1282, -1310, -1310,   970,  1286,  1288,  6717,  1287,  1289,  1291,
    1711    -1310, -1310,  1290, -1310, -1310,   970, -1310, -1310, -1310, -1310,
    1712      970,  5116,  5116,   857,  1292, -1310, -1310, -1310, -1310, -1310,
    1713    -1310, -1310, -1310, -1310, -1310, -1310, -1310, 10288, 10288,  1294,
    1714     1295,  1269, -1310, -1310,   941, -1310, -1310, -1310,  5073,  9528,
    1715     5116,  5116,  1370,  5116, -1310,  1298, -1310,  1299, -1310,  1302,
    1716     5116,  1306,  5116,  1123,  1307,    30,   101,  5821,  1435, -1310,
    1717    -1310,  6225,  1303,   456, -1310, -1310, -1310, -1310, -1310, -1310,
    1718    -1310, -1310, -1310,  9861, -1310,  8301,  1330, -1310, -1310,  9528,
    1719      463,   481, -1310,  1328,  1314,   772,  1341, -1310,   306, -1310,
    1720    -1310, -1310, -1310,   970,  1332, -1310, -1310,  1342,   753,   834,
    1721      567,  1345, -1310,  1350, -1310,  9605, -1310, -1310, -1310, -1310,
    1722    -1310,  1351, -1310,  9605,  9605,  9605, -1310, -1310,  1359, -1310,
    1723     1362,  1365,  1366,   557,  7925,  8040, -1310, -1310,   420, -1310,
    1724     1368,  1371, -1310,  8374,   815,   844,  1346,   866,  6094, -1310,
    1725    -1310, -1310,   485, -1310,   888,  1369,  1375,   144,  1417,  1051,
    1726    -1310, -1310,  5116, -1310, 10041,  5116, -1310, -1310, -1310,  1377,
    1727     1379, -1310, -1310, -1310,  1376, -1310, -1310, -1310, -1310, -1310,
    1728    -1310,  9528,   772,   195, -1310,  1353,   772,  9605, -1310, -1310,
    1729    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1730    -1310, -1310,  1384,  1388, -1310, -1310, -1310, -1310, -1310, -1310,
    1731    -1310,  1394, -1310,  1397, -1310, -1310, 10041,   217,  5116, 10041,
    1732    -1310,  1400,  5116, -1310,   289,  1421,  1423, -1310, -1310,  1403,
    1733     1415,  1393, -1310,  1001, -1310, -1310, -1310,  1337,  1053,  1412,
    1734      799,   323, 10288, -1310,   953, -1310,   567,   567,  1418,  1425,
    1735     1426,  1428, -1310, -1310,  8228,  1427, -1310,  1497, 10288,  1420,
    1736    -1310, -1310,  9953, -1310,   955, -1310,  1419, 10041,  1424, -1310,
    1737    -1310,  1442, -1310,  1445, -1310,  1461,  1462, -1310,  1430,  9528,
    1738    -1310, -1310, -1310,   772,   567,  1453,  1436,  1459,  1269,  1269,
    1739    -1310, -1310, -1310, -1310, -1310, 10041,   204, -1310,   370, -1310,
    1740    -1310,  3684, -1310, -1310,  1439,  5116, -1310,  5116,  3684,   144,
    1741     9457,   144,  9457,  1463, -1310,  1465, -1310, -1310,  1464,   799,
    1742    -1310,   968, -1310, -1310, -1310,  1460,  1466, -1310, 10288, 10288,
    1743    -1310, -1310,  1075,   122, -1310, -1310,  1444, -1310,  1075, -1310,
    1744    -1310,  2191,   567, -1310, -1310,   144,  9457,   144,  9457,  1472,
    1745     1450,   567, -1310, -1310, -1310, -1310,  9953,  1469,  1075,  7664,
    1746     5116,  9865,  1470,  1075,  1479,  2191,  3509, -1310, -1310, -1310,
    1747     1482, -1310, -1310, -1310, -1310,  8666, -1310, -1310, -1310,  9732,
    1748    -1310,  9953, -1310, -1310,  1468,  9644, -1310, -1310,  9865,   144,
    1749     3509,   144,  1484,  1486,   976, -1310,  9732, -1310, -1310, -1310,
    1750     9644, -1310, -1310, -1310,   144,   144, -1310, -1310, -1310, -1310,
    1751    -1310, -1310, -1310, -1310
     1595    4857,  9883, -1414,    35, -1414, -1414, -1414, -1414, -1414, -1414,
     1596   -1414,   142, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1597   -1414, -1414, -1414, -1414, -1414, -1414,    98,    98,    98,  1334,
     1598     684,   153,  7496,   290, -1414, -1414, -1414, -1414, -1414,   204,
     1599   -1414, -1414, -1414, -1414,   901,   229, -1414, -1414, -1414, -1414,
     1600    9565, -1414, -1414, -1414, -1414,   -15,   301, -1414,  1624, -1414,
     1601   -1414, -1414, -1414,   302,  1806,   471,   143,  7613, -1414, -1414,
     1602    9603,  1367, -1414, -1414, -1414,  1721,   510,  3394,  1032,  1137,
     1603    1721,  1303, -1414, -1414,  1174,  1520, -1414,  1721,  1532, -1414,
     1604     385, -1414,   421,   523, -1414, -1414, -1414, -1414,   460,   301,
     1605      98, -1414,    98, -1414, -1414, -1414, -1414, 10414,  1624, -1414,
     1606   -1414,  1624, -1414,   447, -1414, 10444, -1414, -1414,  2082, 10554,
     1607   -1414,   399,   399,   399, -1414, -1414, -1414,    98, -1414, -1414,
     1608   -1414,   544,   555,   575, -1414, -1414, -1414,   617, -1414, -1414,
     1609   -1414, -1414, -1414,   621,   629, -1414, -1414,    11,  9069,  3253,
     1610     578,   492,   499,   631,   635,   642,   647,  9853,  7015,   649,
     1611     656, -1414,  9713, -1414, -1414, -1414, -1414,   661, -1414,   193,
     1612    3453,  3453, -1414,   667,   251, -1414, -1414, -1414, -1414,   692,
     1613     327,   346,   368,    98,   673, -1414, -1414,  1806,  3136,   748,
     1614   -1414,    12, -1414,    98,    98,   301, -1414, -1414,    75, -1414,
     1615      98,    98, -1414,  3167,   711,   722,   399,  6806, -1414, -1414,
     1616     726,  9565, -1414, -1414,  1721, -1414, -1414, -1414,   301, -1414,
     1617    1624,   -15, -1414,  7963, -1414,   399,   399,   399,   301, -1414,
     1618    1334, -1414,  5769, -1414, -1414,   709,   399, -1414,   399, -1414,
     1619     204,  9069, -1414,   763, -1414,   684,   765,   399, -1414,  1334,
     1620     750,   766, -1414,  7496,   705, -1414, -1414, -1414,  9532, -1414,
     1621   -1414, 10864, -1414,   748,    63,  6244, 10554,  2082,  3167, -1414,
     1622      85, -1414, -1414, 10444,  1624,   804,  7644, -1414, -1414,   319,
     1623   -1414, 11778,   782,   851,  4657,   828,  4994, 11639, -1414,   839,
     1624   -1414, -1414, -1414, -1414, 11658, 11658,  8841,   844, -1414, -1414,
     1625   -1414, -1414, -1414, -1414,   869, -1414,   759,  2440,  9183,  4994,
     1626   -1414,   593,   571,   645,   313,   861,   842,   858,   843,   911,
     1627     -20, -1414, -1414,   876,   326, -1414,    83, -1414, -1414,  3253,
     1628   -1414, -1414,   139,   900, -1414,   422,   900,   905,   204, -1414,
     1629   -1414,   909, 10414, -1414,   912,   917,  9297, -1414, -1414,  1382,
     1630    2358,  8427,  6806,  1721, -1414,  1721,   399,   399, -1414, -1414,
     1631   -1414, -1414, -1414, -1414,   399, 10414,  1624, -1414, -1414, 10584,
     1632    1776, -1414, 10304, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1633     936, 11446,  4994, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1634   -1414, -1414, -1414, -1414, -1414, -1414, -1414,  2082, -1414,   836,
     1635     947,   962,   963,   923,   965,   970,   972,  3136, -1414, -1414,
     1636     959,   -15,   975, -1414, -1414,   978, -1414, -1414, -1414,  9532,
     1637   -1414, -1414, -1414, -1414, -1414,  3167, -1414,  9069,  9069, -1414,
     1638     399,  2082,  6926,  1624,  8543, -1414, -1414, -1414, -1414,  9532,
     1639      63, -1414, -1414,  1721,   301, -1414, -1414,  9532, -1414,  6689,
     1640   -1414, -1414,   399,   399,   271, 10023,   907,   977,   960,   988,
     1641     399, -1414, -1414, -1414, -1414, 10980, -1414,   500,  6556, -1414,
     1642     301,   990, -1414,  2082, 11860, 11504, -1414, -1414, -1414, -1414,
     1643     935,  3167, -1414,  8659,   748,  6228, -1414, -1414, -1414,  1482,
     1644     550,   876,   684,  7644,  1180, 10444, -1414,  7644, -1414, -1414,
     1645   -1414, -1414,   561, -1414,   997,   851,   -13,  8841, -1414, 10694,
     1646   -1414, -1414,  8841, -1414,  8955,  8841, -1414, -1414,   996, -1414,
     1647     585,  1003,   455,  1017, -1414, -1414,  9993,  6037, -1414,   419,
     1648   -1414, -1414, 11562, -1414,   469, 11562, -1414, -1414, -1414, -1414,
     1649   -1414, -1414, -1414, -1414, -1414, -1414,  6244,  6244, -1414, -1414,
     1650    4994,  4994,  4994,  4994,  4994,  4994,  4994,  4994,  4994,  4994,
     1651    4994,  4994,  4994,  4994,  4994,  4994,  4994,  4994,  3735,  6244,
     1652   -1414,   326,  1049, -1414, -1414,    98,    98, -1414, -1414,  9069,
     1653   -1414, -1414,   978,   705, -1414,   978, 11581, -1414, -1414, -1414,
     1654    3645,  6037,  1016,  1018, -1414, 10554, -1414, -1414,   661, -1414,
     1655    1020,  1157,  1025,  2611,    95,   876, -1414,    98,    98,   876,
     1656     134, -1414,    98,    98,   978, -1414, -1414,    98,    98, -1414,
     1657     900, 10724,  1624, 12005,    69,   227, 10724, -1414, 10864, -1414,
     1658     876, -1414, 10414, -1414,   218,  8079,  8079,  8079,  1624, -1414,
     1659    5555,  1012,   260,   936,   778,  1021,  1024, -1414,  1026,  3453,
     1660     343, -1414,  1115,  1624,  8079,   705,  2082,   705,   748,   534,
     1661     900, -1414, -1414,   596,   900, -1414, -1414, -1414,   851, -1414,
     1662     900,   301, 10980, -1414,   687,  1042,   700,  1043, -1414,  1044,
     1663     301, -1414, -1414,  9532,   301,  1041, 10694,  1045, -1414,  2066,
     1664   -1414,   408,   416,   684, -1414,   684,  1047,  4994, -1414,   684,
     1665   12005, -1414, -1414,  1053, -1414, -1414, -1414,   705, -1414, 11933,
     1666     917, -1414,  8079,   489,  8427, -1414, -1414,   661,  1055,  1056,
     1667    1482,  3284, -1414, -1414,  7644, -1414, -1414,  1038, -1414, -1414,
     1668    1064, -1414,  1038,  1070, 11778,  6244,    93,  1051,   138,  1074,
     1669    1058,  1075,   844,  1069,  1077, -1414,  1079,  1081, 10133,  6775,
     1670   -1414,  6244, -1414,   455,  1974, -1414, -1414, -1414,    98,    98,
     1671    6104,  6244,  1076, -1414, -1414,   936,   707, -1414,  6244, -1414,
     1672   -1414,   677, -1414, -1414, -1414, -1414, -1414,   593,   593,   571,
     1673     571,   645,   645,   645,   645,   313,   313,   861,   842,   858,
     1674     843,   911,  4994,   847, -1414, 10980,  1083,  1084,  1088,  1049,
     1675   -1414, -1414, -1414, -1414, -1414, 10980,   717,  8079, -1414, 10414,
     1676   -1414,  7135,  9411, -1414, 10304,  7015, -1414, -1414,  1157, 10980,
     1677     945,  1089,  1090,  1095,  1096,  1099,  1100,  1105, -1414,  4392,
     1678    2611, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1679   -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414,   978, -1414,
     1680   -1414, -1414,   876, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1681   -1414,  1112, -1414,  1113,  1118, -1414, -1414,   -15,  1076,  5555,
     1682   -1414, -1414, -1414, 11446,  1116, -1414, -1414, -1414, -1414, -1414,
     1683     684,  6369,  1201, -1414, -1414, -1414, -1414,  1103,   -15, -1414,
     1684   -1414,   978, -1414, -1414,   978,   126,   978, -1414, -1414, -1414,
     1685   -1414, -1414, -1414,  9743, -1414,   301, -1414, -1414,   438,   452,
     1686   10584,  7255,  2372,  4994,  2870, -1414, -1414,  1127,    39,  1127,
     1687   -1414,   684, -1414,    98, -1414, -1414, 10163,   960, -1414, -1414,
     1688   -1414,   977,  1143,  1131, -1414, -1414,  1150,  1153, -1414,   489,
     1689    1995, -1414,   363, -1414,  3284,   876, -1414,  1160,  7644, 10834,
     1690    9069,  1161, -1414, -1414,  1151,  1162,  1156, -1414,  4994,   120,
     1691     279,  1163, -1414,  1166,   705,  1166,  6037,  6244, -1414, -1414,
     1692    1166,  1165, -1414,  1176,  1182,  1185,  1974, -1414, -1414, -1414,
     1693   11446, -1414, -1414, -1414, -1414,  1168,  6244,  1188,   705,  5555,
     1694   -1414, 11562, -1414,   705, -1414, -1414,  6244, -1414,   614,   900,
     1695   -1414, -1414, -1414, -1414, -1414, -1414, -1414,   936,   917,  9297,
     1696   -1414, -1414,  7375,  1187, -1414,   758,   900, -1414,   785,   797,
     1697     900, -1414,   399,  5912, -1414, -1414, -1414, 10980, 10980, -1414,
     1698    8543,  8543, -1414,  1186,  1189,  1191,  1199, -1414,  1206,   439,
     1699     119,  1076, -1414,   705, -1414,  3453, -1414,  6244,   480, -1414,
     1700    6655,  1211,  1212, 11388,  1213,  1217,    -6,    58,   117,  6244,
     1701    1221,   301,  6244,  6244,  1215,  1222,   610,  1203, -1414, -1414,
     1702   -1414,  1218, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1703   -1414,   684,  1226,  6244, -1414, 10980, 10980,    98,  1228, -1414,
     1704   10273, -1414, -1414,   864, -1414,  2870, -1414, -1414, -1414, -1414,
     1705    2066, -1414, -1414,  1230, -1414, -1414, -1414, -1414,  1231,  1995,
     1706   -1414, -1414,  1223, -1414,  1038, -1414, -1414,  2082,  1235, -1414,
     1707   -1414, -1414,   744,  1237, -1414,   138,  1245,  4994,  1232,   138,
     1708     138,  1250,  1246, -1414,  9993,   825,   900, -1414, -1414,  1026,
     1709    6244,  1251,  1168,   536,   161,  1261, -1414,  1246, -1414,  1254,
     1710    1261, -1414, -1414,  1257, -1414, -1414,   978,  1270,  1271,  6895,
     1711    1272,  1275,  1280, -1414, -1414,  1283, -1414, -1414,   978, -1414,
     1712   -1414, -1414, -1414,   978,  6244,  6244,   917,  1282, -1414, -1414,
     1713   -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1714    4994,  4994,  1284,  1286,  1261, -1414, -1414,   684, -1414, -1414,
     1715   -1414,  5291, 10834,  6244,  6244,  1335,  6244, -1414,  1263, -1414,
     1716    1267, -1414,  1281,  6244,  1288,  6244,  1039,  1290,    28,    98,
     1717    5165,   856, -1414, -1414,  6369,  1287,   488, -1414, -1414, -1414,
     1718   -1414, -1414, -1414, -1414, -1414, -1414, 11206, -1414,  8659,  1304,
     1719   -1414, -1414, 10834,   490,   498, -1414,  1301,  1306,   851,  1317,
     1720   -1414,   418, -1414, -1414,  6244,  1316, -1414, -1414,   978,  1314,
     1721   -1414, -1414,  1318,   589,   691,   705,  1320,  1322, -1414,  1329,
     1722   -1414, 10980, -1414, -1414, -1414, -1414, -1414,  1330, -1414, 10980,
     1723   10980, 10980, -1414, -1414,  1332, -1414,  1333,  1336,  1339,   517,
     1724    8195,  8311, -1414, -1414,   123, -1414,  1343,  1348, -1414,  8775,
     1725     755,   768,  1342,   770,  6525, -1414, -1414, -1414,   508, -1414,
     1726     777,  1352,  1353,   301,  1403,   933, -1414, -1414,  6244, -1414,
     1727   11388, 11562, -1414, -1414, -1414,  1359,  1364, -1414, -1414, -1414,
     1728    1363, -1414, -1414, -1414, -1414, -1414, -1414, 10834,   851,   273,
     1729   -1414,  1347,   851,  1168,   268, 10980, -1414, -1414, -1414, -1414,
     1730   -1414, -1414, -1414, -1414,  1365, -1414, -1414, -1414, -1414, -1414,
     1731   -1414,  1368,  1371, -1414, -1414, -1414, -1414, -1414, -1414, -1414,
     1732    1375, -1414,  1374, -1414, -1414, 11388,    91,  6244, 11388, -1414,
     1733    1385,  6244, -1414,   288,  1402,  1405, -1414, -1414,  1390,  1393,
     1734    1376, -1414,   882, -1414, -1414, -1414,  1624,  2082,  1388,   869,
     1735     884,  4994, -1414,   803,  1394,  6244, -1414,   705,   705,  1399,
     1736    1406,  1407,  1409, -1414, -1414,  8543,  1397, -1414,  1473,  4994,
     1737    1404, -1414, -1414, 11299, -1414,   811, -1414,  1395, 11388,  1401,
     1738   -1414, -1414,  1410, -1414,  1412, -1414,  1433,  1441, -1414,  1415,
     1739   10834, -1414, -1414, -1414,   851,   705,  1429,  1417,  1436, -1414,
     1740    1446,  1261,  1261, -1414, -1414, -1414, -1414, -1414, 11388,   278,
     1741   -1414,   910, -1414, -1414,  7730, -1414, -1414,  1435,  6244, -1414,
     1742    6244,  7730,   301, 10694,   301, 10694,  1462, -1414,  1463, -1414,
     1743   -1414,  1460,   869, -1414,   812, -1414, -1414,  6244, -1414,  1465,
     1744    1466, -1414,  4994,  4994, -1414, -1414,  1007,    37, -1414, -1414,
     1745    1447, -1414,  1007, -1414, -1414,  2485,   705, -1414, -1414,   301,
     1746   10694,   301, 10694,  1472,  1450,   705, -1414, -1414, -1414, -1414,
     1747   -1414, 11299,  1468,  1007,  7847,  6244, 11210,  1475,  1007,  1477,
     1748    2485,  2994, -1414, -1414, -1414,  1495, -1414, -1414, -1414, -1414,
     1749    9069, -1414, -1414, -1414, 11077, -1414, 11299, -1414, -1414,  1476,
     1750   10984, -1414, -1414, 11210,   301,  2994,   301,  1502,  1506,   813,
     1751   -1414, 11077, -1414, -1414, -1414, 10984, -1414, -1414, -1414,   301,
     1752     301, -1414, -1414, -1414, -1414, -1414, -1414, -1414, -1414
    17521753};
    17531754
     
    17551756static const yytype_int16 yypgoto[] =
    17561757{
    1757    -1310,  4585,  3220, -1310,  1680, -1310,    79,   965,  -162, -1310,
    1758      542,  -525,  -472,  -928,   -58,  5006,     0, -1310,   115,   571,
    1759      588,   220,   578,  1041,  1045,  1037,  1040,  1043, -1310,   682,
    1760     -568,  4467,  -949, -1310,  -743,   627,  -136,  -680,   399, -1310,
    1761      364, -1310,   400, -1052, -1310, -1310,   143, -1310, -1280, -1058,
    1762      249, -1310, -1310, -1310, -1310,    74, -1199, -1310, -1310, -1310,
    1763    -1310, -1310, -1310,   317, -1213,    36, -1310,  -398, -1310,   501,
    1764      296, -1310,   175, -1310,  -322, -1310, -1310, -1310,   558,  -827,
    1765    -1310, -1310,    14,  -963,    60,  1949, -1310, -1310, -1310,   -66,
    1766    -1310,    19,  1219,  -202,  1852,  4238, -1310, -1310,    54,    75,
    1767      689,  -242,  1416, -1310,  1975, -1310, -1310,   158,  2131, -1310,
    1768     2701,  1038, -1310, -1310, -1310,  -621, -1310,   944,   946,   541,
    1769      713,  -254, -1310, -1310, -1310,   938,   714,  -169, -1310,  -117,
    1770     -134,  1167, -1310, -1310,  -857,  -878,   837,   910,  1055,    25,
    1771    -1310,   900,   597,   -39,  -190,  -145,   668,   773, -1310,   993,
    1772    -1310,  2728,  1561,  -434,   920, -1310, -1310,   708, -1310,  -238,
    1773    -1310,   241, -1310, -1310, -1310, -1226,   414, -1310, -1310, -1310,
    1774     1165, -1310,    35, -1310, -1310,  -830,  -111, -1309,  -151,  3288,
    1775    -1310,  3069, -1310,   921, -1310,  -170,   169,  -182,  -181,  -166,
    1776        7,   -35,   -33,   -32,   813,     2,    29,    44,  -122,  -165,
    1777     -164,  -158,  -153,  -314,  -519,  -491,  -490,  -538,  -301,  -501,
    1778    -1310, -1310,  -512,  1078,  1084,  1085,  2540,  5063,  -571,  -588,
    1779     -558,  -543,  -557, -1310,  -503,  -733,  -723,  -722,  -570,  -311,
    1780     -274, -1310, -1310,   240,   176,   -77, -1310,  3991,   136,  -632,
    1781     -222
     1758   -1414,  4377,  3077, -1414,  1645, -1414,   305,   958,   -11, -1414,
     1759     552,  -530,  -487,  -944,  -142,  3604,     0, -1414,  1277,   511,
     1760     529,   298,   549,  1057,  1060,  1054,  1062,  1065, -1414,  -211,
     1761    -327,  5116,  -961,  -725,  -952, -1414,  -200,  -594,   572, -1414,
     1762    1379, -1414,   397, -1413, -1414, -1414,   129, -1414, -1160,  -935,
     1763     246, -1414, -1414, -1414, -1414,    68, -1131, -1414, -1414, -1414,
     1764   -1414, -1414, -1414,   321, -1152,    33, -1414,  -696, -1414,   506,
     1765     296, -1414,   169, -1414,  -339, -1414, -1414, -1414,   558,  -728,
     1766   -1414, -1414,    19,  -974,   177,  2303, -1414, -1414, -1414,   -91,
     1767   -1414,   166,   269,  -194,  1705,  3615, -1414, -1414,    36,   224,
     1768     628,  -235,  1694, -1414,  1557, -1414, -1414,   200,  2163, -1414,
     1769    2278,   185, -1414, -1414, -1414,  -607, -1414,   956,   957,   545,
     1770     725,  -320, -1414, -1414, -1414,   950,   719,  -493, -1414,  -472,
     1771    -355,  1296, -1414, -1414,  -899,  -946,   440,   524,  1067,   168,
     1772   -1414,  1040,   317,  -281,  -198,  -141,   672,   781, -1414,  1005,
     1773   -1414,  2834,    55,  -450,   932, -1414, -1414,   712, -1414,  -228,
     1774   -1414,   104, -1414, -1414, -1414, -1285,   420, -1414, -1414, -1414,
     1775    1178, -1414,    31, -1414, -1414,  -862,   -94, -1364,  -152,  1641,
     1776   -1414,  3733, -1414,   927, -1414,  -170,   493,  -184,  -183,  -181,
     1777       7,   -42,   -36,   -33,  1610,     4,    10,    14,  -143,  -177,
     1778    -172,  -162,  -161,  -319,  -513,  -508,  -498,  -547,  -310,  -528,
     1779   -1414, -1414,  -511,  1101,  1102,  1110,  1575,  4802,  -565,  -560,
     1780    -559,  -541,  -551, -1414,  -506,  -744,  -736,  -732,  -593,  -267,
     1781    -227, -1414, -1414,   624,   294,   -85, -1414,  3753,    44,  -634,
     1782    -173
    17821783};
    17831784
     
    17851786   positive, shift that token.  If negative, reduce the rule which
    17861787   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1787 #define YYTABLE_NINF -521
     1788#define YYTABLE_NINF -526
    17881789static const yytype_int16 yytable[] =
    17891790{
    1790       49,   114,   453,   428,   399,   400,   268,    98,   150,   766,
    1791      151,   152,   819,   973,   868,   115,   964,   407,   752,    63,
    1792      401,   402,   403,   358,   383,   384,   965,   966,   404,   261,
    1793      440,   827,    49,   405,   596,   604,    50,   410,   498,    98,
    1794      357,   740,   820,   148,  1070,   153,   830,  1069,   609,    49,
    1795      844,    63,   837,   948,    69,  1137,   162,   821,   725,   794,
    1796       56,   116,   730,   187,   826,   408,   210,   144,    50,    49,
    1797      194,   919,   154,   217,   409,    70,   227,  1187,    31,   342,
    1798      112,   815,   178,   220,   399,   400,    69,   155,   281,  1439,
    1799      628,   425,    56,  1302,   632,  1379,   669,   407,   123,   818,
    1800      401,   402,   403,  1204,  1205,  1181,   114,    70,   404,   816,
    1801      817,   475,   477,   405,   114,  1195,   678,   267,   272,   476,
    1802      505,  1197,  1443,  1177,   682,    31,   211,   923,    31,   221,
    1803      203,   124,   262,    31,    31,   263,   566,    31,   527,   493,
    1804       31,   213,   494,  1171,   527,   408,   282,   307,   148,  1178,
    1805      411,   150,   145,   151,   152,   162,   114,   345,    77,   519,
    1806     1439,   210,  1303,  1169,  1170,  1117,  -231,  -231,   373,    97,
    1807      567,   714,   964,   143,   720,  1196,   107,   107,  1199,  1245,
    1808      204,  1198,   965,   966,   913,   167,   187,   187,   153,   476,
    1809       77,   471,   949,  1458,   162,   253,   147,   411,   419,   815,
    1810      411,    97,   267,   481,   828,   411,   601,   835,   107,   601,
    1811       49,   568,   149,  1186,   287,   154,  1443,   162,    97,   527,
    1812      667,  1443,   210,  1200,   819,    41,    42,   816,   817,   443,
    1813      155,   150,   190,   151,   152,    97,   664,  -231,    97,  1484,
    1814      307,  1443,  1248,  1139,   439,   107,   156,  1077,  1443,   292,
    1815      167,   514,    49,  1016,   820,   182,   169,   830,   172,    98,
    1816      272,  1398,  1399,   202,   588,   272,   267,   267,   723,   821,
    1817     1249,    63,   114,  1512,   162,  1514,   472,   527,   951,  1080,
    1818      170,   991,   441,   327,   665,   656,  1015,   463,    50,   164,
    1819      672,   674,  1093,   815,   342,   307,  -287,   442,   483,   358,
    1820     1468,   609,  1526,   248,  1382,   500,    69,   307,   251,   596,
    1821      664,  1003,    56,   671,   596,   804,   357,    97,  -119,   676,
    1822     -119,   816,   817,   571,  -119,  1187,  1178,    70,   148,  1541,
    1823       97,  1400,   465,  1398,  1399,   373,  -516,   527,  1084,  -119,
    1824     -119,   114,   734,  1118,   819,   345,   436,  1171,   713,   602,
    1825      620,   579,   471,   411,   164,   398,   190,   853,   665,   898,
    1826      253,   377,   827,  1119,   625,   735,   556,   557,   625,  1201,
    1827      519,   114,   471,   178,   820,   519,   327,   378,   519,    97,
    1828      471,  1070,   831,  1116,  1069,   736,   834,   673,   675,   821,
    1829      629,    97,   358,   111,   633,   847,   267,  1171,   747,   848,
    1830      510,   558,   559,  1409,    41,    42,   187,   851,   436,   357,
    1831       77,   854,   986,   373,  1496,    77,  1325,  1169,  1170,   174,
    1832     1501,    97,   547,   548,   267,   213,   307,   307,   107,   844,
    1833      267,   787,   759,   625,   714,   479,  1326,   472,   849,  1423,
    1834     1521,   577,   850,   167,   870,  1528,   642,   578,   342,  1525,
    1835      435,  1157,  1159,  1424,   114,   729,   358,   472,  1428,  1429,
    1836      547,  1362,   254,   871,  1126,   472,   859,   860,   264,  1536,
    1837      447,   849,   267,   357,   742,  1100,  1540,   387,  1187,   330,
    1838      267,   598,   625,   877,    49,  1187,  1469,   373,   719,   460,
    1839      498,    98,   683,   388,   114,  1244,   547,    97,   578,   390,
    1840     1470,   711,   869,    63,   888,   881,   307,  1104,   114,  1135,
    1841     1014,   307,   435,   307,   307,   391,  1171,   910,   603,   -10,
    1842       50,   750,  -440,   609,   392,   114,   345,  -441,  1016,   996,
    1843      582,  -467,   411,  -467,   804,   523,  1187,  1434,    69,   798,
    1844      393,   931,   277,   879,    56,   394,   112,   164,   213,  1236,
    1845     -467,     2,   207,     4,     5,     6,     7,   914,   417,    70,
    1846      704,   395,   327,   327,   916,   912,   705,   914,   916,  1184,
    1847      571,   571,  1184,   915,   952,   190,    77,   279,   307,  1316,
    1848      917,   437,  1126,  1081,  1082,  1185,   280,   913,  1308,   625,
    1849      345,   445,   549,   714,   620,  1317,    77,  1318,   550,   551,
    1850      602,   747,   602,   882,    77,   411,   331,   760,  1360,  1276,
    1851     1277,   713,   765,  1319,  1474,   471,    35,  1363,    36,   332,
    1852      625,  1474,   804,  1014,  1019,   625,   111,   620,   140,   239,
    1853      327,   625,   994,   333,   625,   625,   625,    41,    42,   111,
    1854      334,   928,    77,  -102,   806,   335,   846,  -102,   371,   327,
    1855       41,    42,   625,    97,   267,   372,  1087,   603,  1087,   520,
    1856      107,   465,   861,   240,   768,   769,   770,   342,   241,  1348,
    1857      376,  1027,  1522,  1349,   111,   358,   876,   385,   111,    -3,
    1858      140,   141,  1408,   389,   114,    41,    42,   907,   596,    41,
    1859       42,  1074,   357,   885,   691,   411,   111,   442,   140,   141,
    1860      472,   528,   529,   530,  1141,  1112,   411,    41,    42,   397,
    1861      625,   933,   620,   764,   327,   726,  1101,  1234,   719,   719,
    1862      727,  1238,  1034,   399,   400,   531,   472,   532,   409,   533,
    1863      534,  1153,   878,   411,   880,   432,   721,   407,   244,   401,
    1864      402,   403,   722,   426,   114,   345,   523,   404,   523,   750,
    1865      750,   523,   405,  1156,   523,   601,   845,   500,  1158,   230,
    1866      601,   598,   427,   231,   711,  1476,   235,  1477,   237,   814,
    1867      713,   603,   964,   213,   450,   246,   775,   776,   777,   778,
    1868     1373,  -288,   965,   966,   927,   408,  -364,   213,     8,     9,
    1869       10,    11,    12,   571,     2,   207,     4,     5,     6,     7,
    1870      731,   625,  1241,   625,   411,   999,   732,   680,   625,   345,
    1871     1161,  -393,   602,   570,  1425,   411,   111,    31,   140,   141,
    1872     1523,    45,    46,   229,   602,   111,   342,    41,    42,   484,
    1873     1436,   461,   746,   706,   462,   714,    41,    42,   747,    77,
    1874        8,     9,    10,    11,    12,    34,    37,   892,   804,   504,
    1875       40,   253,   329,   747,   292,   864,   911,    41,    42,    35,
    1876      894,    36,   163,   806,  1330,    77,   747,   980,   508,    31,
    1877      520,   972,   513,   981,   307,   520,   195,   525,   520,   218,
    1878      213,   527,   228,   812,   562,   601,  1168,   814,   603,   993,
    1879     1182,    45,    46,    63,   563,   705,   625,    34,   554,   555,
    1880     1494,  1436,   230,   114,   345,   907,   111,   907,     2,   207,
    1881        4,     5,     6,     7,   714,   664,  1232,    41,    42,   114,
    1882      910,   564,   578,   711,   691,  1356,   565,   749,    69,   411,
    1883      142,   747,   933,   933,    56,    45,    46,   719,   568,   570,
    1884       37,   411,   114,   307,    40,  1332,   338,    45,    46,    70,
    1885     -437,    41,    42,   952,  1357,   586,  1105,   952,   952,   589,
    1886      747,   163,   932,   665,   601,    48,   113,   750,   912,    -3,
    1887       45,    46,   657,    35,   374,    36,  1359,    43,  1508,   552,
    1888      553,   814,   747,   242,   245,    45,    46,   638,     8,     9,
    1889       10,    11,    12,   603,   113,   113,  1227,    48,  1364,   345,
    1890      163,   658,  1106,   659,   747,   560,   561,    37,    48,   184,
    1891      185,    40,   713,   111,    48,   140,   141,    31,    41,    42,
    1892      625,   625,    48,   163,    41,    42,   661,  1126,    48,   984,
    1893      981,    48,    77,   890,    48,   444,  1121,   253,   329,   411,
    1894      307,   230,   897,   235,   186,    34,   899,   662,   113,   113,
    1895      107,   666,    45,    46,  1284,  1285,    37,  1287,  1132,   472,
    1896       40,   663,  1132,  1426,  1292,  1444,  1294,    41,    42,  1423,
    1897      668,   747,    48,  1323,  1083,    48,   911,   442,  1490,   327,
    1898      114,   258,    48,   692,  1491,   907,  1546,   749,   693,   411,
    1899      907,   695,   578,   718,  1189,    45,    46,   329,   411,   933,
    1900       56,    45,    46,   737,   215,   738,   603,   267,   739,  1369,
    1901     1370,   743,  1132,    48,   547,    70,  1418,   981,   107,  1398,
    1902     1399,    48,   625,   771,   772,    37,    48,   184,   185,    40,
    1903      342,   230,   419,   660,   411,   845,    41,    42,   779,   780,
    1904     1351,   374,   773,   774,   457,   697,   345,  -235,   481,   329,
    1905      411,    48,    48,   733,   744,   510,   215,   748,   756,   691,
    1906     1380,   807,   266,   873,  1380,   711,   808,    48,   811,  -289,
    1907       45,    46,   828,   329,   601,    48,     8,     9,    10,    11,
    1908       12,  1295,  1296,  1297,    48,   822,   867,    48,   272,   114,
    1909     1331,  1333,  1334,   893,   113,   -12,   -13,   866,    77,   215,
    1910      895,   896,   900,   220,   903,    31,   921,   114,  -414,   113,
    1911     -520,   307,   936,   113,   943,   722,   107,    48,   113,   374,
    1912      117,   945,  1404,   956,   130,   625,   131,   132,   133,   114,
    1913       63,    48,    48,    34,   950,    41,    42,   957,    48,   958,
    1914      959,   960,   961,  1105,   711,    48,   988,   989,   211,   221,
    1915      990,   977,  1005,  1006,   911,  1007,  1008,  1009,  1010,   911,
    1916      215,  1459,  1079,   213,  1011,    69,  1022,  1421,   160,  -402,
    1917     -401,    56,  1036,  1058,   625,   625,  1071,  1534,  1094,   906,
    1918      644,  1073,  1096,   272,  1097,  1095,    70,  1103,   307,  1106,
    1919     1113,   747,  1114,    48,  1115,  1120,  1122,   971,   215,  1123,
    1920     1124,   702,  1125,   215,  1128,  1131,  1151,   472,  1174,  1175,
    1921     1172,  1173,  1176,    48,    48,     8,     9,    10,    11,    12,
    1922      691,   114,  1190,   399,   400,   259,  1191,  1132,  1132,  1132,
    1923       48,  1193,  1194,   160,    48,  1105,   407,  1202,  1206,   401,
    1924      402,   403,  1189,   441,    31,   643,  -290,   404,    56,  1207,
    1925     1209,    -3,   405,     8,     9,    10,    11,    12,   442,  1214,
    1926      664,    48,  1219,    70,  1224,   107,   323,   493,  1222,    77,
    1927     1507,    48,    34,  1228,   703,   339,  1233,   922,   267,  1235,
    1928     1237,  1106,    31,  1240,   408,  1250,  1246,   107,   215,    48,
    1929     1252,   724,  1254,   728,   625,    48,  1256,    48,  1257,  1258,
    1930     1262,  1259,  1420,  1260,  1269,   107,  1278,  1279,   665,    37,
    1931       34,   175,   176,    40,   932,  1203,   601,  1286,  1307,   114,
    1932       41,    42,    45,    46,    37,   430,   175,   176,    40,   434,
    1933     1289,  1290,   113,  1105,  1291,    41,    42,    48,  1293,  1301,
    1934     1314,   114,  1192,  1320,  1322,    48,    77,  1328,   114,    48,
    1935      114,  1324,   114,    48,  1329,  1358,   113,  1335,   113,   323,
    1936      472,   372,  1336,  1338,   107,  1132,  1132,   472,   985,   215,
    1937      150,  1344,   151,   152,  1345,  1346,  1347,  1297,  1365,  1106,
    1938     1354,  1506,   214,  1355,  1366,  1383,   114,  1374,   114,  1375,
    1939     1376,   434,   233,   113,   488,  1189,  1392,   107,   113,   114,
    1940     1393,    56,  1189,  1460,  -403,  1506,  1506,   702,    56,  1396,
    1941     1407,   215,  1415,   162,   521,   307,    70,  1411,   472,  1413,
    1942      528,   529,   530,    70,  1416,  1417,   160,  1422,  1430,    37,
    1943     1506,   175,   176,    40,   214,  1431,  1432,   373,  1433,  1435,
    1944       41,    42,   865,  1349,   531,  1029,   532,   113,   533,  1305,
    1945     1440,  1445,  1449,  1189,    48,  1451,  1447,  1453,  1455,    56,
    1946      587,  1509,  1457,  1462,   593,    48,   376,    48,  1463,  1464,
    1947     1517,  1475,  1492,  1485,    70,  1487,  1500,   214,  1493,  1489,
    1948      703,  1515,  1516,   626,  1520,  1527,    48,   630,   922,  1529,
    1949      339,   918,  1531,   920,  1544,   107,  1545,   457,  1208,    77,
    1950     1537,   783,    48,   781,  1130,   784,    77,   113,   782,   785,
    1951     1058,  1306,  1495,  1410,  1547,  1368,    48,   107,   113,    48,
    1952      113,  1239,  1384,  1478,   107,  1088,   702,   216,   901,  1213,
    1953      902,  1221,   215,   922,  1092,   924,   702,   800,   214,  1127,
    1954     1035,   872,   938,  1315,   243,   323,   323,  1102,   790,   716,
    1955      702,   327,    48,   946,   791,   792,   113,    77,   113,     0,
    1956      215,  1367,   113,     0,     0,   215,     0,     0,  1138,     0,
    1957      113,     0,     0,   687,   479,   107,   214,     0,     0,   216,
    1958        0,   214,     0,    48,    48,     0,   117,     0,     0,     0,
    1959     1482,     0,  1482,     0,     0,     0,   499,    48,     0,   703,
    1960        0,     0,     0,  1372,     0,     0,     0,     0,     0,   703,
    1961        0,   488,     0,   323,     0,   488,     0,     0,     0,  1029,
    1962        0,     0,   216,   703,     0,   521,  1482,   521,  1482,     0,
    1963      521,     0,   323,   521,     0,     0,   215,   177,     0,     8,
    1964        9,    10,    11,    12,   339,     0,     0,     0,     0,    37,
    1965      215,   184,   185,    40,     0,  1397,     0,     0,  1405,     0,
    1966       41,    42,     0,     0,     0,     0,   214,   644,    31,     0,
    1967        0,     0,     0,  1039,     0,     0,     0,    48,     0,     0,
    1968        0,     0,     0,   216,     0,     0,   905,   177,   411,    48,
    1969      177,     0,     0,     0,    45,    46,    34,   323,     0,   922,
    1970        0,  1442,     0,     0,     0,     0,  1446,   906,   802,     0,
    1971        0,     0,     0,  1479,  1089,  1483,     0,     0,     0,     0,
    1972        0,   216,     0,     0,     0,     0,   216,     0,     0,     0,
    1973        0,     0,   643,     0,  1467,     0,   177,   891,   113,   843,
    1974        0,     0,     0,   215,   593,     0,     0,   214,     0,  1511,
    1975      852,  1513,    66,   118,   702,   702,     0,     0,     0,   922,
    1976      922,    48,     0,     0,   214,     0,     0,     0,     0,     0,
    1977       48,   644,    48,     0,     0,     0,     0,     0,     0,   113,
    1978        0,     0,     0,     0,    66,     0,     0,     0,     0,   214,
    1979        0,     0,     0,  1542,     0,  1543,     0,     0,     0,   177,
    1980        0,   161,    48,   687,     0,     0,     0,     0,  1550,  1551,
    1981        0,   216,   702,   702,     0,     0,     0,     0,  1535,     0,
    1982        0,   222,   113,     0,  1535,     0,     0,   703,   703,     0,
    1983        0,     0,     0,     0,     0,  1535,   643,     0,     0,  1535,
    1984        0,   488,     0,     0,   113,     0,     0,     0,   113,    57,
    1985       57,     0,     0,   177,     0,     0,   987,     0,   260,     0,
    1986      177,     0,     0,   339,     0,     0,   992,     0,     0,     0,
    1987        0,  1039,     0,     0,     0,    75,     0,     0,     0,     0,
    1988     1004,    57,     0,     0,     0,   703,   703,     0,     0,     0,
    1989        0,     0,   216,     0,     0,     0,     0,     0,   113,     0,
    1990      328,     0,     0,     0,     0,     0,     0,    75,   260,   350,
    1991      214,     0,     0,     0,     0,    57,     0,     0,    57,     0,
    1992        0,     0,   995,     0,     0,     0,     0,   802,   177,     0,
    1993        0,     0,     0,     0,   216,     0,   113,     0,   214,   406,
    1994      215,     0,     0,   214,   223,   177,     0,     0,     0,   177,
    1995       48,     0,     0,     0,   424,    48,     0,   429,   431,     0,
    1996     1312,     0,   161,     0,   922,     0,     0,     0,     0,     0,
    1997        0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
    1998      922,     0,     0,   448,  1282,     0,     0,   451,     0,   452,
    1999        0,     0,   702,     0,     0,     0,     0,     0,   459,     0,
    2000      702,   702,   702,     0,    66,     0,   348,     0,     0,   473,
    2001        0,     0,   177,     0,   214,   802,     0,     0,     0,   480,
    2002        0,     0,   339,     0,     0,     0,     0,   431,   214,     0,
    2003        0,    78,   353,  1313,     0,     0,     0,     0,   687,     0,
    2004        0,    37,     0,   184,   185,    40,     0,     0,   499,   113,
    2005      922,   922,    41,    42,     0,   216,     0,     0,     0,     0,
    2006      488,  1107,   323,    78,   702,   703,     0,     0,     0,     0,
    2007        0,    57,    48,   703,   703,   703,     0,     0,   600,     0,
    2008      601,     0,     0,   216,  1166,  1167,    45,    46,   216,     0,
    2009        0,     0,     0,   260,     0,     0,     0,   594,     0,     0,
    2010      224,    57,     0,   622,     0,     0,   449,     0,     0,     0,
    2011        0,     0,     0,   113,   113,   113,   627,     0,   843,     0,
    2012      627,   214,     0,   260,     0,     0,   215,    75,     0,     0,
    2013        0,     0,    75,     0,     0,     0,     0,   703,     0,     0,
    2014        0,     0,  1216,  1217,     0,     0,     0,     0,     0,     0,
    2015       37,     0,   184,   185,    40,     0,     0,     0,     0,   216,
    2016        0,    41,    42,    37,     0,   184,   185,    40,     0,   177,
    2017      473,     0,     0,   216,    41,    42,     0,     0,     0,     0,
    2018        0,     0,     0,     0,     0,   350,     0,   905,   355,   411,
    2019      473,     0,     0,     0,     0,    45,    46,     0,   473,   687,
    2020     1505,   177,   411,     0,     0,     0,     0,     0,    45,    46,
    2021        0,     0,     0,     0,     0,     0,   698,   177,     0,   431,
    2022        0,   215,     0,     0,     0,     0,   223,     0,     0,     0,
    2023        0,   177,     0,     0,   712,     0,    66,     0,     0,     0,
    2024        0,   802,    48,    48,   431,     0,     0,     0,   431,     0,
    2025        0,   113,   113,   535,   536,   537,   538,   539,   540,   541,
    2026      542,   543,   544,     0,     0,     0,   216,     0,     0,     0,
    2027        0,     0,     0,     0,     0,     0,     0,   260,   350,     0,
    2028        0,     0,   348,    78,     0,     0,     0,   545,    78,   113,
    2029        0,     0,     0,    75,     0,     0,     0,     0,     0,     0,
    2030        0,     0,     0,     0,     0,     0,     0,     0,   353,     0,
    2031        0,     0,   177,    75,     0,     0,     0,     0,   214,     0,
    2032        0,    75,  1337,   793,     0,     0,   339,     0,     0,     0,
    2033     1339,  1340,  1341,    57,     0,     0,     0,     0,     0,   353,
    2034        0,   627,   805,     0,     0,     0,    48,   113,  1107,     0,
    2035        0,     0,     0,     0,   824,     0,   113,   353,     0,    75,
    2036        0,     0,     0,   283,   284,     0,   285,     0,     0,     0,
    2037       48,    48,   594,     0,     0,   348,     0,   594,     0,     0,
    2038        0,     0,   224,   627,     0,     0,   350,   350,   350,     0,
    2039        0,     0,   286,     0,  1385,    48,     0,     0,   287,     0,
    2040        0,   353,   288,     0,   350,   289,   290,   291,   292,    41,
    2041       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2042        0,     0,   698,     0,     0,     8,     9,    10,    11,    12,
    2043        0,     0,     0,   473,     0,   295,     0,   379,     0,   348,
    2044     1107,     0,     0,    45,    46,   297,   298,   299,   300,    78,
    2045        0,     0,     0,     0,    31,     0,   786,     0,     0,   473,
    2046        0,     0,   350,   216,   355,   353,     0,     0,     0,    78,
    2047        0,   937,     0,     0,   431,     0,   177,    78,     0,     0,
    2048        0,     0,    34,   348,   348,   348,     0,    37,     0,   184,
    2049      185,    40,     0,     0,     0,   355,   260,   712,    41,    42,
    2050        0,   348,   967,     0,   214,     0,     0,     0,     0,   353,
    2051      353,   353,     0,   355,     0,    78,     0,     8,     9,    10,
    2052       11,    12,     0,     0,   600,     0,   601,   353,     0,     0,
    2053        0,     0,    45,    46,     0,     0,     0,     0,  1107,     0,
    2054        0,   698,     0,     0,     0,   353,    31,     0,     0,     0,
    2055        0,   698,     0,   350,     0,   627,    75,   355,  1002,   348,
    2056      627,   805,     0,     0,     0,   698,     0,     0,     0,  1481,
    2057        0,  1481,     0,     0,    34,  1013,     0,     0,     0,    37,
    2058        0,     0,    75,    40,     0,   353,     0,     0,     0,     0,
    2059       41,    42,     0,     0,     0,     0,     0,     0,     0,   214,
    2060        0,    80,     0,     0,     0,  1481,     0,  1481,     0,     0,
     1791      50,   115,   151,   400,   401,   771,   402,    99,   152,   973,
     1792     403,   153,   429,   454,   874,   404,   756,   974,   408,  1080,
     1793     116,   975,   262,   441,   269,   405,   406,   744,   850,   384,
     1794     385,   605,    50,    51,  1142,   982,    70,   411,   833,    99,
     1795     610,   825,   826,   727,   149,   409,   499,   732,   154,  1150,
     1796      50,    31,  1398,   836,   155,  1462,   832,   163,   156,   843,
     1797     827,   800,   282,   145,   188,    51,  1208,   211,    70,   528,
     1798      50,   195,   343,   824,   218,   567,  1200,   228,    31,   597,
     1799     671,  -235,  -235,   400,   401,  1184,   402,   926,   821,   221,
     1800     403,  1318,   170,   822,   168,   404,   520,   737,   408,  1194,
     1801     680,  1217,  1218,   823,   738,   405,   406,   115,   684,   426,
     1802     568,   476,   478,  1550,    31,   115,   171,   124,   268,   273,
     1803     283,   254,   217,   412,    31,   409,  1209,   410,   715,  1462,
     1804    1210,  1182,  1183,  1561,    31,  1419,  1420,    31,   629,   244,
     1805    1565,   955,   633,   865,   866,   151,   675,   677,   308,   149,
     1806     412,   152,  -235,  1079,   153,  1481,   163,   115,   346,   168,
     1807    1319,   884,   211,   863,   863,   863,    64,   472,   973,   374,
     1808     722,   204,   477,    31,   217,   528,   974,    57,   117,  1260,
     1809     975,   853,   863,   920,   420,   854,   412,   188,   188,  1212,
     1810    1211,   154,   328,   578,   482,   163,   412,   155,    64,   579,
     1811      78,   156,   528,   268,   834,  1421,   602,   821,   528,    57,
     1812     956,    50,   822,   669,   731,  1190,   716,   217,   163,   938,
     1813     293,   205,   823,   211,    71,   151,   179,   674,   676,  1127,
     1814     444,   152,    78,   746,   153,  1213,  1087,   666,  -113,  -113,
     1815     863,   308,  1191,   841,   212,   602,  1263,   222,   580,   958,
     1816     412,   125,   216,    50,  -113,   437,    71,   589,   825,   826,
     1817      99,   273,   144,  1466,   667,  1026,   273,   268,   268,   836,
     1818     118,  1152,   506,   115,  1264,   163,   263,   827,   217,   264,
     1819     864,   864,   864,  1025,   464,   328,    51,   343,  1001,    70,
     1820    1013,   214,  1184,   610,   108,   108,   308,  1103,   804,   864,
     1821    1090,   146,  1343,   658,   216,   821,   113,   520,   308,   378,
     1822     822,   666,   520,   148,  1004,   520,   217,   437,   725,   161,
     1823     823,   217,  1199,  1508,   572,   379,   108,   477,   472,   149,
     1824    1200,   673,  1419,  1420,   448,   863,   374,   678,   667,   855,
     1825    -470,   157,   115,   856,   905,  1184,   346,   216,   472,   569,
     1826     603,   621,   168,   461,   597,   528,   472,   864,  1537,   597,
     1827    1539,  1466,  1080,   810,   108,   626,  1466,   388,   793,   626,
     1828     930,  -470,   115,  -470,  1492,   833,   260,  -470,  -113,   825,
     1829     826,   685,  1401,   389,   161,  1405,  1466,   579,   440,  1128,
     1830     599,  1182,  1183,  1466,   715,  1551,  1129,   268,   827,  -113,
     1831     442,  1191,  1430,   557,   558,   859,   217,   188,   216,     8,
     1832       9,    10,    11,    12,   374,   173,   850,   324,   183,    64,
     1833      43,   252,  1566,   876,   473,   268,   340,   308,   308,  1247,
     1834      57,   268,   837,  1251,   626,   571,   840,   412,    31,   559,
     1835     560,   343,   484,   391,    46,    47,   216,   443,   494,   501,
     1836     495,   216,   864,    78,   877,   115,   644,   857,    78,   392,
     1837     878,   860,   393,  1451,  1452,  1214,    34,  1170,  1172,  1184,
     1838    1138,   328,   328,   268,   203,   855,   431,    71,   394,  1110,
     1839     435,   268,   716,   626,   395,    50,   929,   217,   374,   721,
     1840    1200,   112,    99,    98,   736,   115,  1079,  1200,  1114,   499,
     1841     396,   249,    41,    42,  1148,  1259,   888,   308,   875,   115,
     1842     324,  1024,   308,  -291,   308,   308,  1457,   179,    51,   917,
     1843     610,    70,   754,  -521,   921,    98,   115,   346,  1341,   217,
     1844     763,   583,   923,   412,   630,  1342,   216,   150,   634,   328,
     1845     922,   112,   435,    98,  1026,   489,   919,   108,   924,    43,
     1846    1200,  -106,    41,    42,   921,  -106,   715,   191,   328,   466,
     1847      98,  1521,   886,    98,   753,   522,   412,  1526,   923,   254,
     1848    1091,   572,   572,    46,    47,   214,  1381,   161,   265,   308,
     1849     769,   995,  1006,    43,  1092,   473,  1094,   810,  1546,  1138,
     1850     626,   346,   472,  1553,   920,   621,  1197,  1097,   939,  1097,
     1851     602,   603,   331,   603,  1197,   473,  1332,    46,    47,   332,
     1852     706,   588,  1198,   473,  1334,   594,   707,   216,   935,    78,
     1853    1324,   626,  1333,   328,   751,  1024,   626,   812,   621,  1367,
     1854    1335,  1126,   626,  1368,   627,   626,   626,   626,   631,    78,
     1855    1382,   340,    98,   889,   716,   412,  -113,    78,  -113,   713,
     1856     217,    64,  -113,   -10,   626,    98,   268,   895,  1039,   216,
     1857     723,   112,    57,   343,  -444,   851,   724,  -113,  -113,  1037,
     1858     599,   733,    41,    42,   165,  1181,   810,   734,   217,  1029,
     1859     399,   191,   288,   217,  -445,    78,   115,   254,   330,   914,
     1860    1084,   553,   554,    41,    42,   750,   324,   324,   214,   231,
     1861    1348,   751,   929,   232,    98,   892,   236,   412,   238,    71,
     1862    1379,   550,   626,   940,   621,   247,    98,   551,   552,   515,
     1863     721,   721,  1122,  1154,   689,   412,   278,   959,   400,   401,
     1864     280,   402,  1044,   555,   556,   403,  1498,   118,   281,   165,
     1865     404,   333,   597,  1498,   408,   334,    98,   929,   115,   346,
     1866     405,   406,   335,   754,   754,   217,   112,   336,   141,   142,
     1867     480,   372,   489,   112,   324,   373,   489,    41,    42,   217,
     1868     377,   409,  1111,   113,    41,    42,   522,   112,   522,   108,
     1869     216,   522,   386,   324,   522,  1151,   973,  1429,    41,    42,
     1870     852,  1392,   994,   991,   974,   340,  1547,   899,   975,   572,
     1871    1249,   390,  1350,   751,   715,   398,   867,   626,   216,   626,
     1872     901,  1009,   410,   216,   626,   346,   751,   990,   603,   743,
     1873     427,   883,    98,   991,   739,   343,   740,  1003,  1174,   741,
     1874     603,   428,   747,   707,   764,   436,  1039,   743,   433,   770,
     1875     743,   451,   231,   604,   529,   530,   531,   443,   324,   473,
     1876     112,   812,   141,   142,  1245,   781,   782,   783,   784,   808,
     1877     579,    41,    42,  1292,  1293,  1375,   217,  1166,   532,   412,
     1878     533,   751,   534,   535,  1500,   473,  1501,  -368,  1376,  -397,
     1879    1378,   308,   462,    78,   751,   216,   751,  1383,   466,   870,
     1880     849,   505,   716,   751,  1169,   594,   602,   436,   463,   216,
     1881     191,   858,   501,   626,  1195,   704,  1171,   810,   602,    78,
     1882     115,   346,   914,  1447,   914,   713,   929,    70,   485,  1444,
     1883     524,  1467,  1514,  1571,   214,   666,   115,   751,  1515,   579,
     1884     917,  1548,   165,   293,  1256,  1370,   412,   509,   214,   940,
     1885     940,   529,   530,   531,   721,   254,   330,   412,   514,   115,
     1886     308,   528,   667,   561,   562,   689,   526,   919,    49,   114,
     1887     885,   563,   887,   751,   996,   532,   346,   533,  1115,   534,
     1888    1321,   716,   565,    37,   330,   412,   754,    40,    98,   929,
     1889     929,   231,   604,   236,    41,    42,   564,   114,   114,   705,
     1890      49,  1388,  1389,   489,   328,    43,   216,  1439,   991,  1533,
     1891    1444,  1445,    49,  1300,  1301,   566,  1303,   569,    49,   346,
     1892      44,   339,   934,  1308,  -441,  1310,    49,   340,   587,    46,
     1893      47,   694,    49,  1240,   590,    49,  1493,  1494,    49,    -3,
     1894     626,   626,   420,   662,   412,   214,     2,   208,     4,     5,
     1895       6,     7,   114,   114,   482,   330,   412,    64,   639,  1138,
     1896     308,  1419,  1420,   851,   834,   330,   602,   659,    57,     8,
     1897       9,    10,    11,    12,   777,   778,    49,   217,   668,    49,
     1898     143,   231,   660,   661,  1446,   663,    49,   713,  1005,   693,
     1899     664,    78,   665,   808,   779,   780,  1202,   670,    31,   259,
     1900     115,   697,  1459,   695,   820,   914,   604,  1311,  1312,  1313,
     1901     914,    35,   699,    36,  -239,    71,   735,    49,   748,   940,
     1902     785,   786,   704,   752,   959,    49,    34,   268,   959,   959,
     1903      49,  1349,  1351,  1352,   243,   246,  1116,   760,   813,   -12,
     1904     814,   524,   817,   524,   626,   343,   524,   828,   -13,   524,
     1905    -292,   872,   873,    43,   880,    49,    49,     8,     9,    10,
     1906      11,    12,   900,   902,   724,   907,   903,   910,   571,   346,
     1907     412,    49,   928,  -418,    -3,  1519,  1459,    46,    47,    49,
     1908    -525,   943,   808,   950,   964,   108,    31,  1425,    49,   340,
     1909     952,    49,   918,   957,   963,   965,   967,   968,   114,   969,
     1910     929,   970,   986,   998,   999,   689,   705,   216,  1000,  1015,
     1911    1016,   273,   115,   114,    34,  1017,  1018,   114,   929,  1019,
     1912    1020,    49,   114,   820,   604,  1021,   473,   489,  1117,   324,
     1913     115,   221,  1032,  -406,   308,    49,    49,    57,  -405,    37,
     1914    1081,  1046,    49,    40,  1083,   704,   443,  1339,   626,    49,
     1915      41,    42,   115,   108,   913,   704,   112,  1105,   141,   240,
     1916      78,    43,   112,  1104,   141,   142,   217,    41,    42,   704,
     1917      70,  1115,  1106,    41,    42,  1107,   818,   751,   602,  1131,
     1918    1113,  1123,  1124,  1125,    71,    46,    47,  1134,   849,  1130,
     1919     980,   929,   929,   241,  1140,   458,  1135,    49,   242,   728,
     1920     626,   626,  1136,  1144,   729,  1137,   743,  1164,  1144,   273,
     1921    1143,  1187,  1185,  1442,   308,  1186,  -293,    49,    49,  1188,
     1922     693,   820,  1559,     8,     9,    10,    11,    12,  1189,   705,
     1923    1203,  1204,  1206,   604,    49,   713,  1207,  1399,    49,   705,
     1924    1215,  1399,  1219,    -3,  1220,  1222,  1227,   115,  1232,   645,
     1925    1202,  1237,    31,   705,   108,  1235,   400,   401,  1144,   402,
     1926    1241,  1246,   494,   403,   217,    49,  1115,  1248,   404,   689,
     1927    1253,   408,  1254,  1261,  1250,    49,  1268,  1270,   405,   406,
     1928      34,     2,   208,     4,     5,     6,     7,  1265,   212,   222,
     1929    1272,  1273,  1302,    49,  1274,   666,   216,  1275,   409,    49,
     1930      64,    49,  1276,  1278,  1285,  1305,  1294,   268,  1295,  1306,
     1931     230,    57,  1323,   808,   713,  1093,   131,   918,   132,   133,
     1932     134,  1532,   667,  1307,  1330,   626,  1336,    41,    42,  1116,
     1933    1309,   646,  1317,  1338,    78,   214,   114,  1340,  1344,  1346,
     1934    1347,    49,  1353,  1482,  1354,   175,    35,   604,    36,    49,
     1935     115,  1355,  1357,    49,  1363,  1364,  1365,    49,    71,  1366,
     1936     114,  1377,   114,  1068,    37,  1373,   176,   177,    40,  1115,
     1937    1374,  1384,  1385,  1313,   115,    41,    42,   704,   704,  1393,
     1938     473,   115,   645,   115,  1394,   115,   442,  1395,   255,  1402,
     1939    1413,    57,  1405,  1414,   216,  -407,  1417,   114,   151,   340,
     1940     645,   373,   114,   645,   152,  1428,   108,   153,  1432,  1436,
     1941    1202,  1434,  1437,  1443,    78,  1531,  1448,  1202,  1438,  1453,
     1942     115,  1117,   115,  1368,  1116,  1458,  1454,  1455,   108,  1456,
     1943    1472,  1463,  1474,   443,   115,   704,   704,  1468,    71,  1476,
     1944    1531,  1531,   726,  1470,   730,  -294,   108,  1478,   163,  1485,
     1945     308,   114,     8,     9,    10,    11,    12,  1480,    49,  1486,
     1946     693,   705,   705,  1487,    37,  1531,  1488,    76,    40,    49,
     1947    1202,    49,   374,   511,  1441,    41,    42,  1499,  1144,  1144,
     1948    1144,    31,  1509,  1511,   418,  1513,    43,  1517,  1518,  1525,
     1949      49,  1540,  1541,  1545,   328,   548,   549,  1554,   918,    76,
     1950    1552,   720,   112,   918,   141,   142,    49,   438,   108,    34,
     1951      46,    47,   114,    41,    42,  1556,  1117,   446,  1562,   705,
     1952     705,    49,  1569,   114,    49,   114,  1570,  1116,  1221,   789,
     1953     787,  1322,  1520,   548,   788,  1205,   743,   224,   790,  1431,
     1954     473,   108,   791,  1572,   245,  1387,  1252,   473,  1403,  1226,
     1955    1502,    57,   908,   909,  1098,  1234,  1102,    49,    57,   931,
     1956     806,   114,  1139,   114,  1045,   879,   945,   114,  1112,   548,
     1957     164,   953,  1331,   718,    78,   114,     0,   126,   129,   130,
     1958       0,    78,   796,   797,   196,   521,  1328,   219,    49,    49,
     1959     229,   798,     0,     0,   871,     0,     0,     0,    71,     0,
     1960     473,     0,    49,     0,     0,    71,    37,     0,   176,   177,
     1961      40,    57,     0,   178,     0,    67,   119,    41,    42,  1117,
     1962       0,   704,  1144,  1144,   693,   354,     0,     0,     0,   704,
     1963     704,   704,     0,     0,    78,     2,   208,     4,     5,     6,
     1964       7,     0,     0,   925,   108,   927,     0,    67,     0,   458,
     1965       0,   256,  1505,   257,  1505,     0,     0,     0,    71,     0,
     1966    1483,     0,     0,   178,     0,   162,   178,     0,   108,   164,
     1967    1329,   215,     0,     0,     0,   108,   414,     0,     0,     0,
     1968       0,   234,   375,   422,     0,   223,    49,     0,     0,  1505,
     1969       0,  1505,     0,     0,     0,   704,     0,     0,    49,   450,
     1970      35,     0,    36,     0,     0,   705,  1068,     0,   164,     0,
     1971       0,     0,   178,   705,   705,   705,     0,     0,     0,   324,
     1972      76,  1534,   261,   215,     0,    76,     0,     0,   108,     0,
     1973    1542,   164,     0,   682,   397,     0,     0,   774,   775,   776,
     1974       0,   645,     0,   445,   416,   417,     0,     0,   114,   421,
     1975       0,   423,   424,     0,     0,   414,     0,     0,    37,   708,
     1976     176,   177,    40,     0,   329,     0,   215,     0,     0,    41,
     1977      42,    49,   261,   351,     0,   178,     0,     0,     0,   705,
     1978      49,     0,    49,     0,     0,     0,     0,     0,    37,   114,
     1979     185,   186,    40,     0,     0,   377,   521,     0,     0,    41,
     1980      42,   521,  1391,   407,   521,     0,     0,     0,     0,   577,
     1981      43,     0,    49,     0,     0,     0,     0,   581,   425,   224,
     1982     584,   430,   432,   646,     0,   187,   162,   215,     0,   178,
     1983    1049,     0,   114,     0,    46,    47,   178,     0,     0,     0,
     1984       0,     0,     0,     0,     0,     0,     0,   449,   645,   375,
     1985       0,   452,     0,   453,     0,     0,   114,  1418,     0,   645,
     1986    1426,   114,   460,     0,     0,   215,     0,     0,    67,     0,
     1987     215,  1099,     0,   474,     0,     0,     0,     0,   898,     0,
     1988       0,     0,     0,   481,   414,   500,    76,     0,   422,     0,
     1989       0,   432,     0,     0,     8,     9,    10,    11,    12,     0,
     1990       0,   354,     0,     0,   178,  1465,    76,     0,     0,     0,
     1991    1469,   114,     0,     0,    76,     8,     9,    10,    11,    12,
     1992       0,   178,     0,    31,     0,   178,     0,   375,     0,     0,
     1993     646,     0,   354,   480,     0,     0,     0,     0,     0,     0,
     1994    1491,     0,     0,     0,    31,     0,     0,   981,     0,   114,
     1995     354,    34,    76,     0,     0,   215,     0,   261,     0,     0,
     1996     897,   595,     0,    49,     0,   414,     0,   623,    49,   904,
     1997       0,     0,    34,   906,     0,     0,     0,     0,    43,     0,
     1998     628,     0,     0,     0,   628,    49,     0,   261,   178,     0,
     1999       0,     0,     0,   753,   354,   412,     0,     0,     0,    43,
     2000       0,   997,    46,    47,     0,     0,     0,  1506,     0,  1506,
     2001       0,  1002,     0,     0,   939,     0,   602,     0,     0,     0,
     2002       0,     0,     0,    46,    47,  1014,  1560,     0,     0,     0,
     2003       0,  1049,  1560,     0,   474,     0,   215,     0,     0,     0,
     2004       0,     0,     0,  1560,  1506,     0,  1506,  1560,    37,   351,
     2005     185,   186,    40,   215,   474,     0,   577,   577,   354,    41,
     2006      42,     0,   474,     0,    37,   114,   185,   186,    40,     0,
     2007      43,     0,     0,    79,     0,    41,    42,     0,   215,     0,
     2008     700,     0,     0,   432,     0,   912,    43,   412,    49,     0,
     2009       0,     0,     0,   913,    46,    47,     0,     0,   714,     0,
     2010      67,   267,   354,   354,   354,    79,     0,     0,   432,     0,
     2011      46,    47,   432,     0,     0,     0,     0,     0,     0,     0,
     2012       0,   354,     0,     0,     0,     0,   801,   802,     0,     0,
     2013       0,   114,   114,   114,     0,     0,     0,     0,     0,   354,
     2014       0,   261,   351,   225,   890,   178,     0,  1298,   893,     0,
     2015      76,     0,     0,     0,     0,   835,     0,     0,   838,   839,
     2016       0,   842,     0,   844,   845,     0,     0,     0,   846,   847,
     2017       0,     0,     0,     0,     0,     0,    76,   178,     0,   354,
     2018       0,     0,     0,     0,     0,     0,     0,   799,    81,   645,
     2019       0,     0,     0,   178,  1089,     0,   548,     0,     0,   215,
     2020       0,     0,     0,     0,     0,   628,   811,     0,   178,     0,
     2021       0,     0,     0,    58,    58,     0,   354,     0,   830,     0,
     2022      81,     0,     0,     0,     0,     0,     0,   215,     0,     0,
     2023       0,   356,   215,  1179,  1180,     0,   595,   511,     0,     0,
     2024       0,   595,     0,     0,     0,    58,     0,   628,     0,     0,
     2025     351,   351,   351,     0,     0,     0,     0,     0,   226,     0,
     2026       0,     0,   354,     0,    49,    49,     0,     0,     0,   351,
     2027       0,     0,   354,     0,   354,   114,   114,     0,     0,   224,
     2028      58,     0,   354,    58,   577,     0,   354,   700,     0,   178,
     2029       0,  1229,  1230,     0,     0,     0,     0,     0,   474,     0,
     2030       0,     0,     0,     0,   215,     0,     0,     0,     0,   978,
     2031     979,     0,     0,   114,     0,     0,     0,     0,   215,     0,
     2032       0,     0,     0,     0,   474,     0,    79,   351,     0,     0,
     2033       0,    79,     0,     0,     0,     0,   944,     0,   500,   432,
     2034      37,     0,   185,   186,    40,     0,   357,     0,    76,     0,
     2035    1216,    41,    42,     0,    37,     0,   185,   186,    40,     0,
     2036       0,     0,    43,   261,   714,    41,    42,     0,     0,   976,
     2037       0,   349,     0,    49,   114,     0,    43,   601,   354,   602,
     2038       0,     0,     0,   114,     0,     0,    46,    47,     0,     0,
     2039       0,   912,     0,   412,     0,     0,     0,     0,    49,    49,
     2040      46,    47,     0,   414,     0,     0,     0,     0,     0,     0,
     2041     700,     0,     0,     0,     0,   215,     0,     0,     0,     0,
     2042     700,     0,   351,    49,   628,   225,     0,  1012,     0,   628,
     2043     811,     0,     0,   354,   700,     0,    58,     0,     0,     0,
     2044       0,    81,     0,     0,  1023,     0,    81,   536,   537,   538,
     2045     539,   540,   541,   542,   543,   544,   545,     0,   178,     0,
     2046       0,     0,     0,     0,     0,     0,    58,    37,     0,   185,
     2047     186,    40,     0,     0,  1100,     0,     0,  1356,    41,    42,
     2048       0,   546,     0,  1155,     0,  1358,  1359,  1360,     0,    43,
     2049       0,     0,    79,     0,   354,   354,    67,   354,   354,     0,
     2050    1167,     0,     0,     0,  1530,     0,   412,   356,     0,     0,
     2051       0,     0,    79,    46,    47,     0,     0,    76,   628,     0,
     2052      79,     0,     0,     0,     0,   261,   714,     0,     0,  1095,
     2053       0,     8,     9,    10,    11,    12,     0,     0,   356,     0,
     2054     226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2055       0,  1406,   354,   354,     0,  1109,   356,     0,    79,     0,
     2056      31,     0,     0,   432,   119,     0,     0,     0,     0,     0,
     2057       0,     0,     0,     0,     0,     0,     0,     0,   414,     0,
     2058       0,   351,     0,     0,     0,     0,     0,     0,    34,     0,
     2059       0,     0,     0,    37,     0,   185,   186,    40,     0,     0,
     2060     356,     0,  1386,     0,    41,    42,     0,    81,     0,     0,
     2061       0,     0,     0,     0,     0,    43,   215,     0,     0,     0,
     2062    1257,     0,   357,     0,   595,     0,   354,    81,     0,     0,
     2063     601,     0,   602,     0,     0,    81,     0,   430,  1231,    46,
     2064      47,     0,   700,   700,     0,   351,   351,   349,     0,     0,
     2065       0,     0,     0,   357,     0,     0,     0,     0,     0,     0,
     2066       0,     0,     0,     0,   356,  1201,     0,     0,     0,   224,
     2067       0,   357,     0,    81,     0,     0,     0,     0,     0,     0,
     2068       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2069       0,    76,     0,     0,     0,     0,     0,     0,    58,     0,
     2070     700,   700,     0,   354,     0,   354,     0,     0,   356,   356,
     2071     356,     0,     0,     0,     0,   357,     0,     0,     0,     0,
     2072       0,     0,     0,     0,     0,     0,     0,   356,     0,     0,
     2073       0,     0,     0,     0,     0,     0,     0,     0,   354,     0,
     2074     349,     0,     0,     0,    88,   356,   354,   354,   354,   628,
     2075       0,     0,     0,     0,     0,     0,    79,   354,   354,     0,
     2076       0,  1503,     0,  1507,     0,     0,     0,     0,     0,     0,
     2077    1320,    76,     0,     0,   714,   178,    88,     0,     0,   357,
     2078       0,     0,    79,     0,     0,   356,     0,     0,     0,     0,
     2079       8,     9,    10,    11,    12,     0,     0,     0,  1536,     0,
     2080    1538,     0,     0,     0,   349,   215,     0,     0,     0,     0,
     2081       0,     0,   354,     0,   227,     0,     0,  1299,     0,    31,
     2082       0,     0,   356,   357,   357,   357,     0,     0,     0,     0,
     2083       0,     0,     0,     0,     0,   261,     0,     0,     0,    67,
     2084       0,     0,   357,  1567,     0,  1568,     0,    34,   349,   349,
     2085     349,   700,    37,   714,   185,   186,    40,   119,  1575,  1576,
     2086     357,     0,     0,    41,    42,     0,     0,   349,   356,     0,
     2087       0,    81,     0,     0,    43,     0,     0,     0,   356,     0,
     2088     356,     0,   354,     0,     0,   225,   700,     0,   356,   912,
     2089       0,   412,   356,     0,   700,   700,   700,    81,    46,    47,
     2090     357,     0,   364,   215,     0,   351,   351,     0,     0,     0,
     2091       0,     0,     0,     0,     8,     9,    10,    11,    12,  1201,
     2092       0,     0,     0,     0,     0,   349,     0,     0,     0,     0,
     2093       0,    76,     0,     0,     0,     0,     0,   357,    76,     0,
     2094       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
     2095       0,   178,   119,     0,    79,     0,     0,     0,     0,     0,
     2096     700,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2097       0,    34,     0,     0,     0,     0,    37,     0,   185,   186,
     2098      40,     0,     0,   357,   356,     0,     0,    41,    42,     0,
     2099       0,    76,     0,   357,     0,   357,     0,    88,    43,     0,
     2100     226,     0,    88,   357,     0,     0,     0,   357,     0,     0,
     2101       0,     0,     0,  1530,     0,   412,     0,     0,     0,     0,
     2102     349,     0,    46,    47,     0,     0,     0,     0,   349,     0,
     2103     351,     0,     0,     0,     0,     0,     0,     0,     0,   356,
     2104       0,   169,     0,   174,     0,     0,   180,   181,   182,     0,
     2105     184,     0,     0,     0,     0,   119,     8,     9,    10,    11,
     2106      12,     0,     0,     0,     0,   235,     0,     0,     0,    81,
     2107       0,     0,     0,     0,     0,     0,     0,   250,   251,  1201,
     2108       0,     0,     0,     0,     0,    31,  1201,     8,     9,    10,
     2109      11,    12,     0,     0,    58,     0,   227,     0,     0,   357,
     2110     356,   356,     0,   356,   356,     0,     0,     0,     0,     0,
     2111       0,     0,     0,    34,     0,     0,    31,     0,    37,     0,
     2112     185,   186,    40,    79,     0,     0,     0,     0,     0,    41,
     2113      42,     0,     0,     0,     0,     0,     0,     0,     0,  1201,
     2114      43,     0,     0,     0,    34,     0,  1555,     0,     0,    37,
     2115       0,   185,   186,    40,   357,   187,     0,     0,   356,   356,
     2116      41,    42,    58,    88,    46,    47,     0,     0,     0,     0,
     2117       0,    43,     0,     8,     9,    10,    11,    12,   364,   349,
     2118       0,     0,     0,    88,     0,     0,   267,     0,     0,     0,
     2119       0,    88,     0,     0,     0,    46,    47,     0,     0,     0,
     2120       0,     0,    31,     0,     8,     9,    10,    11,    12,   364,
     2121       0,     0,     0,     0,     0,   357,   357,     0,   357,   357,
     2122       0,     0,     0,     0,     0,     0,     0,   364,     0,    88,
     2123      34,     0,   356,    31,     0,    37,     0,     0,    81,    40,
     2124       0,     0,     0,   349,   349,     0,    41,    42,     0,     0,
     2125       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2126       0,    34,     0,    58,     0,     0,    37,     0,     0,     0,
     2127      40,   364,    44,   357,   357,   225,     0,    41,    42,     0,
     2128       0,    46,    47,     0,     0,     0,     0,     0,    43,     0,
     2129       0,     0,     0,     0,     0,     0,     0,    79,     0,     0,
     2130       0,     0,     0,   720,     0,     0,     0,     0,     0,   356,
     2131       0,   356,    46,    47,     8,     9,    10,    11,    12,    13,
     2132      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2133      24,    25,   592,     0,   600,   364,     0,     0,     0,     0,
     2134       0,     0,     0,    31,   356,   624,   625,   357,     0,     0,
     2135       0,     0,   356,   356,   356,     0,     0,     0,     0,     0,
     2136       0,     0,     0,   356,   356,     0,     0,     0,     0,     0,
     2137       0,    34,     0,     0,     0,     0,     0,    79,     0,   364,
     2138     364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
     2139     226,     0,     0,     0,     0,     0,     0,     0,   364,     0,
     2140     284,   285,     0,   286,     0,     0,     0,     0,     0,     0,
     2141       0,     0,    81,     0,    58,    58,   364,     0,   356,     0,
     2142       0,     0,     0,     0,   357,     0,   357,    88,     0,   287,
     2143       0,     0,     0,     0,     0,   288,     0,    58,     0,   289,
     2144       0,     0,   290,   291,   292,   293,    41,    42,     0,   294,
     2145     295,     0,     0,    88,     0,    58,   364,    43,     0,   357,
     2146       0,     0,     0,     0,     0,     0,     0,   357,   357,   357,
     2147       0,     0,   296,     0,   380,     0,     0,   381,   357,   357,
     2148       0,    46,    47,   298,   299,   300,   301,     0,   356,     0,
     2149       0,     0,    81,   364,     0,     0,     0,     0,     0,     0,
     2150       0,     0,     0,   349,   349,     0,     0,     0,     0,     0,
     2151       0,     0,    58,     0,     0,     0,     0,    58,     0,     0,
     2152       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2153       0,     0,     0,   357,     0,     0,     0,    79,     0,   364,
     2154       0,     0,     0,     0,    79,     0,     0,     0,     0,   364,
     2155      58,   364,     0,     0,     0,     0,   227,     0,     0,   364,
     2156       0,     0,     0,   364,     0,     8,     9,    10,    11,    12,
     2157      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2158      23,    24,    25,  -295,     0,    26,    27,    28,     0,     0,
     2159       0,     0,   213,     0,    31,     0,     0,    79,     0,     0,
     2160       0,     0,   233,   357,   237,     0,   239,     0,     0,     0,
     2161       0,     0,     0,   248,     0,     0,     0,     0,     0,     0,
     2162       0,     0,    34,     0,     0,    88,     0,    37,   349,   337,
     2163     338,    40,     0,  -295,     0,     0,     0,     0,    41,    42,
     2164       0,     0,     0,     0,   213,     0,   237,   239,   248,    43,
     2165       0,     0,    81,    58,     0,   364,     0,     0,     0,    81,
     2166       0,     0,     0,     0,   635,     0,   339,     0,     0,   128,
     2167     128,   128,     0,    46,    47,     0,     0,    58,     0,     0,
     2168       0,     0,   284,   285,    58,   286,     0,   213,   932,     0,
     2169     933,     0,     0,     0,     0,     0,     0,   936,   937,     0,
     2170       0,     0,   942,     0,     0,     0,     0,     0,     0,     0,
     2171     364,   287,    81,   167,   947,     0,     0,   288,     0,   951,
     2172       0,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2173     220,   294,   295,     0,     0,     0,     0,    58,     0,    43,
     2174       0,     0,     0,   128,     0,   128,     0,     0,   213,   987,
     2175     237,   239,   248,     0,   296,     0,   380,     0,     0,     0,
     2176       0,     0,   792,    46,    47,   298,   299,   300,   301,     0,
     2177     277,   364,   364,     0,   364,   364,     0,     0,   167,     0,
     2178       0,     0,   274,     0,     0,     0,   213,     0,     0,     0,
     2179       0,   213,     0,     0,    88,     0,     0,     0,   508,     0,
     2180     510,   513,     0,     0,     0,     0,   498,     0,   516,   517,
     2181       0,   167,     0,     0,     0,     0,     0,     0,     0,     0,
     2182       0,   370,   510,   510,     0,   376,   128,     0,     0,   364,
     2183     364,     0,     0,     0,   128,     0,   128,   128,     0,     0,
     2184       0,   128,     0,   128,   128,     0,     0,     0,     0,     0,
     2185    1033,  1034,  1035,  1036,   213,  1038,     0,     0,     0,     0,
     2186     510,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2187       0,  1082,     0,     0,   167,     0,   213,     0,     0,     0,
     2188       0,   237,   239,     0,     0,  1088,   220,     0,     0,   248,
     2189       0,     0,     0,     0,     0,     0,   510,     0,     0,     0,
     2190       0,     0,     0,   364,   167,     0,     0,     0,     0,     0,
     2191       0,     0,     0,   128,     0,     0,     0,     0,     0,     0,
     2192       0,     0,     0,     0,     0,  1108,     0,     0,     0,   376,
     2193       0,     0,   213,     0,     0,     0,   167,     0,     0,     0,
     2194       0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
     2195     213,     0,     0,     0,     0,   213,     0,   213,     0,   525,
     2196       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
     2197       0,   167,  1141,     0,   213,     0,     0,   213,   213,  1149,
     2198     364,     0,   364,     0,  1153,   213,     0,     0,     0,  1157,
     2199       0,  1158,     0,     0,     0,  1160,     0,  1161,  1162,   213,
     2200       0,  1165,     0,     0,     0,     0,   213,     0,     0,   598,
     2201    1177,     0,     0,     0,   622,   364,     0,     0,     0,     0,
     2202       0,     0,     0,   364,   364,   364,     0,     0,  1192,  1193,
     2203       0,     0,     0,     0,   364,   364,     0,     0,     0,     0,
     2204       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
     2205       0,     0,     0,     0,     0,  1223,     0,     0,  1225,     0,
     2206       0,     0,     0,     0,   510,   510,   510,   510,   510,   510,
     2207     510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
     2208     510,   510,     0,     0,     0,     0,     0,     0,     0,   364,
     2209     167,   167,     0,     0,     0,     0,     0,   370,     0,     0,
     2210       0,  1239,     0,     0,     0,     0,     0,  1243,  1244,     0,
     2211       0,     0,     0,     0,     0,     0,     0,     0,   525,  1255,
     2212     213,     0,     0,     0,     0,     0,     0,     0,     0,  1262,
     2213       0,     0,  1266,     0,  1267,     0,     0,  1269,     0,     0,
     2214       0,     0,     0,     0,     0,     0,   717,     0,   213,     0,
     2215    1277,     0,     0,   213,     0,     0,     0,     0,   167,   364,
     2216       0,     0,     0,  1284,     0,  1286,  1287,  1288,  1289,     0,
     2217     525,     0,   525,     0,     0,   525,     0,   167,   525,     0,
     2218       0,  1296,     0,  1297,     0,     0,     0,   174,     0,     0,
     2219     370,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2220       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
     2221       0,   510,     0,     0,     0,    88,  1325,  1326,   128,   128,
     2222       0,     0,     0,     0,     0,   213,     0,     0,     0,     0,
     2223       0,     0,     0,     0,     0,     0,     0,     0,     0,   213,
     2224       0,     0,   167,     0,     0,     0,     0,   128,     0,     0,
     2225     128,   128,     0,   128,   370,   128,   128,     0,   816,   498,
     2226     128,   128,     0,     0,     0,     0,     0,     0,    88,  1361,
     2227    1362,     0,     0,     0,   510,     0,     0,     0,     0,  1372,
     2228       0,     0,     0,     0,   598,     0,     0,     0,     0,   598,
     2229       0,     0,     0,     0,     0,     0,     0,     0,   370,   370,
     2230     370,     0,     0,     0,     0,     0,   510,     0,     0,  1022,
     2231       0,     0,     8,     9,    10,    11,    12,   370,     0,     0,
     2232       0,     0,     0,     0,   213,     0,     0,     0,     0,     0,
     2233    1404,     0,   158,     0,     0,     0,   213,     0,     0,   284,
     2234     285,    31,   286,  1409,     0,  1410,  1411,  1412,     0,   525,
     2235       0,     0,     0,     0,     0,   213,     0,  1416,     0,     0,
     2236       0,     0,     0,     0,     0,     0,  1427,     0,   287,    34,
     2237       0,     0,     0,     0,   288,   370,     0,   941,   289,     0,
     2238     253,   290,   291,   292,   293,    41,    42,     0,   294,   295,
     2239     258,     0,     0,  1450,     0,     0,    43,     0,     0,     0,
     2240       0,   128,   128,     0,     0,     0,     0,     0,     0,     0,
     2241       0,   296,   717,   380,     0,     0,     0,     0,     0,     0,
     2242     345,    47,   298,   299,   300,   301,     0,   510,     0,     0,
     2243       0,     0,     0,     0,     0,     0,     0,     0,  1489,  1490,
     2244       0,     0,     0,     0,     0,     0,   158,     0,     0,     0,
     2245       0,  1495,     0,     0,     0,     0,     0,     0,  1495,     0,
     2246     387,     0,     0,     0,     0,     0,     0,     0,     0,   213,
     2247     370,     0,   510,     0,   622,     0,     0,     0,   370,     0,
     2248       0,     0,     0,   419,     0,     0,     0,     0,     0,     0,
     2249       0,  1529,     0,     0,     0,  1535,     0,   434,     0,     0,
     2250       0,   213,     0,     0,     0,     0,   439,     0,     0,     0,
     2251     510,     0,     0,     0,     0,     0,   447,     0,     0,     0,
     2252       0,     0,     0,   510,  1557,     0,  1558,     0,     0,     0,
     2253       0,     0,     0,     0,     0,     0,     0,   213,     0,     0,
     2254       0,   465,     0,     0,     0,     0,   475,     0,   213,     0,
     2255       0,     0,     0,     0,  1573,  1574,     0,     0,     0,   483,
     2256       0,   128,  1577,  1578,   510,   493,   128,   497,     0,     0,
     2257       0,     0,     0,     0,   717,     0,     0,     0,     0,     0,
     2258       0,     0,     0,     0,   527,     0,     0,     0,     0,   525,
     2259       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2260       0,     0,     0,     0,   284,   285,     0,   286,     0,     0,
     2261       0,     0,     0,   167,     0,     0,     0,     0,     0,     0,
     2262     213,     0,     0,     0,     0,     0,   586,     0,     0,   370,
     2263       0,   591,     0,   287,   213,     0,     0,     0,     0,   288,
     2264       0,   510,     0,   289,     0,     0,   290,   291,   292,   293,
     2265      41,    42,     0,   294,   295,     0,     0,     0,     0,     0,
     2266     636,    43,     0,     0,   637,   638,     0,   640,     0,     0,
     2267       0,     0,   598,     0,   652,   653,   507,   654,   655,     0,
     2268     656,     0,   657,     0,     0,    46,    47,   298,   299,   300,
     2269     301,     0,     0,   370,   370,     0,     0,     0,     0,   586,
     2270       0,     0,     0,     0,   510,   510,     0,   672,     0,     0,
     2271       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2272       0,     0,     0,     0,     0,     0,   213,     0,     0,     0,
     2273     128,     0,   683,     0,     0,     0,     0,     0,     0,     0,
     2274       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2275       0,     0,     0,   525,     0,     0,     0,     0,   709,     0,
     2276       0,     0,     0,     0,   712,     0,     0,  -520,     0,   465,
     2277       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
     2278      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2279      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2280      29,     0,     0,    30,     0,   749,    31,    32,     0,     0,
     2281       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2282     768,     0,   717,     0,   213,     0,     0,     0,     0,     0,
     2283       0,    33,     0,     0,    34,     0,    35,     0,    36,    37,
     2284       0,    38,    39,    40,     0,     0,     0,     0,     0,     0,
     2285      41,    42,     0,     0,     0,     0,     0,     0,   795,     0,
     2286       0,    43,   128,     0,   220,     0,     0,   805,     0,   342,
     2287     365,     0,     0,     0,   807,     0,    44,     0,    45,     0,
     2288     815,     0,     0,     0,     0,    46,    47,     0,     0,   829,
     2289       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2290       0,   717,     0,   415,     0,     0,     0,     0,     0,     0,
     2291     415,     0,     0,     0,     0,   510,     0,     0,     0,     0,
     2292       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2293     869,     0,     0,   510,     0,     0,     0,     0,     0,     0,
     2294       0,   284,   285,     0,   286,     0,     0,     0,     0,     0,
     2295       0,     0,     0,   370,   370,     0,     0,     0,     0,     0,
     2296       0,     0,   220,     0,     0,     0,   815,     0,     0,     0,
     2297     287,     0,     0,     0,   911,     0,   288,     0,     0,     0,
     2298     289,     0,   415,   290,   291,   292,   293,    41,    42,     0,
     2299     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2300       0,     0,     0,     0,     0,   253,   510,   510,     0,     0,
     2301       0,     0,     0,   296,     0,   948,   949,     0,     0,     0,
     2302       0,     0,    46,    47,   298,   299,   300,   301,     0,   966,
     2303       0,     0,     0,     0,     0,     0,   415,     0,     0,     0,
     2304       0,     0,     0,     0,   415,   582,     0,   415,   585,     0,
     2305     988,     0,   989,     0,     0,     0,   993,     0,   365,     0,
     2306       0,     0,   614,     0,     0,     0,     0,     0,     0,     0,
     2307       0,     0,     0,     0,     0,     0,     0,     0,   370,     0,
     2308     213,   632,     0,     0,   342,     8,     9,    10,    11,    12,
     2309      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2310      23,    24,    25,  -295,     0,    26,    27,    28,     0,     0,
     2311       0,   415,     0,     0,    31,   415,     0,     0,     0,     0,
     2312       0,  1027,     0,     0,     0,     0,     0,     0,  1028,     0,
     2313       0,     0,     0,     0,     0,     0,   525,     0,   525,     0,
     2314       0,  1030,    34,  1031,     0,     0,   365,    37,     0,   337,
     2315     338,    40,     0,  -295,     0,     0,     0,  1043,    41,    42,
     2316       0,     0,     0,     0,  1047,     0,     0,     0,     0,    43,
     2317       0,     0,     0,   525,   322,   525,  1085,     0,     0,  1086,
     2318       0,     0,     0,     0,   347,     0,   339,     0,     0,     0,
     2319       0,     0,   415,    46,    47,   365,   383,   383,     0,     0,
     2320       0,     0,     0,   167,   207,     2,   208,     4,     5,     6,
     2321       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2322      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2323       0,    26,    27,    28,   415,     0,     0,     0,   342,   365,
     2324      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2325       0,     0,     0,     0,     0,     0,     0,     0,   591,     0,
     2326       0,     0,     0,     0,     0,     0,     0,   322,    34,     0,
     2327      35,     0,    36,     0,     0,   209,    39,     0,     0,     0,
     2328       0,     0,     0,   415,   415,     0,     0,     0,     0,     0,
     2329       0,   479,     0,     0,  1159,    43,     0,     0,     0,     0,
     2330       0,     0,   809,   365,     0,     0,     0,     0,     0,     0,
     2331       0,     0,   210,   614,     0,   614,   614,     0,     0,    46,
     2332      47,     0,   614,     0,     0,     0,     0,     0,     0,     0,
     2333       0,     0,   848,   365,     0,     0,     0,     0,   365,     0,
     2334       0,     0,     0,     0,     0,     0,     0,   365,   365,   365,
     2335       0,     0,   527,     0,     0,     0,     0,     0,  1224,     0,
     2336       0,     0,     0,     0,     0,     0,   365,     0,     0,     0,
     2337       0,   415,   891,     0,     0,   415,   894,     0,     0,     0,
     2338       0,     0,   896,     0,     0,     0,     0,     0,     0,     0,
     2339       0,     0,  1236,     0,     0,     0,     0,  1238,     0,     0,
     2340       0,   415,     0,     0,     0,  1242,     0,   383,     0,     0,
     2341       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2342       0,     0,     0,     0,   365,   614,     0,     0,     0,     0,
     2343       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2344       0,  1271,     0,     0,     0,     0,     0,     0,     0,     0,
     2345       0,     0,     0,  1279,     0,     0,  1280,     0,  1281,     0,
     2346     342,   365,     0,     0,     0,   415,   415,     0,     0,     0,
     2347       0,     0,  1290,  1291,     0,     0,     0,     0,     0,     0,
     2348       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2349       0,     0,     0,     0,  1304,     0,     0,     0,     0,     0,
     2350       0,   711,   284,   285,     0,   286,     0,     0,     0,     0,
     2351       0,   415,     0,     0,     0,     0,     0,     0,     0,   365,
     2352       0,     0,     0,     0,     0,     0,   809,   365,     0,     0,
     2353     614,   287,   614,     0,     0,     0,     0,   288,     0,     0,
     2354     745,   289,   614,  1345,   290,   291,   292,   293,    41,    42,
     2355       0,   294,   295,   762,     0,     0,     0,     0,   745,    43,
     2356       0,   745,     0,     0,     0,     0,     0,     0,     0,     0,
     2357       0,     0,   772,   773,   296,     0,   380,     0,     0,     0,
     2358       0,   761,     0,    46,    47,   298,   299,   300,   301,     0,
     2359       0,     0,     0,     0,     0,   794,     0,     0,     0,     0,
     2360       0,     0,     0,     0,     0,   803,     0,     0,     0,     0,
     2361       0,     0,   347,     0,     0,   809,     0,   762,     0,  1396,
     2362       0,  1397,   342,   365,   415,     0,   415,     0,     0,     0,
     2363     415,     0,     0,     0,     0,  1407,     0,  1408,     0,     0,
     2364       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2365       0,   614,   614,     0,     0,  1415,     0,     0,     0,     0,
     2366       0,     0,     0,     0,     0,     0,   868,     0,     0,     0,
     2367       0,  1433,  1435,     0,     0,   383,     0,     0,   365,     0,
     2368       0,     0,  1440,     0,     0,  1242,     0,     0,   415,     8,
     2369       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2370      19,    20,    21,    22,    23,    24,    25,  -295,  1464,     0,
     2371     415,  1156,     0,     0,     0,     0,     0,  1471,    31,     0,
     2372    1473,   365,  1475,  1477,  1479,     0,     0,   415,  1168,     0,
     2373     614,   614,  1173,     0,     0,     0,     0,     0,     0,     0,
     2374       0,     0,   365,   365,     0,     0,    34,     0,     0,     0,
     2375       0,     0,     0,     0,     0,     0,     0,  -295,     0,     0,
     2376       0,     0,     0,     0,  1510,     0,  1512,     0,  1242,     0,
     2377       0,     0,     0,     0,     0,   762,     0,   972,     0,     0,
     2378       0,     0,     0,     0,  1524,     0,     0,   983,     0,     0,
     2379       0,     0,     0,     0,   992,     0,     0,     0,     0,     0,
     2380       0,     0,     0,     0,     0,   415,     0,   415,     0,     0,
     2381       0,     0,   415,     0,     0,     0,     0,     0,     0,     0,
     2382       0,   614,     0,     0,     0,     0,     0,     0,     0,  1175,
     2383       0,     0,     8,     9,    10,    11,    12,  1010,  1011,     0,
     2384       0,   347,     0,     0,     0,     0,   809,   415,  1258,     0,
     2385       0,     0,     0,     0,     0,   347,     0,     0,     0,   284,
     2386     285,    31,   286,     0,     0,     0,     0,     0,     0,     0,
     2387       0,   365,     0,     0,     0,     0,     0,     0,     0,     0,
     2388       0,     0,     0,     0,     0,     0,     0,     0,   287,    34,
     2389       0,     0,     0,     0,   288,  1041,     0,     0,   289,   383,
     2390       0,   290,   291,   292,   293,    41,    42,     0,   294,   295,
    20612391       0,     0,     0,     0,     0,     0,    43,     0,     0,     0,
    2062      353,   355,     0,     0,    45,    46,    66,     0,    87,     0,
    2063      413,     0,     0,    80,   323,     0,     0,   421,     0,     0,
    2064        0,     0,     0,     0,     0,     0,     0,     0,   627,   216,
    2065      348,     0,     0,     0,     0,   260,   712,     0,   348,  1085,
    2066       87,     0,     0,     0,   353,   355,   355,   355,     0,     0,
    2067      225,     0,     0,     0,   353,     0,   353,     0,     0,     0,
    2068        0,   223,     0,   355,   353,  1099,     0,     0,   353,     0,
    2069        0,     0,     0,   431,   118,     0,     0,   226,     0,     0,
    2070        0,   355,     0,     0,     0,     0,     0,     0,     0,   413,
    2071        0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
    2072        0,     0,     0,    57,     0,     0,     0,     0,     0,     0,
    2073        0,     0,     0,     0,     0,     0,     0,     0,    78,     0,
    2074        0,   355,     0,     0,   216,     0,     0,     0,     0,    75,
    2075        0,   594,     0,     0,     0,     0,     0,     0,   356,     0,
    2076        0,     0,     0,   576,   429,     0,     0,     0,     0,   698,
    2077      698,   580,   350,   350,   583,     0,   355,     0,     0,   353,
    2078        0,     0,     0,     0,     0,   363,     0,   177,     0,     0,
    2079        0,    57,  1188,     0,     0,   206,     2,   207,     4,     5,
    2080        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2081       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2082      355,     0,    26,    27,    28,     0,     0,   698,   698,     0,
    2083      355,    31,   355,     0,     0,     0,     0,   224,   413,     0,
    2084      355,     0,   421,     0,   355,     0,     0,     0,     0,     0,
    2085        0,     0,     0,    80,     0,     0,     0,     0,    80,    34,
    2086        0,    35,     0,    36,    37,     0,   208,    39,    40,   348,
    2087      348,     0,     0,     0,   627,    41,    42,     0,     0,     0,
    2088       87,     0,     0,     0,     0,    87,     0,     0,     0,    57,
    2089        0,     0,   353,   353,     0,   353,   353,     0,   712,     0,
    2090        0,    43,     0,   209,     0,    78,     0,     0,     0,    45,
    2091       46,     0,     0,     0,     0,    75,     0,     0,     0,   413,
    2092        0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2093        0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
    2094        0,  1283,     0,     0,     0,     0,     0,     0,     0,     0,
    2095      353,   353,   225,     0,    31,     0,     0,   177,     0,   260,
    2096        0,     0,     0,    66,     0,     0,     0,     0,     0,     0,
    2097        0,     0,     0,     0,     0,   698,     0,   712,     0,   226,
    2098        0,   118,    34,     0,     0,     0,     0,    37,     0,   184,
    2099      185,    40,     0,     0,     0,   127,   127,   127,    41,    42,
    2100        0,     0,     0,     0,     0,     0,     0,   698,     0,     0,
    2101      576,   576,     0,     0,     0,   698,   698,   698,     0,    80,
    2102        0,   353,     0,     0,   186,     0,   350,   350,     0,     0,
    2103        0,     0,    45,    46,   356,     0,     0,    57,    57,    80,
    2104     1188,     0,     0,     0,     0,     0,    87,    80,   355,   355,
    2105        0,   355,   355,     0,     0,     0,     0,     0,     0,     0,
    2106       57,   363,     0,     0,   223,   356,    87,     0,   127,     0,
    2107      127,    78,     0,   118,    87,     0,     0,     0,    57,   698,
    2108        0,     0,     0,   356,     0,    80,    75,     0,     0,     0,
    2109        0,     0,   363,     0,     0,   276,     0,   883,   353,     0,
    2110      353,   886,     0,     0,     0,     0,   355,   355,     0,     0,
    2111      363,     0,    87,     0,     0,     0,     0,     0,     0,     0,
    2112        0,     0,     0,   348,   348,     0,     0,   356,     0,     0,
    2113      353,     0,    57,     0,     0,     0,     0,    57,   353,   353,
    2114      353,     0,     0,     0,     0,     0,   350,     0,     0,   353,
    2115      353,   127,     0,     0,   363,     0,     0,     0,     0,   127,
    2116        0,   127,   127,    75,     0,     0,   127,     0,   127,   127,
    2117       57,   118,     0,   168,     0,   173,     0,   355,   179,   180,
    2118      181,     0,   183,     0,     0,     0,     0,     0,     0,     0,
    2119        0,   356,     0,  1188,     0,     0,     0,   234,     0,     0,
    2120     1188,     0,   353,     0,     0,     0,     0,     0,     0,   249,
    2121      250,     0,     0,     0,   125,   128,   129,     0,   363,     0,
    2122      224,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2123       12,     0,     0,   576,     0,   356,   356,   356,   127,     0,
    2124        0,     0,    78,   348,     0,     0,     0,     0,     0,     0,
    2125        0,  1188,     0,   356,   355,    31,   355,     0,  1530,     0,
    2126        0,     0,   363,   363,   363,     0,     0,     0,    57,   353,
    2127        0,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2128      363,     0,    80,    34,     0,     0,   355,   255,    37,   256,
    2129       57,     0,    40,     0,   355,   355,   355,    57,   363,    41,
    2130       42,     0,     0,     0,     0,   355,   355,     0,    80,    87,
    2131        0,   356,     0,     0,     0,     0,    75,     0,     0,    78,
    2132        0,     0,     0,    75,     0,   718,     0,     0,     0,     0,
    2133        0,     0,     0,    45,    46,    87,     0,     0,   363,     8,
    2134        9,    10,    11,    12,     0,     0,   356,     0,    57,     0,
    2135        0,   413,     0,     0,     0,     0,     0,     0,   355,     0,
    2136        0,     0,     0,     0,     0,     0,     0,     0,    31,     0,
    2137      396,     0,     0,   363,    75,     0,     0,     0,     0,     0,
    2138      415,   416,     0,     0,     0,   420,     0,   422,   423,     0,
    2139      356,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    2140      356,    37,   356,   184,   185,    40,     0,   225,     0,     0,
    2141      356,     0,    41,    42,   356,     0,     0,   363,     0,     8,
    2142        9,    10,    11,    12,     0,   355,     0,   363,  1142,   363,
    2143        0,     0,     0,     0,   226,     0,     0,   363,   905,     0,
    2144      411,   363,     0,     0,     0,  1154,    45,    46,    31,     0,
    2145        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2146        0,     0,     0,     0,   591,     0,   599,     0,     0,     0,
    2147        0,     0,    78,     0,     0,    80,    34,   623,   624,    78,
    2148       31,    37,     0,   184,   185,    40,     0,     0,     0,     0,
    2149        0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
    2150        0,     0,    87,     0,     0,   356,     0,     0,    34,     0,
    2151        0,     0,     0,    37,     0,   184,   185,    40,  1505,     0,
    2152      411,     0,     0,   413,    41,    42,    45,    46,     0,     0,
    2153       78,     0,   363,     0,     0,     0,     0,     0,     0,     0,
    2154        0,     0,     0,   127,   127,     0,     0,     0,     0,     0,
    2155      266,     0,     0,     0,     0,     0,     0,     0,    45,    46,
    2156        0,     0,     0,  1242,     0,     0,     0,     0,     0,     0,
    2157        0,     0,   127,     0,     0,   127,   127,     0,   127,     0,
    2158      127,   127,     0,     0,     0,   127,   127,     1,     2,   207,
    2159        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2160       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2161       24,    25,  -291,     0,    26,    27,    28,    29,   356,   356,
    2162       30,   356,   356,    31,     0,     0,     0,     0,     0,     0,
    2163        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2164        0,    80,     0,     0,     0,   363,   363,     0,   363,   363,
    2165        0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
    2166        0,     0,  -291,     0,     0,     0,  1012,     0,    87,     8,
    2167        9,    10,    11,    12,     0,     0,   356,   356,     0,     0,
    2168        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2169        0,     0,     0,     0,     0,    44,   283,   284,    31,   285,
    2170        0,    45,    46,   363,   363,     0,     0,     0,     0,     0,
    2171        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2172        0,     0,     0,   127,   127,   286,    34,     0,     0,     0,
    2173        0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
    2174      291,   292,    41,    42,     0,   293,   294,   356,     0,     0,
    2175        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2176        0,     0,   795,   796,     0,     0,     0,     0,   295,     0,
    2177      379,     0,     0,     0,   363,     0,   344,    46,   297,   298,
    2178      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
    2179      225,   829,     0,     0,   832,   833,     0,   836,     0,   838,
    2180      839,     0,     0,     0,   840,   841,     0,     0,     0,     0,
    2181        0,     0,    80,     0,     0,     0,     0,   226,     0,   925,
    2182        0,   926,     0,     0,   356,     0,   356,     0,   929,   930,
    2183        0,     0,     0,   935,     0,     0,     0,     0,     0,    87,
    2184        0,     0,     0,     0,     0,   940,     0,     0,     0,     0,
    2185      944,   363,     0,   363,     0,     0,   356,     0,     0,     0,
    2186        0,     0,     0,     0,   356,   356,   356,     0,     0,     0,
    2187        0,     0,     0,     0,     0,   356,   356,     0,   978,     0,
    2188      127,     0,     0,   363,     0,   127,     0,     0,     0,    80,
    2189        0,   363,   363,   363,     0,     0,     0,     0,     0,     0,
    2190        0,     0,   363,   363,     0,     0,     0,     0,     0,     0,
    2191        0,     0,     0,     0,     0,     0,    87,     0,     0,     0,
    2192        0,     0,     0,     0,     0,     0,     0,     0,   356,     0,
    2193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2194      166,     0,   969,   970,     0,     0,     0,     0,     0,     0,
    2195        0,     0,     0,     0,     0,   363,     0,   219,     0,     0,
    2196     1162,     0,     0,     8,     9,    10,    11,    12,     0,     0,
    2197        0,     0,     0,     0,     0,     0,     0,  1023,  1024,  1025,
    2198     1026,     0,  1028,     0,     0,     0,     0,     0,     0,     0,
    2199      283,   284,    31,   285,     0,   356,     0,  1072,     0,     0,
    2200        0,     0,     0,     0,     0,   166,     0,     0,     0,   273,
    2201        0,  1078,     0,     0,     0,     0,     0,     0,     0,   286,
    2202       34,     0,   363,     0,     0,   287,     0,     0,     0,   288,
    2203        0,     0,   289,   290,   291,   292,    41,    42,   166,   293,
    2204      294,     0,    80,     0,     0,     0,   127,     0,   369,    80,
    2205        0,  1098,   375,     0,     0,     0,     0,     0,     0,     0,
    2206        0,     0,   295,     0,   379,     0,     0,     0,     0,    87,
    2207     1163,    46,   297,   298,   299,   300,    87,     8,     9,    10,
     2392       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2393       0,   296,   342,   380,     0,     0,     0,   347,     0,     0,
     2394    1176,    47,   298,   299,   300,   301,     0,     0,     0,     0,
     2395     365,     2,   208,     4,     5,     6,     7,     8,     9,    10,
    22082396      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2209       21,    22,    23,    24,    25,     0,  1129,    26,    27,    28,
    2210       80,   166,  1136,     0,  1090,     0,    31,  1140,     0,     0,
    2211        0,     0,  1144,   219,  1145,     0,     0,     0,  1147,     0,
    2212     1148,  1149,     0,     0,  1152,     0,     0,    87,     0,     0,
    2213        0,   166,     0,  1164,    34,     0,     0,     0,     0,     0,
    2214        0,   208,    39,     0,     0,     0,     0,     0,     0,     0,
    2215        0,  1179,  1180,     0,     0,     0,   375,     0,     0,     0,
    2216        0,     0,     0,   166,     0,     0,     0,     0,     0,     0,
    2217        0,     0,     0,     0,     0,   127,     0,     0,  1210,     0,
    2218        0,  1212,     0,     0,    45,    46,   524,     0,     0,     0,
    2219        0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
    2220        0,     0,     0,     0,   212,     0,     0,     0,     0,     0,
    2221        0,     0,     0,     0,   232,     0,   236,     0,   238,     0,
    2222        0,     0,     0,     0,  1226,   247,     0,     0,     0,     0,
    2223     1230,  1231,     0,     0,     0,     0,   597,     0,     0,     0,
    2224        0,   621,     0,     0,     0,     0,     0,     0,     0,     0,
    2225     1247,     0,     0,  1251,     0,     0,   212,  1253,   236,   238,
    2226      247,     0,     0,     0,     0,  1218,     0,     0,     0,     0,
    2227     1261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2228        0,     0,     0,  1268,     0,  1270,  1271,  1272,  1273,     0,
    2229        0,     0,     0,     0,     0,     0,     0,     0,     0,   212,
    2230        0,  1280,     0,  1281,     0,     0,     0,   173,     0,     0,
    2231        0,     0,     0,     0,     0,     0,     0,   166,   166,     0,
    2232        0,     0,     0,     0,   369,     0,     0,     0,     0,     0,
    2233        0,     0,     0,     0,     0,     0,  1309,  1310,     0,     0,
    2234        0,     0,     0,     0,     0,   524,     0,     0,     0,     0,
    2235        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2236      212,     0,   236,   238,   247,     0,     0,     0,     0,     0,
    2237        0,     0,     0,   715,     0,     0,     0,     0,     0,     0,
    2238        0,     0,     0,     0,     0,   166,  1342,  1343,     0,     0,
    2239        0,     0,     0,     0,  1304,     0,  1353,   524,   212,   524,
    2240        0,     0,   524,   212,   166,   524,     0,     0,     0,     0,
    2241        0,     0,     0,     0,     0,     0,     0,   369,   497,     0,
    2242        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2243        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2244       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2245       24,    25,  -291,     0,    26,    27,    28,  1388,     0,  1389,
    2246     1390,  1391,     0,    31,     0,     0,   212,     0,     0,   166,
    2247        0,  1395,     0,     0,     0,     0,     0,     0,     0,     0,
    2248     1406,   369,     0,     0,     0,   810,     0,     0,   212,     0,
    2249        0,    34,     0,   236,   238,     0,    37,     0,   336,   337,
    2250       40,   247,  -291,     0,     0,  1427,     0,    41,    42,     0,
    2251        0,   597,     0,     0,   321,     0,   597,     0,     0,     0,
    2252        0,     0,     0,     0,   346,   369,   369,   369,     0,   157,
    2253        0,     0,     0,   634,     0,   338,   382,   382,     0,     0,
    2254        0,    45,    46,   369,   212,     0,     0,     0,  1465,  1466,
    2255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2256        0,  1471,   212,     0,     0,     0,     0,   212,  1471,   212,
    2257      283,   284,     0,   285,     0,   524,     0,   252,     0,     0,
    2258        0,     0,     0,     0,     0,     0,   212,   257,     0,   212,
    2259      212,     0,     0,     0,     0,     0,     0,   212,     0,   286,
    2260     1504,   369,     0,   934,  1510,   287,     0,   321,     0,   288,
    2261        0,   212,   289,   290,   291,   292,    41,    42,   212,   293,
    2262      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2263        0,   478,  1532,     0,  1533,     0,   715,     0,     0,     0,
    2264        0,     0,   295,   157,   379,     0,     0,   380,     0,     0,
    2265       45,    46,   297,   298,   299,   300,     0,   386,     0,     0,
    2266        0,     0,  1548,  1549,     0,     0,     0,     0,     0,     0,
    2267     1552,  1553,     0,     0,     0,     0,     0,     0,     0,     0,
    2268      418,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2269        0,     0,   369,     0,   433,     0,   621,     0,     0,     0,
    2270      369,     0,     0,   438,     0,     0,     0,     0,     0,     0,
    2271        0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
    2272        0,     0,     0,     0,   283,   284,     0,   285,     0,     0,
    2273        0,     0,   212,     0,     0,     0,     0,     0,   464,     0,
    2274        0,     0,     0,   474,     0,     0,     0,   382,     0,     0,
    2275        0,     0,     0,   286,     0,     0,   482,     0,     0,   287,
    2276      212,     0,   492,   288,   496,   212,   289,   290,   291,   292,
    2277       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2278        0,   526,     0,     0,     0,     0,     0,     0,     0,     0,
    2279        0,     0,     0,     0,     0,   715,   295,     0,   379,     0,
    2280        0,     0,     0,   757,    45,    46,   297,   298,   299,   300,
    2281      524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2282        0,     0,     0,   585,     0,     0,     0,     0,   590,     0,
    2283        0,     0,     0,     0,   166,     0,   212,     0,     0,     0,
    2284        0,   709,     0,     0,     0,     0,     0,     0,     0,     0,
    2285      212,     0,     0,     0,     0,     0,     0,   635,     0,     0,
    2286        0,   636,   637,     0,   639,     0,     0,     0,     0,     0,
    2287      497,   650,   651,     0,   652,   653,     0,   654,     0,   655,
    2288      741,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2289      597,     0,     0,   758,     0,     0,   585,     0,   741,     0,
    2290        0,   741,     0,     0,   670,     0,     0,     0,     0,     0,
    2291        0,   369,   369,   767,     0,     0,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,     0,     0,     0,     0,   681,
    2293        0,   212,     0,     0,     0,   788,     0,     0,     0,     0,
    2294        0,     0,     0,   212,     0,   797,     0,     0,     0,     0,
    2295        0,     0,   346,     0,     0,   707,     0,   758,     0,     0,
    2296        0,   710,   212,     0,     0,     0,   464,     0,     0,     0,
    2297        0,   524,     0,     0,     0,     0,   206,     2,   207,     4,
    2298        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2299       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2300       25,     0,   745,    26,    27,    28,   862,     0,     0,     0,
    2301        0,     0,    31,     0,   382,     0,     0,   763,     0,     0,
    2302        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2303        0,     0,     0,     0,     0,     0,     0,   715,     0,     0,
    2304       34,     0,    35,     0,    36,     0,     0,   208,    39,     0,
    2305        0,     0,     0,   283,   284,   789,   285,     0,     0,     0,
    2306        0,     0,     0,     0,   799,     0,     0,     0,     0,     0,
    2307        0,   801,     0,     0,     0,   212,     0,   809,     0,   219,
    2308        0,     0,   286,     0,   209,     0,   823,     0,   287,     0,
    2309       45,    46,   288,     0,     0,   289,   290,   291,   292,    41,
    2310       42,     0,   293,   294,     0,   212,     0,     0,     0,     0,
    2311        0,     0,   758,     0,   963,     0,   715,     0,     0,   341,
    2312      364,     0,     0,     0,   974,   295,   863,   379,     0,     0,
    2313      982,     0,     0,    45,    46,   297,   298,   299,   300,     0,
    2314      212,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2315        0,   212,     0,   414,     0,     0,     0,     0,     0,     0,
    2316      414,     0,   809,     0,     0,   369,   369,     0,     0,     0,
    2317      904,     0,  1000,  1001,   219,     0,   346,     0,     0,     0,
    2318        0,     0,     0,     0,     0,     0,     0,     0,     0,   507,
    2319      346,   509,   512,     0,     0,     0,     0,     0,     0,   515,
    2320      516,   252,     0,     0,     0,     0,     0,     0,     0,     0,
    2321        0,   941,   942,   509,   509,     0,     0,     0,     0,     0,
    2322        0,     0,     0,   212,     0,     0,     0,     0,     0,     0,
    2323     1031,     0,   414,     0,   382,     0,     0,   212,     0,     0,
    2324        0,     0,     0,     0,   979,     0,     0,     0,     0,   983,
    2325        0,   509,     8,     9,    10,    11,    12,    13,    14,    15,
    2326       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2327        0,   346,    26,    27,    28,     0,     0,     0,     0,     0,
    2328        0,    31,   684,     0,     0,   369,   414,   509,     0,     0,
    2329        0,     0,     0,     0,   414,   581,     0,   414,   584,     0,
    2330        0,     0,     0,     0,     0,     0,     0,     0,   364,    34,
    2331      321,     0,   613,  1017,     0,     0,    38,    39,     0,     0,
    2332     1018,     0,     0,     0,     0,     0,   212,     0,     0,     0,
    2333        0,   631,     0,  1020,   341,  1021,     0,     0,   382,     0,
    2334        0,   524,     0,   524,   974,     0,     0,     0,   741,  1033,
    2335        0,     0,     0,   685,     0,  1037,     0,   686,     0,    45,
    2336       46,   414,     0,     0,     0,   414,     0,  1075,     0,  1150,
    2337     1076,     0,     0,     0,     0,     0,     0,   524,     0,   524,
    2338     1165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2339        0,     0,     0,     0,     0,     0,   364,     0,     0,     0,
    2340        0,     0,   382,     0,  1183,     0,   166,     0,     0,     0,
    2341        0,     0,     0,     0,     0,     0,     0,     0,     0,   974,
    2342      974,   212,     8,     9,    10,    11,    12,    13,    14,    15,
    2343       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2344     1215,     0,   414,     0,     0,   364,     0,   590,     0,     0,
    2345        0,    31,     0,     0,     0,   509,   509,   509,   509,   509,
    2346      509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
    2347      509,   509,   509,     0,     0,     0,     0,   283,   284,    34,
    2348      285,     0,  1146,     0,   414,     0,     0,     0,   341,   364,
    2349        0,     0,     0,     0,     0,   974,     0,     0,     0,     0,
    2350        0,     0,     0,     0,     0,     0,   286,     0,     0,     0,
    2351        0,     0,   287,   862,     0,     0,   288,     0,     0,   289,
    2352      290,   291,   292,    41,    42,     0,   293,   294,  1266,  1267,
    2353        0,     0,     0,   414,   414,     0,     0,     0,     0,     0,
    2354      526,     0,     0,     0,     0,     0,  1211,     0,     0,   295,
    2355        0,   379,   803,   364,   971,     0,     0,    45,    46,   297,
    2356      298,   299,   300,   613,     0,   613,   613,     0,     0,     0,
    2357        0,     0,   613,     0,     0,     0,     0,     0,     0,     0,
    2358     1223,     0,   842,   364,     0,  1225,     0,     0,   364,     0,
    2359        0,     0,     0,  1229,     0,     0,     0,   364,   364,   364,
    2360        0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
    2361        0,     0,     0,     0,     0,   364,     0,     0,     0,     0,
    2362      414,   884,     0,     0,   414,   887,  1255,     0,     0,     0,
    2363        0,   889,     0,     0,     0,     0,     0,     0,  1263,     0,
    2364        0,  1264,     0,  1265,     0,     0,     0,     0,     0,     0,
    2365      414,     0,     0,     0,     0,     0,     0,  1274,  1275,     0,
    2366        0,     0,   509,     0,     0,     0,     0,     0,   212,  1371,
    2367        0,     0,   741,   364,   613,     0,     0,     0,     0,  1288,
    2368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2369        0,     0,   509,     0,     0,     0,     0,     0,     0,     0,
    2370        0,     0,     0,     0,     0,     0,     0,   341,   364,     0,
    2371        0,     0,   414,   414,     0,     0,     0,     0,     0,     0,
    2372        0,     0,     0,     0,     0,     0,  1327,     0,     0,     0,
    2373        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2374       17,    18,    19,    20,    21,    22,    23,    24,    25,  -291,
    2375        0,    26,    27,    28,     0,     0,   414,     0,     0,     0,
    2376       31,     0,     0,     0,   364,     0,     0,     0,     0,     0,
    2377        0,   803,   364,     0,     0,   613,     0,   613,     0,     0,
    2378        0,     0,     0,     0,     0,     0,     0,   613,    34,     0,
    2379        0,     0,     0,    37,     0,   336,   337,    40,     0,  -291,
    2380        0,  1377,     0,  1378,    41,    42,     0,     0,     0,     0,
    2381        0,     0,   509,     0,     0,  1386,     0,  1387,     0,     0,
    2382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2383        0,     0,   338,     0,  1394,     0,     0,     0,    45,    46,
    2384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2385     1412,  1414,     0,     0,     0,     0,     0,   509,     0,   803,
    2386        0,  1419,     0,     0,  1229,     0,   341,   364,   414,     0,
    2387      414,     0,     0,     0,   414,     0,     0,     0,     0,     0,
    2388        0,     0,   321,     0,     0,  1441,     0,     0,     0,     0,
    2389        0,     0,   509,     0,  1448,   613,   613,  1450,     0,  1452,
    2390     1454,  1456,     0,     0,     0,   509,     8,     9,    10,    11,
    2391       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2392       22,    23,    24,    25,  -291,     0,     0,     0,     0,     0,
    2393      414,     0,     0,     0,     0,    31,     0,     0,     0,  1486,
    2394        0,  1488,     0,  1229,     0,     0,   509,     0,     0,     0,
    2395        0,   414,  1143,     0,     0,     0,     0,     0,  1499,     0,
    2396        0,     0,   364,    34,     0,     0,     0,     0,   414,  1155,
    2397        0,   613,   613,  1160,  -291,     0,     0,     0,     0,     0,
    2398        0,     0,     0,   364,   364,     0,     0,     0,     0,     0,
    2399        0,     0,     0,     0,     0,     0,     0,     1,     2,   207,
    2400        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2401       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2402       24,    25,     0,   509,    26,    27,    28,    29,     0,     0,
    2403       30,   283,   284,    31,   285,     0,     0,     0,     0,     0,
    2404        0,     0,     0,     0,     0,     0,   414,     0,   414,     0,
    2405        0,     0,     0,   414,     0,     0,     0,     0,     0,     0,
    2406      286,    34,   613,    35,     0,    36,   287,     0,    38,    39,
    2407      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2408      293,   294,     0,   509,   509,   803,   414,  1243,     0,     0,
    2409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2410        0,     0,     0,   295,     0,  1055,     0,     0,     0,   364,
    2411        0,    45,    46,   297,   298,   299,   300,     0,     0,     0,
    2412        0,     0,     0,     0,     0,     0,  -126,     0,     1,     2,
    2413      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2397      21,    22,    23,    24,    25,     0,   322,    26,    27,    28,
     2398       0,     0,     0,     0,   284,   285,    31,   286,     0,     0,
     2399       0,     0,  1132,  1133,     0,     0,     0,     0,     0,     0,
     2400       0,     0,   365,   365,     0,     0,   383,     0,     0,     0,
     2401       0,     0,   983,   287,    34,  1147,    35,   745,    36,   288,
     2402       0,    38,    39,   289,     0,     0,   290,   291,   292,   293,
     2403      41,    42,     0,   294,   295,     0,     0,     0,  1163,     0,
     2404       0,    43,     0,     0,     0,     0,     0,     0,     0,  1178,
     2405       0,   284,   285,     0,   286,     0,   296,     0,   344,     0,
     2406       0,     0,     0,   761,     0,   345,    47,   298,   299,   300,
     2407     301,   383,     0,  1196,     0,     0,     0,     0,     0,     0,
     2408     287,     0,     0,     0,     0,     0,   288,     0,   983,   983,
     2409     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2410     294,   295,     0,     0,     0,     0,     0,     0,    43,  1228,
     2411       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2412       0,     0,     0,   296,     0,   380,     0,   365,   980,     0,
     2413       0,     0,    46,    47,   298,   299,   300,   301,     0,     0,
     2414       0,     1,     2,     3,     4,     5,     6,     7,     8,     9,
     2415      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2416      20,    21,    22,    23,    24,    25,   983,     0,    26,    27,
     2417      28,    29,     0,     0,    30,     0,     0,    31,    32,     0,
     2418       0,     0,     0,     0,     0,   868,     0,     0,     0,     0,
     2419       0,   284,   285,     0,   286,     0,     0,     0,     0,     0,
     2420    1282,  1283,    33,     0,     0,    34,     0,    35,     0,    36,
     2421      37,     0,    38,    39,    40,     0,     0,   415,     0,     0,
     2422     287,    41,    42,     0,     0,     0,   288,     0,     0,     0,
     2423     289,     0,    43,   290,   291,   292,   293,    41,    42,     0,
     2424     294,   295,   415,   415,     0,     0,     0,    44,    43,    45,
     2425       0,     0,     0,  -524,     0,     0,    46,    47,     0,     0,
     2426       0,     0,     0,   296,     0,   380,     0,   415,     0,     0,
     2427       0,     0,    46,    47,   298,   299,   300,   301,     0,     0,
     2428     983,     0,     1,     2,   208,     4,     5,     6,     7,     8,
     2429       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2430      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2431      27,    28,    29,     0,     0,    30,   284,   285,    31,  1050,
     2432    1051,     0,  1052,     0,     0,  1053,  1054,  1055,  1056,  1057,
     2433    1058,  1059,  1060,     0,     0,     0,  1061,     0,     0,     0,
     2434    1062,  1063,     0,    33,  1390,   287,    34,   745,    35,     0,
     2435      36,  1064,     0,    38,    39,   289,     0,     0,   290,   291,
     2436     292,   293,    41,    42,     0,   294,   295,     0,     0,     0,
     2437       0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
     2438       0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
     2439    1065,     0,     0,   173,     0,     0,     0,    46,    47,   298,
     2440     299,   300,   301,     0,     0,     0,     0,  1066,     0,     0,
     2441       0,  -130,     0,     0,     0,     0,     0,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2443       0,  1449,     0,     0,     0,     0,     0,     0,     1,     2,
     2444     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    24142445      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    24152446      23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
    2416        0,    30,   283,   284,    31,  1040,  1041,     0,  1042,     0,
    2417      341,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,
    2418        0,     0,  1051,     0,     0,     0,  1052,  1053,   364,    33,
    2419        0,   286,    34,     0,    35,     0,    36,  1054,     0,    38,
    2420       39,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2421        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
    2422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2423        0,     0,     0,     0,   295,     0,  1055,   364,   364,   172,
    2424        0,     0,    45,    46,   297,   298,   299,   300,     0,     0,
    2425        0,     0,  1056,     0,     0,     0,     0,  -126,     0,     0,
    2426        0,     0,     1,     2,   207,     4,     5,     6,     7,     8,
    2427        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2428       19,    20,    21,    22,    23,    24,    25,     0,   509,    26,
    2429       27,    28,    29,     0,     0,    30,   283,   284,    31,   285,
    2430        0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
    2431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2432        0,     0,     0,     0,     0,   286,    34,     0,    35,     0,
    2433       36,   287,     0,    38,    39,   288,     0,     0,   289,   290,
    2434      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2435        0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
    2436        0,     0,     0,     0,     0,     0,     0,     0,   295,     0,
    2437       44,     0,     0,     0,   509,   509,    45,    46,   297,   298,
    2438      299,   300,     0,     2,   207,     4,     5,     6,     7,     8,
    2439        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2440       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2441       27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
    2442        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2443       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2444       25,  -292,     0,     0,   414,   286,    34,     0,    35,     0,
    2445       36,   287,    31,    38,    39,   288,     0,     0,   289,   290,
    2446      291,   292,    41,    42,     0,   293,   294,     0,   414,   414,
    2447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2448       34,     0,     0,     0,     0,     0,     0,     0,   295,     0,
    2449      343,  -292,     0,   414,     0,   757,   344,    46,   297,   298,
    2450      299,   300,     2,   207,     4,     5,     6,     7,     8,     9,
    2451       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2452       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2453       28,     0,     0,     0,     0,   283,   284,    31,   285,     8,
    2454        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2455       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2456       27,    28,     0,     0,   286,    34,     0,    35,    31,    36,
    2457      287,     0,    38,    39,   288,     0,     0,   289,   290,   291,
    2458      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2459        0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    2460        0,   111,     0,    38,    39,     0,     0,   295,     0,   962,
    2461        0,     0,    41,    42,   757,   344,    46,   297,   298,   299,
    2462      300,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    2463       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2464       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2465        0,     0,     0,     0,   283,   284,    31,   285,     8,     9,
    2466       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2467       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2468       28,     0,     0,   286,    34,     0,    35,    31,    36,   287,
    2469        0,    38,    39,   288,     0,     0,   289,   290,   291,   292,
    2470       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2471        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2472        0,     0,    38,    39,     0,     0,   295,     0,   962,     0,
    2473        0,     0,     0,   757,    45,    46,   297,   298,   299,   300,
    2474        2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2447       0,    30,   284,   285,    31,   286,     8,     9,    10,    11,
    24752448      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    24762449      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2477        0,     0,     0,   283,   284,    31,   285,     8,     9,    10,
    2478       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2479       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2480        0,     0,   286,    34,     0,    35,    31,    36,   287,     0,
    2481       38,    39,   288,     0,     0,   289,   290,   291,   292,    41,
    2482       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2483        0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
    2484        0,   208,    39,     0,     0,   295,     0,   343,     0,     0,
    2485        0,     0,     0,   344,    46,   297,   298,   299,   300,     2,
    2486      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2450       0,   287,    34,     0,    35,    31,    36,   288,     0,    38,
     2451      39,   289,     0,  1516,   290,   291,   292,   293,    41,    42,
     2452       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2453       0,     0,     0,    34,     0,     0,     0,     0,   112,     0,
     2454      38,    39,     0,     0,   296,     0,  1065,     0,     0,    41,
     2455      42,     0,     0,    46,    47,   298,   299,   300,   301,     0,
     2456       0,     0,     0,     0,     0,     0,   322,  -130,     1,     2,
     2457     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2458      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2459      23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
     2460       0,    30,   284,   285,    31,   286,     0,     0,     0,     8,
     2461       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2462      19,    20,    21,    22,    23,    24,    25,  -296,     0,     0,
     2463       0,   287,    34,     0,    35,     0,    36,   288,    31,    38,
     2464      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2465       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2466       0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
     2467       0,     0,     0,     0,   296,     0,    45,  -296,     0,     0,
     2468       0,     0,     0,    46,    47,   298,   299,   300,   301,     2,
     2469     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    24872470      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    24882471      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2489        0,     0,   283,   284,    31,   285,     0,     0,     0,     0,
    2490        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2492        0,   286,    34,     0,    35,     0,    36,   287,     0,   208,
    2493       39,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2494        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
    2495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2496        0,     0,     0,     0,   295,     0,   997,     0,     0,     0,
    2497        0,     0,   998,    46,   297,   298,   299,   300,     2,   207,
    2498        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2499       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2500       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2501        0,   283,   284,    31,   285,     0,     0,     0,     0,     0,
    2502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2503        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2504      286,    34,     0,    35,     0,    36,   287,     0,    38,    39,
    2505      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2506      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
    2507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2508        0,     0,     0,   295,     0,   962,     0,     0,     0,     0,
    2509        0,   344,    46,   297,   298,   299,   300,     2,   207,     4,
    2510        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2511       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2512       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2513      283,   284,    31,   285,     0,     0,     0,     0,     0,     0,
    2514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2515        0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
    2516       34,     0,    35,     0,    36,   287,     0,   208,    39,   288,
    2517        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2518      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2520        0,     0,   295,     0,   379,     0,     0,     0,     0,     0,
    2521       45,    46,   297,   298,   299,   300,  -515,     0,     0,     1,
     2472       0,     0,   284,   285,    31,   286,     8,     9,    10,    11,
     2473      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2474      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2475       0,   287,    34,     0,    35,    31,    36,   288,     0,    38,
     2476      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2477       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2478       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
     2479      38,    39,     0,     0,   296,     0,   971,     0,     0,     0,
     2480       0,   761,     0,   345,    47,   298,   299,   300,   301,     2,
     2481     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2482      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2483      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2484       0,     0,   284,   285,    31,   286,     8,     9,    10,    11,
     2485      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2486      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2487       0,   287,    34,     0,    35,    31,    36,   288,     0,    38,
     2488      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2489       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2490       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
     2491     209,    39,     0,     0,   296,     0,   971,     0,     0,     0,
     2492       0,   761,     0,    46,    47,   298,   299,   300,   301,     2,
     2493     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2494      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2495      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2496       0,     0,   284,   285,    31,   286,     0,     0,     0,     0,
     2497       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2498       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2499       0,   287,    34,     0,    35,     0,    36,   288,     0,    38,
     2500      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2501       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2502       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2503       0,     0,     0,     0,   296,     0,   344,     0,     0,     0,
     2504       0,     0,     0,   345,    47,   298,   299,   300,   301,     2,
     2505     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2506      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2507      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2508       0,     0,   284,   285,    31,   286,     0,     0,     0,     0,
     2509       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2510       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2511       0,   287,    34,     0,    35,     0,    36,   288,     0,   209,
     2512      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2513       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2514       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2515       0,     0,     0,     0,   296,     0,  1007,     0,     0,     0,
     2516       0,     0,     0,  1008,    47,   298,   299,   300,   301,     2,
     2517     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2518      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2519      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2520       0,     0,   284,   285,    31,   286,     0,     0,     0,     0,
     2521       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2522       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2523       0,   287,    34,     0,    35,     0,    36,   288,     0,    38,
     2524      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2525       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2526       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2527       0,     0,     0,     0,   296,     0,   971,     0,     0,     0,
     2528       0,     0,     0,   345,    47,   298,   299,   300,   301,     2,
     2529     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2530      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2531      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2532       0,     0,   284,   285,    31,   286,     0,     0,     0,     0,
     2533       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2534       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2535       0,   287,    34,     0,    35,     0,    36,   288,     0,   209,
     2536      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2537       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2538       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2539       0,     0,     0,     0,   296,     0,   380,     0,     0,     0,
     2540       0,     0,     0,    46,    47,   298,   299,   300,   301,     1,
    25222541       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    25232542      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     
    25292548      38,    39,    40,     0,     0,     0,     0,     0,     0,    41,
    25302549      42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2531        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2532        0,     0,     0,     0,     0,    43,     0,    44,     0,     0,
    2533        0,     0,     0,    45,    46,     1,     2,     3,     4,     5,
    2534        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2535       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2536        0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    2537        0,    31,    32,     0,     0,     0,     0,     0,     0,     0,
    2538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2539        0,     0,     0,     0,     0,     0,    33,     0,     0,    34,
    2540        0,    35,     0,    36,    37,     0,    38,    39,    40,     0,
    2541        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    2542        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2543        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2544        0,    43,     0,    44,     0,     0,     0,  -519,     0,    45,
    2545       46,     1,     2,     3,     4,     5,     6,     7,     8,     9,
    2546       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2547       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2548       28,    29,     0,     0,    30,     0,     0,    31,    32,     0,
    2549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2551        0,     0,    33,     0,     0,    34,     0,    35,     0,    36,
    2552       37,     0,    38,    39,    40,     0,     0,     0,     0,     0,
    2553        0,    41,    42,     0,     0,     0,     0,     0,     0,     0,
    2554        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2555        0,     0,     0,     0,     0,     0,     0,    43,     0,    44,
    2556        0,     0,     0,     0,     0,    45,    46,     1,     2,   207,
    2557        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2550      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2551       0,     0,     0,     0,     0,    44,     0,    45,     0,     0,
     2552       0,     0,     0,     0,    46,    47,   207,     2,   208,     4,
     2553       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2554      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2555      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2556       0,     0,    31,     0,     8,     9,    10,    11,    12,    13,
    25582557      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2559       24,    25,     0,     0,    26,    27,    28,    29,     0,     0,
    2560       30,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    2561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2563        0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
    2564        0,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2558      24,    25,     0,     0,    26,    27,    28,   486,   487,   488,
     2559      34,     0,    35,    31,    36,    37,     0,   209,    39,    40,
     2560       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2561       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2562       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2563       0,     0,    44,     0,   210,     0,     0,     0,     0,     0,
     2564       0,    46,    47,     1,     2,   208,     4,     5,     6,     7,
     2565       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2566      18,    19,    20,    21,    22,    23,    24,    25,  -295,     0,
     2567      26,    27,    28,    29,     0,     0,    30,     0,     0,    31,
     2568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2569       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2570       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2571       0,    36,     0,     0,    38,    39,     0,     0,  -295,     0,
     2572       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2573       0,     0,     0,     0,    43,     0,     0,     0,     0,     0,
     2574       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2575       0,    45,     0,     0,     0,     0,     0,     0,    46,    47,
     2576       1,     2,   208,     4,     5,     6,     7,     8,     9,    10,
    25652577      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    25662578      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2567        0,     0,     0,     0,     0,    44,    31,     0,     0,     0,
    2568        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
    2569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2570        0,     0,     0,     0,    34,     0,    35,     0,    36,    37,
    2571        0,   208,    39,    40,     0,     0,     0,     0,     0,     0,
    2572       41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
    2573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,    43,     0,   209,     0,
    2575        0,     0,     0,     0,    45,    46,     2,   207,     4,     5,
     2579      29,     0,     0,    30,     0,     0,    31,     0,     0,     0,
     2580       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2581       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2582       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2583       0,    38,    39,     0,     0,     0,     0,     0,     0,     0,
     2584       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2585       0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
     2586       0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
     2587       0,     0,     0,     0,     0,    46,    47,     2,   208,     4,
     2588       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2589      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2590      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2591       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2592       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2593       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2594      34,     0,    35,     0,    36,    37,     0,   209,    39,    40,
     2595       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2596       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2597       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2598       0,     0,    44,     0,   210,     0,     0,     0,     0,     0,
     2599       0,    46,    47,     2,   208,     4,     5,     6,     7,     8,
     2600       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2601      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2602      27,    28,     0,     0,     0,     0,     0,     0,    31,     0,
     2603       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2604       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2606      36,     0,     0,    38,    39,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
     2609       0,     0,     0,     0,     0,     0,     0,     0,     0,  -403,
     2610     679,     0,     0,     0,     0,     0,     0,    46,    47,     2,
     2611     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2612      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2613      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2614       0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
     2615       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2617       0,     0,    34,     0,    35,     0,    36,     0,     0,    38,
     2618      39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2619       0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
     2620       0,  1369,     0,     0,     0,     0,     0,     0,     0,     0,
     2621       0,     0,     0,     0,     0,     0,   679,     0,     0,     0,
     2622       0,     0,     0,    46,    47,     2,   208,     4,     5,     6,
     2623       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2624      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2625       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2626      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2627       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2628       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2629      35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
     2630       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2631       0,     0,     0,     0,     0,    43,     0,  1371,     0,     0,
     2632       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2633       0,     0,   679,     0,     0,     0,     0,     0,     0,    46,
     2634      47,     2,   208,     4,     5,     6,     7,     8,     9,    10,
     2635      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2636      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2637       0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
     2638       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2640       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2641       0,   209,    39,     0,     0,     0,     0,     0,     0,     0,
     2642       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2643       0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
     2644       0,     0,     0,     0,     0,     0,     0,     0,   272,     0,
     2645       0,     0,     0,     0,     0,    46,    47,     2,   208,     4,
     2646       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2647      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2648      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2649       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2650       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2651       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2652      34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
     2653       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2654       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2655       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2656       0,     0,     0,     0,   679,     0,     0,     0,     0,     0,
     2657       0,    46,    47,     2,   208,     4,     5,     6,     7,     8,
     2658       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2659      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2660      27,    28,     0,     0,     0,     0,     0,     0,    31,     0,
     2661       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2662       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2663       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2664      36,     0,     0,    38,    39,     0,     0,     0,     0,     0,
     2665       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2666       0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
     2667       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2668     593,     0,     0,     0,     0,     0,     0,    46,    47,     2,
     2669     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2670      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2671      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2672       0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
     2673       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2674       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2675       0,     0,    34,     0,    35,     0,    36,     0,     0,   209,
     2676      39,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2677      17,    18,    19,    20,    21,    22,    23,    24,    25,    43,
     2678       0,    26,    27,    28,     0,     0,     0,     0,   284,   285,
     2679      31,   286,     0,     0,     0,     0,   210,     0,     0,     0,
     2680       0,     0,     0,    46,    47,     0,     0,     0,     0,     0,
     2681       0,     0,     0,     0,     0,     0,     0,   287,    34,     0,
     2682       0,     0,     0,   288,     0,    38,    39,   289,     0,     0,
     2683     290,   291,   292,   293,    41,    42,     0,   294,   295,     0,
     2684       0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
     2685       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2686     296,     0,   518,     0,     0,   173,     0,     0,     0,    46,
     2687      47,   298,   299,   300,   301,     8,     9,    10,    11,    12,
     2688      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2689      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2690       0,     0,   284,   285,    31,   286,     0,     0,     0,     0,
     2691       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2692       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2693       0,   287,    34,     0,     0,     0,     0,   641,     0,    38,
     2694      39,   289,     0,     0,   290,   291,   292,   293,    41,    42,
     2695       0,   294,   295,     0,     0,     0,     0,     0,     0,    43,
     2696       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2697       0,     0,     0,     0,   296,   -35,   742,     0,     0,     0,
     2698       0,     0,     0,    46,    47,   298,   299,   300,   301,     8,
     2699       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2700      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2701      27,    28,     0,     0,     0,     0,   284,   285,    31,   286,
     2702       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2703       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2704       0,     0,     0,     0,     0,   287,    34,     0,     0,     0,
     2705       0,   288,     0,    38,    39,   289,     0,     0,   290,   291,
     2706     292,   293,    41,    42,     0,   294,   295,     0,     0,     0,
     2707       0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
     2708       0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
     2709     297,     0,     0,     0,     0,     0,     0,    46,    47,   298,
     2710     299,   300,   301,     8,     9,    10,    11,    12,    13,    14,
     2711      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2712      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2713     284,   285,    31,   286,     0,     0,     0,     0,     0,     0,
     2714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2715       0,     0,     0,     0,     0,     0,     0,     0,     0,   287,
     2716      34,     0,     0,     0,     0,   288,     0,    38,    39,   289,
     2717       0,     0,   290,   291,   292,   293,    41,    42,     0,   294,
     2718     295,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2719       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2720       0,     0,   296,     0,   159,     0,     0,     0,     0,     0,
     2721       0,    46,    47,   298,   299,   300,   301,     8,     9,    10,
     2722      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2723      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2724       0,     0,     0,     0,   284,   285,    31,   286,     0,     0,
     2725       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2726       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2727       0,     0,     0,   287,    34,     0,     0,     0,     0,   288,
     2728       0,    38,    39,   289,     0,     0,   290,   291,   292,   293,
     2729      41,    42,     0,   294,   295,     0,     0,     0,     0,     0,
     2730       0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
     2731       0,     0,     0,     0,     0,     0,   296,     0,   593,     0,
     2732       0,     0,     0,     0,     0,    46,    47,   298,   299,   300,
     2733     301,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2734      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2735       0,    26,    27,    28,     0,     0,     0,     0,   284,   285,
     2736      31,   286,     0,     0,     0,     0,     0,     0,     0,     0,
     2737       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2738       0,     0,     0,     0,     0,     0,     0,   287,    34,     0,
     2739       0,     0,     0,   288,     0,    38,    39,   289,     0,     0,
     2740     290,   291,   292,   293,    41,    42,     0,   294,   295,     0,
     2741       0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
     2742       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2743     296,     0,   380,     0,     0,     0,     0,     0,     0,    46,
     2744      47,   298,   299,   300,   301,   468,     2,   208,     4,     5,
    25762745       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    25772746      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    25782747       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2579        0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
    2580       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2581       22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
    2582        0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
    2583      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2748       0,    31,     0,     0,     0,     8,     9,    10,    11,    12,
    25842749      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2585       23,    24,    25,    34,     0,    26,    27,    28,     0,     0,
    2586       38,    39,  -399,   677,    31,     0,     0,     0,     0,    45,
    2587       46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2588        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2589        0,     0,    34,     0,    35,   634,    36,   338,     0,    38,
    2590       39,     0,     0,    45,    46,     0,     0,     0,     0,     0,
    2591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2592        0,  1350,     0,     0,     0,     0,     0,     0,     0,     0,
    2593        0,     0,     0,     0,     0,     0,   677,     0,     0,     0,
    2594        0,     0,    45,    46,     2,   207,     4,     5,     6,     7,
     2750      23,    24,    25,     0,     0,    26,    27,    28,     0,    34,
     2751       0,    35,     0,    36,    31,     0,    38,    39,     0,     0,
     2752       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2753      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2754      25,     0,    34,    26,    27,    28,     0,    37,     0,    38,
     2755      39,    40,    31,     0,     0,     0,    -3,     0,    41,    42,
     2756       0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
     2757       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2758      34,     0,     0,     0,    44,    37,   159,    38,    39,    40,
     2759       0,     0,     0,    46,    47,     0,    41,    42,     0,     0,
     2760       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2761       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2762       0,     0,    44,     0,    45,     0,     0,     0,     0,     0,
     2763       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2764      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2765      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2766       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2767      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2768      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2769      34,     0,    31,     0,     0,    37,     0,   209,    39,    40,
     2770       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2771       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2772      34,     0,     0,     0,     0,    37,     0,   337,   338,    40,
     2773       0,     0,    44,     0,   272,     0,    41,    42,     0,     0,
     2774       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2775       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2776       0,     0,   635,     0,   339,     0,     0,     0,     0,     0,
     2777       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2778      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2779      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2780       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2781      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2782      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2783      34,     0,    31,     0,     0,    37,     0,   337,   338,    40,
     2784       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2785       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2786      34,     0,     0,     0,     0,   112,     0,    38,    39,     0,
     2787       0,     0,     0,     0,   339,     0,    41,    42,     0,     0,
     2788       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2789       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2790       0,     0,     0,     0,    45,     0,     0,     0,     0,     0,
     2791       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2792      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2793      25,  -295,     0,    26,    27,    28,     0,     0,     0,     0,
     2794       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2795      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2796      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2797      34,     0,    31,   686,     0,     0,     0,    38,    39,     0,
     2798       0,  -295,     0,     0,     0,     0,     0,     0,     0,     0,
     2799       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2800      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2801       0,     0,   635,     0,   339,     0,     0,     0,     0,     0,
     2802       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2803       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2804       0,     0,     0,     0,   687,     0,     0,     0,   688,     0,
     2805       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2806      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2807      25,  -295,     0,    26,    27,    28,     0,     0,     0,     0,
     2808       0,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2809      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2810      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2811      34,     0,    31,   686,     0,     0,     0,    38,    39,     0,
     2812       0,  -295,     0,     0,     0,     0,     0,     0,     0,     0,
     2813       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2814      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2815       0,     0,     0,     0,   339,     0,     0,     0,     0,     0,
     2816       0,    46,    47,     0,     0,     0,     0,    43,     0,     0,
     2817       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2818       0,     0,     0,     0,   687,     0,     0,     0,  1101,     0,
     2819       0,    46,    47,     8,     9,    10,    11,    12,    13,    14,
     2820      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2821      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2822       0,     0,    31,   686,     8,     9,    10,    11,    12,    13,
     2823      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2824      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2825      34,     0,     0,    31,     0,     0,     0,    38,    39,     0,
     2826       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2827       0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
     2828       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2829       0,     0,     0,     0,   687,     0,     0,     0,  1233,     0,
     2830       0,    46,    47,     0,     0,     0,     0,     0,    43,     0,
     2831       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2832       0,     0,     0,   635,     0,   339,     0,     0,     0,     0,
     2833       0,     0,    46,    47,     8,     9,    10,    11,    12,    13,
     2834      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2835      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2836       0,     0,     0,    31,     8,     9,    10,    11,    12,    13,
     2837      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2838      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2839       0,    34,     0,    31,     0,     0,     0,     0,    38,    39,
     2840       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2841       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2842       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2843       0,     0,     0,     0,     0,   259,     0,     0,     0,     0,
     2844       0,     0,    46,    47,     0,     0,     0,     0,    43,     0,
     2845       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2846       0,     0,     0,     0,     0,   159,     0,     0,     0,     0,
     2847       0,     0,    46,    47,     8,     9,    10,    11,    12,    13,
     2848      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2849      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2850       0,     0,     0,    31,     8,     9,    10,    11,    12,    13,
     2851      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2852      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2853       0,    34,     0,    31,     0,     0,     0,     0,   209,    39,
     2854       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2855       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2856       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2857       0,     0,     0,     0,     0,   272,     0,     0,     0,     0,
     2858       0,     0,    46,    47,     0,     0,     0,     0,    43,     0,
     2859       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2860       0,     0,     0,     0,     0,   339,     0,     0,     0,     0,
     2861       0,     0,    46,    47,     8,     9,    10,    11,    12,    13,
     2862      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2863      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2864       0,     0,     0,    31,     8,     9,    10,    11,    12,    13,
     2865      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2866      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2867       0,    34,     0,    31,     0,     0,     0,     0,    38,    39,
     2868       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2869       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2870       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2871       0,     0,     0,     0,     0,   687,     0,     0,     0,     0,
     2872       0,     0,    46,    47,     0,     0,     0,     0,    43,     0,
     2873       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2874       0,     0,     0,     0,     0,   593,     0,     0,     0,     0,
     2875       0,     0,    46,    47,     8,     9,    10,    11,    12,    13,
     2876      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2877      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2878       0,     0,     0,    31,     8,     9,    10,    11,    12,    13,
     2879      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2880      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2881       0,    34,     0,    31,     0,     0,     0,     0,    38,    39,
     2882       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2883       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2884       0,    34,     0,     0,     0,     0,     0,     0,   209,    39,
     2885       0,     0,     0,     0,     0,    45,     0,     0,     0,     0,
     2886       0,     0,    46,    47,     0,     0,     0,     0,    43,     0,
     2887       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2888       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2889       0,     0,    46,    47,     2,   208,     4,     5,     6,     7,
    25952890       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    25962891      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    25972892      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2598        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2599       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2600       25,     0,     0,    26,    27,    28,     0,    34,     0,    35,
    2601        0,    36,    31,   684,    38,    39,     0,     0,     0,     0,
    2602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2603        0,     0,     0,     0,     0,     0,  1352,     0,     0,     0,
    2604       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2605        0,   677,     0,     0,     0,     0,     0,    45,    46,     2,
    2606      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2607       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2608       23,    24,    25,     0,   685,    26,    27,    28,  1091,     0,
    2609       45,    46,     0,     0,    31,     0,     0,     0,     0,     0,
    2610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2611        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2612        0,     0,    34,     0,    35,     0,    36,     0,     0,   208,
    2613       39,     0,     2,   207,     4,     5,     6,     7,     8,     9,
     2893       0,   284,   285,     0,   286,  1051,     0,  1052,     0,     0,
     2894    1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,     0,     0,
     2895    1549,  1061,     0,     0,     0,  1062,  1063,    34,    33,    35,
     2896     287,    36,     0,     0,    38,    39,  1064,     0,     0,     0,
     2897     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2898     294,   295,     0,     0,     0,     0,     0,     0,    43,     0,
     2899       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2900    -416,     0,     0,   296,     0,   380,     0,     0,   173,     0,
     2901       0,     0,    46,    47,   298,   299,   300,   301,     0,     0,
     2902       0,     0,  1066,     0,   284,   285,  -130,   286,  1051,     0,
     2903    1052,     0,     0,  1053,  1054,  1055,  1056,  1057,  1058,  1059,
     2904    1060,     0,     0,     0,  1061,     0,     0,     0,  1062,  1063,
     2905       0,    33,     0,   287,     0,     0,     0,     0,     0,  1064,
     2906       0,     0,     0,   289,     0,     0,   290,   291,   292,   293,
     2907      41,    42,     0,   294,   295,     0,     0,     0,     0,     0,
     2908       0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
     2909       0,     0,     0,     0,     0,     0,   296,     0,   380,     0,
     2910       0,   173,     0,     0,     0,    46,    47,   298,   299,   300,
     2911     301,     0,     0,     0,     0,  1066,     0,     0,     0,  -130,
     2912       2,   208,     4,     5,     6,     7,     8,     9,    10,    11,
     2913      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2914      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2915       0,     0,     0,     0,     0,    31,     0,   284,   285,     0,
     2916     286,  1051,     0,  1052,  1419,  1420,  1053,  1054,  1055,  1056,
     2917    1057,  1058,  1059,  1060,     0,     0,  1549,  1061,     0,     0,
     2918       0,  1062,  1063,    34,    33,    35,   287,    36,     0,     0,
     2919      38,    39,  1064,     0,     0,     0,   289,     0,     0,   290,
     2920     291,   292,   293,    41,    42,     0,   294,   295,     0,     0,
     2921       0,     0,  1327,     0,    43,     0,     0,     0,     0,     0,
     2922       0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
     2923       0,   380,     0,     0,   173,     0,     0,     0,    46,    47,
     2924     298,   299,   300,   301,     0,     0,   284,   285,  1066,   286,
     2925    1051,     0,  1052,  1419,  1420,  1053,  1054,  1055,  1056,  1057,
     2926    1058,  1059,  1060,     0,     0,     0,  1061,     0,     0,     0,
     2927    1062,  1063,     0,    33,     0,   287,     0,     0,     0,     0,
     2928       0,  1064,     0,     0,     0,   289,     0,     0,   290,   291,
     2929     292,   293,    41,    42,     0,   294,   295,     0,     0,     0,
     2930       0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
     2931       0,     0,     0,     0,     0,     0,     0,     0,   296,     0,
     2932     380,     0,     0,   173,     0,     0,     0,    46,    47,   298,
     2933     299,   300,   301,     0,     0,   284,   285,  1066,   286,  1051,
     2934       0,  1052,     0,     0,  1053,  1054,  1055,  1056,  1057,  1058,
     2935    1059,  1060,     0,     0,     0,  1061,     0,     0,     0,  1062,
     2936    1063,     0,    33,     0,   287,     0,     0,     0,     0,     0,
     2937    1064,     0,     0,     0,   289,     0,     0,   290,   291,   292,
     2938     293,    41,    42,     0,   294,   295,     0,     0,     0,     0,
     2939       0,     0,    43,   284,   285,     0,   286,     0,     0,     0,
     2940       0,     0,     0,     0,     0,     0,     0,   296,     0,   380,
     2941       0,     0,   173,     0,     0,     0,    46,    47,   298,   299,
     2942     300,   301,   287,     0,     0,     0,  1066,     0,   641,     0,
     2943     141,   142,   289,     0,     0,   290,   642,   292,   293,    41,
     2944      42,     0,   294,   295,     0,     0,     0,     0,     0,     0,
     2945      43,   284,   285,     0,   286,     0,     0,     0,     0,     0,
     2946       0,     0,     0,     0,     0,   296,     0,   643,     0,   644,
     2947     381,     0,     0,     0,    46,    47,   298,   299,   300,   301,
     2948     287,     0,     0,     0,     0,     0,   288,     0,     0,     0,
     2949     289,     0,     0,   290,   291,   292,   293,    41,    42,     0,
     2950     294,   295,     0,     0,     0,     0,     0,     0,    43,   284,
     2951     285,     0,   286,     0,     0,     0,     0,     0,     0,     0,
     2952       0,     0,     0,   296,     0,   380,     0,     0,   284,   285,
     2953       0,   286,   710,    47,   298,   299,   300,   301,   287,     0,
     2954       0,     0,     0,     0,   641,     0,     0,     0,   289,     0,
     2955       0,   290,   291,   292,   293,    41,    42,   287,   294,   295,
     2956       0,     0,     0,   288,     0,     0,    43,   289,     0,     0,
     2957     290,   291,   292,   293,    41,    42,     0,   294,   295,     0,
     2958       0,   296,     0,   765,     0,    43,   284,   285,     0,   286,
     2959      46,    47,   298,   299,   300,   301,     0,     0,     0,     0,
     2960     296,     0,   380,     0,     0,   284,   285,     0,   286,   345,
     2961      47,   298,   299,   300,   301,   287,     0,     0,     0,     0,
     2962       0,   288,     0,     0,     0,   289,     0,     0,   290,   291,
     2963     292,   293,    41,    42,   287,   294,   295,     0,     0,     0,
     2964     288,     0,     0,    43,   289,     0,     0,   290,   291,   292,
     2965     293,    41,    42,     0,   294,   295,     0,     0,   512,     0,
     2966       0,     0,    43,     0,     0,     0,     0,    46,    47,   298,
     2967     299,   300,   301,     0,     0,     0,     0,   515,     0,     0,
     2968       0,     0,     0,     0,     0,     0,    46,    47,   298,   299,
     2969     300,   301,     2,   208,     4,     5,     6,     7,     8,     9,
    26142970      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2615       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2616       28,     0,     0,     0,     0,     0,   271,    31,     0,     0,
    2617        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
     2971      20,    21,    22,    23,    24,    25,     0,     0,     0,     0,
     2972       0,     0,     0,     0,     0,     0,     0,    31,     0,     0,
     2973       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26182974       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26192975       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2620        0,     0,    38,    39,     0,     2,   207,     4,     5,     6,
    2621        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2622       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2623        0,    26,    27,    28,     0,     0,     0,     0,     0,   677,
    2624       31,     0,     0,     0,     0,    45,    46,     0,     0,     0,
    2625        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2626        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2627       35,     0,    36,     0,     0,    38,    39,     0,     2,   207,
    2628        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2629       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2630       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2631        0,     0,   592,    31,     0,     0,     0,     0,    45,    46,
    2632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2634        0,    34,     0,    35,     0,    36,     0,     0,   208,    39,
     2976      37,     0,   176,   177,    40,     0,     0,     0,     0,     0,
     2977       0,    41,    42,   207,     2,   208,     4,     5,     6,     7,
    26352978       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    26362979      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2637       26,    27,    28,     0,     0,     0,     0,   283,   284,    31,
    2638      285,     0,     0,     0,     0,   209,     0,     0,     0,     0,
    2639        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
    2640        0,     0,     0,     0,     0,     0,   286,    34,     0,     0,
    2641        0,     0,   287,     0,    38,    39,   288,     0,     0,   289,
    2642      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
    2643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2644        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
    2645        0,   517,     0,     0,   172,     0,     0,    45,    46,   297,
    2646      298,   299,   300,     8,     9,    10,    11,    12,    13,    14,
     2980      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2981       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2982       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2983       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2984       0,    36,     0,     0,   209,    39,   468,     2,   208,     4,
     2985       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    26472986      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    26482987      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2649      283,   284,    31,   285,     8,     9,    10,    11,    12,    13,
    2650       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2651       24,    25,     0,     0,    26,    27,    28,     0,     0,   286,
    2652       34,     0,     0,    31,     0,   287,     0,    38,    39,   288,
    2653        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2654      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2655        0,    34,     0,     0,     0,     0,    37,     0,   336,   337,
    2656       40,     0,   295,   -35,   296,     0,     0,    41,    42,     0,
    2657       45,    46,   297,   298,   299,   300,     8,     9,    10,    11,
    2658       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2659       22,    23,    24,    25,     0,   338,    26,    27,    28,     0,
    2660        0,    45,    46,   283,   284,    31,   285,     8,     9,    10,
    2661       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2662       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2663        0,     0,   286,    34,     0,     0,    31,     0,   287,     0,
    2664       38,    39,   288,     0,     0,   289,   290,   291,   292,    41,
    2665       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2666        0,     0,     0,     0,    34,     0,     0,     0,     0,   111,
    2667        0,    38,    39,     0,     0,   295,     0,   296,     0,     0,
    2668       41,    42,     0,    45,    46,   297,   298,   299,   300,     8,
    2669        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2670       19,    20,    21,    22,    23,    24,    25,     0,    44,    26,
    2671       27,    28,     0,     0,    45,    46,   283,   284,    31,   285,
    2672        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2673       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2674       26,    27,    28,     0,     0,   286,    34,     0,     0,    31,
    2675      684,   287,     0,    38,    39,   288,     0,     0,   289,   290,
    2676      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2677        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2678        0,     0,     0,     0,    38,    39,     0,     0,   295,     0,
    2679      158,     0,     0,     0,     0,     0,    45,    46,   297,   298,
    2680      299,   300,     8,     9,    10,    11,    12,    13,    14,    15,
    2681       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2682        0,   685,    26,    27,    28,  1220,     0,    45,    46,   283,
    2683      284,    31,   285,     8,     9,    10,    11,    12,    13,    14,
    2684       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2685       25,     0,     0,    26,    27,    28,     0,     0,   286,    34,
    2686        0,     0,    31,     0,   287,     0,    38,    39,   288,     0,
    2687        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2689       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2690        0,   295,     0,   592,     0,     0,     0,     0,     0,    45,
    2691       46,   297,   298,   299,   300,     8,     9,    10,    11,    12,
    2692       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2693       23,    24,    25,     0,   258,    26,    27,    28,     0,     0,
    2694       45,    46,   283,   284,    31,   285,     0,     0,     0,     0,
    2695        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2696       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2697       25,   286,    34,    26,    27,    28,     0,   287,     0,    38,
    2698       39,   288,    31,     0,   289,   290,   291,   292,    41,    42,
    2699        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
    2700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2701       34,     0,     0,     0,   295,     0,   379,    38,    39,     0,
    2702        0,     0,    45,    46,   297,   298,   299,   300,   467,     2,
    2703      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2704       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2705       23,    24,    25,     0,   158,    26,    27,    28,     0,     0,
    2706       45,    46,     0,     0,    31,     0,     0,     0,     8,     9,
    2707       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2708       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2709       28,     0,    34,     0,    35,     0,    36,    31,     0,    38,
    2710       39,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2711       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2712       22,    23,    24,    25,     0,    34,    26,    27,    28,     0,
    2713       37,     0,    38,    39,    40,    31,     0,     0,     0,    -3,
    2714        0,    41,    42,     0,     8,     9,    10,    11,    12,    13,
    2715       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2716       24,    25,     0,    34,    26,    27,    28,    43,    37,   158,
    2717       38,    39,    40,    31,     0,    45,    46,     0,     0,    41,
    2718       42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2719       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2720        0,    34,    26,    27,    28,    43,    37,    44,   208,    39,
    2721       40,    31,     0,    45,    46,     0,     0,    41,    42,     0,
    2722        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2723       18,    19,    20,    21,    22,    23,    24,    25,  -291,    34,
    2724       26,    27,    28,    43,    37,   271,   336,   337,    40,    31,
    2725        0,    45,    46,     0,     0,    41,    42,     0,     8,     9,
    2726       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2727       20,    21,    22,    23,    24,    25,  -291,    34,    26,    27,
    2728       28,   634,     0,   338,    38,    39,     0,    31,  -291,    45,
    2729       46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2730       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2731        0,    26,    27,    28,     0,    34,     0,     0,     0,   634,
    2732       31,   338,    38,    39,     0,     0,  -291,    45,    46,     8,
    2733        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2734       19,    20,    21,    22,    23,    24,    25,     0,    34,    26,
    2735       27,    28,     0,     0,     0,   208,    39,     0,    31,   338,
    2736        0,     0,     0,     0,     0,    45,    46,     8,     9,    10,
    2737       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2738       21,    22,    23,    24,    25,     0,    34,    26,    27,    28,
    2739        0,     0,   271,    38,    39,     0,    31,     0,    45,    46,
    2740        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2741       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2742       26,    27,    28,     0,    34,     0,     0,     0,     0,    31,
    2743      338,    38,    39,     0,     0,     0,    45,    46,     8,     9,
    2744       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2745       20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
    2746       28,     0,     0,     0,    38,    39,     0,    31,   685,     0,
    2747        0,     0,     0,     0,    45,    46,     0,     0,     0,     0,
    2748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2749        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2750        0,   592,    38,    39,     0,     0,     0,    45,    46,     2,
    2751      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2752       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2753       23,    24,    25,     0,     0,    26,    27,    28,     0,    44,
    2754        0,     0,     0,     0,    31,    45,    46,     0,     0,     0,
    2755        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2757        0,     0,    34,     0,    35,     0,    36,     0,     0,    38,
    2758       39,   283,   284,     0,   285,  1041,     0,  1042,     0,     0,
    2759     1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,     0,
    2760     1524,  1051,     0,     0,     0,  1052,  1053,     0,    33,     0,
    2761      286,     0,     0,     0,     0,  -412,  1054,     0,     0,     0,
    2762      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2763      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
    2764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2765        0,     0,     0,   295,     0,   379,     0,     0,   172,     0,
    2766        0,    45,    46,   297,   298,   299,   300,     0,     0,   283,
    2767      284,  1056,   285,  1041,     0,  1042,  -126,     0,  1043,  1044,
    2768     1045,  1046,  1047,  1048,  1049,  1050,     0,     0,     0,  1051,
    2769        0,     0,     0,  1052,  1053,     0,    33,     0,   286,     0,
    2770        0,     0,     0,     0,  1054,     0,     0,     0,   288,     0,
    2771        0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2774        0,   295,     0,   379,     0,     0,   172,     0,     0,    45,
    2775       46,   297,   298,   299,   300,     0,     0,     0,     0,  1056,
    2776        0,     0,     0,     0,  -126,     2,   207,     4,     5,     6,
    2777        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2778       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2779        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2780       31,     0,   283,   284,     0,   285,  1041,     0,  1042,  1398,
    2781     1399,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,
    2782        0,  1524,  1051,     0,     0,     0,  1052,  1053,    34,    33,
    2783       35,   286,    36,     0,     0,    38,    39,  1054,     0,     0,
    2784        0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2785        0,   293,   294,     0,     0,     0,     0,  1311,     0,     0,
    2786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2787        0,     0,     0,     0,   295,     0,   379,     0,     0,   172,
    2788        0,     0,    45,    46,   297,   298,   299,   300,     0,     0,
    2789      283,   284,  1056,   285,  1041,     0,  1042,  1398,  1399,  1043,
    2790     1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,     0,     0,
    2791     1051,     0,     0,     0,  1052,  1053,     0,    33,     0,   286,
    2792        0,     0,     0,     0,     0,  1054,     0,     0,     0,   288,
    2793        0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
    2794      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2796        0,     0,   295,     0,   379,     0,     0,   172,     0,     0,
    2797       45,    46,   297,   298,   299,   300,     0,     0,   283,   284,
    2798     1056,   285,  1041,     0,  1042,     0,     0,  1043,  1044,  1045,
    2799     1046,  1047,  1048,  1049,  1050,     0,     0,     0,  1051,     0,
    2800        0,     0,  1052,  1053,     0,    33,     0,   286,     0,     0,
    2801        0,     0,     0,  1054,     0,     0,     0,   288,     0,     0,
    2802      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2803        0,     0,     0,     0,     0,   283,   284,     0,   285,     0,
    2804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2805      295,     0,   379,     0,     0,   172,     0,     0,    45,    46,
    2806      297,   298,   299,   300,   286,     0,     0,     0,  1056,     0,
    2807      640,     0,   140,   141,   288,     0,     0,   289,   290,   291,
    2808      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2809        0,     0,   283,   284,     0,   285,     0,     0,     0,     0,
    2810        0,     0,     0,     0,     0,     0,     0,   295,     0,   641,
    2811        0,   642,   380,     0,     0,    45,    46,   297,   298,   299,
    2812      300,   286,     0,     0,     0,     0,     0,   287,     0,     0,
    2813        0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
    2814        0,   293,   294,     0,     0,     0,     0,     0,     0,   283,
    2815      284,     0,   285,     0,     0,     0,     0,     0,     0,     0,
    2816        0,     0,     0,     0,   295,     0,   379,     0,   283,   284,
    2817        0,   285,   708,    46,   297,   298,   299,   300,   286,     0,
    2818        0,     0,     0,     0,   287,     0,     0,     0,   288,     0,
    2819        0,   289,   290,   291,   292,    41,    42,   286,   293,   294,
    2820        0,     0,     0,   287,     0,     0,     0,   288,     0,     0,
    2821      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2822        0,   295,     0,   379,     0,   283,   284,     0,   285,   344,
    2823       46,   297,   298,   299,   300,     0,     0,     0,     0,     0,
    2824      506,     0,     0,     0,   283,   284,     0,   285,    45,    46,
    2825      297,   298,   299,   300,   286,     0,     0,     0,     0,     0,
    2826      287,     0,     0,     0,   288,     0,     0,   289,   290,   291,
    2827      292,    41,    42,   286,   293,   294,     0,     0,     0,   287,
    2828        0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
    2829       41,    42,     0,   293,   294,     0,     0,   295,     0,     0,
    2830        0,   283,   284,     0,   285,    45,    46,   297,   298,   299,
    2831      300,     0,     0,     0,     0,     0,   511,     0,     0,     0,
    2832        0,     0,     0,     0,    45,    46,   297,   298,   299,   300,
    2833      286,     0,     0,     0,     0,     0,   287,     0,     0,     0,
    2834      288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
    2835      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
    2836        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2837        0,     0,     0,   514,     0,     0,     0,     0,     0,     0,
    2838        0,    45,    46,   297,   298,   299,   300,     2,   207,     4,
    2839        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2840       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2841       25,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28422988       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    28432989       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28442990       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2845       34,     0,    35,     0,    36,    37,     0,   175,   176,    40,
    2846        0,     0,     0,     0,     0,     0,    41,    42,   206,     2,
    2847      207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2991      34,     0,    35,     0,    36,     0,     0,    38,    39,     2,
     2992     208,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    28482993      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    28492994      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     
    28512996       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28522997       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2853        0,     0,    34,     0,    35,     0,    36,     0,     0,   208,
    2854       39,   467,     2,   207,     4,     5,     6,     7,     8,     9,
    2855       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2856       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2857       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2860        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2861        0,     0,    38,    39,     2,   207,     4,     5,     6,     7,
    2862        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2863       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2864       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2865        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2866       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2867        0,    26,    27,    28,   485,   486,   487,    34,     0,    35,
    2868       31,    36,     0,     0,   208,    39,     0,     0,     0,     0,
    2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2870        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2871        0,     0,     0,     0,     0,    38,    39
     2998       0,     0,    34,     0,    35,     0,    36,     0,     0,   209,
     2999      39
    28723000};
    28733001
    28743002#define yypact_value_is_default(yystate) \
    2875   ((yystate) == (-1310))
     3003  ((yystate) == (-1414))
    28763004
    28773005#define yytable_value_is_error(yytable_value) \
     
    28803008static const yytype_int16 yycheck[] =
    28813009{
    2882        0,     1,   240,   205,   186,   186,   117,     0,    43,   534,
    2883       43,    43,   600,   756,   646,     1,   749,   187,   521,     0,
    2884      186,   186,   186,   157,   169,   170,   749,   749,   186,   106,
    2885      220,   602,    32,   186,   345,   349,     0,   188,   280,    32,
    2886      157,   513,   600,    43,   874,    43,   603,   874,   349,    49,
    2887      620,    32,   609,   733,     0,   983,    49,   600,   492,   571,
    2888        0,     1,   496,    63,   602,   187,    66,    32,    32,    69,
    2889       63,   692,    43,    66,    64,     0,    69,  1040,    39,   156,
    2890        1,   600,    57,    69,   266,   266,    32,    43,    51,  1398,
    2891      364,   202,    32,    63,   368,  1321,   418,   267,    82,   600,
    2892      266,   266,   266,  1052,  1053,  1033,   106,    32,   266,   600,
    2893      600,   262,   263,   266,   114,    72,   438,   117,   118,   109,
    2894      282,    72,  1402,    96,   446,    39,    66,   695,    39,    69,
    2895       28,   109,   107,    39,    39,   110,    95,    39,    82,   128,
    2896       39,    66,   131,  1021,    82,   267,   109,   147,   148,   122,
    2897      111,   186,    11,   186,   186,   148,   156,   157,     0,   295,
    2898     1469,   161,   132,  1020,  1021,   109,    44,    45,   161,     0,
    2899      129,   482,   905,   109,   488,   132,     0,     1,    72,  1128,
    2900       78,   132,   905,   905,   687,    49,   186,   187,   186,   109,
    2901       32,   257,   130,  1419,   187,   109,   109,   111,   109,   718,
    2902      111,    32,   202,   109,   109,   111,   111,   109,    32,   111,
    2903      210,   131,    43,  1040,    72,   186,  1496,   210,    49,    82,
    2904      410,  1501,   222,   117,   812,    83,    84,   718,   718,   222,
    2905      186,   266,    63,   266,   266,    66,   406,   115,    69,  1452,
    2906      240,  1521,    85,   986,   219,    69,   112,   110,  1528,    82,
    2907      114,   109,   252,   824,   812,   116,   107,   814,   114,   252,
    2908      260,    44,    45,     3,   341,   265,   266,   267,   490,   812,
    2909      113,   252,   272,  1486,   267,  1488,   257,    82,   111,   900,
    2910      131,   793,   222,   147,   406,   396,   824,   252,   252,    49,
    2911      426,   427,   924,   812,   371,   295,     3,   222,   273,   433,
    2912       96,   602,  1501,   116,   109,   280,   252,   307,     0,   620,
    2913      480,   812,   252,   424,   625,   589,   433,   148,   110,   430,
    2914      112,   812,   812,   323,   116,  1288,   122,   252,   328,  1528,
    2915      161,   114,   253,    44,    45,   328,     0,    82,   906,   131,
    2916      132,   341,   504,   110,   932,   345,   210,  1225,   482,   349,
    2917      350,   109,   418,   111,   114,   186,   187,   631,   480,   681,
    2918      109,   116,   933,   130,   364,   110,    90,    91,   368,  1049,
    2919      506,   371,   438,   348,   932,   511,   240,   132,   514,   210,
    2920      446,  1211,   604,   951,  1211,   130,   608,   426,   427,   932,
    2921      365,   222,   526,    72,   369,   112,   396,  1275,   116,   116,
    2922      285,   125,   126,   114,    83,    84,   406,   629,   272,   526,
    2923      252,   633,   130,   406,  1472,   257,   110,  1274,  1275,    55,
    2924     1478,   252,   307,   308,   424,   350,   426,   427,   252,   999,
    2925      430,   567,   111,   433,   745,   266,   130,   418,   112,   116,
    2926     1498,   110,   116,   307,   111,  1503,   113,   116,   525,  1501,
    2927      210,  1008,  1009,   130,   454,   494,   590,   438,  1386,  1387,
    2928      345,  1288,    98,   130,   967,   446,   635,   636,   131,  1521,
    2929      229,   112,   472,   590,   513,   116,  1528,   116,  1441,   110,
    2930      480,   345,   482,   652,   484,  1448,   116,   480,   488,   248,
    2931      732,   484,   110,   132,   494,  1127,   381,   328,   116,   116,
    2932      130,   482,   647,   484,   666,   656,   506,   941,   508,   981,
    2933      824,   511,   272,   513,   514,   132,  1394,   687,   349,   109,
    2934      484,   521,   109,   824,   116,   525,   526,   109,  1099,   803,
    2935      109,   111,   111,   113,   808,   295,  1499,  1394,   484,   578,
    2936      132,   710,   109,   654,   484,   116,   467,   307,   473,  1117,
    2937      130,     4,     5,     6,     7,     8,     9,   116,   194,   484,
    2938      110,   132,   426,   427,   116,   687,   116,   116,   116,   116,
    2939      570,   571,   116,   132,   736,   406,   418,   109,   578,   116,
    2940      132,   217,  1085,   132,   132,   132,   109,  1090,   132,   589,
    2941      590,   227,   117,   904,   594,   132,   438,   116,   123,   124,
    2942      600,   116,   602,   109,   446,   111,   110,   528,  1288,  1177,
    2943     1178,   745,   533,   132,  1441,   681,    69,   132,    71,   110,
    2944      620,  1448,   896,   937,   846,   625,    72,   627,    74,    75,
    2945      494,   631,   801,   110,   634,   635,   636,    83,    84,    72,
    2946      110,   707,   484,   112,   590,   110,   621,   116,   112,   513,
    2947       83,    84,   652,   484,   654,   109,   910,   488,   912,   295,
    2948      484,   582,   637,   109,   549,   550,   551,   744,   114,   112,
    2949      109,   861,  1499,   116,    72,   809,   651,   115,    72,   132,
    2950       74,    75,  1362,   109,   684,    83,    84,   687,   999,    83,
    2951       84,   881,   809,   109,   454,   111,    72,   622,    74,    75,
    2952      681,    85,    86,    87,   109,   943,   111,    83,    84,   132,
    2953      710,   711,   712,   111,   578,   109,   938,  1115,   718,   719,
    2954      114,  1119,   867,   905,   905,   109,   707,   111,    64,   113,
    2955      114,   109,   653,   111,   655,   112,   110,   907,   114,   905,
    2956      905,   905,   116,   109,   744,   745,   506,   905,   508,   749,
    2957      750,   511,   905,   109,   514,   111,   620,   732,   109,    70,
    2958      111,   625,   109,    74,   745,  1445,    77,  1447,    79,   600,
    2959      904,   602,  1505,   698,   132,    86,   556,   557,   558,   559,
    2960     1305,     3,  1505,  1505,   705,   907,   114,   712,    10,    11,
    2961       12,    13,    14,   793,     4,     5,     6,     7,     8,     9,
    2962      110,   801,   109,   803,   111,   805,   116,   443,   808,   809,
    2963     1012,   114,   812,   109,  1382,   111,    72,    39,    74,    75,
    2964     1500,   117,   118,    33,   824,    72,   903,    83,    84,   114,
    2965     1398,   132,   110,   469,   132,  1146,    83,    84,   116,   681,
    2966       10,    11,    12,    13,    14,    67,    72,   110,  1122,   109,
    2967       76,   109,   110,   116,    82,   111,   687,    83,    84,    69,
    2968      110,    71,    49,   809,   111,   707,   116,   110,   109,    39,
    2969      506,   756,   109,   116,   874,   511,    63,   112,   514,    66,
    2970      805,    82,    69,   109,   118,   111,  1020,   718,   719,   110,
    2971     1035,   117,   118,   874,   127,   116,   896,    67,    88,    89,
    2972     1468,  1469,   213,   903,   904,   905,    72,   907,     4,     5,
    2973        6,     7,     8,     9,  1225,  1085,   110,    83,    84,   919,
    2974     1090,   128,   116,   904,   684,   110,    94,   109,   874,   111,
    2975       30,   116,   932,   933,   874,   117,   118,   937,   131,   109,
    2976       72,   111,   942,   943,    76,   111,   111,   117,   118,   874,
    2977      109,    83,    84,  1115,   110,   109,   942,  1119,  1120,   112,
    2978      116,   148,   109,  1085,   111,     0,     1,   967,  1090,   112,
    2979      117,   118,   110,    69,   161,    71,   110,   109,  1481,   119,
    2980      120,   812,   116,    83,    84,   117,   118,   112,    10,    11,
    2981       12,    13,    14,   824,    29,    30,  1107,    32,   110,   999,
    2982      187,   110,   942,   110,   116,    92,    93,    72,    43,    74,
    2983       75,    76,  1146,    72,    49,    74,    75,    39,    83,    84,
    2984     1020,  1021,    57,   210,    83,    84,   110,  1530,    63,   115,
    2985      116,    66,   874,   669,    69,   222,   957,   109,   110,   111,
    2986     1040,   352,   678,   354,   109,    67,   682,   110,    83,    84,
    2987      874,   109,   117,   118,  1190,  1191,    72,  1193,   979,  1040,
    2988       76,   110,   983,   110,  1200,   110,  1202,    83,    84,   116,
    2989      112,   116,   107,  1235,   905,   110,   907,  1002,   110,   943,
    2990     1080,   111,   117,   114,   116,  1085,   110,   109,   116,   111,
    2991     1090,   131,   116,   109,  1040,   117,   118,   110,   111,  1099,
    2992     1040,   117,   118,   506,    66,   508,   937,  1107,   511,    58,
    2993       59,   514,  1033,   148,   999,  1040,   115,   116,   942,    44,
    2994       45,   156,  1122,   552,   553,    72,   161,    74,    75,    76,
    2995     1207,   442,   109,   110,   111,   999,    83,    84,   560,   561,
    2996     1274,   328,   554,   555,   244,   114,  1146,   114,   109,   110,
    2997      111,   186,   187,   109,   112,  1040,   118,   110,   110,   919,
    2998     1322,   112,   109,    29,  1326,  1146,   112,   202,   112,     3,
    2999      117,   118,   109,   110,   111,   210,    10,    11,    12,    13,
    3000       14,    58,    59,    60,   219,   112,   116,   222,  1188,  1189,
    3001     1248,  1249,  1250,   110,   229,   130,   130,   130,  1040,   161,
    3002      110,   112,   114,  1189,   112,    39,   115,  1207,   110,   244,
    3003      115,  1211,   115,   248,   109,   116,  1040,   252,   253,   406,
    3004        1,   110,  1358,   110,    72,  1225,    74,    75,    76,  1229,
    3005     1211,   266,   267,    67,   132,    83,    84,   116,   273,   110,
    3006      110,   110,   110,  1229,  1225,   280,   110,   110,  1188,  1189,
    3007      110,   116,   110,   110,  1085,   110,   110,   110,   110,  1090,
    3008      222,  1423,   898,  1188,   110,  1211,   110,  1378,    49,   110,
    3009      110,  1211,   115,   874,  1274,  1275,    29,  1515,   110,   130,
    3010      380,   131,   112,  1283,   112,   116,  1211,   110,  1288,  1229,
    3011      110,   116,   110,   328,   130,   116,   112,   114,   260,   110,
    3012      110,   464,   110,   265,   116,   112,   110,  1288,   110,   110,
    3013      116,   116,   112,   348,   349,    10,    11,    12,    13,    14,
    3014     1080,  1321,   109,  1505,  1505,   106,   109,  1248,  1249,  1250,
    3015      365,   109,   109,   114,   369,  1321,  1506,   109,   130,  1505,
    3016     1505,  1505,  1288,  1283,    39,   380,     3,  1505,  1288,   112,
    3017      132,   115,  1505,    10,    11,    12,    13,    14,  1283,   110,
    3018     1530,   396,   110,  1288,   110,  1189,   147,   128,   115,  1211,
    3019     1481,   406,    67,   115,   464,   156,   114,   695,  1378,   112,
    3020      132,  1321,    39,   110,  1506,   116,   112,  1211,   350,   424,
    3021      112,   491,   110,   493,  1394,   430,   110,   432,   110,   112,
    3022      110,   112,  1377,   112,   112,  1229,   112,   112,  1530,    72,
    3023       67,    74,    75,    76,   109,  1051,   111,    47,   115,  1419,
    3024       83,    84,   117,   118,    72,   206,    74,    75,    76,   210,
    3025      132,   132,   467,  1419,   132,    83,    84,   472,   132,   132,
    3026      110,  1441,  1043,   115,   130,   480,  1288,   115,  1448,   484,
    3027     1450,   110,  1452,   488,   112,   109,   491,   112,   493,   240,
    3028     1441,   109,   112,   112,  1288,  1386,  1387,  1448,   786,   431,
    3029     1505,   112,  1505,  1505,   112,   110,   110,    60,   109,  1419,
    3030      112,  1481,    66,   112,   109,   132,  1486,   110,  1488,   110,
    3031      114,   272,    76,   528,   275,  1441,   112,  1321,   533,  1499,
    3032      112,  1441,  1448,  1424,   110,  1505,  1506,   670,  1448,   112,
    3033      110,   473,   109,  1506,   295,  1515,  1441,    96,  1499,    96,
    3034       85,    86,    87,  1448,   109,   132,   307,   115,   110,    72,
    3035     1530,    74,    75,    76,   118,   110,   110,  1530,   110,    42,
    3036       83,    84,   642,   116,   109,   863,   111,   582,   113,   114,
    3037      130,   132,   110,  1499,   589,   110,   132,    96,    96,  1499,
    3038      341,  1482,   132,   110,   345,   600,   109,   602,   132,   110,
    3039     1491,   132,   112,   110,  1499,   110,   132,   161,   112,   115,
    3040      670,   109,   132,   364,   115,   115,   621,   368,   906,   110,
    3041      371,   691,   110,   693,   110,  1419,   110,   697,  1056,  1441,
    3042      132,   564,   637,   562,   977,   565,  1448,   642,   563,   566,
    3043     1211,  1211,  1469,  1364,  1540,  1298,   651,  1441,   653,   654,
    3044      655,  1120,  1326,  1448,  1448,   912,   789,    66,   684,  1071,
    3045      684,  1090,   594,   951,   920,   697,   799,   582,   222,   971,
    3046      867,   648,   722,  1229,    83,   426,   427,   939,   570,   484,
    3047      813,  1515,   687,   732,   570,   570,   691,  1499,   693,    -1,
    3048      622,  1297,   697,    -1,    -1,   627,    -1,    -1,   986,    -1,
    3049      705,    -1,    -1,   454,  1505,  1499,   260,    -1,    -1,   118,
    3050       -1,   265,    -1,   718,   719,    -1,   467,    -1,    -1,    -1,
    3051     1450,    -1,  1452,    -1,    -1,    -1,   280,   732,    -1,   789,
    3052       -1,    -1,    -1,  1304,    -1,    -1,    -1,    -1,    -1,   799,
    3053       -1,   492,    -1,   494,    -1,   496,    -1,    -1,    -1,  1037,
    3054       -1,    -1,   161,   813,    -1,   506,  1486,   508,  1488,    -1,
    3055      511,    -1,   513,   514,    -1,    -1,   698,    57,    -1,    10,
    3056       11,    12,    13,    14,   525,    -1,    -1,    -1,    -1,    72,
    3057      712,    74,    75,    76,    -1,  1356,    -1,    -1,  1359,    -1,
    3058       83,    84,    -1,    -1,    -1,    -1,   350,   867,    39,    -1,
    3059       -1,    -1,    -1,   873,    -1,    -1,    -1,   812,    -1,    -1,
    3060       -1,    -1,    -1,   222,    -1,    -1,   109,   107,   111,   824,
    3061      110,    -1,    -1,    -1,   117,   118,    67,   578,    -1,  1117,
    3062       -1,  1402,    -1,    -1,    -1,    -1,  1407,   130,   589,    -1,
    3063       -1,    -1,    -1,  1449,   914,  1451,    -1,    -1,    -1,    -1,
    3064       -1,   260,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,
    3065       -1,    -1,   867,    -1,  1435,    -1,   156,   670,   873,   620,
    3066       -1,    -1,    -1,   805,   625,    -1,    -1,   431,    -1,  1485,
    3067      631,  1487,     0,     1,  1017,  1018,    -1,    -1,    -1,  1177,
    3068     1178,   896,    -1,    -1,   448,    -1,    -1,    -1,    -1,    -1,
    3069      905,   971,   907,    -1,    -1,    -1,    -1,    -1,    -1,   914,
    3070       -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,   473,
    3071       -1,    -1,    -1,  1529,    -1,  1531,    -1,    -1,    -1,   219,
    3072       -1,    49,   937,   684,    -1,    -1,    -1,    -1,  1544,  1545,
    3073       -1,   350,  1075,  1076,    -1,    -1,    -1,    -1,  1519,    -1,
    3074       -1,    69,   957,    -1,  1525,    -1,    -1,  1017,  1018,    -1,
    3075       -1,    -1,    -1,    -1,    -1,  1536,   971,    -1,    -1,  1540,
    3076       -1,   722,    -1,    -1,   979,    -1,    -1,    -1,   983,     0,
    3077        1,    -1,    -1,   273,    -1,    -1,   789,    -1,   106,    -1,
    3078      280,    -1,    -1,   744,    -1,    -1,   799,    -1,    -1,    -1,
    3079       -1,  1071,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
    3080      813,    32,    -1,    -1,    -1,  1075,  1076,    -1,    -1,    -1,
    3081       -1,    -1,   431,    -1,    -1,    -1,    -1,    -1,  1033,    -1,
    3082      148,    -1,    -1,    -1,    -1,    -1,    -1,    32,   156,   157,
    3083      594,    -1,    -1,    -1,    -1,    66,    -1,    -1,    69,    -1,
    3084       -1,    -1,   803,    -1,    -1,    -1,    -1,   808,   348,    -1,
    3085       -1,    -1,    -1,    -1,   473,    -1,  1071,    -1,   622,   187,
    3086     1002,    -1,    -1,   627,    69,   365,    -1,    -1,    -1,   369,
    3087     1085,    -1,    -1,    -1,   202,  1090,    -1,   205,   206,    -1,
    3088     1223,    -1,   210,    -1,  1382,    -1,    -1,    -1,    -1,    -1,
    3089       -1,    -1,  1107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3090     1398,    -1,    -1,   231,  1184,    -1,    -1,   235,    -1,   237,
    3091       -1,    -1,  1255,    -1,    -1,    -1,    -1,    -1,   246,    -1,
    3092     1263,  1264,  1265,    -1,   252,    -1,   157,    -1,    -1,   257,
    3093       -1,    -1,   432,    -1,   698,   896,    -1,    -1,    -1,   267,
    3094       -1,    -1,   903,    -1,    -1,    -1,    -1,   275,   712,    -1,
    3095       -1,     0,   157,  1223,    -1,    -1,    -1,    -1,   919,    -1,
    3096       -1,    72,    -1,    74,    75,    76,    -1,    -1,   732,  1184,
    3097     1468,  1469,    83,    84,    -1,   594,    -1,    -1,    -1,    -1,
    3098      941,   942,   943,    32,  1327,  1255,    -1,    -1,    -1,    -1,
    3099       -1,   222,  1207,  1263,  1264,  1265,    -1,    -1,   109,    -1,
    3100      111,    -1,    -1,   622,  1017,  1018,   117,   118,   627,    -1,
    3101       -1,    -1,    -1,   341,    -1,    -1,    -1,   345,    -1,    -1,
    3102       69,   252,    -1,   351,    -1,    -1,   231,    -1,    -1,    -1,
    3103       -1,    -1,    -1,  1248,  1249,  1250,   364,    -1,   999,    -1,
    3104      368,   805,    -1,   371,    -1,    -1,  1188,   252,    -1,    -1,
    3105       -1,    -1,   257,    -1,    -1,    -1,    -1,  1327,    -1,    -1,
    3106       -1,    -1,  1075,  1076,    -1,    -1,    -1,    -1,    -1,    -1,
    3107       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   698,
    3108       -1,    83,    84,    72,    -1,    74,    75,    76,    -1,   589,
    3109      418,    -1,    -1,   712,    83,    84,    -1,    -1,    -1,    -1,
    3110       -1,    -1,    -1,    -1,    -1,   433,    -1,   109,   157,   111,
    3111      438,    -1,    -1,    -1,    -1,   117,   118,    -1,   446,  1080,
    3112      109,   621,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3113       -1,    -1,    -1,    -1,    -1,    -1,   464,   637,    -1,   467,
    3114       -1,  1283,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,
    3115       -1,   651,    -1,    -1,   482,    -1,   484,    -1,    -1,    -1,
    3116       -1,  1122,  1377,  1378,   492,    -1,    -1,    -1,   496,    -1,
    3117       -1,  1386,  1387,    97,    98,    99,   100,   101,   102,   103,
    3118      104,   105,   106,    -1,    -1,    -1,   805,    -1,    -1,    -1,
    3119       -1,    -1,    -1,    -1,    -1,    -1,    -1,   525,   526,    -1,
    3120       -1,    -1,   433,   252,    -1,    -1,    -1,   131,   257,  1424,
    3121       -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,    -1,    -1,
    3122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,
    3123       -1,    -1,   732,   438,    -1,    -1,    -1,    -1,  1002,    -1,
    3124       -1,   446,  1255,   571,    -1,    -1,  1207,    -1,    -1,    -1,
    3125     1263,  1264,  1265,   484,    -1,    -1,    -1,    -1,    -1,   464,
    3126       -1,   589,   590,    -1,    -1,    -1,  1481,  1482,  1229,    -1,
    3127       -1,    -1,    -1,    -1,   602,    -1,  1491,   482,    -1,   484,
    3128       -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
    3129     1505,  1506,   620,    -1,    -1,   526,    -1,   625,    -1,    -1,
    3130       -1,    -1,   351,   631,    -1,    -1,   634,   635,   636,    -1,
    3131       -1,    -1,    66,    -1,  1327,  1530,    -1,    -1,    72,    -1,
    3132       -1,   526,    76,    -1,   652,    79,    80,    81,    82,    83,
    3133       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3134       -1,    -1,   670,    -1,    -1,    10,    11,    12,    13,    14,
    3135       -1,    -1,    -1,   681,    -1,   109,    -1,   111,    -1,   590,
    3136     1321,    -1,    -1,   117,   118,   119,   120,   121,   122,   418,
    3137       -1,    -1,    -1,    -1,    39,    -1,   130,    -1,    -1,   707,
    3138       -1,    -1,   710,  1002,   433,   590,    -1,    -1,    -1,   438,
    3139       -1,   719,    -1,    -1,   722,    -1,   896,   446,    -1,    -1,
    3140       -1,    -1,    67,   634,   635,   636,    -1,    72,    -1,    74,
    3141       75,    76,    -1,    -1,    -1,   464,   744,   745,    83,    84,
    3142       -1,   652,   750,    -1,  1188,    -1,    -1,    -1,    -1,   634,
    3143      635,   636,    -1,   482,    -1,   484,    -1,    10,    11,    12,
    3144       13,    14,    -1,    -1,   109,    -1,   111,   652,    -1,    -1,
    3145       -1,    -1,   117,   118,    -1,    -1,    -1,    -1,  1419,    -1,
    3146       -1,   789,    -1,    -1,    -1,   670,    39,    -1,    -1,    -1,
    3147       -1,   799,    -1,   801,    -1,   803,   681,   526,   806,   710,
    3148      808,   809,    -1,    -1,    -1,   813,    -1,    -1,    -1,  1450,
    3149       -1,  1452,    -1,    -1,    67,   823,    -1,    -1,    -1,    72,
    3150       -1,    -1,   707,    76,    -1,   710,    -1,    -1,    -1,    -1,
    3151       83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1283,
    3152       -1,     0,    -1,    -1,    -1,  1486,    -1,  1488,    -1,    -1,
    3153       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
    3154      745,   590,    -1,    -1,   117,   118,   874,    -1,     0,    -1,
    3155      190,    -1,    -1,    32,  1515,    -1,    -1,   197,    -1,    -1,
    3156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   896,  1188,
    3157      801,    -1,    -1,    -1,    -1,   903,   904,    -1,   809,   907,
    3158       32,    -1,    -1,    -1,   789,   634,   635,   636,    -1,    -1,
    3159       69,    -1,    -1,    -1,   799,    -1,   801,    -1,    -1,    -1,
    3160       -1,   806,    -1,   652,   809,   933,    -1,    -1,   813,    -1,
    3161       -1,    -1,    -1,   941,   942,    -1,    -1,    69,    -1,    -1,
    3162       -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   269,
    3163       -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3164       -1,    -1,    -1,   874,    -1,    -1,    -1,    -1,    -1,    -1,
    3165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   707,    -1,
    3166       -1,   710,    -1,    -1,  1283,    -1,    -1,    -1,    -1,   874,
    3167       -1,   999,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,
    3168       -1,    -1,    -1,   323,  1012,    -1,    -1,    -1,    -1,  1017,
    3169     1018,   331,  1020,  1021,   334,    -1,   745,    -1,    -1,   904,
    3170       -1,    -1,    -1,    -1,    -1,   157,    -1,  1207,    -1,    -1,
    3171       -1,   942,  1040,    -1,    -1,     3,     4,     5,     6,     7,
    3172        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3173       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3174      789,    -1,    30,    31,    32,    -1,    -1,  1075,  1076,    -1,
    3175      799,    39,   801,    -1,    -1,    -1,    -1,   806,   398,    -1,
    3176      809,    -1,   402,    -1,   813,    -1,    -1,    -1,    -1,    -1,
    3177       -1,    -1,    -1,   252,    -1,    -1,    -1,    -1,   257,    67,
    3178       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,  1020,
    3179     1021,    -1,    -1,    -1,  1122,    83,    84,    -1,    -1,    -1,
    3180      252,    -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,  1040,
    3181       -1,    -1,  1017,  1018,    -1,  1020,  1021,    -1,  1146,    -1,
    3182       -1,   109,    -1,   111,    -1,   874,    -1,    -1,    -1,   117,
    3183      118,    -1,    -1,    -1,    -1,  1040,    -1,    -1,    -1,   479,
    3184       -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3185       -1,    -1,    -1,    -1,    -1,   904,    -1,    -1,    -1,    -1,
    3186       -1,  1189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3187     1075,  1076,   351,    -1,    39,    -1,    -1,  1377,    -1,  1207,
    3188       -1,    -1,    -1,  1211,    -1,    -1,    -1,    -1,    -1,    -1,
    3189       -1,    -1,    -1,    -1,    -1,  1223,    -1,  1225,    -1,   351,
    3190       -1,  1229,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3191       75,    76,    -1,    -1,    -1,    26,    27,    28,    83,    84,
    3192       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1255,    -1,    -1,
    3193      570,   571,    -1,    -1,    -1,  1263,  1264,  1265,    -1,   418,
    3194       -1,  1146,    -1,    -1,   109,    -1,  1274,  1275,    -1,    -1,
    3195       -1,    -1,   117,   118,   433,    -1,    -1,  1188,  1189,   438,
    3196     1288,    -1,    -1,    -1,    -1,    -1,   418,   446,  1017,  1018,
    3197       -1,  1020,  1021,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3198     1211,   433,    -1,    -1,  1189,   464,   438,    -1,    99,    -1,
    3199      101,  1040,    -1,  1321,   446,    -1,    -1,    -1,  1229,  1327,
    3200       -1,    -1,    -1,   482,    -1,   484,  1211,    -1,    -1,    -1,
    3201       -1,    -1,   464,    -1,    -1,   126,    -1,   657,  1223,    -1,
    3202     1225,   661,    -1,    -1,    -1,    -1,  1075,  1076,    -1,    -1,
    3203      482,    -1,   484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3204       -1,    -1,    -1,  1274,  1275,    -1,    -1,   526,    -1,    -1,
    3205     1255,    -1,  1283,    -1,    -1,    -1,    -1,  1288,  1263,  1264,
    3206     1265,    -1,    -1,    -1,    -1,    -1,  1394,    -1,    -1,  1274,
    3207     1275,   182,    -1,    -1,   526,    -1,    -1,    -1,    -1,   190,
    3208       -1,   192,   193,  1288,    -1,    -1,   197,    -1,   199,   200,
    3209     1321,  1419,    -1,    53,    -1,    55,    -1,  1146,    58,    59,
    3210       60,    -1,    62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3211       -1,   590,    -1,  1441,    -1,    -1,    -1,    77,    -1,    -1,
    3212     1448,    -1,  1327,    -1,    -1,    -1,    -1,    -1,    -1,    89,
    3213       90,    -1,    -1,    -1,    26,    27,    28,    -1,   590,    -1,
    3214     1189,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3215       14,    -1,    -1,   793,    -1,   634,   635,   636,   269,    -1,
    3216       -1,    -1,  1211,  1394,    -1,    -1,    -1,    -1,    -1,    -1,
    3217       -1,  1499,    -1,   652,  1223,    39,  1225,    -1,  1506,    -1,
    3218       -1,    -1,   634,   635,   636,    -1,    -1,    -1,  1419,  1394,
    3219       -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3220      652,    -1,   681,    67,    -1,    -1,  1255,    99,    72,   101,
    3221     1441,    -1,    76,    -1,  1263,  1264,  1265,  1448,   670,    83,
    3222       84,    -1,    -1,    -1,    -1,  1274,  1275,    -1,   707,   681,
    3223       -1,   710,    -1,    -1,    -1,    -1,  1441,    -1,    -1,  1288,
    3224       -1,    -1,    -1,  1448,    -1,   109,    -1,    -1,    -1,    -1,
    3225       -1,    -1,    -1,   117,   118,   707,    -1,    -1,   710,    10,
    3226       11,    12,    13,    14,    -1,    -1,   745,    -1,  1499,    -1,
    3227       -1,   911,    -1,    -1,    -1,    -1,    -1,    -1,  1327,    -1,
    3228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
    3229      182,    -1,    -1,   745,  1499,    -1,    -1,    -1,    -1,    -1,
    3230      192,   193,    -1,    -1,    -1,   197,    -1,   199,   200,    -1,
    3231      789,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3232      799,    72,   801,    74,    75,    76,    -1,   806,    -1,    -1,
    3233      809,    -1,    83,    84,   813,    -1,    -1,   789,    -1,    10,
    3234       11,    12,    13,    14,    -1,  1394,    -1,   799,   988,   801,
    3235       -1,    -1,    -1,    -1,   806,    -1,    -1,   809,   109,    -1,
    3236      111,   813,    -1,    -1,    -1,  1005,   117,   118,    39,    -1,
    3237       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3238       -1,    -1,    -1,    -1,   344,    -1,   346,    -1,    -1,    -1,
    3239       -1,    -1,  1441,    -1,    -1,   874,    67,   357,   358,  1448,
    3240       39,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
    3241       -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
    3242       -1,    -1,   874,    -1,    -1,   904,    -1,    -1,    67,    -1,
    3243       -1,    -1,    -1,    72,    -1,    74,    75,    76,   109,    -1,
    3244      111,    -1,    -1,  1083,    83,    84,   117,   118,    -1,    -1,
    3245     1499,    -1,   904,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3246       -1,    -1,    -1,   574,   575,    -1,    -1,    -1,    -1,    -1,
    3247      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3248       -1,    -1,    -1,  1123,    -1,    -1,    -1,    -1,    -1,    -1,
    3249       -1,    -1,   603,    -1,    -1,   606,   607,    -1,   609,    -1,
    3250      611,   612,    -1,    -1,    -1,   616,   617,     3,     4,     5,
    3251        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3010       0,     1,    44,   187,   187,   535,   187,     0,    44,   753,
     3011     187,    44,   206,   241,   648,   187,   522,   753,   188,   881,
     3012       1,   753,   107,   221,   118,   187,   187,   514,   621,   170,
     3013     171,   350,    32,     0,   986,   760,     0,   189,   603,    32,
     3014     350,   601,   601,   493,    44,   188,   281,   497,    44,   993,
     3015      50,    39,  1337,   604,    44,  1419,   603,    50,    44,   610,
     3016     601,   572,    51,    32,    64,    32,    72,    67,    32,    82,
     3017      70,    64,   157,   601,    67,    95,  1050,    70,    39,   346,
     3018     419,    44,    45,   267,   267,  1031,   267,   694,   601,    70,
     3019     267,    63,   107,   601,    50,   267,   296,   110,   268,  1043,
     3020     439,  1062,  1063,   601,   117,   267,   267,   107,   447,   203,
     3021     130,   263,   264,  1526,    39,   115,   131,    82,   118,   119,
     3022     109,   109,    67,   111,    39,   268,   132,    64,   483,  1493,
     3023      72,  1030,  1031,  1546,    39,    44,    45,    39,   365,    84,
     3024    1553,   735,   369,   636,   637,   187,   427,   428,   148,   149,
     3025     111,   187,   115,   881,   187,  1440,   149,   157,   158,   115,
     3026     132,   654,   162,   635,   636,   637,     0,   258,   912,   162,
     3027     489,    28,   109,    39,   119,    82,   912,     0,     1,  1140,
     3028     912,   112,   654,   689,   109,   116,   111,   187,   188,    72,
     3029     132,   187,   148,   110,   109,   188,   111,   187,    32,   116,
     3030       0,   187,    82,   203,   109,   114,   111,   720,    82,    32,
     3031     117,   211,   720,   411,   495,    96,   483,   162,   211,   712,
     3032      82,    78,   720,   223,     0,   267,    58,   427,   428,   109,
     3033     223,   267,    32,   514,   267,   118,   110,   407,   115,   116,
     3034     712,   241,   123,   109,    67,   111,    85,    70,   109,   111,
     3035     111,   109,    67,   253,   131,   211,    32,   342,   818,   818,
     3036     253,   261,   109,  1423,   407,   830,   266,   267,   268,   820,
     3037       1,   996,   283,   273,   113,   268,   108,   818,   223,   111,
     3038     635,   636,   637,   830,   253,   241,   253,   372,   799,   253,
     3039     818,    67,  1238,   603,     0,     1,   296,   931,   579,   654,
     3040     907,    11,  1254,   397,   119,   818,     1,   507,   308,   116,
     3041     818,   481,   512,   109,   807,   515,   261,   273,   491,    50,
     3042     818,   266,  1050,  1475,   324,   132,    32,   109,   419,   329,
     3043    1304,   425,    44,    45,   230,   807,   329,   431,   481,   112,
     3044      80,   112,   342,   116,   683,  1291,   346,   162,   439,   131,
     3045     350,   351,   308,   249,   621,    82,   447,   712,  1510,   626,
     3046    1512,  1521,  1224,   590,    70,   365,  1526,   116,   568,   369,
     3047     697,   111,   372,   113,    96,   940,   107,   117,   110,   939,
     3048     939,   110,   109,   132,   115,   117,  1546,   116,   220,   110,
     3049     346,  1290,  1291,  1553,   749,  1526,   117,   397,   939,   131,
     3050     223,   123,   114,    90,    91,   632,   351,   407,   223,    10,
     3051      11,    12,    13,    14,   407,   114,  1009,   148,   116,   253,
     3052      94,     0,  1553,    80,   258,   425,   157,   427,   428,  1125,
     3053     253,   431,   605,  1129,   434,   109,   609,   111,    39,   126,
     3054     127,   526,   274,   116,   118,   119,   261,   223,   129,   281,
     3055     131,   266,   807,   253,   111,   455,   113,   630,   258,   132,
     3056     117,   634,   116,  1407,  1408,  1059,    67,  1018,  1019,  1415,
     3057     976,   427,   428,   473,     3,   112,   207,   253,   132,   116,
     3058     211,   481,   749,   483,   116,   485,   697,   432,   481,   489,
     3059    1464,    72,   485,     0,   505,   495,  1224,  1471,   948,   734,
     3060     132,   116,    83,    84,   991,  1139,   658,   507,   649,   509,
     3061     241,   830,   512,     3,   514,   515,  1415,   349,   485,   689,
     3062     830,   485,   522,     0,   116,    32,   526,   527,   110,   474,
     3063     111,   109,   116,   111,   366,   117,   351,    44,   370,   495,
     3064     132,    72,   273,    50,  1109,   276,   689,   253,   132,    94,
     3065    1524,   112,    83,    84,   116,   116,   911,    64,   514,   254,
     3066      67,  1496,   656,    70,   109,   296,   111,  1502,   116,   109,
     3067     132,   571,   572,   118,   119,   351,  1304,   308,   131,   579,
     3068     111,   792,   809,    94,   132,   419,   913,   814,  1523,  1095,
     3069     590,   591,   683,  1528,  1100,   595,   116,   917,   109,   919,
     3070     111,   601,   110,   603,   116,   439,   116,   118,   119,   110,
     3071     110,   342,   132,   447,   116,   346,   116,   432,   709,   419,
     3072     132,   621,   132,   579,   116,   944,   626,   591,   628,   112,
     3073     132,   958,   632,   116,   365,   635,   636,   637,   369,   439,
     3074     132,   372,   149,   109,   911,   111,   110,   447,   112,   483,
     3075     595,   485,   116,   109,   654,   162,   656,   668,   869,   474,
     3076     110,    72,   485,   748,   109,   621,   116,   131,   132,   867,
     3077     626,   110,    83,    84,    50,  1030,   903,   116,   623,   852,
     3078     187,   188,    72,   628,   109,   485,   686,   109,   110,   689,
     3079     888,   120,   121,    83,    84,   110,   427,   428,   474,    71,
     3080     111,   116,   913,    75,   211,   109,    78,   111,    80,   485,
     3081    1304,   118,   712,   713,   714,    87,   223,   124,   125,   109,
     3082     720,   721,   950,   109,   455,   111,   109,   738,   912,   912,
     3083     109,   912,   873,    88,    89,   912,  1464,   468,   109,   115,
     3084     912,   110,  1009,  1471,   914,   110,   253,   958,   748,   749,
     3085     912,   912,   110,   753,   754,   700,    72,   110,    74,    75,
     3086     267,   112,   493,    72,   495,   109,   497,    83,    84,   714,
     3087     109,   914,   945,   468,    83,    84,   507,    72,   509,   485,
     3088     595,   512,   115,   514,   515,   996,  1530,  1381,    83,    84,
     3089     622,  1321,   115,   116,  1530,   526,  1524,   110,  1530,   799,
     3090    1127,   109,   111,   116,  1159,   132,   638,   807,   623,   809,
     3091     110,   811,    64,   628,   814,   815,   116,   110,   818,   514,
     3092     109,   653,   329,   116,   507,   910,   509,   110,  1022,   512,
     3093     830,   109,   515,   116,   529,   211,  1047,   532,   112,   534,
     3094     535,   132,   214,   350,    85,    86,    87,   623,   579,   683,
     3095      72,   815,    74,    75,   110,   557,   558,   559,   560,   590,
     3096     116,    83,    84,  1190,  1191,   110,   811,   109,   109,   111,
     3097     111,   116,   113,   114,  1468,   709,  1470,   114,   110,   114,
     3098     110,   881,   132,   683,   116,   700,   116,   110,   583,   111,
     3099     621,   109,  1159,   116,   109,   626,   111,   273,   132,   714,
     3100     407,   632,   734,   903,  1045,   465,   109,  1134,   111,   709,
     3101     910,   911,   912,   110,   914,   749,  1127,   881,   114,   116,
     3102     296,   110,   110,   110,   700,  1095,   926,   116,   116,   116,
     3103    1100,  1525,   308,    82,   109,  1290,   111,   109,   714,   939,
     3104     940,    85,    86,    87,   944,   109,   110,   111,   109,   949,
     3105     950,    82,  1095,    92,    93,   686,   112,  1100,     0,     1,
     3106     655,   119,   657,   116,   117,   109,   966,   111,   949,   113,
     3107     114,  1238,   129,    72,   110,   111,   976,    76,   485,  1190,
     3108    1191,   353,   489,   355,    83,    84,   128,    29,    30,   465,
     3109      32,    58,    59,   724,   950,    94,   811,   115,   116,  1505,
     3110     116,   117,    44,  1203,  1204,    94,  1206,   131,    50,  1009,
     3111     109,   111,   707,  1213,   109,  1215,    58,   748,   109,   118,
     3112     119,   114,    64,  1117,   112,    67,   116,   117,    70,   112,
     3113    1030,  1031,   109,   110,   111,   811,     4,     5,     6,     7,
     3114       8,     9,    84,    85,   109,   110,   111,   881,   112,  1555,
     3115    1050,    44,    45,  1009,   109,   110,   111,   110,   881,    10,
     3116      11,    12,    13,    14,   553,   554,   108,  1012,   109,   111,
     3117      30,   443,   110,   110,  1401,   110,   118,   911,   809,   455,
     3118     110,   881,   110,   814,   555,   556,  1050,   112,    39,   111,
     3119    1090,   131,  1419,   116,   601,  1095,   603,    58,    59,    60,
     3120    1100,    69,   114,    71,   114,   881,   109,   149,   112,  1109,
     3121     561,   562,   672,   110,  1125,   157,    67,  1117,  1129,  1130,
     3122     162,  1263,  1264,  1265,    84,    85,   949,   110,   112,   117,
     3123     112,   507,   112,   509,  1134,  1220,   512,   112,   117,   515,
     3124       3,   117,   116,    94,    29,   187,   188,    10,    11,    12,
     3125      13,    14,   110,   110,   116,   114,   112,   112,   109,  1159,
     3126     111,   203,   115,   110,   132,  1492,  1493,   118,   119,   211,
     3127     115,   115,   903,   109,   116,   881,    39,  1377,   220,   910,
     3128     110,   223,   689,   132,   110,   110,   117,   110,   230,   110,
     3129    1401,   110,   116,   110,   110,   926,   672,  1012,   110,   110,
     3130     110,  1201,  1202,   245,    67,   110,   110,   249,  1419,   110,
     3131     110,   253,   254,   720,   721,   110,  1050,   948,   949,   950,
     3132    1220,  1202,   110,   110,  1224,   267,   268,  1050,   110,    72,
     3133      29,   115,   274,    76,   131,   795,  1012,  1248,  1238,   281,
     3134      83,    84,  1242,   949,   117,   805,    72,   116,    74,    75,
     3135    1050,    94,    72,   110,    74,    75,  1201,    83,    84,   819,
     3136    1224,  1242,   112,    83,    84,   112,   109,   116,   111,   964,
     3137     110,   110,   110,   117,  1050,   118,   119,   112,  1009,   116,
     3138     114,  1492,  1493,   109,   116,   245,   110,   329,   114,   109,
     3139    1290,  1291,   110,   988,   114,   110,   991,   110,   993,  1299,
     3140     112,   110,   116,  1397,  1304,   116,     3,   349,   350,   110,
     3141     686,   818,  1540,    10,    11,    12,    13,    14,   112,   795,
     3142     109,   109,   109,   830,   366,  1159,   109,  1338,   370,   805,
     3143     109,  1342,   117,   115,   112,   132,   110,  1337,   110,   381,
     3144    1304,   110,    39,   819,  1050,   115,  1530,  1530,  1043,  1530,
     3145     115,   114,   129,  1530,  1299,   397,  1337,   112,  1530,  1090,
     3146     110,  1531,   116,   112,   132,   407,   112,   110,  1530,  1530,
     3147      67,     4,     5,     6,     7,     8,     9,   116,  1201,  1202,
     3148     110,   110,    47,   425,   112,  1555,  1201,   112,  1531,   431,
     3149    1224,   433,   112,   110,   112,   132,   112,  1397,   112,   132,
     3150      33,  1224,   115,  1134,  1238,   912,    72,   914,    74,    75,
     3151      76,  1505,  1555,   132,   110,  1415,   115,    83,    84,  1242,
     3152     132,   381,   132,   117,  1224,  1201,   468,   110,   112,   115,
     3153     112,   473,   112,  1444,   112,    56,    69,   944,    71,   481,
     3154    1440,   112,   112,   485,   112,   112,   110,   489,  1224,   110,
     3155     492,   109,   494,   881,    72,   112,    74,    75,    76,  1440,
     3156     112,   109,   109,    60,  1464,    83,    84,  1027,  1028,   110,
     3157    1304,  1471,   514,  1473,   110,  1475,  1299,   114,    99,   132,
     3158     112,  1304,   117,   112,  1299,   110,   112,   529,  1530,  1220,
     3159     532,   109,   534,   535,  1530,   110,  1202,  1530,    96,   109,
     3160    1464,    96,   109,   115,  1304,  1505,   112,  1471,   132,   110,
     3161    1510,  1242,  1512,   116,  1337,    42,   110,   110,  1224,   110,
     3162     110,   117,   110,  1299,  1524,  1085,  1086,   132,  1304,    96,
     3163    1530,  1531,   492,   132,   494,     3,  1242,    96,  1531,   110,
     3164    1540,   583,    10,    11,    12,    13,    14,   132,   590,   132,
     3165     926,  1027,  1028,   117,    72,  1555,   110,     0,    76,   601,
     3166    1524,   603,  1555,   286,  1396,    83,    84,   132,  1263,  1264,
     3167    1265,    39,   110,   110,   195,   115,    94,   112,   112,   132,
     3168     622,   109,   132,   115,  1540,   308,   309,   110,  1095,    32,
     3169     115,   109,    72,  1100,    74,    75,   638,   218,  1304,    67,
     3170     118,   119,   644,    83,    84,   110,  1337,   228,   132,  1085,
     3171    1086,   653,   110,   655,   656,   657,   110,  1440,  1066,   565,
     3172     563,  1224,  1493,   346,   564,  1053,  1321,    70,   566,  1383,
     3173    1464,  1337,   567,  1565,   114,  1314,  1130,  1471,  1342,  1081,
     3174    1471,  1464,   686,   686,   919,  1100,   927,   689,  1471,   699,
     3175     583,   693,   980,   695,   873,   650,   724,   699,   946,   382,
     3176      50,   734,  1242,   485,  1464,   707,    -1,    26,    27,    28,
     3177      -1,  1471,   571,   571,    64,   296,  1236,    67,   720,   721,
     3178      70,   571,    -1,    -1,   644,    -1,    -1,    -1,  1464,    -1,
     3179    1524,    -1,   734,    -1,    -1,  1471,    72,    -1,    74,    75,
     3180      76,  1524,    -1,    58,    -1,     0,     1,    83,    84,  1440,
     3181      -1,  1271,  1407,  1408,  1090,   158,    -1,    -1,    -1,  1279,
     3182    1280,  1281,    -1,    -1,  1524,     4,     5,     6,     7,     8,
     3183       9,    -1,    -1,   693,  1440,   695,    -1,    32,    -1,   699,
     3184      -1,   100,  1473,   102,  1475,    -1,    -1,    -1,  1524,    -1,
     3185    1445,    -1,    -1,   108,    -1,    50,   111,    -1,  1464,   149,
     3186    1236,    67,    -1,    -1,    -1,  1471,   191,    -1,    -1,    -1,
     3187      -1,    77,   162,   198,    -1,    70,   818,    -1,    -1,  1510,
     3188      -1,  1512,    -1,    -1,    -1,  1345,    -1,    -1,   830,   232,
     3189      69,    -1,    71,    -1,    -1,  1271,  1224,    -1,   188,    -1,
     3190      -1,    -1,   157,  1279,  1280,  1281,    -1,    -1,    -1,  1540,
     3191     253,  1506,   107,   119,    -1,   258,    -1,    -1,  1524,    -1,
     3192    1515,   211,    -1,   444,   183,    -1,    -1,   550,   551,   552,
     3193      -1,   873,    -1,   223,   193,   194,    -1,    -1,   880,   198,
     3194      -1,   200,   201,    -1,    -1,   270,    -1,    -1,    72,   470,
     3195      74,    75,    76,    -1,   149,    -1,   162,    -1,    -1,    83,
     3196      84,   903,   157,   158,    -1,   220,    -1,    -1,    -1,  1345,
     3197     912,    -1,   914,    -1,    -1,    -1,    -1,    -1,    72,   921,
     3198      74,    75,    76,    -1,    -1,   109,   507,    -1,    -1,    83,
     3199      84,   512,  1320,   188,   515,    -1,    -1,    -1,    -1,   324,
     3200      94,    -1,   944,    -1,    -1,    -1,    -1,   332,   203,   352,
     3201     335,   206,   207,   873,    -1,   109,   211,   223,    -1,   274,
     3202     880,    -1,   964,    -1,   118,   119,   281,    -1,    -1,    -1,
     3203      -1,    -1,    -1,    -1,    -1,    -1,    -1,   232,   980,   329,
     3204      -1,   236,    -1,   238,    -1,    -1,   988,  1375,    -1,   991,
     3205    1378,   993,   247,    -1,    -1,   261,    -1,    -1,   253,    -1,
     3206     266,   921,    -1,   258,    -1,    -1,    -1,    -1,   672,    -1,
     3207      -1,    -1,    -1,   268,   399,   281,   419,    -1,   403,    -1,
     3208      -1,   276,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3209      -1,   434,    -1,    -1,   349,  1423,   439,    -1,    -1,    -1,
     3210    1428,  1043,    -1,    -1,   447,    10,    11,    12,    13,    14,
     3211      -1,   366,    -1,    39,    -1,   370,    -1,   407,    -1,    -1,
     3212     980,    -1,   465,  1530,    -1,    -1,    -1,    -1,    -1,    -1,
     3213    1458,    -1,    -1,    -1,    39,    -1,    -1,   760,    -1,  1081,
     3214     483,    67,   485,    -1,    -1,   351,    -1,   342,    -1,    -1,
     3215     671,   346,    -1,  1095,    -1,   480,    -1,   352,  1100,   680,
     3216      -1,    -1,    67,   684,    -1,    -1,    -1,    -1,    94,    -1,
     3217     365,    -1,    -1,    -1,   369,  1117,    -1,   372,   433,    -1,
     3218      -1,    -1,    -1,   109,   527,   111,    -1,    -1,    -1,    94,
     3219      -1,   795,   118,   119,    -1,    -1,    -1,  1473,    -1,  1475,
     3220      -1,   805,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3221      -1,    -1,    -1,   118,   119,   819,  1544,    -1,    -1,    -1,
     3222      -1,  1081,  1550,    -1,   419,    -1,   432,    -1,    -1,    -1,
     3223      -1,    -1,    -1,  1561,  1510,    -1,  1512,  1565,    72,   434,
     3224      74,    75,    76,   449,   439,    -1,   571,   572,   591,    83,
     3225      84,    -1,   447,    -1,    72,  1197,    74,    75,    76,    -1,
     3226      94,    -1,    -1,     0,    -1,    83,    84,    -1,   474,    -1,
     3227     465,    -1,    -1,   468,    -1,   109,    94,   111,  1220,    -1,
     3228      -1,    -1,    -1,   117,   118,   119,    -1,    -1,   483,    -1,
     3229     485,   109,   635,   636,   637,    32,    -1,    -1,   493,    -1,
     3230     118,   119,   497,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3231      -1,   654,    -1,    -1,    -1,    -1,   575,   576,    -1,    -1,
     3232      -1,  1263,  1264,  1265,    -1,    -1,    -1,    -1,    -1,   672,
     3233      -1,   526,   527,    70,   659,   590,    -1,  1197,   663,    -1,
     3234     683,    -1,    -1,    -1,    -1,   604,    -1,    -1,   607,   608,
     3235      -1,   610,    -1,   612,   613,    -1,    -1,    -1,   617,   618,
     3236      -1,    -1,    -1,    -1,    -1,    -1,   709,   622,    -1,   712,
     3237      -1,    -1,    -1,    -1,    -1,    -1,    -1,   572,     0,  1321,
     3238      -1,    -1,    -1,   638,   905,    -1,  1009,    -1,    -1,   595,
     3239      -1,    -1,    -1,    -1,    -1,   590,   591,    -1,   653,    -1,
     3240      -1,    -1,    -1,     0,     1,    -1,   749,    -1,   603,    -1,
     3241      32,    -1,    -1,    -1,    -1,    -1,    -1,   623,    -1,    -1,
     3242      -1,   158,   628,  1027,  1028,    -1,   621,  1050,    -1,    -1,
     3243      -1,   626,    -1,    -1,    -1,    32,    -1,   632,    -1,    -1,
     3244     635,   636,   637,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3245      -1,    -1,   795,    -1,  1396,  1397,    -1,    -1,    -1,   654,
     3246      -1,    -1,   805,    -1,   807,  1407,  1408,    -1,    -1,   812,
     3247      67,    -1,   815,    70,   799,    -1,   819,   672,    -1,   734,
     3248      -1,  1085,  1086,    -1,    -1,    -1,    -1,    -1,   683,    -1,
     3249      -1,    -1,    -1,    -1,   700,    -1,    -1,    -1,    -1,   758,
     3250     759,    -1,    -1,  1445,    -1,    -1,    -1,    -1,   714,    -1,
     3251      -1,    -1,    -1,    -1,   709,    -1,   253,   712,    -1,    -1,
     3252      -1,   258,    -1,    -1,    -1,    -1,   721,    -1,   734,   724,
     3253      72,    -1,    74,    75,    76,    -1,   158,    -1,   881,    -1,
     3254    1061,    83,    84,    -1,    72,    -1,    74,    75,    76,    -1,
     3255      -1,    -1,    94,   748,   749,    83,    84,    -1,    -1,   754,
     3256      -1,   158,    -1,  1505,  1506,    -1,    94,   109,   911,   111,
     3257      -1,    -1,    -1,  1515,    -1,    -1,   118,   119,    -1,    -1,
     3258      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,  1530,  1531,
     3259     118,   119,    -1,   918,    -1,    -1,    -1,    -1,    -1,    -1,
     3260     795,    -1,    -1,    -1,    -1,   811,    -1,    -1,    -1,    -1,
     3261     805,    -1,   807,  1555,   809,   352,    -1,   812,    -1,   814,
     3262     815,    -1,    -1,   966,   819,    -1,   223,    -1,    -1,    -1,
     3263      -1,   253,    -1,    -1,   829,    -1,   258,    97,    98,    99,
     3264     100,   101,   102,   103,   104,   105,   106,    -1,   903,    -1,
     3265      -1,    -1,    -1,    -1,    -1,    -1,   253,    72,    -1,    74,
     3266      75,    76,    -1,    -1,   923,    -1,    -1,  1271,    83,    84,
     3267      -1,   131,    -1,   998,    -1,  1279,  1280,  1281,    -1,    94,
     3268      -1,    -1,   419,    -1,  1027,  1028,   881,  1030,  1031,    -1,
     3269    1015,    -1,    -1,    -1,   109,    -1,   111,   434,    -1,    -1,
     3270      -1,    -1,   439,   118,   119,    -1,    -1,  1050,   903,    -1,
     3271     447,    -1,    -1,    -1,    -1,   910,   911,    -1,    -1,   914,
     3272      -1,    10,    11,    12,    13,    14,    -1,    -1,   465,    -1,
     3273     352,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3274      -1,  1345,  1085,  1086,    -1,   940,   483,    -1,   485,    -1,
     3275      39,    -1,    -1,   948,   949,    -1,    -1,    -1,    -1,    -1,
     3276      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1093,    -1,
     3277      -1,   966,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3278      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3279     527,    -1,  1313,    -1,    83,    84,    -1,   419,    -1,    -1,
     3280      -1,    -1,    -1,    -1,    -1,    94,  1012,    -1,    -1,    -1,
     3281    1135,    -1,   434,    -1,  1009,    -1,  1159,   439,    -1,    -1,
     3282     109,    -1,   111,    -1,    -1,   447,    -1,  1022,  1087,   118,
     3283     119,    -1,  1027,  1028,    -1,  1030,  1031,   434,    -1,    -1,
     3284      -1,    -1,    -1,   465,    -1,    -1,    -1,    -1,    -1,    -1,
     3285      -1,    -1,    -1,    -1,   591,  1050,    -1,    -1,    -1,  1202,
     3286      -1,   483,    -1,   485,    -1,    -1,    -1,    -1,    -1,    -1,
     3287      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3288      -1,  1224,    -1,    -1,    -1,    -1,    -1,    -1,   485,    -1,
     3289    1085,  1086,    -1,  1236,    -1,  1238,    -1,    -1,   635,   636,
     3290     637,    -1,    -1,    -1,    -1,   527,    -1,    -1,    -1,    -1,
     3291      -1,    -1,    -1,    -1,    -1,    -1,    -1,   654,    -1,    -1,
     3292      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1271,    -1,
     3293     527,    -1,    -1,    -1,     0,   672,  1279,  1280,  1281,  1134,
     3294      -1,    -1,    -1,    -1,    -1,    -1,   683,  1290,  1291,    -1,
     3295      -1,  1472,    -1,  1474,    -1,    -1,    -1,    -1,    -1,    -1,
     3296    1219,  1304,    -1,    -1,  1159,  1220,    32,    -1,    -1,   591,
     3297      -1,    -1,   709,    -1,    -1,   712,    -1,    -1,    -1,    -1,
     3298      10,    11,    12,    13,    14,    -1,    -1,    -1,  1509,    -1,
     3299    1511,    -1,    -1,    -1,   591,  1201,    -1,    -1,    -1,    -1,
     3300      -1,    -1,  1345,    -1,    70,    -1,    -1,  1202,    -1,    39,
     3301      -1,    -1,   749,   635,   636,   637,    -1,    -1,    -1,    -1,
     3302      -1,    -1,    -1,    -1,    -1,  1220,    -1,    -1,    -1,  1224,
     3303      -1,    -1,   654,  1554,    -1,  1556,    -1,    67,   635,   636,
     3304     637,  1236,    72,  1238,    74,    75,    76,  1242,  1569,  1570,
     3305     672,    -1,    -1,    83,    84,    -1,    -1,   654,   795,    -1,
     3306      -1,   683,    -1,    -1,    94,    -1,    -1,    -1,   805,    -1,
     3307     807,    -1,  1415,    -1,    -1,   812,  1271,    -1,   815,   109,
     3308      -1,   111,   819,    -1,  1279,  1280,  1281,   709,   118,   119,
     3309     712,    -1,   158,  1299,    -1,  1290,  1291,    -1,    -1,    -1,
     3310      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,  1304,
     3311      -1,    -1,    -1,    -1,    -1,   712,    -1,    -1,    -1,    -1,
     3312      -1,  1464,    -1,    -1,    -1,    -1,    -1,   749,  1471,    -1,
     3313      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3314      -1,  1396,  1337,    -1,   881,    -1,    -1,    -1,    -1,    -1,
     3315    1345,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3316      -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3317      76,    -1,    -1,   795,   911,    -1,    -1,    83,    84,    -1,
     3318      -1,  1524,    -1,   805,    -1,   807,    -1,   253,    94,    -1,
     3319     812,    -1,   258,   815,    -1,    -1,    -1,   819,    -1,    -1,
     3320      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     3321     807,    -1,   118,   119,    -1,    -1,    -1,    -1,   815,    -1,
     3322    1415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   966,
     3323      -1,    54,    -1,    56,    -1,    -1,    59,    60,    61,    -1,
     3324      63,    -1,    -1,    -1,    -1,  1440,    10,    11,    12,    13,
     3325      14,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,   881,
     3326      -1,    -1,    -1,    -1,    -1,    -1,    -1,    90,    91,  1464,
     3327      -1,    -1,    -1,    -1,    -1,    39,  1471,    10,    11,    12,
     3328      13,    14,    -1,    -1,   881,    -1,   352,    -1,    -1,   911,
     3329    1027,  1028,    -1,  1030,  1031,    -1,    -1,    -1,    -1,    -1,
     3330      -1,    -1,    -1,    67,    -1,    -1,    39,    -1,    72,    -1,
     3331      74,    75,    76,  1050,    -1,    -1,    -1,    -1,    -1,    83,
     3332      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1524,
     3333      94,    -1,    -1,    -1,    67,    -1,  1531,    -1,    -1,    72,
     3334      -1,    74,    75,    76,   966,   109,    -1,    -1,  1085,  1086,
     3335      83,    84,   949,   419,   118,   119,    -1,    -1,    -1,    -1,
     3336      -1,    94,    -1,    10,    11,    12,    13,    14,   434,   966,
     3337      -1,    -1,    -1,   439,    -1,    -1,   109,    -1,    -1,    -1,
     3338      -1,   447,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,
     3339      -1,    -1,    39,    -1,    10,    11,    12,    13,    14,   465,
     3340      -1,    -1,    -1,    -1,    -1,  1027,  1028,    -1,  1030,  1031,
     3341      -1,    -1,    -1,    -1,    -1,    -1,    -1,   483,    -1,   485,
     3342      67,    -1,  1159,    39,    -1,    72,    -1,    -1,  1050,    76,
     3343      -1,    -1,    -1,  1030,  1031,    -1,    83,    84,    -1,    -1,
     3344      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3345      -1,    67,    -1,  1050,    -1,    -1,    72,    -1,    -1,    -1,
     3346      76,   527,   109,  1085,  1086,  1202,    -1,    83,    84,    -1,
     3347      -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3348      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1224,    -1,    -1,
     3349      -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,  1236,
     3350      -1,  1238,   118,   119,    10,    11,    12,    13,    14,    15,
    32523351      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3253       26,    27,    28,    -1,    30,    31,    32,    33,  1017,  1018,
    3254       36,  1020,  1021,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3256       -1,  1040,    -1,    -1,    -1,  1017,  1018,    -1,  1020,  1021,
    3257       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3258       -1,    -1,    78,    -1,    -1,    -1,     7,    -1,  1040,    10,
    3259       11,    12,    13,    14,    -1,    -1,  1075,  1076,    -1,    -1,
    3260       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       -1,    -1,    -1,    -1,    -1,   111,    37,    38,    39,    40,
    3262       -1,   117,   118,  1075,  1076,    -1,    -1,    -1,    -1,    -1,
    3263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3264       -1,    -1,    -1,   754,   755,    66,    67,    -1,    -1,    -1,
    3265       -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    3266       81,    82,    83,    84,    -1,    86,    87,  1146,    -1,    -1,
    3267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3268       -1,    -1,   574,   575,    -1,    -1,    -1,    -1,   109,    -1,
    3269      111,    -1,    -1,    -1,  1146,    -1,   117,   118,   119,   120,
    3270      121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271     1189,   603,    -1,    -1,   606,   607,    -1,   609,    -1,   611,
    3272      612,    -1,    -1,    -1,   616,   617,    -1,    -1,    -1,    -1,
    3273       -1,    -1,  1211,    -1,    -1,    -1,    -1,  1189,    -1,   699,
    3274       -1,   701,    -1,    -1,  1223,    -1,  1225,    -1,   708,   709,
    3275       -1,    -1,    -1,   713,    -1,    -1,    -1,    -1,    -1,  1211,
    3276       -1,    -1,    -1,    -1,    -1,   725,    -1,    -1,    -1,    -1,
    3277      730,  1223,    -1,  1225,    -1,    -1,  1255,    -1,    -1,    -1,
    3278       -1,    -1,    -1,    -1,  1263,  1264,  1265,    -1,    -1,    -1,
    3279       -1,    -1,    -1,    -1,    -1,  1274,  1275,    -1,   758,    -1,
    3280      911,    -1,    -1,  1255,    -1,   916,    -1,    -1,    -1,  1288,
    3281       -1,  1263,  1264,  1265,    -1,    -1,    -1,    -1,    -1,    -1,
    3282       -1,    -1,  1274,  1275,    -1,    -1,    -1,    -1,    -1,    -1,
    3283       -1,    -1,    -1,    -1,    -1,    -1,  1288,    -1,    -1,    -1,
    3284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1327,    -1,
    3285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3286       49,    -1,   754,   755,    -1,    -1,    -1,    -1,    -1,    -1,
    3287       -1,    -1,    -1,    -1,    -1,  1327,    -1,    66,    -1,    -1,
    3288        7,    -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,
    3289       -1,    -1,    -1,    -1,    -1,    -1,    -1,   857,   858,   859,
    3290      860,    -1,   862,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3291       37,    38,    39,    40,    -1,  1394,    -1,   877,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,   118,
    3293       -1,   891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3294       67,    -1,  1394,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3295       -1,    -1,    79,    80,    81,    82,    83,    84,   147,    86,
    3296       87,    -1,  1441,    -1,    -1,    -1,  1077,    -1,   157,  1448,
    3297       -1,   931,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3298       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,  1441,
    3299      117,   118,   119,   120,   121,   122,  1448,    10,    11,    12,
     3352      26,    27,   345,    -1,   347,   591,    -1,    -1,    -1,    -1,
     3353      -1,    -1,    -1,    39,  1271,   358,   359,  1159,    -1,    -1,
     3354      -1,    -1,  1279,  1280,  1281,    -1,    -1,    -1,    -1,    -1,
     3355      -1,    -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,    -1,
     3356      -1,    67,    -1,    -1,    -1,    -1,    -1,  1304,    -1,   635,
     3357     636,   637,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3358    1202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   654,    -1,
     3359      37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
     3360      -1,    -1,  1224,    -1,  1201,  1202,   672,    -1,  1345,    -1,
     3361      -1,    -1,    -1,    -1,  1236,    -1,  1238,   683,    -1,    66,
     3362      -1,    -1,    -1,    -1,    -1,    72,    -1,  1224,    -1,    76,
     3363      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3364      87,    -1,    -1,   709,    -1,  1242,   712,    94,    -1,  1271,
     3365      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1279,  1280,  1281,
     3366      -1,    -1,   109,    -1,   111,    -1,    -1,   114,  1290,  1291,
     3367      -1,   118,   119,   120,   121,   122,   123,    -1,  1415,    -1,
     3368      -1,    -1,  1304,   749,    -1,    -1,    -1,    -1,    -1,    -1,
     3369      -1,    -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,    -1,
     3370      -1,    -1,  1299,    -1,    -1,    -1,    -1,  1304,    -1,    -1,
     3371      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3372      -1,    -1,    -1,  1345,    -1,    -1,    -1,  1464,    -1,   795,
     3373      -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,    -1,   805,
     3374    1337,   807,    -1,    -1,    -1,    -1,   812,    -1,    -1,   815,
     3375      -1,    -1,    -1,   819,    -1,    10,    11,    12,    13,    14,
     3376      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3377      25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
     3378      -1,    -1,    67,    -1,    39,    -1,    -1,  1524,    -1,    -1,
     3379      -1,    -1,    77,  1415,    79,    -1,    81,    -1,    -1,    -1,
     3380      -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,
     3381      -1,    -1,    67,    -1,    -1,   881,    -1,    72,  1415,    74,
     3382      75,    76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,
     3383      -1,    -1,    -1,    -1,   119,    -1,   121,   122,   123,    94,
     3384      -1,    -1,  1464,  1440,    -1,   911,    -1,    -1,    -1,  1471,
     3385      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    26,
     3386      27,    28,    -1,   118,   119,    -1,    -1,  1464,    -1,    -1,
     3387      -1,    -1,    37,    38,  1471,    40,    -1,   162,   701,    -1,
     3388     703,    -1,    -1,    -1,    -1,    -1,    -1,   710,   711,    -1,
     3389      -1,    -1,   715,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3390     966,    66,  1524,    50,   727,    -1,    -1,    72,    -1,   732,
     3391      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3392      67,    86,    87,    -1,    -1,    -1,    -1,  1524,    -1,    94,
     3393      -1,    -1,    -1,   100,    -1,   102,    -1,    -1,   223,   762,
     3394     225,   226,   227,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3395      -1,    -1,   117,   118,   119,   120,   121,   122,   123,    -1,
     3396     127,  1027,  1028,    -1,  1030,  1031,    -1,    -1,   115,    -1,
     3397      -1,    -1,   119,    -1,    -1,    -1,   261,    -1,    -1,    -1,
     3398      -1,   266,    -1,    -1,  1050,    -1,    -1,    -1,   284,    -1,
     3399     286,   287,    -1,    -1,    -1,    -1,   281,    -1,   294,   295,
     3400      -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3401      -1,   158,   308,   309,    -1,   162,   183,    -1,    -1,  1085,
     3402    1086,    -1,    -1,    -1,   191,    -1,   193,   194,    -1,    -1,
     3403      -1,   198,    -1,   200,   201,    -1,    -1,    -1,    -1,    -1,
     3404     863,   864,   865,   866,   329,   868,    -1,    -1,    -1,    -1,
     3405     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3406      -1,   884,    -1,    -1,   211,    -1,   351,    -1,    -1,    -1,
     3407      -1,   356,   357,    -1,    -1,   898,   223,    -1,    -1,   364,
     3408      -1,    -1,    -1,    -1,    -1,    -1,   382,    -1,    -1,    -1,
     3409      -1,    -1,    -1,  1159,   241,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,    -1,   270,    -1,    -1,    -1,    -1,    -1,    -1,
     3411      -1,    -1,    -1,    -1,    -1,   938,    -1,    -1,    -1,   266,
     3412      -1,    -1,   407,    -1,    -1,    -1,   273,    -1,    -1,    -1,
     3413      -1,    -1,    -1,    -1,    -1,    -1,  1202,    -1,    -1,    -1,
     3414     425,    -1,    -1,    -1,    -1,   430,    -1,   432,    -1,   296,
     3415      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1224,    -1,
     3416      -1,   308,   985,    -1,   449,    -1,    -1,   452,   453,   992,
     3417    1236,    -1,  1238,    -1,   997,   460,    -1,    -1,    -1,  1002,
     3418      -1,  1004,    -1,    -1,    -1,  1008,    -1,  1010,  1011,   474,
     3419      -1,  1014,    -1,    -1,    -1,    -1,   481,    -1,    -1,   346,
     3420    1023,    -1,    -1,    -1,   351,  1271,    -1,    -1,    -1,    -1,
     3421      -1,    -1,    -1,  1279,  1280,  1281,    -1,    -1,  1041,  1042,
     3422      -1,    -1,    -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,
     3423      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1304,    -1,
     3424      -1,    -1,    -1,    -1,    -1,  1068,    -1,    -1,  1071,    -1,
     3425      -1,    -1,    -1,    -1,   550,   551,   552,   553,   554,   555,
     3426     556,   557,   558,   559,   560,   561,   562,   563,   564,   565,
     3427     566,   567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1345,
     3428     427,   428,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,
     3429      -1,  1114,    -1,    -1,    -1,    -1,    -1,  1120,  1121,    -1,
     3430      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,  1132,
     3431     595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1142,
     3432      -1,    -1,  1145,    -1,  1147,    -1,    -1,  1150,    -1,    -1,
     3433      -1,    -1,    -1,    -1,    -1,    -1,   483,    -1,   623,    -1,
     3434    1163,    -1,    -1,   628,    -1,    -1,    -1,    -1,   495,  1415,
     3435      -1,    -1,    -1,  1176,    -1,  1178,  1179,  1180,  1181,    -1,
     3436     507,    -1,   509,    -1,    -1,   512,    -1,   514,   515,    -1,
     3437      -1,  1194,    -1,  1196,    -1,    -1,    -1,  1200,    -1,    -1,
     3438     527,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3439      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,
     3440      -1,   697,    -1,    -1,    -1,  1471,  1229,  1230,   575,   576,
     3441      -1,    -1,    -1,    -1,    -1,   700,    -1,    -1,    -1,    -1,
     3442      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   714,
     3443      -1,    -1,   579,    -1,    -1,    -1,    -1,   604,    -1,    -1,
     3444     607,   608,    -1,   610,   591,   612,   613,    -1,   595,   734,
     3445     617,   618,    -1,    -1,    -1,    -1,    -1,    -1,  1524,  1282,
     3446    1283,    -1,    -1,    -1,   760,    -1,    -1,    -1,    -1,  1292,
     3447      -1,    -1,    -1,    -1,   621,    -1,    -1,    -1,    -1,   626,
     3448      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   635,   636,
     3449     637,    -1,    -1,    -1,    -1,    -1,   792,    -1,    -1,     7,
     3450      -1,    -1,    10,    11,    12,    13,    14,   654,    -1,    -1,
     3451      -1,    -1,    -1,    -1,   799,    -1,    -1,    -1,    -1,    -1,
     3452    1343,    -1,    45,    -1,    -1,    -1,   811,    -1,    -1,    37,
     3453      38,    39,    40,  1356,    -1,  1358,  1359,  1360,    -1,   686,
     3454      -1,    -1,    -1,    -1,    -1,   830,    -1,  1370,    -1,    -1,
     3455      -1,    -1,    -1,    -1,    -1,    -1,  1379,    -1,    66,    67,
     3456      -1,    -1,    -1,    -1,    72,   712,    -1,   714,    76,    -1,
     3457      93,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3458     103,    -1,    -1,  1406,    -1,    -1,    94,    -1,    -1,    -1,
     3459      -1,   758,   759,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3460      -1,   109,   749,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3461     118,   119,   120,   121,   122,   123,    -1,   913,    -1,    -1,
     3462      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1451,  1452,
     3463      -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,
     3464      -1,  1464,    -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,
     3465     173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   944,
     3466     807,    -1,   958,    -1,   811,    -1,    -1,    -1,   815,    -1,
     3467      -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,    -1,
     3468      -1,  1504,    -1,    -1,    -1,  1508,    -1,   210,    -1,    -1,
     3469      -1,   976,    -1,    -1,    -1,    -1,   219,    -1,    -1,    -1,
     3470     996,    -1,    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,
     3471      -1,    -1,    -1,  1009,  1537,    -1,  1539,    -1,    -1,    -1,
     3472      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1012,    -1,    -1,
     3473      -1,   254,    -1,    -1,    -1,    -1,   259,    -1,  1023,    -1,
     3474      -1,    -1,    -1,    -1,  1567,  1568,    -1,    -1,    -1,   272,
     3475      -1,   918,  1575,  1576,  1050,   278,   923,   280,    -1,    -1,
     3476      -1,    -1,    -1,    -1,   911,    -1,    -1,    -1,    -1,    -1,
     3477      -1,    -1,    -1,    -1,   297,    -1,    -1,    -1,    -1,   926,
     3478      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3479      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
     3480      -1,    -1,    -1,   950,    -1,    -1,    -1,    -1,    -1,    -1,
     3481    1095,    -1,    -1,    -1,    -1,    -1,   339,    -1,    -1,   966,
     3482      -1,   344,    -1,    66,  1109,    -1,    -1,    -1,    -1,    72,
     3483      -1,  1127,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     3484      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3485     373,    94,    -1,    -1,   377,   378,    -1,   380,    -1,    -1,
     3486      -1,    -1,  1009,    -1,   387,   388,   109,   390,   391,    -1,
     3487     393,    -1,   395,    -1,    -1,   118,   119,   120,   121,   122,
     3488     123,    -1,    -1,  1030,  1031,    -1,    -1,    -1,    -1,   412,
     3489      -1,    -1,    -1,    -1,  1190,  1191,    -1,   420,    -1,    -1,
     3490      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3491      -1,    -1,    -1,    -1,    -1,    -1,  1201,    -1,    -1,    -1,
     3492    1087,    -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3493      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,    -1,  1090,    -1,    -1,    -1,    -1,   471,    -1,
     3495      -1,    -1,    -1,    -1,   477,    -1,    -1,     0,    -1,   482,
     3496       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    33003497      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3301       23,    24,    25,    26,    27,    -1,   976,    30,    31,    32,
    3302     1499,   210,   982,    -1,   916,    -1,    39,   987,    -1,    -1,
    3303       -1,    -1,   992,   222,   994,    -1,    -1,    -1,   998,    -1,
    3304     1000,  1001,    -1,    -1,  1004,    -1,    -1,  1499,    -1,    -1,
    3305       -1,   240,    -1,  1013,    67,    -1,    -1,    -1,    -1,    -1,
    3306       -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3307       -1,  1031,  1032,    -1,    -1,    -1,   265,    -1,    -1,    -1,
    3308       -1,    -1,    -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,
    3309       -1,    -1,    -1,    -1,    -1,  1206,    -1,    -1,  1058,    -1,
    3310       -1,  1061,    -1,    -1,   117,   118,   295,    -1,    -1,    -1,
    3311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   307,    -1,
    3312       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
    3313       -1,    -1,    -1,    -1,    76,    -1,    78,    -1,    80,    -1,
    3314       -1,    -1,    -1,    -1,  1104,    87,    -1,    -1,    -1,    -1,
    3315     1110,  1111,    -1,    -1,    -1,    -1,   345,    -1,    -1,    -1,
    3316       -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317     1130,    -1,    -1,  1133,    -1,    -1,   118,  1137,   120,   121,
    3318      122,    -1,    -1,    -1,    -1,  1077,    -1,    -1,    -1,    -1,
    3319     1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3320       -1,    -1,    -1,  1163,    -1,  1165,  1166,  1167,  1168,    -1,
    3321       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   161,
    3322       -1,  1181,    -1,  1183,    -1,    -1,    -1,  1187,    -1,    -1,
    3323       -1,    -1,    -1,    -1,    -1,    -1,    -1,   426,   427,    -1,
    3324       -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,    -1,    -1,
    3325       -1,    -1,    -1,    -1,    -1,    -1,  1216,  1217,    -1,    -1,
    3326       -1,    -1,    -1,    -1,    -1,   454,    -1,    -1,    -1,    -1,
    3327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3328      222,    -1,   224,   225,   226,    -1,    -1,    -1,    -1,    -1,
    3329       -1,    -1,    -1,   482,    -1,    -1,    -1,    -1,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,   494,  1266,  1267,    -1,    -1,
    3331       -1,    -1,    -1,    -1,  1206,    -1,  1276,   506,   260,   508,
    3332       -1,    -1,   511,   265,   513,   514,    -1,    -1,    -1,    -1,
    3333       -1,    -1,    -1,    -1,    -1,    -1,    -1,   526,   280,    -1,
    3334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3335       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3336       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3337       26,    27,    28,    -1,    30,    31,    32,  1337,    -1,  1339,
    3338     1340,  1341,    -1,    39,    -1,    -1,   328,    -1,    -1,   578,
    3339       -1,  1351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3340     1360,   590,    -1,    -1,    -1,   594,    -1,    -1,   350,    -1,
    3341       -1,    67,    -1,   355,   356,    -1,    72,    -1,    74,    75,
    3342       76,   363,    78,    -1,    -1,  1385,    -1,    83,    84,    -1,
    3343       -1,   620,    -1,    -1,   147,    -1,   625,    -1,    -1,    -1,
    3344       -1,    -1,    -1,    -1,   157,   634,   635,   636,    -1,    44,
    3345       -1,    -1,    -1,   109,    -1,   111,   169,   170,    -1,    -1,
    3346       -1,   117,   118,   652,   406,    -1,    -1,    -1,  1428,  1429,
    3347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3348       -1,  1441,   424,    -1,    -1,    -1,    -1,   429,  1448,   431,
    3349       37,    38,    -1,    40,    -1,   684,    -1,    92,    -1,    -1,
    3350       -1,    -1,    -1,    -1,    -1,    -1,   448,   102,    -1,   451,
    3351      452,    -1,    -1,    -1,    -1,    -1,    -1,   459,    -1,    66,
    3352     1480,   710,    -1,   712,  1484,    72,    -1,   240,    -1,    76,
    3353       -1,   473,    79,    80,    81,    82,    83,    84,   480,    86,
    3354       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3355       -1,   264,  1512,    -1,  1514,    -1,   745,    -1,    -1,    -1,
    3356       -1,    -1,   109,   158,   111,    -1,    -1,   114,    -1,    -1,
    3357      117,   118,   119,   120,   121,   122,    -1,   172,    -1,    -1,
    3358       -1,    -1,  1542,  1543,    -1,    -1,    -1,    -1,    -1,    -1,
    3359     1550,  1551,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3360      195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3361       -1,    -1,   801,    -1,   209,    -1,   805,    -1,    -1,    -1,
    3362      809,    -1,    -1,   218,    -1,    -1,    -1,    -1,    -1,    -1,
    3363       -1,    -1,    -1,   228,    -1,    -1,    -1,    -1,    -1,    -1,
    3364       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
    3365       -1,    -1,   594,    -1,    -1,    -1,    -1,    -1,   253,    -1,
    3366       -1,    -1,    -1,   258,    -1,    -1,    -1,   380,    -1,    -1,
    3367       -1,    -1,    -1,    66,    -1,    -1,   271,    -1,    -1,    72,
    3368      622,    -1,   277,    76,   279,   627,    79,    80,    81,    82,
    3369       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3370       -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,    -1,    -1,    -1,    -1,   904,   109,    -1,   111,    -1,
    3372       -1,    -1,    -1,   116,   117,   118,   119,   120,   121,   122,
    3373      919,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3374       -1,    -1,    -1,   338,    -1,    -1,    -1,    -1,   343,    -1,
    3375       -1,    -1,    -1,    -1,   943,    -1,   698,    -1,    -1,    -1,
    3376       -1,   474,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3377      712,    -1,    -1,    -1,    -1,    -1,    -1,   372,    -1,    -1,
    3378       -1,   376,   377,    -1,   379,    -1,    -1,    -1,    -1,    -1,
    3379      732,   386,   387,    -1,   389,   390,    -1,   392,    -1,   394,
    3380      513,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3381      999,    -1,    -1,   526,    -1,    -1,   411,    -1,   531,    -1,
    3382       -1,   534,    -1,    -1,   419,    -1,    -1,    -1,    -1,    -1,
    3383       -1,  1020,  1021,   546,    -1,    -1,    -1,    -1,    -1,    -1,
    3384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   444,
    3385       -1,   793,    -1,    -1,    -1,   568,    -1,    -1,    -1,    -1,
    3386       -1,    -1,    -1,   805,    -1,   578,    -1,    -1,    -1,    -1,
    3387       -1,    -1,   585,    -1,    -1,   470,    -1,   590,    -1,    -1,
    3388       -1,   476,   824,    -1,    -1,    -1,   481,    -1,    -1,    -1,
    3389       -1,  1080,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
    3390        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3391       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3392       27,    -1,   517,    30,    31,    32,   639,    -1,    -1,    -1,
    3393       -1,    -1,    39,    -1,   647,    -1,    -1,   532,    -1,    -1,
    3394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3395       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1146,    -1,    -1,
    3396       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3397       -1,    -1,    -1,    37,    38,   570,    40,    -1,    -1,    -1,
    3398       -1,    -1,    -1,    -1,   579,    -1,    -1,    -1,    -1,    -1,
    3399       -1,   586,    -1,    -1,    -1,   937,    -1,   592,    -1,  1188,
    3400       -1,    -1,    66,    -1,   111,    -1,   601,    -1,    72,    -1,
    3401      117,   118,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3402       84,    -1,    86,    87,    -1,   967,    -1,    -1,    -1,    -1,
    3403       -1,    -1,   745,    -1,   747,    -1,  1225,    -1,    -1,   156,
    3404      157,    -1,    -1,    -1,   757,   109,   641,   111,    -1,    -1,
    3405      763,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
    3406     1002,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3407       -1,  1013,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,
    3408      197,    -1,   677,    -1,    -1,  1274,  1275,    -1,    -1,    -1,
    3409      685,    -1,   805,   806,  1283,    -1,   809,    -1,    -1,    -1,
    3410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,
    3411      823,   285,   286,    -1,    -1,    -1,    -1,    -1,    -1,   293,
    3412      294,   716,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3413       -1,   726,   727,   307,   308,    -1,    -1,    -1,    -1,    -1,
    3414       -1,    -1,    -1,  1085,    -1,    -1,    -1,    -1,    -1,    -1,
    3415      863,    -1,   269,    -1,   867,    -1,    -1,  1099,    -1,    -1,
    3416       -1,    -1,    -1,    -1,   759,    -1,    -1,    -1,    -1,   764,
    3417       -1,   345,    10,    11,    12,    13,    14,    15,    16,    17,
    3418       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3419       -1,   904,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3420       -1,    39,    40,    -1,    -1,  1394,   323,   381,    -1,    -1,
    3421       -1,    -1,    -1,    -1,   331,   332,    -1,   334,   335,    -1,
    3422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,    67,
    3423      943,    -1,   349,   828,    -1,    -1,    74,    75,    -1,    -1,
    3424      835,    -1,    -1,    -1,    -1,    -1,  1188,    -1,    -1,    -1,
    3425       -1,   368,    -1,   848,   371,   850,    -1,    -1,   971,    -1,
    3426       -1,  1450,    -1,  1452,   977,    -1,    -1,    -1,   981,   864,
    3427       -1,    -1,    -1,   111,    -1,   870,    -1,   115,    -1,   117,
    3428      118,   398,    -1,    -1,    -1,   402,    -1,   882,    -1,  1002,
    3429      885,    -1,    -1,    -1,    -1,    -1,    -1,  1486,    -1,  1488,
    3430     1013,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3431       -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,
    3432       -1,    -1,  1035,    -1,  1037,    -1,  1515,    -1,    -1,    -1,
    3433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1052,
    3434     1053,  1283,    10,    11,    12,    13,    14,    15,    16,    17,
    3435       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3436     1073,    -1,   479,    -1,    -1,   482,    -1,   962,    -1,    -1,
    3437       -1,    39,    -1,    -1,    -1,   549,   550,   551,   552,   553,
    3438      554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
    3439      564,   565,   566,    -1,    -1,    -1,    -1,    37,    38,    67,
    3440       40,    -1,   997,    -1,   521,    -1,    -1,    -1,   525,   526,
    3441       -1,    -1,    -1,    -1,    -1,  1128,    -1,    -1,    -1,    -1,
    3442       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
    3443       -1,    -1,    72,  1146,    -1,    -1,    76,    -1,    -1,    79,
    3444       80,    81,    82,    83,    84,    -1,    86,    87,  1161,  1162,
    3445       -1,    -1,    -1,   570,   571,    -1,    -1,    -1,    -1,    -1,
    3446     1055,    -1,    -1,    -1,    -1,    -1,  1061,    -1,    -1,   109,
    3447       -1,   111,   589,   590,   114,    -1,    -1,   117,   118,   119,
    3448      120,   121,   122,   600,    -1,   602,   603,    -1,    -1,    -1,
    3449       -1,    -1,   609,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3450     1095,    -1,   619,   620,    -1,  1100,    -1,    -1,   625,    -1,
    3451       -1,    -1,    -1,  1108,    -1,    -1,    -1,   634,   635,   636,
    3452       -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3453       -1,    -1,    -1,    -1,    -1,   652,    -1,    -1,    -1,    -1,
    3454      657,   658,    -1,    -1,   661,   662,  1141,    -1,    -1,    -1,
    3455       -1,   668,    -1,    -1,    -1,    -1,    -1,    -1,  1153,    -1,
    3456       -1,  1156,    -1,  1158,    -1,    -1,    -1,    -1,    -1,    -1,
    3457      687,    -1,    -1,    -1,    -1,    -1,    -1,  1172,  1173,    -1,
    3458       -1,    -1,   756,    -1,    -1,    -1,    -1,    -1,  1530,  1302,
    3459       -1,    -1,  1305,   710,   711,    -1,    -1,    -1,    -1,  1194,
    3460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3461       -1,    -1,   786,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3462       -1,    -1,    -1,    -1,    -1,    -1,    -1,   744,   745,    -1,
    3463       -1,    -1,   749,   750,    -1,    -1,    -1,    -1,    -1,    -1,
    3464       -1,    -1,    -1,    -1,    -1,    -1,  1241,    -1,    -1,    -1,
    3465       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3466       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3467       -1,    30,    31,    32,    -1,    -1,   793,    -1,    -1,    -1,
    3468       39,    -1,    -1,    -1,   801,    -1,    -1,    -1,    -1,    -1,
    3469       -1,   808,   809,    -1,    -1,   812,    -1,   814,    -1,    -1,
    3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,   824,    67,    -1,
    3471       -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    78,
    3472       -1,  1316,    -1,  1318,    83,    84,    -1,    -1,    -1,    -1,
    3473       -1,    -1,   906,    -1,    -1,  1330,    -1,  1332,    -1,    -1,
    3474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3475       -1,    -1,   111,    -1,  1349,    -1,    -1,    -1,   117,   118,
    3476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3477     1365,  1366,    -1,    -1,    -1,    -1,    -1,   951,    -1,   896,
    3478       -1,  1376,    -1,    -1,  1379,    -1,   903,   904,   905,    -1,
    3479      907,    -1,    -1,    -1,   911,    -1,    -1,    -1,    -1,    -1,
    3480       -1,    -1,  1515,    -1,    -1,  1400,    -1,    -1,    -1,    -1,
    3481       -1,    -1,   986,    -1,  1409,   932,   933,  1412,    -1,  1414,
    3482     1415,  1416,    -1,    -1,    -1,   999,    10,    11,    12,    13,
    3483       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3484       24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,
    3485      967,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,  1454,
    3486       -1,  1456,    -1,  1458,    -1,    -1,  1040,    -1,    -1,    -1,
    3487       -1,   988,   989,    -1,    -1,    -1,    -1,    -1,  1473,    -1,
    3488       -1,    -1,   999,    67,    -1,    -1,    -1,    -1,  1005,  1006,
    3489       -1,  1008,  1009,  1010,    78,    -1,    -1,    -1,    -1,    -1,
    3490       -1,    -1,    -1,  1020,  1021,    -1,    -1,    -1,    -1,    -1,
    3491       -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
    3492        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3493       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3494       26,    27,    -1,  1117,    30,    31,    32,    33,    -1,    -1,
    3495       36,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3496       -1,    -1,    -1,    -1,    -1,    -1,  1083,    -1,  1085,    -1,
    3497       -1,    -1,    -1,  1090,    -1,    -1,    -1,    -1,    -1,    -1,
    3498       66,    67,  1099,    69,    -1,    71,    72,    -1,    74,    75,
     3498      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3499      33,    -1,    -1,    36,    -1,   518,    39,    40,    -1,    -1,
     3500      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3501     533,    -1,  1159,    -1,  1299,    -1,    -1,    -1,    -1,    -1,
     3502      -1,    64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,
     3503      -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
     3504      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,   571,    -1,
     3505      -1,    94,  1219,    -1,  1201,    -1,    -1,   580,    -1,   157,
     3506     158,    -1,    -1,    -1,   587,    -1,   109,    -1,   111,    -1,
     3507     593,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   602,
     3508      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3509      -1,  1238,    -1,   191,    -1,    -1,    -1,    -1,    -1,    -1,
     3510     198,    -1,    -1,    -1,    -1,  1401,    -1,    -1,    -1,    -1,
     3511      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3512     643,    -1,    -1,  1419,    -1,    -1,    -1,    -1,    -1,    -1,
     3513      -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
     3514      -1,    -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,    -1,
     3515      -1,    -1,  1299,    -1,    -1,    -1,   679,    -1,    -1,    -1,
     3516      66,    -1,    -1,    -1,   687,    -1,    72,    -1,    -1,    -1,
     3517      76,    -1,   270,    79,    80,    81,    82,    83,    84,    -1,
     3518      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3519      -1,    -1,    -1,    -1,    -1,   718,  1492,  1493,    -1,    -1,
     3520      -1,    -1,    -1,   109,    -1,   728,   729,    -1,    -1,    -1,
     3521      -1,    -1,   118,   119,   120,   121,   122,   123,    -1,   742,
     3522      -1,    -1,    -1,    -1,    -1,    -1,   324,    -1,    -1,    -1,
     3523      -1,    -1,    -1,    -1,   332,   333,    -1,   335,   336,    -1,
     3524     763,    -1,   765,    -1,    -1,    -1,   769,    -1,   346,    -1,
     3525      -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3526      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1415,    -1,
     3527    1555,   369,    -1,    -1,   372,    10,    11,    12,    13,    14,
     3528      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3529      25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
     3530      -1,   399,    -1,    -1,    39,   403,    -1,    -1,    -1,    -1,
     3531      -1,   834,    -1,    -1,    -1,    -1,    -1,    -1,   841,    -1,
     3532      -1,    -1,    -1,    -1,    -1,    -1,  1473,    -1,  1475,    -1,
     3533      -1,   854,    67,   856,    -1,    -1,   434,    72,    -1,    74,
     3534      75,    76,    -1,    78,    -1,    -1,    -1,   870,    83,    84,
     3535      -1,    -1,    -1,    -1,   877,    -1,    -1,    -1,    -1,    94,
     3536      -1,    -1,    -1,  1510,   148,  1512,   889,    -1,    -1,   892,
     3537      -1,    -1,    -1,    -1,   158,    -1,   111,    -1,    -1,    -1,
     3538      -1,    -1,   480,   118,   119,   483,   170,   171,    -1,    -1,
     3539      -1,    -1,    -1,  1540,     3,     4,     5,     6,     7,     8,
     3540       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3541      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3542      -1,    30,    31,    32,   522,    -1,    -1,    -1,   526,   527,
     3543      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3544      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   971,    -1,
     3545      -1,    -1,    -1,    -1,    -1,    -1,    -1,   241,    67,    -1,
     3546      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
     3547      -1,    -1,    -1,   571,   572,    -1,    -1,    -1,    -1,    -1,
     3548      -1,   265,    -1,    -1,  1007,    94,    -1,    -1,    -1,    -1,
     3549      -1,    -1,   590,   591,    -1,    -1,    -1,    -1,    -1,    -1,
     3550      -1,    -1,   111,   601,    -1,   603,   604,    -1,    -1,   118,
     3551     119,    -1,   610,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3552      -1,    -1,   620,   621,    -1,    -1,    -1,    -1,   626,    -1,
     3553      -1,    -1,    -1,    -1,    -1,    -1,    -1,   635,   636,   637,
     3554      -1,    -1,  1065,    -1,    -1,    -1,    -1,    -1,  1071,    -1,
     3555      -1,    -1,    -1,    -1,    -1,    -1,   654,    -1,    -1,    -1,
     3556      -1,   659,   660,    -1,    -1,   663,   664,    -1,    -1,    -1,
     3557      -1,    -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3558      -1,    -1,  1105,    -1,    -1,    -1,    -1,  1110,    -1,    -1,
     3559      -1,   689,    -1,    -1,    -1,  1118,    -1,   381,    -1,    -1,
     3560      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3561      -1,    -1,    -1,    -1,   712,   713,    -1,    -1,    -1,    -1,
     3562      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3563      -1,  1154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3564      -1,    -1,    -1,  1166,    -1,    -1,  1169,    -1,  1171,    -1,
     3565     748,   749,    -1,    -1,    -1,   753,   754,    -1,    -1,    -1,
     3566      -1,    -1,  1185,  1186,    -1,    -1,    -1,    -1,    -1,    -1,
     3567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    -1,    -1,    -1,  1207,    -1,    -1,    -1,    -1,    -1,
     3569      -1,   475,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3570      -1,   799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   807,
     3571      -1,    -1,    -1,    -1,    -1,    -1,   814,   815,    -1,    -1,
     3572     818,    66,   820,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3573     514,    76,   830,  1256,    79,    80,    81,    82,    83,    84,
     3574      -1,    86,    87,   527,    -1,    -1,    -1,    -1,   532,    94,
     3575      -1,   535,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3576      -1,    -1,   546,   547,   109,    -1,   111,    -1,    -1,    -1,
     3577      -1,   116,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3578      -1,    -1,    -1,    -1,    -1,   569,    -1,    -1,    -1,    -1,
     3579      -1,    -1,    -1,    -1,    -1,   579,    -1,    -1,    -1,    -1,
     3580      -1,    -1,   586,    -1,    -1,   903,    -1,   591,    -1,  1332,
     3581      -1,  1334,   910,   911,   912,    -1,   914,    -1,    -1,    -1,
     3582     918,    -1,    -1,    -1,    -1,  1348,    -1,  1350,    -1,    -1,
     3583      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3584      -1,   939,   940,    -1,    -1,  1368,    -1,    -1,    -1,    -1,
     3585      -1,    -1,    -1,    -1,    -1,    -1,   640,    -1,    -1,    -1,
     3586      -1,  1384,  1385,    -1,    -1,   649,    -1,    -1,   966,    -1,
     3587      -1,    -1,  1395,    -1,    -1,  1398,    -1,    -1,   976,    10,
     3588      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3589      21,    22,    23,    24,    25,    26,    27,    28,  1421,    -1,
     3590     998,   999,    -1,    -1,    -1,    -1,    -1,  1430,    39,    -1,
     3591    1433,  1009,  1435,  1436,  1437,    -1,    -1,  1015,  1016,    -1,
     3592    1018,  1019,  1020,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3593      -1,    -1,  1030,  1031,    -1,    -1,    67,    -1,    -1,    -1,
     3594      -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
     3595      -1,    -1,    -1,    -1,  1477,    -1,  1479,    -1,  1481,    -1,
     3596      -1,    -1,    -1,    -1,    -1,   749,    -1,   751,    -1,    -1,
     3597      -1,    -1,    -1,    -1,  1497,    -1,    -1,   761,    -1,    -1,
     3598      -1,    -1,    -1,    -1,   768,    -1,    -1,    -1,    -1,    -1,
     3599      -1,    -1,    -1,    -1,    -1,  1093,    -1,  1095,    -1,    -1,
     3600      -1,    -1,  1100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3601      -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,
     3602      -1,    -1,    10,    11,    12,    13,    14,   811,   812,    -1,
     3603      -1,   815,    -1,    -1,    -1,    -1,  1134,  1135,  1136,    -1,
     3604      -1,    -1,    -1,    -1,    -1,   829,    -1,    -1,    -1,    37,
     3605      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3606      -1,  1159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3607      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3608      -1,    -1,    -1,    -1,    72,   869,    -1,    -1,    76,   873,
     3609      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3610      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3611      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3612      -1,   109,  1220,   111,    -1,    -1,    -1,   911,    -1,    -1,
     3613     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3614    1238,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3615      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3616      23,    24,    25,    26,    27,    -1,   950,    30,    31,    32,
     3617      -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,
     3618      -1,    -1,   966,   967,    -1,    -1,    -1,    -1,    -1,    -1,
     3619      -1,    -1,  1290,  1291,    -1,    -1,   980,    -1,    -1,    -1,
     3620      -1,    -1,   986,    66,    67,   989,    69,   991,    71,    72,
     3621      -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3622      83,    84,    -1,    86,    87,    -1,    -1,    -1,  1012,    -1,
     3623      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1023,
     3624      -1,    37,    38,    -1,    40,    -1,   109,    -1,   111,    -1,
     3625      -1,    -1,    -1,   116,    -1,   118,   119,   120,   121,   122,
     3626     123,  1045,    -1,  1047,    -1,    -1,    -1,    -1,    -1,    -1,
     3627      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,  1062,  1063,
    34993628      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3500       86,    87,    -1,  1177,  1178,  1122,  1123,  1124,    -1,    -1,
    3501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3502       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,  1146,
    3503       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,   132,    -1,     3,     4,
     3629      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,  1083,
     3630      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3631      -1,    -1,    -1,   109,    -1,   111,    -1,  1415,   114,    -1,
     3632      -1,    -1,   118,   119,   120,   121,   122,   123,    -1,    -1,
     3633      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3634      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3635      22,    23,    24,    25,    26,    27,  1140,    -1,    30,    31,
     3636      32,    33,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,
     3637      -1,    -1,    -1,    -1,    -1,  1159,    -1,    -1,    -1,    -1,
     3638      -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
     3639    1174,  1175,    64,    -1,    -1,    67,    -1,    69,    -1,    71,
     3640      72,    -1,    74,    75,    76,    -1,    -1,  1505,    -1,    -1,
     3641      66,    83,    84,    -1,    -1,    -1,    72,    -1,    -1,    -1,
     3642      76,    -1,    94,    79,    80,    81,    82,    83,    84,    -1,
     3643      86,    87,  1530,  1531,    -1,    -1,    -1,   109,    94,   111,
     3644      -1,    -1,    -1,   115,    -1,    -1,   118,   119,    -1,    -1,
     3645      -1,    -1,    -1,   109,    -1,   111,    -1,  1555,    -1,    -1,
     3646      -1,    -1,   118,   119,   120,   121,   122,   123,    -1,    -1,
     3647    1254,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
     3648      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3649      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3650      31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
     3651      41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
     3652      51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
     3653      61,    62,    -1,    64,  1318,    66,    67,  1321,    69,    -1,
     3654      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3655      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3656      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3657      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3658     111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
     3659     121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
     3660      -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3662      -1,  1405,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
    35053663       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    35063664      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    35073665      25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
    3508       -1,    36,    37,    38,    39,    40,    41,    -1,    43,    -1,
    3509     1207,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3510       -1,    -1,    57,    -1,    -1,    -1,    61,    62,  1225,    64,
    3511       -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3512       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3513       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3515       -1,    -1,    -1,    -1,   109,    -1,   111,  1274,  1275,   114,
    3516       -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3517       -1,    -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,
    3518       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3519       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3520       21,    22,    23,    24,    25,    26,    27,    -1,  1382,    30,
    3521       31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
    3522       -1,    -1,    -1,    -1,  1398,    -1,    -1,    -1,    -1,    -1,
    3523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3524       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3525       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3526       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3527       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1394,    -1,    -1,
    3528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3529      111,    -1,    -1,    -1,  1468,  1469,   117,   118,   119,   120,
    3530      121,   122,    -1,     4,     5,     6,     7,     8,     9,    10,
    3531       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3532       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3533       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3534       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3535       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3536       27,    28,    -1,    -1,  1481,    66,    67,    -1,    69,    -1,
    3537       71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
    3538       81,    82,    83,    84,    -1,    86,    87,    -1,  1505,  1506,
    3539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3540       67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3541      111,    78,    -1,  1530,    -1,   116,   117,   118,   119,   120,
    3542      121,   122,     4,     5,     6,     7,     8,     9,    10,    11,
    3543       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3544       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3545       32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    10,
    3546       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3547       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3548       31,    32,    -1,    -1,    66,    67,    -1,    69,    39,    71,
    3549       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3550       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3551       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3552       -1,    72,    -1,    74,    75,    -1,    -1,   109,    -1,   111,
    3553       -1,    -1,    83,    84,   116,   117,   118,   119,   120,   121,
    3554      122,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3555       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3556       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3557       -1,    -1,    -1,    -1,    37,    38,    39,    40,    10,    11,
    3558       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3559       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3560       32,    -1,    -1,    66,    67,    -1,    69,    39,    71,    72,
    3561       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
    3562       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3563       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3564       -1,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
    3565       -1,    -1,    -1,   116,   117,   118,   119,   120,   121,   122,
    3566        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3666      -1,    36,    37,    38,    39,    40,    10,    11,    12,    13,
    35673667      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    35683668      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3569       -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
    3570       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3571       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3572       -1,    -1,    66,    67,    -1,    69,    39,    71,    72,    -1,
    3573       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3574       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3575       -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
    3576       -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3577       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,     4,
     3669      -1,    66,    67,    -1,    69,    39,    71,    72,    -1,    74,
     3670      75,    76,    -1,  1487,    79,    80,    81,    82,    83,    84,
     3671      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3672      -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,
     3673      74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,    83,
     3674      84,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3675      -1,    -1,    -1,    -1,    -1,    -1,  1540,   132,     3,     4,
     3676       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3677      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3678      25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
     3679      -1,    36,    37,    38,    39,    40,    -1,    -1,    -1,    10,
     3680      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3681      21,    22,    23,    24,    25,    26,    27,    28,    -1,    -1,
     3682      -1,    66,    67,    -1,    69,    -1,    71,    72,    39,    74,
     3683      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3684      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3685      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
     3686      -1,    -1,    -1,    -1,   109,    -1,   111,    78,    -1,    -1,
     3687      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,     4,
     3688       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3689      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3690      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3691      -1,    -1,    37,    38,    39,    40,    10,    11,    12,    13,
     3692      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3693      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3694      -1,    66,    67,    -1,    69,    39,    71,    72,    -1,    74,
     3695      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3696      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3697      -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,
     3698      74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3699      -1,   116,    -1,   118,   119,   120,   121,   122,   123,     4,
     3700       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3701      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3702      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3703      -1,    -1,    37,    38,    39,    40,    10,    11,    12,    13,
     3704      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3705      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3706      -1,    66,    67,    -1,    69,    39,    71,    72,    -1,    74,
     3707      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3708      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3709      -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,
     3710      74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3711      -1,   116,    -1,   118,   119,   120,   121,   122,   123,     4,
    35783712       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    35793713      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    35843718      -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    35853719      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3586       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3720      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    35873721      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35883722      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3589       -1,    -1,   117,   118,   119,   120,   121,   122,     4,     5,
    3590        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3591       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3592       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3593       -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
    3597       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3598       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3600       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
    3601       -1,   117,   118,   119,   120,   121,   122,     4,     5,     6,
    3602        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3603       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3604       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3605       37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3608       67,    -1,    69,    -1,    71,    72,    -1,    74,    75,    76,
    3609       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3610       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3612       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3613      117,   118,   119,   120,   121,   122,     0,    -1,    -1,     3,
     3723      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,     4,
     3724       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3725      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3726      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3727      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3728      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3729      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3730      -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3731      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3732      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3733      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3735      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,     4,
     3736       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3737      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3738      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3739      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3740      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3741      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3742      -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3743      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3744      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3745      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3746      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3747      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,     4,
     3748       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3749      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3750      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3751      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3752      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3753      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3754      -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3755      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3756      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3757      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3758      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3759      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,     3,
    36143760       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    36153761      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     
    36213767      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    36223768      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3623       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3769      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36243770      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3625       -1,    -1,    -1,   117,   118,     3,     4,     5,     6,     7,
    3626        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3627       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3628       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    3629       -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3631       -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,
    3632       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3633       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
    3634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3635       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3636       -1,   109,    -1,   111,    -1,    -1,    -1,   115,    -1,   117,
    3637      118,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3638       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3639       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3640       32,    33,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,
    3641       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3643       -1,    -1,    64,    -1,    -1,    67,    -1,    69,    -1,    71,
    3644       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
    3645       -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3646       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3647       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3648       -1,    -1,    -1,    -1,    -1,   117,   118,     3,     4,     5,
    3649        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3771      -1,    -1,    -1,    -1,   118,   119,     3,     4,     5,     6,
     3772       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3773      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3774      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3775      -1,    -1,    39,    -1,    10,    11,    12,    13,    14,    15,
    36503776      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3651       26,    27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,
    3652       36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3655       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3656       -1,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3777      26,    27,    -1,    -1,    30,    31,    32,    33,    34,    35,
     3778      67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
     3779      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3780      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3781      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     3782      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3783      -1,   118,   119,     3,     4,     5,     6,     7,     8,     9,
     3784      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3785      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3786      30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,    39,
     3787      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3788      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3789      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3790      -1,    71,    -1,    -1,    74,    75,    -1,    -1,    78,    -1,
     3791      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3792      -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
     3793      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3794      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3795       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    36573796      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    36583797      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3659       -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,
    3660       -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3662       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,
    3663       -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
    3664       83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3665       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3666       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3667       -1,    -1,    -1,    -1,   117,   118,     4,     5,     6,     7,
    3668        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3669       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3670       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3671       -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3672       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3673       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
    3674       -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
    3675        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3676       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3677       25,    26,    27,    67,    -1,    30,    31,    32,    -1,    -1,
    3678       74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,   117,
    3679      118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3681       -1,    -1,    67,    -1,    69,   109,    71,   111,    -1,    74,
    3682       75,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,
    3683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3684       -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3685       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3686       -1,    -1,   117,   118,     4,     5,     6,     7,     8,     9,
    3687       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3688       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3689       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3690       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3691       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3692       27,    -1,    -1,    30,    31,    32,    -1,    67,    -1,    69,
    3693       -1,    71,    39,    40,    74,    75,    -1,    -1,    -1,    -1,
    3694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3695       -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,
    3696       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3697       -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,     4,
    3698        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3699       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3700       25,    26,    27,    -1,   111,    30,    31,    32,   115,    -1,
    3701      117,   118,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
    3702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3704       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3705       75,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
    3706       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3707       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3708       32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,
    3709       -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
    3710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3712       -1,    -1,    74,    75,    -1,     4,     5,     6,     7,     8,
    3713        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3714       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3715       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,
    3716       39,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,
    3717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3719       69,    -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,
    3720        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3721       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3722       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3723       -1,    -1,   111,    39,    -1,    -1,    -1,    -1,   117,   118,
    3724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3725       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3726       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3727       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3728       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3729       30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
    3730       40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    3731       -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3732       -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
    3733       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3734       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3737       -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,   119,
    3738      120,   121,   122,    10,    11,    12,    13,    14,    15,    16,
     3798      33,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,
     3799      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3800      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3801      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3802      -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3803      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3804      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3805      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
     3806      -1,    -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,
     3807       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    37393808      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    37403809      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3741       37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
    3742       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3743       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
    3744       67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,    76,
    3745       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3746       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3747       -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3748       76,    -1,   109,   110,   111,    -1,    -1,    83,    84,    -1,
    3749      117,   118,   119,   120,   121,   122,    10,    11,    12,    13,
    3750       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3751       24,    25,    26,    27,    -1,   111,    30,    31,    32,    -1,
    3752       -1,   117,   118,    37,    38,    39,    40,    10,    11,    12,
    3753       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3754       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3755       -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
    3756       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3757       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3758       -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
    3759       -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3760       83,    84,    -1,   117,   118,   119,   120,   121,   122,    10,
     3810      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3811      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3812      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3813      67,    -1,    69,    -1,    71,    72,    -1,    74,    75,    76,
     3814      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3815      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3816      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3817      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3818      -1,   118,   119,     4,     5,     6,     7,     8,     9,    10,
    37613819      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3762       21,    22,    23,    24,    25,    26,    27,    -1,   111,    30,
    3763       31,    32,    -1,    -1,   117,   118,    37,    38,    39,    40,
    3764       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3765       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3766       30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
    3767       40,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3768       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3770       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3771      111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
    3772      121,   122,    10,    11,    12,    13,    14,    15,    16,    17,
    3773       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3774       -1,   111,    30,    31,    32,   115,    -1,   117,   118,    37,
    3775       38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    3776       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3777       27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
    3778       -1,    -1,    39,    -1,    72,    -1,    74,    75,    76,    -1,
    3779       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3781       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3782       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
    3783      118,   119,   120,   121,   122,    10,    11,    12,    13,    14,
    3784       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3785       25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
    3786      117,   118,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3787       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3788       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3789       27,    66,    67,    30,    31,    32,    -1,    72,    -1,    74,
    3790       75,    76,    39,    -1,    79,    80,    81,    82,    83,    84,
    3791       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3793       67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,
    3794       -1,    -1,   117,   118,   119,   120,   121,   122,     3,     4,
    3795        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3796       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3797       25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
    3798      117,   118,    -1,    -1,    39,    -1,    -1,    -1,    10,    11,
    3799       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3800       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3801       32,    -1,    67,    -1,    69,    -1,    71,    39,    -1,    74,
    3802       75,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3803       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3804       24,    25,    26,    27,    -1,    67,    30,    31,    32,    -1,
    3805       72,    -1,    74,    75,    76,    39,    -1,    -1,    -1,   114,
    3806       -1,    83,    84,    -1,    10,    11,    12,    13,    14,    15,
    3807       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3808       26,    27,    -1,    67,    30,    31,    32,   109,    72,   111,
    3809       74,    75,    76,    39,    -1,   117,   118,    -1,    -1,    83,
    3810       84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3811       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3812       -1,    67,    30,    31,    32,   109,    72,   111,    74,    75,
    3813       76,    39,    -1,   117,   118,    -1,    -1,    83,    84,    -1,
    3814       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3815       20,    21,    22,    23,    24,    25,    26,    27,    28,    67,
    3816       30,    31,    32,   109,    72,   111,    74,    75,    76,    39,
    3817       -1,   117,   118,    -1,    -1,    83,    84,    -1,    10,    11,
    3818       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3819       22,    23,    24,    25,    26,    27,    28,    67,    30,    31,
    3820       32,   109,    -1,   111,    74,    75,    -1,    39,    78,   117,
    3821      118,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3822       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3823       -1,    30,    31,    32,    -1,    67,    -1,    -1,    -1,   109,
    3824       39,   111,    74,    75,    -1,    -1,    78,   117,   118,    10,
    3825       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3826       21,    22,    23,    24,    25,    26,    27,    -1,    67,    30,
    3827       31,    32,    -1,    -1,    -1,    74,    75,    -1,    39,   111,
    3828       -1,    -1,    -1,    -1,    -1,   117,   118,    10,    11,    12,
    3829       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3830       23,    24,    25,    26,    27,    -1,    67,    30,    31,    32,
    3831       -1,    -1,   111,    74,    75,    -1,    39,    -1,   117,   118,
    3832       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3833       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3834       30,    31,    32,    -1,    67,    -1,    -1,    -1,    -1,    39,
    3835      111,    74,    75,    -1,    -1,    -1,   117,   118,    10,    11,
    3836       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3837       22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
    3838       32,    -1,    -1,    -1,    74,    75,    -1,    39,   111,    -1,
    3839       -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,
    3840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3842       -1,   111,    74,    75,    -1,    -1,    -1,   117,   118,     4,
    3843        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3844       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3845       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,   111,
    3846       -1,    -1,    -1,    -1,    39,   117,   118,    -1,    -1,    -1,
    3847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3849       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3850       75,    37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,
    3851       46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
    3852       56,    57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,
    3853       66,    -1,    -1,    -1,    -1,   110,    72,    -1,    -1,    -1,
    3854       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3855       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3857       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
    3858       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    37,
    3859       38,   127,    40,    41,    -1,    43,   132,    -1,    46,    47,
    3860       48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
    3861       -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
    3862       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3863       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3866       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,
    3867      118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,
    3868       -1,    -1,    -1,    -1,   132,     4,     5,     6,     7,     8,
    3869        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3870       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3871       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3872       39,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
    3873       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3874       -1,    56,    57,    -1,    -1,    -1,    61,    62,    67,    64,
    3875       69,    66,    71,    -1,    -1,    74,    75,    72,    -1,    -1,
    3876       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3877       -1,    86,    87,    -1,    -1,    -1,    -1,    96,    -1,    -1,
    3878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3879       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    3880       -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3881       37,    38,   127,    40,    41,    -1,    43,    44,    45,    46,
    3882       47,    48,    49,    50,    51,    52,    53,    -1,    -1,    -1,
    3883       57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,
    3884       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3885       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3886       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3887       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3888       -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,
    3889      117,   118,   119,   120,   121,   122,    -1,    -1,    37,    38,
    3890      127,    40,    41,    -1,    43,    -1,    -1,    46,    47,    48,
    3891       49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
    3892       -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
    3893       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3894       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3895       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,
    3896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3897      109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,
    3898      119,   120,   121,   122,    66,    -1,    -1,    -1,   127,    -1,
    3899       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3900       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3901       -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3902       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3903       -1,   113,   114,    -1,    -1,   117,   118,   119,   120,   121,
    3904      122,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3905       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3906       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    37,
    3907       38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3908       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    37,    38,
    3909       -1,    40,   117,   118,   119,   120,   121,   122,    66,    -1,
    3910       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3911       -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
    3912       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3913       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3914       -1,   109,    -1,   111,    -1,    37,    38,    -1,    40,   117,
    3915      118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,    -1,
    3916      109,    -1,    -1,    -1,    37,    38,    -1,    40,   117,   118,
    3917      119,   120,   121,   122,    66,    -1,    -1,    -1,    -1,    -1,
    3918       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    3919       82,    83,    84,    66,    86,    87,    -1,    -1,    -1,    72,
    3920       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3921       83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,    -1,
    3922       -1,    37,    38,    -1,    40,   117,   118,   119,   120,   121,
    3923      122,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
    3924       -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
    3925       66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    3926       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3927       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3929       -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
    3930       -1,   117,   118,   119,   120,   121,   122,     4,     5,     6,
    3931        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3932       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3933       27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3934       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3937       67,    -1,    69,    -1,    71,    72,    -1,    74,    75,    76,
    3938       -1,    -1,    -1,    -1,    -1,    -1,    83,    84,     3,     4,
     3820      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3821      31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
     3822      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3823      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3824      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3825      71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
     3826      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3827      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3828      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
     3829     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     4,
    39393830       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    39403831      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    39443835      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39453836      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3946       75,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3947       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3948       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3949       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3951       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3952       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3953       -1,    -1,    74,    75,     4,     5,     6,     7,     8,     9,
     3837      75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3838      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3839      -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3841      -1,    -1,    -1,   118,   119,     4,     5,     6,     7,     8,
     3842       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3843      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3844      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3845      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3846      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3847      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3848      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
     3849      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3850      -1,    -1,    -1,    -1,    -1,    94,    -1,    96,    -1,    -1,
     3851      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3852      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
     3853     119,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3854      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3855      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3856      -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
     3857      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3858      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3859      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3860      -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3861      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3862      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3863      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
     3864      -1,    -1,    -1,    -1,    -1,   118,   119,     4,     5,     6,
     3865       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3866      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3867      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3868      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3869      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3870      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3871      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3872      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3873      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3874      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3875      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3876      -1,   118,   119,     4,     5,     6,     7,     8,     9,    10,
     3877      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3878      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3879      31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
     3880      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3881      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3882      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3883      71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
     3884      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3885      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3886      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3887     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,     4,
     3888       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3889      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3890      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3891      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
     3892      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3893      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3894      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     3895      75,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3896      19,    20,    21,    22,    23,    24,    25,    26,    27,    94,
     3897      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
     3898      39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3899      -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,
     3900      -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,
     3901      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3902      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3903      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3904      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3905     109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,
     3906     119,   120,   121,   122,   123,    10,    11,    12,    13,    14,
     3907      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3908      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3909      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3910      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3911      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3912      -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3913      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3914      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3915      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3916      -1,    -1,    -1,    -1,   109,   110,   111,    -1,    -1,    -1,
     3917      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
     3918      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3919      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3920      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3921      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3922      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3923      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,
     3924      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3925      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3926      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3927      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3928     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3929     121,   122,   123,    10,    11,    12,    13,    14,    15,    16,
     3930      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3931      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3932      37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,
     3933      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3934      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3935      67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,
     3936      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3937      87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3938      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3939      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3940      -1,   118,   119,   120,   121,   122,   123,    10,    11,    12,
     3941      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3942      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3943      -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,
     3944      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3945      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3946      -1,    -1,    -1,    66,    67,    -1,    -1,    -1,    -1,    72,
     3947      -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3948      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3949      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3950      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     3951      -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3952     123,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3953      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3954      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
     3955      39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3956      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3957      -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,
     3958      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3959      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3960      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3961      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3962     109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
     3963     119,   120,   121,   122,   123,     3,     4,     5,     6,     7,
     3964       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3965      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3966      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3967      -1,    39,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3968      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3969      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    67,
     3970      -1,    69,    -1,    71,    39,    -1,    74,    75,    -1,    -1,
     3971      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3972      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3973      27,    -1,    67,    30,    31,    32,    -1,    72,    -1,    74,
     3974      75,    76,    39,    -1,    -1,    -1,   114,    -1,    83,    84,
     3975      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3976      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3977      67,    -1,    -1,    -1,   109,    72,   111,    74,    75,    76,
     3978      -1,    -1,    -1,   118,   119,    -1,    83,    84,    -1,    -1,
     3979      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3980      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3981      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3982      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     3983      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3984      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3985      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     3986      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3987      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3988      67,    -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,
     3989      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3990      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3991      67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,
     3992      -1,    -1,   109,    -1,   111,    -1,    83,    84,    -1,    -1,
     3993      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3995      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3996      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     3997      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3998      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3999      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4000      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4001      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4002      67,    -1,    39,    -1,    -1,    72,    -1,    74,    75,    76,
     4003      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     4004      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4005      67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,
     4006      -1,    -1,    -1,    -1,   111,    -1,    83,    84,    -1,    -1,
     4007      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4008      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4009      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4010      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4011      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4012      27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4013      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4014      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4015      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4016      67,    -1,    39,    40,    -1,    -1,    -1,    74,    75,    -1,
     4017      -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4018      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4019      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4020      -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4021      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4022      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4023      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,
     4024      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4025      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4026      27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4027      -1,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     4028      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4029      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4030      67,    -1,    39,    40,    -1,    -1,    -1,    74,    75,    -1,
     4031      -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4032      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4033      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     4034      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     4035      -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4036      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4037      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,
     4038      -1,   118,   119,    10,    11,    12,    13,    14,    15,    16,
     4039      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4040      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4041      -1,    -1,    39,    40,    10,    11,    12,    13,    14,    15,
     4042      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4043      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4044      67,    -1,    -1,    39,    -1,    -1,    -1,    74,    75,    -1,
     4045      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4046      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     4047      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     4048      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,
     4049      -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     4050      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4051      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,
     4052      -1,    -1,   118,   119,    10,    11,    12,    13,    14,    15,
     4053      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4054      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4055      -1,    -1,    -1,    39,    10,    11,    12,    13,    14,    15,
     4056      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4057      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4058      -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,
     4059      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4060      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     4061      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     4062      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4063      -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,
     4064      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4065      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4066      -1,    -1,   118,   119,    10,    11,    12,    13,    14,    15,
     4067      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4068      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4069      -1,    -1,    -1,    39,    10,    11,    12,    13,    14,    15,
     4070      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4071      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4072      -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,
     4073      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4074      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     4075      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     4076      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4077      -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,
     4078      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4079      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4080      -1,    -1,   118,   119,    10,    11,    12,    13,    14,    15,
     4081      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4082      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4083      -1,    -1,    -1,    39,    10,    11,    12,    13,    14,    15,
     4084      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4085      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4086      -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,
     4087      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4088      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     4089      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     4090      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4091      -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,
     4092      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4093      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4094      -1,    -1,   118,   119,    10,    11,    12,    13,    14,    15,
     4095      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4096      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4097      -1,    -1,    -1,    39,    10,    11,    12,    13,    14,    15,
     4098      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4099      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4100      -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,    75,
     4101      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4102      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     4103      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     4104      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     4105      -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    94,    -1,
     4106      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4107      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4108      -1,    -1,   118,   119,     4,     5,     6,     7,     8,     9,
    39544109      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    39554110      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    39564111      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3957       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3958       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3959       -1,    30,    31,    32,    33,    34,    35,    67,    -1,    69,
    3960       39,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
    3961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3963       -1,    -1,    -1,    -1,    -1,    74,    75
     4112      -1,    37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,
     4113      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
     4114      56,    57,    -1,    -1,    -1,    61,    62,    67,    64,    69,
     4115      66,    71,    -1,    -1,    74,    75,    72,    -1,    -1,    -1,
     4116      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     4117      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     4118      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4119     110,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
     4120      -1,    -1,   118,   119,   120,   121,   122,   123,    -1,    -1,
     4121      -1,    -1,   128,    -1,    37,    38,   132,    40,    41,    -1,
     4122      43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
     4123      53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
     4124      -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
     4125      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     4126      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     4127      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4128      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     4129      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     4130     123,    -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,   132,
     4131       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     4132      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     4133      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     4134      -1,    -1,    -1,    -1,    -1,    39,    -1,    37,    38,    -1,
     4135      40,    41,    -1,    43,    44,    45,    46,    47,    48,    49,
     4136      50,    51,    52,    53,    -1,    -1,    56,    57,    -1,    -1,
     4137      -1,    61,    62,    67,    64,    69,    66,    71,    -1,    -1,
     4138      74,    75,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     4139      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     4140      -1,    -1,    96,    -1,    94,    -1,    -1,    -1,    -1,    -1,
     4141      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     4142      -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
     4143     120,   121,   122,   123,    -1,    -1,    37,    38,   128,    40,
     4144      41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
     4145      51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
     4146      61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
     4147      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     4148      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     4149      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     4150      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     4151     111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
     4152     121,   122,   123,    -1,    -1,    37,    38,   128,    40,    41,
     4153      -1,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
     4154      52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,
     4155      62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,
     4156      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
     4157      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     4158      -1,    -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,
     4159      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     4160      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     4161     122,   123,    66,    -1,    -1,    -1,   128,    -1,    72,    -1,
     4162      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4163      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     4164      94,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
     4165      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,   113,
     4166     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     4167      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
     4168      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     4169      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    37,
     4170      38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4171      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,    38,
     4172      -1,    40,   118,   119,   120,   121,   122,   123,    66,    -1,
     4173      -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     4174      -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
     4175      -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,    -1,
     4176      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     4177      -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,    40,
     4178     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     4179     109,    -1,   111,    -1,    -1,    37,    38,    -1,    40,   118,
     4180     119,   120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,
     4181      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     4182      81,    82,    83,    84,    66,    86,    87,    -1,    -1,    -1,
     4183      72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,    81,
     4184      82,    83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,
     4185      -1,    -1,    94,    -1,    -1,    -1,    -1,   118,   119,   120,
     4186     121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,    -1,
     4187      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     4188     122,   123,     4,     5,     6,     7,     8,     9,    10,    11,
     4189      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4190      22,    23,    24,    25,    26,    27,    -1,    -1,    -1,    -1,
     4191      -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     4192      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4193      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4194      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     4195      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
     4196      -1,    83,    84,     3,     4,     5,     6,     7,     8,     9,
     4197      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4198      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     4199      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     4200      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4201      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4202      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     4203      -1,    71,    -1,    -1,    74,    75,     3,     4,     5,     6,
     4204       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     4205      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4206      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4207      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4208      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4209      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4210      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     4,
     4211       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     4212      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     4213      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     4214      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
     4215      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4216      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4217      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     4218      75
    39644219};
    39654220
     
    39724227      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    39734228      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    3974       76,    83,    84,   109,   111,   117,   118,   137,   140,   149,
    3975      198,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    3976      221,   222,   223,   224,   225,   226,   227,   228,   229,   231,
    3977      232,   233,   234,   235,   236,   237,   238,   240,   241,   242,
    3978      243,   244,   245,   247,   255,   256,   283,   284,   285,   293,
    3979      296,   302,   303,   305,   307,   308,   314,   319,   323,   324,
    3980      325,   326,   327,   328,   329,   330,   350,   367,   368,   369,
    3981      370,    72,   139,   140,   149,   215,   217,   225,   227,   237,
    3982      241,   243,   284,    82,   109,   312,   313,   314,   312,   312,
    3983       72,    74,    75,    76,   138,   139,   273,   274,   294,   295,
    3984       74,    75,   274,   109,   305,    11,   199,   109,   149,   319,
    3985      324,   325,   326,   328,   329,   330,   112,   134,   111,   218,
    3986      225,   227,   323,   327,   366,   367,   370,   371,   135,   107,
    3987      131,   277,   114,   135,   173,    74,    75,   137,   272,   135,
    3988      135,   135,   116,   135,    74,    75,   109,   149,   309,   318,
    3989      319,   320,   321,   322,   323,   327,   331,   332,   333,   334,
    3990      335,   341,     3,    28,    78,   239,     3,     5,    74,   111,
    3991      149,   217,   228,   232,   235,   244,   285,   323,   327,   370,
    3992      215,   217,   227,   237,   241,   243,   284,   323,   327,    33,
    3993      233,   233,   228,   235,   135,   233,   228,   233,   228,    75,
    3994      109,   114,   274,   285,   114,   274,   233,   228,   116,   135,
    3995      135,     0,   134,   109,   173,   312,   312,   134,   111,   225,
    3996      227,   368,   272,   272,   131,   227,   109,   149,   309,   319,
    3997      323,   111,   149,   370,   306,   230,   314,   109,   290,   109,
    3998      109,    51,   109,    37,    38,    40,    66,    72,    76,    79,
    3999       80,    81,    82,    86,    87,   109,   111,   119,   120,   121,
    4000      122,   136,   140,   141,   142,   143,   148,   149,   150,   151,
    4001      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    4002      162,   164,   167,   225,   276,   292,   366,   371,   227,   110,
    4003      110,   110,   110,   110,   110,   110,    74,    75,   111,   225,
    4004      272,   350,   368,   111,   117,   149,   164,   217,   218,   224,
    4005      227,   231,   232,   237,   240,   241,   243,   262,   263,   267,
    4006      268,   269,   270,   284,   350,   362,   363,   364,   365,   370,
    4007      371,   112,   109,   323,   327,   370,   109,   116,   132,   111,
    4008      114,   149,   164,   278,   278,   115,   134,   116,   132,   109,
    4009      116,   132,   116,   132,   116,   132,   312,   132,   319,   320,
    4010      321,   322,   332,   333,   334,   335,   227,   318,   331,    64,
    4011      311,   111,   312,   349,   350,   312,   312,   173,   134,   109,
    4012      312,   349,   312,   312,   227,   309,   109,   109,   226,   227,
    4013      225,   227,   112,   134,   225,   366,   371,   173,   134,   272,
    4014      277,   217,   232,   323,   327,   173,   134,   294,   227,   237,
    4015      132,   227,   227,   292,   248,   246,   258,   274,   257,   227,
    4016      294,   132,   132,   305,   134,   139,   271,     3,   135,   207,
    4017      208,   222,   224,   227,   134,   311,   109,   311,   164,   319,
    4018      227,   109,   134,   272,   114,    33,    34,    35,   225,   286,
    4019      287,   289,   134,   128,   131,   291,   134,   228,   234,   235,
    4020      272,   315,   316,   317,   109,   141,   109,   148,   109,   148,
    4021      151,   109,   148,   109,   109,   148,   148,   111,   164,   169,
    4022      173,   225,   275,   366,   370,   112,   134,    82,    85,    86,
    4023       87,   109,   111,   113,   114,    97,    98,    99,   100,   101,
    4024      102,   103,   104,   105,   106,   131,   166,   151,   151,   117,
    4025      123,   124,   119,   120,    88,    89,    90,    91,   125,   126,
    4026       92,    93,   118,   127,   128,    94,    95,   129,   131,   373,
    4027      109,   149,   345,   346,   347,   348,   349,   110,   116,   109,
    4028      349,   350,   109,   349,   350,   134,   109,   225,   368,   112,
    4029      134,   135,   111,   225,   227,   361,   362,   370,   371,   135,
    4030      109,   111,   149,   319,   336,   337,   338,   339,   340,   341,
    4031      342,   343,   344,   350,   351,   352,   353,   354,   355,   356,
    4032      149,   370,   227,   135,   135,   149,   225,   227,   363,   272,
    4033      225,   350,   363,   272,   109,   134,   134,   134,   112,   134,
    4034       72,   111,   113,   140,   274,   278,   279,   280,   281,   282,
    4035      134,   134,   134,   134,   134,   134,   309,   110,   110,   110,
    4036      110,   110,   110,   110,   318,   331,   109,   277,   112,   207,
    4037      134,   309,   169,   276,   169,   276,   309,   111,   207,   311,
    4038      173,   134,   207,   110,    40,   111,   115,   225,   249,   250,
    4039      251,   366,   114,   116,   372,   131,   259,   114,   227,   264,
    4040      265,   266,   269,   270,   110,   116,   173,   134,   117,   164,
    4041      134,   224,   227,   263,   362,   370,   303,   304,   109,   149,
    4042      336,   110,   116,   373,   274,   286,   109,   114,   274,   276,
    4043      286,   110,   116,   109,   141,   110,   130,   275,   275,   275,
    4044      145,   164,   276,   275,   112,   134,   110,   116,   110,   109,
    4045      149,   349,   357,   358,   359,   360,   110,   116,   164,   111,
    4046      139,   144,   145,   134,   111,   139,   144,   164,   151,   151,
    4047      151,   152,   152,   153,   153,   154,   154,   154,   154,   155,
    4048      155,   156,   157,   158,   159,   160,   130,   169,   164,   134,
    4049      346,   347,   348,   227,   345,   312,   312,   164,   276,   134,
    4050      271,   134,   225,   350,   363,   227,   231,   112,   112,   134,
    4051      370,   112,   109,   134,   319,   337,   338,   339,   342,   352,
    4052      353,   354,   112,   134,   227,   336,   340,   351,   109,   312,
    4053      355,   373,   312,   312,   373,   109,   312,   355,   312,   312,
    4054      312,   312,   350,   225,   361,   371,   272,   112,   116,   112,
    4055      116,   373,   225,   363,   373,   260,   261,   262,   263,   260,
    4056      260,   272,   164,   134,   111,   274,   130,   116,   372,   278,
    4057      111,   130,   282,    29,   209,   210,   272,   260,   139,   309,
    4058      139,   311,   109,   349,   350,   109,   349,   350,   141,   350,
    4059      173,   264,   110,   110,   110,   110,   112,   173,   207,   173,
    4060      114,   250,   251,   112,   134,   109,   130,   149,   252,   254,
    4061      318,   319,   331,   357,   116,   132,   116,   132,   274,   248,
    4062      274,   115,   162,   163,   258,   135,   135,   139,   222,   135,
    4063      135,   260,   109,   149,   370,   135,   115,   227,   287,   288,
    4064      135,   134,   134,   109,   135,   110,   316,   169,   170,   130,
    4065      132,   111,   141,   200,   201,   202,   110,   116,   110,   110,
    4066      110,   110,   111,   164,   358,   359,   360,   227,   357,   312,
    4067      312,   114,   151,   167,   164,   165,   168,   116,   135,   134,
    4068      110,   116,   164,   134,   115,   162,   130,   264,   110,   110,
    4069      110,   345,   264,   110,   260,   225,   363,   111,   117,   149,
     4229      76,    83,    84,    94,   109,   111,   118,   119,   137,   140,
     4230     149,   198,   212,   213,   214,   215,   216,   217,   218,   219,
     4231     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
     4232     231,   232,   233,   234,   235,   236,   237,   238,   240,   241,
     4233     242,   243,   244,   245,   247,   255,   256,   283,   284,   285,
     4234     293,   296,   302,   303,   305,   307,   308,   314,   319,   323,
     4235     324,   325,   326,   327,   328,   329,   330,   350,   367,   368,
     4236     369,   370,    72,   139,   140,   149,   215,   217,   225,   227,
     4237     237,   241,   243,   284,    82,   109,   312,   313,   314,   312,
     4238     312,    72,    74,    75,    76,   138,   139,   273,   274,   294,
     4239     295,    74,    75,   274,   109,   305,    11,   199,   109,   149,
     4240     319,   324,   325,   326,   328,   329,   330,   112,   134,   111,
     4241     218,   225,   227,   323,   327,   366,   367,   370,   371,   135,
     4242     107,   131,   277,   114,   135,   173,    74,    75,   137,   272,
     4243     135,   135,   135,   116,   135,    74,    75,   109,   149,   309,
     4244     318,   319,   320,   321,   322,   323,   327,   331,   332,   333,
     4245     334,   335,   341,     3,    28,    78,   239,     3,     5,    74,
     4246     111,   149,   217,   228,   232,   235,   244,   285,   323,   327,
     4247     370,   215,   217,   227,   237,   241,   243,   284,   323,   327,
     4248      33,   233,   233,   228,   235,   135,   233,   228,   233,   228,
     4249      75,   109,   114,   274,   285,   114,   274,   233,   228,   116,
     4250     135,   135,     0,   134,   109,   173,   312,   312,   134,   111,
     4251     225,   227,   368,   272,   272,   131,   227,   109,   149,   309,
     4252     319,   323,   111,   149,   370,   306,   230,   314,   109,   290,
     4253     109,   109,    51,   109,    37,    38,    40,    66,    72,    76,
     4254      79,    80,    81,    82,    86,    87,   109,   111,   120,   121,
     4255     122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
     4256     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
     4257     161,   162,   164,   166,   225,   276,   292,   366,   371,   227,
     4258     110,   110,   110,   110,   110,   110,   110,    74,    75,   111,
     4259     225,   272,   350,   368,   111,   118,   149,   164,   217,   218,
     4260     224,   227,   231,   232,   237,   240,   241,   243,   262,   263,
     4261     267,   268,   269,   270,   284,   350,   362,   363,   364,   365,
     4262     370,   371,   112,   109,   323,   327,   370,   109,   116,   132,
     4263     111,   114,   149,   164,   278,   278,   115,   134,   116,   132,
     4264     109,   116,   132,   116,   132,   116,   132,   312,   132,   319,
     4265     320,   321,   322,   332,   333,   334,   335,   227,   318,   331,
     4266      64,   311,   111,   312,   349,   350,   312,   312,   173,   134,
     4267     109,   312,   349,   312,   312,   227,   309,   109,   109,   226,
     4268     227,   225,   227,   112,   134,   225,   366,   371,   173,   134,
     4269     272,   277,   217,   232,   323,   327,   173,   134,   294,   227,
     4270     237,   132,   227,   227,   292,   248,   246,   258,   274,   257,
     4271     227,   294,   132,   132,   305,   134,   139,   271,     3,   135,
     4272     207,   208,   222,   224,   227,   134,   311,   109,   311,   164,
     4273     319,   227,   109,   134,   272,   114,    33,    34,    35,   225,
     4274     286,   287,   289,   134,   129,   131,   291,   134,   228,   234,
     4275     235,   272,   315,   316,   317,   109,   141,   109,   148,   109,
     4276     148,   151,   109,   148,   109,   109,   148,   148,   111,   164,
     4277     169,   173,   225,   275,   366,   370,   112,   134,    82,    85,
     4278      86,    87,   109,   111,   113,   114,    97,    98,    99,   100,
     4279     101,   102,   103,   104,   105,   106,   131,   168,   151,   151,
     4280     118,   124,   125,   120,   121,    88,    89,    90,    91,   126,
     4281     127,    92,    93,   119,   128,   129,    94,    95,   130,   131,
     4282     373,   109,   149,   345,   346,   347,   348,   349,   110,   116,
     4283     109,   349,   350,   109,   349,   350,   134,   109,   225,   368,
     4284     112,   134,   135,   111,   225,   227,   361,   362,   370,   371,
     4285     135,   109,   111,   149,   319,   336,   337,   338,   339,   340,
     4286     341,   342,   343,   344,   350,   351,   352,   353,   354,   355,
     4287     356,   149,   370,   227,   135,   135,   149,   225,   227,   363,
     4288     272,   225,   350,   363,   272,   109,   134,   134,   134,   112,
     4289     134,    72,    80,   111,   113,   140,   274,   278,   279,   280,
     4290     281,   282,   134,   134,   134,   134,   134,   134,   309,   110,
     4291     110,   110,   110,   110,   110,   110,   318,   331,   109,   277,
     4292     112,   207,   134,   309,   169,   276,   169,   276,   309,   111,
     4293     207,   311,   173,   134,   207,   110,    40,   111,   115,   225,
     4294     249,   250,   251,   366,   114,   116,   372,   131,   259,   114,
     4295     227,   264,   265,   266,   269,   270,   110,   116,   173,   134,
     4296     118,   164,   134,   224,   227,   263,   362,   370,   303,   304,
     4297     109,   149,   336,   110,   116,   373,   274,   286,   109,   114,
     4298     274,   276,   286,   110,   116,   109,   141,   110,   117,   275,
     4299     275,   275,   111,   139,   145,   164,   276,   275,   112,   134,
     4300     110,   116,   110,   109,   149,   349,   357,   358,   359,   360,
     4301     110,   116,   164,   111,   139,   111,   144,   145,   134,   111,
     4302     139,   144,   164,   164,   151,   151,   151,   152,   152,   153,
     4303     153,   154,   154,   154,   154,   155,   155,   156,   157,   158,
     4304     159,   160,   117,   169,   164,   134,   346,   347,   348,   227,
     4305     345,   312,   312,   164,   276,   134,   271,   134,   225,   350,
     4306     363,   227,   231,   112,   112,   134,   370,   112,   109,   134,
     4307     319,   337,   338,   339,   342,   352,   353,   354,   112,   134,
     4308     227,   336,   340,   351,   109,   312,   355,   373,   312,   312,
     4309     373,   109,   312,   355,   312,   312,   312,   312,   350,   225,
     4310     361,   371,   272,   112,   116,   112,   116,   373,   225,   363,
     4311     373,   260,   261,   262,   263,   260,   260,   272,   164,   134,
     4312     111,   274,   117,   116,   372,   278,    80,   111,   117,   282,
     4313      29,   209,   210,   272,   260,   139,   309,   139,   311,   109,
     4314     349,   350,   109,   349,   350,   141,   350,   173,   264,   110,
     4315     110,   110,   110,   112,   173,   207,   173,   114,   250,   251,
     4316     112,   134,   109,   117,   149,   252,   254,   318,   319,   331,
     4317     357,   116,   132,   116,   132,   274,   248,   274,   115,   162,
     4318     163,   258,   135,   135,   139,   222,   135,   135,   260,   109,
     4319     149,   370,   135,   115,   227,   287,   288,   135,   134,   134,
     4320     109,   135,   110,   316,   169,   170,   117,   132,   111,   141,
     4321     200,   201,   202,   110,   116,   110,   134,   117,   110,   110,
     4322     110,   111,   164,   358,   359,   360,   227,   357,   312,   312,
     4323     114,   151,   166,   164,   165,   167,   116,   135,   134,   134,
     4324     110,   116,   164,   134,   115,   162,   117,   264,   110,   110,
     4325     110,   345,   264,   110,   260,   225,   363,   111,   118,   149,
    40704326     164,   164,   227,   342,   264,   110,   110,   110,   110,   110,
    40714327     110,   110,     7,   227,   336,   340,   351,   134,   134,   373,
     
    40734329     163,   164,   310,   134,   278,   280,   115,   134,   211,   274,
    40744330      40,    41,    43,    46,    47,    48,    49,    50,    51,    52,
    4075       53,    57,    61,    62,    72,   111,   127,   170,   171,   172,
     4331      53,    57,    61,    62,    72,   111,   128,   170,   171,   172,
    40764332     173,   174,   175,   177,   178,   190,   192,   193,   198,   212,
    40774333     308,    29,   135,   131,   277,   134,   134,   110,   135,   173,
     
    40794335     312,   115,   259,   372,   110,   116,   112,   112,   135,   227,
    40804336     116,   373,   290,   110,   286,   215,   217,   225,   298,   299,
    4081      300,   301,   292,   110,   110,   130,   163,   109,   110,   130,
    4082      116,   139,   112,   110,   110,   110,   357,   279,   116,   135,
    4083      168,   112,   139,   146,   147,   145,   135,   146,   162,   167,
    4084      135,   109,   349,   350,   135,   135,   134,   135,   135,   135,
    4085      164,   110,   135,   109,   349,   350,   109,   355,   109,   355,
    4086      350,   226,     7,   117,   135,   164,   264,   264,   263,   267,
    4087      267,   268,   116,   116,   110,   110,   112,    96,   122,   135,
    4088      135,   146,   278,   164,   116,   132,   212,   216,   227,   231,
    4089      109,   109,   171,   109,   109,    72,   132,    72,   132,    72,
    4090      117,   170,   109,   173,   165,   165,   130,   112,   143,   132,
    4091      135,   134,   135,   211,   110,   164,   264,   264,   312,   110,
    4092      115,   252,   115,   134,   110,   134,   135,   309,   115,   134,
    4093      135,   135,   110,   114,   200,   112,   163,   132,   200,   202,
    4094      110,   109,   349,   350,   372,   165,   112,   135,    85,   113,
    4095      116,   135,   112,   135,   110,   134,   110,   110,   112,   112,
    4096      112,   135,   110,   134,   134,   134,   164,   164,   135,   112,
    4097      135,   135,   135,   135,   134,   134,   163,   163,   112,   112,
    4098      135,   135,   274,   227,   169,   169,    47,   169,   134,   132,
    4099      132,   132,   169,   132,   169,    58,    59,    60,   194,   195,
    4100      196,   132,    63,   132,   312,   114,   175,   115,   132,   135,
    4101      135,    96,   269,   270,   110,   299,   116,   132,   116,   132,
    4102      115,   297,   130,   141,   110,   110,   130,   134,   115,   112,
    4103      111,   147,   111,   147,   147,   112,   112,   264,   112,   264,
    4104      264,   264,   135,   135,   112,   112,   110,   110,   112,   116,
    4105       96,   263,    96,   135,   112,   112,   110,   110,   109,   110,
    4106      170,   191,   212,   132,   110,   109,   109,   173,   196,    58,
    4107       59,   164,   171,   144,   110,   110,   114,   134,   134,   298,
    4108      141,   203,   109,   132,   203,   264,   134,   134,   135,   135,
    4109      135,   135,   112,   112,   134,   135,   112,   171,    44,    45,
    4110      114,   181,   182,   183,   169,   171,   135,   110,   170,   114,
    4111      183,    96,   134,    96,   134,   109,   109,   132,   115,   134,
    4112      272,   309,   115,   116,   130,   163,   110,   135,   146,   146,
    4113      110,   110,   110,   110,   267,    42,   163,   179,   180,   310,
    4114      130,   134,   171,   181,   110,   132,   171,   132,   134,   110,
    4115      134,   110,   134,    96,   134,    96,   134,   132,   298,   141,
    4116      139,   204,   110,   132,   110,   135,   135,   171,    96,   116,
    4117      130,   135,   205,   206,   212,   132,   170,   170,   205,   173,
    4118      197,   225,   366,   173,   197,   110,   134,   110,   134,   115,
    4119      110,   116,   112,   112,   163,   179,   182,   184,   185,   134,
    4120      132,   182,   186,   187,   135,   109,   149,   309,   357,   139,
    4121      135,   173,   197,   173,   197,   109,   132,   139,   171,   176,
    4122      115,   182,   212,   170,    56,   176,   189,   115,   182,   110,
    4123      227,   110,   135,   135,   292,   171,   176,   132,   188,   189,
    4124      176,   189,   173,   173,   110,   110,   110,   188,   135,   135,
    4125      173,   173,   135,   135
     4337     300,   301,   292,   110,   110,   117,   163,   109,   110,   117,
     4338     116,   139,   164,   164,   112,   110,   110,   110,   357,   279,
     4339     116,   135,   167,   112,   139,   146,   147,   164,   145,   135,
     4340     146,   162,   166,   135,   109,   349,   350,   135,   135,   134,
     4341     135,   135,   135,   164,   110,   135,   109,   349,   350,   109,
     4342     355,   109,   355,   350,   226,     7,   118,   135,   164,   264,
     4343     264,   263,   267,   267,   268,   116,   116,   110,   110,   112,
     4344      96,   123,   135,   135,   146,   278,   164,   116,   132,   212,
     4345     216,   227,   231,   109,   109,   171,   109,   109,    72,   132,
     4346      72,   132,    72,   118,   170,   109,   173,   165,   165,   117,
     4347     112,   143,   132,   135,   134,   135,   211,   110,   164,   264,
     4348     264,   312,   110,   115,   252,   115,   134,   110,   134,   135,
     4349     309,   115,   134,   135,   135,   110,   114,   200,   112,   163,
     4350     132,   200,   202,   110,   116,   135,   109,   349,   350,   372,
     4351     165,   112,   135,    85,   113,   116,   135,   135,   112,   135,
     4352     110,   134,   110,   110,   112,   112,   112,   135,   110,   134,
     4353     134,   134,   164,   164,   135,   112,   135,   135,   135,   135,
     4354     134,   134,   163,   163,   112,   112,   135,   135,   274,   227,
     4355     169,   169,    47,   169,   134,   132,   132,   132,   169,   132,
     4356     169,    58,    59,    60,   194,   195,   196,   132,    63,   132,
     4357     312,   114,   175,   115,   132,   135,   135,    96,   269,   270,
     4358     110,   299,   116,   132,   116,   132,   115,   297,   117,   141,
     4359     110,   110,   117,   167,   112,   134,   115,   112,   111,   147,
     4360     111,   147,   147,   112,   112,   112,   264,   112,   264,   264,
     4361     264,   135,   135,   112,   112,   110,   110,   112,   116,    96,
     4362     263,    96,   135,   112,   112,   110,   110,   109,   110,   170,
     4363     191,   212,   132,   110,   109,   109,   173,   196,    58,    59,
     4364     164,   171,   144,   110,   110,   114,   134,   134,   298,   141,
     4365     203,   109,   132,   203,   135,   117,   264,   134,   134,   135,
     4366     135,   135,   135,   112,   112,   134,   135,   112,   171,    44,
     4367      45,   114,   181,   182,   183,   169,   171,   135,   110,   170,
     4368     114,   183,    96,   134,    96,   134,   109,   109,   132,   115,
     4369     134,   272,   309,   115,   116,   117,   163,   110,   112,   164,
     4370     135,   146,   146,   110,   110,   110,   110,   267,    42,   163,
     4371     179,   180,   310,   117,   134,   171,   181,   110,   132,   171,
     4372     132,   134,   110,   134,   110,   134,    96,   134,    96,   134,
     4373     132,   298,   141,   139,   204,   110,   132,   117,   110,   135,
     4374     135,   171,    96,   116,   117,   135,   205,   206,   212,   132,
     4375     170,   170,   205,   173,   197,   225,   366,   173,   197,   110,
     4376     134,   110,   134,   115,   110,   116,   164,   112,   112,   163,
     4377     179,   182,   184,   185,   134,   132,   182,   186,   187,   135,
     4378     109,   149,   309,   357,   139,   135,   173,   197,   173,   197,
     4379     109,   132,   139,   171,   176,   115,   182,   212,   170,    56,
     4380     176,   189,   115,   182,   110,   227,   110,   135,   135,   292,
     4381     171,   176,   132,   188,   189,   176,   189,   173,   173,   110,
     4382     110,   110,   188,   135,   135,   173,   173,   135,   135
    41264383};
    41274384
     
    49605217
    49615218/* Line 1806 of yacc.c  */
    4962 #line 299 "parser.yy"
     5219#line 292 "parser.yy"
    49635220    {
    49645221                        typedefTable.enterScope();
     
    49695226
    49705227/* Line 1806 of yacc.c  */
    4971 #line 305 "parser.yy"
     5228#line 298 "parser.yy"
    49725229    {
    49735230                        typedefTable.leaveScope();
     
    49785235
    49795236/* Line 1806 of yacc.c  */
    4980 #line 314 "parser.yy"
    4981     { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); }
     5237#line 307 "parser.yy"
     5238    { (yyval.constant) = makeConstantInteger( *(yyvsp[(1) - (1)].tok) ); }
    49825239    break;
    49835240
     
    49855242
    49865243/* Line 1806 of yacc.c  */
    4987 #line 315 "parser.yy"
    4988     { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
     5244#line 308 "parser.yy"
     5245    { (yyval.constant) = makeConstantFloat( *(yyvsp[(1) - (1)].tok) ); }
    49895246    break;
    49905247
     
    49925249
    49935250/* Line 1806 of yacc.c  */
    4994 #line 316 "parser.yy"
    4995     { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); }
     5251#line 309 "parser.yy"
     5252    { (yyval.constant) = makeConstantChar( *(yyvsp[(1) - (1)].tok) ); }
    49965253    break;
    49975254
     
    49995256
    50005257/* Line 1806 of yacc.c  */
    5001 #line 341 "parser.yy"
    5002     { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].tok) ); }
     5258#line 334 "parser.yy"
     5259    { (yyval.constant) = makeConstantStr( *(yyvsp[(1) - (1)].tok) ); }
    50035260    break;
    50045261
     
    50065263
    50075264/* Line 1806 of yacc.c  */
    5008 #line 343 "parser.yy"
     5265#line 335 "parser.yy"
     5266    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
     5267    break;
     5268
     5269  case 18:
     5270
     5271/* Line 1806 of yacc.c  */
     5272#line 342 "parser.yy"
     5273    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5274    break;
     5275
     5276  case 19:
     5277
     5278/* Line 1806 of yacc.c  */
     5279#line 344 "parser.yy"
     5280    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5281    break;
     5282
     5283  case 20:
     5284
     5285/* Line 1806 of yacc.c  */
     5286#line 346 "parser.yy"
     5287    { (yyval.en) = (yyvsp[(2) - (3)].en); }
     5288    break;
     5289
     5290  case 21:
     5291
     5292/* Line 1806 of yacc.c  */
     5293#line 348 "parser.yy"
     5294    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
     5295    break;
     5296
     5297  case 23:
     5298
     5299/* Line 1806 of yacc.c  */
     5300#line 358 "parser.yy"
     5301    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); }
     5302    break;
     5303
     5304  case 24:
     5305
     5306/* Line 1806 of yacc.c  */
     5307#line 360 "parser.yy"
     5308    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
     5309    break;
     5310
     5311  case 25:
     5312
     5313/* Line 1806 of yacc.c  */
     5314#line 364 "parser.yy"
     5315    { (yyval.en) = new CompositeExprNode2( build_fieldSel( (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) ) ) ); }
     5316    break;
     5317
     5318  case 27:
     5319
     5320/* Line 1806 of yacc.c  */
     5321#line 367 "parser.yy"
     5322    { (yyval.en) = new CompositeExprNode2( build_pfieldSel( (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) ) ) ); }
     5323    break;
     5324
     5325  case 29:
     5326
     5327/* Line 1806 of yacc.c  */
     5328#line 370 "parser.yy"
     5329    { (yyval.en) = new CompositeExprNode2( build_opr1( OperatorNode::IncrPost, (yyvsp[(1) - (2)].en) ) ); }
     5330    break;
     5331
     5332  case 30:
     5333
     5334/* Line 1806 of yacc.c  */
     5335#line 372 "parser.yy"
     5336    { (yyval.en) = new CompositeExprNode2( build_opr1( OperatorNode::DecrPost, (yyvsp[(1) - (2)].en) ) ); }
     5337    break;
     5338
     5339  case 31:
     5340
     5341/* Line 1806 of yacc.c  */
     5342#line 374 "parser.yy"
     5343    { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); }
     5344    break;
     5345
     5346  case 32:
     5347
     5348/* Line 1806 of yacc.c  */
     5349#line 376 "parser.yy"
    50095350    {
    5010                         appendStr( (yyvsp[(1) - (2)].constant)->get_constant()->get_value(), (yyvsp[(2) - (2)].tok) );
    5011                         delete (yyvsp[(2) - (2)].tok);                                                                  // allocated by lexer
    5012                         (yyval.constant) = (yyvsp[(1) - (2)].constant);
     5351                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     5352                        (yyval.en) = new CompositeExprNode( new VarRefNode( fn ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_link( (yyvsp[(3) - (4)].en) ) );
    50135353                }
    50145354    break;
    50155355
    5016   case 18:
    5017 
    5018 /* Line 1806 of yacc.c  */
    5019 #line 354 "parser.yy"
    5020     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    5021     break;
    5022 
    5023   case 19:
    5024 
    5025 /* Line 1806 of yacc.c  */
    5026 #line 356 "parser.yy"
    5027     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    5028     break;
    5029 
    5030   case 20:
    5031 
    5032 /* Line 1806 of yacc.c  */
    5033 #line 358 "parser.yy"
    5034     { (yyval.en) = (yyvsp[(2) - (3)].en); }
    5035     break;
    5036 
    5037   case 21:
    5038 
    5039 /* Line 1806 of yacc.c  */
    5040 #line 360 "parser.yy"
    5041     { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); }
    5042     break;
    5043 
    5044   case 23:
    5045 
    5046 /* Line 1806 of yacc.c  */
    5047 #line 370 "parser.yy"
    5048     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); }
    5049     break;
    5050 
    5051   case 24:
    5052 
    5053 /* Line 1806 of yacc.c  */
    5054 #line 372 "parser.yy"
    5055     { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); }
    5056     break;
    5057 
    5058   case 25:
    5059 
    5060 /* Line 1806 of yacc.c  */
    5061 #line 376 "parser.yy"
    5062     { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    5063     break;
    5064 
    5065   case 27:
    5066 
    5067 /* Line 1806 of yacc.c  */
    5068 #line 379 "parser.yy"
    5069     { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    5070     break;
    5071 
    5072   case 29:
    5073 
    5074 /* Line 1806 of yacc.c  */
    5075 #line 382 "parser.yy"
    5076     { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); }
    5077     break;
    5078 
    5079   case 30:
    5080 
    5081 /* Line 1806 of yacc.c  */
    5082 #line 384 "parser.yy"
    5083     { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); }
    5084     break;
    5085 
    5086   case 31:
    5087 
    5088 /* Line 1806 of yacc.c  */
    5089 #line 386 "parser.yy"
    5090     { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); }
    5091     break;
    5092 
    5093   case 32:
    5094 
    5095 /* Line 1806 of yacc.c  */
    5096 #line 388 "parser.yy"
     5356  case 34:
     5357
     5358/* Line 1806 of yacc.c  */
     5359#line 385 "parser.yy"
     5360    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     5361    break;
     5362
     5363  case 35:
     5364
     5365/* Line 1806 of yacc.c  */
     5366#line 390 "parser.yy"
     5367    { (yyval.en) = 0; }
     5368    break;
     5369
     5370  case 37:
     5371
     5372/* Line 1806 of yacc.c  */
     5373#line 393 "parser.yy"
     5374    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
     5375    break;
     5376
     5377  case 38:
     5378
     5379/* Line 1806 of yacc.c  */
     5380#line 398 "parser.yy"
     5381    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
     5382    break;
     5383
     5384  case 39:
     5385
     5386/* Line 1806 of yacc.c  */
     5387#line 400 "parser.yy"
     5388    { (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) )))); }
     5389    break;
     5390
     5391  case 41:
     5392
     5393/* Line 1806 of yacc.c  */
     5394#line 405 "parser.yy"
     5395    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5396    break;
     5397
     5398  case 42:
     5399
     5400/* Line 1806 of yacc.c  */
     5401#line 410 "parser.yy"
     5402    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5403    break;
     5404
     5405  case 43:
     5406
     5407/* Line 1806 of yacc.c  */
     5408#line 414 "parser.yy"
     5409    { (yyval.en) = new CompositeExprNode2( build_fieldSel( (yyvsp[(3) - (3)].en), new VarRefNode( (yyvsp[(1) - (3)].tok) ) ) ); }
     5410    break;
     5411
     5412  case 44:
     5413
     5414/* Line 1806 of yacc.c  */
     5415#line 416 "parser.yy"
     5416    { (yyval.en) = new CompositeExprNode2( build_fieldSel( (yyvsp[(5) - (7)].en), new VarRefNode( (yyvsp[(1) - (7)].tok) ) ) ); }
     5417    break;
     5418
     5419  case 45:
     5420
     5421/* Line 1806 of yacc.c  */
     5422#line 418 "parser.yy"
     5423    { (yyval.en) = new CompositeExprNode2( build_pfieldSel( (yyvsp[(3) - (3)].en), new VarRefNode( (yyvsp[(1) - (3)].tok) ) ) ); }
     5424    break;
     5425
     5426  case 46:
     5427
     5428/* Line 1806 of yacc.c  */
     5429#line 420 "parser.yy"
     5430    { (yyval.en) = new CompositeExprNode2( build_pfieldSel( (yyvsp[(5) - (7)].en), new VarRefNode( (yyvsp[(1) - (7)].tok) ) ) ); }
     5431    break;
     5432
     5433  case 48:
     5434
     5435/* Line 1806 of yacc.c  */
     5436#line 428 "parser.yy"
     5437    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5438    break;
     5439
     5440  case 49:
     5441
     5442/* Line 1806 of yacc.c  */
     5443#line 430 "parser.yy"
     5444    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5445    break;
     5446
     5447  case 50:
     5448
     5449/* Line 1806 of yacc.c  */
     5450#line 432 "parser.yy"
     5451    { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }
     5452    break;
     5453
     5454  case 51:
     5455
     5456/* Line 1806 of yacc.c  */
     5457#line 437 "parser.yy"
     5458    { (yyval.en) = (yyvsp[(1) - (2)].op) == OperatorNode::AddressOf ? (ExpressionNode*) new CompositeExprNode2( build_addressOf( (yyvsp[(2) - (2)].en) ) )
     5459                                                                                        : (ExpressionNode*)new CompositeExprNode( new OperatorNode ( (yyvsp[(1) - (2)].op) ), (yyvsp[(2) - (2)].en) ); }
     5460    break;
     5461
     5462  case 52:
     5463
     5464/* Line 1806 of yacc.c  */
     5465#line 440 "parser.yy"
     5466    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5467    break;
     5468
     5469  case 53:
     5470
     5471/* Line 1806 of yacc.c  */
     5472#line 442 "parser.yy"
     5473    { (yyval.en) = new CompositeExprNode2( build_opr1( OperatorNode::Incr, (yyvsp[(2) - (2)].en) ) ); }
     5474    break;
     5475
     5476  case 54:
     5477
     5478/* Line 1806 of yacc.c  */
     5479#line 444 "parser.yy"
     5480    { (yyval.en) = new CompositeExprNode2( build_opr1( OperatorNode::Decr, (yyvsp[(2) - (2)].en) ) ); }
     5481    break;
     5482
     5483  case 55:
     5484
     5485/* Line 1806 of yacc.c  */
     5486#line 446 "parser.yy"
     5487    { (yyval.en) = new CompositeExprNode2( build_sizeOf( (yyvsp[(2) - (2)].en) ) ); }
     5488    break;
     5489
     5490  case 56:
     5491
     5492/* Line 1806 of yacc.c  */
     5493#line 448 "parser.yy"
     5494    { (yyval.en) = new CompositeExprNode2( build_sizeOf( new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ) ); }
     5495    break;
     5496
     5497  case 57:
     5498
     5499/* Line 1806 of yacc.c  */
     5500#line 450 "parser.yy"
     5501    { (yyval.en) = new CompositeExprNode2( build_offsetOf( new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) ) ) ); }
     5502    break;
     5503
     5504  case 58:
     5505
     5506/* Line 1806 of yacc.c  */
     5507#line 452 "parser.yy"
     5508    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     5509    break;
     5510
     5511  case 59:
     5512
     5513/* Line 1806 of yacc.c  */
     5514#line 454 "parser.yy"
     5515    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
     5516    break;
     5517
     5518  case 60:
     5519
     5520/* Line 1806 of yacc.c  */
     5521#line 456 "parser.yy"
     5522    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
     5523    break;
     5524
     5525  case 61:
     5526
     5527/* Line 1806 of yacc.c  */
     5528#line 458 "parser.yy"
     5529    { (yyval.en) = new CompositeExprNode2( build_alignOf( (yyvsp[(2) - (2)].en) ) ); }
     5530    break;
     5531
     5532  case 62:
     5533
     5534/* Line 1806 of yacc.c  */
     5535#line 460 "parser.yy"
     5536    { (yyval.en) = new CompositeExprNode2( build_alignOf( new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ) ); }
     5537    break;
     5538
     5539  case 63:
     5540
     5541/* Line 1806 of yacc.c  */
     5542#line 466 "parser.yy"
     5543    { (yyval.op) = OperatorNode::PointTo; }
     5544    break;
     5545
     5546  case 64:
     5547
     5548/* Line 1806 of yacc.c  */
     5549#line 467 "parser.yy"
     5550    { (yyval.op) = OperatorNode::AddressOf; }
     5551    break;
     5552
     5553  case 65:
     5554
     5555/* Line 1806 of yacc.c  */
     5556#line 469 "parser.yy"
     5557    { (yyval.op) = OperatorNode::And; }
     5558    break;
     5559
     5560  case 66:
     5561
     5562/* Line 1806 of yacc.c  */
     5563#line 473 "parser.yy"
     5564    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5565    break;
     5566
     5567  case 67:
     5568
     5569/* Line 1806 of yacc.c  */
     5570#line 474 "parser.yy"
     5571    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5572    break;
     5573
     5574  case 68:
     5575
     5576/* Line 1806 of yacc.c  */
     5577#line 475 "parser.yy"
     5578    { (yyval.en) = new OperatorNode( OperatorNode::Neg ); }
     5579    break;
     5580
     5581  case 69:
     5582
     5583/* Line 1806 of yacc.c  */
     5584#line 476 "parser.yy"
     5585    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
     5586    break;
     5587
     5588  case 71:
     5589
     5590/* Line 1806 of yacc.c  */
     5591#line 482 "parser.yy"
     5592    { (yyval.en) = new CompositeExprNode2( build_cast( new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ) ); }
     5593    break;
     5594
     5595  case 72:
     5596
     5597/* Line 1806 of yacc.c  */
     5598#line 484 "parser.yy"
     5599    { (yyval.en) = new CompositeExprNode2( build_cast( new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ) ); }
     5600    break;
     5601
     5602  case 74:
     5603
     5604/* Line 1806 of yacc.c  */
     5605#line 490 "parser.yy"
     5606    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5607    break;
     5608
     5609  case 75:
     5610
     5611/* Line 1806 of yacc.c  */
     5612#line 492 "parser.yy"
     5613    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5614    break;
     5615
     5616  case 76:
     5617
     5618/* Line 1806 of yacc.c  */
     5619#line 494 "parser.yy"
     5620    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5621    break;
     5622
     5623  case 78:
     5624
     5625/* Line 1806 of yacc.c  */
     5626#line 500 "parser.yy"
     5627    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5628    break;
     5629
     5630  case 79:
     5631
     5632/* Line 1806 of yacc.c  */
     5633#line 502 "parser.yy"
     5634    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5635    break;
     5636
     5637  case 81:
     5638
     5639/* Line 1806 of yacc.c  */
     5640#line 508 "parser.yy"
     5641    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5642    break;
     5643
     5644  case 82:
     5645
     5646/* Line 1806 of yacc.c  */
     5647#line 510 "parser.yy"
     5648    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5649    break;
     5650
     5651  case 84:
     5652
     5653/* Line 1806 of yacc.c  */
     5654#line 516 "parser.yy"
     5655    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5656    break;
     5657
     5658  case 85:
     5659
     5660/* Line 1806 of yacc.c  */
     5661#line 518 "parser.yy"
     5662    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5663    break;
     5664
     5665  case 86:
     5666
     5667/* Line 1806 of yacc.c  */
     5668#line 520 "parser.yy"
     5669    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5670    break;
     5671
     5672  case 87:
     5673
     5674/* Line 1806 of yacc.c  */
     5675#line 522 "parser.yy"
     5676    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5677    break;
     5678
     5679  case 89:
     5680
     5681/* Line 1806 of yacc.c  */
     5682#line 528 "parser.yy"
     5683    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5684    break;
     5685
     5686  case 90:
     5687
     5688/* Line 1806 of yacc.c  */
     5689#line 530 "parser.yy"
     5690    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5691    break;
     5692
     5693  case 92:
     5694
     5695/* Line 1806 of yacc.c  */
     5696#line 536 "parser.yy"
     5697    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5698    break;
     5699
     5700  case 94:
     5701
     5702/* Line 1806 of yacc.c  */
     5703#line 542 "parser.yy"
     5704    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5705    break;
     5706
     5707  case 96:
     5708
     5709/* Line 1806 of yacc.c  */
     5710#line 548 "parser.yy"
     5711    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5712    break;
     5713
     5714  case 98:
     5715
     5716/* Line 1806 of yacc.c  */
     5717#line 554 "parser.yy"
     5718    { (yyval.en) = new CompositeExprNode2( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); }
     5719    break;
     5720
     5721  case 100:
     5722
     5723/* Line 1806 of yacc.c  */
     5724#line 560 "parser.yy"
     5725    { (yyval.en) = new CompositeExprNode2( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); }
     5726    break;
     5727
     5728  case 102:
     5729
     5730/* Line 1806 of yacc.c  */
     5731#line 567 "parser.yy"
     5732    { (yyval.en) = new CompositeExprNode2( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
     5733    break;
     5734
     5735  case 103:
     5736
     5737/* Line 1806 of yacc.c  */
     5738#line 569 "parser.yy"
     5739    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     5740    break;
     5741
     5742  case 104:
     5743
     5744/* Line 1806 of yacc.c  */
     5745#line 571 "parser.yy"
     5746    { (yyval.en) = new CompositeExprNode2( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
     5747    break;
     5748
     5749  case 107:
     5750
     5751/* Line 1806 of yacc.c  */
     5752#line 582 "parser.yy"
     5753    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5754    break;
     5755
     5756  case 108:
     5757
     5758/* Line 1806 of yacc.c  */
     5759#line 584 "parser.yy"
     5760    { (yyval.en) = new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5761    break;
     5762
     5763  case 109:
     5764
     5765/* Line 1806 of yacc.c  */
     5766#line 586 "parser.yy"
     5767    { (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) ); }
     5768    break;
     5769
     5770  case 110:
     5771
     5772/* Line 1806 of yacc.c  */
     5773#line 591 "parser.yy"
     5774    { (yyval.en) = new NullExprNode; }
     5775    break;
     5776
     5777  case 112:
     5778
     5779/* Line 1806 of yacc.c  */
     5780#line 599 "parser.yy"
     5781    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5782    break;
     5783
     5784  case 113:
     5785
     5786/* Line 1806 of yacc.c  */
     5787#line 601 "parser.yy"
     5788    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
     5789    break;
     5790
     5791  case 114:
     5792
     5793/* Line 1806 of yacc.c  */
     5794#line 603 "parser.yy"
     5795    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
     5796    break;
     5797
     5798  case 115:
     5799
     5800/* Line 1806 of yacc.c  */
     5801#line 605 "parser.yy"
     5802    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
     5803    break;
     5804
     5805  case 117:
     5806
     5807/* Line 1806 of yacc.c  */
     5808#line 611 "parser.yy"
     5809    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     5810    break;
     5811
     5812  case 118:
     5813
     5814/* Line 1806 of yacc.c  */
     5815#line 615 "parser.yy"
     5816    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
     5817    break;
     5818
     5819  case 119:
     5820
     5821/* Line 1806 of yacc.c  */
     5822#line 616 "parser.yy"
     5823    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5824    break;
     5825
     5826  case 120:
     5827
     5828/* Line 1806 of yacc.c  */
     5829#line 617 "parser.yy"
     5830    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5831    break;
     5832
     5833  case 121:
     5834
     5835/* Line 1806 of yacc.c  */
     5836#line 618 "parser.yy"
     5837    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5838    break;
     5839
     5840  case 122:
     5841
     5842/* Line 1806 of yacc.c  */
     5843#line 619 "parser.yy"
     5844    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5845    break;
     5846
     5847  case 123:
     5848
     5849/* Line 1806 of yacc.c  */
     5850#line 620 "parser.yy"
     5851    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5852    break;
     5853
     5854  case 124:
     5855
     5856/* Line 1806 of yacc.c  */
     5857#line 621 "parser.yy"
     5858    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5859    break;
     5860
     5861  case 125:
     5862
     5863/* Line 1806 of yacc.c  */
     5864#line 622 "parser.yy"
     5865    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5866    break;
     5867
     5868  case 126:
     5869
     5870/* Line 1806 of yacc.c  */
     5871#line 623 "parser.yy"
     5872    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5873    break;
     5874
     5875  case 127:
     5876
     5877/* Line 1806 of yacc.c  */
     5878#line 624 "parser.yy"
     5879    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
     5880    break;
     5881
     5882  case 129:
     5883
     5884/* Line 1806 of yacc.c  */
     5885#line 631 "parser.yy"
     5886    { (yyval.en) = new CompositeExprNode2( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     5887    break;
     5888
     5889  case 130:
     5890
     5891/* Line 1806 of yacc.c  */
     5892#line 636 "parser.yy"
     5893    { (yyval.en) = 0; }
     5894    break;
     5895
     5896  case 134:
     5897
     5898/* Line 1806 of yacc.c  */
     5899#line 645 "parser.yy"
     5900    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
     5901    break;
     5902
     5903  case 140:
     5904
     5905/* Line 1806 of yacc.c  */
     5906#line 652 "parser.yy"
    50975907    {
    5098                         Token fn;
    5099                         fn.str = new std::string( "?{}" ); // location undefined
    5100                         (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_link( (yyvsp[(3) - (4)].en) ) ) );
     5908                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     5909                        (yyval.sn) = new StatementNode( StatementNode::Exp, new CompositeExprNode( new VarRefNode( fn ),
     5910                                (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ), 0 );
    51015911                }
    51025912    break;
    51035913
    5104   case 34:
    5105 
    5106 /* Line 1806 of yacc.c  */
    5107 #line 398 "parser.yy"
    5108     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    5109     break;
    5110 
    5111   case 35:
    5112 
    5113 /* Line 1806 of yacc.c  */
    5114 #line 403 "parser.yy"
    5115     { (yyval.en) = 0; }
    5116     break;
    5117 
    5118   case 38:
    5119 
    5120 /* Line 1806 of yacc.c  */
    5121 #line 409 "parser.yy"
    5122     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    5123     break;
    5124 
    5125   case 39:
    5126 
    5127 /* Line 1806 of yacc.c  */
    5128 #line 414 "parser.yy"
    5129     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    5130     break;
    5131 
    5132   case 40:
    5133 
    5134 /* Line 1806 of yacc.c  */
    5135 #line 418 "parser.yy"
    5136     { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); }
    5137     break;
    5138 
    5139   case 41:
    5140 
    5141 /* Line 1806 of yacc.c  */
    5142 #line 420 "parser.yy"
    5143     { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); }
    5144     break;
    5145 
    5146   case 42:
    5147 
    5148 /* Line 1806 of yacc.c  */
    5149 #line 422 "parser.yy"
    5150     { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); }
    5151     break;
    5152 
    5153   case 43:
    5154 
    5155 /* Line 1806 of yacc.c  */
    5156 #line 424 "parser.yy"
    5157     { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); }
    5158     break;
    5159 
    5160   case 45:
    5161 
    5162 /* Line 1806 of yacc.c  */
    5163 #line 432 "parser.yy"
    5164     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    5165     break;
    5166 
    5167   case 46:
    5168 
    5169 /* Line 1806 of yacc.c  */
    5170 #line 434 "parser.yy"
    5171     { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    5172     break;
    5173 
    5174   case 47:
    5175 
    5176 /* Line 1806 of yacc.c  */
    5177 #line 436 "parser.yy"
    5178     { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }
    5179     break;
    5180 
    5181   case 48:
    5182 
    5183 /* Line 1806 of yacc.c  */
    5184 #line 441 "parser.yy"
    5185     {
    5186                         switch ( (yyvsp[(1) - (2)].op) ) {
    5187                           case OperKinds::AddressOf:
    5188                                 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[(2) - (2)].en) ) );
    5189                                 break;
    5190                           case OperKinds::PointTo:
    5191                                 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) );
    5192                                 break;
    5193                           default:
    5194                                 assert( false );
    5195                         }
    5196                 }
    5197     break;
    5198 
    5199   case 49:
    5200 
    5201 /* Line 1806 of yacc.c  */
    5202 #line 454 "parser.yy"
    5203     { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); }
    5204     break;
    5205 
    5206   case 50:
    5207 
    5208 /* Line 1806 of yacc.c  */
    5209 #line 456 "parser.yy"
    5210     { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); }
    5211     break;
    5212 
    5213   case 51:
    5214 
    5215 /* Line 1806 of yacc.c  */
    5216 #line 458 "parser.yy"
    5217     { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); }
    5218     break;
    5219 
    5220   case 52:
    5221 
    5222 /* Line 1806 of yacc.c  */
    5223 #line 460 "parser.yy"
    5224     { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    5225     break;
    5226 
    5227   case 53:
    5228 
    5229 /* Line 1806 of yacc.c  */
    5230 #line 462 "parser.yy"
    5231     { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); }
    5232     break;
    5233 
    5234   case 54:
    5235 
    5236 /* Line 1806 of yacc.c  */
    5237 #line 464 "parser.yy"
    5238     { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    5239     break;
    5240 
    5241   case 55:
    5242 
    5243 /* Line 1806 of yacc.c  */
    5244 #line 466 "parser.yy"
    5245     { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); }
    5246     break;
    5247 
    5248   case 56:
    5249 
    5250 /* Line 1806 of yacc.c  */
    5251 #line 468 "parser.yy"
    5252     { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); }
    5253     break;
    5254 
    5255   case 57:
    5256 
    5257 /* Line 1806 of yacc.c  */
    5258 #line 470 "parser.yy"
    5259     { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); }
    5260     break;
    5261 
    5262   case 58:
    5263 
    5264 /* Line 1806 of yacc.c  */
    5265 #line 472 "parser.yy"
    5266     { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); }
    5267     break;
    5268 
    5269   case 59:
    5270 
    5271 /* Line 1806 of yacc.c  */
    5272 #line 474 "parser.yy"
    5273     { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); }
    5274     break;
    5275 
    5276   case 60:
    5277 
    5278 /* Line 1806 of yacc.c  */
    5279 #line 480 "parser.yy"
    5280     { (yyval.op) = OperKinds::PointTo; }
    5281     break;
    5282 
    5283   case 61:
    5284 
    5285 /* Line 1806 of yacc.c  */
    5286 #line 481 "parser.yy"
    5287     { (yyval.op) = OperKinds::AddressOf; }
    5288     break;
    5289 
    5290   case 62:
    5291 
    5292 /* Line 1806 of yacc.c  */
    5293 #line 487 "parser.yy"
    5294     { (yyval.op) = OperKinds::UnPlus; }
    5295     break;
    5296 
    5297   case 63:
    5298 
    5299 /* Line 1806 of yacc.c  */
    5300 #line 488 "parser.yy"
    5301     { (yyval.op) = OperKinds::UnMinus; }
    5302     break;
    5303 
    5304   case 64:
    5305 
    5306 /* Line 1806 of yacc.c  */
    5307 #line 489 "parser.yy"
    5308     { (yyval.op) = OperKinds::Neg; }
    5309     break;
    5310 
    5311   case 65:
    5312 
    5313 /* Line 1806 of yacc.c  */
    5314 #line 490 "parser.yy"
    5315     { (yyval.op) = OperKinds::BitNeg; }
    5316     break;
    5317 
    5318   case 67:
    5319 
    5320 /* Line 1806 of yacc.c  */
    5321 #line 496 "parser.yy"
    5322     { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }
    5323     break;
    5324 
    5325   case 68:
    5326 
    5327 /* Line 1806 of yacc.c  */
    5328 #line 498 "parser.yy"
    5329     { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }
    5330     break;
    5331 
    5332   case 70:
    5333 
    5334 /* Line 1806 of yacc.c  */
    5335 #line 504 "parser.yy"
    5336     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5337     break;
    5338 
    5339   case 71:
    5340 
    5341 /* Line 1806 of yacc.c  */
    5342 #line 506 "parser.yy"
    5343     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5344     break;
    5345 
    5346   case 72:
    5347 
    5348 /* Line 1806 of yacc.c  */
    5349 #line 508 "parser.yy"
    5350     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5351     break;
    5352 
    5353   case 74:
    5354 
    5355 /* Line 1806 of yacc.c  */
    5356 #line 514 "parser.yy"
    5357     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5358     break;
    5359 
    5360   case 75:
    5361 
    5362 /* Line 1806 of yacc.c  */
    5363 #line 516 "parser.yy"
    5364     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5365     break;
    5366 
    5367   case 77:
    5368 
    5369 /* Line 1806 of yacc.c  */
    5370 #line 522 "parser.yy"
    5371     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5372     break;
    5373 
    5374   case 78:
    5375 
    5376 /* Line 1806 of yacc.c  */
    5377 #line 524 "parser.yy"
    5378     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5379     break;
    5380 
    5381   case 80:
    5382 
    5383 /* Line 1806 of yacc.c  */
    5384 #line 530 "parser.yy"
    5385     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5386     break;
    5387 
    5388   case 81:
    5389 
    5390 /* Line 1806 of yacc.c  */
    5391 #line 532 "parser.yy"
    5392     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5393     break;
    5394 
    5395   case 82:
    5396 
    5397 /* Line 1806 of yacc.c  */
    5398 #line 534 "parser.yy"
    5399     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5400     break;
    5401 
    5402   case 83:
    5403 
    5404 /* Line 1806 of yacc.c  */
    5405 #line 536 "parser.yy"
    5406     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5407     break;
    5408 
    5409   case 85:
    5410 
    5411 /* Line 1806 of yacc.c  */
    5412 #line 542 "parser.yy"
    5413     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5414     break;
    5415 
    5416   case 86:
    5417 
    5418 /* Line 1806 of yacc.c  */
    5419 #line 544 "parser.yy"
    5420     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5421     break;
    5422 
    5423   case 88:
    5424 
    5425 /* Line 1806 of yacc.c  */
    5426 #line 550 "parser.yy"
    5427     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5428     break;
    5429 
    5430   case 90:
    5431 
    5432 /* Line 1806 of yacc.c  */
    5433 #line 556 "parser.yy"
    5434     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5435     break;
    5436 
    5437   case 92:
    5438 
    5439 /* Line 1806 of yacc.c  */
    5440 #line 562 "parser.yy"
    5441     { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5442     break;
    5443 
    5444   case 94:
    5445 
    5446 /* Line 1806 of yacc.c  */
    5447 #line 568 "parser.yy"
    5448     { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); }
    5449     break;
    5450 
    5451   case 96:
    5452 
    5453 /* Line 1806 of yacc.c  */
    5454 #line 574 "parser.yy"
    5455     { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); }
    5456     break;
    5457 
    5458   case 98:
    5459 
    5460 /* Line 1806 of yacc.c  */
    5461 #line 580 "parser.yy"
    5462     { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
    5463     break;
    5464 
    5465   case 99:
    5466 
    5467 /* Line 1806 of yacc.c  */
    5468 #line 583 "parser.yy"
    5469     { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); }
    5470     break;
    5471 
    5472   case 100:
    5473 
    5474 /* Line 1806 of yacc.c  */
    5475 #line 585 "parser.yy"
    5476     { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
    5477     break;
    5478 
    5479   case 103:
    5480 
    5481 /* Line 1806 of yacc.c  */
    5482 #line 596 "parser.yy"
    5483     { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5484     break;
    5485 
    5486   case 104:
    5487 
    5488 /* Line 1806 of yacc.c  */
    5489 #line 598 "parser.yy"
    5490     { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); }
    5491     break;
    5492 
    5493   case 105:
    5494 
    5495 /* Line 1806 of yacc.c  */
    5496 #line 603 "parser.yy"
    5497     { (yyval.en) = nullptr; }
    5498     break;
    5499 
    5500   case 107:
    5501 
    5502 /* Line 1806 of yacc.c  */
    5503 #line 608 "parser.yy"
    5504     { (yyval.op) = OperKinds::Assign; }
    5505     break;
    5506 
    5507   case 108:
    5508 
    5509 /* Line 1806 of yacc.c  */
    5510 #line 609 "parser.yy"
    5511     { (yyval.op) = OperKinds::MulAssn; }
    5512     break;
    5513 
    5514   case 109:
    5515 
    5516 /* Line 1806 of yacc.c  */
    5517 #line 610 "parser.yy"
    5518     { (yyval.op) = OperKinds::DivAssn; }
    5519     break;
    5520 
    5521   case 110:
    5522 
    5523 /* Line 1806 of yacc.c  */
    5524 #line 611 "parser.yy"
    5525     { (yyval.op) = OperKinds::ModAssn; }
    5526     break;
    5527 
    5528   case 111:
    5529 
    5530 /* Line 1806 of yacc.c  */
    5531 #line 612 "parser.yy"
    5532     { (yyval.op) = OperKinds::PlusAssn; }
    5533     break;
    5534 
    5535   case 112:
    5536 
    5537 /* Line 1806 of yacc.c  */
    5538 #line 613 "parser.yy"
    5539     { (yyval.op) = OperKinds::MinusAssn; }
    5540     break;
    5541 
    5542   case 113:
    5543 
    5544 /* Line 1806 of yacc.c  */
    5545 #line 614 "parser.yy"
    5546     { (yyval.op) = OperKinds::LSAssn; }
    5547     break;
    5548 
    5549   case 114:
    5550 
    5551 /* Line 1806 of yacc.c  */
    5552 #line 615 "parser.yy"
    5553     { (yyval.op) = OperKinds::RSAssn; }
    5554     break;
    5555 
    5556   case 115:
    5557 
    5558 /* Line 1806 of yacc.c  */
    5559 #line 616 "parser.yy"
    5560     { (yyval.op) = OperKinds::AndAssn; }
    5561     break;
    5562 
    5563   case 116:
    5564 
    5565 /* Line 1806 of yacc.c  */
    5566 #line 617 "parser.yy"
    5567     { (yyval.op) = OperKinds::ERAssn; }
    5568     break;
    5569 
    5570   case 117:
    5571 
    5572 /* Line 1806 of yacc.c  */
    5573 #line 618 "parser.yy"
    5574     { (yyval.op) = OperKinds::OrAssn; }
    5575     break;
    5576 
    5577   case 118:
    5578 
    5579 /* Line 1806 of yacc.c  */
    5580 #line 625 "parser.yy"
    5581     { (yyval.en) = new ExpressionNode( build_tuple() ); }
    5582     break;
    5583 
    5584   case 119:
    5585 
    5586 /* Line 1806 of yacc.c  */
    5587 #line 627 "parser.yy"
    5588     { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); }
    5589     break;
    5590 
    5591   case 120:
    5592 
    5593 /* Line 1806 of yacc.c  */
    5594 #line 629 "parser.yy"
    5595     { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_link( (yyvsp[(4) - (6)].en) ) ) ); }
    5596     break;
    5597 
    5598   case 121:
    5599 
    5600 /* Line 1806 of yacc.c  */
    5601 #line 631 "parser.yy"
    5602     { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( (yyvsp[(5) - (7)].en) ) ) ); }
    5603     break;
    5604 
    5605   case 123:
    5606 
    5607 /* Line 1806 of yacc.c  */
    5608 #line 637 "parser.yy"
    5609     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    5610     break;
    5611 
    5612   case 125:
    5613 
    5614 /* Line 1806 of yacc.c  */
    5615 #line 643 "parser.yy"
    5616     { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5617     break;
    5618 
    5619   case 126:
    5620 
    5621 /* Line 1806 of yacc.c  */
    5622 #line 648 "parser.yy"
    5623     { (yyval.en) = 0; }
    5624     break;
    5625 
    5626   case 130:
    5627 
    5628 /* Line 1806 of yacc.c  */
    5629 #line 657 "parser.yy"
    5630     { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    5631     break;
    5632 
    5633   case 136:
    5634 
    5635 /* Line 1806 of yacc.c  */
    5636 #line 664 "parser.yy"
    5637     {
    5638                         Token fn;
    5639                         fn.str = new std::string( "^?{}" ); // location undefined
    5640                         (yyval.sn) = new StatementNode( StatementNode::Exp, new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ) ), 0 );
    5641                 }
    5642     break;
    5643 
    5644   case 137:
    5645 
    5646 /* Line 1806 of yacc.c  */
    5647 #line 674 "parser.yy"
     5914  case 141:
     5915
     5916/* Line 1806 of yacc.c  */
     5917#line 662 "parser.yy"
    56485918    {
    56495919                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    56515921    break;
    56525922
    5653   case 138:
    5654 
    5655 /* Line 1806 of yacc.c  */
    5656 #line 681 "parser.yy"
     5923  case 142:
     5924
     5925/* Line 1806 of yacc.c  */
     5926#line 669 "parser.yy"
    56575927    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    56585928    break;
    56595929
    5660   case 139:
    5661 
    5662 /* Line 1806 of yacc.c  */
    5663 #line 688 "parser.yy"
     5930  case 143:
     5931
     5932/* Line 1806 of yacc.c  */
     5933#line 676 "parser.yy"
    56645934    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    56655935    break;
    56665936
    5667   case 141:
    5668 
    5669 /* Line 1806 of yacc.c  */
    5670 #line 694 "parser.yy"
     5937  case 145:
     5938
     5939/* Line 1806 of yacc.c  */
     5940#line 682 "parser.yy"
    56715941    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    56725942    break;
    56735943
    5674   case 142:
    5675 
    5676 /* Line 1806 of yacc.c  */
    5677 #line 699 "parser.yy"
     5944  case 146:
     5945
     5946/* Line 1806 of yacc.c  */
     5947#line 687 "parser.yy"
    56785948    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    56795949    break;
    56805950
    5681   case 143:
    5682 
    5683 /* Line 1806 of yacc.c  */
    5684 #line 701 "parser.yy"
     5951  case 147:
     5952
     5953/* Line 1806 of yacc.c  */
     5954#line 689 "parser.yy"
    56855955    {   // mark all fields in list
    56865956                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() )
     
    56905960    break;
    56915961
    5692   case 144:
     5962  case 148:
     5963
     5964/* Line 1806 of yacc.c  */
     5965#line 695 "parser.yy"
     5966    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
     5967    break;
     5968
     5969  case 151:
     5970
     5971/* Line 1806 of yacc.c  */
     5972#line 702 "parser.yy"
     5973    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
     5974    break;
     5975
     5976  case 152:
    56935977
    56945978/* Line 1806 of yacc.c  */
    56955979#line 707 "parser.yy"
    5696     { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    5697     break;
    5698 
    5699   case 147:
    5700 
    5701 /* Line 1806 of yacc.c  */
    5702 #line 714 "parser.yy"
    5703     { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    5704     break;
    5705 
    5706   case 148:
     5980    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
     5981    break;
     5982
     5983  case 153:
     5984
     5985/* Line 1806 of yacc.c  */
     5986#line 713 "parser.yy"
     5987    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5988    break;
     5989
     5990  case 154:
     5991
     5992/* Line 1806 of yacc.c  */
     5993#line 715 "parser.yy"
     5994    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
     5995    break;
     5996
     5997  case 155:
     5998
     5999/* Line 1806 of yacc.c  */
     6000#line 717 "parser.yy"
     6001    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     6002    break;
     6003
     6004  case 156:
    57076005
    57086006/* Line 1806 of yacc.c  */
    57096007#line 719 "parser.yy"
    5710     { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    5711     break;
    5712 
    5713   case 149:
    5714 
    5715 /* Line 1806 of yacc.c  */
    5716 #line 726 "parser.yy"
    5717     { (yyval.sn) = new StatementNode2( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); }
    5718     break;
    5719 
    5720   case 150:
    5721 
    5722 /* Line 1806 of yacc.c  */
    5723 #line 729 "parser.yy"
    5724     { (yyval.sn) = new StatementNode2( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); }
    5725     break;
    5726 
    5727   case 151:
    5728 
    5729 /* Line 1806 of yacc.c  */
    5730 #line 732 "parser.yy"
    5731     { (yyval.sn) = new StatementNode2( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    5732     break;
    5733 
    5734   case 152:
    5735 
    5736 /* Line 1806 of yacc.c  */
    5737 #line 734 "parser.yy"
    57386008    {
    5739                         StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     6009                        StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) );
    57406010                        // The semantics of the declaration list is changed to include associated initialization, which is performed
    57416011                        // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound
     
    57476017    break;
    57486018
    5749   case 153:
    5750 
    5751 /* Line 1806 of yacc.c  */
    5752 #line 745 "parser.yy"
    5753     { (yyval.sn) = new StatementNode2( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    5754     break;
    5755 
    5756   case 154:
    5757 
    5758 /* Line 1806 of yacc.c  */
    5759 #line 747 "parser.yy"
     6019  case 157:
     6020
     6021/* Line 1806 of yacc.c  */
     6022#line 729 "parser.yy"
     6023    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     6024    break;
     6025
     6026  case 158:
     6027
     6028/* Line 1806 of yacc.c  */
     6029#line 731 "parser.yy"
    57606030    {
    5761                         //StatementNode *sw = new StatementNode( StatementNode::Switch, $3, $8 );
    5762                         StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     6031                        StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) );
    57636032                        (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;
    57646033                }
    57656034    break;
    57666035
    5767   case 155:
    5768 
    5769 /* Line 1806 of yacc.c  */
    5770 #line 758 "parser.yy"
     6036  case 159:
     6037
     6038/* Line 1806 of yacc.c  */
     6039#line 741 "parser.yy"
    57716040    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57726041    break;
    57736042
    5774   case 156:
    5775 
    5776 /* Line 1806 of yacc.c  */
    5777 #line 760 "parser.yy"
    5778     { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    5779     break;
    5780 
    5781   case 158:
     6043  case 160:
     6044
     6045/* Line 1806 of yacc.c  */
     6046#line 743 "parser.yy"
     6047    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Range, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     6048    break;
     6049
     6050  case 162:
     6051
     6052/* Line 1806 of yacc.c  */
     6053#line 748 "parser.yy"
     6054    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); }
     6055    break;
     6056
     6057  case 163:
     6058
     6059/* Line 1806 of yacc.c  */
     6060#line 750 "parser.yy"
     6061    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); }
     6062    break;
     6063
     6064  case 164:
     6065
     6066/* Line 1806 of yacc.c  */
     6067#line 754 "parser.yy"
     6068    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
     6069    break;
     6070
     6071  case 165:
     6072
     6073/* Line 1806 of yacc.c  */
     6074#line 755 "parser.yy"
     6075    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
     6076    break;
     6077
     6078  case 167:
     6079
     6080/* Line 1806 of yacc.c  */
     6081#line 761 "parser.yy"
     6082    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
     6083    break;
     6084
     6085  case 168:
    57826086
    57836087/* Line 1806 of yacc.c  */
    57846088#line 765 "parser.yy"
    5785     { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); }
    5786     break;
    5787 
    5788   case 159:
    5789 
    5790 /* Line 1806 of yacc.c  */
    5791 #line 767 "parser.yy"
    5792     { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); }
    5793     break;
    5794 
    5795   case 160:
    5796 
    5797 /* Line 1806 of yacc.c  */
    5798 #line 771 "parser.yy"
    5799     { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    5800     break;
    5801 
    5802   case 161:
    5803 
    5804 /* Line 1806 of yacc.c  */
    5805 #line 772 "parser.yy"
    5806     { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    5807     break;
    5808 
    5809   case 163:
     6089    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); }
     6090    break;
     6091
     6092  case 169:
     6093
     6094/* Line 1806 of yacc.c  */
     6095#line 770 "parser.yy"
     6096    { (yyval.sn) = 0; }
     6097    break;
     6098
     6099  case 171:
     6100
     6101/* Line 1806 of yacc.c  */
     6102#line 776 "parser.yy"
     6103    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); }
     6104    break;
     6105
     6106  case 172:
    58106107
    58116108/* Line 1806 of yacc.c  */
    58126109#line 778 "parser.yy"
    5813     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    5814     break;
    5815 
    5816   case 164:
    5817 
    5818 /* Line 1806 of yacc.c  */
    5819 #line 782 "parser.yy"
    5820     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); }
    5821     break;
    5822 
    5823   case 165:
    5824 
    5825 /* Line 1806 of yacc.c  */
    5826 #line 787 "parser.yy"
     6110    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); }
     6111    break;
     6112
     6113  case 173:
     6114
     6115/* Line 1806 of yacc.c  */
     6116#line 783 "parser.yy"
    58276117    { (yyval.sn) = 0; }
    58286118    break;
    58296119
    5830   case 167:
     6120  case 175:
     6121
     6122/* Line 1806 of yacc.c  */
     6123#line 789 "parser.yy"
     6124    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     6125    break;
     6126
     6127  case 176:
     6128
     6129/* Line 1806 of yacc.c  */
     6130#line 791 "parser.yy"
     6131    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(2) - (3)].sn), *(yyvsp[(3) - (3)].sn) ) ) ) ); }
     6132    break;
     6133
     6134  case 177:
    58316135
    58326136/* Line 1806 of yacc.c  */
    58336137#line 793 "parser.yy"
    5834     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); }
    5835     break;
    5836 
    5837   case 168:
     6138    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     6139    break;
     6140
     6141  case 178:
    58386142
    58396143/* Line 1806 of yacc.c  */
    58406144#line 795 "parser.yy"
    5841     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); }
    5842     break;
    5843 
    5844   case 169:
     6145    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }
     6146    break;
     6147
     6148  case 179:
    58456149
    58466150/* Line 1806 of yacc.c  */
    58476151#line 800 "parser.yy"
     6152    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
     6153    break;
     6154
     6155  case 181:
     6156
     6157/* Line 1806 of yacc.c  */
     6158#line 806 "parser.yy"
    58486159    { (yyval.sn) = 0; }
    58496160    break;
    58506161
    5851   case 171:
    5852 
    5853 /* Line 1806 of yacc.c  */
    5854 #line 806 "parser.yy"
    5855     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    5856     break;
    5857 
    5858   case 172:
     6162  case 182:
    58596163
    58606164/* Line 1806 of yacc.c  */
    58616165#line 808 "parser.yy"
    5862     { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(2) - (3)].sn), *(yyvsp[(3) - (3)].sn) ) ) ) ); }
    5863     break;
    5864 
    5865   case 173:
    5866 
    5867 /* Line 1806 of yacc.c  */
    5868 #line 810 "parser.yy"
    5869     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    5870     break;
    5871 
    5872   case 174:
    5873 
    5874 /* Line 1806 of yacc.c  */
    5875 #line 812 "parser.yy"
    5876     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }
    5877     break;
    5878 
    5879   case 175:
     6166    { (yyval.sn) = 0; }
     6167    break;
     6168
     6169  case 183:
     6170
     6171/* Line 1806 of yacc.c  */
     6172#line 813 "parser.yy"
     6173    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     6174    break;
     6175
     6176  case 184:
     6177
     6178/* Line 1806 of yacc.c  */
     6179#line 815 "parser.yy"
     6180    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
     6181    break;
     6182
     6183  case 185:
    58806184
    58816185/* Line 1806 of yacc.c  */
    58826186#line 817 "parser.yy"
     6187    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
     6188    break;
     6189
     6190  case 186:
     6191
     6192/* Line 1806 of yacc.c  */
     6193#line 822 "parser.yy"
     6194    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
     6195    break;
     6196
     6197  case 187:
     6198
     6199/* Line 1806 of yacc.c  */
     6200#line 824 "parser.yy"
     6201    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     6202    break;
     6203
     6204  case 188:
     6205
     6206/* Line 1806 of yacc.c  */
     6207#line 829 "parser.yy"
     6208    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
     6209    break;
     6210
     6211  case 189:
     6212
     6213/* Line 1806 of yacc.c  */
     6214#line 833 "parser.yy"
     6215    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
     6216    break;
     6217
     6218  case 190:
     6219
     6220/* Line 1806 of yacc.c  */
     6221#line 836 "parser.yy"
     6222    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
     6223    break;
     6224
     6225  case 191:
     6226
     6227/* Line 1806 of yacc.c  */
     6228#line 840 "parser.yy"
     6229    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
     6230    break;
     6231
     6232  case 192:
     6233
     6234/* Line 1806 of yacc.c  */
     6235#line 843 "parser.yy"
    58836236    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    58846237    break;
    58856238
    5886   case 177:
    5887 
    5888 /* Line 1806 of yacc.c  */
    5889 #line 823 "parser.yy"
    5890     { (yyval.sn) = 0; }
    5891     break;
    5892 
    5893   case 178:
    5894 
    5895 /* Line 1806 of yacc.c  */
    5896 #line 825 "parser.yy"
    5897     { (yyval.sn) = 0; }
    5898     break;
    5899 
    5900   case 179:
    5901 
    5902 /* Line 1806 of yacc.c  */
    5903 #line 830 "parser.yy"
    5904     { (yyval.sn) = new StatementNode2( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    5905     break;
    5906 
    5907   case 180:
    5908 
    5909 /* Line 1806 of yacc.c  */
    5910 #line 832 "parser.yy"
    5911     { (yyval.sn) = new StatementNode2( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ) ); }
    5912     break;
    5913 
    5914   case 181:
    5915 
    5916 /* Line 1806 of yacc.c  */
    5917 #line 834 "parser.yy"
    5918     { (yyval.sn) = new StatementNode2( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); }
    5919     break;
    5920 
    5921   case 182:
    5922 
    5923 /* Line 1806 of yacc.c  */
    5924 #line 839 "parser.yy"
    5925     { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    5926     break;
    5927 
    5928   case 183:
    5929 
    5930 /* Line 1806 of yacc.c  */
    5931 #line 841 "parser.yy"
    5932     { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    5933     break;
    5934 
    5935   case 184:
    5936 
    5937 /* Line 1806 of yacc.c  */
    5938 #line 846 "parser.yy"
    5939     { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    5940     break;
    5941 
    5942   case 185:
    5943 
    5944 /* Line 1806 of yacc.c  */
    5945 #line 850 "parser.yy"
    5946     { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    5947     break;
    5948 
    5949   case 186:
    5950 
    5951 /* Line 1806 of yacc.c  */
    5952 #line 853 "parser.yy"
    5953     { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    5954     break;
    5955 
    5956   case 187:
     6239  case 193:
     6240
     6241/* Line 1806 of yacc.c  */
     6242#line 847 "parser.yy"
     6243    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
     6244    break;
     6245
     6246  case 194:
     6247
     6248/* Line 1806 of yacc.c  */
     6249#line 849 "parser.yy"
     6250    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
     6251    break;
     6252
     6253  case 195:
     6254
     6255/* Line 1806 of yacc.c  */
     6256#line 851 "parser.yy"
     6257    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     6258    break;
     6259
     6260  case 196:
     6261
     6262/* Line 1806 of yacc.c  */
     6263#line 855 "parser.yy"
     6264    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     6265    break;
     6266
     6267  case 197:
    59576268
    59586269/* Line 1806 of yacc.c  */
    59596270#line 857 "parser.yy"
    5960     { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    5961     break;
    5962 
    5963   case 188:
    5964 
    5965 /* Line 1806 of yacc.c  */
    5966 #line 860 "parser.yy"
    5967     { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    5968     break;
    5969 
    5970   case 189:
     6271    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
     6272    break;
     6273
     6274  case 198:
    59716275
    59726276/* Line 1806 of yacc.c  */
    59736277#line 864 "parser.yy"
    5974     { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    5975     break;
    5976 
    5977   case 190:
     6278    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6279    break;
     6280
     6281  case 199:
    59786282
    59796283/* Line 1806 of yacc.c  */
    59806284#line 866 "parser.yy"
    5981     { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    5982     break;
    5983 
    5984   case 191:
     6285    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6286    break;
     6287
     6288  case 200:
    59856289
    59866290/* Line 1806 of yacc.c  */
    59876291#line 868 "parser.yy"
    5988     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    5989     break;
    5990 
    5991   case 192:
    5992 
    5993 /* Line 1806 of yacc.c  */
    5994 #line 872 "parser.yy"
    5995     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    5996     break;
    5997 
    5998   case 193:
    5999 
    6000 /* Line 1806 of yacc.c  */
    6001 #line 874 "parser.yy"
    6002     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    6003     break;
    6004 
    6005   case 194:
    6006 
    6007 /* Line 1806 of yacc.c  */
    6008 #line 881 "parser.yy"
    6009     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6010     break;
    6011 
    6012   case 195:
    6013 
    6014 /* Line 1806 of yacc.c  */
    6015 #line 883 "parser.yy"
    6016     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6017     break;
    6018 
    6019   case 196:
    6020 
    6021 /* Line 1806 of yacc.c  */
    6022 #line 885 "parser.yy"
    60236292    {
    60246293                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60276296    break;
    60286297
    6029   case 198:
     6298  case 202:
     6299
     6300/* Line 1806 of yacc.c  */
     6301#line 879 "parser.yy"
     6302    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
     6303    break;
     6304
     6305  case 203:
     6306
     6307/* Line 1806 of yacc.c  */
     6308#line 881 "parser.yy"
     6309    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
     6310    break;
     6311
     6312  case 204:
     6313
     6314/* Line 1806 of yacc.c  */
     6315#line 883 "parser.yy"
     6316    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
     6317    break;
     6318
     6319  case 205:
     6320
     6321/* Line 1806 of yacc.c  */
     6322#line 885 "parser.yy"
     6323    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
     6324    break;
     6325
     6326  case 206:
     6327
     6328/* Line 1806 of yacc.c  */
     6329#line 890 "parser.yy"
     6330    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
     6331    break;
     6332
     6333  case 207:
     6334
     6335/* Line 1806 of yacc.c  */
     6336#line 892 "parser.yy"
     6337    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
     6338    break;
     6339
     6340  case 208:
     6341
     6342/* Line 1806 of yacc.c  */
     6343#line 894 "parser.yy"
     6344    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
     6345    break;
     6346
     6347  case 209:
    60306348
    60316349/* Line 1806 of yacc.c  */
    60326350#line 896 "parser.yy"
    6033     { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    6034     break;
    6035 
    6036   case 199:
    6037 
    6038 /* Line 1806 of yacc.c  */
    6039 #line 898 "parser.yy"
    6040     { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    6041     break;
    6042 
    6043   case 200:
    6044 
    6045 /* Line 1806 of yacc.c  */
    6046 #line 900 "parser.yy"
    6047     { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    6048     break;
    6049 
    6050   case 201:
    6051 
    6052 /* Line 1806 of yacc.c  */
    6053 #line 902 "parser.yy"
    6054     { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    6055     break;
    6056 
    6057   case 202:
    6058 
    6059 /* Line 1806 of yacc.c  */
    6060 #line 907 "parser.yy"
    6061     { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    6062     break;
    6063 
    6064   case 203:
    6065 
    6066 /* Line 1806 of yacc.c  */
    6067 #line 909 "parser.yy"
    60686351    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60696352    break;
    60706353
    6071   case 204:
    6072 
    6073 /* Line 1806 of yacc.c  */
    6074 #line 911 "parser.yy"
    6075     { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    6076     break;
    6077 
    6078   case 205:
    6079 
    6080 /* Line 1806 of yacc.c  */
    6081 #line 913 "parser.yy"
    6082     { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    6083     break;
    6084 
    6085   case 206:
    6086 
    6087 /* Line 1806 of yacc.c  */
    6088 #line 918 "parser.yy"
     6354  case 210:
     6355
     6356/* Line 1806 of yacc.c  */
     6357#line 901 "parser.yy"
    60896358    {
    60906359                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    60936362    break;
    60946363
    6095   case 208:
    6096 
    6097 /* Line 1806 of yacc.c  */
    6098 #line 932 "parser.yy"
     6364  case 212:
     6365
     6366/* Line 1806 of yacc.c  */
     6367#line 915 "parser.yy"
    60996368    {
    61006369                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61036372    break;
    61046373
    6105   case 209:
    6106 
    6107 /* Line 1806 of yacc.c  */
    6108 #line 937 "parser.yy"
     6374  case 213:
     6375
     6376/* Line 1806 of yacc.c  */
     6377#line 920 "parser.yy"
    61096378    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61106379    break;
    61116380
    6112   case 210:
    6113 
    6114 /* Line 1806 of yacc.c  */
    6115 #line 939 "parser.yy"
     6381  case 214:
     6382
     6383/* Line 1806 of yacc.c  */
     6384#line 922 "parser.yy"
    61166385    {
    61176386                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61206389    break;
    61216390
    6122   case 212:
    6123 
    6124 /* Line 1806 of yacc.c  */
    6125 #line 948 "parser.yy"
     6391  case 216:
     6392
     6393/* Line 1806 of yacc.c  */
     6394#line 931 "parser.yy"
    61266395    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    61276396    break;
    61286397
    6129   case 213:
    6130 
    6131 /* Line 1806 of yacc.c  */
    6132 #line 950 "parser.yy"
     6398  case 217:
     6399
     6400/* Line 1806 of yacc.c  */
     6401#line 933 "parser.yy"
    61336402    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    61346403    break;
    61356404
    6136   case 214:
    6137 
    6138 /* Line 1806 of yacc.c  */
    6139 #line 952 "parser.yy"
     6405  case 218:
     6406
     6407/* Line 1806 of yacc.c  */
     6408#line 935 "parser.yy"
    61406409    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    61416410    break;
    61426411
    6143   case 215:
    6144 
    6145 /* Line 1806 of yacc.c  */
    6146 #line 954 "parser.yy"
    6147     { (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)].en) ); }
    6148     break;
    6149 
    6150   case 216:
    6151 
    6152 /* Line 1806 of yacc.c  */
    6153 #line 956 "parser.yy"
    6154     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ); }
    6155     break;
    6156 
    6157   case 217:
    6158 
    6159 /* Line 1806 of yacc.c  */
    6160 #line 961 "parser.yy"
     6412  case 219:
     6413
     6414/* Line 1806 of yacc.c  */
     6415#line 937 "parser.yy"
     6416    { (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) ); }
     6417    break;
     6418
     6419  case 220:
     6420
     6421/* Line 1806 of yacc.c  */
     6422#line 939 "parser.yy"
     6423    { (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) ); }
     6424    break;
     6425
     6426  case 221:
     6427
     6428/* Line 1806 of yacc.c  */
     6429#line 944 "parser.yy"
    61616430    { (yyval.flag) = false; }
    61626431    break;
    61636432
    6164   case 218:
     6433  case 222:
     6434
     6435/* Line 1806 of yacc.c  */
     6436#line 946 "parser.yy"
     6437    { (yyval.flag) = true; }
     6438    break;
     6439
     6440  case 223:
     6441
     6442/* Line 1806 of yacc.c  */
     6443#line 951 "parser.yy"
     6444    { (yyval.en) = 0; }
     6445    break;
     6446
     6447  case 226:
     6448
     6449/* Line 1806 of yacc.c  */
     6450#line 958 "parser.yy"
     6451    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
     6452    break;
     6453
     6454  case 227:
    61656455
    61666456/* Line 1806 of yacc.c  */
    61676457#line 963 "parser.yy"
    6168     { (yyval.flag) = true; }
    6169     break;
    6170 
    6171   case 219:
    6172 
    6173 /* Line 1806 of yacc.c  */
    6174 #line 968 "parser.yy"
    6175     { (yyval.en) = 0; }
    6176     break;
    6177 
    6178   case 222:
    6179 
    6180 /* Line 1806 of yacc.c  */
    6181 #line 975 "parser.yy"
    6182     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    6183     break;
    6184 
    6185   case 223:
    6186 
    6187 /* Line 1806 of yacc.c  */
    6188 #line 980 "parser.yy"
    6189     { (yyval.en) = new ExpressionNode( build_asm( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }
    6190     break;
    6191 
    6192   case 224:
    6193 
    6194 /* Line 1806 of yacc.c  */
    6195 #line 982 "parser.yy"
    6196     { (yyval.en) = new ExpressionNode( build_asm( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); }
    6197     break;
    6198 
    6199   case 225:
    6200 
    6201 /* Line 1806 of yacc.c  */
    6202 #line 987 "parser.yy"
    6203     { (yyval.en) = 0; }
    6204     break;
    6205 
    6206   case 226:
    6207 
    6208 /* Line 1806 of yacc.c  */
    6209 #line 989 "parser.yy"
    6210     { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    6211     break;
    6212 
    6213   case 227:
    6214 
    6215 /* Line 1806 of yacc.c  */
    6216 #line 991 "parser.yy"
    6217     { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }
     6458    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    62186459    break;
    62196460
     
    62216462
    62226463/* Line 1806 of yacc.c  */
    6223 #line 996 "parser.yy"
     6464#line 965 "parser.yy"
     6465    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
     6466    break;
     6467
     6468  case 229:
     6469
     6470/* Line 1806 of yacc.c  */
     6471#line 970 "parser.yy"
     6472    { (yyval.constant) = 0; }
     6473    break;
     6474
     6475  case 230:
     6476
     6477/* Line 1806 of yacc.c  */
     6478#line 972 "parser.yy"
     6479    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
     6480    break;
     6481
     6482  case 231:
     6483
     6484/* Line 1806 of yacc.c  */
     6485#line 974 "parser.yy"
     6486    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
     6487    break;
     6488
     6489  case 232:
     6490
     6491/* Line 1806 of yacc.c  */
     6492#line 979 "parser.yy"
    62246493    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    62256494    break;
    62266495
    6227   case 229:
    6228 
    6229 /* Line 1806 of yacc.c  */
    6230 #line 998 "parser.yy"
     6496  case 233:
     6497
     6498/* Line 1806 of yacc.c  */
     6499#line 981 "parser.yy"
    62316500    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    62326501    break;
    62336502
    6234   case 230:
    6235 
    6236 /* Line 1806 of yacc.c  */
    6237 #line 1005 "parser.yy"
     6503  case 234:
     6504
     6505/* Line 1806 of yacc.c  */
     6506#line 988 "parser.yy"
    62386507    { (yyval.decl) = 0; }
    62396508    break;
    62406509
    6241   case 233:
    6242 
    6243 /* Line 1806 of yacc.c  */
    6244 #line 1012 "parser.yy"
     6510  case 237:
     6511
     6512/* Line 1806 of yacc.c  */
     6513#line 995 "parser.yy"
    62456514    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62466515    break;
    62476516
    6248   case 234:
    6249 
    6250 /* Line 1806 of yacc.c  */
    6251 #line 1017 "parser.yy"
     6517  case 238:
     6518
     6519/* Line 1806 of yacc.c  */
     6520#line 1000 "parser.yy"
    62526521    { (yyval.decl) = 0; }
    62536522    break;
    62546523
    6255   case 237:
    6256 
    6257 /* Line 1806 of yacc.c  */
    6258 #line 1024 "parser.yy"
     6524  case 241:
     6525
     6526/* Line 1806 of yacc.c  */
     6527#line 1007 "parser.yy"
    62596528    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62606529    break;
    62616530
    6262   case 242:
    6263 
    6264 /* Line 1806 of yacc.c  */
    6265 #line 1038 "parser.yy"
     6531  case 246:
     6532
     6533/* Line 1806 of yacc.c  */
     6534#line 1021 "parser.yy"
    62666535    {}
    62676536    break;
    62686537
    6269   case 243:
    6270 
    6271 /* Line 1806 of yacc.c  */
    6272 #line 1039 "parser.yy"
     6538  case 247:
     6539
     6540/* Line 1806 of yacc.c  */
     6541#line 1022 "parser.yy"
    62736542    {}
    62746543    break;
    62756544
    6276   case 251:
    6277 
    6278 /* Line 1806 of yacc.c  */
    6279 #line 1068 "parser.yy"
     6545  case 255:
     6546
     6547/* Line 1806 of yacc.c  */
     6548#line 1051 "parser.yy"
    62806549    {
    62816550                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62846553    break;
    62856554
    6286   case 252:
    6287 
    6288 /* Line 1806 of yacc.c  */
    6289 #line 1075 "parser.yy"
     6555  case 256:
     6556
     6557/* Line 1806 of yacc.c  */
     6558#line 1058 "parser.yy"
    62906559    {
    62916560                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62946563    break;
    62956564
    6296   case 253:
    6297 
    6298 /* Line 1806 of yacc.c  */
    6299 #line 1080 "parser.yy"
     6565  case 257:
     6566
     6567/* Line 1806 of yacc.c  */
     6568#line 1063 "parser.yy"
    63006569    {
    63016570                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63046573    break;
    63056574
    6306   case 254:
    6307 
    6308 /* Line 1806 of yacc.c  */
    6309 #line 1090 "parser.yy"
     6575  case 258:
     6576
     6577/* Line 1806 of yacc.c  */
     6578#line 1073 "parser.yy"
    63106579    {
    63116580                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63146583    break;
    63156584
    6316   case 255:
    6317 
    6318 /* Line 1806 of yacc.c  */
    6319 #line 1095 "parser.yy"
     6585  case 259:
     6586
     6587/* Line 1806 of yacc.c  */
     6588#line 1078 "parser.yy"
    63206589    {
    63216590                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63246593    break;
    63256594
    6326   case 256:
    6327 
    6328 /* Line 1806 of yacc.c  */
    6329 #line 1100 "parser.yy"
     6595  case 260:
     6596
     6597/* Line 1806 of yacc.c  */
     6598#line 1083 "parser.yy"
    63306599    {
    63316600                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63346603    break;
    63356604
    6336   case 257:
    6337 
    6338 /* Line 1806 of yacc.c  */
    6339 #line 1108 "parser.yy"
     6605  case 261:
     6606
     6607/* Line 1806 of yacc.c  */
     6608#line 1091 "parser.yy"
    63406609    {
    63416610                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63446613    break;
    63456614
    6346   case 258:
    6347 
    6348 /* Line 1806 of yacc.c  */
    6349 #line 1113 "parser.yy"
     6615  case 262:
     6616
     6617/* Line 1806 of yacc.c  */
     6618#line 1096 "parser.yy"
    63506619    {
    63516620                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63546623    break;
    63556624
    6356   case 259:
    6357 
    6358 /* Line 1806 of yacc.c  */
    6359 #line 1118 "parser.yy"
     6625  case 263:
     6626
     6627/* Line 1806 of yacc.c  */
     6628#line 1101 "parser.yy"
    63606629    {
    63616630                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63646633    break;
    63656634
    6366   case 260:
    6367 
    6368 /* Line 1806 of yacc.c  */
    6369 #line 1123 "parser.yy"
     6635  case 264:
     6636
     6637/* Line 1806 of yacc.c  */
     6638#line 1106 "parser.yy"
    63706639    {
    63716640                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63746643    break;
    63756644
    6376   case 261:
    6377 
    6378 /* Line 1806 of yacc.c  */
    6379 #line 1128 "parser.yy"
     6645  case 265:
     6646
     6647/* Line 1806 of yacc.c  */
     6648#line 1111 "parser.yy"
    63806649    {
    63816650                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63846653    break;
    63856654
    6386   case 262:
    6387 
    6388 /* Line 1806 of yacc.c  */
    6389 #line 1136 "parser.yy"
     6655  case 266:
     6656
     6657/* Line 1806 of yacc.c  */
     6658#line 1119 "parser.yy"
    63906659    {
    63916660                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    63936662    break;
    63946663
    6395   case 263:
    6396 
    6397 /* Line 1806 of yacc.c  */
    6398 #line 1159 "parser.yy"
     6664  case 267:
     6665
     6666/* Line 1806 of yacc.c  */
     6667#line 1142 "parser.yy"
    63996668    {
    64006669                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64026671    break;
    64036672
    6404   case 264:
    6405 
    6406 /* Line 1806 of yacc.c  */
    6407 #line 1163 "parser.yy"
     6673  case 268:
     6674
     6675/* Line 1806 of yacc.c  */
     6676#line 1146 "parser.yy"
    64086677    {
    64096678                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64116680    break;
    64126681
    6413   case 265:
    6414 
    6415 /* Line 1806 of yacc.c  */
    6416 #line 1170 "parser.yy"
     6682  case 269:
     6683
     6684/* Line 1806 of yacc.c  */
     6685#line 1153 "parser.yy"
    64176686    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64186687    break;
    64196688
    6420   case 266:
    6421 
    6422 /* Line 1806 of yacc.c  */
    6423 #line 1174 "parser.yy"
     6689  case 270:
     6690
     6691/* Line 1806 of yacc.c  */
     6692#line 1157 "parser.yy"
    64246693    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64256694    break;
    64266695
    6427   case 267:
    6428 
    6429 /* Line 1806 of yacc.c  */
    6430 #line 1179 "parser.yy"
     6696  case 271:
     6697
     6698/* Line 1806 of yacc.c  */
     6699#line 1162 "parser.yy"
    64316700    {
    64326701                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64356704    break;
    64366705
    6437   case 268:
    6438 
    6439 /* Line 1806 of yacc.c  */
    6440 #line 1184 "parser.yy"
     6706  case 272:
     6707
     6708/* Line 1806 of yacc.c  */
     6709#line 1167 "parser.yy"
    64416710    {
    64426711                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64456714    break;
    64466715
    6447   case 269:
    6448 
    6449 /* Line 1806 of yacc.c  */
    6450 #line 1189 "parser.yy"
     6716  case 273:
     6717
     6718/* Line 1806 of yacc.c  */
     6719#line 1172 "parser.yy"
    64516720    {
    64526721                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64556724    break;
    64566725
    6457   case 270:
    6458 
    6459 /* Line 1806 of yacc.c  */
    6460 #line 1200 "parser.yy"
     6726  case 274:
     6727
     6728/* Line 1806 of yacc.c  */
     6729#line 1183 "parser.yy"
    64616730    {
    64626731                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64656734    break;
    64666735
    6467   case 271:
    6468 
    6469 /* Line 1806 of yacc.c  */
    6470 #line 1205 "parser.yy"
     6736  case 275:
     6737
     6738/* Line 1806 of yacc.c  */
     6739#line 1188 "parser.yy"
    64716740    {
    64726741                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64756744    break;
    64766745
    6477   case 272:
    6478 
    6479 /* Line 1806 of yacc.c  */
    6480 #line 1210 "parser.yy"
     6746  case 276:
     6747
     6748/* Line 1806 of yacc.c  */
     6749#line 1193 "parser.yy"
    64816750    {
    64826751                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64856754    break;
    64866755
    6487   case 273:
    6488 
    6489 /* Line 1806 of yacc.c  */
    6490 #line 1215 "parser.yy"
     6756  case 277:
     6757
     6758/* Line 1806 of yacc.c  */
     6759#line 1198 "parser.yy"
    64916760    {
    64926761                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64956764    break;
    64966765
    6497   case 274:
    6498 
    6499 /* Line 1806 of yacc.c  */
    6500 #line 1220 "parser.yy"
     6766  case 278:
     6767
     6768/* Line 1806 of yacc.c  */
     6769#line 1203 "parser.yy"
    65016770    {
    65026771                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65056774    break;
    65066775
    6507   case 275:
    6508 
    6509 /* Line 1806 of yacc.c  */
    6510 #line 1229 "parser.yy"
     6776  case 279:
     6777
     6778/* Line 1806 of yacc.c  */
     6779#line 1212 "parser.yy"
    65116780    {
    65126781                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65156784    break;
    65166785
    6517   case 276:
    6518 
    6519 /* Line 1806 of yacc.c  */
    6520 #line 1234 "parser.yy"
     6786  case 280:
     6787
     6788/* Line 1806 of yacc.c  */
     6789#line 1217 "parser.yy"
    65216790    {
    65226791                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65256794    break;
    65266795
    6527   case 281:
    6528 
    6529 /* Line 1806 of yacc.c  */
    6530 #line 1251 "parser.yy"
     6796  case 285:
     6797
     6798/* Line 1806 of yacc.c  */
     6799#line 1234 "parser.yy"
    65316800    {
    65326801                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65356804    break;
    65366805
    6537   case 282:
    6538 
    6539 /* Line 1806 of yacc.c  */
    6540 #line 1256 "parser.yy"
     6806  case 286:
     6807
     6808/* Line 1806 of yacc.c  */
     6809#line 1239 "parser.yy"
    65416810    {
    65426811                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65456814    break;
    65466815
    6547   case 291:
    6548 
    6549 /* Line 1806 of yacc.c  */
    6550 #line 1278 "parser.yy"
     6816  case 295:
     6817
     6818/* Line 1806 of yacc.c  */
     6819#line 1261 "parser.yy"
    65516820    { (yyval.decl) = 0; }
    65526821    break;
    65536822
    6554   case 294:
     6823  case 298:
     6824
     6825/* Line 1806 of yacc.c  */
     6826#line 1273 "parser.yy"
     6827    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6828    break;
     6829
     6830  case 301:
     6831
     6832/* Line 1806 of yacc.c  */
     6833#line 1284 "parser.yy"
     6834    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6835    break;
     6836
     6837  case 302:
     6838
     6839/* Line 1806 of yacc.c  */
     6840#line 1286 "parser.yy"
     6841    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
     6842    break;
     6843
     6844  case 303:
     6845
     6846/* Line 1806 of yacc.c  */
     6847#line 1288 "parser.yy"
     6848    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
     6849    break;
     6850
     6851  case 304:
    65556852
    65566853/* Line 1806 of yacc.c  */
    65576854#line 1290 "parser.yy"
    6558     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6559     break;
    6560 
    6561   case 297:
    6562 
    6563 /* Line 1806 of yacc.c  */
    6564 #line 1301 "parser.yy"
    6565     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    6566     break;
    6567 
    6568   case 298:
    6569 
    6570 /* Line 1806 of yacc.c  */
    6571 #line 1303 "parser.yy"
    6572     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    6573     break;
    6574 
    6575   case 299:
    6576 
    6577 /* Line 1806 of yacc.c  */
    6578 #line 1305 "parser.yy"
    6579     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    6580     break;
    6581 
    6582   case 300:
    6583 
    6584 /* Line 1806 of yacc.c  */
    6585 #line 1307 "parser.yy"
    65866855    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    65876856    break;
    65886857
    6589   case 301:
    6590 
    6591 /* Line 1806 of yacc.c  */
    6592 #line 1309 "parser.yy"
     6858  case 305:
     6859
     6860/* Line 1806 of yacc.c  */
     6861#line 1292 "parser.yy"
    65936862    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    65946863    break;
    65956864
    6596   case 302:
    6597 
    6598 /* Line 1806 of yacc.c  */
    6599 #line 1311 "parser.yy"
     6865  case 306:
     6866
     6867/* Line 1806 of yacc.c  */
     6868#line 1294 "parser.yy"
    66006869    {
    66016870                        typedefTable.enterScope();
     
    66036872    break;
    66046873
    6605   case 303:
    6606 
    6607 /* Line 1806 of yacc.c  */
    6608 #line 1315 "parser.yy"
     6874  case 307:
     6875
     6876/* Line 1806 of yacc.c  */
     6877#line 1298 "parser.yy"
    66096878    {
    66106879                        typedefTable.leaveScope();
     
    66136882    break;
    66146883
    6615   case 305:
    6616 
    6617 /* Line 1806 of yacc.c  */
    6618 #line 1324 "parser.yy"
     6884  case 309:
     6885
     6886/* Line 1806 of yacc.c  */
     6887#line 1307 "parser.yy"
    66196888    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66206889    break;
    66216890
    6622   case 306:
    6623 
    6624 /* Line 1806 of yacc.c  */
    6625 #line 1326 "parser.yy"
     6891  case 310:
     6892
     6893/* Line 1806 of yacc.c  */
     6894#line 1309 "parser.yy"
    66266895    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66276896    break;
    66286897
    6629   case 308:
     6898  case 312:
     6899
     6900/* Line 1806 of yacc.c  */
     6901#line 1320 "parser.yy"
     6902    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6903    break;
     6904
     6905  case 314:
     6906
     6907/* Line 1806 of yacc.c  */
     6908#line 1329 "parser.yy"
     6909    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6910    break;
     6911
     6912  case 315:
     6913
     6914/* Line 1806 of yacc.c  */
     6915#line 1331 "parser.yy"
     6916    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6917    break;
     6918
     6919  case 316:
     6920
     6921/* Line 1806 of yacc.c  */
     6922#line 1333 "parser.yy"
     6923    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6924    break;
     6925
     6926  case 317:
     6927
     6928/* Line 1806 of yacc.c  */
     6929#line 1335 "parser.yy"
     6930    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6931    break;
     6932
     6933  case 318:
    66306934
    66316935/* Line 1806 of yacc.c  */
    66326936#line 1337 "parser.yy"
     6937    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6938    break;
     6939
     6940  case 319:
     6941
     6942/* Line 1806 of yacc.c  */
     6943#line 1339 "parser.yy"
     6944    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6945    break;
     6946
     6947  case 320:
     6948
     6949/* Line 1806 of yacc.c  */
     6950#line 1341 "parser.yy"
     6951    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6952    break;
     6953
     6954  case 321:
     6955
     6956/* Line 1806 of yacc.c  */
     6957#line 1343 "parser.yy"
     6958    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6959    break;
     6960
     6961  case 322:
     6962
     6963/* Line 1806 of yacc.c  */
     6964#line 1348 "parser.yy"
     6965    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     6966    break;
     6967
     6968  case 323:
     6969
     6970/* Line 1806 of yacc.c  */
     6971#line 1350 "parser.yy"
     6972    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6973    break;
     6974
     6975  case 324:
     6976
     6977/* Line 1806 of yacc.c  */
     6978#line 1352 "parser.yy"
     6979    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6980    break;
     6981
     6982  case 325:
     6983
     6984/* Line 1806 of yacc.c  */
     6985#line 1354 "parser.yy"
     6986    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6987    break;
     6988
     6989  case 326:
     6990
     6991/* Line 1806 of yacc.c  */
     6992#line 1356 "parser.yy"
     6993    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6994    break;
     6995
     6996  case 327:
     6997
     6998/* Line 1806 of yacc.c  */
     6999#line 1358 "parser.yy"
     7000    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     7001    break;
     7002
     7003  case 328:
     7004
     7005/* Line 1806 of yacc.c  */
     7006#line 1360 "parser.yy"
     7007    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     7008    break;
     7009
     7010  case 329:
     7011
     7012/* Line 1806 of yacc.c  */
     7013#line 1362 "parser.yy"
     7014    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     7015    break;
     7016
     7017  case 330:
     7018
     7019/* Line 1806 of yacc.c  */
     7020#line 1364 "parser.yy"
     7021    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     7022    break;
     7023
     7024  case 331:
     7025
     7026/* Line 1806 of yacc.c  */
     7027#line 1366 "parser.yy"
     7028    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     7029    break;
     7030
     7031  case 332:
     7032
     7033/* Line 1806 of yacc.c  */
     7034#line 1368 "parser.yy"
     7035    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     7036    break;
     7037
     7038  case 333:
     7039
     7040/* Line 1806 of yacc.c  */
     7041#line 1370 "parser.yy"
     7042    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     7043    break;
     7044
     7045  case 334:
     7046
     7047/* Line 1806 of yacc.c  */
     7048#line 1372 "parser.yy"
     7049    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
     7050    break;
     7051
     7052  case 336:
     7053
     7054/* Line 1806 of yacc.c  */
     7055#line 1379 "parser.yy"
     7056    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7057    break;
     7058
     7059  case 337:
     7060
     7061/* Line 1806 of yacc.c  */
     7062#line 1381 "parser.yy"
    66337063    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66347064    break;
    66357065
    6636   case 310:
    6637 
    6638 /* Line 1806 of yacc.c  */
    6639 #line 1346 "parser.yy"
    6640     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    6641     break;
    6642 
    6643   case 311:
    6644 
    6645 /* Line 1806 of yacc.c  */
    6646 #line 1348 "parser.yy"
    6647     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    6648     break;
    6649 
    6650   case 312:
    6651 
    6652 /* Line 1806 of yacc.c  */
    6653 #line 1350 "parser.yy"
    6654     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    6655     break;
    6656 
    6657   case 313:
    6658 
    6659 /* Line 1806 of yacc.c  */
    6660 #line 1352 "parser.yy"
    6661     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    6662     break;
    6663 
    6664   case 314:
    6665 
    6666 /* Line 1806 of yacc.c  */
    6667 #line 1354 "parser.yy"
    6668     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    6669     break;
    6670 
    6671   case 315:
    6672 
    6673 /* Line 1806 of yacc.c  */
    6674 #line 1356 "parser.yy"
    6675     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    6676     break;
    6677 
    6678   case 316:
    6679 
    6680 /* Line 1806 of yacc.c  */
    6681 #line 1358 "parser.yy"
    6682     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    6683     break;
    6684 
    6685   case 317:
    6686 
    6687 /* Line 1806 of yacc.c  */
    6688 #line 1360 "parser.yy"
    6689     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    6690     break;
    6691 
    6692   case 318:
    6693 
    6694 /* Line 1806 of yacc.c  */
    6695 #line 1365 "parser.yy"
    6696     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    6697     break;
    6698 
    6699   case 319:
    6700 
    6701 /* Line 1806 of yacc.c  */
    6702 #line 1367 "parser.yy"
    6703     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    6704     break;
    6705 
    6706   case 320:
    6707 
    6708 /* Line 1806 of yacc.c  */
    6709 #line 1369 "parser.yy"
    6710     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    6711     break;
    6712 
    6713   case 321:
    6714 
    6715 /* Line 1806 of yacc.c  */
    6716 #line 1371 "parser.yy"
    6717     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    6718     break;
    6719 
    6720   case 322:
    6721 
    6722 /* Line 1806 of yacc.c  */
    6723 #line 1373 "parser.yy"
    6724     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    6725     break;
    6726 
    6727   case 323:
    6728 
    6729 /* Line 1806 of yacc.c  */
    6730 #line 1375 "parser.yy"
    6731     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    6732     break;
    6733 
    6734   case 324:
    6735 
    6736 /* Line 1806 of yacc.c  */
    6737 #line 1377 "parser.yy"
    6738     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    6739     break;
    6740 
    6741   case 325:
    6742 
    6743 /* Line 1806 of yacc.c  */
    6744 #line 1379 "parser.yy"
    6745     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    6746     break;
    6747 
    6748   case 326:
    6749 
    6750 /* Line 1806 of yacc.c  */
    6751 #line 1381 "parser.yy"
    6752     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    6753     break;
    6754 
    6755   case 327:
     7066  case 338:
    67567067
    67577068/* Line 1806 of yacc.c  */
    67587069#line 1383 "parser.yy"
    6759     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    6760     break;
    6761 
    6762   case 328:
     7070    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7071    break;
     7072
     7073  case 339:
    67637074
    67647075/* Line 1806 of yacc.c  */
    67657076#line 1385 "parser.yy"
    6766     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    6767     break;
    6768 
    6769   case 329:
    6770 
    6771 /* Line 1806 of yacc.c  */
    6772 #line 1387 "parser.yy"
    6773     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    6774     break;
    6775 
    6776   case 330:
    6777 
    6778 /* Line 1806 of yacc.c  */
    6779 #line 1389 "parser.yy"
    6780     { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    6781     break;
    6782 
    6783   case 332:
    6784 
    6785 /* Line 1806 of yacc.c  */
    6786 #line 1396 "parser.yy"
     7077    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     7078    break;
     7079
     7080  case 341:
     7081
     7082/* Line 1806 of yacc.c  */
     7083#line 1391 "parser.yy"
     7084    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7085    break;
     7086
     7087  case 343:
     7088
     7089/* Line 1806 of yacc.c  */
     7090#line 1398 "parser.yy"
    67877091    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67887092    break;
    67897093
    6790   case 333:
    6791 
    6792 /* Line 1806 of yacc.c  */
    6793 #line 1398 "parser.yy"
     7094  case 344:
     7095
     7096/* Line 1806 of yacc.c  */
     7097#line 1400 "parser.yy"
    67947098    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67957099    break;
    67967100
    6797   case 334:
    6798 
    6799 /* Line 1806 of yacc.c  */
    6800 #line 1400 "parser.yy"
     7101  case 345:
     7102
     7103/* Line 1806 of yacc.c  */
     7104#line 1402 "parser.yy"
     7105    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     7106    break;
     7107
     7108  case 346:
     7109
     7110/* Line 1806 of yacc.c  */
     7111#line 1407 "parser.yy"
     7112    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     7113    break;
     7114
     7115  case 347:
     7116
     7117/* Line 1806 of yacc.c  */
     7118#line 1409 "parser.yy"
     7119    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     7120    break;
     7121
     7122  case 348:
     7123
     7124/* Line 1806 of yacc.c  */
     7125#line 1411 "parser.yy"
     7126    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     7127    break;
     7128
     7129  case 349:
     7130
     7131/* Line 1806 of yacc.c  */
     7132#line 1413 "parser.yy"
     7133    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     7134    break;
     7135
     7136  case 351:
     7137
     7138/* Line 1806 of yacc.c  */
     7139#line 1419 "parser.yy"
     7140    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7141    break;
     7142
     7143  case 352:
     7144
     7145/* Line 1806 of yacc.c  */
     7146#line 1421 "parser.yy"
     7147    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7148    break;
     7149
     7150  case 353:
     7151
     7152/* Line 1806 of yacc.c  */
     7153#line 1423 "parser.yy"
    68017154    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68027155    break;
    68037156
    6804   case 335:
    6805 
    6806 /* Line 1806 of yacc.c  */
    6807 #line 1402 "parser.yy"
    6808     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    6809     break;
    6810 
    6811   case 337:
    6812 
    6813 /* Line 1806 of yacc.c  */
    6814 #line 1408 "parser.yy"
    6815     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6816     break;
    6817 
    6818   case 339:
    6819 
    6820 /* Line 1806 of yacc.c  */
    6821 #line 1415 "parser.yy"
     7157  case 355:
     7158
     7159/* Line 1806 of yacc.c  */
     7160#line 1429 "parser.yy"
    68227161    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68237162    break;
    68247163
    6825   case 340:
    6826 
    6827 /* Line 1806 of yacc.c  */
    6828 #line 1417 "parser.yy"
     7164  case 356:
     7165
     7166/* Line 1806 of yacc.c  */
     7167#line 1431 "parser.yy"
    68297168    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68307169    break;
    68317170
    6832   case 341:
    6833 
    6834 /* Line 1806 of yacc.c  */
    6835 #line 1419 "parser.yy"
    6836     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    6837     break;
    6838 
    6839   case 342:
    6840 
    6841 /* Line 1806 of yacc.c  */
    6842 #line 1424 "parser.yy"
    6843     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    6844     break;
    6845 
    6846   case 343:
    6847 
    6848 /* Line 1806 of yacc.c  */
    6849 #line 1426 "parser.yy"
    6850     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    6851     break;
    6852 
    6853   case 344:
    6854 
    6855 /* Line 1806 of yacc.c  */
    6856 #line 1428 "parser.yy"
    6857     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    6858     break;
    6859 
    6860   case 345:
    6861 
    6862 /* Line 1806 of yacc.c  */
    6863 #line 1430 "parser.yy"
    6864     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6865     break;
    6866 
    6867   case 347:
    6868 
    6869 /* Line 1806 of yacc.c  */
    6870 #line 1436 "parser.yy"
     7171  case 358:
     7172
     7173/* Line 1806 of yacc.c  */
     7174#line 1437 "parser.yy"
    68717175    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68727176    break;
    68737177
    6874   case 348:
    6875 
    6876 /* Line 1806 of yacc.c  */
    6877 #line 1438 "parser.yy"
     7178  case 359:
     7179
     7180/* Line 1806 of yacc.c  */
     7181#line 1439 "parser.yy"
    68787182    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68797183    break;
    68807184
    6881   case 349:
    6882 
    6883 /* Line 1806 of yacc.c  */
    6884 #line 1440 "parser.yy"
     7185  case 360:
     7186
     7187/* Line 1806 of yacc.c  */
     7188#line 1441 "parser.yy"
    68857189    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68867190    break;
    68877191
    6888   case 351:
     7192  case 361:
    68897193
    68907194/* Line 1806 of yacc.c  */
    68917195#line 1446 "parser.yy"
    6892     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6893     break;
    6894 
    6895   case 352:
     7196    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     7197    break;
     7198
     7199  case 362:
    68967200
    68977201/* Line 1806 of yacc.c  */
    68987202#line 1448 "parser.yy"
     7203    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7204    break;
     7205
     7206  case 363:
     7207
     7208/* Line 1806 of yacc.c  */
     7209#line 1450 "parser.yy"
    68997210    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69007211    break;
    69017212
    6902   case 354:
    6903 
    6904 /* Line 1806 of yacc.c  */
    6905 #line 1454 "parser.yy"
    6906     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6907     break;
    6908 
    6909   case 355:
    6910 
    6911 /* Line 1806 of yacc.c  */
    6912 #line 1456 "parser.yy"
    6913     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6914     break;
    6915 
    6916   case 356:
    6917 
    6918 /* Line 1806 of yacc.c  */
    6919 #line 1458 "parser.yy"
    6920     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6921     break;
    6922 
    6923   case 357:
    6924 
    6925 /* Line 1806 of yacc.c  */
    6926 #line 1463 "parser.yy"
    6927     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    6928     break;
    6929 
    6930   case 358:
    6931 
    6932 /* Line 1806 of yacc.c  */
    6933 #line 1465 "parser.yy"
    6934     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6935     break;
    6936 
    6937   case 359:
    6938 
    6939 /* Line 1806 of yacc.c  */
    6940 #line 1467 "parser.yy"
    6941     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6942     break;
    6943 
    6944   case 362:
    6945 
    6946 /* Line 1806 of yacc.c  */
    6947 #line 1477 "parser.yy"
     7213  case 366:
     7214
     7215/* Line 1806 of yacc.c  */
     7216#line 1460 "parser.yy"
    69487217    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); }
    69497218    break;
    69507219
    6951   case 363:
    6952 
    6953 /* Line 1806 of yacc.c  */
    6954 #line 1479 "parser.yy"
     7220  case 367:
     7221
     7222/* Line 1806 of yacc.c  */
     7223#line 1462 "parser.yy"
    69557224    {
    69567225                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    69597228    break;
    69607229
    6961   case 364:
    6962 
    6963 /* Line 1806 of yacc.c  */
    6964 #line 1484 "parser.yy"
     7230  case 368:
     7231
     7232/* Line 1806 of yacc.c  */
     7233#line 1467 "parser.yy"
    69657234    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    69667235    break;
    69677236
    6968   case 365:
    6969 
    6970 /* Line 1806 of yacc.c  */
    6971 #line 1486 "parser.yy"
     7237  case 369:
     7238
     7239/* Line 1806 of yacc.c  */
     7240#line 1469 "parser.yy"
    69727241    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); }
    69737242    break;
    69747243
    6975   case 366:
    6976 
    6977 /* Line 1806 of yacc.c  */
    6978 #line 1488 "parser.yy"
     7244  case 370:
     7245
     7246/* Line 1806 of yacc.c  */
     7247#line 1471 "parser.yy"
    69797248    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
    69807249    break;
    69817250
    6982   case 367:
    6983 
    6984 /* Line 1806 of yacc.c  */
    6985 #line 1490 "parser.yy"
     7251  case 371:
     7252
     7253/* Line 1806 of yacc.c  */
     7254#line 1473 "parser.yy"
    69867255    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69877256    break;
    69887257
    6989   case 368:
    6990 
    6991 /* Line 1806 of yacc.c  */
    6992 #line 1495 "parser.yy"
     7258  case 372:
     7259
     7260/* Line 1806 of yacc.c  */
     7261#line 1478 "parser.yy"
    69937262    { (yyval.aggKey) = DeclarationNode::Struct; }
    69947263    break;
    69957264
    6996   case 369:
    6997 
    6998 /* Line 1806 of yacc.c  */
    6999 #line 1497 "parser.yy"
     7265  case 373:
     7266
     7267/* Line 1806 of yacc.c  */
     7268#line 1480 "parser.yy"
    70007269    { (yyval.aggKey) = DeclarationNode::Union; }
    70017270    break;
    70027271
    7003   case 370:
    7004 
    7005 /* Line 1806 of yacc.c  */
    7006 #line 1502 "parser.yy"
     7272  case 374:
     7273
     7274/* Line 1806 of yacc.c  */
     7275#line 1485 "parser.yy"
    70077276    { (yyval.decl) = 0; }
    70087277    break;
    70097278
    7010   case 371:
    7011 
    7012 /* Line 1806 of yacc.c  */
    7013 #line 1504 "parser.yy"
     7279  case 375:
     7280
     7281/* Line 1806 of yacc.c  */
     7282#line 1487 "parser.yy"
    70147283    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    70157284    break;
    70167285
    7017   case 373:
    7018 
    7019 /* Line 1806 of yacc.c  */
    7020 #line 1510 "parser.yy"
     7286  case 377:
     7287
     7288/* Line 1806 of yacc.c  */
     7289#line 1493 "parser.yy"
    70217290    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }
    70227291    break;
    70237292
    7024   case 375:
    7025 
    7026 /* Line 1806 of yacc.c  */
    7027 #line 1513 "parser.yy"
     7293  case 379:
     7294
     7295/* Line 1806 of yacc.c  */
     7296#line 1496 "parser.yy"
    70287297    {   // mark all fields in list
    70297298                        for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() )
     
    70337302    break;
    70347303
    7035   case 377:
    7036 
    7037 /* Line 1806 of yacc.c  */
    7038 #line 1523 "parser.yy"
     7304  case 381:
     7305
     7306/* Line 1806 of yacc.c  */
     7307#line 1506 "parser.yy"
    70397308    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70407309    break;
    70417310
    7042   case 378:
    7043 
    7044 /* Line 1806 of yacc.c  */
    7045 #line 1525 "parser.yy"
     7311  case 382:
     7312
     7313/* Line 1806 of yacc.c  */
     7314#line 1508 "parser.yy"
    70467315    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70477316    break;
    70487317
    7049   case 379:
     7318  case 383:
     7319
     7320/* Line 1806 of yacc.c  */
     7321#line 1510 "parser.yy"
     7322    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     7323    break;
     7324
     7325  case 384:
     7326
     7327/* Line 1806 of yacc.c  */
     7328#line 1515 "parser.yy"
     7329    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7330    break;
     7331
     7332  case 385:
     7333
     7334/* Line 1806 of yacc.c  */
     7335#line 1517 "parser.yy"
     7336    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     7337    break;
     7338
     7339  case 386:
     7340
     7341/* Line 1806 of yacc.c  */
     7342#line 1522 "parser.yy"
     7343    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7344    break;
     7345
     7346  case 387:
     7347
     7348/* Line 1806 of yacc.c  */
     7349#line 1524 "parser.yy"
     7350    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
     7351    break;
     7352
     7353  case 388:
    70507354
    70517355/* Line 1806 of yacc.c  */
    70527356#line 1527 "parser.yy"
    7053     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    7054     break;
    7055 
    7056   case 380:
    7057 
    7058 /* Line 1806 of yacc.c  */
    7059 #line 1532 "parser.yy"
    7060     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7061     break;
    7062 
    7063   case 381:
    7064 
    7065 /* Line 1806 of yacc.c  */
    7066 #line 1534 "parser.yy"
    7067     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    7068     break;
    7069 
    7070   case 382:
    7071 
    7072 /* Line 1806 of yacc.c  */
    7073 #line 1539 "parser.yy"
    7074     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    7075     break;
    7076 
    7077   case 383:
    7078 
    7079 /* Line 1806 of yacc.c  */
    7080 #line 1541 "parser.yy"
    7081     { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    7082     break;
    7083 
    7084   case 384:
    7085 
    7086 /* Line 1806 of yacc.c  */
    7087 #line 1544 "parser.yy"
    70887357    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70897358    break;
    70907359
    7091   case 385:
    7092 
    7093 /* Line 1806 of yacc.c  */
    7094 #line 1547 "parser.yy"
     7360  case 389:
     7361
     7362/* Line 1806 of yacc.c  */
     7363#line 1530 "parser.yy"
    70957364    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70967365    break;
    70977366
    7098   case 387:
    7099 
    7100 /* Line 1806 of yacc.c  */
    7101 #line 1553 "parser.yy"
     7367  case 391:
     7368
     7369/* Line 1806 of yacc.c  */
     7370#line 1536 "parser.yy"
    71027371    { (yyval.en) = 0; }
    71037372    break;
    71047373
    7105   case 388:
    7106 
    7107 /* Line 1806 of yacc.c  */
    7108 #line 1555 "parser.yy"
     7374  case 392:
     7375
     7376/* Line 1806 of yacc.c  */
     7377#line 1538 "parser.yy"
    71097378    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71107379    break;
    71117380
    7112   case 389:
    7113 
    7114 /* Line 1806 of yacc.c  */
    7115 #line 1560 "parser.yy"
     7381  case 393:
     7382
     7383/* Line 1806 of yacc.c  */
     7384#line 1543 "parser.yy"
    71167385    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71177386    break;
    71187387
    7119   case 391:
    7120 
    7121 /* Line 1806 of yacc.c  */
    7122 #line 1569 "parser.yy"
     7388  case 395:
     7389
     7390/* Line 1806 of yacc.c  */
     7391#line 1552 "parser.yy"
    71237392    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    71247393    break;
    71257394
    7126   case 392:
    7127 
    7128 /* Line 1806 of yacc.c  */
    7129 #line 1571 "parser.yy"
     7395  case 396:
     7396
     7397/* Line 1806 of yacc.c  */
     7398#line 1554 "parser.yy"
    71307399    {
    71317400                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    71347403    break;
    71357404
    7136   case 393:
    7137 
    7138 /* Line 1806 of yacc.c  */
    7139 #line 1576 "parser.yy"
     7405  case 397:
     7406
     7407/* Line 1806 of yacc.c  */
     7408#line 1559 "parser.yy"
    71407409    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    71417410    break;
    71427411
    7143   case 394:
    7144 
    7145 /* Line 1806 of yacc.c  */
    7146 #line 1578 "parser.yy"
     7412  case 398:
     7413
     7414/* Line 1806 of yacc.c  */
     7415#line 1561 "parser.yy"
    71477416    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    71487417    break;
    71497418
    7150   case 395:
    7151 
    7152 /* Line 1806 of yacc.c  */
    7153 #line 1583 "parser.yy"
     7419  case 399:
     7420
     7421/* Line 1806 of yacc.c  */
     7422#line 1566 "parser.yy"
    71547423    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71557424    break;
    71567425
    7157   case 396:
    7158 
    7159 /* Line 1806 of yacc.c  */
    7160 #line 1585 "parser.yy"
     7426  case 400:
     7427
     7428/* Line 1806 of yacc.c  */
     7429#line 1568 "parser.yy"
    71617430    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71627431    break;
    71637432
    7164   case 397:
     7433  case 401:
     7434
     7435/* Line 1806 of yacc.c  */
     7436#line 1573 "parser.yy"
     7437    { (yyval.en) = 0; }
     7438    break;
     7439
     7440  case 402:
     7441
     7442/* Line 1806 of yacc.c  */
     7443#line 1575 "parser.yy"
     7444    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     7445    break;
     7446
     7447  case 403:
     7448
     7449/* Line 1806 of yacc.c  */
     7450#line 1582 "parser.yy"
     7451    { (yyval.decl) = 0; }
     7452    break;
     7453
     7454  case 407:
    71657455
    71667456/* Line 1806 of yacc.c  */
    71677457#line 1590 "parser.yy"
    7168     { (yyval.en) = 0; }
    7169     break;
    7170 
    7171   case 398:
     7458    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7459    break;
     7460
     7461  case 408:
    71727462
    71737463/* Line 1806 of yacc.c  */
    71747464#line 1592 "parser.yy"
    7175     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7176     break;
    7177 
    7178   case 399:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1599 "parser.yy"
     7465    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7466    break;
     7467
     7468  case 409:
     7469
     7470/* Line 1806 of yacc.c  */
     7471#line 1594 "parser.yy"
     7472    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7473    break;
     7474
     7475  case 411:
     7476
     7477/* Line 1806 of yacc.c  */
     7478#line 1602 "parser.yy"
     7479    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7480    break;
     7481
     7482  case 412:
     7483
     7484/* Line 1806 of yacc.c  */
     7485#line 1604 "parser.yy"
     7486    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7487    break;
     7488
     7489  case 413:
     7490
     7491/* Line 1806 of yacc.c  */
     7492#line 1606 "parser.yy"
     7493    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7494    break;
     7495
     7496  case 415:
     7497
     7498/* Line 1806 of yacc.c  */
     7499#line 1612 "parser.yy"
     7500    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7501    break;
     7502
     7503  case 416:
     7504
     7505/* Line 1806 of yacc.c  */
     7506#line 1617 "parser.yy"
    71827507    { (yyval.decl) = 0; }
    71837508    break;
    71847509
    7185   case 403:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1607 "parser.yy"
     7510  case 419:
     7511
     7512/* Line 1806 of yacc.c  */
     7513#line 1624 "parser.yy"
     7514    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7515    break;
     7516
     7517  case 422:
     7518
     7519/* Line 1806 of yacc.c  */
     7520#line 1631 "parser.yy"
    71897521    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71907522    break;
    71917523
    7192   case 404:
    7193 
    7194 /* Line 1806 of yacc.c  */
    7195 #line 1609 "parser.yy"
    7196     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7197     break;
    7198 
    7199   case 405:
    7200 
    7201 /* Line 1806 of yacc.c  */
    7202 #line 1611 "parser.yy"
    7203     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7204     break;
    7205 
    7206   case 407:
    7207 
    7208 /* Line 1806 of yacc.c  */
    7209 #line 1619 "parser.yy"
     7524  case 423:
     7525
     7526/* Line 1806 of yacc.c  */
     7527#line 1633 "parser.yy"
    72107528    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72117529    break;
    72127530
    7213   case 408:
    7214 
    7215 /* Line 1806 of yacc.c  */
    7216 #line 1621 "parser.yy"
    7217     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7218     break;
    7219 
    7220   case 409:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1623 "parser.yy"
    7224     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7225     break;
    7226 
    7227   case 411:
    7228 
    7229 /* Line 1806 of yacc.c  */
    7230 #line 1629 "parser.yy"
    7231     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7232     break;
    7233 
    7234   case 412:
    7235 
    7236 /* Line 1806 of yacc.c  */
    7237 #line 1634 "parser.yy"
    7238     { (yyval.decl) = 0; }
    7239     break;
    7240 
    7241   case 415:
    7242 
    7243 /* Line 1806 of yacc.c  */
    7244 #line 1641 "parser.yy"
    7245     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7246     break;
    7247 
    7248   case 418:
    7249 
    7250 /* Line 1806 of yacc.c  */
    7251 #line 1648 "parser.yy"
    7252     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7253     break;
    7254 
    7255   case 419:
    7256 
    7257 /* Line 1806 of yacc.c  */
    7258 #line 1650 "parser.yy"
    7259     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7260     break;
    7261 
    7262   case 421:
    7263 
    7264 /* Line 1806 of yacc.c  */
    7265 #line 1659 "parser.yy"
     7531  case 425:
     7532
     7533/* Line 1806 of yacc.c  */
     7534#line 1642 "parser.yy"
    72667535    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72677536    break;
    72687537
    7269   case 422:
    7270 
    7271 /* Line 1806 of yacc.c  */
    7272 #line 1662 "parser.yy"
     7538  case 426:
     7539
     7540/* Line 1806 of yacc.c  */
     7541#line 1645 "parser.yy"
    72737542    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72747543    break;
    72757544
    7276   case 423:
    7277 
    7278 /* Line 1806 of yacc.c  */
    7279 #line 1664 "parser.yy"
     7545  case 427:
     7546
     7547/* Line 1806 of yacc.c  */
     7548#line 1647 "parser.yy"
    72807549    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72817550    break;
    72827551
    7283   case 428:
    7284 
    7285 /* Line 1806 of yacc.c  */
    7286 #line 1674 "parser.yy"
     7552  case 432:
     7553
     7554/* Line 1806 of yacc.c  */
     7555#line 1657 "parser.yy"
    72877556    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72887557    break;
    72897558
    7290   case 430:
    7291 
    7292 /* Line 1806 of yacc.c  */
    7293 #line 1680 "parser.yy"
     7559  case 434:
     7560
     7561/* Line 1806 of yacc.c  */
     7562#line 1663 "parser.yy"
    72947563    {
    72957564                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72987567    break;
    72997568
    7300   case 431:
    7301 
    7302 /* Line 1806 of yacc.c  */
    7303 #line 1685 "parser.yy"
     7569  case 435:
     7570
     7571/* Line 1806 of yacc.c  */
     7572#line 1668 "parser.yy"
    73047573    {
    73057574                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73087577    break;
    73097578
    7310   case 433:
    7311 
    7312 /* Line 1806 of yacc.c  */
    7313 #line 1694 "parser.yy"
     7579  case 437:
     7580
     7581/* Line 1806 of yacc.c  */
     7582#line 1677 "parser.yy"
    73147583    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73157584    break;
    73167585
    7317   case 434:
    7318 
    7319 /* Line 1806 of yacc.c  */
    7320 #line 1703 "parser.yy"
     7586  case 438:
     7587
     7588/* Line 1806 of yacc.c  */
     7589#line 1686 "parser.yy"
    73217590    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73227591    break;
    73237592
    7324   case 435:
    7325 
    7326 /* Line 1806 of yacc.c  */
    7327 #line 1705 "parser.yy"
     7593  case 439:
     7594
     7595/* Line 1806 of yacc.c  */
     7596#line 1688 "parser.yy"
    73287597    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73297598    break;
    73307599
    7331   case 447:
     7600  case 451:
     7601
     7602/* Line 1806 of yacc.c  */
     7603#line 1713 "parser.yy"
     7604    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7605    break;
     7606
     7607  case 455:
     7608
     7609/* Line 1806 of yacc.c  */
     7610#line 1721 "parser.yy"
     7611    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7612    break;
     7613
     7614  case 456:
     7615
     7616/* Line 1806 of yacc.c  */
     7617#line 1726 "parser.yy"
     7618    { (yyval.in) = 0; }
     7619    break;
     7620
     7621  case 457:
     7622
     7623/* Line 1806 of yacc.c  */
     7624#line 1728 "parser.yy"
     7625    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7626    break;
     7627
     7628  case 458:
    73327629
    73337630/* Line 1806 of yacc.c  */
    73347631#line 1730 "parser.yy"
    7335     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7336     break;
    7337 
    7338   case 451:
    7339 
    7340 /* Line 1806 of yacc.c  */
    7341 #line 1738 "parser.yy"
    7342     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7343     break;
    7344 
    7345   case 452:
     7632    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
     7633    break;
     7634
     7635  case 459:
     7636
     7637/* Line 1806 of yacc.c  */
     7638#line 1734 "parser.yy"
     7639    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7640    break;
     7641
     7642  case 460:
     7643
     7644/* Line 1806 of yacc.c  */
     7645#line 1735 "parser.yy"
     7646    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7647    break;
     7648
     7649  case 461:
     7650
     7651/* Line 1806 of yacc.c  */
     7652#line 1740 "parser.yy"
     7653    { (yyval.in) = 0; }
     7654    break;
     7655
     7656  case 463:
     7657
     7658/* Line 1806 of yacc.c  */
     7659#line 1742 "parser.yy"
     7660    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7661    break;
     7662
     7663  case 464:
    73467664
    73477665/* Line 1806 of yacc.c  */
    73487666#line 1743 "parser.yy"
    7349     { (yyval.in) = 0; }
    7350     break;
    7351 
    7352   case 453:
     7667    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
     7668    break;
     7669
     7670  case 465:
    73537671
    73547672/* Line 1806 of yacc.c  */
    73557673#line 1745 "parser.yy"
    7356     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7357     break;
    7358 
    7359   case 454:
    7360 
    7361 /* Line 1806 of yacc.c  */
    7362 #line 1747 "parser.yy"
    7363     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    7364     break;
    7365 
    7366   case 455:
    7367 
    7368 /* Line 1806 of yacc.c  */
    7369 #line 1751 "parser.yy"
    7370     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7371     break;
    7372 
    7373   case 456:
    7374 
    7375 /* Line 1806 of yacc.c  */
    7376 #line 1752 "parser.yy"
    7377     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    7378     break;
    7379 
    7380   case 457:
    7381 
    7382 /* Line 1806 of yacc.c  */
    7383 #line 1757 "parser.yy"
    7384     { (yyval.in) = 0; }
    7385     break;
    7386 
    7387   case 459:
    7388 
    7389 /* Line 1806 of yacc.c  */
    7390 #line 1759 "parser.yy"
    7391     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    7392     break;
    7393 
    7394   case 460:
    7395 
    7396 /* Line 1806 of yacc.c  */
    7397 #line 1760 "parser.yy"
    7398     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    7399     break;
    7400 
    7401   case 461:
    7402 
    7403 /* Line 1806 of yacc.c  */
    7404 #line 1762 "parser.yy"
    74057674    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74067675    break;
    74077676
    7408   case 463:
    7409 
    7410 /* Line 1806 of yacc.c  */
    7411 #line 1778 "parser.yy"
    7412     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    7413     break;
    7414 
    7415   case 465:
     7677  case 467:
     7678
     7679/* Line 1806 of yacc.c  */
     7680#line 1761 "parser.yy"
     7681    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7682    break;
     7683
     7684  case 469:
     7685
     7686/* Line 1806 of yacc.c  */
     7687#line 1767 "parser.yy"
     7688    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7689    break;
     7690
     7691  case 470:
     7692
     7693/* Line 1806 of yacc.c  */
     7694#line 1775 "parser.yy"
     7695    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7696    break;
     7697
     7698  case 471:
     7699
     7700/* Line 1806 of yacc.c  */
     7701#line 1777 "parser.yy"
     7702    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
     7703    break;
     7704
     7705  case 472:
     7706
     7707/* Line 1806 of yacc.c  */
     7708#line 1780 "parser.yy"
     7709    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7710    break;
     7711
     7712  case 473:
     7713
     7714/* Line 1806 of yacc.c  */
     7715#line 1782 "parser.yy"
     7716    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7717    break;
     7718
     7719  case 474:
    74167720
    74177721/* Line 1806 of yacc.c  */
    74187722#line 1784 "parser.yy"
    7419     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) ) ); }
    7420     break;
    7421 
    7422   case 466:
    7423 
    7424 /* Line 1806 of yacc.c  */
    7425 #line 1790 "parser.yy"
    7426     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    7427     break;
    7428 
    7429   case 467:
    7430 
    7431 /* Line 1806 of yacc.c  */
    7432 #line 1793 "parser.yy"
    7433     { (yyval.en) = (yyvsp[(3) - (5)].en); }
    7434     break;
    7435 
    7436   case 468:
    7437 
    7438 /* Line 1806 of yacc.c  */
    7439 #line 1795 "parser.yy"
    7440     { (yyval.en) = (yyvsp[(3) - (5)].en); }
    7441     break;
    7442 
    7443   case 469:
    7444 
    7445 /* Line 1806 of yacc.c  */
    7446 #line 1797 "parser.yy"
    7447     { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    7448     break;
    7449 
    7450   case 470:
    7451 
    7452 /* Line 1806 of yacc.c  */
    7453 #line 1799 "parser.yy"
    7454     { (yyval.en) = (yyvsp[(4) - (6)].en); }
    7455     break;
    7456 
    7457   case 472:
    7458 
    7459 /* Line 1806 of yacc.c  */
    7460 #line 1823 "parser.yy"
     7723    { (yyval.en) = new DesignatorNode( new CompositeExprNode2( build_opr2( OperatorNode::Range, (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ), true ); }
     7724    break;
     7725
     7726  case 475:
     7727
     7728/* Line 1806 of yacc.c  */
     7729#line 1786 "parser.yy"
     7730    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
     7731    break;
     7732
     7733  case 477:
     7734
     7735/* Line 1806 of yacc.c  */
     7736#line 1810 "parser.yy"
    74617737    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74627738    break;
    74637739
    7464   case 473:
    7465 
    7466 /* Line 1806 of yacc.c  */
    7467 #line 1825 "parser.yy"
     7740  case 478:
     7741
     7742/* Line 1806 of yacc.c  */
     7743#line 1812 "parser.yy"
    74687744    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74697745    break;
    74707746
    7471   case 474:
     7747  case 479:
     7748
     7749/* Line 1806 of yacc.c  */
     7750#line 1814 "parser.yy"
     7751    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7752    break;
     7753
     7754  case 481:
     7755
     7756/* Line 1806 of yacc.c  */
     7757#line 1820 "parser.yy"
     7758    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7759    break;
     7760
     7761  case 482:
     7762
     7763/* Line 1806 of yacc.c  */
     7764#line 1822 "parser.yy"
     7765    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7766    break;
     7767
     7768  case 483:
    74727769
    74737770/* Line 1806 of yacc.c  */
    74747771#line 1827 "parser.yy"
    7475     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7476     break;
    7477 
    7478   case 476:
     7772    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     7773    break;
     7774
     7775  case 485:
    74797776
    74807777/* Line 1806 of yacc.c  */
    74817778#line 1833 "parser.yy"
    7482     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7483     break;
    7484 
    7485   case 477:
    7486 
    7487 /* Line 1806 of yacc.c  */
    7488 #line 1835 "parser.yy"
    7489     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7490     break;
    7491 
    7492   case 478:
     7779    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7780    break;
     7781
     7782  case 486:
     7783
     7784/* Line 1806 of yacc.c  */
     7785#line 1838 "parser.yy"
     7786    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
     7787    break;
     7788
     7789  case 487:
    74937790
    74947791/* Line 1806 of yacc.c  */
    74957792#line 1840 "parser.yy"
    7496     { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    7497     break;
    7498 
    7499   case 480:
     7793    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
     7794    break;
     7795
     7796  case 489:
    75007797
    75017798/* Line 1806 of yacc.c  */
    75027799#line 1846 "parser.yy"
    7503     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    7504     break;
    7505 
    7506   case 481:
    7507 
    7508 /* Line 1806 of yacc.c  */
    7509 #line 1851 "parser.yy"
    7510     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    7511     break;
    7512 
    7513   case 482:
    7514 
    7515 /* Line 1806 of yacc.c  */
    7516 #line 1853 "parser.yy"
    7517     { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    7518     break;
    7519 
    7520   case 484:
    7521 
    7522 /* Line 1806 of yacc.c  */
    7523 #line 1859 "parser.yy"
    75247800    { (yyval.tclass) = DeclarationNode::Type; }
    75257801    break;
    75267802
    7527   case 485:
    7528 
    7529 /* Line 1806 of yacc.c  */
    7530 #line 1861 "parser.yy"
     7803  case 490:
     7804
     7805/* Line 1806 of yacc.c  */
     7806#line 1848 "parser.yy"
    75317807    { (yyval.tclass) = DeclarationNode::Ftype; }
    75327808    break;
    75337809
    7534   case 486:
    7535 
    7536 /* Line 1806 of yacc.c  */
    7537 #line 1863 "parser.yy"
     7810  case 491:
     7811
     7812/* Line 1806 of yacc.c  */
     7813#line 1850 "parser.yy"
    75387814    { (yyval.tclass) = DeclarationNode::Dtype; }
    75397815    break;
    75407816
    7541   case 487:
    7542 
    7543 /* Line 1806 of yacc.c  */
    7544 #line 1868 "parser.yy"
     7817  case 492:
     7818
     7819/* Line 1806 of yacc.c  */
     7820#line 1855 "parser.yy"
    75457821    { (yyval.decl) = 0; }
    75467822    break;
    75477823
    7548   case 488:
    7549 
    7550 /* Line 1806 of yacc.c  */
    7551 #line 1870 "parser.yy"
     7824  case 493:
     7825
     7826/* Line 1806 of yacc.c  */
     7827#line 1857 "parser.yy"
    75527828    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    75537829    break;
    75547830
    7555   case 489:
    7556 
    7557 /* Line 1806 of yacc.c  */
    7558 #line 1875 "parser.yy"
     7831  case 494:
     7832
     7833/* Line 1806 of yacc.c  */
     7834#line 1862 "parser.yy"
    75597835    {
    75607836                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    75637839    break;
    75647840
    7565   case 490:
    7566 
    7567 /* Line 1806 of yacc.c  */
    7568 #line 1880 "parser.yy"
     7841  case 495:
     7842
     7843/* Line 1806 of yacc.c  */
     7844#line 1867 "parser.yy"
    75697845    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75707846    break;
    75717847
    7572   case 491:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1882 "parser.yy"
     7848  case 496:
     7849
     7850/* Line 1806 of yacc.c  */
     7851#line 1869 "parser.yy"
    75767852    { (yyval.decl) = 0; }
    75777853    break;
    75787854
    7579   case 492:
    7580 
    7581 /* Line 1806 of yacc.c  */
    7582 #line 1887 "parser.yy"
    7583     { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    7584     break;
    7585 
    7586   case 494:
    7587 
    7588 /* Line 1806 of yacc.c  */
    7589 #line 1890 "parser.yy"
    7590     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
    7591     break;
    7592 
    7593   case 495:
    7594 
    7595 /* Line 1806 of yacc.c  */
    7596 #line 1892 "parser.yy"
     7855  case 497:
     7856
     7857/* Line 1806 of yacc.c  */
     7858#line 1874 "parser.yy"
     7859    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7860    break;
     7861
     7862  case 499:
     7863
     7864/* Line 1806 of yacc.c  */
     7865#line 1877 "parser.yy"
     7866    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7867    break;
     7868
     7869  case 500:
     7870
     7871/* Line 1806 of yacc.c  */
     7872#line 1879 "parser.yy"
    75977873    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    75987874    break;
    75997875
    7600   case 496:
    7601 
    7602 /* Line 1806 of yacc.c  */
    7603 #line 1897 "parser.yy"
     7876  case 501:
     7877
     7878/* Line 1806 of yacc.c  */
     7879#line 1884 "parser.yy"
    76047880    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76057881    break;
    76067882
    7607   case 497:
    7608 
    7609 /* Line 1806 of yacc.c  */
    7610 #line 1899 "parser.yy"
     7883  case 502:
     7884
     7885/* Line 1806 of yacc.c  */
     7886#line 1886 "parser.yy"
    76117887    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76127888    break;
    76137889
    7614   case 498:
    7615 
    7616 /* Line 1806 of yacc.c  */
    7617 #line 1901 "parser.yy"
     7890  case 503:
     7891
     7892/* Line 1806 of yacc.c  */
     7893#line 1888 "parser.yy"
    76187894    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76197895    break;
    76207896
    7621   case 499:
    7622 
    7623 /* Line 1806 of yacc.c  */
    7624 #line 1906 "parser.yy"
     7897  case 504:
     7898
     7899/* Line 1806 of yacc.c  */
     7900#line 1893 "parser.yy"
    76257901    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76267902    break;
    76277903
    7628   case 500:
    7629 
    7630 /* Line 1806 of yacc.c  */
    7631 #line 1908 "parser.yy"
     7904  case 505:
     7905
     7906/* Line 1806 of yacc.c  */
     7907#line 1895 "parser.yy"
    76327908    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76337909    break;
    76347910
    7635   case 501:
    7636 
    7637 /* Line 1806 of yacc.c  */
    7638 #line 1913 "parser.yy"
     7911  case 506:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 1900 "parser.yy"
    76397915    {
    76407916                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76437919    break;
    76447920
    7645   case 502:
    7646 
    7647 /* Line 1806 of yacc.c  */
    7648 #line 1918 "parser.yy"
     7921  case 507:
     7922
     7923/* Line 1806 of yacc.c  */
     7924#line 1905 "parser.yy"
    76497925    {
    76507926                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76537929    break;
    76547930
    7655   case 503:
    7656 
    7657 /* Line 1806 of yacc.c  */
    7658 #line 1926 "parser.yy"
     7931  case 508:
     7932
     7933/* Line 1806 of yacc.c  */
     7934#line 1913 "parser.yy"
    76597935    {
    76607936                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76637939    break;
    76647940
    7665   case 504:
    7666 
    7667 /* Line 1806 of yacc.c  */
    7668 #line 1931 "parser.yy"
     7941  case 509:
     7942
     7943/* Line 1806 of yacc.c  */
     7944#line 1918 "parser.yy"
    76697945    {
    76707946                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    76737949    break;
    76747950
    7675   case 505:
    7676 
    7677 /* Line 1806 of yacc.c  */
    7678 #line 1936 "parser.yy"
     7951  case 510:
     7952
     7953/* Line 1806 of yacc.c  */
     7954#line 1923 "parser.yy"
    76797955    {
    76807956                        typedefTable.leaveTrait();
     
    76847960    break;
    76857961
    7686   case 507:
    7687 
    7688 /* Line 1806 of yacc.c  */
    7689 #line 1946 "parser.yy"
     7962  case 512:
     7963
     7964/* Line 1806 of yacc.c  */
     7965#line 1933 "parser.yy"
    76907966    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76917967    break;
    76927968
    7693   case 510:
    7694 
    7695 /* Line 1806 of yacc.c  */
    7696 #line 1956 "parser.yy"
     7969  case 515:
     7970
     7971/* Line 1806 of yacc.c  */
     7972#line 1943 "parser.yy"
    76977973    {
    76987974                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77017977    break;
    77027978
    7703   case 511:
    7704 
    7705 /* Line 1806 of yacc.c  */
    7706 #line 1961 "parser.yy"
     7979  case 516:
     7980
     7981/* Line 1806 of yacc.c  */
     7982#line 1948 "parser.yy"
    77077983    {
    77087984                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77117987    break;
    77127988
    7713   case 512:
    7714 
    7715 /* Line 1806 of yacc.c  */
    7716 #line 1966 "parser.yy"
     7989  case 517:
     7990
     7991/* Line 1806 of yacc.c  */
     7992#line 1953 "parser.yy"
    77177993    {
    77187994                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77217997    break;
    77227998
    7723   case 513:
    7724 
    7725 /* Line 1806 of yacc.c  */
    7726 #line 1974 "parser.yy"
     7999  case 518:
     8000
     8001/* Line 1806 of yacc.c  */
     8002#line 1961 "parser.yy"
    77278003    {
    77288004                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77318007    break;
    77328008
    7733   case 514:
    7734 
    7735 /* Line 1806 of yacc.c  */
    7736 #line 1979 "parser.yy"
     8009  case 519:
     8010
     8011/* Line 1806 of yacc.c  */
     8012#line 1966 "parser.yy"
    77378013    {
    77388014                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77418017    break;
    77428018
    7743   case 515:
    7744 
    7745 /* Line 1806 of yacc.c  */
    7746 #line 1989 "parser.yy"
     8019  case 520:
     8020
     8021/* Line 1806 of yacc.c  */
     8022#line 1976 "parser.yy"
    77478023    {}
    77488024    break;
    77498025
    7750   case 516:
    7751 
    7752 /* Line 1806 of yacc.c  */
    7753 #line 1991 "parser.yy"
     8026  case 521:
     8027
     8028/* Line 1806 of yacc.c  */
     8029#line 1978 "parser.yy"
    77548030    {
    77558031                        if ( theTree ) {
     
    77618037    break;
    77628038
    7763   case 518:
     8039  case 523:
     8040
     8041/* Line 1806 of yacc.c  */
     8042#line 1990 "parser.yy"
     8043    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
     8044    break;
     8045
     8046  case 524:
     8047
     8048/* Line 1806 of yacc.c  */
     8049#line 1995 "parser.yy"
     8050    { (yyval.decl) = 0; }
     8051    break;
     8052
     8053  case 528:
    77648054
    77658055/* Line 1806 of yacc.c  */
    77668056#line 2003 "parser.yy"
    7767     { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    7768     break;
    7769 
    7770   case 519:
    7771 
    7772 /* Line 1806 of yacc.c  */
    7773 #line 2008 "parser.yy"
    7774     { (yyval.decl) = 0; }
    7775     break;
    7776 
    7777   case 523:
    7778 
    7779 /* Line 1806 of yacc.c  */
    7780 #line 2016 "parser.yy"
    77818057    {}
    77828058    break;
    77838059
    7784   case 524:
    7785 
    7786 /* Line 1806 of yacc.c  */
    7787 #line 2018 "parser.yy"
     8060  case 529:
     8061
     8062/* Line 1806 of yacc.c  */
     8063#line 2005 "parser.yy"
    77888064    {
    77898065                        linkageStack.push( linkage );
     
    77928068    break;
    77938069
    7794   case 525:
    7795 
    7796 /* Line 1806 of yacc.c  */
    7797 #line 2023 "parser.yy"
     8070  case 530:
     8071
     8072/* Line 1806 of yacc.c  */
     8073#line 2010 "parser.yy"
    77988074    {
    77998075                        linkage = linkageStack.top();
     
    78038079    break;
    78048080
    7805   case 526:
    7806 
    7807 /* Line 1806 of yacc.c  */
    7808 #line 2029 "parser.yy"
     8081  case 531:
     8082
     8083/* Line 1806 of yacc.c  */
     8084#line 2016 "parser.yy"
    78098085    {   // mark all fields in list
    78108086                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() )
     
    78148090    break;
    78158091
    7816   case 528:
    7817 
    7818 /* Line 1806 of yacc.c  */
    7819 #line 2044 "parser.yy"
     8092  case 533:
     8093
     8094/* Line 1806 of yacc.c  */
     8095#line 2031 "parser.yy"
    78208096    {
    78218097                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78258101    break;
    78268102
    7827   case 529:
    7828 
    7829 /* Line 1806 of yacc.c  */
    7830 #line 2050 "parser.yy"
     8103  case 534:
     8104
     8105/* Line 1806 of yacc.c  */
     8106#line 2037 "parser.yy"
    78318107    {
    78328108                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78368112    break;
    78378113
    7838   case 530:
    7839 
    7840 /* Line 1806 of yacc.c  */
    7841 #line 2059 "parser.yy"
     8114  case 535:
     8115
     8116/* Line 1806 of yacc.c  */
     8117#line 2046 "parser.yy"
    78428118    {
    78438119                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78478123    break;
    78488124
    7849   case 531:
    7850 
    7851 /* Line 1806 of yacc.c  */
    7852 #line 2065 "parser.yy"
     8125  case 536:
     8126
     8127/* Line 1806 of yacc.c  */
     8128#line 2052 "parser.yy"
    78538129    {
    78548130                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78588134    break;
    78598135
    7860   case 532:
    7861 
    7862 /* Line 1806 of yacc.c  */
    7863 #line 2071 "parser.yy"
     8136  case 537:
     8137
     8138/* Line 1806 of yacc.c  */
     8139#line 2058 "parser.yy"
    78648140    {
    78658141                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78698145    break;
    78708146
    7871   case 533:
    7872 
    7873 /* Line 1806 of yacc.c  */
    7874 #line 2077 "parser.yy"
     8147  case 538:
     8148
     8149/* Line 1806 of yacc.c  */
     8150#line 2064 "parser.yy"
    78758151    {
    78768152                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78808156    break;
    78818157
    7882   case 534:
    7883 
    7884 /* Line 1806 of yacc.c  */
    7885 #line 2083 "parser.yy"
     8158  case 539:
     8159
     8160/* Line 1806 of yacc.c  */
     8161#line 2070 "parser.yy"
    78868162    {
    78878163                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78918167    break;
    78928168
    7893   case 535:
    7894 
    7895 /* Line 1806 of yacc.c  */
    7896 #line 2091 "parser.yy"
     8169  case 540:
     8170
     8171/* Line 1806 of yacc.c  */
     8172#line 2078 "parser.yy"
    78978173    {
    78988174                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79028178    break;
    79038179
    7904   case 536:
    7905 
    7906 /* Line 1806 of yacc.c  */
    7907 #line 2097 "parser.yy"
     8180  case 541:
     8181
     8182/* Line 1806 of yacc.c  */
     8183#line 2084 "parser.yy"
    79088184    {
    79098185                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79138189    break;
    79148190
    7915   case 537:
    7916 
    7917 /* Line 1806 of yacc.c  */
    7918 #line 2105 "parser.yy"
     8191  case 542:
     8192
     8193/* Line 1806 of yacc.c  */
     8194#line 2092 "parser.yy"
    79198195    {
    79208196                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79248200    break;
    79258201
    7926   case 538:
    7927 
    7928 /* Line 1806 of yacc.c  */
    7929 #line 2111 "parser.yy"
     8202  case 543:
     8203
     8204/* Line 1806 of yacc.c  */
     8205#line 2098 "parser.yy"
    79308206    {
    79318207                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79358211    break;
    79368212
    7937   case 542:
    7938 
    7939 /* Line 1806 of yacc.c  */
    7940 #line 2126 "parser.yy"
    7941     { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    7942     break;
    7943 
    7944   case 545:
     8213  case 547:
     8214
     8215/* Line 1806 of yacc.c  */
     8216#line 2113 "parser.yy"
     8217    { (yyval.en) = new CompositeExprNode2( build_opr2( OperatorNode::Range, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
     8218    break;
     8219
     8220  case 550:
     8221
     8222/* Line 1806 of yacc.c  */
     8223#line 2123 "parser.yy"
     8224    { (yyval.decl) = 0; }
     8225    break;
     8226
     8227  case 553:
     8228
     8229/* Line 1806 of yacc.c  */
     8230#line 2130 "parser.yy"
     8231    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8232    break;
     8233
     8234  case 554:
    79458235
    79468236/* Line 1806 of yacc.c  */
     
    79498239    break;
    79508240
    7951   case 548:
    7952 
    7953 /* Line 1806 of yacc.c  */
    7954 #line 2143 "parser.yy"
    7955     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7956     break;
    7957 
    7958   case 549:
    7959 
    7960 /* Line 1806 of yacc.c  */
    7961 #line 2149 "parser.yy"
    7962     { (yyval.decl) = 0; }
    7963     break;
    7964 
    7965   case 555:
    7966 
    7967 /* Line 1806 of yacc.c  */
    7968 #line 2164 "parser.yy"
     8241  case 560:
     8242
     8243/* Line 1806 of yacc.c  */
     8244#line 2151 "parser.yy"
    79698245    {}
    79708246    break;
    79718247
    7972   case 556:
    7973 
    7974 /* Line 1806 of yacc.c  */
    7975 #line 2165 "parser.yy"
     8248  case 561:
     8249
     8250/* Line 1806 of yacc.c  */
     8251#line 2152 "parser.yy"
    79768252    {}
    79778253    break;
    79788254
    7979   case 557:
    7980 
    7981 /* Line 1806 of yacc.c  */
    7982 #line 2166 "parser.yy"
     8255  case 562:
     8256
     8257/* Line 1806 of yacc.c  */
     8258#line 2153 "parser.yy"
    79838259    {}
    79848260    break;
    79858261
    7986   case 558:
    7987 
    7988 /* Line 1806 of yacc.c  */
    7989 #line 2167 "parser.yy"
     8262  case 563:
     8263
     8264/* Line 1806 of yacc.c  */
     8265#line 2154 "parser.yy"
    79908266    {}
    79918267    break;
    79928268
    7993   case 559:
    7994 
    7995 /* Line 1806 of yacc.c  */
    7996 #line 2202 "parser.yy"
     8269  case 564:
     8270
     8271/* Line 1806 of yacc.c  */
     8272#line 2189 "parser.yy"
    79978273    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79988274    break;
    79998275
    8000   case 561:
    8001 
    8002 /* Line 1806 of yacc.c  */
    8003 #line 2205 "parser.yy"
     8276  case 566:
     8277
     8278/* Line 1806 of yacc.c  */
     8279#line 2192 "parser.yy"
    80048280    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80058281    break;
    80068282
    8007   case 562:
    8008 
    8009 /* Line 1806 of yacc.c  */
    8010 #line 2207 "parser.yy"
     8283  case 567:
     8284
     8285/* Line 1806 of yacc.c  */
     8286#line 2194 "parser.yy"
    80118287    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80128288    break;
    80138289
    8014   case 563:
    8015 
    8016 /* Line 1806 of yacc.c  */
    8017 #line 2212 "parser.yy"
     8290  case 568:
     8291
     8292/* Line 1806 of yacc.c  */
     8293#line 2199 "parser.yy"
    80188294    {
    80198295                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80228298    break;
    80238299
    8024   case 564:
    8025 
    8026 /* Line 1806 of yacc.c  */
    8027 #line 2217 "parser.yy"
     8300  case 569:
     8301
     8302/* Line 1806 of yacc.c  */
     8303#line 2204 "parser.yy"
    80288304    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80298305    break;
    80308306
    8031   case 565:
     8307  case 570:
     8308
     8309/* Line 1806 of yacc.c  */
     8310#line 2209 "parser.yy"
     8311    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8312    break;
     8313
     8314  case 571:
     8315
     8316/* Line 1806 of yacc.c  */
     8317#line 2211 "parser.yy"
     8318    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8319    break;
     8320
     8321  case 572:
     8322
     8323/* Line 1806 of yacc.c  */
     8324#line 2213 "parser.yy"
     8325    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8326    break;
     8327
     8328  case 573:
     8329
     8330/* Line 1806 of yacc.c  */
     8331#line 2218 "parser.yy"
     8332    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8333    break;
     8334
     8335  case 574:
     8336
     8337/* Line 1806 of yacc.c  */
     8338#line 2220 "parser.yy"
     8339    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8340    break;
     8341
     8342  case 575:
    80328343
    80338344/* Line 1806 of yacc.c  */
    80348345#line 2222 "parser.yy"
     8346    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8347    break;
     8348
     8349  case 576:
     8350
     8351/* Line 1806 of yacc.c  */
     8352#line 2224 "parser.yy"
     8353    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8354    break;
     8355
     8356  case 577:
     8357
     8358/* Line 1806 of yacc.c  */
     8359#line 2229 "parser.yy"
     8360    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8361    break;
     8362
     8363  case 578:
     8364
     8365/* Line 1806 of yacc.c  */
     8366#line 2231 "parser.yy"
     8367    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8368    break;
     8369
     8370  case 579:
     8371
     8372/* Line 1806 of yacc.c  */
     8373#line 2240 "parser.yy"
     8374    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8375    break;
     8376
     8377  case 581:
     8378
     8379/* Line 1806 of yacc.c  */
     8380#line 2243 "parser.yy"
     8381    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8382    break;
     8383
     8384  case 582:
     8385
     8386/* Line 1806 of yacc.c  */
     8387#line 2248 "parser.yy"
     8388    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8389    break;
     8390
     8391  case 583:
     8392
     8393/* Line 1806 of yacc.c  */
     8394#line 2250 "parser.yy"
     8395    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8396    break;
     8397
     8398  case 584:
     8399
     8400/* Line 1806 of yacc.c  */
     8401#line 2252 "parser.yy"
     8402    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8403    break;
     8404
     8405  case 585:
     8406
     8407/* Line 1806 of yacc.c  */
     8408#line 2257 "parser.yy"
    80358409    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80368410    break;
    80378411
    8038   case 566:
    8039 
    8040 /* Line 1806 of yacc.c  */
    8041 #line 2224 "parser.yy"
     8412  case 586:
     8413
     8414/* Line 1806 of yacc.c  */
     8415#line 2259 "parser.yy"
    80428416    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80438417    break;
    80448418
    8045   case 567:
    8046 
    8047 /* Line 1806 of yacc.c  */
    8048 #line 2226 "parser.yy"
     8419  case 587:
     8420
     8421/* Line 1806 of yacc.c  */
     8422#line 2261 "parser.yy"
    80498423    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80508424    break;
    80518425
    8052   case 568:
    8053 
    8054 /* Line 1806 of yacc.c  */
    8055 #line 2231 "parser.yy"
     8426  case 588:
     8427
     8428/* Line 1806 of yacc.c  */
     8429#line 2266 "parser.yy"
     8430    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8431    break;
     8432
     8433  case 589:
     8434
     8435/* Line 1806 of yacc.c  */
     8436#line 2268 "parser.yy"
     8437    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8438    break;
     8439
     8440  case 590:
     8441
     8442/* Line 1806 of yacc.c  */
     8443#line 2270 "parser.yy"
     8444    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8445    break;
     8446
     8447  case 594:
     8448
     8449/* Line 1806 of yacc.c  */
     8450#line 2285 "parser.yy"
     8451    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8452    break;
     8453
     8454  case 595:
     8455
     8456/* Line 1806 of yacc.c  */
     8457#line 2287 "parser.yy"
     8458    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8459    break;
     8460
     8461  case 596:
     8462
     8463/* Line 1806 of yacc.c  */
     8464#line 2289 "parser.yy"
     8465    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8466    break;
     8467
     8468  case 597:
     8469
     8470/* Line 1806 of yacc.c  */
     8471#line 2294 "parser.yy"
     8472    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8473    break;
     8474
     8475  case 598:
     8476
     8477/* Line 1806 of yacc.c  */
     8478#line 2296 "parser.yy"
     8479    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8480    break;
     8481
     8482  case 599:
     8483
     8484/* Line 1806 of yacc.c  */
     8485#line 2298 "parser.yy"
     8486    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8487    break;
     8488
     8489  case 600:
     8490
     8491/* Line 1806 of yacc.c  */
     8492#line 2303 "parser.yy"
     8493    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8494    break;
     8495
     8496  case 601:
     8497
     8498/* Line 1806 of yacc.c  */
     8499#line 2305 "parser.yy"
     8500    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8501    break;
     8502
     8503  case 602:
     8504
     8505/* Line 1806 of yacc.c  */
     8506#line 2307 "parser.yy"
     8507    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8508    break;
     8509
     8510  case 603:
     8511
     8512/* Line 1806 of yacc.c  */
     8513#line 2322 "parser.yy"
     8514    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8515    break;
     8516
     8517  case 605:
     8518
     8519/* Line 1806 of yacc.c  */
     8520#line 2325 "parser.yy"
     8521    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8522    break;
     8523
     8524  case 606:
     8525
     8526/* Line 1806 of yacc.c  */
     8527#line 2327 "parser.yy"
     8528    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8529    break;
     8530
     8531  case 608:
     8532
     8533/* Line 1806 of yacc.c  */
     8534#line 2333 "parser.yy"
     8535    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8536    break;
     8537
     8538  case 609:
     8539
     8540/* Line 1806 of yacc.c  */
     8541#line 2338 "parser.yy"
     8542    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8543    break;
     8544
     8545  case 610:
     8546
     8547/* Line 1806 of yacc.c  */
     8548#line 2340 "parser.yy"
     8549    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8550    break;
     8551
     8552  case 611:
     8553
     8554/* Line 1806 of yacc.c  */
     8555#line 2342 "parser.yy"
     8556    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8557    break;
     8558
     8559  case 612:
     8560
     8561/* Line 1806 of yacc.c  */
     8562#line 2347 "parser.yy"
    80568563    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80578564    break;
    80588565
    8059   case 569:
    8060 
    8061 /* Line 1806 of yacc.c  */
    8062 #line 2233 "parser.yy"
     8566  case 613:
     8567
     8568/* Line 1806 of yacc.c  */
     8569#line 2349 "parser.yy"
    80638570    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80648571    break;
    80658572
    8066   case 570:
    8067 
    8068 /* Line 1806 of yacc.c  */
    8069 #line 2235 "parser.yy"
     8573  case 614:
     8574
     8575/* Line 1806 of yacc.c  */
     8576#line 2351 "parser.yy"
    80708577    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80718578    break;
    80728579
    8073   case 571:
    8074 
    8075 /* Line 1806 of yacc.c  */
    8076 #line 2237 "parser.yy"
     8580  case 615:
     8581
     8582/* Line 1806 of yacc.c  */
     8583#line 2353 "parser.yy"
    80778584    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80788585    break;
    80798586
    8080   case 572:
    8081 
    8082 /* Line 1806 of yacc.c  */
    8083 #line 2242 "parser.yy"
     8587  case 616:
     8588
     8589/* Line 1806 of yacc.c  */
     8590#line 2358 "parser.yy"
     8591    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8592    break;
     8593
     8594  case 617:
     8595
     8596/* Line 1806 of yacc.c  */
     8597#line 2360 "parser.yy"
    80848598    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80858599    break;
    80868600
    8087   case 573:
    8088 
    8089 /* Line 1806 of yacc.c  */
    8090 #line 2244 "parser.yy"
     8601  case 618:
     8602
     8603/* Line 1806 of yacc.c  */
     8604#line 2362 "parser.yy"
    80918605    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80928606    break;
    80938607
    8094   case 574:
    8095 
    8096 /* Line 1806 of yacc.c  */
    8097 #line 2253 "parser.yy"
     8608  case 619:
     8609
     8610/* Line 1806 of yacc.c  */
     8611#line 2372 "parser.yy"
    80988612    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80998613    break;
    81008614
    8101   case 576:
    8102 
    8103 /* Line 1806 of yacc.c  */
    8104 #line 2256 "parser.yy"
     8615  case 621:
     8616
     8617/* Line 1806 of yacc.c  */
     8618#line 2375 "parser.yy"
    81058619    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81068620    break;
    81078621
    8108   case 577:
    8109 
    8110 /* Line 1806 of yacc.c  */
    8111 #line 2261 "parser.yy"
     8622  case 622:
     8623
     8624/* Line 1806 of yacc.c  */
     8625#line 2377 "parser.yy"
     8626    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8627    break;
     8628
     8629  case 623:
     8630
     8631/* Line 1806 of yacc.c  */
     8632#line 2382 "parser.yy"
     8633    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8634    break;
     8635
     8636  case 624:
     8637
     8638/* Line 1806 of yacc.c  */
     8639#line 2384 "parser.yy"
     8640    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8641    break;
     8642
     8643  case 625:
     8644
     8645/* Line 1806 of yacc.c  */
     8646#line 2386 "parser.yy"
     8647    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8648    break;
     8649
     8650  case 626:
     8651
     8652/* Line 1806 of yacc.c  */
     8653#line 2391 "parser.yy"
     8654    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8655    break;
     8656
     8657  case 627:
     8658
     8659/* Line 1806 of yacc.c  */
     8660#line 2393 "parser.yy"
     8661    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8662    break;
     8663
     8664  case 628:
     8665
     8666/* Line 1806 of yacc.c  */
     8667#line 2395 "parser.yy"
     8668    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8669    break;
     8670
     8671  case 629:
     8672
     8673/* Line 1806 of yacc.c  */
     8674#line 2397 "parser.yy"
     8675    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8676    break;
     8677
     8678  case 630:
     8679
     8680/* Line 1806 of yacc.c  */
     8681#line 2402 "parser.yy"
    81128682    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81138683    break;
    81148684
    8115   case 578:
    8116 
    8117 /* Line 1806 of yacc.c  */
    8118 #line 2263 "parser.yy"
     8685  case 631:
     8686
     8687/* Line 1806 of yacc.c  */
     8688#line 2404 "parser.yy"
    81198689    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81208690    break;
    81218691
    8122   case 579:
    8123 
    8124 /* Line 1806 of yacc.c  */
    8125 #line 2265 "parser.yy"
     8692  case 632:
     8693
     8694/* Line 1806 of yacc.c  */
     8695#line 2406 "parser.yy"
    81268696    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81278697    break;
    81288698
    8129   case 580:
    8130 
    8131 /* Line 1806 of yacc.c  */
    8132 #line 2270 "parser.yy"
    8133     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8134     break;
    8135 
    8136   case 581:
    8137 
    8138 /* Line 1806 of yacc.c  */
    8139 #line 2272 "parser.yy"
    8140     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8141     break;
    8142 
    8143   case 582:
    8144 
    8145 /* Line 1806 of yacc.c  */
    8146 #line 2274 "parser.yy"
    8147     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8148     break;
    8149 
    8150   case 583:
    8151 
    8152 /* Line 1806 of yacc.c  */
    8153 #line 2279 "parser.yy"
    8154     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8155     break;
    8156 
    8157   case 584:
    8158 
    8159 /* Line 1806 of yacc.c  */
    8160 #line 2281 "parser.yy"
    8161     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8162     break;
    8163 
    8164   case 585:
    8165 
    8166 /* Line 1806 of yacc.c  */
    8167 #line 2283 "parser.yy"
    8168     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8169     break;
    8170 
    8171   case 589:
    8172 
    8173 /* Line 1806 of yacc.c  */
    8174 #line 2298 "parser.yy"
    8175     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8176     break;
    8177 
    8178   case 590:
    8179 
    8180 /* Line 1806 of yacc.c  */
    8181 #line 2300 "parser.yy"
    8182     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8183     break;
    8184 
    8185   case 591:
    8186 
    8187 /* Line 1806 of yacc.c  */
    8188 #line 2302 "parser.yy"
    8189     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8190     break;
    8191 
    8192   case 592:
    8193 
    8194 /* Line 1806 of yacc.c  */
    8195 #line 2307 "parser.yy"
    8196     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8197     break;
    8198 
    8199   case 593:
    8200 
    8201 /* Line 1806 of yacc.c  */
    8202 #line 2309 "parser.yy"
    8203     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8204     break;
    8205 
    8206   case 594:
    8207 
    8208 /* Line 1806 of yacc.c  */
    8209 #line 2311 "parser.yy"
    8210     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8211     break;
    8212 
    8213   case 595:
    8214 
    8215 /* Line 1806 of yacc.c  */
    8216 #line 2316 "parser.yy"
    8217     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8218     break;
    8219 
    8220   case 596:
    8221 
    8222 /* Line 1806 of yacc.c  */
    8223 #line 2318 "parser.yy"
    8224     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8225     break;
    8226 
    8227   case 597:
    8228 
    8229 /* Line 1806 of yacc.c  */
    8230 #line 2320 "parser.yy"
    8231     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8232     break;
    8233 
    8234   case 598:
    8235 
    8236 /* Line 1806 of yacc.c  */
    8237 #line 2335 "parser.yy"
     8699  case 633:
     8700
     8701/* Line 1806 of yacc.c  */
     8702#line 2437 "parser.yy"
    82388703    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82398704    break;
    82408705
    8241   case 600:
    8242 
    8243 /* Line 1806 of yacc.c  */
    8244 #line 2338 "parser.yy"
     8706  case 635:
     8707
     8708/* Line 1806 of yacc.c  */
     8709#line 2440 "parser.yy"
    82458710    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82468711    break;
    82478712
    8248   case 601:
    8249 
    8250 /* Line 1806 of yacc.c  */
    8251 #line 2340 "parser.yy"
     8713  case 636:
     8714
     8715/* Line 1806 of yacc.c  */
     8716#line 2442 "parser.yy"
    82528717    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82538718    break;
    82548719
    8255   case 603:
    8256 
    8257 /* Line 1806 of yacc.c  */
    8258 #line 2346 "parser.yy"
    8259     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8260     break;
    8261 
    8262   case 604:
    8263 
    8264 /* Line 1806 of yacc.c  */
    8265 #line 2351 "parser.yy"
    8266     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8267     break;
    8268 
    8269   case 605:
    8270 
    8271 /* Line 1806 of yacc.c  */
    8272 #line 2353 "parser.yy"
    8273     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8274     break;
    8275 
    8276   case 606:
    8277 
    8278 /* Line 1806 of yacc.c  */
    8279 #line 2355 "parser.yy"
    8280     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8281     break;
    8282 
    8283   case 607:
    8284 
    8285 /* Line 1806 of yacc.c  */
    8286 #line 2360 "parser.yy"
    8287     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8288     break;
    8289 
    8290   case 608:
    8291 
    8292 /* Line 1806 of yacc.c  */
    8293 #line 2362 "parser.yy"
    8294     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8295     break;
    8296 
    8297   case 609:
    8298 
    8299 /* Line 1806 of yacc.c  */
    8300 #line 2364 "parser.yy"
    8301     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8302     break;
    8303 
    8304   case 610:
    8305 
    8306 /* Line 1806 of yacc.c  */
    8307 #line 2366 "parser.yy"
    8308     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8309     break;
    8310 
    8311   case 611:
    8312 
    8313 /* Line 1806 of yacc.c  */
    8314 #line 2371 "parser.yy"
    8315     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8316     break;
    8317 
    8318   case 612:
    8319 
    8320 /* Line 1806 of yacc.c  */
    8321 #line 2373 "parser.yy"
    8322     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8323     break;
    8324 
    8325   case 613:
    8326 
    8327 /* Line 1806 of yacc.c  */
    8328 #line 2375 "parser.yy"
    8329     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8330     break;
    8331 
    8332   case 614:
    8333 
    8334 /* Line 1806 of yacc.c  */
    8335 #line 2385 "parser.yy"
    8336     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8337     break;
    8338 
    8339   case 616:
    8340 
    8341 /* Line 1806 of yacc.c  */
    8342 #line 2388 "parser.yy"
    8343     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8344     break;
    8345 
    8346   case 617:
    8347 
    8348 /* Line 1806 of yacc.c  */
    8349 #line 2390 "parser.yy"
    8350     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8351     break;
    8352 
    8353   case 618:
    8354 
    8355 /* Line 1806 of yacc.c  */
    8356 #line 2395 "parser.yy"
    8357     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8358     break;
    8359 
    8360   case 619:
    8361 
    8362 /* Line 1806 of yacc.c  */
    8363 #line 2397 "parser.yy"
    8364     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8365     break;
    8366 
    8367   case 620:
    8368 
    8369 /* Line 1806 of yacc.c  */
    8370 #line 2399 "parser.yy"
    8371     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8372     break;
    8373 
    8374   case 621:
    8375 
    8376 /* Line 1806 of yacc.c  */
    8377 #line 2404 "parser.yy"
    8378     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8379     break;
    8380 
    8381   case 622:
    8382 
    8383 /* Line 1806 of yacc.c  */
    8384 #line 2406 "parser.yy"
    8385     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8386     break;
    8387 
    8388   case 623:
    8389 
    8390 /* Line 1806 of yacc.c  */
    8391 #line 2408 "parser.yy"
    8392     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8393     break;
    8394 
    8395   case 624:
    8396 
    8397 /* Line 1806 of yacc.c  */
    8398 #line 2410 "parser.yy"
    8399     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8400     break;
    8401 
    8402   case 625:
    8403 
    8404 /* Line 1806 of yacc.c  */
    8405 #line 2415 "parser.yy"
    8406     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8407     break;
    8408 
    8409   case 626:
    8410 
    8411 /* Line 1806 of yacc.c  */
    8412 #line 2417 "parser.yy"
    8413     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8414     break;
    8415 
    8416   case 627:
    8417 
    8418 /* Line 1806 of yacc.c  */
    8419 #line 2419 "parser.yy"
    8420     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8421     break;
    8422 
    8423   case 628:
    8424 
    8425 /* Line 1806 of yacc.c  */
    8426 #line 2450 "parser.yy"
    8427     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8428     break;
    8429 
    8430   case 630:
    8431 
    8432 /* Line 1806 of yacc.c  */
    8433 #line 2453 "parser.yy"
    8434     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8435     break;
    8436 
    8437   case 631:
    8438 
    8439 /* Line 1806 of yacc.c  */
    8440 #line 2455 "parser.yy"
    8441     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8442     break;
    8443 
    8444   case 632:
    8445 
    8446 /* Line 1806 of yacc.c  */
    8447 #line 2460 "parser.yy"
     8720  case 637:
     8721
     8722/* Line 1806 of yacc.c  */
     8723#line 2447 "parser.yy"
    84488724    {
    84498725                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84528728    break;
    84538729
    8454   case 633:
    8455 
    8456 /* Line 1806 of yacc.c  */
    8457 #line 2465 "parser.yy"
     8730  case 638:
     8731
     8732/* Line 1806 of yacc.c  */
     8733#line 2452 "parser.yy"
    84588734    {
    84598735                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84628738    break;
    84638739
    8464   case 634:
    8465 
    8466 /* Line 1806 of yacc.c  */
    8467 #line 2473 "parser.yy"
     8740  case 639:
     8741
     8742/* Line 1806 of yacc.c  */
     8743#line 2460 "parser.yy"
    84688744    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84698745    break;
    84708746
    8471   case 635:
    8472 
    8473 /* Line 1806 of yacc.c  */
    8474 #line 2475 "parser.yy"
     8747  case 640:
     8748
     8749/* Line 1806 of yacc.c  */
     8750#line 2462 "parser.yy"
    84758751    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84768752    break;
    84778753
    8478   case 636:
    8479 
    8480 /* Line 1806 of yacc.c  */
    8481 #line 2477 "parser.yy"
     8754  case 641:
     8755
     8756/* Line 1806 of yacc.c  */
     8757#line 2464 "parser.yy"
    84828758    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84838759    break;
    84848760
    8485   case 637:
    8486 
    8487 /* Line 1806 of yacc.c  */
    8488 #line 2482 "parser.yy"
     8761  case 642:
     8762
     8763/* Line 1806 of yacc.c  */
     8764#line 2469 "parser.yy"
    84898765    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84908766    break;
    84918767
    8492   case 638:
    8493 
    8494 /* Line 1806 of yacc.c  */
    8495 #line 2484 "parser.yy"
     8768  case 643:
     8769
     8770/* Line 1806 of yacc.c  */
     8771#line 2471 "parser.yy"
    84968772    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84978773    break;
    84988774
    8499   case 639:
    8500 
    8501 /* Line 1806 of yacc.c  */
    8502 #line 2489 "parser.yy"
     8775  case 644:
     8776
     8777/* Line 1806 of yacc.c  */
     8778#line 2476 "parser.yy"
    85038779    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85048780    break;
    85058781
    8506   case 640:
    8507 
    8508 /* Line 1806 of yacc.c  */
    8509 #line 2491 "parser.yy"
     8782  case 645:
     8783
     8784/* Line 1806 of yacc.c  */
     8785#line 2478 "parser.yy"
    85108786    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85118787    break;
    85128788
    8513   case 642:
     8789  case 647:
     8790
     8791/* Line 1806 of yacc.c  */
     8792#line 2493 "parser.yy"
     8793    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8794    break;
     8795
     8796  case 648:
     8797
     8798/* Line 1806 of yacc.c  */
     8799#line 2495 "parser.yy"
     8800    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8801    break;
     8802
     8803  case 649:
     8804
     8805/* Line 1806 of yacc.c  */
     8806#line 2500 "parser.yy"
     8807    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8808    break;
     8809
     8810  case 650:
     8811
     8812/* Line 1806 of yacc.c  */
     8813#line 2502 "parser.yy"
     8814    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8815    break;
     8816
     8817  case 651:
     8818
     8819/* Line 1806 of yacc.c  */
     8820#line 2504 "parser.yy"
     8821    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8822    break;
     8823
     8824  case 652:
    85148825
    85158826/* Line 1806 of yacc.c  */
    85168827#line 2506 "parser.yy"
     8828    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8829    break;
     8830
     8831  case 653:
     8832
     8833/* Line 1806 of yacc.c  */
     8834#line 2508 "parser.yy"
     8835    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8836    break;
     8837
     8838  case 655:
     8839
     8840/* Line 1806 of yacc.c  */
     8841#line 2514 "parser.yy"
     8842    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8843    break;
     8844
     8845  case 656:
     8846
     8847/* Line 1806 of yacc.c  */
     8848#line 2516 "parser.yy"
     8849    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8850    break;
     8851
     8852  case 657:
     8853
     8854/* Line 1806 of yacc.c  */
     8855#line 2518 "parser.yy"
     8856    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8857    break;
     8858
     8859  case 658:
     8860
     8861/* Line 1806 of yacc.c  */
     8862#line 2523 "parser.yy"
     8863    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8864    break;
     8865
     8866  case 659:
     8867
     8868/* Line 1806 of yacc.c  */
     8869#line 2525 "parser.yy"
     8870    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8871    break;
     8872
     8873  case 660:
     8874
     8875/* Line 1806 of yacc.c  */
     8876#line 2527 "parser.yy"
     8877    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8878    break;
     8879
     8880  case 661:
     8881
     8882/* Line 1806 of yacc.c  */
     8883#line 2533 "parser.yy"
     8884    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8885    break;
     8886
     8887  case 662:
     8888
     8889/* Line 1806 of yacc.c  */
     8890#line 2535 "parser.yy"
     8891    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8892    break;
     8893
     8894  case 664:
     8895
     8896/* Line 1806 of yacc.c  */
     8897#line 2541 "parser.yy"
     8898    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8899    break;
     8900
     8901  case 665:
     8902
     8903/* Line 1806 of yacc.c  */
     8904#line 2543 "parser.yy"
     8905    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8906    break;
     8907
     8908  case 666:
     8909
     8910/* Line 1806 of yacc.c  */
     8911#line 2545 "parser.yy"
     8912    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8913    break;
     8914
     8915  case 667:
     8916
     8917/* Line 1806 of yacc.c  */
     8918#line 2547 "parser.yy"
     8919    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8920    break;
     8921
     8922  case 669:
     8923
     8924/* Line 1806 of yacc.c  */
     8925#line 2562 "parser.yy"
    85178926    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85188927    break;
    85198928
    8520   case 643:
    8521 
    8522 /* Line 1806 of yacc.c  */
    8523 #line 2508 "parser.yy"
     8929  case 670:
     8930
     8931/* Line 1806 of yacc.c  */
     8932#line 2564 "parser.yy"
    85248933    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85258934    break;
    85268935
    8527   case 644:
    8528 
    8529 /* Line 1806 of yacc.c  */
    8530 #line 2513 "parser.yy"
     8936  case 671:
     8937
     8938/* Line 1806 of yacc.c  */
     8939#line 2569 "parser.yy"
    85318940    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85328941    break;
    85338942
    8534   case 645:
    8535 
    8536 /* Line 1806 of yacc.c  */
    8537 #line 2515 "parser.yy"
     8943  case 672:
     8944
     8945/* Line 1806 of yacc.c  */
     8946#line 2571 "parser.yy"
    85388947    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85398948    break;
    85408949
    8541   case 646:
    8542 
    8543 /* Line 1806 of yacc.c  */
    8544 #line 2517 "parser.yy"
     8950  case 673:
     8951
     8952/* Line 1806 of yacc.c  */
     8953#line 2573 "parser.yy"
    85458954    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85468955    break;
    85478956
    8548   case 647:
    8549 
    8550 /* Line 1806 of yacc.c  */
    8551 #line 2519 "parser.yy"
     8957  case 674:
     8958
     8959/* Line 1806 of yacc.c  */
     8960#line 2575 "parser.yy"
    85528961    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85538962    break;
    85548963
    8555   case 648:
    8556 
    8557 /* Line 1806 of yacc.c  */
    8558 #line 2521 "parser.yy"
     8964  case 675:
     8965
     8966/* Line 1806 of yacc.c  */
     8967#line 2577 "parser.yy"
    85598968    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85608969    break;
    85618970
    8562   case 650:
    8563 
    8564 /* Line 1806 of yacc.c  */
    8565 #line 2527 "parser.yy"
     8971  case 677:
     8972
     8973/* Line 1806 of yacc.c  */
     8974#line 2583 "parser.yy"
    85668975    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85678976    break;
    85688977
    8569   case 651:
    8570 
    8571 /* Line 1806 of yacc.c  */
    8572 #line 2529 "parser.yy"
     8978  case 678:
     8979
     8980/* Line 1806 of yacc.c  */
     8981#line 2585 "parser.yy"
    85738982    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85748983    break;
    85758984
    8576   case 652:
    8577 
    8578 /* Line 1806 of yacc.c  */
    8579 #line 2531 "parser.yy"
     8985  case 679:
     8986
     8987/* Line 1806 of yacc.c  */
     8988#line 2587 "parser.yy"
    85808989    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85818990    break;
    85828991
    8583   case 653:
    8584 
    8585 /* Line 1806 of yacc.c  */
    8586 #line 2536 "parser.yy"
     8992  case 680:
     8993
     8994/* Line 1806 of yacc.c  */
     8995#line 2592 "parser.yy"
    85878996    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    85888997    break;
    85898998
    8590   case 654:
    8591 
    8592 /* Line 1806 of yacc.c  */
    8593 #line 2538 "parser.yy"
     8999  case 681:
     9000
     9001/* Line 1806 of yacc.c  */
     9002#line 2594 "parser.yy"
    85949003    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85959004    break;
    85969005
    8597   case 655:
    8598 
    8599 /* Line 1806 of yacc.c  */
    8600 #line 2540 "parser.yy"
     9006  case 682:
     9007
     9008/* Line 1806 of yacc.c  */
     9009#line 2596 "parser.yy"
    86019010    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86029011    break;
    86039012
    8604   case 656:
    8605 
    8606 /* Line 1806 of yacc.c  */
    8607 #line 2546 "parser.yy"
     9013  case 684:
     9014
     9015/* Line 1806 of yacc.c  */
     9016#line 2603 "parser.yy"
     9017    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     9018    break;
     9019
     9020  case 686:
     9021
     9022/* Line 1806 of yacc.c  */
     9023#line 2614 "parser.yy"
    86089024    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86099025    break;
    86109026
    8611   case 657:
    8612 
    8613 /* Line 1806 of yacc.c  */
    8614 #line 2548 "parser.yy"
    8615     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8616     break;
    8617 
    8618   case 659:
    8619 
    8620 /* Line 1806 of yacc.c  */
    8621 #line 2554 "parser.yy"
    8622     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8623     break;
    8624 
    8625   case 660:
    8626 
    8627 /* Line 1806 of yacc.c  */
    8628 #line 2556 "parser.yy"
    8629     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8630     break;
    8631 
    8632   case 661:
    8633 
    8634 /* Line 1806 of yacc.c  */
    8635 #line 2558 "parser.yy"
    8636     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8637     break;
    8638 
    8639   case 662:
    8640 
    8641 /* Line 1806 of yacc.c  */
    8642 #line 2560 "parser.yy"
    8643     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8644     break;
    8645 
    8646   case 664:
    8647 
    8648 /* Line 1806 of yacc.c  */
    8649 #line 2575 "parser.yy"
     9027  case 687:
     9028
     9029/* Line 1806 of yacc.c  */
     9030#line 2617 "parser.yy"
     9031    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     9032    break;
     9033
     9034  case 688:
     9035
     9036/* Line 1806 of yacc.c  */
     9037#line 2619 "parser.yy"
     9038    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     9039    break;
     9040
     9041  case 689:
     9042
     9043/* Line 1806 of yacc.c  */
     9044#line 2622 "parser.yy"
     9045    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     9046    break;
     9047
     9048  case 690:
     9049
     9050/* Line 1806 of yacc.c  */
     9051#line 2624 "parser.yy"
     9052    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     9053    break;
     9054
     9055  case 691:
     9056
     9057/* Line 1806 of yacc.c  */
     9058#line 2626 "parser.yy"
     9059    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     9060    break;
     9061
     9062  case 693:
     9063
     9064/* Line 1806 of yacc.c  */
     9065#line 2640 "parser.yy"
    86509066    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86519067    break;
    86529068
    8653   case 665:
    8654 
    8655 /* Line 1806 of yacc.c  */
    8656 #line 2577 "parser.yy"
     9069  case 694:
     9070
     9071/* Line 1806 of yacc.c  */
     9072#line 2642 "parser.yy"
    86579073    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86589074    break;
    86599075
    8660   case 666:
    8661 
    8662 /* Line 1806 of yacc.c  */
    8663 #line 2582 "parser.yy"
     9076  case 695:
     9077
     9078/* Line 1806 of yacc.c  */
     9079#line 2647 "parser.yy"
    86649080    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86659081    break;
    86669082
    8667   case 667:
    8668 
    8669 /* Line 1806 of yacc.c  */
    8670 #line 2584 "parser.yy"
     9083  case 696:
     9084
     9085/* Line 1806 of yacc.c  */
     9086#line 2649 "parser.yy"
    86719087    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86729088    break;
    86739089
    8674   case 668:
    8675 
    8676 /* Line 1806 of yacc.c  */
    8677 #line 2586 "parser.yy"
     9090  case 697:
     9091
     9092/* Line 1806 of yacc.c  */
     9093#line 2651 "parser.yy"
    86789094    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86799095    break;
    86809096
    8681   case 669:
    8682 
    8683 /* Line 1806 of yacc.c  */
    8684 #line 2588 "parser.yy"
     9097  case 698:
     9098
     9099/* Line 1806 of yacc.c  */
     9100#line 2653 "parser.yy"
    86859101    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86869102    break;
    86879103
    8688   case 670:
    8689 
    8690 /* Line 1806 of yacc.c  */
    8691 #line 2590 "parser.yy"
     9104  case 699:
     9105
     9106/* Line 1806 of yacc.c  */
     9107#line 2655 "parser.yy"
    86929108    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86939109    break;
    86949110
    8695   case 672:
    8696 
    8697 /* Line 1806 of yacc.c  */
    8698 #line 2596 "parser.yy"
     9111  case 701:
     9112
     9113/* Line 1806 of yacc.c  */
     9114#line 2661 "parser.yy"
    86999115    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87009116    break;
    87019117
    8702   case 673:
    8703 
    8704 /* Line 1806 of yacc.c  */
    8705 #line 2598 "parser.yy"
     9118  case 702:
     9119
     9120/* Line 1806 of yacc.c  */
     9121#line 2663 "parser.yy"
    87069122    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87079123    break;
    87089124
    8709   case 674:
    8710 
    8711 /* Line 1806 of yacc.c  */
    8712 #line 2600 "parser.yy"
     9125  case 703:
     9126
     9127/* Line 1806 of yacc.c  */
     9128#line 2665 "parser.yy"
    87139129    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87149130    break;
    87159131
    8716   case 675:
    8717 
    8718 /* Line 1806 of yacc.c  */
    8719 #line 2605 "parser.yy"
    8720     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8721     break;
    8722 
    8723   case 676:
    8724 
    8725 /* Line 1806 of yacc.c  */
    8726 #line 2607 "parser.yy"
     9132  case 704:
     9133
     9134/* Line 1806 of yacc.c  */
     9135#line 2670 "parser.yy"
    87279136    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87289137    break;
    87299138
    8730   case 677:
    8731 
    8732 /* Line 1806 of yacc.c  */
    8733 #line 2609 "parser.yy"
     9139  case 705:
     9140
     9141/* Line 1806 of yacc.c  */
     9142#line 2672 "parser.yy"
    87349143    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87359144    break;
    87369145
    8737   case 679:
    8738 
    8739 /* Line 1806 of yacc.c  */
    8740 #line 2616 "parser.yy"
    8741     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8742     break;
    8743 
    8744   case 681:
    8745 
    8746 /* Line 1806 of yacc.c  */
    8747 #line 2627 "parser.yy"
    8748     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8749     break;
    8750 
    8751   case 682:
    8752 
    8753 /* Line 1806 of yacc.c  */
    8754 #line 2630 "parser.yy"
     9146  case 708:
     9147
     9148/* Line 1806 of yacc.c  */
     9149#line 2682 "parser.yy"
     9150    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     9151    break;
     9152
     9153  case 711:
     9154
     9155/* Line 1806 of yacc.c  */
     9156#line 2692 "parser.yy"
     9157    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9158    break;
     9159
     9160  case 712:
     9161
     9162/* Line 1806 of yacc.c  */
     9163#line 2694 "parser.yy"
     9164    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9165    break;
     9166
     9167  case 713:
     9168
     9169/* Line 1806 of yacc.c  */
     9170#line 2696 "parser.yy"
     9171    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9172    break;
     9173
     9174  case 714:
     9175
     9176/* Line 1806 of yacc.c  */
     9177#line 2698 "parser.yy"
     9178    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9179    break;
     9180
     9181  case 715:
     9182
     9183/* Line 1806 of yacc.c  */
     9184#line 2700 "parser.yy"
     9185    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9186    break;
     9187
     9188  case 716:
     9189
     9190/* Line 1806 of yacc.c  */
     9191#line 2702 "parser.yy"
     9192    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9193    break;
     9194
     9195  case 717:
     9196
     9197/* Line 1806 of yacc.c  */
     9198#line 2709 "parser.yy"
     9199    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9200    break;
     9201
     9202  case 718:
     9203
     9204/* Line 1806 of yacc.c  */
     9205#line 2711 "parser.yy"
     9206    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9207    break;
     9208
     9209  case 719:
     9210
     9211/* Line 1806 of yacc.c  */
     9212#line 2713 "parser.yy"
     9213    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9214    break;
     9215
     9216  case 720:
     9217
     9218/* Line 1806 of yacc.c  */
     9219#line 2715 "parser.yy"
     9220    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9221    break;
     9222
     9223  case 721:
     9224
     9225/* Line 1806 of yacc.c  */
     9226#line 2717 "parser.yy"
     9227    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9228    break;
     9229
     9230  case 722:
     9231
     9232/* Line 1806 of yacc.c  */
     9233#line 2719 "parser.yy"
     9234    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9235    break;
     9236
     9237  case 723:
     9238
     9239/* Line 1806 of yacc.c  */
     9240#line 2721 "parser.yy"
     9241    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9242    break;
     9243
     9244  case 724:
     9245
     9246/* Line 1806 of yacc.c  */
     9247#line 2723 "parser.yy"
     9248    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9249    break;
     9250
     9251  case 725:
     9252
     9253/* Line 1806 of yacc.c  */
     9254#line 2725 "parser.yy"
     9255    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9256    break;
     9257
     9258  case 726:
     9259
     9260/* Line 1806 of yacc.c  */
     9261#line 2727 "parser.yy"
     9262    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9263    break;
     9264
     9265  case 727:
     9266
     9267/* Line 1806 of yacc.c  */
     9268#line 2732 "parser.yy"
    87559269    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87569270    break;
    87579271
    8758   case 683:
    8759 
    8760 /* Line 1806 of yacc.c  */
    8761 #line 2632 "parser.yy"
    8762     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    8763     break;
    8764 
    8765   case 684:
    8766 
    8767 /* Line 1806 of yacc.c  */
    8768 #line 2635 "parser.yy"
     9272  case 728:
     9273
     9274/* Line 1806 of yacc.c  */
     9275#line 2734 "parser.yy"
    87699276    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87709277    break;
    87719278
    8772   case 685:
    8773 
    8774 /* Line 1806 of yacc.c  */
    8775 #line 2637 "parser.yy"
    8776     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8777     break;
    8778 
    8779   case 686:
    8780 
    8781 /* Line 1806 of yacc.c  */
    8782 #line 2639 "parser.yy"
    8783     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    8784     break;
    8785 
    8786   case 688:
    8787 
    8788 /* Line 1806 of yacc.c  */
    8789 #line 2653 "parser.yy"
    8790     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8791     break;
    8792 
    8793   case 689:
    8794 
    8795 /* Line 1806 of yacc.c  */
    8796 #line 2655 "parser.yy"
    8797     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8798     break;
    8799 
    8800   case 690:
    8801 
    8802 /* Line 1806 of yacc.c  */
    8803 #line 2660 "parser.yy"
    8804     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8805     break;
    8806 
    8807   case 691:
    8808 
    8809 /* Line 1806 of yacc.c  */
    8810 #line 2662 "parser.yy"
    8811     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8812     break;
    8813 
    8814   case 692:
    8815 
    8816 /* Line 1806 of yacc.c  */
    8817 #line 2664 "parser.yy"
    8818     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8819     break;
    8820 
    8821   case 693:
    8822 
    8823 /* Line 1806 of yacc.c  */
    8824 #line 2666 "parser.yy"
    8825     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8826     break;
    8827 
    8828   case 694:
    8829 
    8830 /* Line 1806 of yacc.c  */
    8831 #line 2668 "parser.yy"
    8832     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8833     break;
    8834 
    8835   case 696:
    8836 
    8837 /* Line 1806 of yacc.c  */
    8838 #line 2674 "parser.yy"
    8839     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8840     break;
    8841 
    8842   case 697:
    8843 
    8844 /* Line 1806 of yacc.c  */
    8845 #line 2676 "parser.yy"
    8846     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8847     break;
    8848 
    8849   case 698:
    8850 
    8851 /* Line 1806 of yacc.c  */
    8852 #line 2678 "parser.yy"
    8853     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8854     break;
    8855 
    8856   case 699:
    8857 
    8858 /* Line 1806 of yacc.c  */
    8859 #line 2683 "parser.yy"
    8860     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8861     break;
    8862 
    8863   case 700:
    8864 
    8865 /* Line 1806 of yacc.c  */
    8866 #line 2685 "parser.yy"
    8867     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8868     break;
    8869 
    8870   case 703:
    8871 
    8872 /* Line 1806 of yacc.c  */
    8873 #line 2695 "parser.yy"
     9279  case 729:
     9280
     9281/* Line 1806 of yacc.c  */
     9282#line 2739 "parser.yy"
     9283    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     9284    break;
     9285
     9286  case 730:
     9287
     9288/* Line 1806 of yacc.c  */
     9289#line 2741 "parser.yy"
     9290    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     9291    break;
     9292
     9293  case 732:
     9294
     9295/* Line 1806 of yacc.c  */
     9296#line 2768 "parser.yy"
    88749297    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88759298    break;
    88769299
    8877   case 706:
    8878 
    8879 /* Line 1806 of yacc.c  */
    8880 #line 2705 "parser.yy"
     9300  case 736:
     9301
     9302/* Line 1806 of yacc.c  */
     9303#line 2779 "parser.yy"
    88819304    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88829305    break;
    88839306
    8884   case 707:
    8885 
    8886 /* Line 1806 of yacc.c  */
    8887 #line 2707 "parser.yy"
     9307  case 737:
     9308
     9309/* Line 1806 of yacc.c  */
     9310#line 2781 "parser.yy"
    88889311    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88899312    break;
    88909313
    8891   case 708:
    8892 
    8893 /* Line 1806 of yacc.c  */
    8894 #line 2709 "parser.yy"
     9314  case 738:
     9315
     9316/* Line 1806 of yacc.c  */
     9317#line 2783 "parser.yy"
    88959318    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88969319    break;
    88979320
    8898   case 709:
    8899 
    8900 /* Line 1806 of yacc.c  */
    8901 #line 2711 "parser.yy"
     9321  case 739:
     9322
     9323/* Line 1806 of yacc.c  */
     9324#line 2785 "parser.yy"
    89029325    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89039326    break;
    89049327
    8905   case 710:
    8906 
    8907 /* Line 1806 of yacc.c  */
    8908 #line 2713 "parser.yy"
     9328  case 740:
     9329
     9330/* Line 1806 of yacc.c  */
     9331#line 2787 "parser.yy"
    89099332    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89109333    break;
    89119334
    8912   case 711:
    8913 
    8914 /* Line 1806 of yacc.c  */
    8915 #line 2715 "parser.yy"
     9335  case 741:
     9336
     9337/* Line 1806 of yacc.c  */
     9338#line 2789 "parser.yy"
    89169339    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89179340    break;
    89189341
    8919   case 712:
    8920 
    8921 /* Line 1806 of yacc.c  */
    8922 #line 2722 "parser.yy"
     9342  case 742:
     9343
     9344/* Line 1806 of yacc.c  */
     9345#line 2796 "parser.yy"
    89239346    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89249347    break;
    89259348
    8926   case 713:
    8927 
    8928 /* Line 1806 of yacc.c  */
    8929 #line 2724 "parser.yy"
     9349  case 743:
     9350
     9351/* Line 1806 of yacc.c  */
     9352#line 2798 "parser.yy"
     9353    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9354    break;
     9355
     9356  case 744:
     9357
     9358/* Line 1806 of yacc.c  */
     9359#line 2800 "parser.yy"
    89309360    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89319361    break;
    89329362
    8933   case 714:
    8934 
    8935 /* Line 1806 of yacc.c  */
    8936 #line 2726 "parser.yy"
     9363  case 745:
     9364
     9365/* Line 1806 of yacc.c  */
     9366#line 2802 "parser.yy"
     9367    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9368    break;
     9369
     9370  case 746:
     9371
     9372/* Line 1806 of yacc.c  */
     9373#line 2804 "parser.yy"
    89379374    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89389375    break;
    89399376
    8940   case 715:
    8941 
    8942 /* Line 1806 of yacc.c  */
    8943 #line 2728 "parser.yy"
    8944     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8945     break;
    8946 
    8947   case 716:
    8948 
    8949 /* Line 1806 of yacc.c  */
    8950 #line 2730 "parser.yy"
     9377  case 747:
     9378
     9379/* Line 1806 of yacc.c  */
     9380#line 2806 "parser.yy"
    89519381    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89529382    break;
    89539383
    8954   case 717:
    8955 
    8956 /* Line 1806 of yacc.c  */
    8957 #line 2732 "parser.yy"
    8958     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8959     break;
    8960 
    8961   case 718:
    8962 
    8963 /* Line 1806 of yacc.c  */
    8964 #line 2734 "parser.yy"
    8965     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8966     break;
    8967 
    8968   case 719:
    8969 
    8970 /* Line 1806 of yacc.c  */
    8971 #line 2736 "parser.yy"
    8972     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8973     break;
    8974 
    8975   case 720:
    8976 
    8977 /* Line 1806 of yacc.c  */
    8978 #line 2738 "parser.yy"
    8979     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8980     break;
    8981 
    8982   case 721:
    8983 
    8984 /* Line 1806 of yacc.c  */
    8985 #line 2740 "parser.yy"
    8986     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8987     break;
    8988 
    8989   case 722:
    8990 
    8991 /* Line 1806 of yacc.c  */
    8992 #line 2745 "parser.yy"
    8993     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    8994     break;
    8995 
    8996   case 723:
    8997 
    8998 /* Line 1806 of yacc.c  */
    8999 #line 2747 "parser.yy"
    9000     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    9001     break;
    9002 
    9003   case 724:
    9004 
    9005 /* Line 1806 of yacc.c  */
    9006 #line 2752 "parser.yy"
    9007     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9008     break;
    9009 
    9010   case 725:
    9011 
    9012 /* Line 1806 of yacc.c  */
    9013 #line 2754 "parser.yy"
    9014     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    9015     break;
    9016 
    9017   case 727:
    9018 
    9019 /* Line 1806 of yacc.c  */
    9020 #line 2781 "parser.yy"
    9021     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9022     break;
    9023 
    9024   case 731:
    9025 
    9026 /* Line 1806 of yacc.c  */
    9027 #line 2792 "parser.yy"
    9028     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9029     break;
    9030 
    9031   case 732:
    9032 
    9033 /* Line 1806 of yacc.c  */
    9034 #line 2794 "parser.yy"
    9035     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9036     break;
    9037 
    9038   case 733:
    9039 
    9040 /* Line 1806 of yacc.c  */
    9041 #line 2796 "parser.yy"
    9042     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9043     break;
    9044 
    9045   case 734:
    9046 
    9047 /* Line 1806 of yacc.c  */
    9048 #line 2798 "parser.yy"
    9049     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9050     break;
    9051 
    9052   case 735:
    9053 
    9054 /* Line 1806 of yacc.c  */
    9055 #line 2800 "parser.yy"
    9056     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9057     break;
    9058 
    9059   case 736:
    9060 
    9061 /* Line 1806 of yacc.c  */
    9062 #line 2802 "parser.yy"
    9063     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9064     break;
    9065 
    9066   case 737:
    9067 
    9068 /* Line 1806 of yacc.c  */
    9069 #line 2809 "parser.yy"
    9070     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9071     break;
    9072 
    9073   case 738:
     9384  case 748:
    90749385
    90759386/* Line 1806 of yacc.c  */
    90769387#line 2811 "parser.yy"
    9077     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9078     break;
    9079 
    9080   case 739:
    9081 
    9082 /* Line 1806 of yacc.c  */
    9083 #line 2813 "parser.yy"
    9084     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9085     break;
    9086 
    9087   case 740:
    9088 
    9089 /* Line 1806 of yacc.c  */
    9090 #line 2815 "parser.yy"
    9091     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9092     break;
    9093 
    9094   case 741:
    9095 
    9096 /* Line 1806 of yacc.c  */
    9097 #line 2817 "parser.yy"
    9098     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9099     break;
    9100 
    9101   case 742:
    9102 
    9103 /* Line 1806 of yacc.c  */
    9104 #line 2819 "parser.yy"
    9105     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9106     break;
    9107 
    9108   case 743:
    9109 
    9110 /* Line 1806 of yacc.c  */
    9111 #line 2824 "parser.yy"
    91129388    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91139389    break;
    91149390
    9115   case 744:
    9116 
    9117 /* Line 1806 of yacc.c  */
    9118 #line 2829 "parser.yy"
     9391  case 749:
     9392
     9393/* Line 1806 of yacc.c  */
     9394#line 2816 "parser.yy"
    91199395    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91209396    break;
    91219397
    9122   case 745:
    9123 
    9124 /* Line 1806 of yacc.c  */
    9125 #line 2831 "parser.yy"
     9398  case 750:
     9399
     9400/* Line 1806 of yacc.c  */
     9401#line 2818 "parser.yy"
    91269402    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91279403    break;
    91289404
    9129   case 746:
    9130 
    9131 /* Line 1806 of yacc.c  */
    9132 #line 2833 "parser.yy"
     9405  case 751:
     9406
     9407/* Line 1806 of yacc.c  */
     9408#line 2820 "parser.yy"
    91339409    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91349410    break;
    91359411
    9136   case 749:
    9137 
    9138 /* Line 1806 of yacc.c  */
    9139 #line 2857 "parser.yy"
     9412  case 754:
     9413
     9414/* Line 1806 of yacc.c  */
     9415#line 2844 "parser.yy"
    91409416    { (yyval.en) = 0; }
    91419417    break;
    91429418
    9143   case 750:
    9144 
    9145 /* Line 1806 of yacc.c  */
    9146 #line 2859 "parser.yy"
     9419  case 755:
     9420
     9421/* Line 1806 of yacc.c  */
     9422#line 2846 "parser.yy"
    91479423    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91489424    break;
     
    91519427
    91529428/* Line 1806 of yacc.c  */
    9153 #line 9154 "Parser/parser.cc"
     9429#line 9430 "Parser/parser.cc"
    91549430      default: break;
    91559431    }
     
    93829658
    93839659/* Line 2067 of yacc.c  */
    9384 #line 2862 "parser.yy"
     9660#line 2849 "parser.yy"
    93859661
    93869662// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.