Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r44a81853 r8f60f0b  
    6767
    6868/* Line 268 of yacc.c  */
    69 #line 41 "parser.yy"
     69#line 42 "parser.yy"
    7070
    7171#define YYDEBUG_LEXER_TEXT (yylval)                                             // lexer loads this up each time
     
    358358
    359359/* Line 293 of yacc.c  */
    360 #line 119 "parser.yy"
     360#line 120 "parser.yy"
    361361
    362362        Token tok;
     
    609609#define YYFINAL  251
    610610/* YYLAST -- Last index in YYTABLE.  */
    611 #define YYLAST   10498
     611#define YYLAST   10466
    612612
    613613/* YYNTOKENS -- Number of terminals.  */
     
    618618#define YYNRULES  758
    619619/* YYNRULES -- Number of states.  */
    620 #define YYNSTATES  1546
     620#define YYNSTATES  1541
    621621
    622622/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    799799      -1,   177,    -1,   180,    -1,   181,    -1,   185,    -1,   186,
    800800      -1,   198,    -1,   200,    -1,   201,    -1,   206,    -1,   132,
    801      149,   119,   150,   120,   137,    -1,   279,   135,   319,   179,
     801     149,   119,   150,   120,   137,    -1,    75,   135,   319,   179,
    802802      -1,   119,   120,    -1,   119,   139,   139,   217,   182,   140,
    803803     120,    -1,   183,    -1,   182,   139,   183,    -1,   220,    -1,
     
    818818     137,    -1,    51,   114,   139,   199,   115,   179,    -1,   178,
    819819     140,   137,   178,   137,   178,    -1,   220,   178,   137,   178,
    820       -1,    54,   279,   137,    -1,    54,   122,   177,   137,    -1,
    821       53,   137,    -1,    53,   279,   137,    -1,    52,   137,    -1,
    822       52,   279,   137,    -1,    55,   178,   137,    -1,    64,   173,
     820      -1,    54,    75,   137,    -1,    54,   122,   177,   137,    -1,
     821      53,   137,    -1,    53,    75,   137,    -1,    52,   137,    -1,
     822      52,    75,   137,    -1,    55,   178,   137,    -1,    64,   173,
    823823     137,    -1,    65,   173,   137,    -1,    65,   173,    66,   172,
    824824     137,    -1,    60,   181,   202,    -1,    60,   181,   204,    -1,
     
    949949     320,   321,    -1,    42,   114,   114,   322,   115,   115,    -1,
    950950     323,    -1,   322,   121,   323,    -1,    -1,   324,    -1,   324,
    951      114,   150,   115,    -1,    75,    -1,    77,    -1,    78,    -1,
    952       10,    -1,   326,   319,    -1,   327,    -1,   328,   319,    -1,
     951     114,   178,   115,    -1,   279,    -1,   241,    -1,   242,    -1,
     952     236,    -1,   326,   319,    -1,   327,    -1,   328,   319,    -1,
    953953     329,   319,    -1,   142,    -1,   114,   326,   115,    -1,   157,
    954954     325,    -1,   157,   235,   325,    -1,   114,   327,   115,    -1,
     
    10321032static const yytype_uint16 yyrline[] =
    10331033{
    1034        0,   305,   305,   309,   316,   317,   318,   319,   320,   324,
    1035      325,   326,   330,   331,   335,   336,   340,   341,   345,   349,
    1036      350,   361,   363,   365,   366,   368,   373,   374,   380,   382,
    1037      384,   386,   388,   390,   392,   394,   396,   398,   407,   408,
    1038      414,   415,   419,   420,   424,   425,   427,   429,   431,   433,
    1039      435,   440,   442,   444,   456,   457,   465,   468,   470,   472,
    1040      477,   490,   492,   494,   496,   498,   500,   502,   504,   506,
    1041      508,   510,   517,   518,   524,   525,   526,   527,   531,   532,
    1042      539,   540,   542,   544,   549,   550,   552,   557,   558,   560,
    1043      565,   566,   568,   570,   572,   577,   578,   580,   585,   586,
    1044      591,   592,   597,   598,   603,   604,   609,   610,   615,   616,
    1045      619,   626,   631,   632,   640,   641,   645,   646,   647,   648,
    1046      649,   650,   651,   652,   653,   654,   655,   656,   666,   668,
    1047      673,   674,   679,   680,   686,   687,   693,   694,   695,   696,
    1048      697,   698,   699,   700,   701,   711,   718,   720,   730,   731,
    1049      736,   738,   744,   746,   750,   751,   756,   761,   764,   766,
    1050      768,   778,   780,   791,   792,   794,   798,   800,   804,   805,
    1051      810,   811,   815,   820,   821,   825,   827,   833,   834,   838,
    1052      840,   842,   844,   850,   851,   855,   857,   862,   864,   866,
    1053      871,   873,   878,   880,   884,   887,   891,   894,   898,   900,
    1054      902,   904,   909,   911,   913,   918,   920,   922,   924,   926,
    1055      931,   933,   935,   937,   942,   954,   955,   960,   962,   967,
    1056      971,   973,   975,   977,   979,   985,   986,   992,   993,   997,
    1057      998,  1003,  1005,  1011,  1012,  1014,  1020,  1025,  1035,  1037,
    1058     1041,  1042,  1047,  1049,  1053,  1054,  1058,  1060,  1064,  1065,
    1059     1069,  1070,  1074,  1075,  1090,  1091,  1092,  1093,  1094,  1098,
    1060     1103,  1110,  1120,  1125,  1130,  1138,  1143,  1148,  1153,  1158,
    1061     1188,  1193,  1200,  1202,  1209,  1214,  1219,  1230,  1235,  1240,
    1062     1245,  1250,  1259,  1264,  1272,  1273,  1274,  1275,  1281,  1286,
    1063     1294,  1295,  1296,  1297,  1301,  1302,  1303,  1304,  1309,  1310,
    1064     1319,  1320,  1325,  1326,  1330,  1332,  1334,  1336,  1338,  1341,
    1065     1340,  1352,  1353,  1355,  1365,  1366,  1371,  1373,  1375,  1377,
    1066     1379,  1382,  1384,  1387,  1392,  1394,  1396,  1398,  1400,  1402,
    1067     1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1426,
    1068     1427,  1429,  1431,  1433,  1438,  1439,  1445,  1446,  1448,  1450,
    1069     1455,  1457,  1459,  1461,  1466,  1467,  1469,  1471,  1476,  1477,
    1070     1479,  1484,  1485,  1487,  1489,  1494,  1496,  1498,  1503,  1504,
    1071     1508,  1510,  1516,  1515,  1519,  1521,  1526,  1528,  1534,  1535,
    1072     1540,  1541,  1543,  1544,  1553,  1554,  1556,  1558,  1563,  1565,
    1073     1571,  1572,  1574,  1577,  1580,  1585,  1586,  1591,  1596,  1600,
    1074     1602,  1608,  1607,  1614,  1616,  1622,  1623,  1631,  1632,  1636,
    1075     1637,  1638,  1640,  1642,  1649,  1650,  1652,  1654,  1659,  1660,
    1076     1666,  1667,  1671,  1672,  1677,  1678,  1679,  1681,  1689,  1690,
    1077     1692,  1695,  1697,  1701,  1702,  1703,  1705,  1707,  1711,  1716,
    1078     1724,  1725,  1734,  1736,  1741,  1742,  1743,  1747,  1748,  1749,
    1079     1753,  1754,  1755,  1759,  1760,  1761,  1766,  1767,  1768,  1769,
    1080     1775,  1776,  1778,  1783,  1784,  1789,  1790,  1791,  1792,  1793,
    1081     1808,  1809,  1814,  1815,  1821,  1823,  1826,  1828,  1830,  1853,
    1082     1854,  1856,  1858,  1863,  1864,  1866,  1871,  1876,  1877,  1883,
    1083     1882,  1886,  1890,  1892,  1894,  1896,  1902,  1903,  1908,  1913,
    1084     1915,  1920,  1922,  1923,  1925,  1930,  1932,  1934,  1939,  1941,
    1085     1946,  1951,  1959,  1965,  1964,  1978,  1979,  1984,  1985,  1989,
    1086     1994,  1999,  2007,  2012,  2023,  2024,  2029,  2030,  2036,  2037,
    1087     2041,  2042,  2043,  2046,  2045,  2056,  2065,  2071,  2077,  2086,
    1088     2092,  2098,  2104,  2110,  2118,  2124,  2132,  2138,  2147,  2148,
    1089     2149,  2153,  2159,  2160,  2166,  2167,  2171,  2172,  2177,  2182,
    1090     2183,  2189,  2190,  2192,  2197,  2198,  2199,  2200,  2235,  2237,
    1091     2238,  2240,  2245,  2250,  2255,  2257,  2259,  2264,  2266,  2268,
    1092     2270,  2275,  2277,  2286,  2288,  2289,  2294,  2296,  2298,  2303,
    1093     2305,  2307,  2312,  2314,  2316,  2325,  2326,  2327,  2331,  2333,
    1094     2335,  2340,  2342,  2344,  2349,  2351,  2353,  2368,  2370,  2371,
    1095     2373,  2378,  2379,  2384,  2386,  2388,  2393,  2395,  2397,  2399,
    1096     2404,  2406,  2408,  2418,  2420,  2421,  2423,  2428,  2430,  2432,
    1097     2437,  2439,  2441,  2443,  2448,  2450,  2452,  2483,  2485,  2486,
    1098     2488,  2493,  2498,  2506,  2508,  2510,  2515,  2517,  2522,  2524,
    1099     2538,  2539,  2541,  2546,  2548,  2550,  2552,  2554,  2559,  2560,
    1100     2562,  2564,  2569,  2571,  2573,  2579,  2581,  2583,  2587,  2589,
    1101     2591,  2593,  2607,  2608,  2610,  2615,  2617,  2619,  2621,  2623,
    1102     2628,  2629,  2631,  2633,  2638,  2640,  2642,  2648,  2649,  2651,
    1103     2660,  2663,  2665,  2668,  2670,  2672,  2685,  2686,  2688,  2693,
    1104     2695,  2697,  2699,  2701,  2706,  2707,  2709,  2711,  2716,  2718,
    1105     2726,  2727,  2728,  2733,  2734,  2738,  2740,  2742,  2744,  2746,
    1106     2748,  2755,  2757,  2759,  2761,  2763,  2766,  2768,  2770,  2772,
    1107     2774,  2779,  2781,  2783,  2788,  2814,  2815,  2817,  2821,  2822,
    1108     2826,  2828,  2830,  2832,  2834,  2836,  2843,  2845,  2847,  2849,
    1109     2851,  2853,  2858,  2865,  2867,  2885,  2887,  2892,  2893
     1034       0,   306,   306,   310,   317,   318,   319,   320,   321,   325,
     1035     326,   327,   331,   332,   336,   337,   341,   342,   346,   350,
     1036     351,   362,   364,   366,   367,   369,   374,   375,   381,   383,
     1037     385,   387,   389,   391,   393,   395,   397,   399,   408,   409,
     1038     415,   416,   420,   421,   425,   426,   428,   430,   432,   434,
     1039     436,   441,   443,   445,   457,   458,   466,   469,   471,   473,
     1040     478,   491,   493,   495,   497,   499,   501,   503,   505,   507,
     1041     509,   511,   518,   519,   525,   526,   527,   528,   532,   533,
     1042     540,   541,   543,   545,   550,   551,   553,   558,   559,   561,
     1043     566,   567,   569,   571,   573,   578,   579,   581,   586,   587,
     1044     592,   593,   598,   599,   604,   605,   610,   611,   616,   617,
     1045     620,   627,   632,   633,   641,   642,   646,   647,   648,   649,
     1046     650,   651,   652,   653,   654,   655,   656,   657,   667,   669,
     1047     674,   675,   680,   681,   687,   688,   694,   695,   696,   697,
     1048     698,   699,   700,   701,   702,   712,   719,   721,   731,   732,
     1049     737,   739,   745,   747,   751,   752,   757,   762,   765,   767,
     1050     769,   779,   781,   792,   793,   795,   799,   801,   805,   806,
     1051     811,   812,   816,   821,   822,   826,   828,   834,   835,   839,
     1052     841,   843,   845,   851,   852,   856,   858,   863,   865,   867,
     1053     872,   874,   879,   881,   885,   888,   892,   895,   899,   901,
     1054     903,   905,   910,   912,   914,   919,   921,   923,   925,   927,
     1055     932,   934,   936,   938,   943,   955,   956,   961,   963,   968,
     1056     972,   974,   976,   978,   980,   986,   987,   993,   994,   998,
     1057     999,  1004,  1006,  1012,  1013,  1015,  1021,  1026,  1036,  1038,
     1058    1042,  1043,  1048,  1050,  1054,  1055,  1059,  1061,  1065,  1066,
     1059    1070,  1071,  1075,  1076,  1091,  1092,  1093,  1094,  1095,  1099,
     1060    1104,  1111,  1121,  1126,  1131,  1139,  1144,  1149,  1154,  1159,
     1061    1189,  1194,  1201,  1203,  1210,  1215,  1220,  1231,  1236,  1241,
     1062    1246,  1251,  1260,  1265,  1273,  1274,  1275,  1276,  1282,  1287,
     1063    1295,  1296,  1297,  1298,  1302,  1303,  1304,  1305,  1310,  1311,
     1064    1320,  1321,  1326,  1327,  1332,  1334,  1336,  1338,  1340,  1343,
     1065    1342,  1354,  1355,  1357,  1367,  1368,  1373,  1375,  1377,  1379,
     1066    1381,  1384,  1386,  1389,  1394,  1396,  1398,  1400,  1402,  1404,
     1067    1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,  1428,
     1068    1429,  1431,  1433,  1435,  1440,  1441,  1447,  1448,  1450,  1452,
     1069    1457,  1459,  1461,  1463,  1468,  1469,  1471,  1473,  1478,  1479,
     1070    1481,  1486,  1487,  1489,  1491,  1496,  1498,  1500,  1505,  1506,
     1071    1510,  1512,  1518,  1517,  1521,  1523,  1528,  1530,  1536,  1537,
     1072    1542,  1543,  1545,  1546,  1555,  1556,  1558,  1560,  1565,  1567,
     1073    1573,  1574,  1576,  1579,  1582,  1587,  1588,  1593,  1598,  1602,
     1074    1604,  1610,  1609,  1616,  1618,  1624,  1625,  1633,  1634,  1638,
     1075    1639,  1640,  1642,  1644,  1651,  1652,  1654,  1656,  1661,  1662,
     1076    1668,  1669,  1673,  1674,  1679,  1680,  1681,  1683,  1691,  1692,
     1077    1694,  1697,  1699,  1703,  1704,  1705,  1707,  1709,  1713,  1718,
     1078    1726,  1727,  1736,  1738,  1743,  1744,  1745,  1749,  1750,  1751,
     1079    1755,  1756,  1757,  1761,  1762,  1763,  1768,  1769,  1770,  1771,
     1080    1777,  1778,  1780,  1785,  1786,  1791,  1792,  1793,  1794,  1795,
     1081    1810,  1811,  1816,  1817,  1823,  1825,  1828,  1830,  1832,  1855,
     1082    1856,  1858,  1860,  1865,  1866,  1868,  1873,  1878,  1879,  1885,
     1083    1884,  1888,  1892,  1894,  1896,  1898,  1904,  1905,  1910,  1915,
     1084    1917,  1922,  1924,  1925,  1927,  1932,  1934,  1936,  1941,  1943,
     1085    1948,  1953,  1961,  1967,  1966,  1980,  1981,  1986,  1987,  1991,
     1086    1996,  2001,  2009,  2014,  2025,  2026,  2031,  2032,  2038,  2039,
     1087    2043,  2044,  2045,  2048,  2047,  2058,  2067,  2073,  2079,  2088,
     1088    2094,  2100,  2106,  2112,  2120,  2126,  2134,  2140,  2149,  2150,
     1089    2151,  2155,  2161,  2162,  2168,  2169,  2173,  2174,  2179,  2185,
     1090    2186,  2189,  2191,  2192,  2196,  2197,  2198,  2199,  2233,  2235,
     1091    2236,  2238,  2243,  2248,  2253,  2255,  2257,  2262,  2264,  2266,
     1092    2268,  2273,  2275,  2284,  2286,  2287,  2292,  2294,  2296,  2301,
     1093    2303,  2305,  2310,  2312,  2314,  2323,  2324,  2325,  2329,  2331,
     1094    2333,  2338,  2340,  2342,  2347,  2349,  2351,  2366,  2368,  2369,
     1095    2371,  2376,  2377,  2382,  2384,  2386,  2391,  2393,  2395,  2397,
     1096    2402,  2404,  2406,  2416,  2418,  2419,  2421,  2426,  2428,  2430,
     1097    2435,  2437,  2439,  2441,  2446,  2448,  2450,  2481,  2483,  2484,
     1098    2486,  2491,  2496,  2504,  2506,  2508,  2513,  2515,  2520,  2522,
     1099    2536,  2537,  2539,  2544,  2546,  2548,  2550,  2552,  2557,  2558,
     1100    2560,  2562,  2567,  2569,  2571,  2577,  2579,  2581,  2585,  2587,
     1101    2589,  2591,  2605,  2606,  2608,  2613,  2615,  2617,  2619,  2621,
     1102    2626,  2627,  2629,  2631,  2636,  2638,  2640,  2646,  2647,  2649,
     1103    2658,  2661,  2663,  2666,  2668,  2670,  2683,  2684,  2686,  2691,
     1104    2693,  2695,  2697,  2699,  2704,  2705,  2707,  2709,  2714,  2716,
     1105    2724,  2725,  2726,  2731,  2732,  2736,  2738,  2740,  2742,  2744,
     1106    2746,  2753,  2755,  2757,  2759,  2761,  2764,  2766,  2768,  2770,
     1107    2772,  2777,  2779,  2781,  2786,  2812,  2813,  2815,  2819,  2820,
     1108    2824,  2826,  2828,  2830,  2832,  2834,  2841,  2843,  2845,  2847,
     1109    2849,  2851,  2856,  2863,  2865,  2883,  2885,  2890,  2891
    11101110};
    11111111#endif
     
    11981198  "function_definition", "declarator", "subrange", "asm_name_opt",
    11991199  "attribute_list_opt", "attribute_list", "attribute",
    1200   "attribute_name_list", "attribute_name", "attr_name",
    1201   "variable_declarator", "paren_identifier", "variable_ptr",
    1202   "variable_array", "variable_function", "function_declarator",
    1203   "function_no_ptr", "function_ptr", "function_array",
    1204   "old_function_declarator", "old_function_no_ptr", "old_function_ptr",
    1205   "old_function_array", "variable_type_redeclarator", "paren_type",
    1206   "type_ptr", "type_array", "type_function",
    1207   "identifier_parameter_declarator", "identifier_parameter_ptr",
    1208   "identifier_parameter_array", "identifier_parameter_function",
    1209   "type_parameter_redeclarator", "typedef", "type_parameter_ptr",
    1210   "type_parameter_array", "type_parameter_function", "abstract_declarator",
    1211   "abstract_ptr", "abstract_array", "abstract_function", "array_dimension",
     1200  "attribute_parameter_list", "attrib", "any_word", "variable_declarator",
     1201  "paren_identifier", "variable_ptr", "variable_array",
     1202  "variable_function", "function_declarator", "function_no_ptr",
     1203  "function_ptr", "function_array", "old_function_declarator",
     1204  "old_function_no_ptr", "old_function_ptr", "old_function_array",
     1205  "variable_type_redeclarator", "paren_type", "type_ptr", "type_array",
     1206  "type_function", "identifier_parameter_declarator",
     1207  "identifier_parameter_ptr", "identifier_parameter_array",
     1208  "identifier_parameter_function", "type_parameter_redeclarator",
     1209  "typedef", "type_parameter_ptr", "type_parameter_array",
     1210  "type_parameter_function", "abstract_declarator", "abstract_ptr",
     1211  "abstract_array", "abstract_function", "array_dimension",
    12121212  "multi_array_dimension", "abstract_parameter_declarator",
    12131213  "abstract_parameter_ptr", "abstract_parameter_array",
     
    14641464       0,   299,     0,   262,     2,   263,   282,     0,     0,     2,
    14651465     298,   552,   298,   492,   494,   493,   495,     0,     0,   757,
    1466        0,   298,     0,   298,   497,   298,   567,   564,   565,   566,
     1466       0,   298,     0,   298,   497,   298,   567,   565,   566,   564,
    14671467       0,   559,   562,     0,     0,   298,    64,   298,    78,    59,
    14681468     298,    66,   298,   298,    62,    63,     2,   132,     0,     0,
     
    14871487     538,   298,    72,     3,   298,   440,   299,     3,   434,   435,
    14881488       2,     0,     0,     0,   491,   310,   298,     0,   487,   489,
    1489        3,     2,     2,     0,   509,     3,     0,   561,    40,     0,
     1489       3,     2,     2,     0,   509,     3,     0,   561,   134,     0,
    14901490       0,   227,     0,     0,     0,     0,    41,     0,     0,   298,
    14911491      24,     0,    25,     0,   699,   704,   455,   696,   554,   554,
     
    15081508     111,   406,   755,     0,     0,   443,   245,     0,     0,     3,
    15091509       2,   675,   436,     0,   534,     0,   757,   758,   496,     0,
    1510      298,   298,   298,     0,   558,   560,     0,     0,   220,     0,
    1511        0,     0,   228,   229,    65,     0,    67,    70,    71,     0,
    1512      133,     0,     0,     0,   700,   701,   697,   698,   465,    79,
    1513      115,   130,     3,   114,     0,    28,    40,     3,     0,    37,
    1514      110,     0,     3,   657,   661,   664,   656,     3,   599,   723,
    1515      728,     2,    72,   298,     3,     3,   299,     0,     3,   629,
    1516      633,   636,   645,   679,   683,   686,   298,     3,   628,   644,
    1517      678,   298,   298,   431,   298,   298,     0,     0,     0,     0,
    1518      261,   111,     0,     3,     3,     0,   468,     0,   464,     0,
    1519        0,   250,   298,     0,     0,   134,     0,     0,     0,     0,
    1520        0,   134,     0,     0,   114,   114,    21,   365,   446,    69,
    1521        0,    22,   135,     0,     3,   136,   137,     2,   148,   138,
    1522      139,   140,   141,   142,   143,   150,     0,   152,     0,     0,
    1523        0,   289,   298,   298,   554,     0,   547,   298,   381,   383,
    1524        0,   397,   700,   392,   396,   393,   386,   390,   373,   404,
    1525        0,   586,     2,   671,   670,     0,   676,     2,   488,   490,
    1526      511,     3,   519,   520,     0,     2,   515,     3,     3,     0,
    1527        0,   563,   227,     0,     0,     0,   227,     0,     0,   703,
    1528      707,   709,   702,   755,   114,     0,     3,    54,     0,    54,
    1529       54,     3,    42,    44,    39,     0,     3,   109,     0,     2,
    1530      659,   660,     0,   298,     0,     0,     0,     3,   645,     0,
    1531        2,   631,   632,     2,   647,     2,   681,   682,     0,     0,
    1532       72,     0,     3,     3,     3,     3,   416,   415,   419,   754,
    1533        2,     2,   753,     0,     0,     0,     0,     3,   469,     3,
    1534        0,   248,   151,     3,   299,   298,     0,     0,     0,     0,
    1535        2,   196,     0,   194,     0,     0,     0,     0,     0,     0,
    1536        0,     0,     0,   156,   153,   298,     0,   554,     0,   271,
    1537      283,     3,     3,   553,   620,   374,   389,   402,   298,   270,
    1538      298,     0,   522,   499,   298,     0,     0,   498,   513,     0,
    1539        0,     0,   221,     0,   230,    68,     2,   705,   706,     0,
    1540      131,   128,     0,    51,     2,    45,    52,    53,     0,     0,
    1541        0,     0,    27,     0,   662,   298,   587,   731,   732,   733,
    1542        0,   684,   298,   298,   298,     3,     3,     0,   692,     0,
    1543        0,     0,     0,   298,   298,     3,   551,   475,   476,     0,
    1544      251,   299,     0,     0,     0,     0,   298,   197,   195,     0,
    1545      192,   198,     0,     0,     0,     0,   202,   205,   203,   199,
    1546        0,   200,    40,   149,   147,   134,   249,     0,     0,   423,
    1547      427,   426,     0,   516,     2,   517,     2,   518,   512,   298,
    1548      233,     0,   231,     0,   233,   298,    36,   129,    55,     0,
    1549       43,    33,     2,    49,     2,    47,    30,     3,   734,     3,
    1550        3,     3,     0,     0,   691,   693,   634,   648,   273,     2,
    1551      413,     3,   412,     0,   478,   134,     0,     0,   134,     3,
    1552        0,   134,   193,     0,     2,     2,   214,   204,     0,     0,
    1553        0,     0,   145,   581,   621,     2,     0,     0,     2,   234,
    1554        0,     0,   222,     0,     3,     3,     0,     0,     0,     0,
    1555        0,     0,   694,   695,   298,     0,   477,   157,     0,     0,
    1556        2,   170,   134,   159,     0,   187,     0,   134,     0,     2,
    1557      161,     0,     2,     0,     2,     2,     2,   201,    37,   298,
    1558      521,   523,   514,     0,     0,     0,     0,     0,     0,     3,
    1559        3,   663,   635,   649,   685,   417,   134,   163,   166,     0,
    1560      165,   169,     3,   172,   171,     0,   134,   189,   134,     3,
    1561        0,   298,     0,   298,     0,     2,     0,     2,   144,     2,
    1562      235,   236,     0,   232,   223,   708,    46,     0,     0,   158,
    1563        0,     0,   168,   238,   173,     2,   240,   188,     0,   191,
    1564      177,   206,     3,   215,   219,   208,     3,     0,   298,     0,
    1565      298,     0,     0,     0,    50,    48,   164,   167,   134,     0,
    1566      174,   298,   134,   134,     0,   178,     0,     0,   699,   216,
    1567      217,   218,     0,   207,     3,   209,     3,   298,   224,   237,
    1568      154,   175,   160,   134,   241,   190,   185,   183,   179,   162,
    1569      134,     0,   700,     0,     0,     0,     0,   155,   176,   186,
    1570      180,   184,   183,   181,     3,     3,     0,     0,   500,   182,
    1571      210,   212,     3,     3,   211,   213
     1510     298,   298,   298,     0,   558,   560,   135,     0,     0,   220,
     1511       0,     0,     0,   228,   229,    65,     0,    67,    70,    71,
     1512       0,   133,     0,     0,     0,   700,   701,   697,   698,   465,
     1513      79,   115,   130,     3,   114,     0,    28,    40,     3,     0,
     1514      37,   110,     0,     3,   657,   661,   664,   656,     3,   599,
     1515     723,   728,     2,    72,   298,     3,     3,   299,     0,     3,
     1516     629,   633,   636,   645,   679,   683,   686,   298,     3,   628,
     1517     644,   678,   298,   298,   431,   298,   298,     0,     0,     0,
     1518       0,   261,   111,     0,     3,     3,     0,   468,     0,   464,
     1519       0,     0,   250,   298,     0,     0,   134,     0,     0,     0,
     1520       0,     0,   134,     0,     0,   114,   114,    21,     0,     0,
     1521       3,   136,   137,     2,   148,   138,   139,   140,   141,   142,
     1522     143,   150,   152,     0,     0,     0,   289,   298,   298,   554,
     1523       0,   547,   298,   381,   383,     0,   397,   700,   392,   396,
     1524     393,   386,   390,   373,   404,     0,   586,     2,   671,   670,
     1525       0,   676,     2,   488,   490,   511,     3,   519,   520,     0,
     1526       2,   515,     3,     3,     0,     0,   563,   227,     0,     0,
     1527       0,   227,     0,     0,   703,   707,   709,   702,   755,   114,
     1528       0,     3,    54,     0,    54,    54,     3,    42,    44,    39,
     1529       0,     3,   109,     0,     2,   659,   660,     0,   298,     0,
     1530       0,     0,     3,   645,     0,     2,   631,   632,     2,   647,
     1531       2,   681,   682,     0,     0,    72,     0,     3,     3,     3,
     1532       3,   416,   415,   419,   754,     2,     2,   753,     0,     0,
     1533       0,     0,     3,   469,     3,     0,   248,   151,     3,   299,
     1534     298,     0,     0,     0,     0,     2,     0,   196,     0,   194,
     1535       0,     0,     0,     0,     0,     0,     0,   554,     0,   156,
     1536     153,   298,     0,     0,   271,   283,     3,     3,   553,   620,
     1537     374,   389,   402,   298,   270,   298,     0,   522,   499,   298,
     1538       0,     0,   498,   513,     0,     0,     0,   221,     0,   230,
     1539      68,     2,   705,   706,     0,   131,   128,     0,    51,     2,
     1540      45,    52,    53,     0,     0,     0,     0,    27,     0,   662,
     1541     298,   587,   731,   732,   733,     0,   684,   298,   298,   298,
     1542       3,     3,     0,   692,     0,     0,     0,     0,   298,   298,
     1543       3,   551,   475,   476,     0,   251,   299,     0,     0,     0,
     1544       0,   298,   197,   195,   192,     0,   198,     0,     0,     0,
     1545       0,   202,   205,   203,   199,     0,   200,   134,    40,   149,
     1546     147,   249,     0,     0,   423,   427,   426,     0,   516,     2,
     1547     517,     2,   518,   512,   298,   233,     0,   231,     0,   233,
     1548     298,    36,   129,    55,     0,    43,    33,     2,    49,     2,
     1549      47,    30,     3,   734,     3,     3,     3,     0,     0,   691,
     1550     693,   634,   648,   273,     2,   413,     3,   412,     0,   478,
     1551     134,     0,     0,   134,     3,     0,   134,   193,     0,     2,
     1552       2,   214,   204,     0,     0,     0,   145,     0,   581,   621,
     1553       2,     0,     0,     2,   234,     0,     0,   222,     0,     3,
     1554       3,     0,     0,     0,     0,     0,     0,   694,   695,   298,
     1555       0,   477,   157,     0,     0,     2,   170,   134,   159,     0,
     1556     187,     0,   134,     0,     2,   161,     0,     2,     0,     2,
     1557       2,     2,   201,    37,   298,   521,   523,   514,     0,     0,
     1558       0,     0,     0,     0,     3,     3,   663,   635,   649,   685,
     1559     417,   134,   163,   166,     0,   165,   169,     3,   172,   171,
     1560       0,   134,   189,   134,     3,     0,   298,     0,   298,     0,
     1561       2,     0,     2,   144,     2,   235,   236,     0,   232,   223,
     1562     708,    46,     0,     0,   158,     0,     0,   168,   238,   173,
     1563       2,   240,   188,     0,   191,   177,   206,     3,   215,   219,
     1564     208,     3,     0,   298,     0,   298,     0,     0,     0,    50,
     1565      48,   164,   167,   134,     0,   174,   298,   134,   134,     0,
     1566     178,     0,     0,   699,   216,   217,   218,     0,   207,     3,
     1567     209,     3,   298,   224,   237,   154,   175,   160,   134,   241,
     1568     190,   185,   183,   179,   162,   134,     0,   700,     0,     0,
     1569       0,     0,   155,   176,   186,   180,   184,   183,   181,     3,
     1570       3,     0,     0,   500,   182,   210,   212,     3,     3,   211,
     1571     213
    15721572};
    15731573
     
    15761576{
    15771577      -1,   803,   466,   303,    49,   135,   136,   304,   305,   306,
    1578      307,   308,   755,   756,  1121,  1122,  1123,  1233,   309,   380,
     1578     307,   308,   755,   756,  1116,  1117,  1118,  1228,   309,   380,
    15791579     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
    1580      321,   322,   323,  1012,   517,   961,   546,   325,   962,  1042,
    1581     1043,  1510,  1045,  1046,  1047,  1048,  1511,  1049,  1050,  1428,
    1582     1429,  1391,  1392,  1393,  1489,  1490,  1494,  1495,  1530,  1531,
    1583     1051,  1350,  1052,  1053,  1286,  1287,  1288,  1472,  1054,   147,
    1584      941,   942,   943,  1370,  1452,  1464,  1465,   467,   468,   863,
    1585      864,  1020,    53,    54,    55,    56,    57,   347,   159,    60,
     1580     321,   322,   323,  1013,   517,   962,   546,   325,   963,   936,
     1581    1039,  1505,  1041,  1042,  1043,  1044,  1506,  1045,  1046,  1423,
     1582    1424,  1386,  1387,  1388,  1484,  1485,  1489,  1490,  1525,  1526,
     1583    1047,  1345,  1048,  1049,  1281,  1282,  1283,  1467,  1050,   147,
     1584     942,   943,   944,  1365,  1447,  1459,  1460,   467,   468,   863,
     1585     864,  1021,    53,    54,    55,    56,    57,   347,   159,    60,
    15861586      61,    62,    63,    64,   349,    66,    67,   265,    69,    70,
    15871587     275,   351,   352,    73,    74,    75,   120,    77,   205,   354,
    15881588     121,    80,   122,    82,    83,   453,    84,   452,   682,   683,
    1589      684,   896,  1073,   897,    85,    86,   456,   454,   690,   845,
     1589     684,   896,  1068,   897,    85,    86,   456,   454,   690,   845,
    15901590     846,   357,   358,   693,   694,   695,   359,   360,   361,   362,
    1591      464,  1056,   137,   138,   521,   327,   171,   639,   640,   641,
     1591     464,   178,   137,   138,   521,   327,   171,   639,   640,   641,
    15921592     642,   643,    87,   123,    89,   488,   489,   928,   490,   278,
    1593      494,   328,    90,   139,   140,    91,  1309,  1095,  1096,  1097,
    1594     1098,    92,    93,   711,    94,   274,    95,    96,   188,  1014,
     1593     494,   328,    90,   139,   140,    91,  1304,  1090,  1091,  1092,
     1594    1093,    92,    93,   711,    94,   274,    95,    96,   188,  1015,
    15951595     673,   411,   127,    97,   500,   501,   502,   189,   269,   191,
    15961596     192,   193,   270,   100,   101,   102,   103,   104,   105,   106,
    15971597     196,   197,   198,   199,   200,   815,   601,   602,   603,   604,
    15981598     201,   606,   607,   608,   570,   571,   572,   573,   745,   107,
    1599      610,   611,   612,   613,   614,   615,   955,   747,   748,   749,
     1599     610,   611,   612,   613,   614,   615,   956,   747,   748,   749,
    16001600     591,   365,   366,   367,   368,   329,   165,   109,   110,   111,
    16011601     370,   688,   718
     
    16041604/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    16051605   STATE-NUM.  */
    1606 #define YYPACT_NINF -1328
     1606#define YYPACT_NINF -1263
    16071607static const yytype_int16 yypact[] =
    16081608{
    1609     7094,  5192, -1328,    47, -1328, -1328, -1328, -1328, -1328, -1328,
    1610    -1328,    41, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1611    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,   209,   209,
    1612      209,  1263,  1027,   118,  7336,   312, -1328, -1328, -1328, -1328,
    1613    -1328,   248, -1328, -1328, -1328,  1020,   187, -1328, -1328, -1328,
    1614    -1328,  8977, -1328, -1328, -1328, -1328,   126,   266, -1328,  1653,
    1615    -1328, -1328, -1328, -1328,   285,  1985,   410,    77,  7457, -1328,
    1616    -1328,  8977,   983, -1328, -1328,   602,   416,  4937,   741,  1118,
    1617      602,  1546, -1328, -1328,  1203,   473, -1328,   602,  1860, -1328,
    1618      325, -1328,   471,   476, -1328, -1328, -1328, -1328,   367,   266,
    1619      209, -1328,   209, -1328, -1328, -1328, -1328,  7962,  1653, -1328,
    1620    -1328,  1653, -1328,   375, -1328,  8082, -1328, -1328,  2291,  9246,
    1621    -1328,   847,   847,   847, -1328, -1328, -1328,   209, -1328, -1328,
    1622    -1328,   408,   426,   461, -1328, -1328, -1328,   472, -1328, -1328,
    1623    -1328, -1328, -1328,   508,   512, -1328, -1328,   103,  8623,  1598,
    1624      500,   443,   518,   536,   544,   548,   556,  9286,  6718,   568,
    1625    -1328,  9017, -1328, -1328, -1328, -1328,   575, -1328,   190,  3423,
    1626     3423, -1328,   577,   294, -1328, -1328, -1328, -1328,   578,   352,
    1627      387,   393,   209,   564, -1328, -1328,  1985,  3980,   641, -1328,
    1628       84, -1328,   209,   209,   266, -1328, -1328,   214, -1328,   209,
    1629      209, -1328,  4262,   597,   616,   847,  6752, -1328, -1328, -1328,
    1630     8977, -1328, -1328,   602, -1328, -1328, -1328,   266, -1328,  1653,
    1631      126, -1328,  7808, -1328,   847,   847,   847,   266, -1328,  1263,
    1632    -1328,  6380, -1328, -1328,   600,   847, -1328,   847, -1328,   248,
    1633     8623, -1328,   625, -1328,  1027,   697,   847, -1328,  1263,   667,
    1634      675, -1328,  7336,   663, -1328, -1328, -1328,  3551, -1328, -1328,
    1635     8539, -1328,   641,   128,  5841,  9246,  2291,  4262, -1328,   236,
    1636    -1328, -1328,  8082,  1653,   700, 10420, -1328, -1328,   221, -1328,
    1637      493,   710,   742,  6026,   753,  5841,  9865, -1328,   766, -1328,
    1638    -1328, -1328, -1328, -1328, -1328,  9924,  9924,  8387,   187, -1328,
    1639    -1328, -1328, -1328, -1328, -1328, -1328,   808, -1328,  2340,  2114,
    1640     8623,  5841, -1328,   633,    22,   547,   447,   693,   771,   758,
    1641      785,   800,    32, -1328, -1328, -1328,   572, -1328,   268, -1328,
    1642    -1328,  1598, -1328, -1328,   329,   827, -1328,   417,   827, -1328,
    1643    -1328,  7962, -1328,   807,   834,  8741, -1328, -1328,  1437,  2015,
    1644     8168,  6752,   602, -1328,   602,   847,   847, -1328, -1328, -1328,
    1645    -1328, -1328, -1328,   847,  7962,  1653, -1328, -1328,  9286,  1675,
    1646    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,  4621,
    1647     5841, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1648    -1328, -1328, -1328, -1328, -1328,  2291, -1328,   818,   832,   839,
    1649      851,   857,   865,   870,   881,  3980, -1328, -1328,   888,   126,
    1650      903, -1328, -1328,   889, -1328, -1328, -1328,  3551, -1328, -1328,
    1651    -1328, -1328, -1328,  4262, -1328,  8623,  8623, -1328,   847,  2291,
    1652     6876,  8243, -1328, -1328, -1328, -1328,  3551,   128, -1328, -1328,
    1653      602,   266, -1328, -1328,  3551, -1328,  6628, -1328, -1328,   847,
    1654      847,   552,  5831,   902,   906,   897,   905,   847, -1328, -1328,
    1655    -1328, -1328,  9444, -1328,   569, 10160, -1328,   266,   913, -1328,
    1656     2291, 10200,  9983, -1328, -1328, -1328, -1328,   896,  4262, -1328,
    1657     8243,   641,  7215, -1328, -1328, -1328, -1328,  1315,   613,   907,
    1658     1027, 10420,  1475,  8082, -1328, 10420, -1328, -1328, -1328, -1328,
    1659      654, -1328,   931,   742,   246,  8387, -1328,  9319, -1328, -1328,
    1660     8387, -1328,  8505,  8387, -1328, -1328,   187, -1328,   666,   933,
    1661      695,   936, -1328, -1328,  6470, -1328, -1328,   345, -1328, -1328,
    1662     5841, -1328,   431,  5841, -1328, -1328, -1328, -1328, -1328, -1328,
    1663    -1328, -1328, -1328, -1328, -1328, -1328,  5841, -1328, -1328,  5841,
    1664     5841,  5841,  5841,  5841,  5841,  5841,  5841,  5841,  5841,  5841,
    1665     5841,  5841,  5841,  5841,  5841,  5841,  5841,  4496,   572,   830,
    1666    -1328, -1328,   209,   209, -1328, -1328,  8623, -1328, -1328,   889,
    1667      663, -1328,   889, 10042, -1328, -1328,  9286,  6470,   929, -1328,
    1668     9246, -1328, -1328,   575, -1328,   937,   947,   939,  3082,   257,
    1669      907, -1328,   209,   209,   907,   260, -1328,   209,   209,   889,
    1670    -1328, -1328,   209,   209, -1328,   827,  9404,  1653, 10351,   176,
    1671      238,  9404, -1328,  8539, -1328,   907, -1328,  7962, -1328,     8,
    1672     5680,  5680,  1653,  5204,   927, -1328,   546,   943,   945, -1328,
    1673      950,  3423,   381, -1328,  1033,  1653,  5680,   663,  2291,   663,
    1674      641,   477,   827, -1328, -1328,   604,   827, -1328, -1328, -1328,
    1675      742, -1328,   827,   266,  9444, -1328,   678,   967,   680,   968,
    1676    -1328,   807,   266, -1328, -1328,  3551,   266,   965,  9319,   187,
    1677    -1328,  1893, -1328,   436,   439,  1027, -1328,  1027,   966,  5841,
    1678    -1328,  1027, 10351, -1328, -1328,   972, -1328, -1328, -1328,   663,
    1679    -1328, 10276,   834, -1328,  5680,   707,  8168, -1328, -1328,   575,
    1680      973,   976,  1315,  1837, -1328, -1328, 10420,  5841, -1328, -1328,
    1681      979, -1328, -1328,   993, -1328,   979,   982,   493,  5841,   977,
    1682      974,    26,  1002,   998,  1007,  1008, -1328,  1011,  1012,  6470,
    1683    -1328,  5841, -1328,   695,  1078, -1328, -1328, -1328,   209,   209,
    1684     5376,  5841,  1015, -1328, -1328,   718, -1328,  5841, -1328, -1328,
    1685      733, -1328, -1328, -1328, -1328,   633,   633,    22,    22,   547,
    1686      547,   547,   547,   447,   447,   693,   771,   758,   785,   800,
    1687     5841,   106,  9444,  1023,  1035,  1036,   830, -1328, -1328, -1328,
    1688    -1328, -1328,  9444,   730, -1328,  7962, -1328,  6842,  8859, -1328,
    1689    -1328, -1328,   947,  9444,   952,  1039,  1040,  1041,  1042,  1044,
    1690     1046,  1047, -1328,  4747,  3082, -1328, -1328, -1328, -1328, -1328,
    1691    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1692    -1328, -1328,   889, -1328, -1328, -1328,   907, -1328, -1328, -1328,
    1693    -1328, -1328, -1328, -1328, -1328, -1328, -1328,  1053,  1054, -1328,
    1694      126,  1015,  5204, -1328, -1328, -1328,  4621,  1051, -1328, -1328,
    1695    -1328, -1328,  1027,  6163,  1143, -1328, -1328, -1328, -1328,  1049,
    1696      126, -1328, -1328,   889, -1328, -1328,   889,  1060,   889, -1328,
    1697    -1328, -1328, -1328, -1328, -1328,  6718, -1328,   266, -1328, -1328,
    1698      444,   451,  6718,  2036,  5841,  3709, -1328, -1328,  1045,    40,
    1699     1045, -1328,  1027, -1328,   209, -1328, -1328,  9131,   897, -1328,
    1700    -1328, -1328,   906,  1061,  1056, -1328, -1328,  1069,  1072, -1328,
    1701      707,  1770, -1328,   275, -1328,  1837,   907, -1328, -1328,  1076,
    1702    10420,  8082,  8623,  1081, -1328, -1328,   734,  1058, -1328,  5841,
    1703     1084,   279,  1082, -1328,  1080,   663,  1080, -1328, -1328,  1080,
    1704    -1328,  1087,  1089,  1091,  1078, -1328, -1328, -1328,  4621, -1328,
    1705    -1328, -1328,  1088,  5841,   919, -1328,  5841, -1328,   919, -1328,
    1706    -1328,  5841, -1328,   611,   827, -1328, -1328, -1328, -1328, -1328,
    1707    -1328, -1328,   834,  8741, -1328, -1328,  6966,  1093, -1328,   640,
    1708      827, -1328,   652,   657,   827, -1328,   847,  4999, -1328, -1328,
    1709    -1328,  9444,  9444, -1328,  8243,  8243,  1096,  1094,  1095,  1099,
    1710    -1328,   347,    89,  1015, -1328,   919, -1328,  3423, -1328,  5841,
    1711      464, -1328,  6346,  1103,  1105,  9806,  1107,  1112,   627,   759,
    1712     1566,  5841,  1115,   266,  5841,  5841,  1092,  1104,   248,   228,
    1713      302,  1108,  1123,  1097, -1328, -1328, -1328,  1128, -1328, -1328,
    1714    -1328, -1328, -1328, -1328, -1328, -1328,  1119, -1328,  1027,  1138,
    1715     5841, -1328,  9444,  9444,   209,  1140, -1328,  9171, -1328, -1328,
    1716      806, -1328,  3709, -1328, -1328, -1328, -1328,  1893, -1328, -1328,
    1717     1136, -1328, -1328, -1328, -1328,  1144,  1770, -1328, -1328,  1127,
    1718    -1328,   979, -1328, -1328,  2291,  1145, -1328, -1328, -1328,   749,
    1719     1149, -1328,    26,  1146,  5841,  1132,    26,    26,  1157,   672,
    1720      827, -1328, -1328,   950,  5841,  1159,  1088, -1328,  1148, -1328,
    1721    -1328,  1158, -1328,    81, -1328,  1166,  1158, -1328,  1169, -1328,
    1722    -1328,   889,  1171,  6594,  1173,  1184,  1185, -1328, -1328,  1189,
    1723    -1328, -1328,   889, -1328, -1328, -1328, -1328,   889,  5841,  5841,
    1724      834,  1188, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1725    -1328, -1328, -1328,  5841,  5841,  1190,  1194,  1158, -1328, -1328,
    1726     1027, -1328, -1328, -1328,  7733,  8082,  5841,  5841,  1274,  5841,
    1727    -1328, -1328,  1191, -1328,  1192,  5841,  1199,  1206,  5841,  1013,
    1728     1207,    37,  2395, -1328, -1328,  6163,  1211,   209,   482, -1328,
    1729    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,  9622, -1328,
    1730     8243,  1231, -1328, -1328,  8082,   492,   506, -1328,  1227,  1219,
    1731      742,  1242, -1328,   293, -1328, -1328, -1328, -1328,   889,  1238,
    1732    -1328, -1328,  1243,  1273, -1328, -1328,  1273,  1273,   919,  1245,
    1733     1200,  1221, -1328,  1247, -1328,  9444, -1328, -1328, -1328, -1328,
    1734     1251, -1328,  9444,  9444,  9444, -1328, -1328,  1252, -1328,  1254,
    1735     1257,  1259,   446,  7928,  8048, -1328, -1328, -1328, -1328,  1258,
    1736    -1328,  8318,   754,   762,  1267,   767,  3351, -1328, -1328,   507,
    1737    -1328, -1328,   782,  1269,  1270,   266,  1323,   868, -1328, -1328,
    1738     5841, -1328,  5841, -1328, -1328,  9806, -1328,  1272,  1280, -1328,
    1739    -1328, -1328,  1277, -1328, -1328, -1328, -1328, -1328, -1328,  8082,
    1740      742,  1284, -1328,  1264,   742,  9444, -1328, -1328, -1328,   919,
    1741    -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328, -1328,
    1742    -1328, -1328,  1285,  1288, -1328, -1328, -1328, -1328, -1328, -1328,
    1743    -1328,  1292, -1328,  1294, -1328,  9806,   292,  5841,  9806, -1328,
    1744     1297,  5841, -1328,   298,  1308,  1314, -1328, -1328,  1302,  1303,
    1745     1282,   817, -1328, -1328, -1328, -1328,  1653,  2291,  1300, -1328,
    1746      139,  5841, -1328,   792, -1328,  1158,   919,   919,  1310,  1312,
    1747     1313,  1317, -1328, -1328,  8243,  1309, -1328,  1388,  5841,  1299,
    1748    -1328, -1328,  9716, -1328,   793, -1328,  1298,  9806,  1304, -1328,
    1749    -1328,  1325, -1328,  1327, -1328,  1342,  1344, -1328,  1316,  8082,
    1750    -1328, -1328, -1328,   742,   663,  1334,  1318,  1337,  1343,  1158,
    1751     1158, -1328, -1328, -1328, -1328, -1328,  9806,   149, -1328,   165,
    1752    -1328, -1328,  7578, -1328, -1328,  1322,  5841, -1328,  5841,  7578,
    1753      266,  9319,   266,  9319,  1351, -1328,  1352, -1328, -1328,  1348,
    1754    -1328, -1328,   794, -1328, -1328, -1328, -1328,  1347,  1355, -1328,
    1755     5841,  5841, -1328, -1328,   893,   117, -1328, -1328,  1338, -1328,
    1756      893, -1328, -1328,  2215,   663, -1328, -1328,   266,  9319,   266,
    1757     9319,  1362,  1341,   663, -1328, -1328, -1328, -1328,  9716,  1365,
    1758      893,  7657,  5841,  9626,  1366,   893,  1367,  2215,  3729, -1328,
    1759    -1328, -1328,  1372, -1328, -1328, -1328, -1328,  8623, -1328, -1328,
    1760    -1328,  9488, -1328,  9716, -1328, -1328,  1353,  5938, -1328, -1328,
    1761     9626,   266,  3729,   266,  1376,  1377,   795, -1328,  9488, -1328,
    1762    -1328, -1328,  5938, -1328, -1328, -1328,   266,   266, -1328, -1328,
    1763    -1328, -1328, -1328, -1328, -1328, -1328
     1609    6864,  4432, -1263,    10, -1263, -1263, -1263, -1263, -1263, -1263,
     1610   -1263,   -12, -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263,
     1611   -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263,    67,    67,
     1612      67,   564,   950,    20,  6985,   166, -1263, -1263, -1263, -1263,
     1613   -1263,    71, -1263, -1263, -1263,  1431,   111, -1263, -1263, -1263,
     1614   -1263,  3253, -1263, -1263, -1263, -1263,    83,   193, -1263,  1119,
     1615   -1263, -1263, -1263, -1263,   213,  1691,   349,    98,  7106, -1263,
     1616   -1263,  3253,   817, -1263, -1263,   596,   492,  5210,  1011,  1044,
     1617     596,  1122, -1263, -1263,   838,   957, -1263,   596,  1203, -1263,
     1618     236, -1263,   406,   508, -1263, -1263, -1263, -1263,   429,   193,
     1619      67, -1263,    67, -1263, -1263, -1263, -1263,  4697,  1119, -1263,
     1620   -1263,  1119, -1263,   434, -1263,  7806, -1263, -1263,  2149,  8896,
     1621   -1263,   644,   644,   644, -1263, -1263, -1263,    67, -1263, -1263,
     1622   -1263,   436,   458,   468, -1263, -1263, -1263,   480, -1263, -1263,
     1623   -1263, -1263, -1263,   498,   503, -1263, -1263,    77,  8347,  2436,
     1624     255,   519,   522,   535,   547,   585,   603,  8929,  6488,   597,
     1625   -1263,  4574, -1263, -1263, -1263, -1263,   608, -1263,   -37,  5487,
     1626    5487, -1263,   539,   241, -1263, -1263, -1263, -1263,   624,   287,
     1627     313,   327,    67,   621, -1263, -1263,  1691,  2813,   734, -1263,
     1628     120, -1263,    67,    67,   193, -1263, -1263,   204, -1263,    67,
     1629      67, -1263,  2931,   664,   675,   644,  6274, -1263, -1263, -1263,
     1630    3253, -1263, -1263,   596, -1263, -1263, -1263,   193, -1263,  1119,
     1631      83, -1263,  7457, -1263,   644,   644,   644,   193, -1263,   564,
     1632   -1263,  3379, -1263, -1263,   671,   644, -1263,   644, -1263,    71,
     1633    8347, -1263,   715, -1263,   950,   724,   644, -1263,   564,   704,
     1634     714, -1263,  6985,   544, -1263, -1263, -1263,  8708, -1263, -1263,
     1635    8263, -1263,   734,   123,  9697,  8896,  2149,  2931, -1263,   205,
     1636   -1263, -1263,  7806,  1119,   738,  5343, -1263, -1263,   211, -1263,
     1637   10116,   739,   650,  9756,   757,  9697,  9815, -1263,   763, -1263,
     1638   -1263, -1263, -1263, -1263, -1263,  9874,  9874,  8111,   111, -1263,
     1639   -1263, -1263, -1263, -1263, -1263, -1263,   795, -1263,  1259,  2219,
     1640    8347,  9697, -1263,   496,   315,   375,   430,   719,   760,   770,
     1641     771,   807,   114, -1263, -1263, -1263,   814, -1263,   402, -1263,
     1642   -1263,  2436, -1263, -1263,   104,   792, -1263,   372,   792, -1263,
     1643   -1263,  4697, -1263,   802,   812,  8465, -1263, -1263,   721,  1811,
     1644    7892,  6274,   596, -1263,   596,   644,   644, -1263, -1263, -1263,
     1645   -1263, -1263, -1263,   644,  4697,  1119, -1263, -1263,  8929,  1749,
     1646   -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263,  4858,
     1647    9697, -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263,
     1648   -1263, -1263, -1263, -1263, -1263,  2149, -1263,   677,   823,   827,
     1649     829,   862,   831,   834,   836,  2813, -1263, -1263,   842,    83,
     1650     841, -1263, -1263,   837, -1263, -1263, -1263,  8708, -1263, -1263,
     1651   -1263, -1263, -1263,  2931, -1263,  8347,  8347, -1263,   644,  2149,
     1652    6398,  7967, -1263, -1263, -1263, -1263,  8708,   123, -1263, -1263,
     1653     596,   193, -1263, -1263,  8708, -1263,  5038, -1263, -1263,   644,
     1654     644,   474,  8741,   848,   849,   824,   850,   644, -1263, -1263,
     1655   -1263, -1263,  9167, -1263,   507, 10150, -1263,   193,   853, -1263,
     1656    2149, 10237,  9933, -1263, -1263, -1263, -1263,   898,  2931, -1263,
     1657    7967,   734,  5424, -1263, -1263, -1263, -1263,  1676,   514,   844,
     1658     950,  5343,  1027,  7806, -1263,  5343, -1263, -1263, -1263, -1263,
     1659     545, -1263,   859,   650,   244,  8111, -1263,  9014, -1263, -1263,
     1660    8111, -1263,  8229,  8111, -1263, -1263,   111, -1263,   548,   867,
     1661     926,   872, -1263, -1263,  6240, -1263, -1263,   387, -1263, -1263,
     1662    9697, -1263,   467,  9697, -1263, -1263, -1263, -1263, -1263, -1263,
     1663   -1263, -1263, -1263, -1263, -1263, -1263,  9697, -1263, -1263,  9697,
     1664    9697,  9697,  9697,  9697,  9697,  9697,  9697,  9697,  9697,  9697,
     1665    9697,  9697,  9697,  9697,  9697,  9697,  9697,  4047,   814,  1636,
     1666   -1263, -1263,    67,    67, -1263, -1263,  8347, -1263, -1263,   837,
     1667     544, -1263,   837,  9992, -1263, -1263,  8929,  6240,   873, -1263,
     1668    8896, -1263, -1263,   608, -1263,   880,   787,   882,  2301,   259,
     1669     844, -1263,    67,    67,   844,   286, -1263,    67,    67,   837,
     1670   -1263, -1263,    67,    67, -1263,   792,  9047,  1119, 10388,   450,
     1671     493,  9047, -1263,  8263, -1263,   844, -1263,  4697, -1263,   -35,
     1672    7577,  7577,  1119,  5632,   869, -1263,   326,   874,   889, -1263,
     1673     881,  5487,   342, -1263,   977,  1119,  7577,   544,  2149,   544,
     1674     734,   382,   792, -1263, -1263,   405,   792, -1263, -1263, -1263,
     1675     650, -1263,   792,   193,  9167, -1263,   570,   918,   602,   921,
     1676   -1263,   802,   193, -1263, -1263,  8708,   193,   940,  9014,   111,
     1677   -1263,  1310, -1263,   353,   395,   950, -1263,   950,   941,  9697,
     1678   -1263,   950, 10388, -1263, -1263,   948, -1263, -1263, -1263,   544,
     1679   -1263, 10313,   812, -1263,  7577,   987,  7892, -1263, -1263,   608,
     1680     955,   960,  1676,  3085, -1263, -1263,  5343,  9697, -1263, -1263,
     1681     947, -1263, -1263,   956, -1263,   947,   967, 10116,  9697,   949,
     1682     954,   180,   972,   975,   984,   993, -1263,  1002,  1005,  6240,
     1683   -1263,  9697, -1263,   926,  1965, -1263, -1263, -1263,    67,    67,
     1684    9638,  9697,   992, -1263, -1263,   615, -1263,  9697, -1263, -1263,
     1685     711, -1263, -1263, -1263, -1263,   496,   496,   315,   315,   375,
     1686     375,   375,   375,   430,   430,   719,   760,   770,   771,   807,
     1687    9697,   330,  9167,  1006,  1007,  1008,  1636, -1263, -1263, -1263,
     1688   -1263, -1263,  9167,   620, -1263,  4697, -1263,  6612,  8583, -1263,
     1689   -1263, -1263,   787,  9167,   937,  1012,  1014,  1022,  1023,  1024,
     1690    1029,  1036, -1263,  3424,  2301, -1263, -1263, -1263, -1263, -1263,
     1691   -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263,
     1692   -1263, -1263,   837, -1263, -1263, -1263,   844, -1263, -1263, -1263,
     1693   -1263, -1263, -1263, -1263, -1263, -1263, -1263,  1039,  1043, -1263,
     1694      83,   992,  5632, -1263, -1263, -1263,  4858,  1042, -1263, -1263,
     1695   -1263, -1263,   950,  5809,  1095, -1263, -1263, -1263, -1263,  1030,
     1696      83, -1263, -1263,   837, -1263, -1263,   837,  1048,   837, -1263,
     1697   -1263, -1263, -1263, -1263, -1263,  6488, -1263,   193, -1263, -1263,
     1698     407,   410,  6488,  2038,  9697,  2697, -1263, -1263,  1037,    53,
     1699    1037, -1263,   950, -1263,    67, -1263, -1263,  8781,   824, -1263,
     1700   -1263, -1263,   849,  1059,  1021, -1263, -1263,  1062,  1063, -1263,
     1701     987,  2296, -1263,   528, -1263,  3085,   844, -1263, -1263,  1071,
     1702    5343,  7806,  8347,  1073, -1263, -1263,  1074,  1084,  1066, -1263,
     1703    9697,  1088,   282,  1083, -1263,  1091,   544,  1091, -1263, -1263,
     1704    1091, -1263,  1097,  1105,  1115,  1965, -1263, -1263, -1263,  4858,
     1705   -1263, -1263, -1263,  1113,  9697,   605, -1263,  9697, -1263,   605,
     1706   -1263, -1263,  9697, -1263,   424,   792, -1263, -1263, -1263, -1263,
     1707   -1263, -1263, -1263,   812,  8465, -1263, -1263,  6736,  1120, -1263,
     1708     568,   792, -1263,   594,   631,   792, -1263,   644,  3969, -1263,
     1709   -1263, -1263,  9167,  9167, -1263,  7967,  7967,  1123,  1118,  1127,
     1710    1125, -1263,   558,   212,   992, -1263,   605, -1263,  5487, -1263,
     1711    9697,   420, -1263,  6116,  1129,  1135,  9579,  1136,  1137,   146,
     1712     206,   181,  9697,  1140,   193,  9697,  9697,  1106,   305,  1124,
     1713   -1263, -1263, -1263,  1143, -1263, -1263, -1263, -1263, -1263, -1263,
     1714   -1263, -1263, -1263,   950,  1141,  9697, -1263,  9167,  9167,    67,
     1715    1150, -1263,  8856, -1263, -1263,   722, -1263,  2697, -1263, -1263,
     1716   -1263, -1263,  1310, -1263, -1263,  1148, -1263, -1263, -1263, -1263,
     1717    1154,  2296, -1263, -1263,  1139, -1263,   947, -1263, -1263,  2149,
     1718    1158, -1263, -1263, -1263,   627,  1151, -1263,   180,  1138,  9697,
     1719    1146,   180,   180,  1165,   653,   792, -1263, -1263,   881,  9697,
     1720    1164,  1113, -1263,  1068, -1263, -1263,  1163, -1263,   219, -1263,
     1721    1168,  1163, -1263,  1171, -1263, -1263,   837,  1173,  6364,  1172,
     1722    1175,  1177, -1263, -1263,  1180, -1263, -1263,   837, -1263, -1263,
     1723   -1263, -1263,   837,  9697,  9697,   812,  1179, -1263, -1263, -1263,
     1724   -1263, -1263, -1263, -1263, -1263, -1263, -1263, -1263,  9697,  9697,
     1725    1182,  1184,  1163, -1263, -1263,   950, -1263, -1263, -1263,  7382,
     1726    7806,  9697,  9697,  1240,  9697, -1263,  1160, -1263,  1170, -1263,
     1727    1174,  9697,  1178,  9697,  1032,  1185,    59,    67,  1380, -1263,
     1728   -1263,  5809,  1189,   442, -1263, -1263, -1263, -1263, -1263, -1263,
     1729   -1263, -1263, -1263,  9395, -1263,  7967,  1190, -1263, -1263,  7806,
     1730     454,   456, -1263,  1197,  1193,   650,  1210, -1263,   295, -1263,
     1731   -1263, -1263, -1263,   837,  1213, -1263, -1263,  1220,  1252, -1263,
     1732   -1263,  1252,  1252,   605,  1222,  1144,  1570, -1263,  1237, -1263,
     1733    9167, -1263, -1263, -1263, -1263,  1238, -1263,  9167,  9167,  9167,
     1734   -1263, -1263,  1239, -1263,  1241,  1242,  1245,   586,  7652,  7772,
     1735   -1263, -1263, -1263, -1263,  1244, -1263,  8042,   635,   640,  1249,
     1736     662,  5981, -1263, -1263, -1263,   460, -1263,   666,  1250,  1251,
     1737     193,  1306,   785, -1263, -1263,  9697, -1263,  9579,  9697, -1263,
     1738   -1263, -1263,  1255,  1257, -1263, -1263, -1263,  1262, -1263, -1263,
     1739   -1263, -1263, -1263, -1263,  7806,   650,  1270, -1263,  1254,   650,
     1740    9167, -1263, -1263, -1263,   605, -1263, -1263, -1263, -1263, -1263,
     1741   -1263, -1263, -1263, -1263, -1263, -1263, -1263,  1278,  1279, -1263,
     1742   -1263, -1263, -1263, -1263, -1263, -1263,  1282, -1263,  1284, -1263,
     1743    9579,    89,  9697,  9579, -1263,  1287,  9697, -1263,   136,  1302,
     1744    1311, -1263, -1263,  1297,  1299,  1280, -1263,   753, -1263, -1263,
     1745   -1263,  1119,  2149,  1300, -1263,   338,  9697, -1263,   667, -1263,
     1746    1163,   605,   605,  1314,  1315,  1320,  1328, -1263, -1263,  7967,
     1747    1304, -1263,  1376,  9697,  1309, -1263, -1263,  9489, -1263,   690,
     1748   -1263,  1313,  9579,  1321, -1263, -1263,  1331, -1263,  1333, -1263,
     1749    1351,  1361, -1263,  1337,  7806, -1263, -1263, -1263,   650,   544,
     1750    1362,  1339,  1365,  1364,  1163,  1163, -1263, -1263, -1263, -1263,
     1751   -1263,  9579,   234, -1263,   427, -1263, -1263,  7227, -1263, -1263,
     1752    1346,  9697, -1263,  9697,  7227,   193,  9014,   193,  9014,  1369,
     1753   -1263,  1370, -1263, -1263,  1367, -1263, -1263,   697, -1263, -1263,
     1754   -1263, -1263,  1371,  1373, -1263,  9697,  9697, -1263, -1263,   839,
     1755      85, -1263, -1263,  1358, -1263,   839, -1263, -1263,  2097,   544,
     1756   -1263, -1263,   193,  9014,   193,  9014,  1387,  1366,   544, -1263,
     1757   -1263, -1263, -1263,  9489,  1384,   839,  7306,  9697,  9399,  1388,
     1758     839,  1392,  2097,  3030, -1263, -1263, -1263,  1399, -1263, -1263,
     1759   -1263, -1263,  8347, -1263, -1263, -1263,  9261, -1263,  9489, -1263,
     1760   -1263,  1378,  9171, -1263, -1263,  9399,   193,  3030,   193,  1401,
     1761    1403,   712, -1263,  9261, -1263, -1263, -1263,  9171, -1263, -1263,
     1762   -1263,   193,   193, -1263, -1263, -1263, -1263, -1263, -1263, -1263,
     1763   -1263
    17641764};
    17651765
     
    17671767static const yytype_int16 yypgoto[] =
    17681768{
    1769    -1328,  4218,  2910, -1328,  2669, -1328,   454,     0,  -147, -1328,
    1770    -1328,   463,  -522,  -472,  -935, -1037, -1328,  -158,  4217,  1113,
    1771    -1328,   115,   430,   459,   419,   456,   932,   938,   935,   940,
    1772      941, -1328,  -236,  -629,  5014,  -930, -1328, -1328,   543,  -135,
    1773     -872,  -345, -1328,  1349, -1328,   324,  -967, -1328, -1328,    49,
    1774    -1328, -1273,  -818,   170, -1328, -1328, -1328, -1328,    -5, -1312,
    1775    -1328, -1328, -1328, -1328, -1328, -1328,   244, -1175,    35, -1328,
    1776     -502, -1328,   424,   219, -1328,    95, -1328,  -308, -1328, -1328,
    1777    -1328,   479,  -837, -1328, -1328,     4,  -995,   175,  1139, -1328,
    1778    -1328, -1328,  -119, -1328,    57,   315,  -193,  1470,  3860, -1328,
    1779    -1328,    63,   160,   685,  1861, -1328,  1798, -1328, -1328,    18,
    1780     1913, -1328,  2277,  2037, -1328, -1328, -1328,  -545, -1328,   862,
    1781      867,   458,   646,   -93, -1328, -1328, -1328,   856,   647,  -449,
    1782    -1328,  -478,  -351,  -615, -1328, -1328,  -928,  -975,    -3,   985,
    1783      981,   776, -1328,   107,   366,   -24,  -195,  -132,   609,   706,
    1784    -1328,   926, -1328,  2605,  1917,  -447,   855, -1328, -1328,   645,
    1785    -1328,  -234, -1328,  -136, -1328, -1328, -1328, -1230,   360, -1328,
    1786    -1328, -1328,  1098, -1328,    12, -1328, -1328,  -835,  -110, -1327,
    1787     -138,  2640, -1328,  3073, -1328,   848, -1328,  -166,    72,  -183,
    1788     -179,  -176,     2,   -41,   -36,   -32,    62,    10,    19,    21,
    1789      -98,  -172,  -171,  -170,  -167,  -307,  -494,  -481,  -476,  -551,
    1790     -310,  -510, -1328, -1328,  -515,  1010,  1014,  1017,  1772,  4826,
    1791     -557,  -496,  -482,  -480,  -543, -1328,  -503,  -723,  -721,  -720,
    1792     -573,  -287,  -290, -1328, -1328,   226,   457,    -9, -1328,  3666,
    1793      -27,  -611,  -257
     1769   -1263,  3947,  2776, -1263,    44, -1263,   887,   695,  -232, -1263,
     1770   -1263,   487,  -523,  -501,  -842,  -960, -1263,  -216,  4593,     0,
     1771   -1263,   122,   359,   368,   437,   403,   964,   965,   963,   966,
     1772     969, -1263,   998,  -607,  4667,  -955, -1263, -1263,   569,  -183,
     1773    -658,   414, -1263,  1406, -1263,   347, -1148, -1263, -1263,    84,
     1774   -1263,  -949, -1074,   191, -1263, -1263, -1263, -1263,    17, -1186,
     1775   -1263, -1263, -1263, -1263, -1263, -1263,   265, -1262,    33, -1263,
     1776    -866, -1263,   445,   246, -1263,   124, -1263,  -320, -1263, -1263,
     1777   -1263,   506,  -835, -1263, -1263,    19,  -980,    55,   606, -1263,
     1778   -1263, -1263,  -220, -1263,   129,  1096,  -190,  1478,  3486, -1263,
     1779   -1263,    96,   144,  1103,  1793, -1263,  1550, -1263, -1263,    27,
     1780    1989, -1263,  2286,  1081, -1263, -1263, -1263,  -632, -1263,   884,
     1781     886,   488,   668,  -575, -1263, -1263, -1263,   875,   659,  -511,
     1782   -1263,  -466,  -248,   801, -1263, -1263,  -959,  -944,  -218,   636,
     1783     989,    92, -1263,   209,   354,  -244,  -203,  -140,   611,   717,
     1784   -1263,   932, -1263,  2427,  1924,  -447,   860, -1263, -1263,   647,
     1785   -1263,  -235, -1263,   189, -1263, -1263, -1263, -1245,   370, -1263,
     1786   -1263, -1263,  1098, -1263,     2, -1263, -1263,  -849,  -115, -1223,
     1787    -150,  2775, -1263,  2462, -1263,   854, -1263,  -127,    40,  -178,
     1788    -174,  -173,     7,   -43,   -41,   -36,  1803,    12,    18,    21,
     1789    -101,  -168,  -162,  -160,  -144,  -317,  -520,  -513,  -497,  -545,
     1790    -300,  -486, -1263, -1263,  -547,  1009,  1026,  1028,  1598,  4212,
     1791    -563,  -557,  -544,  -532,  -458, -1263,  -514,  -722,  -720,  -718,
     1792    -585,  -194,  -291, -1263, -1263,   769,   138,   -88, -1263,  3371,
     1793     239,  -624,  -483
    17941794};
    17951795
     
    18001800static const yytype_int16 yytable[] =
    18011801{
    1802       50,   114,    99,   398,   151,   116,   451,   399,   268,   152,
    1803      400,   760,   427,   153,   401,   402,   403,   746,    78,   404,
    1804      951,   406,   952,   953,   167,   438,  1055,  1173,  1057,   857,
    1805     1158,   114,   114,  1126,    50,    52,    99,   382,   383,   605,
    1806      735,   817,   600,   834,   720,    50,   145,   816,   725,   880,
    1807      409,    50,    78,   162,   787,   154,   820,    65,   592,    50,
    1808      911,  1430,   827,    71,   155,    50,   156,   194,    50,    52,
    1809      217,    50,    98,   227,   624,   220,  1156,  1157,   628,  1368,
    1810     1167,  1235,    33,   398,   114,   114,   808,   399,   167,   407,
    1811      400,    65,   424,   445,   401,   402,   403,    71,   261,   404,
    1812      809,   406,   805,  1290,  1190,  1191,    98,   203,    50,   663,
    1813      291,    50,   458,   163,   810,   806,   811,   150,    50,  1434,
    1814      807,   330,   474,    98,   473,   475,    33,   195,   672,   707,
    1815      218,   124,   566,   228,  1430,   504,   676,   190,   469,   143,
    1816       98,   907,   939,    98,   717,   151,   552,   553,   342,    50,
    1817      152,   162,   847,   847,   153,   125,   410,   281,   204,  1187,
    1818       72,    50,   518,   372,  -239,  -239,   567,   972,   847,   407,
    1819      951,  1240,   952,   953,  1291,    58,   117,   977,   901,  1449,
    1820      714,  1518,   849,   434,  1230,  1172,    50,    50,   988,   162,
    1821     1163,   242,   245,   708,    72,   408,   154,   866,   253,  1241,
    1822      410,  1320,    50,  1323,  1325,   155,   936,   156,  1533,    58,
    1823       50,   163,   162,   330,   661,  1434,  1164,   282,   805,    50,
    1824     1434,    98,    50,   373,   441,   151,   847,   741,   213,   114,
    1825      152,   806,   144,    98,   153,  1158,   807,  -239,   169,   658,
    1826     1434,   971,   474,   211,   114,   434,   221,  1434,   114,   163,
    1827     1460,    33,    50,   114,    99,   919,    33,  1000,   397,   190,
    1828     1413,   820,   170,   999,   461,  1071,    50,    50,  1476,   162,
    1829       78,   976,   163,    50,  1414,    78,  1164,   164,    33,   848,
    1830      848,  1173,    98,   167,   442,   650,  1461,    52,   605,  1158,
    1831      666,   668,   987,   837,    98,   848,   796,   838,   469,    33,
    1832     1462,  1080,    33,  1504,   157,  1506,   809,   659,   805,    65,
    1833     1103,   376,   658,   665,   470,    71,   118,   469,   594,   670,
    1834      810,   806,   811,   146,    98,   469,   807,   377,   418,   592,
    1835      410,    50,   585,   372,   592,  1156,  1157,   843,   477,  1388,
    1836     1389,   164,   512,   821,  1067,  1388,  1389,   824,    50,    50,
    1837      479,   455,   410,   848,   492,   839,   729,   493,  1055,   840,
    1838     1057,   730,   148,   -10,   817,    50,   160,   887,   841,    50,
    1839      518,   818,   844,   597,   825,   518,   597,   287,   518,   637,
    1840      659,   731,   440,   575,  1375,   172,  1153,  1154,   707,   576,
    1841       43,    44,   839,   373,  1105,    50,  1087,   439,   330,   330,
    1842      509,   667,   669,    98,  1349,    50,   182,   372,  1313,  1158,
    1843      834,  1390,    72,   202,  1106,   386,   513,  1399,   378,  -294,
    1844      112,   599,   259,    50,   809,   547,   548,    58,  1314,    50,
    1845      160,   387,   781,    43,    44,    78,   433,  1173,   810,  1351,
    1846      811,  1419,  1420,   577,  1173,   410,   248,  1201,  1202,  1144,
    1847     1146,  1112,   708,   910,    78,   113,  1425,   108,   108,   696,
    1848      547,   753,    78,   326,  -112,   114,   330,   373,  -112,   724,
    1849       50,   251,   340,   389,   470,  1221,  -525,   190,    50,  1398,
    1850      372,   253,    50,  1091,    99,   330,   638,    50,   737,   390,
    1851      114,   108,   114,   470,  1124,   547,  1173,   859,   433,   636,
    1852       78,   470,  1229,   496,   605,   980,   112,   998,   391,   858,
    1853      213,   264,   870,   877,   393,   898,   860,    52,  1044,    43,
    1854       44,   429,   -12,   522,   392,   432,  1517,   114,   108,  1000,
    1855      394,   580,   114,   410,  1265,  1266,   164,   705,   868,    65,
    1856     -448,   707,   556,   557,   970,    71,  1528,   758,   112,   330,
    1857      141,   142,   791,  1532,    98,   326,   469,   902,   333,   599,
    1858      904,    43,    44,  1338,  1468,   902,  1469,  1339,   497,  1112,
    1859      498,   499,   904,   903,   901,  -449,   905,   558,   559,  1003,
    1860      114,  1068,   916,   900,   940,  1170,   277,   432,  1069,   835,
    1861      487,   871,   244,   410,   594,  1466,    50,   719,    50,   723,
    1862     1219,  1171,  1466,  1170,  1223,   708,     2,   207,     4,     5,
    1863        6,     7,   520,  1304,   253,   332,  1011,    50,   998,  1296,
    1864     1515,   112,   279,   141,   142,   160,   280,  1306,   741,  1305,
    1865     1327,   213,    50,   334,    43,    44,   114,  1329,  1330,  1331,
    1866      554,   555,    72,  1307,  1352,    50,  1488,   114,    50,   114,
    1867      798,   335,  1493,  1155,  1514,  1010,   584,    58,   910,   336,
    1868      589,   696,   853,   337,   762,   763,   764,   677,   804,  1088,
    1869      599,   338,  1513,   576,    37,  1061,    38,  1520,   685,   622,
    1870     1178,    50,   371,   626,   698,   114,   568,   114,   410,   375,
    1871      699,   114,   388,    78,    47,    48,   592,   384,  1099,   114,
    1872     1374,   396,    39,   910,   175,   176,    42,   463,   408,   108,
    1873      398,   425,    50,    50,   399,    43,    44,   400,   874,    78,
    1874      410,   401,   402,   403,  1016,  1129,   404,   410,   715,   406,
    1875      426,   522,   470,   522,   716,  1127,   522,   448,   112,   522,
    1876      326,   326,  1415,   854,  -372,     2,   207,     4,     5,     6,
    1877        7,    43,    44,   899,  1140,   549,   410,   230,   470,  1427,
    1878      231,   550,   551,   235,  1181,   237,  1143,   681,   597,   726,
    1879     1361,  1145,   246,   597,   951,   727,   952,   953,   440,   696,
    1880      118,   740,   707,  1011,   804,   599,  1226,   741,   410,   696,
    1881      560,   561,   906,   881,   908,   883,   705,   407,   455,   741,
    1882      696,   741,    50,  1148,   459,  1074,   487,  1074,   326,   743,
    1883      487,   410,   460,    37,    50,    38,  -401,    47,    48,   482,
    1884      520,   920,   520,   597,   503,   520,   291,   326,   520,    47,
    1885       48,  1486,  1427,   965,    39,   178,   175,   176,    42,   966,
    1886        8,     9,    10,    11,    12,   978,   708,    43,    44,  1101,
    1887     1044,   699,   213,   969,   966,   966,   637,     8,     9,    10,
    1888       11,    12,   114,  1041,  1217,   959,   213,   507,   910,  1345,
    1889      576,   732,    33,   733,   804,   741,   734,  1346,    -3,   738,
    1890      512,    78,  1348,   741,   262,  1168,   599,   263,   741,    33,
    1891      563,   326,   525,    50,   562,    50,  1183,  1353,   230,   565,
    1892       36,   794,   114,   741,   685,   330,   658,  1416,  1435,  1482,
    1893     1538,   898,  1341,  1413,   741,  1483,   576,    36,   564,   113,
    1894       65,   332,   410,   708,   586,    50,    71,   910,   910,  1358,
    1895     1359,   833,   253,   332,   410,  1092,   589,  1408,   966,   108,
    1896     1388,  1389,   842,   339,   568,   114,   410,   651,   798,   705,
    1897     1362,    -3,    47,    48,   652,   940,   835,   213,   637,   940,
    1898      940,  1236,  1237,   638,   114,  1070,   653,   899,   114,  1021,
    1899     1500,   418,   654,   410,   659,   769,   770,   771,   772,   900,
    1900      655,   754,   765,   766,  1212,   656,   759,     2,   207,     4,
    1901        5,     6,     7,   681,   112,   437,   657,   599,   696,   696,
    1902     1387,  1117,   660,  1395,  1118,   258,  1119,    43,    44,  1076,
    1903      479,   332,   410,   767,   768,   114,   773,   774,   229,  1112,
    1904      662,   686,    39,    72,   691,  1041,    42,   687,    50,    50,
    1905       50,   487,  -243,   689,   463,    43,    44,   230,    58,   235,
    1906       78,  1272,  1273,   717,  1275,   728,   799,  1433,   742,   481,
    1907     1279,   750,  1437,  1282,   801,    37,   812,    38,   114,   696,
    1908      696,   802,   -14,   597,   862,   638,   818,   332,   597,    47,
    1909       48,   856,    50,  1311,  1283,  1284,  1285,    50,   -15,   470,
    1910      855,  1459,   882,   884,   889,  1175,   909,  -422,     8,     9,
    1911       10,    11,    12,  -529,    50,    39,   924,   934,   547,    42,
    1912      716,   867,   112,   869,   141,   142,  1093,   932,    43,    44,
    1913      979,   938,   937,    51,   115,    43,    44,   944,   114,   945,
    1914       33,  -295,   946,   947,   178,   230,   948,   949,     8,     9,
    1915       10,    11,    12,   685,    45,   910,   963,   509,   973,    59,
    1916       59,   625,    47,    48,   899,   629,   440,    51,    36,   899,
    1917      974,   975,   910,   915,   989,   990,   991,   992,   149,   993,
    1918       33,   994,   995,  1369,    51,  1021,  1527,  1369,  -410,  -409,
    1919      114,  1018,  1527,    59,  1058,  1064,  1081,  1082,   187,   220,
    1920      894,   210,    72,  1527,    51,  1060,  1083,  1527,    36,  1084,
    1921      705,  1090,   743,  1102,   410,  1041,  1100,    58,  1104,   958,
    1922       47,    48,  1109,  1107,  1110,  1300,  1111,    59,  1138,  1114,
    1923       59,  1159,  1394,    78,  1162,  1160,  1161,  1176,  1092,  1177,
    1924      115,  1179,   681,   112,   910,   910,  1180,    -9,   115,  1188,
    1925     1117,   267,   272,  1118,  1193,  1119,    43,    44,   114,  -445,
    1926      114,   114,   696,   -11,   741,   487,  1094,   326,    -3,   696,
    1927      696,   696,    65,  1199,  1197,  1204,  1207,  1411,    71,  1209,
    1928      492,   310,   149,  1220,  1234,  1213,  1450,   705,  1218,  1222,
    1929      115,   345,  1225,  1526,   210,   112,  1231,  1270,   112,  1238,
    1930      141,   239,  1117,  1242,  1244,  1118,  1246,  1119,    43,    44,
    1931     1247,    43,    44,   685,    78,  1041,   112,   348,   833,   187,
    1932      187,  1248,  1249,  1117,  1251,  1258,  1118,  1267,  1119,    43,
    1933       44,  1268,   696,  1092,   398,   267,  1322,   240,   399,   114,
    1934      108,   400,   241,    51,  1274,   401,   402,   403,  1277,  1278,
    1935      404,  1294,   406,   470,   213,   210,  1280,  1324,   131,  1175,
    1936      132,   133,   134,  1281,  1289,  1041,  1302,  1308,  1041,   211,
    1937      221,    43,    44,   310,  1310,    72,   658,  1312,  1316,  1318,
    1938     1317,    59,  1321,  1499,  1326,    51,    50,    50,  1328,  1334,
    1939       58,  1335,  1336,   272,  1337,  1344,   114,   114,   272,   267,
    1940      267,  1347,   681,  1354,  1355,   115,  1285,  1363,   108,  1093,
    1941       39,    59,  1041,   836,    42,  1364,  1365,  1041,  1371,  1108,
    1942      407,  1372,  1382,    43,    44,  1383,   174,  -411,   850,  1401,
    1943      310,  1386,  1397,  1092,   114,  1403,  1405,  1406,  1120,  1407,
    1944     1412,   865,  1120,   310,   659,  1421,  1041,  1422,  1423,   712,
    1945     1339,   440,  1424,  1426,  1431,  1436,    72,    47,    48,   569,
    1946     1440,  1438,  1442,  1444,   149,  1446,   439,   697,   254,  1453,
    1947       78,    58,  1455,  1448,   115,  1454,   151,    78,   345,  1467,
    1948     1456,   152,   598,   616,  1484,   153,  1477,  1479,  1481,  1120,
    1949       68,   119,  1485,    50,   114,  1492,  1507,   621,  1508,   108,
    1950      330,   621,  1521,   114,  1093,  1512,  1519,  1523,  1041,   470,
    1951     1529,  1536,  1537,  1041,   775,  1175,   470,    50,    50,   777,
    1952      162,   776,  1175,  1192,    68,   778,  1116,   779,   267,    78,
    1953     1487,  1041,    39,  1041,   175,   176,    42,  1041,   187,  1293,
    1954     1041,   161,    50,  1400,   372,    43,    44,  1539,  1041,  1094,
    1955     1357,  1224,  1041,  1373,  1470,  1206,   267,  1198,   310,   310,
    1956      890,   222,   267,   416,   621,   891,  1075,   912,   470,  -296,
    1957      112,   371,   141,   142,  1175,  1079,     8,     9,    10,    11,
    1958       12,   793,  1017,    43,    44,   115,   435,  1113,   861,   477,
    1959      348,   926,  1120,  1089,  1303,   935,   443,   260,   783,     0,
    1960      710,     0,   784,   267,  1093,   785,     0,     0,    33,   721,
    1961        0,   267,    72,   621,   722,    51,     0,     0,     0,    72,
    1962      713,     0,     0,     0,     0,     0,   115,    58,     8,     9,
    1963       10,    11,    12,     0,    58,     0,    36,     0,   310,   331,
    1964      115,    59,     0,   310,  1094,   310,   310,   260,   350,     0,
    1965        0,     0,   108,   744,     0,     0,     0,   345,     0,     0,
    1966       33,    39,     0,   175,   176,    42,   519,     0,     0,   697,
    1967        0,    72,   108,     0,    43,    44,     0,   405,     0,     0,
    1968        0,     0,     0,   348,     0,     0,    58,  1474,    36,  1474,
    1969        0,   108,   423,    39,     0,   428,   430,    42,     0,     0,
    1970      161,   569,   569,     0,     0,     0,    43,    44,  1185,   310,
    1971        0,     0,  1120,     0,  1120,  1120,     0,     0,     0,   621,
    1972      345,   446,     0,   616,  1474,   449,  1474,   450,     0,   598,
    1973        0,   598,    45,     0,     0,     0,   457,     0,     0,     0,
    1974       47,    48,    68,     0,  1094,     0,   348,   471,    39,   621,
    1975      175,   176,    42,   108,   621,     0,   616,   478,     0,     0,
    1976      621,    43,    44,   621,   621,   430,     0,     0,     0,     0,
    1977       39,     0,   175,   176,    42,     0,  1473,     0,  1473,   621,
    1978        0,   267,     0,    43,    44,     0,   108,   697,     0,   348,
    1979      348,     0,     0,  1120,     0,     0,     0,   697,     0,     0,
    1980        8,     9,    10,    11,    12,   348,     0,     0,   697,   375,
    1981      674,   115,     0,  1473,   895,  1473,     0,     0,    76,     0,
    1982        0,     0,     0,     0,  1182,  1184,  1186,     0,     0,     0,
    1983        0,   260,    33,     0,     0,   590,   700,   621,   921,   616,
    1984        0,   618,   326,     0,     0,   713,   713,     0,     0,     0,
    1985     1120,  1120,    76,     0,   623,     0,     0,     0,   623,     0,
    1986       36,     0,     0,   348,     0,     0,     0,     8,     9,    10,
    1987       11,    12,   345,     0,   519,     0,   744,   744,     0,   519,
    1988        0,     0,   519,  -297,     0,     0,   108,     0,  1451,   223,
    1989        8,     9,    10,    11,    12,     0,     0,     0,     0,    33,
    1990        0,     0,     0,     0,   920,     0,   597,   471,     0,   108,
    1991        0,     0,    47,    48,     0,     0,   108,     0,     0,   569,
    1992        0,   350,    33,     0,     0,     0,   471,    36,   621,     0,
    1993      983,     0,    39,    79,   471,   598,    42,     0,     0,     0,
    1994        0,     0,     0,     0,     0,    43,    44,   598,  1501,   214,
    1995       36,     0,   692,     0,     0,   430,     0,  1509,   233,     0,
    1996        0,     0,     0,     0,     0,     0,     0,    79,   108,     0,
    1997      706,   712,    68,     0,     0,     0,   353,     0,     0,    47,
    1998       48,   430,   412,     0,     0,   430,     0,     0,    39,   420,
    1999      184,   185,    42,     0,     0,     0,   310,     0,     0,     0,
    2000      214,    43,    44,     0,   224,   216,   697,   697,     0,     0,
    2001        0,     0,     0,     0,   350,     0,     0,     0,   345,     0,
    2002        0,   243,    59,     0,     0,   345,   895,   893,   895,   410,
    2003        0,     0,   879,     0,     0,    47,    48,     0,     0,     0,
    2004      115,   886,   214,     0,   348,   888,     0,     0,   894,   447,
    2005        0,     0,     0,   921,   921,     0,   216,     0,   713,   786,
    2006        0,   412,     0,     0,   115,   310,     0,   697,   697,     0,
    2007       76,     0,     0,     0,     0,    76,   623,   797,     0,     0,
    2008       39,     0,   184,   185,    42,     0,     0,   744,   814,     0,
    2009       59,   355,     0,    43,    44,     0,     0,     0,   216,     0,
    2010        0,     0,     0,   214,     0,     0,   590,     0,     0,     0,
    2011       39,   590,   184,   185,    42,     0,   345,   623,   574,   186,
    2012      350,   350,     0,    43,    44,   215,   578,    47,    48,   581,
    2013        0,    39,     0,   184,   185,    42,   350,   621,   621,     0,
    2014        0,   214,     0,     0,    43,    44,   214,     0,     0,   596,
    2015        0,   597,     0,     0,   692,   310,     0,    47,    48,   216,
    2016        0,     0,  1410,   348,   348,   471,     0,     0,     0,   223,
    2017      893,     0,   410,     0,     0,     0,   215,     0,    47,    48,
    2018        0,    59,     0,     0,     0,    79,     0,     0,     0,   412,
    2019       79,   471,     0,   420,   350,     0,     0,   216,     0,     0,
    2020      115,     0,   216,   925,     0,   895,   430,     0,     0,     0,
    2021      895,     0,     0,  1301,     0,     0,     0,     0,   215,   921,
    2022        0,     0,     0,     0,     0,     0,     0,   267,     0,   706,
    2023        0,   214,     0,     0,   954,    76,   534,   535,   536,   537,
    2024      538,   539,   540,   541,   542,   543,   544,     0,     0,   353,
    2025      697,     0,     0,     0,    76,     0,  1066,   697,   697,   697,
    2026        0,     0,    76,     0,     0,     0,   345,     0,     0,   412,
    2027      545,     0,   692,     0,     0,     0,     0,     0,     0,   215,
    2028      353,     0,   692,     0,   224,   623,     0,   216,   986,     0,
    2029        0,     0,     0,   692,     0,     0,     0,    81,   353,     0,
    2030       76,     0,     0,   997,     0,     0,     0,   272,   115,     0,
    2031       39,   214,   184,   185,    42,     0,     0,   215,     0,     0,
    2032      697,     0,   215,    43,    44,     0,     0,   214,   310,     0,
    2033        0,    81,     0,    59,    59,     0,     0,     0,     0,     0,
    2034        0,     0,   353,   621,     0,     0,     0,   115,     0,  1497,
    2035       79,   410,   214,    68,    59,     0,     0,    47,    48,     0,
    2036      574,   574,     0,     0,   355,     0,     0,   216,   225,    79,
    2037        0,     0,     0,    59,     0,   797,     0,    79,     0,     0,
    2038        0,     0,   706,     0,     0,  1072,    39,     0,   184,   185,
    2039       42,     0,     0,     0,     0,   355,   621,   621,     0,    43,
    2040       44,     0,  1189,     0,   272,   353,     0,   215,   216,   310,
    2041        0,  1086,     0,   355,     0,    79,     0,     0,     0,     0,
    2042      430,   119,   348,   348,     0,   266,     0,     0,     0,     0,
    2043       59,     0,     0,    47,    48,    59,     0,     0,     0,     0,
    2044        0,     0,   115,   872,     0,     0,   526,   875,   353,   353,
    2045      527,   528,   529,     0,     0,   356,     0,   355,     0,     0,
    2046        0,     0,     0,     0,   353,     0,     0,     0,    59,     0,
    2047        0,   214,     0,   590,   530,     0,   531,     0,   532,   533,
    2048        0,     0,   353,     0,     0,     0,   428,   215,     0,     0,
    2049        0,   692,   692,    76,   350,   350,     0,     0,     0,   214,
    2050      267,   526,     0,     0,   214,   527,   528,   529,     0,     0,
    2051        0,     0,  1174,     0,     0,     0,     0,   621,     0,    76,
    2052      355,     0,   353,     0,     0,     0,     0,   216,   215,   530,
    2053        0,   531,     0,   532,  1292,     0,     0,     0,     0,     0,
    2054        0,     0,   115,   348,     0,     0,     0,     0,     0,    81,
    2055        0,     0,   692,   692,    81,   216,     0,   353,     0,     0,
    2056      216,     0,     0,   355,   355,   115,     0,     0,    59,     0,
    2057        0,     0,   115,   214,   115,     0,   115,     0,   574,   355,
    2058        0,     0,     0,     0,     0,     0,     0,   214,     0,     0,
    2059        0,    59,     0,     0,     0,     0,     0,   355,    59,     0,
    2060      353,     0,     0,     0,     0,     0,  1498,     0,    79,     0,
    2061      353,   115,     0,   115,     0,     0,   223,     0,     0,     0,
    2062        0,   353,     0,   706,   115,    88,     0,     0,     0,   216,
    2063     1498,  1498,     0,     0,    79,     0,     0,   355,     0,     0,
    2064      310,     0,     0,   216,     0,     0,     0,   215,   225,     0,
    2065       59,     0,     0,     0,  1356,  1498,     0,     0,     0,    88,
    2066        0,     0,     0,     0,     0,  1271,     0,     0,     0,     0,
    2067        0,     0,   355,     0,     0,   215,     0,     0,   214,     0,
    2068      215,    76,     0,     0,     0,    68,     0,     0,   126,   129,
    2069      130,   412,     0,     0,     0,     0,   226,     0,   692,     0,
    2070      706,     0,     0,   353,   119,     0,     0,     0,     0,     0,
    2071      353,     0,     0,     0,    81,   355,     0,     0,     0,     0,
    2072        0,     0,     0,     0,     0,   355,     0,     0,   356,     0,
    2073        0,   224,     0,    81,   216,   692,   355,     0,     0,     0,
    2074        0,    81,   692,   692,   692,     0,     0,     0,   177,   215,
    2075        0,     0,     0,   350,   350,     0,     0,     0,     0,   356,
    2076      255,     0,   256,   215,     0,  1130,  1174,     0,     0,     0,
    2077        0,     0,     0,     0,     0,     0,     0,   356,     0,    81,
    2078        0,  1141,     0,   363,     0,     0,     0,     0,     0,     0,
    2079        0,     0,     0,     0,     0,     0,    79,   177,     0,   119,
    2080      177,     0,     0,     0,     0,   692,     0,     0,     0,  1471,
    2081        0,  1475,     0,     0,     0,     0,     0,     0,   355,   353,
    2082      353,   356,   353,   353,     0,   355,     0,     0,     0,     0,
     1802      51,   115,   151,   268,   152,   451,   746,    99,   398,   153,
     1803     760,   735,   399,   400,  1052,   427,   857,   438,   401,   261,
     1804     116,   952,   787,   953,   402,   954,   403,    78,  1051,   382,
     1805     383,   834,   600,    52,    51,   817,   145,   469,   409,   809,
     1806      98,    99,   404,  1168,   720,   149,  1151,  1152,   725,   605,
     1807     504,    51,   810,   816,   907,    58,   117,   154,   162,  1363,
     1808     406,    78,  1153,   155,   811,   187,   156,    52,   210,   342,
     1809     937,    51,   194,   624,    98,   217,   805,   628,   227,   474,
     1810    1185,  1186,   911,   806,   376,   150,   407,   424,   398,    58,
     1811     220,    98,   399,   400,   124,    33,    71,   663,   401,   807,
     1812     377,   717,   125,   177,   402,   190,   403,   115,    98,    33,
     1813     808,    98,   473,   475,   518,   115,   672,   821,   267,   272,
     1814     849,   824,   404,   211,   676,  1285,   221,  1121,   203,    65,
     1815      71,   281,  -239,  -239,   144,   866,  1383,  1384,   108,   108,
     1816     406,   820,   841,   151,    72,   152,   844,   827,   310,   149,
     1817     153,   592,   177,  1230,  1225,   177,   162,   115,   345,  1444,
     1818    1425,   210,    33,    65,   847,   847,   407,   901,   372,   410,
     1819     714,   952,   108,   953,  1162,   954,  1471,   146,    72,   204,
     1820     847,   667,   669,  1383,  1384,   148,   187,   187,  1167,    98,
     1821     408,   282,   805,   919,   162,   169,  1286,   469,   154,   806,
     1822     262,    98,   267,   263,   155,  -239,   661,   156,  1385,   108,
     1823      51,  1499,   213,  1501,   566,   807,   469,   162,   577,   170,
     1824     410,  1176,   210,   151,   469,   152,   397,   190,   157,   441,
     1825     153,  1214,   707,  1425,   253,  1218,   410,   474,   847,   977,
     1826     310,   143,   666,   668,   696,   809,    33,    33,   567,   724,
     1827      98,  1001,    51,   585,   461,  1394,  1180,  1062,   810,    99,
     1828     272,  1153,    98,   177,   291,   272,   267,   267,   737,  1000,
     1829     811,   729,   115,  1315,   162,  1318,  1320,   439,   658,    78,
     1830     650,  1178,   805,  1177,    78,    52,   708,  1066,  1075,   806,
     1831     167,  1168,    98,   242,   245,   796,   940,   310,   605,  1151,
     1832    1152,    33,  1513,  1181,   659,   807,   477,    58,   665,  1235,
     1833     310,   437,   172,  1158,   670,  1153,   988,   177,   418,   479,
     1834     410,   410,   518,  1069,   177,  1069,   569,   518,    33,  1528,
     1835     518,   149,   791,  1098,   182,  1455,   843,  1236,   372,  1159,
     1836    1512,   115,  1052,  1179,   492,   345,   820,   493,    71,   598,
     1837     616,   658,   202,  1004,   167,   887,  1051,   248,   817,   730,
     1838    1523,  1159,   386,   809,   621,   481,   440,  1527,   621,   253,
     1839     332,    98,   499,   818,  1182,   597,   810,   659,   387,   731,
     1840     287,    65,   848,   848,   781,  1483,   470,   330,   811,   599,
     1841     108,  1488,   177,    43,    44,   267,    72,  1100,   848,   834,
     1842     825,   112,   597,   141,   142,   187,   251,   509,   389,   177,
     1843    1308,  1508,   372,   177,    43,    44,  1515,  1101,   445,   513,
     1844    1420,   378,   592,   267,   390,   310,   310,   592,   877,   267,
     1845    1309,   621,   547,   548,   391,  1153,  1346,   458,  1429,   552,
     1846     553,  1107,   853,  1083,    78,   190,   696,  1168,   393,   434,
     1847     392,   741,   115,   455,  1168,   469,   848,   625,   859,  1408,
     1848     636,   629,   112,    78,   394,   972,  1119,   547,   554,   555,
     1849     267,    78,  1370,  1409,   902,    43,    44,   860,   267,   330,
     1850     621,   916,    51,  1086,  1224,   372,   580,   713,   410,    99,
     1851     903,   707,  1216,   115,   213,  -294,   871,   999,   410,   941,
     1852     870,   858,   547,   753,   981,   310,  1168,   115,  -525,    78,
     1853     310,   434,   310,   310,   605,    52,   904,   575,  1001,   874,
     1854     744,   410,    98,   576,   345,   556,   557,   599,   902,  1414,
     1855    1415,   904,   905,   868,  1429,  1139,  1141,    58,  1124,  1429,
     1856     410,  1165,   112,   253,  1063,   708,   470,  1064,  1456,   167,
     1857     -12,  1260,  1261,  1107,   898,    43,    44,  1166,   901,  1429,
     1858     558,   559,  1457,  1165,   696,   470,  1429,   837,   569,   569,
     1859     264,   838,  -448,   470,   696,  1299,   310,  1301,    71,  1291,
     1860     900,   741,  -449,   758,   594,   696,   621,   345,   638,   677,
     1861     616,  1300,  1461,  1302,   277,   576,   598,  1347,   598,  1461,
     1862       2,   207,     4,     5,     6,     7,    59,    59,   999,   705,
     1863     839,    65,   279,  1344,   840,   213,   621,   280,   549,   112,
     1864     108,   621,   698,   616,   550,   551,    72,   621,   699,   715,
     1865     621,   621,    43,    44,   333,   716,   804,   334,   599,   131,
     1866      59,   132,   133,   134,   707,   839,   621,  1011,   267,  1082,
     1867     335,  1509,    43,    44,     8,     9,    10,    11,    12,   384,
     1868     726,   177,   336,   740,   330,   330,   727,  1056,    37,   741,
     1869      38,   762,   763,   764,    59,  -112,   177,    59,   115,  -112,
     1870     112,   895,  1135,   798,   410,   881,    33,  1112,  1393,   177,
     1871    1113,   741,  1114,    43,    44,    50,   114,  1094,   708,   719,
     1872     337,   723,    78,  1333,   621,   921,   616,  1334,  1138,   836,
     1873     597,   371,   713,   713,    36,   398,  1017,   883,   338,   399,
     1874     400,   899,   375,   741,   850,   401,   114,   114,    78,    50,
     1875     966,   402,   330,   403,   291,   979,   967,   865,   388,   345,
     1876      50,   699,  1212,   744,   744,  1140,    50,   597,   576,   404,
     1877    1340,   330,   804,   599,    50,  1341,   741,  1150,   396,  1410,
     1878      50,   741,   440,    50,   348,  1357,    50,  1221,   406,   410,
     1879     952,   177,   953,  1463,   954,  1464,  1422,  1343,   425,   114,
     1880     114,  1348,  1411,   741,   696,   696,   569,   741,  1408,   426,
     1881     592,   253,   332,   410,   407,   621,    39,   984,   175,   176,
     1882      42,   408,   598,    50,   470,  1430,    50,  1143,   448,    43,
     1883      44,   741,  1477,    50,   598,   330,   560,   561,  1478,   499,
     1884     164,     2,   207,     4,     5,     6,     7,  1533,    59,  1510,
     1885     470,   970,   967,   576,  -372,   371,   213,   332,   410,   696,
     1886     696,   459,   804,  -401,    50,   854,  1353,  1354,  1481,  1422,
     1887     213,   460,   229,   503,   599,   835,    50,   482,    59,   732,
     1888     594,   733,    39,   310,   734,   941,    42,   738,   705,   941,
     1889     941,   507,   960,  1403,   967,    43,    44,   512,  1163,   525,
     1890     707,    50,    50,   562,   164,   345,  1383,  1384,   113,    37,
     1891      78,    38,   345,   895,   906,   895,   908,    50,  1231,  1232,
     1892     455,   802,   563,   597,   564,    50,   565,   115,   339,    47,
     1893      48,   765,   766,   112,    50,   141,   239,    50,    58,   586,
     1894     921,   921,   767,   768,   114,   713,    43,    44,   568,    -3,
     1895     410,   115,   310,  1065,   708,   899,    47,    48,   651,   114,
     1896     658,   213,   652,   114,   653,   898,   655,    50,   114,   656,
     1897    1087,   657,   240,   258,  1495,   744,   660,   241,   662,    71,
     1898     689,    50,    50,   773,   774,   599,   659,   686,    50,   691,
     1899     687,   900,  -243,   728,  1207,    50,   418,   654,   410,   433,
     1900     717,   798,   742,  1306,   345,  1295,  1088,   750,  1267,  1268,
     1901     799,  1270,    65,   769,   770,   771,   772,   801,  1275,   812,
     1902    1277,   108,   856,  1107,   -14,   621,   621,    72,   862,   -15,
     1903    1336,   708,   479,   332,   410,     2,   207,     4,     5,     6,
     1904       7,   705,   696,   310,   855,   112,    50,   141,   142,   696,
     1905     696,   696,   112,   882,   141,   142,   884,   348,    43,    44,
     1906     743,   433,   410,    50,    50,    43,    44,  -295,    47,    48,
     1907      78,   818,   332,   597,     8,     9,    10,    11,    12,   889,
     1908      50,   909,   115,  -422,    50,   638,   522,   895,   716,   108,
     1909     932,  1022,   895,  1364,   637,  -529,   244,  1364,    58,   164,
     1910     924,   921,   934,    37,   938,    38,    33,   945,    59,   267,
     1911      50,   939,   696,  1278,  1279,  1280,   946,   118,   697,   947,
     1912      50,   920,   112,   597,   141,   142,   547,   899,   948,    47,
     1913      48,  1071,   899,   964,    36,    43,    44,   949,    50,  1170,
     1914     950,   974,   975,   976,    50,  -296,  1053,   990,   345,   991,
     1915     348,   440,     8,     9,    10,    11,    12,   992,   993,   994,
     1916     463,   721,  1077,   112,   995,   509,   722,   160,    -3,   215,
     1917    1112,   996,   470,  1113,  -410,  1114,    43,    44,  -409,  1389,
     1918     114,   108,  1019,  1059,    33,    50,  1055,    72,   638,   272,
     1919     115,   330,   894,    50,  1076,   230,  1445,    50,   231,  1078,
     1920    1079,   235,    50,   237,  1229,   114,  1085,   114,  1095,   220,
     1921     246,   310,    36,   348,    39,   741,   175,   176,    42,  1096,
     1922     215,  1097,  1099,   259,  1102,   621,  -297,    43,    44,   115,
     1923     959,   160,  1104,     8,     9,    10,    11,    12,    78,   112,
     1924    1105,   685,   114,   835,   211,   221,  1112,   114,  1087,  1113,
     1925    1106,  1114,    43,    44,  1109,  1133,   348,   348,  1154,  1155,
     1926    1157,  1187,   215,  1171,   326,    33,    58,  1406,  1156,  1172,
     1927    1174,  1175,   348,   340,  1183,  1215,  1194,   705,   621,   621,
     1928    1317,  1189,  1022,    -3,  1088,  1199,   272,  1521,  1202,  1204,
     1929    1213,   310,   492,    36,   522,   114,   522,  1040,  1208,   522,
     1930    1220,  1226,   522,  1217,  1233,  1237,  1239,    71,  1241,  1242,
     1931    1269,    50,  1243,    50,  1244,  1246,  1253,  1272,    78,  1262,
     1932     697,  1263,   429,   215,   115,  1297,   432,  1273,   108,  1290,
     1933     348,  1274,    50,   213,   398,  1276,   230,  1303,   399,   400,
     1934      65,   439,  1284,  1087,   401,  1307,    58,    50,  1305,   108,
     1935     402,   114,   403,  1311,   705,    72,   326,  1312,  1313,  1316,
     1936      50,   215,   114,    50,   114,   526,   215,   108,   404,   527,
     1937     528,   529,   113,  1494,  1321,  1323,  1329,  1331,  1330,  1088,
     1938    1332,  1339,   267,  1342,  1349,  1350,   406,  1170,   432,  1280,
     1939    1358,   487,  1359,   530,  1265,   531,    50,   532,   533,   621,
     1940     114,  1360,   114,   497,  1366,    39,   114,   184,   185,    42,
     1941     658,  1367,   407,   520,   114,  1377,  1378,  -411,    43,    44,
     1942     470,  1381,  1392,  1396,   115,   177,   160,    50,    50,   108,
     1943     440,  1400,  1398,  1401,   754,    72,   659,  1402,   697,   759,
     1944    1407,  1421,    50,  1087,   893,  1334,   410,   115,   697,  1416,
     1945    1417,   215,    47,    48,   115,  1418,   115,   584,   115,   697,
     1946    1173,   589,   108,  1419,  1426,   894,  1435,   685,  1437,   151,
     1947    1431,   152,  1439,  1405,    78,   230,   153,   235,  1433,  1088,
     1948     622,    78,  1441,   174,   626,   880,   526,   463,  1493,    59,
     1949     527,   528,   529,   115,  1443,   115,  1449,  1448,    68,   119,
     1950    1450,  1451,    58,  1462,  1472,  1474,   115,  1476,  1479,    58,
     1951    1480,   348,  1493,  1493,   530,  1487,   531,    50,   532,  1288,
     1952     162,  1502,   310,  1503,  1507,   254,    39,  1516,  1514,    50,
     1953      42,   215,    68,    78,  1518,  1524,  1531,  1493,  1532,    43,
     1954      44,   326,   326,  1170,   372,  1188,   775,   777,   776,   161,
     1955    1170,   778,   477,  1111,   867,   779,   869,    59,  1289,  1395,
     1956    1482,    58,   108,   230,  1534,    45,  1352,  1219,   681,   222,
     1957      76,   637,   215,    47,    48,  1368,   470,   114,  1465,  1193,
     1958    1201,   118,   890,   470,   891,   108,   912,  1074,  1070,   793,
     1959    1108,    72,   108,  1018,   861,  1084,   926,   783,    72,  1298,
     1960     710,   935,  1170,   973,    76,   260,   915,   487,    50,   326,
     1961      50,   487,     0,   978,   784,     0,   785,   114,     0,     0,
     1962     416,   520,     0,   520,   989,  1040,   520,     0,   326,   520,
     1963       0,   348,   348,     0,     0,   470,     0,     0,     0,     0,
     1964      50,   223,     0,   435,   108,     0,     0,   331,     0,    59,
     1965      72,     0,     0,   443,     0,   260,   350,     0,   697,   697,
     1966       0,   114,     0,     0,     0,   112,     8,     9,    10,    11,
     1967      12,     0,  1112,     0,   637,  1113,     0,  1114,    43,    44,
     1968     114,     0,     0,     0,   114,   405,     0,     0,     0,     0,
     1969       0,   215,   326,     0,     0,     0,   685,     0,    33,     0,
     1970     423,     0,   794,   428,   430,     0,  1319,   910,   161,     0,
     1971       0,     0,     0,   697,   697,     0,     0,     0,     0,   215,
     1972       0,  1356,     0,   519,   215,     0,    36,     0,   353,   446,
     1973       0,   114,   833,   449,     0,   450,     0,   589,     0,     0,
     1974       0,     0,     0,   842,   457,     0,     0,     0,     0,     0,
     1975      68,     0,     0,     0,     0,   471,     0,     0,     0,     0,
     1976       0,   330,     0,     0,     0,   478,     0,     0,   114,     0,
     1977     568,    39,   410,   430,  1382,    42,     0,  1390,    47,    48,
     1978       0,     0,    50,     0,    43,    44,    39,    50,   184,   185,
     1979      42,     0,     0,   215,   681,    59,    59,     0,   971,    43,
     1980      44,   447,     0,     0,    50,     0,     0,   215,   412,     0,
     1981     712,     0,     0,     0,     0,   420,     0,    59,    47,    48,
     1982       0,  1428,    76,  1148,  1149,   186,  1432,    76,   114,     0,
     1983       0,     0,   487,    47,    48,    59,     0,     0,     0,   260,
     1984       0,     0,     0,   590,    39,     0,   175,   176,    42,   618,
     1985     497,   685,     0,  1103,     0,  1454,     0,    43,    44,  1296,
     1986       0,     0,   623,     0,     0,     0,   623,   674,     0,     0,
     1987    1012,     0,  1115,     0,   163,     0,  1115,     0,  1196,  1197,
     1988     114,   214,     0,   375,   348,   348,     0,   412,   195,     0,
     1989     233,   218,    59,   700,   228,     0,   697,    59,   215,     0,
     1990       0,     0,     0,   697,   697,   697,    39,     0,   184,   185,
     1991      42,   980,   910,     0,     0,   471,     0,     0,     0,    43,
     1992      44,   223,     0,  1115,     0,     0,     0,     0,     0,   350,
     1993      59,   519,   214,     0,   471,     0,   519,     0,     0,   519,
     1994    1522,     0,   471,     0,   574,   596,  1522,   597,   114,     0,
     1995     114,   114,   578,    47,    48,   581,     0,  1522,   910,     0,
     1996     692,  1522,     0,   430,     0,     0,   697,     0,     0,     0,
     1997       0,     0,   163,     0,   214,     0,     0,     0,   706,     0,
     1998      68,     0,     0,     0,   373,     0,     0,    76,     0,   430,
     1999    1122,     0,     0,   430,     0,     8,     9,    10,    11,    12,
     2000       0,   353,     0,     0,     0,   348,    76,     0,     0,    79,
     2001     163,     0,   216,     0,    76,   412,     0,     0,     0,   420,
     2002    1115,     0,   350,   681,     0,     0,     0,    33,   243,   114,
     2003      59,     0,   353,   163,     0,   214,     0,     0,  1012,     0,
     2004       0,     0,     0,    79,     0,   442,   487,  1089,   326,     0,
     2005     353,     0,    76,    59,     0,    36,     0,     0,     0,     0,
     2006      59,  1322,     0,   216,     0,     0,     0,   786,  1324,  1325,
     2007    1326,     0,     0,   214,     0,     0,    50,    50,   214,     0,
     2008     224,     0,     0,     0,   623,   797,   114,   114,   215,   879,
     2009       0,     0,     0,   498,   353,   412,   814,     0,   886,   743,
     2010     833,   410,   888,     0,     0,   216,     0,    47,    48,     0,
     2011       0,     0,    59,     0,   590,     0,     0,   910,     0,   590,
     2012       0,     0,     0,     0,   114,   623,     0,     0,   350,   350,
     2013       0,  1369,     0,    39,     0,   184,   185,    42,     0,     0,
     2014    1115,     0,  1115,  1115,   350,     0,    43,    44,     0,     0,
     2015       0,     0,     0,     0,   373,     0,     0,   353,     0,     0,
     2016       0,     0,   692,   214,     0,     0,   216,   355,     0,     0,
     2017       0,     0,   893,   471,   410,     0,   910,   910,   681,     0,
     2018      47,    48,     0,    50,   114,     0,   574,   574,     0,     0,
     2019       0,     0,    39,   114,   184,   185,    42,     0,     0,   471,
     2020     353,   353,   350,     0,   216,    43,    44,    50,    50,   216,
     2021       0,   925,     0,     0,   430,     0,   353,     0,     0,     0,
     2022       0,  1115,     0,     0,     0,  1469,     0,  1469,   373,     0,
     2023       0,  1492,    50,   410,   353,     0,     0,   706,     0,    47,
     2024      48,     0,   955,   214,    39,    76,   184,   185,    42,     0,
     2025       0,     0,     0,     0,     0,     0,     0,    43,    44,   214,
     2026       0,    79,  1469,     0,  1469,     0,    79,     0,     0,   872,
     2027     215,    76,     0,   875,   353,     0,     0,     0,  1115,  1115,
     2028     692,     0,     0,   266,   214,     0,     0,     0,     0,     0,
     2029     692,    47,    48,   623,   216,     0,   987,     0,     0,     0,
     2030       0,   692,     0,     0,     0,     0,    81,     0,     0,   353,
     2031       0,   998,     0,  1061,     0,     0,  1446,     0,     0,     0,
     2032       0,     0,     0,     0,     0,  1089,     8,     9,    10,    11,
     2033      12,     8,     9,    10,    11,    12,     0,     0,     0,     0,
     2034      81,   534,   535,   536,   537,   538,   539,   540,   541,   542,
     2035     543,   544,   353,     0,     0,     0,     0,     0,    33,     0,
     2036     224,    68,   353,    33,     0,     0,     0,   215,   223,     0,
     2037       0,     0,     0,   353,   216,   545,  1496,   225,     0,     0,
     2038       0,     0,     0,   797,   910,  1504,    36,     0,     0,     0,
     2039     706,    36,     0,  1067,     0,     0,    39,     0,   184,   185,
     2040      42,   910,     0,   214,   574,     0,     0,     0,     0,    43,
     2041      44,     0,     0,     0,     0,   216,     0,     0,     0,  1081,
     2042    1089,     0,     0,     0,     0,     0,    79,     0,   430,   119,
     2043     920,   214,   597,    76,     0,   596,   214,   597,    47,    48,
     2044     355,     0,     0,    47,    48,    79,     0,    88,     0,     0,
     2045       0,     0,     0,    79,     0,   353,     0,     0,     0,     0,
     2046    1184,     0,   353,     0,   356,     0,     8,     9,    10,    11,
     2047      12,   355,     0,   910,   910,     0,     0,     0,     0,     0,
     2048       0,    88,   590,     0,     0,     0,     0,     0,     0,   355,
     2049       0,    79,     0,     0,     0,   428,     0,     0,    33,     0,
     2050     692,   692,     0,   350,   350,   214,     0,     0,     0,     0,
     2051     128,   128,   128,     0,     0,     0,     0,   412,   226,   214,
     2052    1089,  1169,     0,     0,     0,     0,    36,     0,     0,     0,
     2053       0,    39,     0,   355,   216,    42,     0,     0,     0,     0,
     2054     498,     0,     0,     0,    43,    44,     0,     0,     0,     0,
     2055       0,     0,  1468,     0,  1468,   692,   692,     0,    81,     0,
     2056       0,     0,   216,    81,     0,     0,     0,   216,     0,     0,
     2057      45,     0,   353,   353,     0,   353,   353,     0,    47,    48,
     2058       0,     0,   128,     0,   128,     0,     0,     0,     0,  1468,
     2059       0,  1468,  1125,    76,     0,     0,   355,     0,     0,     0,
     2060       0,     0,     0,     0,     0,   363,     0,     0,  1136,   276,
     2061     214,     0,     0,     0,     0,     0,     0,     0,   326,     0,
     2062       0,     0,     0,     0,     0,     0,   706,   353,   353,     0,
     2063       0,     0,     0,     0,     0,     0,   216,     0,     0,   355,
     2064     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2065     216,     0,     0,     0,     0,   355,     0,   225,     0,     0,
     2066       0,     0,     0,     0,   128,     0,     0,     0,  1266,     0,
     2067       0,     0,   128,   355,   128,   128,     0,     0,     0,   128,
     2068       0,   128,   128,   412,    79,     0,     0,     0,     0,    68,
     2069       0,     0,     0,     0,     0,     0,     0,     0,   353,    88,
     2070       0,   692,     0,   706,    88,     0,  1351,   119,     0,     0,
     2071      79,     0,     0,   355,     0,     0,     0,     0,     0,     0,
     2072       0,     0,  1222,    81,     0,     0,     0,     8,     9,    10,
     2073      11,    12,     0,     0,     0,     0,     0,   356,   692,     0,
     2074     223,   216,    81,     0,     0,   692,   692,   692,   355,     0,
     2075      81,   128,     0,     0,     0,     0,   350,   350,     0,    33,
     2076       0,    76,     0,     0,     0,     0,     0,     0,   356,  1169,
     2077       0,     0,     0,   353,     0,   353,     0,     0,     0,     0,
     2078       0,     0,     0,     0,     0,     0,   356,    36,    81,     0,
     2079       0,   355,    39,     0,   184,   185,    42,     0,   226,     0,
     2080     214,   355,   119,     0,     0,    43,    44,   224,   692,     0,
     2081     353,     0,   355,     0,     0,     0,     0,   353,   353,   353,
     2082       0,     0,     0,   126,   129,   130,     0,     0,   353,   353,
     2083     356,   893,     0,   410,     0,     0,     0,     0,     0,    47,
     2084      48,    76,     0,     8,     9,    10,    11,    12,     0,     0,
     2085       0,   168,     0,   173,     0,     0,   179,   180,   181,     0,
     2086     183,  1466,     0,  1470,    88,     0,     0,     0,     0,     0,
     2087       0,     0,    79,     0,   234,    33,     0,   350,   363,     0,
     2088     353,     0,     0,    88,     0,     0,   249,   250,     0,     0,
     2089       0,    88,     0,   356,   355,   255,     0,   256,  1498,     0,
     2090    1500,   355,   119,    36,     0,     0,     0,     0,    39,   363,
     2091     184,   185,    42,     0,     0,     0,     0,     0,     0,     0,
     2092       0,    43,    44,     0,     0,  1169,     0,   363,     0,    88,
     2093       0,   216,  1169,     0,     0,     0,   356,   356,     0,     0,
     2094       0,     0,  1529,     0,  1530,     0,     0,   186,     0,   353,
     2095       0,     0,   356,     0,     0,    47,    48,  1537,  1538,     0,
     2096       0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
     2097     356,   363,     0,     0,     0,     0,     0,   395,     0,     0,
     2098       0,    81,   214,     0,  1169,     0,     0,   414,   415,     0,
     2099       0,  1517,   419,    33,   421,   422,     0,    76,     0,     0,
     2100       0,     0,     0,     0,    76,     0,     0,    81,     0,     0,
     2101     356,   355,   355,     0,   355,   355,     0,     0,     0,     0,
     2102       0,    36,     0,     0,     0,     0,    39,     0,   184,   185,
     2103      42,     0,    79,     0,   363,     0,     0,     0,     0,    43,
     2104      44,     0,     0,     0,     0,   356,     0,     0,     0,     0,
     2105       0,     0,     0,     0,   128,   128,    76,     0,     0,     0,
     2106       8,     9,    10,    11,    12,   266,   355,   355,     0,     0,
     2107       0,     0,     0,    47,    48,     0,     0,   363,   363,   214,
     2108       0,   128,     0,     0,   128,   128,     0,   128,   356,   128,
     2109     128,     0,    33,   363,   128,   128,     0,     0,   356,     0,
     2110       0,     0,     0,     0,   225,     0,     0,     0,     0,   356,
     2111       0,   363,     0,   216,     0,     8,     9,    10,    11,    12,
     2112      36,     0,    88,     0,     0,    39,     0,   184,   185,    42,
     2113       0,     0,     0,     0,     0,     0,     0,   355,    43,    44,
     2114     588,     0,   595,     0,     0,     0,     0,    33,    88,     0,
     2115       0,   363,     0,   619,   620,     0,     0,     0,     0,     0,
     2116       0,     0,     0,     0,  1492,     0,   410,     0,     0,    81,
     2117       0,     0,    47,    48,     0,    36,     0,     0,     0,   224,
     2118      39,     0,     0,     0,    42,     0,   363,     0,     0,     0,
     2119       0,   356,     0,    43,    44,     0,     0,     0,   356,     0,
     2120      79,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2121     216,     0,   355,     0,   355,     0,     0,     0,     0,   712,
     2122       0,     0,     0,     0,     0,     0,     0,    47,    48,   363,
     2123     128,   128,     0,     0,     0,     0,     0,     0,     0,   363,
     2124       0,     0,     0,     0,     0,   226,     0,     0,     0,   355,
     2125     363,     0,     0,     0,     0,     0,   355,   355,   355,     0,
     2126       0,     0,     0,     0,     0,     0,     0,   355,   355,     0,
    20832127       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2084       76,     0,   395,     0,     0,     0,  1503,     0,  1505,     0,
    2085        0,     0,   414,   415,   215,     0,     0,   419,     0,   421,
    2086      422,     0,   412,     0,     0,     0,     0,   214,     0,     0,
    2087        0,     0,     0,     0,   350,     0,     0,    88,     0,     0,
    2088      353,   353,    88,     0,   356,     0,     0,     0,     0,     0,
    2089     1534,     0,  1535,     0,     0,     0,     0,     0,     0,   119,
    2090        0,  1227,     0,     0,     0,  1542,  1543,     0,   177,     0,
     2128      79,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2129      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2130      25,    26,    27,     0,     0,    28,    29,    30,   356,   356,
     2131      88,   356,   356,     0,     0,    33,     0,     0,     0,   355,
     2132       0,     0,     0,     0,     0,     0,     0,     0,     0,    81,
     2133       0,     0,   363,     0,     0,     0,     0,     0,     0,   363,
     2134       0,     0,     0,    36,     0,     0,     0,     0,    39,     0,
     2135      40,    41,    42,     0,     0,     0,     0,     0,     0,     0,
     2136       0,    43,    44,   356,   356,     0,     0,   788,   789,     0,
    20912137       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2092        0,     0,  1174,   216,     0,     0,     0,   356,   356,  1174,
    2093        0,     0,     0,     0,   355,   355,     0,   355,   355,     0,
    2094        0,     0,     0,   356,     0,     0,     0,     0,     0,     0,
    2095        0,   353,     0,     0,     0,    79,     0,     0,     0,     0,
    2096        0,   356,   177,     0,     0,     0,     0,     0,     0,     0,
    2097        0,     0,    81,     0,     0,     0,   226,     0,     0,     0,
    2098        0,  1174,     0,     0,     0,   168,     0,   173,  1522,     0,
    2099      179,   180,   181,   223,   183,   355,   355,     0,    81,     0,
    2100        0,   356,     0,     0,     0,     0,     0,     0,   234,     0,
    2101        0,     0,     0,    76,     0,     0,     0,     0,     0,     0,
    2102      249,   250,     0,     0,     0,     0,   353,     0,   353,     0,
    2103        0,     0,     0,     0,     0,     0,   356,   177,     0,     0,
    2104        0,     0,    88,   215,     0,     0,     0,     0,     0,     0,
    2105        0,     0,     0,     0,   177,   214,   363,     0,   177,     0,
    2106        0,    88,     0,   353,     0,     0,   355,     0,     0,    88,
    2107      353,   353,   353,     0,     0,     0,     0,     0,     0,   356,
    2108        0,   353,   353,     0,     0,     0,     0,   363,     0,   356,
    2109        0,     0,     0,     0,    76,   225,     0,     0,     0,     0,
    2110      356,     0,     0,     0,     0,   363,     0,    88,   224,     0,
    2111        0,   216,     8,     9,    10,    11,    12,     0,     0,     0,
    2112        0,   128,   128,   128,     0,     0,     0,     0,    79,     0,
    2113        0,     0,     0,   353,     0,     0,     0,     0,     0,     0,
    2114        0,   355,     0,   355,    33,     0,     0,     0,     0,   363,
    2115        0,     0,   214,     0,     0,     0,     0,     0,     0,     0,
    2116       81,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2117        0,     0,    36,     0,     0,     0,     0,    39,   355,   184,
    2118      185,    42,   356,     0,     0,   355,   355,   355,     0,   356,
    2119       43,    44,     0,   128,     0,   128,   355,   355,     0,     0,
    2120        0,     0,   353,     0,     0,     0,     0,     0,   216,    79,
    2121        0,     0,   363,     0,     0,     0,   596,     0,   597,     0,
    2122      276,     0,     0,     0,    47,    48,     0,     0,     0,     0,
    2123        0,   215,   788,   789,     0,     0,     0,     0,     0,     0,
    2124        0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
    2125       76,     0,     0,     0,     0,   363,   363,    76,     0,   819,
    2126        0,     0,   822,   823,     0,   826,     0,   828,   829,     0,
    2127        0,   363,   830,   831,   588,   128,   595,     0,     0,     0,
    2128        0,     0,     0,   128,     0,   128,   128,   619,   620,   363,
    2129      128,     0,   128,   128,     0,     0,     0,     0,   356,   356,
    2130       88,   356,   356,     0,     0,     0,   177,     0,     0,    76,
    2131        0,     0,     0,     0,     0,     0,     0,   355,     0,    81,
    2132        0,   177,     0,     0,     0,     0,    88,     0,   215,   363,
    2133        0,     0,     0,     0,   177,     0,     0,     0,     0,     0,
     2138       0,   128,     0,     0,     0,     0,   128,    45,   355,    46,
     2139       0,     0,     0,     0,   819,    47,    48,   822,   823,     0,
     2140     826,     0,   828,   829,     0,     0,     0,   830,   831,     8,
     2141       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2142      19,    20,    21,    22,    23,    24,    25,    26,    27,  -298,
     2143       0,     0,     0,     0,   356,     0,    79,     0,     0,     0,
     2144       0,    33,   166,    79,     0,     0,     0,     0,     0,   363,
     2145     363,   997,   363,   363,     8,     9,    10,    11,    12,   219,
     2146       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2147      88,     0,     0,     0,     0,     0,   225,     0,     0,     0,
     2148    -298,     0,     0,     0,   283,   284,    33,   285,     0,   913,
     2149       0,   914,     0,     0,     0,    79,     0,    81,   917,   918,
     2150       0,     0,     0,   923,   363,   363,   166,     0,     0,   356,
     2151     273,   356,     0,   286,    36,     0,   929,     0,     0,   287,
     2152       0,   933,     0,   288,     0,     0,   289,   290,   291,   292,
     2153     293,   294,    43,    44,     0,   295,   296,     0,     0,   166,
     2154       0,   128,     0,   957,   958,     0,   356,     0,   595,   369,
     2155       0,     0,   374,   356,   356,   356,     0,     0,   297,     0,
     2156     378,     0,     0,     0,   356,   356,   344,    48,   299,   300,
     2157     301,   302,     0,     0,   212,   363,     0,    81,     0,     0,
     2158       0,     0,     0,   232,     0,   236,     0,   238,     0,     0,
     2159       0,     0,     0,     0,   247,     0,     0,     0,     0,     0,
     2160       0,   166,     0,     0,     0,     0,     0,     0,     0,     0,
     2161       0,     0,     0,   219,     0,     0,   356,   226,     0,     0,
     2162       0,     0,     0,     0,     0,   212,     0,   236,   238,   247,
     2163       0,   166,     0,     0,     0,     0,     0,     0,    88,     0,
     2164       0,  1007,     0,  1008,  1009,  1010,     0,     0,     0,     0,
     2165     363,     0,   363,     0,     0,     0,   374,     0,     0,     0,
     2166       0,     0,  1054,   166,     0,     0,     0,   212,     0,   128,
     2167       0,     0,     0,     0,     0,     0,  1060,     0,     0,     0,
     2168       0,     0,     0,     0,     0,   356,     0,   363,   523,     0,
     2169       0,     0,     0,     0,   363,   363,   363,     0,     0,  1072,
     2170       0,   166,     0,     0,     0,   363,   363,     0,     0,     0,
     2171       0,     0,     0,     0,     0,  1080,     0,     0,    88,     0,
     2172       0,     0,     0,     0,     0,     0,     0,     0,   212,     0,
     2173     236,   238,   247,    81,     0,     0,   593,     0,     0,     0,
     2174      81,   617,     0,     0,     0,     0,     0,     0,     0,     0,
     2175       0,     0,     0,     0,     0,     0,     0,   363,     0,  1110,
     2176       0,     0,     0,     0,  1120,     0,   212,     0,     0,  1123,
     2177       0,   212,     0,     0,  1127,     0,     0,     0,     0,  1129,
     2178       0,  1130,  1131,     0,     0,  1134,   496,     0,     0,     0,
     2179       0,     0,    81,     0,  1146,     0,     0,     0,     0,     0,
    21342180       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2135        0,     0,     0,     0,     0,     0,     0,     0,     0,   356,
    2136      356,     0,   128,     0,   363,    79,     0,     0,     0,     0,
    2137        0,     0,    79,     0,     1,     2,   207,     4,     5,     6,
     2181    1160,  1161,     0,     0,     0,     0,   166,   166,     0,     0,
     2182       0,     0,   369,     0,     0,     0,   363,     0,     0,     0,
     2183       0,     0,     0,     0,     0,     0,  1190,   212,     0,  1192,
     2184       0,     0,     0,   523,     0,     0,     0,     0,     0,     0,
     2185       0,     0,     0,     0,  1198,     0,   212,     0,     0,     0,
     2186       0,   236,   238,     0,     0,     0,     0,     0,     0,   247,
     2187       0,   709,     0,     0,    88,     0,     0,     0,     0,     0,
     2188       0,    88,  1206,     0,   166,     0,     0,     0,  1210,  1211,
     2189       0,     0,     0,     0,     0,     0,   523,     0,   523,     0,
     2190       0,   523,     0,   166,   523,     0,     0,  1227,     0,     0,
     2191       0,   212,  1234,     0,     0,   369,     0,  1238,     0,     0,
     2192       0,     0,     0,     0,     0,     0,     0,     0,  1245,   212,
     2193       0,     0,     0,    88,   212,     0,   212,     0,     0,     0,
     2194       0,  1252,     0,  1254,  1255,  1256,  1257,     0,     0,     0,
     2195       0,     0,   212,     0,     0,   212,   212,     0,  1264,     0,
     2196    1160,     0,     0,   212,   173,     0,     0,   166,     0,     0,
     2197       0,     0,     0,     0,     0,     0,     0,   212,   369,     0,
     2198       0,   800,  1287,     0,   212,     0,     0,     0,     0,     0,
     2199       0,     0,  1292,  1293,     0,     0,  1144,     0,     0,     8,
     2200       9,    10,    11,    12,     0,     0,     0,   593,     0,     0,
     2201       0,     0,   593,   158,     0,     0,     0,     0,     0,     0,
     2202       0,   369,   369,     0,     0,     0,     0,     0,     0,   283,
     2203     284,    33,   285,     0,     0,     0,     0,   369,     0,     0,
     2204       0,     0,     0,     0,     0,     0,  1327,  1328,     0,     0,
     2205       0,     0,     0,     0,     0,     0,  1338,     0,   286,    36,
     2206     252,     0,     0,     0,   287,     0,     0,     0,   288,   523,
     2207     257,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2208     295,   296,     0,     0,     0,     0,     0,     0,     0,     0,
     2209       0,     0,     0,     0,     0,   369,   212,   922,     0,     0,
     2210       0,     0,     0,   297,     0,   378,     0,   283,   284,     0,
     2211     285,  1145,    48,   299,   300,   301,   302,     0,  1373,     0,
     2212    1374,  1375,  1376,     0,   212,     0,     0,     0,     0,   212,
     2213     709,     0,  1380,     0,     0,     0,   286,     0,     0,   385,
     2214    1391,     0,   287,     0,     0,     0,   288,     0,     0,   289,
     2215     290,   291,   292,   293,   294,    43,    44,     0,   295,   296,
     2216       0,     0,   417,     0,     0,  1412,  1413,     0,     0,     0,
     2217       0,     0,     0,     0,     0,     0,   431,     0,     0,     0,
     2218       0,   297,     0,   378,     0,   436,     0,     0,   617,    47,
     2219      48,   299,   300,   301,   302,   444,     0,     0,   212,     0,
     2220       0,     0,   780,     0,     0,     0,     0,     0,     0,     0,
     2221    1452,  1453,   212,     0,     0,     0,     0,     0,     0,     0,
     2222     462,     0,     0,  1458,     0,   472,     0,     0,     0,     0,
     2223    1458,     0,     0,   496,     0,     0,     0,     0,   480,     0,
     2224       0,     0,     0,     0,   491,     0,   495,     0,     0,     0,
     2225       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2226       0,     0,     0,  1491,     0,   524,     0,  1497,     0,     0,
     2227       0,     0,     0,     0,     0,     0,   369,     0,     0,     0,
     2228       0,     0,     0,   709,     0,     0,     0,     0,     0,     0,
     2229       0,     0,   212,     0,     0,  1519,     0,  1520,   523,     0,
     2230       0,     0,     0,   212,     0,     0,   583,     0,     0,     0,
     2231     587,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2232     212,     0,     0,   166,     0,  1535,  1536,     0,     0,     0,
     2233       0,     0,     0,  1539,  1540,     0,     0,     0,   630,     0,
     2234       0,     0,   631,   632,     0,   633,     0,     0,     0,     0,
     2235       0,     0,   644,   645,     0,   646,   647,     0,   648,     0,
     2236     649,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2237       0,     0,     0,     0,     0,   593,     0,   583,     0,     0,
     2238       0,     0,     0,     0,     0,   664,     0,     0,     0,   341,
     2239     364,     0,     0,     0,     0,     0,   369,   369,     0,     0,
     2240       0,     0,     0,     0,     0,     0,     0,     0,     0,   675,
     2241       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2242       0,     0,   413,     0,     0,     0,     0,     0,     0,   413,
     2243       0,   212,     0,     0,     0,   701,     0,     0,     0,     0,
     2244       0,   704,     0,     0,     0,     0,   462,     0,     0,     0,
     2245       0,     0,     0,   523,     0,     0,     0,     0,     0,     0,
     2246       0,   212,     8,     9,    10,    11,    12,    13,    14,    15,
     2247      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2248      26,    27,     0,   739,    28,    29,    30,     0,     0,     0,
     2249       0,     0,     0,   212,    33,     0,     0,     0,   757,     0,
     2250       0,   413,     0,     0,   212,     0,     0,     0,     0,     0,
     2251       0,     0,     0,     0,     0,     0,     0,     0,     0,   709,
     2252       0,     0,    36,     0,     0,     0,     0,   112,     0,    40,
     2253      41,     0,     0,     0,     0,   782,     0,     0,     0,     0,
     2254      43,    44,     0,     0,   792,     0,     0,     0,     0,     0,
     2255       0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
     2256     219,     0,     0,     0,   813,     0,   413,   579,    46,   413,
     2257     582,     0,     0,   212,    47,    48,     0,   364,     0,     0,
     2258       0,   609,     0,     0,     0,     0,     0,   212,     0,     0,
     2259       0,     0,     0,     0,     0,     0,   709,     0,     0,     0,
     2260     627,     0,   852,     0,     8,     9,    10,    11,    12,    13,
     2261      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2262      24,    25,    26,    27,     0,     0,    28,    29,    30,   413,
     2263       0,     0,     0,   413,     0,     0,    33,     0,   885,     0,
     2264       0,     0,     0,     0,     0,     0,   892,     0,     0,   369,
     2265     369,     0,     0,     0,     0,     0,     0,   219,     0,     0,
     2266       0,     0,     0,   364,    36,     0,     0,     0,     0,    39,
     2267       0,   208,    41,    42,     0,   212,     0,   252,     0,     0,
     2268       0,     0,    43,    44,     0,     0,     0,     0,   930,   931,
     2269       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2270       0,     0,     0,     0,     0,     0,     0,     0,    45,   413,
     2271     271,     0,   364,     0,     0,     0,    47,    48,     0,     0,
     2272     965,     0,     0,     0,     0,   969,     0,     8,     9,    10,
     2273      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2274      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2275      29,    30,   413,     0,     0,     0,   364,     0,     0,    33,
     2276       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2277     369,     0,   212,     0,     0,     0,     0,     0,     0,     0,
     2278       0,     0,     0,     0,     0,  1002,     0,    36,     0,     0,
     2279       0,     0,  1003,     0,    40,    41,     0,     0,     0,     0,
     2280     413,   413,     0,     0,     0,  1005,     0,  1006,     0,     0,
     2281       0,     0,     0,     0,     0,     0,     0,     0,   795,   364,
     2282    1016,     0,     0,     0,     0,     0,  1020,   523,   609,   523,
     2283     609,   609,     0,   258,     0,   324,     0,   609,  1057,    47,
     2284      48,  1058,     0,     0,     0,   346,     0,   832,   364,     0,
     2285       0,     0,     0,   364,     0,     0,   381,   381,     0,     0,
     2286       0,     0,   364,   364,   523,     0,   523,     0,     0,     0,
     2287       0,     0,     0,     0,     0,     0,     0,     0,   364,     0,
     2288       0,     0,     0,   413,   873,     0,     0,   413,   876,     0,
     2289       0,     0,     0,   166,   878,     0,   506,     0,   508,   511,
     2290       0,     0,     0,     0,     0,     0,     0,     0,   514,   515,
     2291       0,     0,     0,   413,     0,     0,     0,     0,   283,   284,
     2292       0,   285,     0,   508,   508,     0,     0,   324,     0,     0,
     2293       0,     0,     0,     0,     0,     0,   364,   609,     0,     0,
     2294       0,     0,     0,     0,     0,     0,     0,   286,     0,  1128,
     2295       0,   476,     0,   634,     0,   141,   142,   288,   508,     0,
     2296     289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
     2297     296,   364,     0,     0,     0,   413,   413,     0,     0,     0,
     2298       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2299       0,     0,   297,   508,   635,     0,   636,   379,     0,     0,
     2300      47,    48,   299,   300,   301,   302,     0,     0,     0,     0,
     2301    1191,     0,     0,     0,     0,     0,     0,     0,   413,     0,
     2302       0,     0,     0,   212,     0,     0,     0,     0,     0,     0,
     2303       0,     0,     0,     0,   609,     0,   609,     0,     0,     0,
     2304       0,     0,     0,     0,  1203,     0,   609,     0,     0,  1205,
     2305       0,     0,     0,     0,     0,     0,     0,  1209,     0,     0,
     2306       0,     0,     0,     0,     0,     0,   381,     0,     8,     9,
     2307      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2308      20,    21,    22,    23,    24,    25,    26,    27,  -299,     0,
     2309       0,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
     2310      33,     0,  1247,     0,     0,  1248,     0,  1249,     0,     0,
     2311       0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
     2312       0,     0,  1258,  1259,   364,   413,     0,   413,    36,     0,
     2313       0,   413,     0,     0,     0,     0,     0,     0,     0,  -299,
     2314       0,     0,  1271,     0,     0,     0,     0,     0,     0,     0,
     2315       0,     0,   609,   609,     0,     0,     0,     0,     0,   703,
     2316       0,     0,   508,   508,   508,   508,   508,   508,   508,   508,
     2317     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
     2318       0,     0,     0,     0,     0,     0,     0,   413,  1310,     0,
     2319       0,     0,     0,     0,     0,     0,  1314,     0,     0,   736,
     2320       0,     0,     0,     0,     0,     0,   413,  1126,     0,     0,
     2321       0,   752,     0,     0,     0,     0,   364,   736,     0,     0,
     2322     736,     0,   413,  1137,     0,   609,   609,  1142,     0,     0,
     2323       0,     0,     0,   761,     0,     0,     0,   364,   364,     0,
     2324       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2325      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2326       0,     0,     0,   790,     0,     0,  1361,     0,  1362,     0,
     2327     346,     0,    33,     0,   752,     0,     0,     0,     0,     0,
     2328       0,     0,     0,     0,  1371,     0,  1372,     0,     0,     0,
     2329       0,     0,     0,     0,     0,     0,     0,   413,     0,   413,
     2330      36,  1379,   508,     0,   413,     0,     0,     0,     0,     0,
     2331       0,     0,     0,   609,     0,     0,  1397,  1399,     0,     0,
     2332     851,     0,     0,     0,     0,     0,     0,  1404,   381,     0,
     2333    1209,     0,     0,     0,     0,     0,   413,  1223,     0,     0,
     2334       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2335       0,     0,  1427,     0,     0,     0,     0,     0,     0,     0,
     2336     364,  1434,     0,   508,  1436,     0,  1438,  1440,  1442,     0,
     2337       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2338      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2339      25,    26,    27,   508,     0,    28,    29,    30,   483,   484,
     2340     485,   486,     0,     0,   927,    33,     0,  1473,     0,  1475,
     2341       0,  1209,     0,     0,     0,     0,     0,     0,     0,     0,
     2342       0,     0,     0,     0,     0,     0,   752,  1486,   951,     0,
     2343       0,     0,     0,    36,     0,     0,     0,   364,   961,     0,
     2344      40,    41,     0,     0,   968,     0,     0,     1,     2,     3,
     2345       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2346      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2347      24,    25,    26,    27,     0,     0,    28,    29,    30,    31,
     2348       0,     0,     0,    32,   985,   986,    33,    34,     0,     0,
     2349     364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
     2350     346,     0,     0,     0,     0,     0,     0,   508,     0,     0,
     2351       0,    35,     0,     0,    36,     0,    37,     0,    38,    39,
     2352       0,    40,    41,    42,     0,     0,     0,     0,     0,     0,
     2353       0,     0,    43,    44,     0,     0,     0,     0,     0,  1014,
     2354       0,     0,     0,   381,     0,     0,     0,   283,   284,     0,
     2355     285,     0,     0,   508,     0,     0,     0,     0,    45,     0,
     2356      46,     0,     0,     0,  -528,     0,    47,    48,     0,     0,
     2357       0,     0,   346,     0,     0,     0,   286,     0,     0,   346,
     2358       0,     0,   287,     0,     0,   508,   288,     0,     0,   289,
     2359     290,   291,   292,   293,   294,    43,    44,   508,   295,   296,
     2360       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2361       0,   364,     0,     0,     0,     0,     0,     0,     0,   324,
     2362       0,   297,     0,   378,     0,     0,   379,     0,     0,    47,
     2363      48,   299,   300,   301,   302,     0,   508,     0,     0,     0,
     2364       0,     0,     0,     0,     0,     0,   381,     0,     0,     0,
     2365       0,   961,     0,     0,   736,     0,     0,     0,     0,     0,
     2366       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2367       0,     0,     0,     0,  1132,     0,     0,     0,     0,     0,
     2368       0,     0,     0,     0,     0,  1147,     0,     0,     0,     0,
     2369       0,     0,   283,   284,     0,   285,     0,     0,     0,     0,
     2370     413,     0,     0,     0,     0,   381,     0,  1164,     0,     0,
     2371       0,     0,   508,     0,     0,     0,     0,     0,     0,     0,
     2372       0,   286,   961,   961,   413,   413,     0,   287,     0,     0,
     2373       0,   288,     0,     0,   289,   290,   291,   292,   293,   294,
     2374      43,    44,  1195,   295,   296,     0,     0,     0,     0,   413,
     2375       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2376       0,     0,     0,     0,     0,     0,   297,     0,   378,     0,
     2377       0,   508,   508,   751,    47,    48,   299,   300,   301,   302,
     2378       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2379       0,     0,     0,     0,     0,     0,   961,     0,     0,     0,
     2380       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2381       0,     0,     0,     0,     0,   851,     0,     0,     0,     0,
     2382       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2383    1250,  1251,     1,     2,   207,     4,     5,     6,     7,     8,
     2384       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2385      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2386       0,    28,    29,    30,    31,     0,     0,     0,    32,   283,
     2387     284,    33,  1023,  1024,     0,  1025,     0,     0,  1026,  1027,
     2388    1028,  1029,  1030,  1031,  1032,  1033,     0,     0,     0,  1034,
     2389       0,     0,     0,  1035,  1036,     0,    35,     0,   286,    36,
     2390       0,    37,     0,    38,  1037,     0,    40,    41,   288,     0,
     2391       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2392     295,   296,     0,     0,     0,     0,     0,     0,     0,     0,
     2393       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2394       0,     0,     0,   297,     0,   298,     0,     0,   172,     0,
     2395       0,    47,    48,   299,   300,   301,   302,     0,     0,     0,
     2396       0,  1038,     0,     0,     0,     0,  -134,     0,     0,     0,
     2397       0,     0,  1355,     0,     0,   736,     0,     0,     0,   508,
     2398       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2399       0,     0,     0,     0,     0,     0,   508,     0,     0,     0,
     2400       0,     0,     0,     0,     1,     2,   207,     4,     5,     6,
    21382401       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    21392402      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2140       27,     0,     0,    28,    29,    30,    31,   363,   956,   957,
    2141       32,   283,   284,    33,   285,     0,     0,   363,     0,     0,
    2142        0,     0,     0,   226,    79,     0,     0,     0,   363,     0,
    2143      356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2403      27,     0,     0,    28,    29,    30,    31,     0,     0,     0,
     2404      32,   283,   284,    33,   285,     0,     0,     0,     0,     0,
     2405       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,     0,     0,     0,     0,     0,   508,   508,
    21442407     286,    36,     0,    37,     0,    38,   287,     0,    40,    41,
    21452408     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
    21462409      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
    2147        0,     0,   225,     0,     0,     0,     0,     0,     0,     0,
    2148        0,     0,     0,   283,   284,   297,   285,   298,    88,     0,
    2149        0,     0,    81,    47,    48,   299,   300,   301,   302,     0,
    2150        0,     0,     0,     0,     0,   356,     0,   356,  -134,     0,
    2151      363,     0,   286,     0,     0,     0,     0,   363,   287,     0,
    2152        0,     0,   288,     0,     0,   289,   290,   291,   292,   293,
    2153      294,    43,    44,     0,   295,   296,     0,     0,     0,     0,
    2154        0,     0,   356,     0,     0,     0,     0,     0,     0,   356,
    2155      356,   356,   177,     0,     0,     0,     0,   297,     0,   378,
    2156      356,   356,   379,     0,  1077,    47,    48,   299,   300,   301,
    2157      302,     0,     0,    81,   465,     2,   207,     4,     5,     6,
    2158        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2159       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2160       27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2161        0,     0,   356,    33,     0,     0,     0,     0,     0,     0,
    2162        0,     0,     0,   913,     0,   914,   363,   363,     0,   363,
    2163      363,     0,   917,   918,     0,     0,     0,   923,     0,     0,
    2164        0,    36,     0,    37,     0,    38,     0,    88,    40,    41,
    2165      929,     0,     0,     0,     0,   933,     0,     0,     0,     0,
    2166        0,     0,     0,     0,     0,   128,   128,     0,     0,     0,
    21672410       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2168        0,   356,   595,     0,     0,     0,     0,   363,   363,     0,
    2169       -3,     0,   128,     0,     0,   128,   128,     0,   128,     0,
    2170      128,   128,     0,     0,     0,   128,   128,     0,     0,     0,
    2171        0,     0,     0,     0,   177,     0,     0,   177,   177,   177,
    2172        0,     0,     0,     0,  1203,     0,     0,     0,     0,    81,
    2173        0,     0,     0,     0,     0,     0,    81,   166,     0,     8,
    2174        9,    10,    11,    12,     0,     0,     0,     0,     0,     0,
    2175        0,     0,     0,     0,   219,     0,     0,     0,   363,     8,
    2176        9,    10,    11,    12,     0,     0,     0,     0,     0,     0,
    2177        0,    33,     0,     0,     0,  1006,     0,  1007,  1008,  1009,
    2178        0,     0,     0,     0,     0,     0,     0,     0,    81,     0,
    2179        0,    33,     0,     0,     0,     0,  1059,     0,     0,    36,
    2180      226,   166,     0,     0,    39,   273,   184,   185,    42,     0,
    2181     1065,     0,     0,     0,     0,     0,     0,    43,    44,    36,
    2182       88,     0,     0,     0,    39,     0,   184,   185,    42,     0,
    2183        0,     0,     0,   363,   166,   363,     0,    43,    44,     0,
    2184        0,   128,   128,   893,   369,   410,     0,   374,     0,  1085,
    2185        0,    47,    48,     0,     0,     0,     0,  1295,     0,     0,
    2186        0,     0,     0,  1497,     0,   410,     0,     0,     0,     0,
    2187      363,    47,    48,     0,     0,     0,     0,   363,   363,   363,
    2188        0,     0,     0,     0,   177,     0,     0,     0,   363,   363,
    2189        0,     0,  1115,     0,     0,     0,   166,  1125,     0,     0,
    2190        0,    88,  1128,     0,     0,     0,     0,  1132,   219,     0,
    2191        0,     0,  1134,     0,  1135,  1136,     0,     0,  1139,     0,
    2192        0,     0,     0,     0,     0,     0,   166,  1151,     0,     0,
    2193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2194      363,     0,     0,  1165,  1166,     0,     0,     0,   212,     0,
    2195        0,   374,     0,     0,     0,     0,     0,   232,   166,   236,
    2196        0,   238,     0,     0,     0,     0,     0,     0,   247,     0,
    2197        0,     0,     0,     0,  1194,     0,     0,  1196,     0,     0,
    2198        0,     0,     0,   523,   177,     0,     0,     0,     0,     0,
    2199        0,     0,   128,     0,     0,     0,   166,   128,     0,   212,
    2200        0,   236,   238,   247,     0,     0,     0,     0,     0,   363,
    2201        8,     9,    10,    11,    12,     0,     0,     0,     0,     0,
    2202        0,  1211,     0,     0,     0,     0,     0,  1215,  1216,     0,
    2203        0,   593,     0,     0,   177,     0,   617,   177,     0,     0,
    2204        0,   212,    33,     0,     0,     0,  1232,     0,     0,     0,
    2205        0,  1239,     0,     0,     0,   177,  1243,    88,     0,     0,
    2206        0,     0,     0,     0,    88,     0,     0,  1250,     0,     0,
    2207       36,     0,     0,     0,     0,    39,     0,   184,   185,    42,
    2208     1257,   177,  1259,  1260,  1261,  1262,   177,     0,    43,    44,
    2209        0,     0,     0,     0,     0,     0,     0,  1269,     0,  1165,
    2210        0,     0,   212,   173,   236,   238,   247,     0,     0,     0,
    2211        0,   166,   166,     0,   186,   177,    88,   369,     0,     0,
    2212        0,     0,    47,    48,     0,     0,     0,     0,     0,     0,
    2213        0,  1297,  1298,     0,     0,     0,     0,     0,   523,     0,
    2214      212,     0,     0,     0,     0,   212,     0,     0,     0,     0,
    2215        0,     0,     0,     0,     0,     0,     0,   128,     0,     0,
    2216        0,     0,     0,     0,     0,     0,   709,     0,     0,     0,
    2217        0,     0,     0,     0,     0,     0,     0,   177,     0,   166,
    2218        0,     0,   177,     0,     0,  1332,  1333,     0,     0,     0,
    2219        0,   523,     0,   523,     0,  1343,   523,     0,   166,   523,
    2220      177,     0,   177,     0,     0,     0,   177,     0,     0,   177,
    2221      369,   212,     0,     0,     0,     0,     0,   177,     0,     0,
    2222        0,   177,     0,     0,     0,     0,     0,     0,     0,     0,
    2223      212,     0,     0,     0,     0,   236,   238,     0,     0,     0,
    2224        0,     0,     0,   247,     0,     0,     0,     0,     0,     0,
    2225        0,     0,     0,     0,     0,     0,     0,  1378,     0,  1379,
    2226     1380,  1381,   166,     0,     0,     0,     0,     0,     0,     0,
    2227        0,  1385,     0,   369,     0,     0,   800,     0,     0,  1396,
    2228        0,     0,     0,     0,   158,   212,     0,     0,     0,     0,
    2229      128,     0,     8,     9,    10,    11,    12,     0,     0,     0,
    2230        0,     0,   593,   212,  1417,  1418,     0,   593,   212,     0,
    2231      212,     0,     0,     0,     0,     0,   369,   369,     0,     0,
    2232        0,     0,     0,     0,    33,     0,   212,     0,     0,   212,
    2233      212,   252,   369,     0,     0,     0,     0,   212,     0,     0,
    2234        0,   257,     0,     0,     0,     0,     0,     0,     0,  1457,
    2235     1458,   212,    36,     0,     0,     0,     0,    39,   212,   184,
    2236      185,    42,  1463,     0,   523,     0,     0,     0,     0,  1463,
    2237       43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
    2238        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2239      369,     0,   922,     0,     0,     0,   266,     0,     0,     0,
    2240        0,     0,  1496,     0,    47,    48,  1502,     0,     0,     0,
    2241      385,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2242        0,     0,     0,     0,     0,   709,     0,     0,     0,     0,
    2243        0,     0,     0,   417,  1524,     0,  1525,     0,     0,     0,
    2244        0,     0,     0,     0,     0,     0,     0,   431,     0,     0,
    2245        0,     0,     0,     0,     0,     0,   436,     0,     0,     0,
    2246        0,     0,     0,     0,  1540,  1541,   444,     0,     0,     0,
    2247      212,     0,  1544,  1545,     0,     0,     0,     0,     0,     0,
    2248        0,     0,     0,   617,     0,     0,     0,     0,     0,     0,
    2249        0,   462,     0,     0,     0,     0,   472,     0,   212,     0,
    2250        0,     0,     0,   212,     0,     0,     0,     0,     0,   480,
    2251        0,     0,     0,     0,     0,   491,     0,   495,     0,     0,
    2252      506,     0,   508,   511,     0,     0,     0,     0,     0,     0,
    2253        0,     0,   514,   515,     0,     0,   524,     0,     0,     0,
    2254        0,     0,     0,     0,     0,     0,     0,   508,   508,     0,
    2255        0,     0,     0,     0,     0,     0,   283,   284,     0,   285,
    2256        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2257        0,   369,   212,     0,     0,     0,     0,   583,   709,     0,
    2258        0,   587,   508,     0,     0,   286,   212,     0,     0,     0,
    2259        0,   287,     0,   523,     0,   288,     0,     0,   289,   290,
    2260      291,   292,   293,   294,    43,    44,     0,   295,   296,   630,
    2261        0,     0,     0,   631,   632,     0,   633,   508,   166,     0,
    2262        0,     0,     0,   644,   645,     0,   646,   647,     0,   648,
    2263      297,   649,   378,     0,     0,     0,     0,     0,    47,    48,
    2264      299,   300,   301,   302,     0,     0,     0,     0,   583,     0,
    2265        0,   780,     0,     0,     0,     0,   664,     0,     0,     0,
    2266        0,     0,     0,     0,     0,     0,   212,     0,     0,   593,
    2267        0,     0,     0,     0,     0,     0,     0,   212,     0,     0,
    2268      675,   283,   284,     0,   285,     0,     0,     0,     0,     0,
    2269      369,   369,     0,     0,   212,     0,     0,     0,     0,     0,
    2270        0,     0,     0,     0,     0,     0,   701,     0,     0,     0,
    2271      286,     0,   704,     0,     0,     0,   634,   462,   141,   142,
    2272      288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
    2273       44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
    2274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2275        0,     0,     0,   523,   739,   297,     0,   635,     0,   636,
    2276      379,     0,     0,    47,    48,   299,   300,   301,   302,   757,
    2277        0,     0,     0,     0,   996,     0,     0,     8,     9,    10,
    2278       11,    12,     0,     0,     0,     0,   508,   508,   508,   508,
    2279      508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
    2280      508,   508,   508,   508,     0,   212,   782,   283,   284,    33,
    2281      285,     0,     0,     0,     0,   792,     0,     0,     0,   709,
    2282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2283        0,     0,     0,     0,   212,   813,   286,    36,     0,     0,
    2284        0,     0,   287,     0,     0,     0,   288,     0,     0,   289,
    2285      290,   291,   292,   293,   294,    43,    44,     0,   295,   296,
    2286      219,     0,     0,     0,     0,     0,   212,     0,     0,     0,
    2287        0,     0,     0,   852,     0,     0,     0,   212,     0,     0,
    2288        0,   297,     0,   378,     0,     0,     0,     0,     0,   344,
    2289       48,   299,   300,   301,   302,     0,   709,     0,     0,     0,
    2290        0,     0,     0,     0,     0,     0,     0,     0,     0,   885,
    2291        0,     0,     0,     0,     0,     0,     0,   892,     0,     0,
    2292        0,     0,     0,     0,     0,     0,   508,     0,     0,     0,
    2293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2294        0,     0,     0,     0,     0,     0,     0,     0,   252,   369,
    2295      369,     0,   212,     0,     0,     0,     0,   219,     0,   930,
    2296      931,     0,     0,     0,     0,     0,   212,     8,     9,    10,
    2297       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2298       21,    22,    23,    24,    25,    26,    27,   508,     0,     0,
    2299        0,   964,     0,     0,     0,     0,   968,     0,     0,    33,
    2300        0,     0,     0,   341,   364,     0,     0,     0,     0,     0,
    2301        0,     0,     0,     0,     0,     0,     0,   508,     0,     0,
    2302        0,     0,     0,     0,     0,     0,  1149,    36,     0,     8,
    2303        9,    10,    11,    12,     0,     0,   413,     0,     0,     0,
    2304        0,     0,     0,   413,     0,     0,     0,     0,     0,     0,
    2305        0,     0,     0,     0,   212,     0,  1001,     0,     0,   283,
    2306      284,    33,   285,  1002,     0,     0,     0,     0,     0,     0,
    2307      369,     0,     0,     0,     0,     0,  1004,     0,  1005,     0,
    2308        0,     0,     0,     0,     0,     0,     0,     0,   286,    36,
    2309        0,  1015,     0,     0,   287,     0,     0,  1019,   288,     0,
    2310        0,   289,   290,   291,   292,   293,   294,    43,    44,  1062,
    2311      295,   296,  1063,     0,     0,   413,     0,     0,     0,     0,
    2312        0,     0,     0,     0,     0,     0,     0,   523,     0,   523,
    2313        0,   508,     0,   297,     0,   378,     0,     0,     0,     0,
    2314        0,  1150,    48,   299,   300,   301,   302,     0,     0,     0,
    2315        0,   212,     0,     0,     0,     0,     0,     0,     0,     0,
    2316        0,     0,     0,     0,   523,     0,   523,     0,     0,     0,
    2317        0,     0,   413,     0,     0,     0,   508,     0,     0,     0,
    2318      413,   579,   324,   413,   582,     0,     0,     0,     0,     0,
    2319        0,   364,   346,   166,     0,   609,     0,     0,     0,     0,
    2320        0,     0,     0,   381,   381,     0,     0,     0,   508,     0,
    2321        0,     0,     0,     0,   627,     0,     0,     0,     0,  1133,
    2322      508,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2323       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2324       26,    27,     0,   413,    28,    29,    30,   413,     0,     0,
    2325        0,     0,     0,     0,    33,     0,     0,     0,     0,   508,
    2326        0,     0,     0,     0,   283,   284,     0,   285,     0,     0,
    2327        0,     0,     0,     0,   324,     0,     0,   364,     0,     0,
    2328        0,     0,    36,     0,     0,  1195,     0,   112,     0,    40,
    2329       41,     0,     0,   286,     0,     0,     0,     0,   476,   287,
    2330       43,    44,     0,   288,     0,     0,   289,   290,   291,   292,
    2331      293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
    2332     1208,     0,     0,   413,     0,  1210,   364,     0,    46,     0,
    2333        0,     0,     0,  1214,    47,    48,     0,     0,   297,     0,
    2334      378,   508,     0,     0,     0,   751,    47,    48,   299,   300,
    2335      301,   302,     0,     0,     0,     0,     0,     0,     0,     0,
    2336        0,     0,     0,     0,     0,     0,   413,  1245,     0,     0,
    2337      364,     0,     0,     0,     0,     0,     0,     0,  1252,     0,
    2338        0,  1253,     0,  1254,     0,     0,     0,     0,     0,     0,
    2339        0,     0,     0,     0,     0,     0,     0,     0,  1263,  1264,
    2340      508,   508,   212,     0,     0,     0,     0,     0,     0,     0,
    2341        0,     0,     0,   381,   413,   413,     0,     0,  1276,     0,
    2342        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2343        0,     0,   795,   364,     0,     0,   283,   284,     0,   285,
    2344        0,     0,   609,     0,   609,   609,     0,     0,     0,     0,
    2345        0,   609,     0,     0,     0,     0,     0,     0,     0,     0,
    2346        0,   832,   364,     0,  1315,   286,     0,   364,     0,     0,
    2347        0,   287,  1319,     0,     0,   288,   364,   364,   289,   290,
    2348      291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    2349        0,     0,   364,     0,     0,     0,     0,   413,   873,     0,
    2350        0,   413,   876,     0,     0,     0,   703,     0,   878,     0,
    2351      297,     0,   378,     0,     0,   958,     0,     0,    47,    48,
    2352      299,   300,   301,   302,     0,     0,     0,   413,     0,     0,
    2353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2354        0,     0,  1366,     0,  1367,     0,   736,     0,     0,     0,
    2355      364,   609,     0,     0,     0,     0,     0,     0,   752,     0,
    2356     1376,     0,  1377,     0,   736,     0,     0,   736,     0,     0,
    2357        0,     0,     0,     0,     0,     0,     0,  1384,     0,     0,
    2358      761,     0,     0,     0,     0,   364,     0,     0,     0,   413,
    2359      413,     0,  1402,  1404,     0,     0,     0,     0,     0,     0,
    2360        0,     0,     0,  1409,     0,     0,  1214,     0,   508,     0,
    2361      790,     0,     0,     0,     0,     0,     0,   346,     0,     0,
    2362        0,   752,     0,     0,     0,   508,     0,     0,  1432,     0,
    2363        0,     0,   413,     0,     0,     0,     0,  1439,     0,     0,
    2364     1441,     0,  1443,  1445,  1447,     0,     0,     0,   609,     0,
    2365      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2366      609,     0,     0,     0,     0,     0,     0,   851,     0,     0,
    2367        0,     0,     0,     0,     0,   381,     0,     0,     0,     0,
    2368        0,     0,     0,  1478,     0,  1480,     0,  1214,     0,     0,
    2369        0,     0,     0,     0,     0,     0,     0,   508,   508,     0,
    2370        0,     0,     0,  1491,     2,   207,     4,     5,     6,     7,
    2371        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2372       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2373        0,   364,    28,    29,    30,     0,     0,     0,   364,   413,
    2374        0,   413,    33,     0,     0,   413,     0,     0,     0,     0,
    2375        0,   927,     0,     0,     0,     0,     0,     0,     0,     0,
    2376        0,     0,   736,     0,     0,     0,   609,   609,     0,     0,
    2377       36,     0,    37,   752,    38,   950,     0,    40,    41,     0,
    2378        0,     0,     0,     0,     0,   960,     0,     0,     0,     0,
    2379        0,   967,     0,     0,     0,     0,     0,     0,     0,     0,
    2380      413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2381        0,     0,     0,     0,     0,  -407,   671,     0,     0,   413,
    2382     1131,     0,    47,    48,     0,     0,     0,     0,     0,   364,
    2383        0,   984,   985,     0,     0,   413,  1142,     0,   609,   609,
    2384     1147,     0,     0,     0,     0,     0,     0,   346,     0,     0,
    2385      364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
    2386        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2387       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2388       27,     0,     0,    28,    29,    30,  1013,     0,     0,     0,
    2389      381,     0,     0,    33,   678,     0,     0,     0,     0,     0,
    2390        0,   283,   284,     0,   285,     0,     0,     0,     0,     0,
    2391        0,     0,     0,     0,     0,     0,   413,     0,   413,   346,
    2392        0,    36,     0,   413,     0,     0,   346,     0,    40,    41,
    2393      286,     0,   609,     0,     0,     0,   287,     0,     0,     0,
    2394      288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
    2395       44,     0,   295,   296,     0,   413,  1228,     0,     0,     0,
    2396        0,     0,     0,     0,     0,     0,   324,   679,     0,     0,
    2397        0,   680,     0,    47,    48,   297,     0,   378,     0,   364,
     2411       0,     0,     0,     0,     0,   297,     0,   298,     0,     0,
    23982412       0,     0,     0,    47,    48,   299,   300,   301,   302,     0,
    2399        0,     0,   381,     0,     0,     0,     0,   960,   283,   284,
    2400      736,   285,  1023,     0,  1024,     0,     0,  1025,  1026,  1027,
    2401     1028,  1029,  1030,  1031,  1032,     0,     0,  1516,  1033,     0,
    2402     1137,     0,  1034,  1035,     0,    35,     0,   286,     0,     0,
    2403        0,  1152,     0,  1036,     0,   175,   176,  1039,     0,     0,
    2404      289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
    2405      296,   381,     0,  1169,     0,     0,   364,     0,     0,     0,
    2406        0,     0,     0,     0,     0,     0,     0,     0,   960,   960,
    2407        0,     0,   297,     0,   378,     0,     0,   172,     0,     0,
    2408       47,    48,   299,   300,   301,   302,   283,   284,     0,   285,
    2409     1040,     0,     0,     0,  1200,  -134,     0,     0,     0,     0,
    2410        0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
    2411      364,     0,     0,     0,     0,   286,     0,     0,     0,     0,
    2412        0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
    2413      291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    2414        0,     0,     0,     0,     0,     0,     0,     0,   960,     0,
    2415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2416      505,     0,   378,     0,     0,     0,     0,   851,    47,    48,
    2417      299,   300,   301,   302,     0,     0,     0,     0,     0,     0,
    2418        0,     0,  1255,  1256,     0,     0,     1,     2,   207,     4,
    2419        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2420       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2421       25,    26,    27,     0,     0,    28,    29,    30,    31,     0,
    2422        0,     0,    32,   283,   284,    33,  1022,  1023,     0,  1024,
    2423      364,     0,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,
    2424        0,     0,     0,  1033,     0,     0,     0,  1034,  1035,     0,
    2425       35,     0,   286,    36,     0,    37,     0,    38,  1036,     0,
    2426     1037,  1038,  1039,     0,     0,   289,   290,   291,   292,   293,
    2427      294,    43,    44,     0,   295,   296,     0,     0,     0,     0,
    2428        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2429        0,     0,     0,     0,     0,     0,     0,   297,     0,   298,
    2430        0,     0,   172,     0,     0,    47,    48,   299,   300,   301,
    2431      302,     0,     0,     0,     0,  1040,     0,     0,     0,   413,
    2432     -134,     0,     0,     0,  1360,     0,   736,     0,     0,     0,
    2433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2434        0,     0,     0,   413,   413,     0,     0,     0,     0,     0,
    2435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2436        0,     0,     0,     0,     0,     0,     0,     0,   413,     1,
     2413       0,     0,     0,     0,     0,     0,     0,     0,  -134,     1,
    24372414       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    24382415      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    24392416      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    24402417      30,    31,     0,     0,     0,    32,   283,   284,    33,   285,
    2441        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2442       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2443     -298,     0,     0,     0,     0,   286,    36,     0,    37,     0,
    2444       38,   287,    33,    40,    41,   288,     0,     0,   289,   290,
     2418       0,     0,     0,     0,     0,     0,     0,     0,     0,   324,
     2419       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2420       0,     0,     0,     0,     0,   286,    36,     0,    37,     0,
     2421      38,   287,     0,    40,    41,   288,     0,     0,   289,   290,
    24452422     291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    24462423       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2447       36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2448      297,  -298,   298,     0,     0,     0,     0,     0,    47,    48,
     2424       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2425     297,     0,   298,     0,     0,     0,     0,     0,    47,    48,
    24492426     299,   300,   301,   302,     2,   207,     4,     5,     6,     7,
    24502427       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    24512428      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    24522429       0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2453      283,   284,    33,   285,     0,     0,     0,     0,     0,     0,
    2454        0,   324,     0,     0,     0,     0,     0,     0,     0,     0,
    2455        0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
    2456       36,     0,    37,     0,    38,   287,     0,    40,    41,   288,
     2430     283,   284,    33,   285,     8,     9,    10,    11,    12,    13,
     2431      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2432      24,    25,    26,    27,     0,     0,    28,    29,    30,   286,
     2433      36,     0,    37,     0,    38,   287,    33,    40,    41,   288,
    24572434       0,     0,   289,   290,   291,   292,   293,   294,    43,    44,
    24582435       0,   295,   296,     0,     0,     0,     0,     0,     0,     0,
    2459        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2460        0,     0,     0,     0,   297,     0,   343,     0,     0,     0,
     2436       0,     0,     0,     0,    36,     0,     0,     0,     0,     0,
     2437       0,    40,    41,     0,   297,     0,   343,     0,     0,     0,
    24612438       0,   751,   344,    48,   299,   300,   301,   302,     2,   207,
    24622439       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     
    24652442       0,     0,     0,     0,   283,   284,    33,   285,     8,     9,
    24662443      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2467       20,    21,    22,    23,    24,    25,    26,    27,  -299,     0,
    2468        0,     0,     0,   286,    36,     0,    37,     0,    38,   287,
     2444      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2445      28,    29,    30,   286,    36,     0,    37,     0,    38,   287,
    24692446      33,    40,    41,   288,     0,     0,   289,   290,   291,   292,
    24702447     293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
    24712448       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2472        0,     0,     0,     0,     0,     0,     0,     0,   297,  -299,
     2449       0,     0,     0,     0,     0,   208,    41,     0,   297,     0,
    24732450     343,     0,     0,     0,     0,   751,    47,    48,   299,   300,
    24742451     301,   302,     2,   207,     4,     5,     6,     7,     8,     9,
     
    24762453      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    24772454      28,    29,    30,     0,     0,     0,     0,     0,   283,   284,
    2478       33,   285,     8,     9,    10,    11,    12,    13,    14,    15,
    2479       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2480       26,    27,     0,     0,    28,    29,    30,   286,    36,     0,
    2481       37,     0,    38,   287,    33,    40,    41,   288,     0,     0,
     2455      33,   285,     0,     0,     0,     0,     0,     0,     0,     0,
     2456       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2457       0,     0,     0,     0,     0,     0,     0,   286,    36,     0,
     2458      37,     0,    38,   287,     0,    40,    41,   288,     0,     0,
    24822459     289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
    24832460     296,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2484        0,     0,    36,     0,     0,     0,     0,     0,     0,    40,
    2485       41,     0,   297,     0,   343,     0,     0,     0,     0,     0,
     2461       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2462       0,     0,   297,     0,   343,     0,     0,     0,     0,     0,
    24862463     344,    48,   299,   300,   301,   302,     2,   207,     4,     5,
    24872464       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24882465      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    24892466      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2490        0,     0,   283,   284,    33,   285,     8,     9,    10,    11,
    2491       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2492       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2493       30,   286,    36,     0,    37,     0,    38,   287,    33,   208,
     2467       0,     0,   283,   284,    33,   285,     0,     0,     0,     0,
     2468       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2469       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2470       0,   286,    36,     0,    37,     0,    38,   287,     0,   208,
    24942471      41,   288,     0,     0,   289,   290,   291,   292,   293,   294,
    24952472      43,    44,     0,   295,   296,     0,     0,     0,     0,     0,
    2496        0,     0,     0,     0,     0,     0,    36,     0,     0,     0,
    2497        0,     0,     0,   208,    41,     0,   297,     0,   981,     0,
    2498        0,     0,     0,     0,   982,    48,   299,   300,   301,   302,
     2473       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2474       0,     0,     0,     0,     0,     0,   297,     0,   982,     0,
     2475       0,     0,     0,     0,   983,    48,   299,   300,   301,   302,
    24992476       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    25002477      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     
    25332510       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25342511       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
    2535        0,    46,     0,     0,     0,  -528,     0,    47,    48,     1,
    2536        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2512       0,    46,     0,     0,     0,     0,     0,    47,    48,   206,
     2513       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    25372514      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    25382515      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2539       30,    31,     0,     0,     0,    32,     0,     0,    33,    34,
     2516      30,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    25402517       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25412518       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2542        0,     0,     0,    35,     0,     0,    36,     0,    37,     0,
    2543       38,    39,     0,    40,    41,    42,     0,     0,     0,     0,
     2519       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
     2520      38,    39,     0,   208,    41,    42,     0,     0,     0,     0,
    25442521       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
    25452522       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25462523       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2547       45,     0,    46,     0,     0,     0,     0,     0,    47,    48,
    2548      206,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2524      45,     0,   209,     0,     0,     0,     0,     0,    47,    48,
     2525       1,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2526      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2527      21,    22,    23,    24,    25,    26,    27,  -298,     0,    28,
     2528      29,    30,    31,     0,     0,     0,    32,     0,     0,    33,
     2529       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2530       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2531       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     2532       0,    38,     0,     0,    40,    41,     0,     0,  -298,     1,
     2533       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2534      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2535      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2536      30,    31,     0,    46,     0,    32,     0,     0,    33,    47,
     2537      48,     0,     0,     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,    36,     0,    37,     0,
     2540      38,     0,     0,    40,    41,   206,     2,   207,     4,     5,
     2541       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2542      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2543      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2544       0,     0,    46,     0,    33,     0,     0,     0,    47,    48,
     2545       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2546       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2547       0,     0,    36,     0,    37,     0,    38,     0,     0,   208,
     2548      41,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    25492549      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    25502550      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2551       29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
    2552        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2551      29,    30,     0,     0,     0,     0,     0,     0,   209,    33,
     2552       0,     0,     0,     0,    47,    48,     0,     0,     0,     0,
    25532553       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25542554       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     
    25582558       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25592559       0,    45,     0,   209,     0,     0,     0,     0,     0,    47,
    2560       48,     1,     2,   207,     4,     5,     6,     7,     8,     9,
    2561       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2562       20,    21,    22,    23,    24,    25,    26,    27,  -298,     0,
    2563       28,    29,    30,    31,     0,     0,     0,    32,     0,     0,
    2564       33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2565        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2566        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2567       37,     0,    38,     0,     0,    40,    41,     0,     0,  -298,
    2568        1,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2560      48,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    25692561      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    25702562      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2571       29,    30,    31,     0,    46,     0,    32,     0,     0,    33,
    2572       47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2563      29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
     2564       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25732565       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25742566       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
    2575        0,    38,     0,     0,    40,    41,   206,     2,   207,     4,
    2576        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2577       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2578       25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
    2579        0,     0,     0,    46,     0,    33,     0,     0,     0,    47,
     2567       0,    38,     0,     0,    40,    41,     2,   207,     4,     5,
     2568       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2569      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2570      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2571       0,     0,  -407,   671,    33,     0,     0,     0,     0,    47,
    25802572      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25812573       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2582        0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
    2583      208,    41,     2,   207,     4,     5,     6,     7,     8,     9,
    2584       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2585       20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2586       28,    29,    30,     0,     0,     0,     0,     0,     0,   209,
    2587       33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2574       0,     0,    36,     0,    37,     0,    38,     0,     0,    40,
     2575      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25882576       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2589        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2590       37,     0,    38,    39,     0,   208,    41,    42,     0,     0,
    2591        0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
     2577       0,     0,     0,  1335,     0,     0,     0,     0,     0,     0,
     2578       0,     0,     0,     0,     0,     0,     0,     0,   671,     0,
     2579       0,     0,     0,     0,    47,    48,     2,   207,     4,     5,
     2580       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2581      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2582      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2583       0,     0,     0,     0,    33,     0,     8,     9,    10,    11,
     2584      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2585      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2586      30,     0,    36,     0,    37,     0,    38,     0,    33,    40,
     2587      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2588       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2589       0,     0,     0,  1337,     0,     0,    36,     0,     0,     0,
     2590       0,     0,     0,    40,    41,     0,     0,     0,   671,     0,
     2591       0,     0,     0,     0,    47,    48,     2,   207,     4,     5,
     2592       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2593      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2594      26,    27,    46,     0,    28,    29,    30,     0,    47,    48,
     2595       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    25922596       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25932597       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2594        0,     0,    45,     0,   209,     0,     0,     0,     0,     0,
    2595       47,    48,     2,   207,     4,     5,     6,     7,     8,     9,
    2596       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2597       20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2598       28,    29,    30,     0,     0,     0,     0,     0,     0,     0,
    2599       33,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2600       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2601       26,    27,     0,     0,    28,    29,    30,     0,    36,     0,
    2602       37,     0,    38,     0,    33,    40,    41,     0,     0,     0,
    2603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2604        0,     0,     0,     0,     0,     0,     0,     0,     0,  1340,
    2605        0,     0,    36,     0,     0,     0,     0,     0,     0,    40,
    2606       41,     0,     0,     0,   671,     0,     0,     0,     0,     0,
    2607       47,    48,     2,   207,     4,     5,     6,     7,     8,     9,
    2608       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2609       20,    21,    22,    23,    24,    25,    26,    27,   258,     0,
    2610       28,    29,    30,     0,    47,    48,     0,     0,     0,     0,
    2611       33,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2612       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2613       26,    27,     0,     0,    28,    29,    30,     0,    36,     0,
    2614       37,     0,    38,     0,    33,    40,    41,     0,     0,     0,
    2615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2616        0,     0,     0,     0,     0,     0,     0,     0,     0,  1342,
    2617        0,     0,    36,     0,     0,     0,     0,     0,     0,    40,
    2618       41,     0,     0,     0,   671,     0,     0,     0,     0,     0,
    2619       47,    48,     2,   207,     4,     5,     6,     7,     8,     9,
    2620       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2621       20,    21,    22,    23,    24,    25,    26,    27,    46,     0,
    2622       28,    29,    30,     0,    47,    48,     0,     0,     0,     0,
    2623       33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2625        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2626       37,     0,    38,     0,     0,   208,    41,     2,   207,     4,
    2627        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2628       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2629       25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
    2630        0,     0,     0,     0,   271,    33,     0,     0,     0,     0,
    2631       47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
    2632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2633        0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
    2634       40,    41,     2,   207,     4,     5,     6,     7,     8,     9,
    2635       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2636       20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2637       28,    29,    30,     0,     0,     0,     0,     0,     0,   671,
    2638       33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
    2639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2640        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2641       37,     0,    38,     0,     0,   208,    41,     8,     9,    10,
     2598       0,     0,    36,     0,    37,     0,    38,     0,     0,   208,
     2599      41,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    26422600      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    26432601      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2644       29,    30,     0,     0,     0,     0,     0,   283,   284,    33,
    2645      285,     0,     0,     0,   209,     0,     0,     0,     0,     0,
    2646       47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2602      29,    30,     0,     0,     0,     0,     0,     0,   271,    33,
     2603       0,     0,     0,     0,    47,    48,     0,     0,     0,     0,
     2604       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     2606       0,    38,     0,     0,    40,    41,     2,   207,     4,     5,
     2607       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2608      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2609      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2610       0,     0,     0,   671,    33,     0,     0,     0,     0,    47,
     2611      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2612       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2613       0,     0,    36,     0,    37,     0,    38,     0,     0,   208,
     2614      41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2615      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2616      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
     2617       0,   283,   284,    33,   285,     0,     0,     0,   209,     0,
     2618       0,     0,     0,     0,    47,    48,     0,     0,     0,     0,
     2619       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2620     286,    36,     0,     0,     0,     0,   287,     0,    40,    41,
     2621     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
     2622      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
     2623       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2624       0,     0,     0,     0,     0,   297,     0,   516,     0,     0,
     2625     172,     0,     0,    47,    48,   299,   300,   301,   302,     8,
     2626       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2627      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2628       0,    28,    29,    30,     0,     0,     0,     0,     0,   283,
     2629     284,    33,   285,     8,     9,    10,    11,    12,    13,    14,
     2630      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2631      25,    26,    27,     0,     0,    28,    29,    30,   286,    36,
     2632       0,     0,     0,     0,   287,    33,    40,    41,   288,     0,
     2633       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2634     295,   296,     0,     0,     0,     0,     0,     0,     0,     0,
     2635       0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
     2636     208,    41,     0,   297,   -40,   298,     0,     0,     0,     0,
     2637       0,    47,    48,   299,   300,   301,   302,     8,     9,    10,
     2638      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2639      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2640      29,    30,     0,     0,     0,    47,    48,   283,   284,    33,
     2641     285,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2642       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26472643       0,     0,     0,     0,     0,     0,   286,    36,     0,     0,
    26482644       0,     0,   287,     0,    40,    41,   288,     0,     0,   289,
     
    26502646       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26512647       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2652        0,   297,     0,   516,     0,     0,   172,     0,     0,    47,
     2648       0,   297,     0,   298,     0,     0,     0,     0,     0,    47,
    26532649      48,   299,   300,   301,   302,     8,     9,    10,    11,    12,
    26542650      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    26552651      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2656        0,     0,     0,     0,     0,   283,   284,    33,   285,     8,
    2657        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2658       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2659        0,    28,    29,    30,   286,    36,     0,     0,     0,     0,
    2660      287,    33,    40,    41,   288,     0,     0,   289,   290,   291,
     2652       0,     0,     0,     0,     0,   283,   284,    33,   285,     0,
     2653       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2654       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2655       0,     0,     0,     0,   286,    36,     0,     0,     0,     0,
     2656     287,     0,    40,    41,   288,     0,     0,   289,   290,   291,
    26612657     292,   293,   294,    43,    44,     0,   295,   296,     0,     0,
    2662        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2663        0,     0,     0,     0,     0,     0,   208,    41,     0,   297,
    2664      -40,   298,     0,     0,     0,     0,     0,    47,    48,   299,
     2658       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2659       0,     0,     0,     0,     0,     0,     0,     0,     0,   297,
     2660       0,   343,     0,     0,     0,     0,     0,    47,    48,   299,
    26652661     300,   301,   302,     8,     9,    10,    11,    12,    13,    14,
    26662662      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    26672663      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
    2668        0,    47,    48,   283,   284,    33,   285,     0,     0,     0,
     2664       0,     0,     0,   283,   284,    33,   285,     0,     0,     0,
    26692665       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26702666       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     
    26732669     294,    43,    44,     0,   295,   296,     0,     0,     0,     0,
    26742670       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2675        0,     0,     0,     0,     0,     0,     0,   297,     0,   298,
     2671       0,     0,     0,     0,     0,     0,     0,   297,     0,   378,
    26762672       0,     0,     0,     0,     0,    47,    48,   299,   300,   301,
    2677      302,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2673     302,   465,     2,   207,     4,     5,     6,     7,     8,     9,
     2674      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2675      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2676      28,    29,    30,     0,     0,     0,     0,     0,     0,     0,
     2677      33,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    26782678      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2679       27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2680        0,   283,   284,    33,   285,     0,     0,     0,     0,     0,
     2679      27,     0,     0,    28,    29,    30,     0,     0,    36,     0,
     2680      37,     0,    38,    33,   678,    40,    41,     0,     0,     0,
     2681       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2682      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2683      27,    36,     0,    28,    29,    30,     0,     0,    40,    41,
     2684       0,     0,     0,    33,   678,     0,     0,    -3,     0,     0,
    26812685       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26822686       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2683      286,    36,     0,     0,     0,     0,   287,     0,    40,    41,
     2687       0,    36,     0,     0,     0,     0,     0,   679,    40,    41,
     2688       0,   680,     0,    47,    48,     0,     8,     9,    10,    11,
     2689      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2690      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2691      30,     0,     0,     0,     0,     0,     0,   679,    33,   678,
     2692       0,  1073,     0,    47,    48,     0,     8,     9,    10,    11,
     2693      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2694      22,    23,    24,    25,    26,    27,    36,     0,    28,    29,
     2695      30,     0,     0,    40,    41,     0,     0,     0,    33,     8,
     2696       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2697      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2698       0,    28,    29,    30,     0,     0,    36,     0,     0,     0,
     2699       0,    33,   679,   208,    41,     0,  1200,     0,    47,    48,
     2700       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2701       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2702       0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
     2703       0,     0,   271,     0,     0,     0,     0,     0,    47,    48,
     2704       0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2705      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2706      24,    25,    26,    27,     0,   339,    28,    29,    30,     0,
     2707       0,    47,    48,     0,     0,     0,    33,     8,     9,    10,
     2708      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2709      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2710      29,    30,     0,     0,    36,     0,     0,     0,     0,    33,
     2711       0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
     2712       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2713       0,     0,     0,     0,     0,     0,     0,    36,     0,     0,
     2714       0,     0,     0,     0,    40,    41,     0,     0,     0,     0,
     2715     679,     0,     0,     0,     0,     0,    47,    48,     0,     0,
     2716       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2717       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2718       0,     0,     0,   671,     0,     0,     0,     0,     0,    47,
     2719      48,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2720      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2721      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2722      29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
     2723       0,   283,   284,     0,   285,  1024,     0,  1025,     0,     0,
     2724    1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,     0,     0,
     2725    1511,  1034,     0,     0,     0,  1035,  1036,    36,    35,    37,
     2726     286,    38,     0,     0,    40,    41,  1037,     0,     0,     0,
    26842727     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
    26852728      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
    26862729       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2687        0,     0,     0,     0,     0,   297,     0,   343,     0,     0,
    2688        0,     0,     0,    47,    48,   299,   300,   301,   302,     8,
    2689        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2690       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2691        0,    28,    29,    30,     0,     0,     0,     0,     0,   283,
    2692      284,    33,   285,     0,     0,     0,     0,     0,     0,     0,
     2730       0,     0,  -420,     0,     0,   297,     0,   378,     0,     0,
     2731     172,     0,     0,    47,    48,   299,   300,   301,   302,     0,
     2732       0,   283,   284,  1038,   285,  1024,     0,  1025,  -134,     0,
     2733    1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,     0,     0,
     2734       0,  1034,     0,     0,     0,  1035,  1036,     0,    35,     0,
     2735     286,     0,     0,     0,     0,     0,  1037,     0,     0,     0,
     2736     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
     2737      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
    26932738       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2694        0,     0,     0,     0,     0,     0,     0,     0,   286,    36,
    2695        0,     0,     0,     0,   287,     0,    40,    41,   288,     0,
     2739       0,     0,     0,     0,     0,   297,     0,   378,     0,     0,
     2740     172,     0,     0,    47,    48,   299,   300,   301,   302,     0,
     2741       0,     0,     0,  1038,     0,     0,     0,     0,  -134,     2,
     2742     207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2743      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2744      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2745       0,     0,     0,     0,     0,     0,     0,    33,     0,   283,
     2746     284,     0,   285,  1024,     0,  1025,  1383,  1384,  1026,  1027,
     2747    1028,  1029,  1030,  1031,  1032,  1033,     0,     0,  1511,  1034,
     2748       0,     0,     0,  1035,  1036,    36,    35,    37,   286,    38,
     2749       0,     0,    40,    41,  1037,     0,     0,     0,   288,     0,
     2750       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2751     295,   296,     0,     0,     0,     0,  1294,     0,     0,     0,
     2752       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2753       0,     0,     0,   297,     0,   378,     0,     0,   172,     0,
     2754       0,    47,    48,   299,   300,   301,   302,     0,     0,   283,
     2755     284,  1038,   285,  1024,     0,  1025,  1383,  1384,  1026,  1027,
     2756    1028,  1029,  1030,  1031,  1032,  1033,     0,     0,     0,  1034,
     2757       0,     0,     0,  1035,  1036,     0,    35,     0,   286,     0,
     2758       0,     0,     0,     0,  1037,     0,     0,     0,   288,     0,
    26962759       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
    26972760     295,   296,     0,     0,     0,     0,     0,     0,     0,     0,
    26982761       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2699        0,     0,     0,   297,     0,   378,     0,     0,     0,     0,
    2700        0,    47,    48,   299,   300,   301,   302,     8,     9,    10,
    2701       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2702       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2703       29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
    2704        0,     0,     0,     0,     0,     0,     0,     8,     9,    10,
    2705       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2706       21,    22,    23,    24,    25,    26,    27,    36,     0,    28,
    2707       29,    30,    39,     0,    40,    41,    42,     0,     0,    33,
    2708        0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
     2762       0,     0,     0,   297,     0,   378,     0,     0,   172,     0,
     2763       0,    47,    48,   299,   300,   301,   302,     0,     0,   283,
     2764     284,  1038,   285,  1024,     0,  1025,     0,     0,  1026,  1027,
     2765    1028,  1029,  1030,  1031,  1032,  1033,     0,     0,     0,  1034,
     2766       0,     0,     0,  1035,  1036,     0,    35,     0,   286,     0,
     2767       0,     0,     0,     0,  1037,     0,     0,     0,   288,     0,
     2768       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2769     295,   296,     0,     0,     0,     0,     0,     0,   283,   284,
     2770       0,   285,     0,     0,     0,     0,     0,     0,     0,     0,
     2771       0,     0,     0,   297,     0,   378,     0,     0,   172,     0,
     2772       0,    47,    48,   299,   300,   301,   302,   286,     0,     0,
     2773       0,  1038,     0,   287,     0,     0,     0,   288,     0,     0,
     2774     289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
     2775     296,     0,     0,     0,     0,     0,     0,   283,   284,     0,
     2776     285,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2777       0,     0,   297,     0,   378,     0,     0,   959,     0,     0,
     2778      47,    48,   299,   300,   301,   302,   286,     0,     0,     0,
     2779       0,     0,   287,     0,     0,     0,   288,     0,     0,   289,
     2780     290,   291,   292,   293,   294,    43,    44,     0,   295,   296,
     2781       0,     0,     0,     0,     0,     0,   283,   284,     0,   285,
    27092782       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2710        0,     0,     0,     0,     0,     0,     0,    36,     0,     0,
    2711        0,    45,    39,    46,   208,    41,    42,     0,     0,    47,
    2712       48,     0,     0,     0,     0,    43,    44,     0,     0,     0,
    2713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2715        0,    45,     0,   271,     0,     0,     0,     0,     0,    47,
    2716       48,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2717       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2718       27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2719        0,     0,     0,    33,   678,     0,     0,     0,     0,     0,
    2720        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2721       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2722       27,    36,     0,    28,    29,    30,     0,     0,    40,    41,
    2723        0,     0,     0,    33,   678,     0,     0,     0,     0,     0,
    2724        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2726        0,    36,     0,     0,     0,     0,     0,   679,    40,    41,
    2727        0,  1078,     0,    47,    48,     0,     8,     9,    10,    11,
    2728       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2729       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2730       30,     0,     0,     0,     0,     0,     0,   679,    33,     0,
    2731        0,  1205,     0,    47,    48,     0,     8,     9,    10,    11,
    2732       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2733       22,    23,    24,    25,    26,    27,    36,     0,    28,    29,
    2734       30,     0,     0,   208,    41,     0,     0,     0,    33,     8,
    2735        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2736       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2737        0,    28,    29,    30,     0,     0,    36,     0,     0,     0,
    2738        0,    33,   271,    40,    41,     0,     0,     0,    47,    48,
    2739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2740        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2741        0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
    2742        0,     0,   339,     0,     0,     0,     0,     0,    47,    48,
    2743        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2744       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2745       24,    25,    26,    27,     0,   679,    28,    29,    30,     0,
    2746        0,    47,    48,     0,     0,     0,    33,     0,     2,   207,
    2747        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2748       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2749       24,    25,    26,    27,    36,     0,    28,    29,    30,     0,
    2750        0,    40,    41,     0,     0,     0,    33,     0,     0,     0,
    2751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2753        0,     0,     0,     0,    36,     0,    37,     0,    38,     0,
    2754      671,    40,    41,     0,     0,     0,    47,    48,   283,   284,
    2755        0,   285,  1023,     0,  1024,     0,     0,  1025,  1026,  1027,
    2756     1028,  1029,  1030,  1031,  1032,     0,     0,     0,  1033,     0,
    2757        0,     0,  1034,  1035,     0,    35,     0,   286,     0,  -420,
    2758        0,     0,     0,  1036,     0,   175,   176,  1039,     0,     0,
    2759      289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
    2760      296,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2762        0,     0,   297,     0,   378,     0,     0,   172,     0,     0,
    2763       47,    48,   299,   300,   301,   302,     0,     0,     0,     0,
    2764     1040,     0,     0,     0,     0,  -134,     2,   207,     4,     5,
    2765        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2766       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2767       26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2768        0,     0,     0,     0,    33,     0,   283,   284,     0,   285,
    2769     1023,     0,  1024,  1388,  1389,  1025,  1026,  1027,  1028,  1029,
    2770     1030,  1031,  1032,     0,     0,  1516,  1033,     0,     0,     0,
    2771     1034,  1035,    36,    35,    37,   286,    38,     0,     0,    40,
    2772       41,  1036,     0,   175,   176,  1039,     0,     0,   289,   290,
    2773      291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    2774        0,     0,     0,  1299,     0,     0,     0,     0,     0,     0,
    2775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2776      297,     0,   378,     0,     0,   172,     0,     0,    47,    48,
    2777      299,   300,   301,   302,     0,     0,   283,   284,  1040,   285,
    2778     1023,     0,  1024,  1388,  1389,  1025,  1026,  1027,  1028,  1029,
    2779     1030,  1031,  1032,     0,     0,     0,  1033,     0,     0,     0,
    2780     1034,  1035,     0,    35,     0,   286,     0,     0,     0,     0,
    2781        0,  1036,     0,   175,   176,  1039,     0,     0,   289,   290,
    2782      291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    2783        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2785      297,     0,   378,     0,     0,   172,     0,     0,    47,    48,
    2786      299,   300,   301,   302,     0,     0,   283,   284,  1040,   285,
    2787     1023,     0,  1024,     0,     0,  1025,  1026,  1027,  1028,  1029,
    2788     1030,  1031,  1032,     0,     0,     0,  1033,     0,     0,     0,
    2789     1034,  1035,     0,    35,     0,   286,     0,     0,     0,     0,
    2790        0,  1036,     0,   175,   176,  1039,     0,     0,   289,   290,
     2783       0,   297,     0,   378,     0,     0,     0,     0,     0,    47,
     2784      48,   299,   300,   301,   302,   286,     0,     0,     0,     0,
     2785       0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
    27912786     291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    27922787       0,     0,     0,     0,     0,   283,   284,     0,   285,     0,
    27932788       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2794      297,     0,   378,     0,     0,   172,     0,     0,    47,    48,
    2795      299,   300,   301,   302,   286,     0,     0,     0,  1040,     0,
     2789     505,     0,   378,     0,     0,     0,     0,     0,    47,    48,
     2790     299,   300,   301,   302,   286,     0,     0,     0,     0,     0,
    27962791     287,     0,     0,     0,   288,     0,     0,   289,   290,   291,
    27972792     292,   293,   294,    43,    44,     0,   295,   296,     0,     0,
     
    28172812       0,     0,     0,     0,     0,     0,   297,     0,   378,     0,
    28182813       0,     0,     0,     0,   344,    48,   299,   300,   301,   302,
     2814       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2815      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2816      22,    23,    24,    25,    26,    27,     0,     0,     0,     0,
     2817       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    28192818       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    28202819      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2821        0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2822        0,     0,    33,   206,     2,   207,     4,     5,     6,     7,
    2823        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2824       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2825       36,     0,    28,    29,    30,   112,     0,    40,    41,     0,
    2826        0,     0,    33,     0,     0,     0,     0,     0,    43,    44,
     2820       0,     0,    28,    29,    30,     0,    36,     0,    37,     0,
     2821      38,    39,    33,   175,   176,    42,     0,     0,     0,     0,
     2822       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
     2823       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2824      36,     0,     0,     0,     0,   112,     0,    40,    41,     0,
     2825       0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
     2826     206,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2827      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2828      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2829      29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
    28272830       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28282831       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2829       36,     0,    37,     0,    38,     0,     0,   208,    41,   465,
    2830        2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    2831       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2832       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2833       30,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2832       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     2833       0,    38,     0,     0,   208,    41,   465,     2,   207,     4,
     2834       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2835      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2836      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2837       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    28342838       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28352839       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2836        0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
    2837       38,     0,     0,    40,    41,     2,   207,     4,     5,     6,
    2838        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2839       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2840       27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2841        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     2840       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2841      40,    41,     2,   207,     4,     5,     6,     7,     8,     9,
     2842      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2843      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2844      28,    29,    30,     0,     0,     0,     0,     0,     0,     0,
     2845      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28422846       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2843        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2844        0,    36,     0,    37,     0,    38,     0,     0,   208,    41,
    2845        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2846       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2847        0,     0,    28,    29,    30,   483,   484,   485,   486,     0,
    2848        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
    2849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2851       36,     0,     0,     0,     0,     0,     0,    40,    41
     2847       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2848      37,     0,    38,     0,     0,   208,    41
    28522849};
    28532850
    28542851#define yypact_value_is_default(yystate) \
    2855   ((yystate) == (-1328))
     2852  ((yystate) == (-1263))
    28562853
    28572854#define yytable_value_is_error(yytable_value) \
     
    28602857static const yytype_int16 yycheck[] =
    28612858{
    2862        0,     1,     0,   186,    45,     1,   240,   186,   118,    45,
    2863      186,   533,   205,    45,   186,   186,   186,   520,     0,   186,
    2864      743,   187,   743,   743,    51,   220,   863,  1022,   863,   640,
    2865     1005,    31,    32,   968,    34,     0,    34,   169,   170,   349,
    2866      512,   598,   349,   616,   491,    45,    34,   598,   495,   664,
    2867      188,    51,    34,    51,   569,    45,   599,     0,   345,    59,
    2868      689,  1388,   605,     0,    45,    65,    45,    65,    68,    34,
    2869       68,    71,     0,    71,   364,    71,  1004,  1005,   368,  1309,
    2870     1015,  1118,    42,   266,    84,    85,   596,   266,   115,   187,
    2871      266,    34,   202,   229,   266,   266,   266,    34,   107,   266,
    2872      596,   267,   596,    66,  1034,  1035,    34,    30,   108,   417,
    2873       84,   111,   248,    51,   596,   596,   596,    45,   118,  1392,
    2874      596,   148,   114,    51,   262,   263,    42,    65,   436,   480,
    2875       68,    84,   100,    71,  1461,   282,   444,    65,   257,    32,
    2876       68,   686,   116,    71,   136,   186,   124,   125,   157,   149,
    2877      186,   149,   630,   631,   186,   114,   116,    54,    81,  1031,
    2878        0,   161,   297,   161,    47,    48,   134,   782,   646,   267,
    2879      893,    90,   893,   893,   137,     0,     1,   792,   681,  1409,
    2880      487,  1493,   631,   210,  1114,  1022,   186,   187,   803,   187,
    2881      101,    84,    85,   480,    34,    67,   186,   646,   114,   118,
    2882      116,  1238,   202,  1240,  1241,   186,   728,   186,  1520,    34,
    2883      210,   149,   210,   240,   409,  1488,   127,   114,   712,   219,
    2884     1493,   149,   222,   161,   222,   266,   704,   121,    68,   229,
    2885      266,   712,   114,   161,   266,  1210,   712,   120,   112,   405,
    2886     1513,   135,   114,    68,   244,   272,    71,  1520,   248,   187,
    2887      101,    42,   252,   253,   252,   704,    42,   814,   186,   187,
    2888      121,   804,   136,   814,   252,   894,   266,   267,  1443,   267,
    2889      252,   786,   210,   273,   135,   257,   127,    51,    42,   630,
    2890      631,  1276,   210,   310,   222,   395,   121,   252,   598,  1264,
    2891      425,   426,   802,   117,   222,   646,   586,   121,   417,    42,
    2892      135,   912,    42,  1478,   117,  1480,   802,   405,   802,   252,
    2893      939,   121,   478,   423,   257,   252,     1,   436,   345,   429,
    2894      802,   802,   802,    11,   252,   444,   802,   137,   114,   616,
    2895      116,   331,   341,   331,   621,  1263,  1264,   627,   266,    47,
    2896       48,   115,   114,   600,   889,    47,    48,   604,   348,   349,
    2897      114,   244,   116,   704,   133,   117,   503,   136,  1195,   121,
    2898     1195,   115,   114,   135,   921,   365,    51,   675,   625,   369,
    2899      505,   114,   629,   116,   114,   510,   116,    75,   513,   379,
    2900      478,   135,   222,   115,  1319,   119,  1001,  1002,   739,   121,
    2901       88,    89,   117,   331,   115,   395,   121,   222,   425,   426,
    2902      285,   425,   426,   331,  1276,   405,   121,   405,   115,  1384,
    2903      983,   119,   252,     3,   135,   121,   114,   119,   116,     3,
    2904       75,   349,   107,   423,   920,   310,   311,   252,   135,   429,
    2905      115,   137,   567,    88,    89,   417,   210,  1432,   920,  1276,
    2906      920,  1376,  1377,   114,  1439,   116,   121,  1062,  1063,   992,
    2907      993,   954,   739,   689,   436,     1,  1384,     0,     1,   462,
    2908      345,   116,   444,   148,   117,   465,   493,   405,   121,   493,
    2909      470,     0,   157,   121,   417,  1104,     0,   405,   478,  1351,
    2910      478,   114,   482,   930,   482,   512,   379,   487,   512,   137,
    2911      490,    34,   492,   436,   966,   380,  1491,   116,   272,   118,
    2912      482,   444,  1113,    10,   814,   795,    75,   814,   121,   641,
    2913      350,   136,   650,   660,   121,   681,   135,   482,   863,    88,
    2914       89,   206,   114,   297,   137,   210,  1493,   527,    71,  1086,
    2915      137,   114,   532,   116,  1163,  1164,   310,   480,   648,   482,
    2916      114,   892,    95,    96,   780,   482,  1513,   116,    75,   576,
    2917       77,    78,   576,  1520,   482,   240,   675,   121,   115,   487,
    2918      121,    88,    89,   117,  1436,   121,  1438,   121,    75,  1072,
    2919       77,    78,   121,   137,  1077,   114,   137,   130,   131,   836,
    2920      580,   137,   701,   681,   731,   121,   114,   272,   137,   616,
    2921      275,   114,   119,   116,   621,  1432,   596,   490,   598,   492,
    2922     1102,   137,  1439,   121,  1106,   892,     4,     5,     6,     7,
    2923        8,     9,   297,   121,   114,   115,   852,   617,   925,   137,
    2924     1492,    75,   114,    77,    78,   310,   114,   121,   121,   137,
    2925     1245,   471,   632,   115,    88,    89,   636,  1252,  1253,  1254,
    2926       93,    94,   482,   137,   137,   645,  1464,   647,   648,   649,
    2927      587,   115,  1470,  1004,  1491,   850,   341,   482,   894,   115,
    2928      345,   664,   116,   115,   549,   550,   551,   115,   596,   926,
    2929      598,   115,  1490,   121,    72,   870,    74,  1495,   452,   364,
    2930     1025,   681,   114,   368,   115,   685,   114,   687,   116,   114,
    2931      121,   691,   114,   675,   122,   123,   983,   120,   932,   699,
    2932     1315,   137,    75,   939,    77,    78,    79,   253,    67,   252,
    2933      893,   114,   712,   713,   893,    88,    89,   893,   114,   701,
    2934      116,   893,   893,   893,   856,   114,   893,   116,   115,   895,
    2935      114,   505,   675,   507,   121,   971,   510,   137,    75,   513,
    2936      425,   426,  1371,   636,   119,     4,     5,     6,     7,     8,
    2937        9,    88,    89,   681,   114,   122,   116,    72,   701,  1388,
    2938       75,   128,   129,    78,   137,    80,   114,   452,   116,   115,
    2939     1292,   114,    87,   116,  1497,   121,  1497,  1497,   618,   782,
    2940      465,   115,  1133,  1019,   712,   713,   114,   121,   116,   792,
    2941       97,    98,   685,   115,   687,   115,   739,   895,   691,   121,
    2942      803,   121,   802,   996,   137,   898,   491,   900,   493,   114,
    2943      495,   116,   137,    72,   814,    74,   119,   122,   123,   119,
    2944      505,   114,   507,   116,   114,   510,    84,   512,   513,   122,
    2945      123,  1460,  1461,   115,    75,    59,    77,    78,    79,   121,
    2946       10,    11,    12,    13,    14,   115,  1133,    88,    89,   115,
    2947     1195,   121,   692,   120,   121,   121,   856,    10,    11,    12,
    2948       13,    14,   862,   863,   115,   750,   706,   114,  1104,   115,
    2949      121,   505,    42,   507,   802,   121,   510,   115,   137,   513,
    2950      114,   863,   115,   121,   108,  1017,   814,   111,   121,    42,
    2951      132,   576,    84,   893,   123,   895,   137,   115,   213,    99,
    2952       70,   586,   902,   121,   678,   932,  1072,   115,   115,   115,
    2953      115,  1077,  1263,   121,   121,   121,   121,    70,   133,   465,
    2954      863,   115,   116,  1210,   117,   925,   863,  1163,  1164,    61,
    2955       62,   616,   114,   115,   116,   931,   621,   120,   121,   482,
    2956       47,    48,   627,   116,   114,   945,   116,   115,   885,   892,
    2957     1295,   117,   122,   123,   115,  1102,   983,   797,   958,  1106,
    2958     1107,  1119,  1120,   856,   964,   893,   115,   895,   968,   862,
    2959     1473,   114,   115,   116,  1072,   556,   557,   558,   559,  1077,
    2960      115,   527,   552,   553,  1094,   115,   532,     4,     5,     6,
    2961        7,     8,     9,   678,    75,   219,   115,   925,  1001,  1002,
    2962     1345,    82,   114,  1348,    85,   116,    87,    88,    89,   902,
    2963      114,   115,   116,   554,   555,  1015,   560,   561,    35,  1522,
    2964      117,   119,    75,   863,   119,  1025,    79,   121,  1028,  1029,
    2965     1030,   716,   119,   136,   580,    88,    89,   352,   863,   354,
    2966     1022,  1176,  1177,   136,  1179,   114,   117,  1392,   115,   273,
    2967     1185,   115,  1397,  1188,   117,    72,   117,    74,  1058,  1062,
    2968     1063,   114,   135,   116,    31,   958,   114,   115,   116,   122,
    2969      123,   121,  1072,  1220,    61,    62,    63,  1077,   135,  1022,
    2970      135,  1426,   115,   115,   119,  1022,   120,   115,    10,    11,
    2971       12,    13,    14,   120,  1094,    75,   120,   115,   983,    79,
    2972      121,   647,    75,   649,    77,    78,   931,   114,    88,    89,
    2973      795,   137,   135,     0,     1,    88,    89,   115,  1118,   121,
    2974       42,     3,   115,   115,   348,   440,   115,   115,    10,    11,
    2975       12,    13,    14,   907,   114,  1371,   121,  1022,   115,     0,
    2976        1,   365,   122,   123,  1072,   369,   986,    34,    70,  1077,
    2977      115,   115,  1388,   699,   115,   115,   115,   115,    45,   115,
    2978       42,   115,   115,  1310,    51,  1058,  1511,  1314,   115,   115,
    2979     1170,   120,  1517,    34,    31,   115,   115,   121,    65,  1175,
    2980      135,    68,  1022,  1528,    71,   136,   117,  1532,    70,   117,
    2981     1133,   115,   114,   135,   116,  1195,   115,  1022,   114,   119,
    2982      122,   123,   115,   121,   115,  1208,   115,    68,   115,   121,
    2983       71,   115,  1347,  1195,   115,   121,   121,   114,  1214,   114,
    2984      107,   114,   907,    75,  1460,  1461,   114,   135,   115,   114,
    2985       82,   118,   119,    85,   137,    87,    88,    89,  1238,   135,
    2986     1240,  1241,  1245,   135,   121,   930,   931,   932,   120,  1252,
    2987     1253,  1254,  1195,   115,   135,   115,   120,  1367,  1195,   115,
    2988      133,   148,   149,   117,   116,   120,  1413,  1210,   119,   137,
    2989      157,   158,   115,  1507,   161,    75,   117,  1170,    75,   121,
    2990       77,    78,    82,   117,   115,    85,   115,    87,    88,    89,
    2991      117,    88,    89,  1067,  1276,  1295,    75,   158,   983,   186,
    2992      187,   117,   117,    82,   115,   117,    85,   117,    87,    88,
    2993       89,   117,  1315,  1309,  1497,   202,   116,   114,  1497,  1319,
    2994      863,  1497,   119,   210,    50,  1497,  1497,  1497,   137,   137,
    2995     1497,   120,  1498,  1276,  1174,   222,   137,   116,    75,  1276,
    2996       77,    78,    79,   137,   137,  1345,   115,   120,  1348,  1174,
    2997     1175,    88,    89,   240,   135,  1195,  1522,   115,   120,    86,
    2998      117,   222,   117,  1473,   117,   252,  1366,  1367,   117,   117,
    2999     1195,   117,   115,   260,   115,   117,  1376,  1377,   265,   266,
    3000      267,   114,  1067,   114,   114,   272,    63,   115,   931,  1214,
    3001       75,   252,  1392,   617,    79,   115,   119,  1397,   114,   945,
    3002     1498,   137,   117,    88,    89,   117,    57,   115,   632,   101,
    3003      297,   117,   115,  1409,  1414,   101,   114,   114,   964,   137,
    3004      120,   645,   968,   310,  1522,   115,  1426,   115,   115,   114,
    3005      121,  1271,   115,    45,   135,   137,  1276,   122,   123,   326,
    3006      115,   137,   115,   101,   331,   101,  1271,   462,    99,   115,
    3007     1432,  1276,   115,   137,   341,   137,  1497,  1439,   345,   137,
    3008      117,  1497,   349,   350,   117,  1497,   115,   115,   120,  1015,
    3009        0,     1,   117,  1473,  1474,   137,   114,   364,   137,  1022,
    3010     1507,   368,   115,  1483,  1309,   120,   120,   115,  1488,  1432,
    3011      137,   115,   115,  1493,   562,  1432,  1439,  1497,  1498,   564,
    3012     1498,   563,  1439,  1040,    34,   565,   963,   566,   395,  1491,
    3013     1461,  1511,    75,  1513,    77,    78,    79,  1517,   405,  1195,
    3014     1520,    51,  1522,  1353,  1522,    88,    89,  1532,  1528,  1214,
    3015     1286,  1107,  1532,  1314,  1439,  1077,   423,  1058,   425,   426,
    3016      678,    71,   429,   194,   431,   678,   900,   691,  1491,     3,
    3017       75,   114,    77,    78,  1491,   908,    10,    11,    12,    13,
    3018       14,   580,   856,    88,    89,   452,   217,   958,   642,  1497,
    3019      431,   716,  1118,   928,  1214,   727,   227,   107,   568,    -1,
    3020      482,    -1,   568,   470,  1409,   568,    -1,    -1,    42,   114,
    3021       -1,   478,  1432,   480,   119,   482,    -1,    -1,    -1,  1439,
    3022      487,    -1,    -1,    -1,    -1,    -1,   493,  1432,    10,    11,
    3023       12,    13,    14,    -1,  1439,    -1,    70,    -1,   505,   149,
    3024      507,   482,    -1,   510,  1309,   512,   513,   157,   158,    -1,
    3025       -1,    -1,  1175,   520,    -1,    -1,    -1,   524,    -1,    -1,
    3026       42,    75,    -1,    77,    78,    79,   297,    -1,    -1,   664,
    3027       -1,  1491,  1195,    -1,    88,    89,    -1,   187,    -1,    -1,
    3028       -1,    -1,    -1,   524,    -1,    -1,  1491,  1441,    70,  1443,
    3029       -1,  1214,   202,    75,    -1,   205,   206,    79,    -1,    -1,
    3030      210,   568,   569,    -1,    -1,    -1,    88,    89,   122,   576,
    3031       -1,    -1,  1238,    -1,  1240,  1241,    -1,    -1,    -1,   586,
    3032      587,   231,    -1,   590,  1478,   235,  1480,   237,    -1,   596,
    3033       -1,   598,   114,    -1,    -1,    -1,   246,    -1,    -1,    -1,
    3034      122,   123,   252,    -1,  1409,    -1,   587,   257,    75,   616,
    3035       77,    78,    79,  1276,   621,    -1,   623,   267,    -1,    -1,
    3036      627,    88,    89,   630,   631,   275,    -1,    -1,    -1,    -1,
    3037       75,    -1,    77,    78,    79,    -1,  1441,    -1,  1443,   646,
    3038       -1,   648,    -1,    88,    89,    -1,  1309,   782,    -1,   630,
    3039      631,    -1,    -1,  1319,    -1,    -1,    -1,   792,    -1,    -1,
    3040       10,    11,    12,    13,    14,   646,    -1,    -1,   803,   114,
    3041      441,   678,    -1,  1478,   681,  1480,    -1,    -1,     0,    -1,
    3042       -1,    -1,    -1,    -1,  1028,  1029,  1030,    -1,    -1,    -1,
    3043       -1,   341,    42,    -1,    -1,   345,   467,   704,   705,   706,
    3044       -1,   351,  1507,    -1,    -1,   712,   713,    -1,    -1,    -1,
    3045     1376,  1377,    34,    -1,   364,    -1,    -1,    -1,   368,    -1,
    3046       70,    -1,    -1,   704,    -1,    -1,    -1,    10,    11,    12,
    3047       13,    14,   739,    -1,   505,    -1,   743,   744,    -1,   510,
    3048       -1,    -1,   513,     3,    -1,    -1,  1409,    -1,  1414,    71,
    3049       10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    42,
    3050       -1,    -1,    -1,    -1,   114,    -1,   116,   417,    -1,  1432,
    3051       -1,    -1,   122,   123,    -1,    -1,  1439,    -1,    -1,   786,
    3052       -1,   431,    42,    -1,    -1,    -1,   436,    70,   795,    -1,
    3053      797,    -1,    75,     0,   444,   802,    79,    -1,    -1,    -1,
    3054       -1,    -1,    -1,    -1,    -1,    88,    89,   814,  1474,    68,
    3055       70,    -1,   462,    -1,    -1,   465,    -1,  1483,    77,    -1,
    3056       -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,  1491,    -1,
    3057      480,   114,   482,    -1,    -1,    -1,   158,    -1,    -1,   122,
    3058      123,   491,   190,    -1,    -1,   495,    -1,    -1,    75,   197,
    3059       77,    78,    79,    -1,    -1,    -1,   863,    -1,    -1,    -1,
    3060      119,    88,    89,    -1,    71,    68,  1001,  1002,    -1,    -1,
    3061       -1,    -1,    -1,    -1,   524,    -1,    -1,    -1,   885,    -1,
    3062       -1,    84,   863,    -1,    -1,   892,   893,   114,   895,   116,
    3063       -1,    -1,   663,    -1,    -1,   122,   123,    -1,    -1,    -1,
    3064      907,   672,   161,    -1,   885,   676,    -1,    -1,   135,   231,
    3065       -1,    -1,    -1,   920,   921,    -1,   119,    -1,   925,   569,
    3066       -1,   269,    -1,    -1,   931,   932,    -1,  1062,  1063,    -1,
    3067      252,    -1,    -1,    -1,    -1,   257,   586,   587,    -1,    -1,
    3068       75,    -1,    77,    78,    79,    -1,    -1,   954,   598,    -1,
    3069      931,   158,    -1,    88,    89,    -1,    -1,    -1,   161,    -1,
    3070       -1,    -1,    -1,   222,    -1,    -1,   616,    -1,    -1,    -1,
    3071       75,   621,    77,    78,    79,    -1,   983,   627,   326,   114,
    3072      630,   631,    -1,    88,    89,    68,   334,   122,   123,   337,
    3073       -1,    75,    -1,    77,    78,    79,   646,  1004,  1005,    -1,
    3074       -1,   260,    -1,    -1,    88,    89,   265,    -1,    -1,   114,
    3075       -1,   116,    -1,    -1,   664,  1022,    -1,   122,   123,   222,
    3076       -1,    -1,  1366,  1004,  1005,   675,    -1,    -1,    -1,   351,
    3077      114,    -1,   116,    -1,    -1,    -1,   119,    -1,   122,   123,
    3078       -1,  1022,    -1,    -1,    -1,   252,    -1,    -1,    -1,   397,
    3079      257,   701,    -1,   401,   704,    -1,    -1,   260,    -1,    -1,
    3080     1067,    -1,   265,   713,    -1,  1072,   716,    -1,    -1,    -1,
    3081     1077,    -1,    -1,  1208,    -1,    -1,    -1,    -1,   161,  1086,
    3082       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1094,    -1,   739,
    3083       -1,   350,    -1,    -1,   744,   417,   102,   103,   104,   105,
    3084      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   431,
    3085     1245,    -1,    -1,    -1,   436,    -1,   887,  1252,  1253,  1254,
    3086       -1,    -1,   444,    -1,    -1,    -1,  1133,    -1,    -1,   477,
    3087      136,    -1,   782,    -1,    -1,    -1,    -1,    -1,    -1,   222,
    3088      462,    -1,   792,    -1,   351,   795,    -1,   350,   798,    -1,
    3089       -1,    -1,    -1,   803,    -1,    -1,    -1,     0,   480,    -1,
    3090      482,    -1,    -1,   813,    -1,    -1,    -1,  1174,  1175,    -1,
    3091       75,   430,    77,    78,    79,    -1,    -1,   260,    -1,    -1,
    3092     1315,    -1,   265,    88,    89,    -1,    -1,   446,  1195,    -1,
    3093       -1,    34,    -1,  1174,  1175,    -1,    -1,    -1,    -1,    -1,
    3094       -1,    -1,   524,  1210,    -1,    -1,    -1,  1214,    -1,   114,
    3095      417,   116,   471,   863,  1195,    -1,    -1,   122,   123,    -1,
    3096      568,   569,    -1,    -1,   431,    -1,    -1,   430,    71,   436,
    3097       -1,    -1,    -1,  1214,    -1,   885,    -1,   444,    -1,    -1,
    3098       -1,    -1,   892,    -1,    -1,   895,    75,    -1,    77,    78,
    3099       79,    -1,    -1,    -1,    -1,   462,  1263,  1264,    -1,    88,
    3100       89,    -1,  1033,    -1,  1271,   587,    -1,   350,   471,  1276,
    3101       -1,   921,    -1,   480,    -1,   482,    -1,    -1,    -1,    -1,
    3102      930,   931,  1263,  1264,    -1,   114,    -1,    -1,    -1,    -1,
    3103     1271,    -1,    -1,   122,   123,  1276,    -1,    -1,    -1,    -1,
    3104       -1,    -1,  1309,   651,    -1,    -1,    86,   655,   630,   631,
    3105       90,    91,    92,    -1,    -1,   158,    -1,   524,    -1,    -1,
    3106       -1,    -1,    -1,    -1,   646,    -1,    -1,    -1,  1309,    -1,
    3107       -1,   590,    -1,   983,   114,    -1,   116,    -1,   118,   119,
    3108       -1,    -1,   664,    -1,    -1,    -1,   996,   430,    -1,    -1,
    3109       -1,  1001,  1002,   675,  1004,  1005,    -1,    -1,    -1,   618,
    3110     1367,    86,    -1,    -1,   623,    90,    91,    92,    -1,    -1,
    3111       -1,    -1,  1022,    -1,    -1,    -1,    -1,  1384,    -1,   701,
    3112      587,    -1,   704,    -1,    -1,    -1,    -1,   590,   471,   114,
    3113       -1,   116,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,
    3114       -1,    -1,  1409,  1384,    -1,    -1,    -1,    -1,    -1,   252,
    3115       -1,    -1,  1062,  1063,   257,   618,    -1,   739,    -1,    -1,
    3116      623,    -1,    -1,   630,   631,  1432,    -1,    -1,  1409,    -1,
    3117       -1,    -1,  1439,   692,  1441,    -1,  1443,    -1,   786,   646,
    3118       -1,    -1,    -1,    -1,    -1,    -1,    -1,   706,    -1,    -1,
    3119       -1,  1432,    -1,    -1,    -1,    -1,    -1,   664,  1439,    -1,
    3120      782,    -1,    -1,    -1,    -1,    -1,  1473,    -1,   675,    -1,
    3121      792,  1478,    -1,  1480,    -1,    -1,   798,    -1,    -1,    -1,
    3122       -1,   803,    -1,  1133,  1491,     0,    -1,    -1,    -1,   692,
    3123     1497,  1498,    -1,    -1,   701,    -1,    -1,   704,    -1,    -1,
    3124     1507,    -1,    -1,   706,    -1,    -1,    -1,   590,   351,    -1,
    3125     1491,    -1,    -1,    -1,  1285,  1522,    -1,    -1,    -1,    34,
    3126       -1,    -1,    -1,    -1,    -1,  1175,    -1,    -1,    -1,    -1,
    3127       -1,    -1,   739,    -1,    -1,   618,    -1,    -1,   797,    -1,
    3128      623,   863,    -1,    -1,    -1,  1195,    -1,    -1,    28,    29,
    3129       30,   899,    -1,    -1,    -1,    -1,    71,    -1,  1208,    -1,
    3130     1210,    -1,    -1,   885,  1214,    -1,    -1,    -1,    -1,    -1,
    3131      892,    -1,    -1,    -1,   417,   782,    -1,    -1,    -1,    -1,
    3132       -1,    -1,    -1,    -1,    -1,   792,    -1,    -1,   431,    -1,
    3133       -1,   798,    -1,   436,   797,  1245,   803,    -1,    -1,    -1,
    3134       -1,   444,  1252,  1253,  1254,    -1,    -1,    -1,    59,   692,
    3135       -1,    -1,    -1,  1263,  1264,    -1,    -1,    -1,    -1,   462,
    3136      100,    -1,   102,   706,    -1,   973,  1276,    -1,    -1,    -1,
    3137       -1,    -1,    -1,    -1,    -1,    -1,    -1,   480,    -1,   482,
    3138       -1,   989,    -1,   158,    -1,    -1,    -1,    -1,    -1,    -1,
    3139       -1,    -1,    -1,    -1,    -1,    -1,   863,   108,    -1,  1309,
    3140      111,    -1,    -1,    -1,    -1,  1315,    -1,    -1,    -1,  1440,
    3141       -1,  1442,    -1,    -1,    -1,    -1,    -1,    -1,   885,  1001,
    3142     1002,   524,  1004,  1005,    -1,   892,    -1,    -1,    -1,    -1,
     2859       0,     1,    45,   118,    45,   240,   520,     0,   186,    45,
     2860     533,   512,   186,   186,   863,   205,   640,   220,   186,   107,
     2861       1,   743,   569,   743,   186,   743,   186,     0,   863,   169,
     2862     170,   616,   349,     0,    34,   598,    34,   257,   188,   596,
     2863       0,    34,   186,  1023,   491,    45,  1005,  1006,   495,   349,
     2864     282,    51,   596,   598,   686,     0,     1,    45,    51,  1304,
     2865     187,    34,  1006,    45,   596,    65,    45,    34,    68,   157,
     2866     728,    71,    65,   364,    34,    68,   596,   368,    71,   114,
     2867    1035,  1036,   689,   596,   121,    45,   187,   202,   266,    34,
     2868      71,    51,   266,   266,    84,    42,     0,   417,   266,   596,
     2869     137,   136,   114,    59,   266,    65,   266,   107,    68,    42,
     2870     596,    71,   262,   263,   297,   115,   436,   600,   118,   119,
     2871     631,   604,   266,    68,   444,    66,    71,   969,    30,     0,
     2872      34,    54,    47,    48,   114,   646,    47,    48,     0,     1,
     2873     267,   599,   625,   186,     0,   186,   629,   605,   148,   149,
     2874     186,   345,   108,  1113,  1109,   111,   149,   157,   158,  1404,
     2875    1383,   161,    42,    34,   630,   631,   267,   681,   161,   116,
     2876     487,   893,    34,   893,  1016,   893,  1438,    11,    34,    81,
     2877     646,   425,   426,    47,    48,   114,   186,   187,  1023,   149,
     2878      67,   114,   712,   704,   187,   112,   137,   417,   186,   712,
     2879     108,   161,   202,   111,   186,   120,   409,   186,   119,    71,
     2880     210,  1473,    68,  1475,   100,   712,   436,   210,   114,   136,
     2881     116,    75,   222,   266,   444,   266,   186,   187,   117,   222,
     2882     266,  1097,   480,  1456,   114,  1101,   116,   114,   704,   786,
     2883     240,    32,   425,   426,   462,   802,    42,    42,   134,   493,
     2884     210,   814,   252,   341,   252,   119,    75,   889,   802,   252,
     2885     260,  1205,   222,   219,    84,   265,   266,   267,   512,   814,
     2886     802,   503,   272,  1233,   267,  1235,  1236,   222,   405,   252,
     2887     395,    75,   802,   137,   257,   252,   480,   894,   912,   802,
     2888      51,  1271,   252,    84,    85,   586,   116,   297,   598,  1258,
     2889    1259,    42,  1488,   122,   405,   802,   266,   252,   423,    90,
     2890     310,   219,   119,   101,   429,  1259,   802,   273,   114,   114,
     2891     116,   116,   505,   898,   280,   900,   326,   510,    42,  1515,
     2892     513,   331,   576,   940,   121,   101,   627,   118,   331,   127,
     2893    1488,   341,  1191,   137,   133,   345,   804,   136,   252,   349,
     2894     350,   478,     3,   836,   115,   675,  1191,   121,   921,   115,
     2895    1508,   127,   121,   920,   364,   273,   222,  1515,   368,   114,
     2896     115,   331,   280,   114,  1032,   116,   920,   478,   137,   135,
     2897      75,   252,   630,   631,   567,  1459,   257,   148,   920,   349,
     2898     252,  1465,   348,    88,    89,   395,   252,   115,   646,   984,
     2899     114,    75,   116,    77,    78,   405,     0,   285,   121,   365,
     2900     115,  1485,   405,   369,    88,    89,  1490,   135,   229,   114,
     2901    1379,   116,   616,   423,   137,   425,   426,   621,   660,   429,
     2902     135,   431,   310,   311,   121,  1379,  1271,   248,  1387,   124,
     2903     125,   955,   116,   926,   417,   405,   664,  1427,   121,   210,
     2904     137,   121,   452,   244,  1434,   675,   704,   365,   116,   121,
     2905     118,   369,    75,   436,   137,   135,   967,   345,    93,    94,
     2906     470,   444,  1314,   135,   121,    88,    89,   135,   478,   240,
     2907     480,   701,   482,   930,  1108,   478,   114,   487,   116,   482,
     2908     137,   739,  1099,   493,   350,     3,   114,   814,   116,   731,
     2909     650,   641,   380,   116,   795,   505,  1486,   507,     0,   482,
     2910     510,   272,   512,   513,   814,   482,   121,   115,  1081,   114,
     2911     520,   116,   482,   121,   524,    95,    96,   487,   121,  1371,
     2912    1372,   121,   137,   648,  1483,   993,   994,   482,   114,  1488,
     2913     116,   121,    75,   114,   137,   739,   417,   137,   121,   310,
     2914     114,  1158,  1159,  1067,   681,    88,    89,   137,  1072,  1508,
     2915     130,   131,   135,   121,   782,   436,  1515,   117,   568,   569,
     2916     136,   121,   114,   444,   792,   121,   576,   121,   482,   137,
     2917     681,   121,   114,   116,   345,   803,   586,   587,   379,   115,
     2918     590,   137,  1427,   137,   114,   121,   596,   137,   598,  1434,
     2919       4,     5,     6,     7,     8,     9,     0,     1,   925,   480,
     2920     117,   482,   114,  1271,   121,   471,   616,   114,   122,    75,
     2921     482,   621,   115,   623,   128,   129,   482,   627,   121,   115,
     2922     630,   631,    88,    89,   115,   121,   596,   115,   598,    75,
     2923      34,    77,    78,    79,   892,   117,   646,   850,   648,   121,
     2924     115,  1486,    88,    89,    10,    11,    12,    13,    14,   120,
     2925     115,   617,   115,   115,   425,   426,   121,   870,    72,   121,
     2926      74,   549,   550,   551,    68,   117,   632,    71,   678,   121,
     2927      75,   681,   114,   587,   116,   115,    42,    82,  1346,   645,
     2928      85,   121,    87,    88,    89,     0,     1,   932,   892,   490,
     2929     115,   492,   675,   117,   704,   705,   706,   121,   114,   617,
     2930     116,   114,   712,   713,    70,   893,   856,   115,   115,   893,
     2931     893,   681,   114,   121,   632,   893,    31,    32,   701,    34,
     2932     115,   893,   493,   893,    84,   115,   121,   645,   114,   739,
     2933      45,   121,   115,   743,   744,   114,    51,   116,   121,   893,
     2934     115,   512,   712,   713,    59,   115,   121,  1005,   137,  1366,
     2935      65,   121,   618,    68,   158,  1288,    71,   114,   895,   116,
     2936    1492,   727,  1492,  1431,  1492,  1433,  1383,   115,   114,    84,
     2937      85,   115,   115,   121,  1002,  1003,   786,   121,   121,   114,
     2938     984,   114,   115,   116,   895,   795,    75,   797,    77,    78,
     2939      79,    67,   802,   108,   675,   115,   111,   997,   137,    88,
     2940      89,   121,   115,   118,   814,   576,    97,    98,   121,   727,
     2941      51,     4,     5,     6,     7,     8,     9,   115,   222,  1487,
     2942     701,   120,   121,   121,   119,   114,   692,   115,   116,  1057,
     2943    1058,   137,   802,   119,   149,   636,    61,    62,  1455,  1456,
     2944     706,   137,    35,   114,   814,   616,   161,   119,   252,   505,
     2945     621,   507,    75,   863,   510,  1097,    79,   513,   739,  1101,
     2946    1102,   114,   750,   120,   121,    88,    89,   114,  1018,    84,
     2947    1128,   186,   187,   123,   115,   885,    47,    48,     1,    72,
     2948     863,    74,   892,   893,   685,   895,   687,   202,  1114,  1115,
     2949     691,   114,   132,   116,   133,   210,    99,   907,   116,   122,
     2950     123,   552,   553,    75,   219,    77,    78,   222,   863,   117,
     2951     920,   921,   554,   555,   229,   925,    88,    89,   114,   117,
     2952     116,   931,   932,   893,  1128,   895,   122,   123,   115,   244,
     2953    1067,   797,   115,   248,   115,  1072,   115,   252,   253,   115,
     2954     931,   115,   114,   116,  1468,   955,   114,   119,   117,   863,
     2955     136,   266,   267,   560,   561,   925,  1067,   119,   273,   119,
     2956     121,  1072,   119,   114,  1089,   280,   114,   115,   116,   210,
     2957     136,   885,   115,  1215,   984,  1203,   931,   115,  1171,  1172,
     2958     117,  1174,   863,   556,   557,   558,   559,   117,  1181,   117,
     2959    1183,   863,   121,  1517,   135,  1005,  1006,   863,    31,   135,
     2960    1258,  1205,   114,   115,   116,     4,     5,     6,     7,     8,
     2961       9,   892,  1240,  1023,   135,    75,   331,    77,    78,  1247,
     2962    1248,  1249,    75,   115,    77,    78,   115,   431,    88,    89,
     2963     114,   272,   116,   348,   349,    88,    89,     3,   122,   123,
     2964    1023,   114,   115,   116,    10,    11,    12,    13,    14,   119,
     2965     365,   120,  1062,   115,   369,   856,   297,  1067,   121,   931,
     2966     114,   862,  1072,  1305,   379,   120,   119,  1309,  1023,   310,
     2967     120,  1081,   115,    72,   135,    74,    42,   115,   482,  1089,
     2968     395,   137,  1310,    61,    62,    63,   121,     1,   462,   115,
     2969     405,   114,    75,   116,    77,    78,   984,  1067,   115,   122,
     2970     123,   902,  1072,   121,    70,    88,    89,   115,   423,  1023,
     2971     115,   115,   115,   115,   429,     3,    31,   115,  1128,   115,
     2972     524,   987,    10,    11,    12,    13,    14,   115,   115,   115,
     2973     253,   114,   121,    75,   115,  1023,   119,    51,   137,    68,
     2974      82,   115,  1023,    85,   115,    87,    88,    89,   115,  1342,
     2975     465,  1023,   120,   115,    42,   470,   136,  1023,   959,  1169,
     2976    1170,   932,   135,   478,   115,    72,  1408,   482,    75,   117,
     2977     117,    78,   487,    80,   116,   490,   115,   492,   115,  1170,
     2978      87,  1191,    70,   587,    75,   121,    77,    78,    79,   115,
     2979     119,   135,   114,   107,   121,  1205,     3,    88,    89,  1209,
     2980     119,   115,   115,    10,    11,    12,    13,    14,  1191,    75,
     2981     115,   452,   527,   984,  1169,  1170,    82,   532,  1209,    85,
     2982     115,    87,    88,    89,   121,   115,   630,   631,   115,   121,
     2983     115,   135,   161,   114,   148,    42,  1191,  1362,   121,   114,
     2984     114,   114,   646,   157,   114,   117,   115,  1128,  1258,  1259,
     2985     116,   137,  1053,   120,  1209,   115,  1266,  1502,   120,   115,
     2986     119,  1271,   133,    70,   505,   580,   507,   863,   120,   510,
     2987     115,   117,   513,   137,   121,   117,   115,  1191,   115,   117,
     2988      50,   596,   117,   598,   117,   115,   117,   137,  1271,   117,
     2989     664,   117,   206,   222,  1304,   115,   210,   137,  1170,   120,
     2990     704,   137,   617,  1169,  1492,   137,   213,   120,  1492,  1492,
     2991    1191,  1266,   137,  1304,  1492,   115,  1271,   632,   135,  1191,
     2992    1492,   636,  1492,   120,  1205,  1191,   240,   117,    86,   117,
     2993     645,   260,   647,   648,   649,    86,   265,  1209,  1492,    90,
     2994      91,    92,   465,  1468,   117,   117,   117,   115,   117,  1304,
     2995     115,   117,  1362,   114,   114,   114,  1493,  1271,   272,    63,
     2996     115,   275,   115,   114,  1165,   116,   681,   118,   119,  1379,
     2997     685,   119,   687,   280,   114,    75,   691,    77,    78,    79,
     2998    1517,   137,  1493,   297,   699,   117,   117,   115,    88,    89,
     2999    1271,   117,   115,   101,  1404,  1361,   310,   712,   713,  1271,
     3000    1266,   114,   101,   114,   527,  1271,  1517,   137,   782,   532,
     3001     120,    45,   727,  1404,   114,   121,   116,  1427,   792,   115,
     3002     115,   350,   122,   123,  1434,   115,  1436,   341,  1438,   803,
     3003    1026,   345,  1304,   115,   135,   135,   115,   678,   115,  1492,
     3004     137,  1492,   101,  1361,  1427,   352,  1492,   354,   137,  1404,
     3005     364,  1434,   101,    57,   368,   664,    86,   580,  1468,   863,
     3006      90,    91,    92,  1473,   137,  1475,   137,   115,     0,     1,
     3007     115,   117,  1427,   137,   115,   115,  1486,   120,   117,  1434,
     3008     117,   885,  1492,  1493,   114,   137,   116,   802,   118,   119,
     3009    1493,   114,  1502,   137,   120,    99,    75,   115,   120,   814,
     3010      79,   430,    34,  1486,   115,   137,   115,  1517,   115,    88,
     3011      89,   425,   426,  1427,  1517,  1038,   562,   564,   563,    51,
     3012    1434,   565,  1492,   964,   647,   566,   649,   931,  1191,  1348,
     3013    1456,  1486,  1404,   440,  1527,   114,  1281,  1102,   452,    71,
     3014       0,   856,   471,   122,   123,  1309,  1427,   862,  1434,  1053,
     3015    1072,   465,   678,  1434,   678,  1427,   691,   908,   900,   580,
     3016     959,  1427,  1434,   856,   642,   928,   716,   568,  1434,  1209,
     3017     482,   727,  1486,   782,    34,   107,   699,   491,   893,   493,
     3018     895,   495,    -1,   792,   568,    -1,   568,   902,    -1,    -1,
     3019     194,   505,    -1,   507,   803,  1191,   510,    -1,   512,   513,
     3020      -1,  1005,  1006,    -1,    -1,  1486,    -1,    -1,    -1,    -1,
     3021     925,    71,    -1,   217,  1486,    -1,    -1,   149,    -1,  1023,
     3022    1486,    -1,    -1,   227,    -1,   157,   158,    -1,  1002,  1003,
     3023      -1,   946,    -1,    -1,    -1,    75,    10,    11,    12,    13,
     3024      14,    -1,    82,    -1,   959,    85,    -1,    87,    88,    89,
     3025     965,    -1,    -1,    -1,   969,   187,    -1,    -1,    -1,    -1,
     3026      -1,   590,   576,    -1,    -1,    -1,   907,    -1,    42,    -1,
     3027     202,    -1,   586,   205,   206,    -1,   116,   689,   210,    -1,
     3028      -1,    -1,    -1,  1057,  1058,    -1,    -1,    -1,    -1,   618,
     3029      -1,  1287,    -1,   297,   623,    -1,    70,    -1,   158,   231,
     3030      -1,  1016,   616,   235,    -1,   237,    -1,   621,    -1,    -1,
     3031      -1,    -1,    -1,   627,   246,    -1,    -1,    -1,    -1,    -1,
     3032     252,    -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,    -1,
     3033      -1,  1502,    -1,    -1,    -1,   267,    -1,    -1,  1053,    -1,
     3034     114,    75,   116,   275,  1340,    79,    -1,  1343,   122,   123,
     3035      -1,    -1,  1067,    -1,    88,    89,    75,  1072,    77,    78,
     3036      79,    -1,    -1,   692,   678,  1169,  1170,    -1,   780,    88,
     3037      89,   231,    -1,    -1,  1089,    -1,    -1,   706,   190,    -1,
     3038     114,    -1,    -1,    -1,    -1,   197,    -1,  1191,   122,   123,
     3039      -1,  1387,   252,  1002,  1003,   114,  1392,   257,  1113,    -1,
     3040      -1,    -1,   716,   122,   123,  1209,    -1,    -1,    -1,   341,
     3041      -1,    -1,    -1,   345,    75,    -1,    77,    78,    79,   351,
     3042     727,  1062,    -1,   946,    -1,  1421,    -1,    88,    89,  1203,
     3043      -1,    -1,   364,    -1,    -1,    -1,   368,   441,    -1,    -1,
     3044     852,    -1,   965,    -1,    51,    -1,   969,    -1,  1057,  1058,
     3045    1165,    68,    -1,   114,  1258,  1259,    -1,   269,    65,    -1,
     3046      77,    68,  1266,   467,    71,    -1,  1240,  1271,   797,    -1,
     3047      -1,    -1,    -1,  1247,  1248,  1249,    75,    -1,    77,    78,
     3048      79,   795,   894,    -1,    -1,   417,    -1,    -1,    -1,    88,
     3049      89,   351,    -1,  1016,    -1,    -1,    -1,    -1,    -1,   431,
     3050    1304,   505,   119,    -1,   436,    -1,   510,    -1,    -1,   513,
     3051    1506,    -1,   444,    -1,   326,   114,  1512,   116,  1233,    -1,
     3052    1235,  1236,   334,   122,   123,   337,    -1,  1523,   940,    -1,
     3053     462,  1527,    -1,   465,    -1,    -1,  1310,    -1,    -1,    -1,
     3054      -1,    -1,   149,    -1,   161,    -1,    -1,    -1,   480,    -1,
     3055     482,    -1,    -1,    -1,   161,    -1,    -1,   417,    -1,   491,
     3056     972,    -1,    -1,   495,    -1,    10,    11,    12,    13,    14,
     3057      -1,   431,    -1,    -1,    -1,  1379,   436,    -1,    -1,     0,
     3058     187,    -1,    68,    -1,   444,   397,    -1,    -1,    -1,   401,
     3059    1113,    -1,   524,   907,    -1,    -1,    -1,    42,    84,  1314,
     3060    1404,    -1,   462,   210,    -1,   222,    -1,    -1,  1020,    -1,
     3061      -1,    -1,    -1,    34,    -1,   222,   930,   931,   932,    -1,
     3062     480,    -1,   482,  1427,    -1,    70,    -1,    -1,    -1,    -1,
     3063    1434,  1240,    -1,   119,    -1,    -1,    -1,   569,  1247,  1248,
     3064    1249,    -1,    -1,   260,    -1,    -1,  1361,  1362,   265,    -1,
     3065      71,    -1,    -1,    -1,   586,   587,  1371,  1372,   987,   663,
     3066      -1,    -1,    -1,   280,   524,   477,   598,    -1,   672,   114,
     3067     984,   116,   676,    -1,    -1,   161,    -1,   122,   123,    -1,
     3068      -1,    -1,  1486,    -1,   616,    -1,    -1,  1099,    -1,   621,
     3069      -1,    -1,    -1,    -1,  1409,   627,    -1,    -1,   630,   631,
     3070      -1,  1310,    -1,    75,    -1,    77,    78,    79,    -1,    -1,
     3071    1233,    -1,  1235,  1236,   646,    -1,    88,    89,    -1,    -1,
     3072      -1,    -1,    -1,    -1,   331,    -1,    -1,   587,    -1,    -1,
     3073      -1,    -1,   664,   350,    -1,    -1,   222,   158,    -1,    -1,
     3074      -1,    -1,   114,   675,   116,    -1,  1158,  1159,  1062,    -1,
     3075     122,   123,    -1,  1468,  1469,    -1,   568,   569,    -1,    -1,
     3076      -1,    -1,    75,  1478,    77,    78,    79,    -1,    -1,   701,
     3077     630,   631,   704,    -1,   260,    88,    89,  1492,  1493,   265,
     3078      -1,   713,    -1,    -1,   716,    -1,   646,    -1,    -1,    -1,
     3079      -1,  1314,    -1,    -1,    -1,  1436,    -1,  1438,   405,    -1,
     3080      -1,   114,  1517,   116,   664,    -1,    -1,   739,    -1,   122,
     3081     123,    -1,   744,   430,    75,   675,    77,    78,    79,    -1,
     3082      -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,   446,
     3083      -1,   252,  1473,    -1,  1475,    -1,   257,    -1,    -1,   651,
     3084    1169,   701,    -1,   655,   704,    -1,    -1,    -1,  1371,  1372,
     3085     782,    -1,    -1,   114,   471,    -1,    -1,    -1,    -1,    -1,
     3086     792,   122,   123,   795,   350,    -1,   798,    -1,    -1,    -1,
     3087      -1,   803,    -1,    -1,    -1,    -1,     0,    -1,    -1,   739,
     3088      -1,   813,    -1,   887,    -1,    -1,  1409,    -1,    -1,    -1,
     3089      -1,    -1,    -1,    -1,    -1,  1209,    10,    11,    12,    13,
     3090      14,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
     3091      34,   102,   103,   104,   105,   106,   107,   108,   109,   110,
     3092     111,   112,   782,    -1,    -1,    -1,    -1,    -1,    42,    -1,
     3093     351,   863,   792,    42,    -1,    -1,    -1,  1266,   798,    -1,
     3094      -1,    -1,    -1,   803,   430,   136,  1469,    71,    -1,    -1,
     3095      -1,    -1,    -1,   885,  1366,  1478,    70,    -1,    -1,    -1,
     3096     892,    70,    -1,   895,    -1,    -1,    75,    -1,    77,    78,
     3097      79,  1383,    -1,   590,   786,    -1,    -1,    -1,    -1,    88,
     3098      89,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,   921,
     3099    1304,    -1,    -1,    -1,    -1,    -1,   417,    -1,   930,   931,
     3100     114,   618,   116,   863,    -1,   114,   623,   116,   122,   123,
     3101     431,    -1,    -1,   122,   123,   436,    -1,     0,    -1,    -1,
     3102      -1,    -1,    -1,   444,    -1,   885,    -1,    -1,    -1,    -1,
     3103    1034,    -1,   892,    -1,   158,    -1,    10,    11,    12,    13,
     3104      14,   462,    -1,  1455,  1456,    -1,    -1,    -1,    -1,    -1,
     3105      -1,    34,   984,    -1,    -1,    -1,    -1,    -1,    -1,   480,
     3106      -1,   482,    -1,    -1,    -1,   997,    -1,    -1,    42,    -1,
     3107    1002,  1003,    -1,  1005,  1006,   692,    -1,    -1,    -1,    -1,
     3108      28,    29,    30,    -1,    -1,    -1,    -1,   899,    71,   706,
     3109    1404,  1023,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,
     3110      -1,    75,    -1,   524,   590,    79,    -1,    -1,    -1,    -1,
     3111     727,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,
     3112      -1,    -1,  1436,    -1,  1438,  1057,  1058,    -1,   252,    -1,
     3113      -1,    -1,   618,   257,    -1,    -1,    -1,   623,    -1,    -1,
     3114     114,    -1,  1002,  1003,    -1,  1005,  1006,    -1,   122,   123,
     3115      -1,    -1,   100,    -1,   102,    -1,    -1,    -1,    -1,  1473,
     3116      -1,  1475,   974,  1023,    -1,    -1,   587,    -1,    -1,    -1,
     3117      -1,    -1,    -1,    -1,    -1,   158,    -1,    -1,   990,   127,
     3118     797,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1502,    -1,
     3119      -1,    -1,    -1,    -1,    -1,    -1,  1128,  1057,  1058,    -1,
     3120      -1,    -1,    -1,    -1,    -1,    -1,   692,    -1,    -1,   630,
     3121     631,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3122     706,    -1,    -1,    -1,    -1,   646,    -1,   351,    -1,    -1,
     3123      -1,    -1,    -1,    -1,   182,    -1,    -1,    -1,  1170,    -1,
     3124      -1,    -1,   190,   664,   192,   193,    -1,    -1,    -1,   197,
     3125      -1,   199,   200,  1065,   675,    -1,    -1,    -1,    -1,  1191,
     3126      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1128,   252,
     3127      -1,  1203,    -1,  1205,   257,    -1,  1280,  1209,    -1,    -1,
     3128     701,    -1,    -1,   704,    -1,    -1,    -1,    -1,    -1,    -1,
     3129      -1,    -1,  1104,   417,    -1,    -1,    -1,    10,    11,    12,
     3130      13,    14,    -1,    -1,    -1,    -1,    -1,   431,  1240,    -1,
     3131    1170,   797,   436,    -1,    -1,  1247,  1248,  1249,   739,    -1,
     3132     444,   269,    -1,    -1,    -1,    -1,  1258,  1259,    -1,    42,
     3133      -1,  1191,    -1,    -1,    -1,    -1,    -1,    -1,   462,  1271,
     3134      -1,    -1,    -1,  1203,    -1,  1205,    -1,    -1,    -1,    -1,
     3135      -1,    -1,    -1,    -1,    -1,    -1,   480,    70,   482,    -1,
     3136      -1,   782,    75,    -1,    77,    78,    79,    -1,   351,    -1,
     3137     987,   792,  1304,    -1,    -1,    88,    89,   798,  1310,    -1,
     3138    1240,    -1,   803,    -1,    -1,    -1,    -1,  1247,  1248,  1249,
     3139      -1,    -1,    -1,    28,    29,    30,    -1,    -1,  1258,  1259,
     3140     524,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     3141     123,  1271,    -1,    10,    11,    12,    13,    14,    -1,    -1,
     3142      -1,    55,    -1,    57,    -1,    -1,    60,    61,    62,    -1,
     3143      64,  1435,    -1,  1437,   417,    -1,    -1,    -1,    -1,    -1,
     3144      -1,    -1,   863,    -1,    78,    42,    -1,  1379,   431,    -1,
     3145    1310,    -1,    -1,   436,    -1,    -1,    90,    91,    -1,    -1,
     3146      -1,   444,    -1,   587,   885,   100,    -1,   102,  1472,    -1,
     3147    1474,   892,  1404,    70,    -1,    -1,    -1,    -1,    75,   462,
     3148      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3149      -1,    88,    89,    -1,    -1,  1427,    -1,   480,    -1,   482,
     3150      -1,   987,  1434,    -1,    -1,    -1,   630,   631,    -1,    -1,
     3151      -1,    -1,  1516,    -1,  1518,    -1,    -1,   114,    -1,  1379,
     3152      -1,    -1,   646,    -1,    -1,   122,   123,  1531,  1532,    -1,
     3153      -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
     3154     664,   524,    -1,    -1,    -1,    -1,    -1,   182,    -1,    -1,
     3155      -1,   675,  1169,    -1,  1486,    -1,    -1,   192,   193,    -1,
     3156      -1,  1493,   197,    42,   199,   200,    -1,  1427,    -1,    -1,
     3157      -1,    -1,    -1,    -1,  1434,    -1,    -1,   701,    -1,    -1,
     3158     704,  1002,  1003,    -1,  1005,  1006,    -1,    -1,    -1,    -1,
     3159      -1,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
     3160      79,    -1,  1023,    -1,   587,    -1,    -1,    -1,    -1,    88,
     3161      89,    -1,    -1,    -1,    -1,   739,    -1,    -1,    -1,    -1,
     3162      -1,    -1,    -1,    -1,   572,   573,  1486,    -1,    -1,    -1,
     3163      10,    11,    12,    13,    14,   114,  1057,  1058,    -1,    -1,
     3164      -1,    -1,    -1,   122,   123,    -1,    -1,   630,   631,  1266,
     3165      -1,   599,    -1,    -1,   602,   603,    -1,   605,   782,   607,
     3166     608,    -1,    42,   646,   612,   613,    -1,    -1,   792,    -1,
     3167      -1,    -1,    -1,    -1,   798,    -1,    -1,    -1,    -1,   803,
     3168      -1,   664,    -1,  1169,    -1,    10,    11,    12,    13,    14,
     3169      70,    -1,   675,    -1,    -1,    75,    -1,    77,    78,    79,
     3170      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1128,    88,    89,
     3171     344,    -1,   346,    -1,    -1,    -1,    -1,    42,   701,    -1,
     3172      -1,   704,    -1,   357,   358,    -1,    -1,    -1,    -1,    -1,
     3173      -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   863,
     3174      -1,    -1,   122,   123,    -1,    70,    -1,    -1,    -1,  1170,
     3175      75,    -1,    -1,    -1,    79,    -1,   739,    -1,    -1,    -1,
     3176      -1,   885,    -1,    88,    89,    -1,    -1,    -1,   892,    -1,
     3177    1191,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3178    1266,    -1,  1203,    -1,  1205,    -1,    -1,    -1,    -1,   114,
     3179      -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   782,
     3180     748,   749,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   792,
     3181      -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,    -1,  1240,
     3182     803,    -1,    -1,    -1,    -1,    -1,  1247,  1248,  1249,    -1,
     3183      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1258,  1259,    -1,
    31433184      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3144     1022,    -1,   182,    -1,    -1,    -1,  1477,    -1,  1479,    -1,
    3145       -1,    -1,   192,   193,   797,    -1,    -1,   197,    -1,   199,
    3146      200,    -1,  1070,    -1,    -1,    -1,    -1,   986,    -1,    -1,
    3147       -1,    -1,    -1,    -1,  1384,    -1,    -1,   252,    -1,    -1,
    3148     1062,  1063,   257,    -1,   587,    -1,    -1,    -1,    -1,    -1,
    3149     1521,    -1,  1523,    -1,    -1,    -1,    -1,    -1,    -1,  1409,
    3150       -1,  1109,    -1,    -1,    -1,  1536,  1537,    -1,   219,    -1,
     3185    1271,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3186      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3187      27,    28,    29,    -1,    -1,    32,    33,    34,  1002,  1003,
     3188     863,  1005,  1006,    -1,    -1,    42,    -1,    -1,    -1,  1310,
     3189      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1023,
     3190      -1,    -1,   885,    -1,    -1,    -1,    -1,    -1,    -1,   892,
     3191      -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,
     3192      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3193      -1,    88,    89,  1057,  1058,    -1,    -1,   572,   573,    -1,
    31513194      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3152       -1,    -1,  1432,   986,    -1,    -1,    -1,   630,   631,  1439,
    3153       -1,    -1,    -1,    -1,  1001,  1002,    -1,  1004,  1005,    -1,
    3154       -1,    -1,    -1,   646,    -1,    -1,    -1,    -1,    -1,    -1,
    3155       -1,  1133,    -1,    -1,    -1,  1022,    -1,    -1,    -1,    -1,
    3156       -1,   664,   273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3157       -1,    -1,   675,    -1,    -1,    -1,   351,    -1,    -1,    -1,
    3158       -1,  1491,    -1,    -1,    -1,    55,    -1,    57,  1498,    -1,
    3159       60,    61,    62,  1175,    64,  1062,  1063,    -1,   701,    -1,
    3160       -1,   704,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
    3161       -1,    -1,    -1,  1195,    -1,    -1,    -1,    -1,    -1,    -1,
    3162       90,    91,    -1,    -1,    -1,    -1,  1208,    -1,  1210,    -1,
    3163       -1,    -1,    -1,    -1,    -1,    -1,   739,   348,    -1,    -1,
    3164       -1,    -1,   417,   986,    -1,    -1,    -1,    -1,    -1,    -1,
    3165       -1,    -1,    -1,    -1,   365,  1174,   431,    -1,   369,    -1,
    3166       -1,   436,    -1,  1245,    -1,    -1,  1133,    -1,    -1,   444,
    3167     1252,  1253,  1254,    -1,    -1,    -1,    -1,    -1,    -1,   782,
    3168       -1,  1263,  1264,    -1,    -1,    -1,    -1,   462,    -1,   792,
    3169       -1,    -1,    -1,    -1,  1276,   798,    -1,    -1,    -1,    -1,
    3170      803,    -1,    -1,    -1,    -1,   480,    -1,   482,  1175,    -1,
    3171       -1,  1174,    10,    11,    12,    13,    14,    -1,    -1,    -1,
    3172       -1,    28,    29,    30,    -1,    -1,    -1,    -1,  1195,    -1,
    3173       -1,    -1,    -1,  1315,    -1,    -1,    -1,    -1,    -1,    -1,
    3174       -1,  1208,    -1,  1210,    42,    -1,    -1,    -1,    -1,   524,
    3175       -1,    -1,  1271,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3176      863,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3177       -1,    -1,    70,    -1,    -1,    -1,    -1,    75,  1245,    77,
    3178       78,    79,   885,    -1,    -1,  1252,  1253,  1254,    -1,   892,
    3179       88,    89,    -1,   100,    -1,   102,  1263,  1264,    -1,    -1,
    3180       -1,    -1,  1384,    -1,    -1,    -1,    -1,    -1,  1271,  1276,
    3181       -1,    -1,   587,    -1,    -1,    -1,   114,    -1,   116,    -1,
    3182      127,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
    3183       -1,  1174,   572,   573,    -1,    -1,    -1,    -1,    -1,    -1,
    3184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1315,    -1,
    3185     1432,    -1,    -1,    -1,    -1,   630,   631,  1439,    -1,   599,
    3186       -1,    -1,   602,   603,    -1,   605,    -1,   607,   608,    -1,
    3187       -1,   646,   612,   613,   344,   182,   346,    -1,    -1,    -1,
    3188       -1,    -1,    -1,   190,    -1,   192,   193,   357,   358,   664,
    3189      197,    -1,   199,   200,    -1,    -1,    -1,    -1,  1001,  1002,
    3190      675,  1004,  1005,    -1,    -1,    -1,   617,    -1,    -1,  1491,
    3191       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1384,    -1,  1022,
    3192       -1,   632,    -1,    -1,    -1,    -1,   701,    -1,  1271,   704,
    3193       -1,    -1,    -1,    -1,   645,    -1,    -1,    -1,    -1,    -1,
     3195      -1,   899,    -1,    -1,    -1,    -1,   904,   114,  1379,   116,
     3196      -1,    -1,    -1,    -1,   599,   122,   123,   602,   603,    -1,
     3197     605,    -1,   607,   608,    -1,    -1,    -1,   612,   613,    10,
     3198      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3199      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
     3200      -1,    -1,    -1,    -1,  1128,    -1,  1427,    -1,    -1,    -1,
     3201      -1,    42,    51,  1434,    -1,    -1,    -1,    -1,    -1,  1002,
     3202    1003,     7,  1005,  1006,    10,    11,    12,    13,    14,    68,
     3203      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
     3204    1023,    -1,    -1,    -1,    -1,    -1,  1170,    -1,    -1,    -1,
     3205      81,    -1,    -1,    -1,    40,    41,    42,    43,    -1,   693,
     3206      -1,   695,    -1,    -1,    -1,  1486,    -1,  1191,   702,   703,
     3207      -1,    -1,    -1,   707,  1057,  1058,   115,    -1,    -1,  1203,
     3208     119,  1205,    -1,    69,    70,    -1,   720,    -1,    -1,    75,
     3209      -1,   725,    -1,    79,    -1,    -1,    82,    83,    84,    85,
     3210      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,   148,
     3211      -1,  1059,    -1,   748,   749,    -1,  1240,    -1,   752,   158,
     3212      -1,    -1,   161,  1247,  1248,  1249,    -1,    -1,   114,    -1,
     3213     116,    -1,    -1,    -1,  1258,  1259,   122,   123,   124,   125,
     3214     126,   127,    -1,    -1,    68,  1128,    -1,  1271,    -1,    -1,
     3215      -1,    -1,    -1,    77,    -1,    79,    -1,    81,    -1,    -1,
     3216      -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,
     3217      -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3218      -1,    -1,    -1,   222,    -1,    -1,  1310,  1170,    -1,    -1,
     3219      -1,    -1,    -1,    -1,    -1,   119,    -1,   121,   122,   123,
     3220      -1,   240,    -1,    -1,    -1,    -1,    -1,    -1,  1191,    -1,
     3221      -1,   845,    -1,   847,   848,   849,    -1,    -1,    -1,    -1,
     3222    1203,    -1,  1205,    -1,    -1,    -1,   265,    -1,    -1,    -1,
     3223      -1,    -1,   866,   272,    -1,    -1,    -1,   161,    -1,  1187,
     3224      -1,    -1,    -1,    -1,    -1,    -1,   880,    -1,    -1,    -1,
     3225      -1,    -1,    -1,    -1,    -1,  1379,    -1,  1240,   297,    -1,
     3226      -1,    -1,    -1,    -1,  1247,  1248,  1249,    -1,    -1,   904,
     3227      -1,   310,    -1,    -1,    -1,  1258,  1259,    -1,    -1,    -1,
     3228      -1,    -1,    -1,    -1,    -1,   919,    -1,    -1,  1271,    -1,
     3229      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   222,    -1,
     3230     224,   225,   226,  1427,    -1,    -1,   345,    -1,    -1,    -1,
     3231    1434,   350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3232      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1310,    -1,   963,
     3233      -1,    -1,    -1,    -1,   968,    -1,   260,    -1,    -1,   973,
     3234      -1,   265,    -1,    -1,   978,    -1,    -1,    -1,    -1,   983,
     3235      -1,   985,   986,    -1,    -1,   989,   280,    -1,    -1,    -1,
     3236      -1,    -1,  1486,    -1,   998,    -1,    -1,    -1,    -1,    -1,
    31943237      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1062,
    3196     1063,    -1,   269,    -1,   739,  1432,    -1,    -1,    -1,    -1,
    3197       -1,    -1,  1439,    -1,     3,     4,     5,     6,     7,     8,
     3238    1014,  1015,    -1,    -1,    -1,    -1,   425,   426,    -1,    -1,
     3239      -1,    -1,   431,    -1,    -1,    -1,  1379,    -1,    -1,    -1,
     3240      -1,    -1,    -1,    -1,    -1,    -1,  1040,   331,    -1,  1043,
     3241      -1,    -1,    -1,   452,    -1,    -1,    -1,    -1,    -1,    -1,
     3242      -1,    -1,    -1,    -1,  1059,    -1,   350,    -1,    -1,    -1,
     3243      -1,   355,   356,    -1,    -1,    -1,    -1,    -1,    -1,   363,
     3244      -1,   480,    -1,    -1,  1427,    -1,    -1,    -1,    -1,    -1,
     3245      -1,  1434,  1086,    -1,   493,    -1,    -1,    -1,  1092,  1093,
     3246      -1,    -1,    -1,    -1,    -1,    -1,   505,    -1,   507,    -1,
     3247      -1,   510,    -1,   512,   513,    -1,    -1,  1111,    -1,    -1,
     3248      -1,   405,  1116,    -1,    -1,   524,    -1,  1121,    -1,    -1,
     3249      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1132,   423,
     3250      -1,    -1,    -1,  1486,   428,    -1,   430,    -1,    -1,    -1,
     3251      -1,  1145,    -1,  1147,  1148,  1149,  1150,    -1,    -1,    -1,
     3252      -1,    -1,   446,    -1,    -1,   449,   450,    -1,  1162,    -1,
     3253    1164,    -1,    -1,   457,  1168,    -1,    -1,   576,    -1,    -1,
     3254      -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,   587,    -1,
     3255      -1,   590,  1187,    -1,   478,    -1,    -1,    -1,    -1,    -1,
     3256      -1,    -1,  1196,  1197,    -1,    -1,     7,    -1,    -1,    10,
     3257      11,    12,    13,    14,    -1,    -1,    -1,   616,    -1,    -1,
     3258      -1,    -1,   621,    46,    -1,    -1,    -1,    -1,    -1,    -1,
     3259      -1,   630,   631,    -1,    -1,    -1,    -1,    -1,    -1,    40,
     3260      41,    42,    43,    -1,    -1,    -1,    -1,   646,    -1,    -1,
     3261      -1,    -1,    -1,    -1,    -1,    -1,  1250,  1251,    -1,    -1,
     3262      -1,    -1,    -1,    -1,    -1,    -1,  1260,    -1,    69,    70,
     3263      93,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,   678,
     3264     103,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3265      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3266      -1,    -1,    -1,    -1,    -1,   704,   590,   706,    -1,    -1,
     3267      -1,    -1,    -1,   114,    -1,   116,    -1,    40,    41,    -1,
     3268      43,   122,   123,   124,   125,   126,   127,    -1,  1322,    -1,
     3269    1324,  1325,  1326,    -1,   618,    -1,    -1,    -1,    -1,   623,
     3270     739,    -1,  1336,    -1,    -1,    -1,    69,    -1,    -1,   172,
     3271    1344,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
     3272      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
     3273      -1,    -1,   195,    -1,    -1,  1369,  1370,    -1,    -1,    -1,
     3274      -1,    -1,    -1,    -1,    -1,    -1,   209,    -1,    -1,    -1,
     3275      -1,   114,    -1,   116,    -1,   218,    -1,    -1,   797,   122,
     3276     123,   124,   125,   126,   127,   228,    -1,    -1,   692,    -1,
     3277      -1,    -1,   135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3278    1414,  1415,   706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3279     253,    -1,    -1,  1427,    -1,   258,    -1,    -1,    -1,    -1,
     3280    1434,    -1,    -1,   727,    -1,    -1,    -1,    -1,   271,    -1,
     3281      -1,    -1,    -1,    -1,   277,    -1,   279,    -1,    -1,    -1,
     3282      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3283      -1,    -1,    -1,  1467,    -1,   298,    -1,  1471,    -1,    -1,
     3284      -1,    -1,    -1,    -1,    -1,    -1,   885,    -1,    -1,    -1,
     3285      -1,    -1,    -1,   892,    -1,    -1,    -1,    -1,    -1,    -1,
     3286      -1,    -1,   786,    -1,    -1,  1499,    -1,  1501,   907,    -1,
     3287      -1,    -1,    -1,   797,    -1,    -1,   339,    -1,    -1,    -1,
     3288     343,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3289     814,    -1,    -1,   932,    -1,  1529,  1530,    -1,    -1,    -1,
     3290      -1,    -1,    -1,  1537,  1538,    -1,    -1,    -1,   371,    -1,
     3291      -1,    -1,   375,   376,    -1,   378,    -1,    -1,    -1,    -1,
     3292      -1,    -1,   385,   386,    -1,   388,   389,    -1,   391,    -1,
     3293     393,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3294      -1,    -1,    -1,    -1,    -1,   984,    -1,   410,    -1,    -1,
     3295      -1,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,   157,
     3296     158,    -1,    -1,    -1,    -1,    -1,  1005,  1006,    -1,    -1,
     3297      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   442,
     3298      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3299      -1,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,   197,
     3300      -1,   925,    -1,    -1,    -1,   468,    -1,    -1,    -1,    -1,
     3301      -1,   474,    -1,    -1,    -1,    -1,   479,    -1,    -1,    -1,
     3302      -1,    -1,    -1,  1062,    -1,    -1,    -1,    -1,    -1,    -1,
     3303      -1,   955,    10,    11,    12,    13,    14,    15,    16,    17,
     3304      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3305      28,    29,    -1,   516,    32,    33,    34,    -1,    -1,    -1,
     3306      -1,    -1,    -1,   987,    42,    -1,    -1,    -1,   531,    -1,
     3307      -1,   269,    -1,    -1,   998,    -1,    -1,    -1,    -1,    -1,
     3308      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1128,
     3309      -1,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,
     3310      78,    -1,    -1,    -1,    -1,   568,    -1,    -1,    -1,    -1,
     3311      88,    89,    -1,    -1,   577,    -1,    -1,    -1,    -1,    -1,
     3312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   326,    -1,
     3313    1169,    -1,    -1,    -1,   597,    -1,   334,   335,   116,   337,
     3314     338,    -1,    -1,  1067,   122,   123,    -1,   345,    -1,    -1,
     3315      -1,   349,    -1,    -1,    -1,    -1,    -1,  1081,    -1,    -1,
     3316      -1,    -1,    -1,    -1,    -1,    -1,  1205,    -1,    -1,    -1,
     3317     368,    -1,   635,    -1,    10,    11,    12,    13,    14,    15,
     3318      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3319      26,    27,    28,    29,    -1,    -1,    32,    33,    34,   397,
     3320      -1,    -1,    -1,   401,    -1,    -1,    42,    -1,   671,    -1,
     3321      -1,    -1,    -1,    -1,    -1,    -1,   679,    -1,    -1,  1258,
     3322    1259,    -1,    -1,    -1,    -1,    -1,    -1,  1266,    -1,    -1,
     3323      -1,    -1,    -1,   431,    70,    -1,    -1,    -1,    -1,    75,
     3324      -1,    77,    78,    79,    -1,  1169,    -1,   710,    -1,    -1,
     3325      -1,    -1,    88,    89,    -1,    -1,    -1,    -1,   721,   722,
     3326      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3327      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,   477,
     3328     116,    -1,   480,    -1,    -1,    -1,   122,   123,    -1,    -1,
     3329     753,    -1,    -1,    -1,    -1,   758,    -1,    10,    11,    12,
     3330      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3331      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3332      33,    34,   520,    -1,    -1,    -1,   524,    -1,    -1,    42,
     3333      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3334    1379,    -1,  1266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3335      -1,    -1,    -1,    -1,    -1,   818,    -1,    70,    -1,    -1,
     3336      -1,    -1,   825,    -1,    77,    78,    -1,    -1,    -1,    -1,
     3337     568,   569,    -1,    -1,    -1,   838,    -1,   840,    -1,    -1,
     3338      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   586,   587,
     3339     853,    -1,    -1,    -1,    -1,    -1,   859,  1436,   596,  1438,
     3340     598,   599,    -1,   116,    -1,   148,    -1,   605,   871,   122,
     3341     123,   874,    -1,    -1,    -1,   158,    -1,   615,   616,    -1,
     3342      -1,    -1,    -1,   621,    -1,    -1,   169,   170,    -1,    -1,
     3343      -1,    -1,   630,   631,  1473,    -1,  1475,    -1,    -1,    -1,
     3344      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   646,    -1,
     3345      -1,    -1,    -1,   651,   652,    -1,    -1,   655,   656,    -1,
     3346      -1,    -1,    -1,  1502,   662,    -1,   283,    -1,   285,   286,
     3347      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   295,   296,
     3348      -1,    -1,    -1,   681,    -1,    -1,    -1,    -1,    40,    41,
     3349      -1,    43,    -1,   310,   311,    -1,    -1,   240,    -1,    -1,
     3350      -1,    -1,    -1,    -1,    -1,    -1,   704,   705,    -1,    -1,
     3351      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,   982,
     3352      -1,   264,    -1,    75,    -1,    77,    78,    79,   345,    -1,
     3353      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
     3354      92,   739,    -1,    -1,    -1,   743,   744,    -1,    -1,    -1,
     3355      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3356      -1,    -1,   114,   380,   116,    -1,   118,   119,    -1,    -1,
     3357     122,   123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,
     3358    1043,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   786,    -1,
     3359      -1,    -1,    -1,  1517,    -1,    -1,    -1,    -1,    -1,    -1,
     3360      -1,    -1,    -1,    -1,   802,    -1,   804,    -1,    -1,    -1,
     3361      -1,    -1,    -1,    -1,  1077,    -1,   814,    -1,    -1,  1082,
     3362      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1090,    -1,    -1,
     3363      -1,    -1,    -1,    -1,    -1,    -1,   379,    -1,    10,    11,
     3364      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3365      22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
     3366      -1,  1124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3367      42,    -1,  1135,    -1,    -1,  1138,    -1,  1140,    -1,    -1,
     3368      -1,    -1,    -1,    -1,    -1,    -1,    -1,   885,    -1,    -1,
     3369      -1,    -1,  1155,  1156,   892,   893,    -1,   895,    70,    -1,
     3370      -1,   899,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,
     3371      -1,    -1,  1175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3372      -1,    -1,   920,   921,    -1,    -1,    -1,    -1,    -1,   472,
     3373      -1,    -1,   549,   550,   551,   552,   553,   554,   555,   556,
     3374     557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
     3375      -1,    -1,    -1,    -1,    -1,    -1,    -1,   955,  1221,    -1,
     3376      -1,    -1,    -1,    -1,    -1,    -1,  1229,    -1,    -1,   512,
     3377      -1,    -1,    -1,    -1,    -1,    -1,   974,   975,    -1,    -1,
     3378      -1,   524,    -1,    -1,    -1,    -1,   984,   530,    -1,    -1,
     3379     533,    -1,   990,   991,    -1,   993,   994,   995,    -1,    -1,
     3380      -1,    -1,    -1,   546,    -1,    -1,    -1,  1005,  1006,    -1,
     3381      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3382      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3383      -1,    -1,    -1,   576,    -1,    -1,  1299,    -1,  1301,    -1,
     3384     583,    -1,    42,    -1,   587,    -1,    -1,    -1,    -1,    -1,
     3385      -1,    -1,    -1,    -1,  1317,    -1,  1319,    -1,    -1,    -1,
     3386      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1065,    -1,  1067,
     3387      70,  1334,   689,    -1,  1072,    -1,    -1,    -1,    -1,    -1,
     3388      -1,    -1,    -1,  1081,    -1,    -1,  1349,  1350,    -1,    -1,
     3389     633,    -1,    -1,    -1,    -1,    -1,    -1,  1360,   641,    -1,
     3390    1363,    -1,    -1,    -1,    -1,    -1,  1104,  1105,    -1,    -1,
     3391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3392      -1,    -1,  1385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3393    1128,  1394,    -1,   750,  1397,    -1,  1399,  1400,  1401,    -1,
     3394      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3395      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3396      27,    28,    29,   780,    -1,    32,    33,    34,    35,    36,
     3397      37,    38,    -1,    -1,   717,    42,    -1,  1440,    -1,  1442,
     3398      -1,  1444,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3399      -1,    -1,    -1,    -1,    -1,    -1,   739,  1460,   741,    -1,
     3400      -1,    -1,    -1,    70,    -1,    -1,    -1,  1205,   751,    -1,
     3401      77,    78,    -1,    -1,   757,    -1,    -1,     3,     4,     5,
     3402       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3403      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3404      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    35,
     3405      -1,    -1,    -1,    39,   797,   798,    42,    43,    -1,    -1,
     3406    1258,  1259,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3407     813,    -1,    -1,    -1,    -1,    -1,    -1,   894,    -1,    -1,
     3408      -1,    67,    -1,    -1,    70,    -1,    72,    -1,    74,    75,
     3409      -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,   852,
     3411      -1,    -1,    -1,   856,    -1,    -1,    -1,    40,    41,    -1,
     3412      43,    -1,    -1,   940,    -1,    -1,    -1,    -1,   114,    -1,
     3413     116,    -1,    -1,    -1,   120,    -1,   122,   123,    -1,    -1,
     3414      -1,    -1,   885,    -1,    -1,    -1,    69,    -1,    -1,   892,
     3415      -1,    -1,    75,    -1,    -1,   972,    79,    -1,    -1,    82,
     3416      83,    84,    85,    86,    87,    88,    89,   984,    91,    92,
     3417      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3418      -1,  1379,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   932,
     3419      -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,
     3420     123,   124,   125,   126,   127,    -1,  1023,    -1,    -1,    -1,
     3421      -1,    -1,    -1,    -1,    -1,    -1,   959,    -1,    -1,    -1,
     3422      -1,   964,    -1,    -1,   967,    -1,    -1,    -1,    -1,    -1,
     3423      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3424      -1,    -1,    -1,    -1,   987,    -1,    -1,    -1,    -1,    -1,
     3425      -1,    -1,    -1,    -1,    -1,   998,    -1,    -1,    -1,    -1,
     3426      -1,    -1,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,
     3427    1468,    -1,    -1,    -1,    -1,  1018,    -1,  1020,    -1,    -1,
     3428      -1,    -1,  1099,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3429      -1,    69,  1035,  1036,  1492,  1493,    -1,    75,    -1,    -1,
     3430      -1,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     3431      88,    89,  1055,    91,    92,    -1,    -1,    -1,    -1,  1517,
     3432      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3433      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     3434      -1,  1158,  1159,   121,   122,   123,   124,   125,   126,   127,
     3435      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3436      -1,    -1,    -1,    -1,    -1,    -1,  1109,    -1,    -1,    -1,
     3437      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3438      -1,    -1,    -1,    -1,    -1,  1128,    -1,    -1,    -1,    -1,
     3439      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3440    1143,  1144,     3,     4,     5,     6,     7,     8,     9,    10,
     3441      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3442      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3443      -1,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
     3444      41,    42,    43,    44,    -1,    46,    -1,    -1,    49,    50,
     3445      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    60,
     3446      -1,    -1,    -1,    64,    65,    -1,    67,    -1,    69,    70,
     3447      -1,    72,    -1,    74,    75,    -1,    77,    78,    79,    -1,
     3448      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3449      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3450      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3451      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
     3452      -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    -1,
     3453      -1,   132,    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,
     3454      -1,    -1,  1285,    -1,    -1,  1288,    -1,    -1,    -1,  1366,
     3455      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3456      -1,    -1,    -1,    -1,    -1,    -1,  1383,    -1,    -1,    -1,
     3457      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    31983458       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    31993459      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3200       29,    -1,    -1,    32,    33,    34,    35,   782,   748,   749,
    3201       39,    40,    41,    42,    43,    -1,    -1,   792,    -1,    -1,
    3202       -1,    -1,    -1,   798,  1491,    -1,    -1,    -1,   803,    -1,
    3203     1133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3460      29,    -1,    -1,    32,    33,    34,    35,    -1,    -1,    -1,
     3461      39,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
     3462      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3463      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1455,  1456,
    32043464      69,    70,    -1,    72,    -1,    74,    75,    -1,    77,    78,
    32053465      79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    32063466      89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3207       -1,    -1,  1175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3208       -1,    -1,    -1,    40,    41,   114,    43,   116,   863,    -1,
    3209       -1,    -1,  1195,   122,   123,   124,   125,   126,   127,    -1,
    3210       -1,    -1,    -1,    -1,    -1,  1208,    -1,  1210,   137,    -1,
    3211      885,    -1,    69,    -1,    -1,    -1,    -1,   892,    75,    -1,
    3212       -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3213       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3214       -1,    -1,  1245,    -1,    -1,    -1,    -1,    -1,    -1,  1252,
    3215     1253,  1254,   863,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3216     1263,  1264,   119,    -1,   904,   122,   123,   124,   125,   126,
    3217      127,    -1,    -1,  1276,     3,     4,     5,     6,     7,     8,
    3218        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3219       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3220       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3221       -1,    -1,  1315,    42,    -1,    -1,    -1,    -1,    -1,    -1,
    3222       -1,    -1,    -1,   693,    -1,   695,  1001,  1002,    -1,  1004,
    3223     1005,    -1,   702,   703,    -1,    -1,    -1,   707,    -1,    -1,
    3224       -1,    70,    -1,    72,    -1,    74,    -1,  1022,    77,    78,
    3225      720,    -1,    -1,    -1,    -1,   725,    -1,    -1,    -1,    -1,
    3226       -1,    -1,    -1,    -1,    -1,   572,   573,    -1,    -1,    -1,
    32273467      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3228       -1,  1384,   752,    -1,    -1,    -1,    -1,  1062,  1063,    -1,
    3229      119,    -1,   599,    -1,    -1,   602,   603,    -1,   605,    -1,
    3230      607,   608,    -1,    -1,    -1,   612,   613,    -1,    -1,    -1,
    3231       -1,    -1,    -1,    -1,  1025,    -1,    -1,  1028,  1029,  1030,
    3232       -1,    -1,    -1,    -1,  1064,    -1,    -1,    -1,    -1,  1432,
    3233       -1,    -1,    -1,    -1,    -1,    -1,  1439,    51,    -1,    10,
    3234       11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,
    3235       -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,  1133,    10,
    3236       11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,
    3237       -1,    42,    -1,    -1,    -1,   845,    -1,   847,   848,   849,
    3238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1491,    -1,
    3239       -1,    42,    -1,    -1,    -1,    -1,   866,    -1,    -1,    70,
    3240     1175,   115,    -1,    -1,    75,   119,    77,    78,    79,    -1,
    3241      880,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    70,
    3242     1195,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
    3243       -1,    -1,    -1,  1208,   148,  1210,    -1,    88,    89,    -1,
    3244       -1,   748,   749,   114,   158,   116,    -1,   161,    -1,   919,
    3245       -1,   122,   123,    -1,    -1,    -1,    -1,  1197,    -1,    -1,
    3246       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3247     1245,   122,   123,    -1,    -1,    -1,    -1,  1252,  1253,  1254,
    3248       -1,    -1,    -1,    -1,  1195,    -1,    -1,    -1,  1263,  1264,
    3249       -1,    -1,   962,    -1,    -1,    -1,   210,   967,    -1,    -1,
    3250       -1,  1276,   972,    -1,    -1,    -1,    -1,   977,   222,    -1,
    3251       -1,    -1,   982,    -1,   984,   985,    -1,    -1,   988,    -1,
    3252       -1,    -1,    -1,    -1,    -1,    -1,   240,   997,    -1,    -1,
    3253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3254     1315,    -1,    -1,  1013,  1014,    -1,    -1,    -1,    68,    -1,
    3255       -1,   265,    -1,    -1,    -1,    -1,    -1,    77,   272,    79,
    3256       -1,    81,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,
    3257       -1,    -1,    -1,    -1,  1044,    -1,    -1,  1047,    -1,    -1,
    3258       -1,    -1,    -1,   297,  1295,    -1,    -1,    -1,    -1,    -1,
    3259       -1,    -1,   899,    -1,    -1,    -1,   310,   904,    -1,   119,
    3260       -1,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,  1384,
    3261       10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
    3262       -1,  1091,    -1,    -1,    -1,    -1,    -1,  1097,  1098,    -1,
    3263       -1,   345,    -1,    -1,  1345,    -1,   350,  1348,    -1,    -1,
    3264       -1,   161,    42,    -1,    -1,    -1,  1116,    -1,    -1,    -1,
    3265       -1,  1121,    -1,    -1,    -1,  1366,  1126,  1432,    -1,    -1,
    3266       -1,    -1,    -1,    -1,  1439,    -1,    -1,  1137,    -1,    -1,
    3267       70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,
    3268     1150,  1392,  1152,  1153,  1154,  1155,  1397,    -1,    88,    89,
    3269       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1167,    -1,  1169,
    3270       -1,    -1,   222,  1173,   224,   225,   226,    -1,    -1,    -1,
    3271       -1,   425,   426,    -1,   114,  1426,  1491,   431,    -1,    -1,
    3272       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
    3273       -1,  1201,  1202,    -1,    -1,    -1,    -1,    -1,   452,    -1,
    3274      260,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,    -1,
    3275       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1064,    -1,    -1,
    3276       -1,    -1,    -1,    -1,    -1,    -1,   480,    -1,    -1,    -1,
    3277       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1488,    -1,   493,
    3278       -1,    -1,  1493,    -1,    -1,  1255,  1256,    -1,    -1,    -1,
    3279       -1,   505,    -1,   507,    -1,  1265,   510,    -1,   512,   513,
    3280     1511,    -1,  1513,    -1,    -1,    -1,  1517,    -1,    -1,  1520,
    3281      524,   331,    -1,    -1,    -1,    -1,    -1,  1528,    -1,    -1,
    3282       -1,  1532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3283      350,    -1,    -1,    -1,    -1,   355,   356,    -1,    -1,    -1,
    3284       -1,    -1,    -1,   363,    -1,    -1,    -1,    -1,    -1,    -1,
    3285       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1327,    -1,  1329,
    3286     1330,  1331,   576,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3287       -1,  1341,    -1,   587,    -1,    -1,   590,    -1,    -1,  1349,
    3288       -1,    -1,    -1,    -1,    46,   405,    -1,    -1,    -1,    -1,
    3289     1197,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
    3290       -1,    -1,   616,   423,  1374,  1375,    -1,   621,   428,    -1,
    3291      430,    -1,    -1,    -1,    -1,    -1,   630,   631,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    42,    -1,   446,    -1,    -1,   449,
    3293      450,    93,   646,    -1,    -1,    -1,    -1,   457,    -1,    -1,
    3294       -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1419,
    3295     1420,   471,    70,    -1,    -1,    -1,    -1,    75,   478,    77,
    3296       78,    79,  1432,    -1,   678,    -1,    -1,    -1,    -1,  1439,
    3297       88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3299      704,    -1,   706,    -1,    -1,    -1,   114,    -1,    -1,    -1,
    3300       -1,    -1,  1472,    -1,   122,   123,  1476,    -1,    -1,    -1,
    3301      172,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3302       -1,    -1,    -1,    -1,    -1,   739,    -1,    -1,    -1,    -1,
    3303       -1,    -1,    -1,   195,  1504,    -1,  1506,    -1,    -1,    -1,
    3304       -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,    -1,    -1,
    3305       -1,    -1,    -1,    -1,    -1,    -1,   218,    -1,    -1,    -1,
    3306       -1,    -1,    -1,    -1,  1534,  1535,   228,    -1,    -1,    -1,
    3307      590,    -1,  1542,  1543,    -1,    -1,    -1,    -1,    -1,    -1,
    3308       -1,    -1,    -1,   797,    -1,    -1,    -1,    -1,    -1,    -1,
    3309       -1,   253,    -1,    -1,    -1,    -1,   258,    -1,   618,    -1,
    3310       -1,    -1,    -1,   623,    -1,    -1,    -1,    -1,    -1,   271,
    3311       -1,    -1,    -1,    -1,    -1,   277,    -1,   279,    -1,    -1,
    3312      283,    -1,   285,   286,    -1,    -1,    -1,    -1,    -1,    -1,
    3313       -1,    -1,   295,   296,    -1,    -1,   298,    -1,    -1,    -1,
    3314       -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,   311,    -1,
    3315       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,
    3316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317       -1,   885,   692,    -1,    -1,    -1,    -1,   339,   892,    -1,
    3318       -1,   343,   345,    -1,    -1,    69,   706,    -1,    -1,    -1,
    3319       -1,    75,    -1,   907,    -1,    79,    -1,    -1,    82,    83,
    3320       84,    85,    86,    87,    88,    89,    -1,    91,    92,   371,
    3321       -1,    -1,    -1,   375,   376,    -1,   378,   380,   932,    -1,
    3322       -1,    -1,    -1,   385,   386,    -1,   388,   389,    -1,   391,
    3323      114,   393,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
    3324      124,   125,   126,   127,    -1,    -1,    -1,    -1,   410,    -1,
    3325       -1,   135,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,
    3326       -1,    -1,    -1,    -1,    -1,    -1,   786,    -1,    -1,   983,
    3327       -1,    -1,    -1,    -1,    -1,    -1,    -1,   797,    -1,    -1,
    3328      442,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
    3329     1004,  1005,    -1,    -1,   814,    -1,    -1,    -1,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,    -1,   468,    -1,    -1,    -1,
    3331       69,    -1,   474,    -1,    -1,    -1,    75,   479,    77,    78,
    3332       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3333       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3335       -1,    -1,    -1,  1067,   516,   114,    -1,   116,    -1,   118,
    3336      119,    -1,    -1,   122,   123,   124,   125,   126,   127,   531,
    3337       -1,    -1,    -1,    -1,     7,    -1,    -1,    10,    11,    12,
    3338       13,    14,    -1,    -1,    -1,    -1,   549,   550,   551,   552,
    3339      553,   554,   555,   556,   557,   558,   559,   560,   561,   562,
    3340      563,   564,   565,   566,    -1,   925,   568,    40,    41,    42,
    3341       43,    -1,    -1,    -1,    -1,   577,    -1,    -1,    -1,  1133,
    3342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3343       -1,    -1,    -1,    -1,   954,   597,    69,    70,    -1,    -1,
    3344       -1,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
    3345       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    3346     1174,    -1,    -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,
    3347       -1,    -1,    -1,   635,    -1,    -1,    -1,   997,    -1,    -1,
    3348       -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3349      123,   124,   125,   126,   127,    -1,  1210,    -1,    -1,    -1,
    3350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   671,
    3351       -1,    -1,    -1,    -1,    -1,    -1,    -1,   679,    -1,    -1,
    3352       -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,    -1,
    3353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,  1263,
    3355     1264,    -1,  1072,    -1,    -1,    -1,    -1,  1271,    -1,   721,
    3356      722,    -1,    -1,    -1,    -1,    -1,  1086,    10,    11,    12,
    3357       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3358       23,    24,    25,    26,    27,    28,    29,   750,    -1,    -1,
    3359       -1,   753,    -1,    -1,    -1,    -1,   758,    -1,    -1,    42,
    3360       -1,    -1,    -1,   157,   158,    -1,    -1,    -1,    -1,    -1,
    3361       -1,    -1,    -1,    -1,    -1,    -1,    -1,   780,    -1,    -1,
    3362       -1,    -1,    -1,    -1,    -1,    -1,     7,    70,    -1,    10,
    3363       11,    12,    13,    14,    -1,    -1,   190,    -1,    -1,    -1,
    3364       -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,    -1,    -1,  1174,    -1,   818,    -1,    -1,    40,
    3366       41,    42,    43,   825,    -1,    -1,    -1,    -1,    -1,    -1,
    3367     1384,    -1,    -1,    -1,    -1,    -1,   838,    -1,   840,    -1,
    3368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
    3369       -1,   853,    -1,    -1,    75,    -1,    -1,   859,    79,    -1,
    3370       -1,    82,    83,    84,    85,    86,    87,    88,    89,   871,
    3371       91,    92,   874,    -1,    -1,   269,    -1,    -1,    -1,    -1,
    3372       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1441,    -1,  1443,
    3373       -1,   894,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3374       -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    -1,
    3375       -1,  1271,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3376       -1,    -1,    -1,    -1,  1478,    -1,  1480,    -1,    -1,    -1,
    3377       -1,    -1,   326,    -1,    -1,    -1,   939,    -1,    -1,    -1,
    3378      334,   335,   148,   337,   338,    -1,    -1,    -1,    -1,    -1,
    3379       -1,   345,   158,  1507,    -1,   349,    -1,    -1,    -1,    -1,
    3380       -1,    -1,    -1,   169,   170,    -1,    -1,    -1,   971,    -1,
    3381       -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,    -1,   981,
    3382      983,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3383       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3384       28,    29,    -1,   397,    32,    33,    34,   401,    -1,    -1,
    3385       -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,  1022,
    3386       -1,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,    -1,
    3387       -1,    -1,    -1,    -1,   240,    -1,    -1,   431,    -1,    -1,
    3388       -1,    -1,    70,    -1,    -1,  1047,    -1,    75,    -1,    77,
    3389       78,    -1,    -1,    69,    -1,    -1,    -1,    -1,   264,    75,
    3390       88,    89,    -1,    79,    -1,    -1,    82,    83,    84,    85,
    3391       86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
    3392     1082,    -1,    -1,   477,    -1,  1087,   480,    -1,   116,    -1,
    3393       -1,    -1,    -1,  1095,   122,   123,    -1,    -1,   114,    -1,
    3394      116,  1104,    -1,    -1,    -1,   121,   122,   123,   124,   125,
    3395      126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396       -1,    -1,    -1,    -1,    -1,    -1,   520,  1129,    -1,    -1,
    3397      524,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1140,    -1,
    3398       -1,  1143,    -1,  1145,    -1,    -1,    -1,    -1,    -1,    -1,
    3399       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1160,  1161,
    3400     1163,  1164,  1522,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3401       -1,    -1,    -1,   379,   568,   569,    -1,    -1,  1180,    -1,
    3402       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3403       -1,    -1,   586,   587,    -1,    -1,    40,    41,    -1,    43,
    3404       -1,    -1,   596,    -1,   598,   599,    -1,    -1,    -1,    -1,
    3405       -1,   605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3406       -1,   615,   616,    -1,  1226,    69,    -1,   621,    -1,    -1,
    3407       -1,    75,  1234,    -1,    -1,    79,   630,   631,    82,    83,
    3408       84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    3409       -1,    -1,   646,    -1,    -1,    -1,    -1,   651,   652,    -1,
    3410       -1,   655,   656,    -1,    -1,    -1,   472,    -1,   662,    -1,
    3411      114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,
    3412      124,   125,   126,   127,    -1,    -1,    -1,   681,    -1,    -1,
    3413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3414       -1,    -1,  1304,    -1,  1306,    -1,   512,    -1,    -1,    -1,
    3415      704,   705,    -1,    -1,    -1,    -1,    -1,    -1,   524,    -1,
    3416     1322,    -1,  1324,    -1,   530,    -1,    -1,   533,    -1,    -1,
    3417       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1339,    -1,    -1,
    3418      546,    -1,    -1,    -1,    -1,   739,    -1,    -1,    -1,   743,
    3419      744,    -1,  1354,  1355,    -1,    -1,    -1,    -1,    -1,    -1,
    3420       -1,    -1,    -1,  1365,    -1,    -1,  1368,    -1,  1371,    -1,
    3421      576,    -1,    -1,    -1,    -1,    -1,    -1,   583,    -1,    -1,
    3422       -1,   587,    -1,    -1,    -1,  1388,    -1,    -1,  1390,    -1,
    3423       -1,    -1,   786,    -1,    -1,    -1,    -1,  1399,    -1,    -1,
    3424     1402,    -1,  1404,  1405,  1406,    -1,    -1,    -1,   802,    -1,
    3425      804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3426      814,    -1,    -1,    -1,    -1,    -1,    -1,   633,    -1,    -1,
    3427       -1,    -1,    -1,    -1,    -1,   641,    -1,    -1,    -1,    -1,
    3428       -1,    -1,    -1,  1445,    -1,  1447,    -1,  1449,    -1,    -1,
    3429       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1460,  1461,    -1,
    3430       -1,    -1,    -1,  1465,     4,     5,     6,     7,     8,     9,
    3431       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3432       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3433       -1,   885,    32,    33,    34,    -1,    -1,    -1,   892,   893,
    3434       -1,   895,    42,    -1,    -1,   899,    -1,    -1,    -1,    -1,
    3435       -1,   717,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3436       -1,    -1,   728,    -1,    -1,    -1,   920,   921,    -1,    -1,
    3437       70,    -1,    72,   739,    74,   741,    -1,    77,    78,    -1,
    3438       -1,    -1,    -1,    -1,    -1,   751,    -1,    -1,    -1,    -1,
    3439       -1,   757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3440      954,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3441       -1,    -1,    -1,    -1,    -1,   115,   116,    -1,    -1,   973,
    3442      974,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,   983,
    3443       -1,   797,   798,    -1,    -1,   989,   990,    -1,   992,   993,
    3444      994,    -1,    -1,    -1,    -1,    -1,    -1,   813,    -1,    -1,
    3445     1004,  1005,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3446       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3447       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3448       29,    -1,    -1,    32,    33,    34,   852,    -1,    -1,    -1,
    3449      856,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,
    3450       -1,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
    3451       -1,    -1,    -1,    -1,    -1,    -1,  1070,    -1,  1072,   885,
    3452       -1,    70,    -1,  1077,    -1,    -1,   892,    -1,    77,    78,
    3453       69,    -1,  1086,    -1,    -1,    -1,    75,    -1,    -1,    -1,
    3454       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3455       89,    -1,    91,    92,    -1,  1109,  1110,    -1,    -1,    -1,
    3456       -1,    -1,    -1,    -1,    -1,    -1,   932,   116,    -1,    -1,
    3457       -1,   120,    -1,   122,   123,   114,    -1,   116,    -1,  1133,
     3468      -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    34583469      -1,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3459       -1,    -1,   958,    -1,    -1,    -1,    -1,   963,    40,    41,
    3460      966,    43,    44,    -1,    46,    -1,    -1,    49,    50,    51,
    3461       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    -1,
    3462      986,    -1,    64,    65,    -1,    67,    -1,    69,    -1,    -1,
    3463       -1,   997,    -1,    75,    -1,    77,    78,    79,    -1,    -1,
    3464       82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
    3465       92,  1017,    -1,  1019,    -1,    -1,  1210,    -1,    -1,    -1,
    3466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1034,  1035,
    3467       -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,
    3468      122,   123,   124,   125,   126,   127,    40,    41,    -1,    43,
    3469      132,    -1,    -1,    -1,  1060,   137,    -1,    -1,    -1,    -1,
    3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1263,
    3471     1264,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,
    3472       -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
    3473       84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    3474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1114,    -1,
    3475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3476      114,    -1,   116,    -1,    -1,    -1,    -1,  1133,   122,   123,
    3477      124,   125,   126,   127,    -1,    -1,    -1,    -1,    -1,    -1,
    3478       -1,    -1,  1148,  1149,    -1,    -1,     3,     4,     5,     6,
    3479        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3480       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3481       27,    28,    29,    -1,    -1,    32,    33,    34,    35,    -1,
    3482       -1,    -1,    39,    40,    41,    42,    43,    44,    -1,    46,
    3483     1384,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
    3484       -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,    -1,
    3485       67,    -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,
    3486       77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3487       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3489       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3490       -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
    3491      127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,  1473,
    3492      137,    -1,    -1,    -1,  1290,    -1,  1292,    -1,    -1,    -1,
    3493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3494       -1,    -1,    -1,  1497,  1498,    -1,    -1,    -1,    -1,    -1,
    3495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1522,     3,
     3470      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,     3,
    34973471       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    34983472      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    34993473      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    35003474      34,    35,    -1,    -1,    -1,    39,    40,    41,    42,    43,
    3501       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3502       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3503       30,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,
    3504       74,    75,    42,    77,    78,    79,    -1,    -1,    82,    83,
     3475      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1502,
     3476      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3477      -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,
     3478      74,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
    35053479      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    35063480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3507       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3508      114,    81,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
     3481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3482     114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
    35093483     124,   125,   126,   127,     4,     5,     6,     7,     8,     9,
    35103484      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    35113485      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    35123486      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3513       40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
    3514       -1,  1507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
    3516       70,    -1,    72,    -1,    74,    75,    -1,    77,    78,    79,
     3487      40,    41,    42,    43,    10,    11,    12,    13,    14,    15,
     3488      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3489      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    69,
     3490      70,    -1,    72,    -1,    74,    75,    42,    77,    78,    79,
    35173491      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
    35183492      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3520       -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3493      -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    77,    78,    -1,   114,    -1,   116,    -1,    -1,    -1,
    35213495      -1,   121,   122,   123,   124,   125,   126,   127,     4,     5,
    35223496       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     
    35253499      -1,    -1,    -1,    -1,    40,    41,    42,    43,    10,    11,
    35263500      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3527       22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
    3528       -1,    -1,    -1,    69,    70,    -1,    72,    -1,    74,    75,
     3501      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3502      32,    33,    34,    69,    70,    -1,    72,    -1,    74,    75,
    35293503      42,    77,    78,    79,    -1,    -1,    82,    83,    84,    85,
    35303504      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
    35313505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    81,
     3506      -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,    -1,
    35333507     116,    -1,    -1,    -1,    -1,   121,   122,   123,   124,   125,
    35343508     126,   127,     4,     5,     6,     7,     8,     9,    10,    11,
     
    35363510      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    35373511      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,
    3538       42,    43,    10,    11,    12,    13,    14,    15,    16,    17,
    3539       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3540       28,    29,    -1,    -1,    32,    33,    34,    69,    70,    -1,
    3541       72,    -1,    74,    75,    42,    77,    78,    79,    -1,    -1,
     3512      42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3513      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3514      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,
     3515      72,    -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,
    35423516      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
    35433517      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3544       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
    3545       78,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     3518      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3519      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
    35463520     122,   123,   124,   125,   126,   127,     4,     5,     6,     7,
    35473521       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    35483522      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    35493523      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    3550       -1,    -1,    40,    41,    42,    43,    10,    11,    12,    13,
    3551       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3552       24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3553       34,    69,    70,    -1,    72,    -1,    74,    75,    42,    77,
     3524      -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,    -1,
     3525      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3526      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3527      -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,    77,
    35543528      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
    35553529      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
    3556       -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,
    3557       -1,    -1,    -1,    77,    78,    -1,   114,    -1,   116,    -1,
     3530      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3531      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    35583532      -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
    35593533       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     
    35933567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35943568      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
    3595       -1,   116,    -1,    -1,    -1,   120,    -1,   122,   123,     3,
     3569      -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,     3,
    35963570       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    35973571      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    35983572      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3599       34,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,
     3573      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
    36003574      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36013575      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3602       -1,    -1,    -1,    67,    -1,    -1,    70,    -1,    72,    -1,
     3576      -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,
    36033577      74,    75,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
    36043578      -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,
     
    36083582       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    36093583      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3584      23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
     3585      33,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
     3586      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3587      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3588      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
     3589      -1,    74,    -1,    -1,    77,    78,    -1,    -1,    81,     3,
     3590       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3591      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3592      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     3593      34,    35,    -1,   116,    -1,    39,    -1,    -1,    42,   122,
     3594     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3595      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3596      -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,
     3597      74,    -1,    -1,    77,    78,     3,     4,     5,     6,     7,
     3598       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3599      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3600      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3601      -1,    -1,   116,    -1,    42,    -1,    -1,    -1,   122,   123,
     3602      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3603      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3604      -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
     3605      78,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3606      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    36103607      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3611       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
    3612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3608      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,    42,
     3609      -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
    36133610      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36143611      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
     
    36183615      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36193616      -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3620      123,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3621       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3622       22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
    3623       32,    33,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,
    3624       42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3627       72,    -1,    74,    -1,    -1,    77,    78,    -1,    -1,    81,
    3628        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3617     123,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    36293618      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    36303619      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3631       33,    34,    35,    -1,   116,    -1,    39,    -1,    -1,    42,
    3632      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3620      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
     3621      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36333622      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36343623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
    3635       -1,    74,    -1,    -1,    77,    78,     3,     4,     5,     6,
    3636        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3637       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3638       27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
    3639       -1,    -1,    -1,   116,    -1,    42,    -1,    -1,    -1,   122,
     3624      -1,    74,    -1,    -1,    77,    78,     4,     5,     6,     7,
     3625       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3626      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3627      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3628      -1,    -1,   115,   116,    42,    -1,    -1,    -1,    -1,   122,
    36403629     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36413630      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3642       -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
    3643       77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
    3644       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3645       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3646       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,
    3647       42,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3631      -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
     3632      78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36483633      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3650       72,    -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,
    3651       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,
     3634      -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     3635      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,
     3636      -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,     7,
     3637       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3638      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3639      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3640      -1,    -1,    -1,    -1,    42,    -1,    10,    11,    12,    13,
     3641      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3642      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     3643      34,    -1,    70,    -1,    72,    -1,    74,    -1,    42,    77,
     3644      78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3645      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3646      -1,    -1,    -1,   101,    -1,    -1,    70,    -1,    -1,    -1,
     3647      -1,    -1,    -1,    77,    78,    -1,    -1,    -1,   116,    -1,
     3648      -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,     7,
     3649       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3650      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3651      28,    29,   116,    -1,    32,    33,    34,    -1,   122,   123,
     3652      -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,
    36523653      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36533654      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3654       -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
    3655      122,   123,     4,     5,     6,     7,     8,     9,    10,    11,
    3656       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3657       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3658       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3659       42,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3660       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3661       28,    29,    -1,    -1,    32,    33,    34,    -1,    70,    -1,
    3662       72,    -1,    74,    -1,    42,    77,    78,    -1,    -1,    -1,
    3663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
    3665       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
    3666       78,    -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,
    3667      122,   123,     4,     5,     6,     7,     8,     9,    10,    11,
    3668       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3669       22,    23,    24,    25,    26,    27,    28,    29,   116,    -1,
    3670       32,    33,    34,    -1,   122,   123,    -1,    -1,    -1,    -1,
    3671       42,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3672       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3673       28,    29,    -1,    -1,    32,    33,    34,    -1,    70,    -1,
    3674       72,    -1,    74,    -1,    42,    77,    78,    -1,    -1,    -1,
    3675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
    3677       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
    3678       78,    -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,
    3679      122,   123,     4,     5,     6,     7,     8,     9,    10,    11,
    3680       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3681       22,    23,    24,    25,    26,    27,    28,    29,   116,    -1,
    3682       32,    33,    34,    -1,   122,   123,    -1,    -1,    -1,    -1,
    3683       42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3685       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3686       72,    -1,    74,    -1,    -1,    77,    78,     4,     5,     6,
    3687        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3688       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3689       27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
    3690       -1,    -1,    -1,    -1,   116,    42,    -1,    -1,    -1,    -1,
    3691      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693       -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
    3694       77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
    3695       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3696       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3697       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,
    3698       42,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
    3699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3701       72,    -1,    74,    -1,    -1,    77,    78,    10,    11,    12,
     3655      -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
     3656      78,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    37023657      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    37033658      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3704       33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
    3705       43,    -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,
    3706      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3659      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,    42,
     3660      -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3662      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
     3663      -1,    74,    -1,    -1,    77,    78,     4,     5,     6,     7,
     3664       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3665      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3666      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3667      -1,    -1,    -1,   116,    42,    -1,    -1,    -1,    -1,   122,
     3668     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3669      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3670      -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,
     3671      78,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3672      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3673      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     3674      -1,    40,    41,    42,    43,    -1,    -1,    -1,   116,    -1,
     3675      -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
     3676      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3677      69,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
     3678      79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
     3679      89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
     3680      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3681      -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
     3682     119,    -1,    -1,   122,   123,   124,   125,   126,   127,    10,
     3683      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3684      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3685      -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,
     3686      41,    42,    43,    10,    11,    12,    13,    14,    15,    16,
     3687      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3688      27,    28,    29,    -1,    -1,    32,    33,    34,    69,    70,
     3689      -1,    -1,    -1,    -1,    75,    42,    77,    78,    79,    -1,
     3690      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3691      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3692      -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
     3693      77,    78,    -1,   114,   115,   116,    -1,    -1,    -1,    -1,
     3694      -1,   122,   123,   124,   125,   126,   127,    10,    11,    12,
     3695      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3696      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3697      33,    34,    -1,    -1,    -1,   122,   123,    40,    41,    42,
     3698      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37073700      -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    -1,
    37083701      -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,
     
    37103703      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37113704      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3712       -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,
     3705      -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    37133706     123,   124,   125,   126,   127,    10,    11,    12,    13,    14,
    37143707      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    37153708      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3716       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,    10,
    3717       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3718       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3719       -1,    32,    33,    34,    69,    70,    -1,    -1,    -1,    -1,
    3720       75,    42,    77,    78,    79,    -1,    -1,    82,    83,    84,
     3709      -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,    -1,
     3710      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3711      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3712      -1,    -1,    -1,    -1,    69,    70,    -1,    -1,    -1,    -1,
     3713      75,    -1,    77,    78,    79,    -1,    -1,    82,    83,    84,
    37213714      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
    3723       -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,
    3724      115,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
     3715      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3716      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3717      -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    37253718     125,   126,   127,    10,    11,    12,    13,    14,    15,    16,
    37263719      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    37273720      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
    3728       -1,   122,   123,    40,    41,    42,    43,    -1,    -1,    -1,
     3721      -1,    -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,
    37293722      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37303723      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     
    37353728      -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    37363729      -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
    3737      127,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3730     127,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3731      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3732      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3733      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3734      42,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37383735      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3739       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3740       -1,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
    3741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3743       69,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
    3744       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3745       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3747       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3748       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,    10,
    3749       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3750       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3751       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,
    3752       41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
    3755       -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
    3756       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3757       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3759       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3760       -1,   122,   123,   124,   125,   126,   127,    10,    11,    12,
    3761       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3762       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3763       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
    3764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
    3765       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3766       23,    24,    25,    26,    27,    28,    29,    70,    -1,    32,
    3767       33,    34,    75,    -1,    77,    78,    79,    -1,    -1,    42,
    3768       -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
    3769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,
    3771       -1,   114,    75,   116,    77,    78,    79,    -1,    -1,   122,
    3772      123,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
    3773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3775       -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3776      123,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3777       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3778       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3779       -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,
     3736      29,    -1,    -1,    32,    33,    34,    -1,    -1,    70,    -1,
     3737      72,    -1,    74,    42,    43,    77,    78,    -1,    -1,    -1,
    37803738      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    37813739      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    37823740      29,    70,    -1,    32,    33,    34,    -1,    -1,    77,    78,
    3783       -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,
     3741      -1,    -1,    -1,    42,    43,    -1,    -1,   119,    -1,    -1,
    37843742      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37853743      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     
    37883746      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    37893747      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3790       34,    -1,    -1,    -1,    -1,    -1,    -1,   116,    42,    -1,
     3748      34,    -1,    -1,    -1,    -1,    -1,    -1,   116,    42,    43,
    37913749      -1,   120,    -1,   122,   123,    -1,    10,    11,    12,    13,
    37923750      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     
    37963754      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    37973755      -1,    32,    33,    34,    -1,    -1,    70,    -1,    -1,    -1,
    3798       -1,    42,   116,    77,    78,    -1,    -1,    -1,   122,   123,
     3756      -1,    42,   116,    77,    78,    -1,   120,    -1,   122,   123,
    37993757      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38003758      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
     
    38043762      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    38053763      26,    27,    28,    29,    -1,   116,    32,    33,    34,    -1,
    3806       -1,   122,   123,    -1,    -1,    -1,    42,    -1,     4,     5,
    3807        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3808       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3809       26,    27,    28,    29,    70,    -1,    32,    33,    34,    -1,
    3810       -1,    77,    78,    -1,    -1,    -1,    42,    -1,    -1,    -1,
     3764      -1,   122,   123,    -1,    -1,    -1,    42,    10,    11,    12,
     3765      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3766      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3767      33,    34,    -1,    -1,    70,    -1,    -1,    -1,    -1,    42,
     3768      -1,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3769      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3770      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,
     3771      -1,    -1,    -1,    -1,    77,    78,    -1,    -1,    -1,    -1,
     3772     116,    -1,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,
    38113773      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38123774      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3813       -1,    -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,
    3814      116,    77,    78,    -1,    -1,    -1,   122,   123,    40,    41,
    3815       -1,    43,    44,    -1,    46,    -1,    -1,    49,    50,    51,
    3816       52,    53,    54,    55,    56,    -1,    -1,    -1,    60,    -1,
    3817       -1,    -1,    64,    65,    -1,    67,    -1,    69,    -1,   115,
    3818       -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,
     3775      -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     3776     123,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3777      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3778      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3779      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
     3780      -1,    40,    41,    -1,    43,    44,    -1,    46,    -1,    -1,
     3781      49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
     3782      59,    60,    -1,    -1,    -1,    64,    65,    70,    67,    72,
     3783      69,    74,    -1,    -1,    77,    78,    75,    -1,    -1,    -1,
     3784      79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
     3785      89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
     3786      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3787      -1,    -1,   115,    -1,    -1,   114,    -1,   116,    -1,    -1,
     3788     119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
     3789      -1,    40,    41,   132,    43,    44,    -1,    46,   137,    -1,
     3790      49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
     3791      -1,    60,    -1,    -1,    -1,    64,    65,    -1,    67,    -1,
     3792      69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
     3793      79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
     3794      89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
     3795      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3796      -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
     3797     119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
     3798      -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,   137,     4,
     3799       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3800      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3801      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3802      -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    40,
     3803      41,    -1,    43,    44,    -1,    46,    47,    48,    49,    50,
     3804      51,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
     3805      -1,    -1,    -1,    64,    65,    70,    67,    72,    69,    74,
     3806      -1,    -1,    77,    78,    75,    -1,    -1,    -1,    79,    -1,
     3807      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3808      91,    92,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,
     3809      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3810      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
     3811      -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    40,
     3812      41,   132,    43,    44,    -1,    46,    47,    48,    49,    50,
     3813      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    60,
     3814      -1,    -1,    -1,    64,    65,    -1,    67,    -1,    69,    -1,
     3815      -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
     3816      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3817      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3819      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
     3820      -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    40,
     3821      41,   132,    43,    44,    -1,    46,    -1,    -1,    49,    50,
     3822      51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    60,
     3823      -1,    -1,    -1,    64,    65,    -1,    67,    -1,    69,    -1,
     3824      -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
     3825      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3826      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
     3827      -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3828      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
     3829      -1,   122,   123,   124,   125,   126,   127,    69,    -1,    -1,
     3830      -1,   132,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,
    38193831      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
    3820       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3832      92,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,
     3833      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3834      -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,
     3835     122,   123,   124,   125,   126,   127,    69,    -1,    -1,    -1,
     3836      -1,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
     3837      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
     3838      -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,
    38213839      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3822       -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,
    3823      122,   123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,
    3824      132,    -1,    -1,    -1,    -1,   137,     4,     5,     6,     7,
    3825        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3826       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3827       28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    3828       -1,    -1,    -1,    -1,    42,    -1,    40,    41,    -1,    43,
    3829       44,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    3830       54,    55,    56,    -1,    -1,    59,    60,    -1,    -1,    -1,
    3831       64,    65,    70,    67,    72,    69,    74,    -1,    -1,    77,
    3832       78,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
    3833       84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    3834       -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
    3835       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3836      114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,
    3837      124,   125,   126,   127,    -1,    -1,    40,    41,   132,    43,
    3838       44,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    3839       54,    55,    56,    -1,    -1,    -1,    60,    -1,    -1,    -1,
    3840       64,    65,    -1,    67,    -1,    69,    -1,    -1,    -1,    -1,
    3841       -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
    3842       84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    3843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3845      114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,
    3846      124,   125,   126,   127,    -1,    -1,    40,    41,   132,    43,
    3847       44,    -1,    46,    -1,    -1,    49,    50,    51,    52,    53,
    3848       54,    55,    56,    -1,    -1,    -1,    60,    -1,    -1,    -1,
    3849       64,    65,    -1,    67,    -1,    69,    -1,    -1,    -1,    -1,
    3850       -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
     3840      -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     3841     123,   124,   125,   126,   127,    69,    -1,    -1,    -1,    -1,
     3842      -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
    38513843      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    38523844      -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,
    38533845      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3854      114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,
    3855      124,   125,   126,   127,    69,    -1,    -1,    -1,   132,    -1,
     3846     114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
     3847     124,   125,   126,   127,    69,    -1,    -1,    -1,    -1,    -1,
    38563848      75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
    38573849      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
     
    38773869      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    38783870      -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
     3871       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3872      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3873      24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
     3874      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
    38793875      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    38803876      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3881       -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3882       -1,    -1,    42,     3,     4,     5,     6,     7,     8,     9,
    3883       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3884       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3885       70,    -1,    32,    33,    34,    75,    -1,    77,    78,    -1,
    3886       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    88,    89,
     3877      -1,    -1,    32,    33,    34,    -1,    70,    -1,    72,    -1,
     3878      74,    75,    42,    77,    78,    79,    -1,    -1,    -1,    -1,
     3879      -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,
     3880      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3881      70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,    -1,
     3882      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
     3883       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3884      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3885      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3886      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
    38873887      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38883888      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3889       70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,     3,
    3890        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3891       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3892       24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3893       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
     3889      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
     3890      -1,    74,    -1,    -1,    77,    78,     3,     4,     5,     6,
     3891       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3892      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3893      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3894      -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,
    38943895      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38953896      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3896       -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,
    3897       74,    -1,    -1,    77,    78,     4,     5,     6,     7,     8,
    3898        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3899       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3900       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3901       -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
     3897      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3898      77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
     3899      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3900      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3901      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3902      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39023903      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3904       -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,
    3905       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3906       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3907       -1,    -1,    32,    33,    34,    35,    36,    37,    38,    -1,
    3908       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3911       70,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78
     3904      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3905      72,    -1,    74,    -1,    -1,    77,    78
    39123906};
    39133907
     
    39653959     232,   235,   139,   318,   114,   318,   172,   326,   235,   114,
    39663960     139,   279,   119,    35,    36,    37,    38,   233,   293,   294,
    3967      296,   139,   133,   136,   298,   139,    10,    75,    77,    78,
     3961     296,   139,   133,   136,   298,   139,   236,   241,   242,   279,
    39683962     322,   323,   324,   114,   146,   114,   156,   114,   156,   159,
    39693963     114,   156,   114,   114,   156,   156,   116,   172,   177,   181,
     
    40094003     170,   171,   265,   140,   140,   144,   230,   140,   140,   267,
    40104004     114,   157,   377,   140,   120,   235,   294,   172,   295,   140,
    4011      139,   139,   114,   140,   115,   323,   150,   135,   137,   116,
    4012      146,   208,   209,   210,   115,   121,   115,   115,   115,   115,
    4013      172,   365,   366,   367,   235,   364,   319,   319,   119,   159,
    4014      172,   173,   176,   121,   139,   115,   121,   172,   139,   120,
    4015      170,   135,   271,   115,   115,   115,   352,   271,   115,   233,
    4016      370,   116,   122,   157,   172,   172,   235,   349,   271,   115,
    4017      115,   115,   115,   115,   115,   115,     7,   235,   343,   347,
    4018      358,   139,   139,   380,   139,   139,   140,   140,   140,   140,
    4019      284,   170,   171,   172,   317,   139,   285,   287,   120,   139,
    4020      219,   281,    43,    44,    46,    49,    50,    51,    52,    53,
    4021       54,    55,    56,    60,    64,    65,    75,    77,    78,    79,
    4022      132,   145,   177,   178,   179,   180,   181,   182,   183,   185,
    4023      186,   198,   200,   201,   206,   220,   279,   315,    31,   140,
    4024      136,   284,   139,   139,   115,   140,   181,   255,   137,   137,
    4025      326,   171,   235,   260,   261,   260,   281,   319,   120,   266,
    4026      379,   115,   121,   117,   117,   140,   235,   121,   380,   297,
    4027      115,   293,   223,   225,   233,   305,   306,   307,   308,   299,
    4028      115,   115,   135,   171,   114,   115,   135,   121,   144,   115,
    4029      115,   115,   364,   286,   121,   140,   176,    82,    85,    87,
    4030      144,   152,   153,   154,   151,   140,   152,   170,   140,   114,
    4031      356,   357,   140,   139,   140,   140,   140,   172,   115,   140,
    4032      114,   356,   357,   114,   362,   114,   362,   357,   234,     7,
    4033      122,   140,   172,   271,   271,   270,   274,   274,   275,   115,
    4034      121,   121,   115,   101,   127,   140,   140,   152,   285,   172,
    4035      121,   137,   220,   224,   235,   239,   114,   114,   179,   114,
    4036      114,   137,   279,   137,   279,   122,   279,   178,   114,   181,
    4037      173,   173,   149,   137,   140,   139,   140,   135,   219,   115,
    4038      172,   271,   271,   319,   115,   120,   259,   120,   139,   115,
    4039      139,   140,   316,   120,   139,   140,   140,   115,   119,   208,
    4040      117,   171,   137,   208,   210,   115,   114,   356,   357,   379,
    4041      173,   117,   140,   155,   116,   153,   155,   155,   121,   140,
    4042       90,   118,   117,   140,   115,   139,   115,   117,   117,   117,
    4043      140,   115,   139,   139,   139,   172,   172,   140,   117,   140,
    4044      140,   140,   140,   139,   139,   171,   171,   117,   117,   140,
    4045      281,   235,   177,   177,    50,   177,   139,   137,   137,   177,
    4046      137,   137,   177,    61,    62,    63,   202,   203,   204,   137,
    4047       66,   137,   119,   183,   120,   319,   137,   140,   140,   101,
    4048      276,   277,   115,   306,   121,   137,   121,   137,   120,   304,
    4049      135,   146,   115,   115,   135,   139,   120,   117,    86,   139,
    4050      153,   117,   116,   153,   116,   153,   117,   271,   117,   271,
    4051      271,   271,   140,   140,   117,   117,   115,   115,   117,   121,
    4052      101,   270,   101,   140,   117,   115,   115,   114,   115,   178,
    4053      199,   220,   137,   115,   114,   114,   181,   204,    61,    62,
    4054      172,   150,   179,   115,   115,   119,   139,   139,   305,   146,
    4055      211,   114,   137,   211,   271,   152,   139,   139,   140,   140,
    4056      140,   140,   117,   117,   139,   140,   117,   179,    47,    48,
    4057      119,   189,   190,   191,   177,   179,   140,   115,   178,   119,
    4058      191,   101,   139,   101,   139,   114,   114,   137,   120,   139,
    4059      279,   316,   120,   121,   135,   171,   115,   140,   140,   152,
    4060      152,   115,   115,   115,   115,   274,    45,   171,   187,   188,
    4061      317,   135,   139,   179,   189,   115,   137,   179,   137,   139,
    4062      115,   139,   115,   139,   101,   139,   101,   139,   137,   305,
    4063      146,   144,   212,   115,   137,   115,   117,   140,   140,   179,
    4064      101,   121,   135,   140,   213,   214,   220,   137,   178,   178,
    4065      213,   181,   205,   233,   373,   181,   205,   115,   139,   115,
    4066      139,   120,   115,   121,   117,   117,   171,   187,   190,   192,
    4067      193,   139,   137,   190,   194,   195,   140,   114,   157,   316,
    4068      364,   144,   140,   181,   205,   181,   205,   114,   137,   144,
    4069      179,   184,   120,   190,   220,   178,    59,   184,   197,   120,
    4070      190,   115,   235,   115,   140,   140,   299,   179,   184,   137,
    4071      196,   197,   184,   197,   181,   181,   115,   115,   115,   196,
    4072      140,   140,   181,   181,   140,   140
     4005     139,   139,   114,   140,   115,   323,   177,   178,   135,   137,
     4006     116,   146,   208,   209,   210,   115,   121,   115,   115,   115,
     4007     115,   172,   365,   366,   367,   235,   364,   319,   319,   119,
     4008     159,   172,   173,   176,   121,   139,   115,   121,   172,   139,
     4009     120,   170,   135,   271,   115,   115,   115,   352,   271,   115,
     4010     233,   370,   116,   122,   157,   172,   172,   235,   349,   271,
     4011     115,   115,   115,   115,   115,   115,   115,     7,   235,   343,
     4012     347,   358,   139,   139,   380,   139,   139,   140,   140,   140,
     4013     140,   284,   170,   171,   172,   317,   139,   285,   287,   120,
     4014     139,   219,   281,    43,    44,    46,    49,    50,    51,    52,
     4015      53,    54,    55,    56,    60,    64,    65,    75,   132,   178,
     4016     179,   180,   181,   182,   183,   185,   186,   198,   200,   201,
     4017     206,   220,   315,    31,   140,   136,   284,   139,   139,   115,
     4018     140,   181,   255,   137,   137,   326,   171,   235,   260,   261,
     4019     260,   281,   319,   120,   266,   379,   115,   121,   117,   117,
     4020     140,   235,   121,   380,   297,   115,   293,   223,   225,   233,
     4021     305,   306,   307,   308,   299,   115,   115,   135,   171,   114,
     4022     115,   135,   121,   144,   115,   115,   115,   364,   286,   121,
     4023     140,   176,    82,    85,    87,   144,   152,   153,   154,   151,
     4024     140,   152,   170,   140,   114,   356,   357,   140,   139,   140,
     4025     140,   140,   172,   115,   140,   114,   356,   357,   114,   362,
     4026     114,   362,   357,   234,     7,   122,   140,   172,   271,   271,
     4027     270,   274,   274,   275,   115,   121,   121,   115,   101,   127,
     4028     140,   140,   152,   285,   172,   121,   137,   220,   224,   235,
     4029     239,   114,   114,   179,   114,   114,    75,   137,    75,   137,
     4030      75,   122,   178,   114,   181,   173,   173,   135,   149,   137,
     4031     140,   139,   140,   219,   115,   172,   271,   271,   319,   115,
     4032     120,   259,   120,   139,   115,   139,   140,   316,   120,   139,
     4033     140,   140,   115,   119,   208,   117,   171,   137,   208,   210,
     4034     115,   114,   356,   357,   379,   173,   117,   140,   155,   116,
     4035     153,   155,   155,   121,   140,    90,   118,   117,   140,   115,
     4036     139,   115,   117,   117,   117,   140,   115,   139,   139,   139,
     4037     172,   172,   140,   117,   140,   140,   140,   140,   139,   139,
     4038     171,   171,   117,   117,   140,   281,   235,   177,   177,    50,
     4039     177,   139,   137,   137,   137,   177,   137,   177,    61,    62,
     4040      63,   202,   203,   204,   137,    66,   137,   319,   119,   183,
     4041     120,   137,   140,   140,   101,   276,   277,   115,   306,   121,
     4042     137,   121,   137,   120,   304,   135,   146,   115,   115,   135,
     4043     139,   120,   117,    86,   139,   153,   117,   116,   153,   116,
     4044     153,   117,   271,   117,   271,   271,   271,   140,   140,   117,
     4045     117,   115,   115,   117,   121,   101,   270,   101,   140,   117,
     4046     115,   115,   114,   115,   178,   199,   220,   137,   115,   114,
     4047     114,   181,   204,    61,    62,   172,   179,   150,   115,   115,
     4048     119,   139,   139,   305,   146,   211,   114,   137,   211,   271,
     4049     152,   139,   139,   140,   140,   140,   140,   117,   117,   139,
     4050     140,   117,   179,    47,    48,   119,   189,   190,   191,   177,
     4051     179,   140,   115,   178,   119,   191,   101,   139,   101,   139,
     4052     114,   114,   137,   120,   139,   279,   316,   120,   121,   135,
     4053     171,   115,   140,   140,   152,   152,   115,   115,   115,   115,
     4054     274,    45,   171,   187,   188,   317,   135,   139,   179,   189,
     4055     115,   137,   179,   137,   139,   115,   139,   115,   139,   101,
     4056     139,   101,   139,   137,   305,   146,   144,   212,   115,   137,
     4057     115,   117,   140,   140,   179,   101,   121,   135,   140,   213,
     4058     214,   220,   137,   178,   178,   213,   181,   205,   233,   373,
     4059     181,   205,   115,   139,   115,   139,   120,   115,   121,   117,
     4060     117,   171,   187,   190,   192,   193,   139,   137,   190,   194,
     4061     195,   140,   114,   157,   316,   364,   144,   140,   181,   205,
     4062     181,   205,   114,   137,   144,   179,   184,   120,   190,   220,
     4063     178,    59,   184,   197,   120,   190,   115,   235,   115,   140,
     4064     140,   299,   179,   184,   137,   196,   197,   184,   197,   181,
     4065     181,   115,   115,   115,   196,   140,   140,   181,   181,   140,
     4066     140
    40734067};
    40744068
     
    49074901
    49084902/* Line 1806 of yacc.c  */
    4909 #line 305 "parser.yy"
     4903#line 306 "parser.yy"
    49104904    { typedefTable.enterScope(); }
    49114905    break;
     
    49144908
    49154909/* Line 1806 of yacc.c  */
    4916 #line 309 "parser.yy"
     4910#line 310 "parser.yy"
    49174911    { typedefTable.leaveScope(); }
    49184912    break;
     
    49214915
    49224916/* Line 1806 of yacc.c  */
    4923 #line 316 "parser.yy"
     4917#line 317 "parser.yy"
    49244918    { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); }
    49254919    break;
    49264920
    49274921  case 5:
    4928 
    4929 /* Line 1806 of yacc.c  */
    4930 #line 317 "parser.yy"
    4931     { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
    4932     break;
    4933 
    4934   case 6:
    49354922
    49364923/* Line 1806 of yacc.c  */
     
    49394926    break;
    49404927
    4941   case 7:
     4928  case 6:
    49424929
    49434930/* Line 1806 of yacc.c  */
     
    49464933    break;
    49474934
     4935  case 7:
     4936
     4937/* Line 1806 of yacc.c  */
     4938#line 320 "parser.yy"
     4939    { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
     4940    break;
     4941
    49484942  case 8:
    49494943
    49504944/* Line 1806 of yacc.c  */
    4951 #line 320 "parser.yy"
     4945#line 321 "parser.yy"
    49524946    { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); }
    49534947    break;
     
    49564950
    49574951/* Line 1806 of yacc.c  */
    4958 #line 345 "parser.yy"
     4952#line 346 "parser.yy"
    49594953    { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); }
    49604954    break;
     
    49634957
    49644958/* Line 1806 of yacc.c  */
    4965 #line 349 "parser.yy"
     4959#line 350 "parser.yy"
    49664960    { (yyval.str) = (yyvsp[(1) - (1)].tok); }
    49674961    break;
     
    49704964
    49714965/* Line 1806 of yacc.c  */
    4972 #line 351 "parser.yy"
     4966#line 352 "parser.yy"
    49734967    {
    49744968                        appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) );                                            // append 2nd juxtaposed string to 1st
     
    49814975
    49824976/* Line 1806 of yacc.c  */
    4983 #line 362 "parser.yy"
     4977#line 363 "parser.yy"
    49844978    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    49854979    break;
     
    49884982
    49894983/* Line 1806 of yacc.c  */
    4990 #line 364 "parser.yy"
     4984#line 365 "parser.yy"
    49914985    { (yyval.en) = new ExpressionNode( build_constantZeroOne( *(yyvsp[(1) - (1)].tok) ) ); }
    49924986    break;
     
    49954989
    49964990/* Line 1806 of yacc.c  */
    4997 #line 367 "parser.yy"
     4991#line 368 "parser.yy"
    49984992    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    49994993    break;
     
    50024996
    50034997/* Line 1806 of yacc.c  */
    5004 #line 369 "parser.yy"
     4998#line 370 "parser.yy"
    50054999    { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); }
    50065000    break;
     
    50095003
    50105004/* Line 1806 of yacc.c  */
    5011 #line 379 "parser.yy"
     5005#line 380 "parser.yy"
    50125006    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); }
    50135007    break;
     
    50165010
    50175011/* Line 1806 of yacc.c  */
    5018 #line 381 "parser.yy"
     5012#line 382 "parser.yy"
    50195013    { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); }
    50205014    break;
     
    50235017
    50245018/* Line 1806 of yacc.c  */
    5025 #line 383 "parser.yy"
     5019#line 384 "parser.yy"
    50265020    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    50275021    break;
     
    50305024
    50315025/* Line 1806 of yacc.c  */
    5032 #line 385 "parser.yy"
     5026#line 386 "parser.yy"
    50335027    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    50345028    break;
     
    50375031
    50385032/* Line 1806 of yacc.c  */
    5039 #line 387 "parser.yy"
     5033#line 388 "parser.yy"
    50405034    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ) ) ); }
    50415035    break;
     
    50445038
    50455039/* Line 1806 of yacc.c  */
    5046 #line 389 "parser.yy"
     5040#line 390 "parser.yy"
    50475041    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    50485042    break;
     
    50515045
    50525046/* Line 1806 of yacc.c  */
    5053 #line 391 "parser.yy"
     5047#line 392 "parser.yy"
    50545048    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    50555049    break;
     
    50585052
    50595053/* Line 1806 of yacc.c  */
    5060 #line 393 "parser.yy"
     5054#line 394 "parser.yy"
    50615055    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); }
    50625056    break;
     
    50655059
    50665060/* Line 1806 of yacc.c  */
    5067 #line 395 "parser.yy"
     5061#line 396 "parser.yy"
    50685062    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); }
    50695063    break;
     
    50725066
    50735067/* Line 1806 of yacc.c  */
    5074 #line 397 "parser.yy"
     5068#line 398 "parser.yy"
    50755069    { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); }
    50765070    break;
     
    50795073
    50805074/* Line 1806 of yacc.c  */
    5081 #line 399 "parser.yy"
     5075#line 400 "parser.yy"
    50825076    {
    50835077                        Token fn;
     
    50905084
    50915085/* Line 1806 of yacc.c  */
    5092 #line 409 "parser.yy"
     5086#line 410 "parser.yy"
    50935087    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    50945088    break;
     
    50975091
    50985092/* Line 1806 of yacc.c  */
    5099 #line 414 "parser.yy"
     5093#line 415 "parser.yy"
    51005094    { (yyval.en) = nullptr; }
    51015095    break;
     
    51045098
    51055099/* Line 1806 of yacc.c  */
    5106 #line 420 "parser.yy"
     5100#line 421 "parser.yy"
    51075101    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    51085102    break;
     
    51115105
    51125106/* Line 1806 of yacc.c  */
    5113 #line 426 "parser.yy"
     5107#line 427 "parser.yy"
    51145108    { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); }
    51155109    break;
     
    51185112
    51195113/* Line 1806 of yacc.c  */
    5120 #line 428 "parser.yy"
     5114#line 429 "parser.yy"
    51215115    { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); }
    51225116    break;
     
    51255119
    51265120/* Line 1806 of yacc.c  */
    5127 #line 430 "parser.yy"
     5121#line 431 "parser.yy"
    51285122    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); }
    51295123    break;
     
    51325126
    51335127/* Line 1806 of yacc.c  */
    5134 #line 432 "parser.yy"
     5128#line 433 "parser.yy"
    51355129    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    51365130    break;
     
    51395133
    51405134/* Line 1806 of yacc.c  */
    5141 #line 434 "parser.yy"
     5135#line 435 "parser.yy"
    51425136    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); }
    51435137    break;
     
    51465140
    51475141/* Line 1806 of yacc.c  */
    5148 #line 436 "parser.yy"
     5142#line 437 "parser.yy"
    51495143    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    51505144    break;
     
    51535147
    51545148/* Line 1806 of yacc.c  */
    5155 #line 441 "parser.yy"
     5149#line 442 "parser.yy"
    51565150    { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }
    51575151    break;
     
    51605154
    51615155/* Line 1806 of yacc.c  */
    5162 #line 443 "parser.yy"
     5156#line 444 "parser.yy"
    51635157    { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }
    51645158    break;
     
    51675161
    51685162/* Line 1806 of yacc.c  */
    5169 #line 445 "parser.yy"
     5163#line 446 "parser.yy"
    51705164    {
    51715165                        if( (*(yyvsp[(1) - (2)].tok)) == "0" || (*(yyvsp[(1) - (2)].tok)) == "1" ) {
     
    51805174
    51815175/* Line 1806 of yacc.c  */
    5182 #line 456 "parser.yy"
     5176#line 457 "parser.yy"
    51835177    { (yyval.en) = nullptr; }
    51845178    break;
     
    51875181
    51885182/* Line 1806 of yacc.c  */
    5189 #line 458 "parser.yy"
     5183#line 459 "parser.yy"
    51905184    {
    51915185                        Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) );
     
    51975191
    51985192/* Line 1806 of yacc.c  */
    5199 #line 469 "parser.yy"
     5193#line 470 "parser.yy"
    52005194    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    52015195    break;
     
    52045198
    52055199/* Line 1806 of yacc.c  */
    5206 #line 471 "parser.yy"
     5200#line 472 "parser.yy"
    52075201    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    52085202    break;
     
    52115205
    52125206/* Line 1806 of yacc.c  */
    5213 #line 473 "parser.yy"
     5207#line 474 "parser.yy"
    52145208    { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }
    52155209    break;
     
    52185212
    52195213/* Line 1806 of yacc.c  */
    5220 #line 478 "parser.yy"
     5214#line 479 "parser.yy"
    52215215    {
    52225216                        switch ( (yyvsp[(1) - (2)].op) ) {
     
    52365230
    52375231/* Line 1806 of yacc.c  */
    5238 #line 491 "parser.yy"
     5232#line 492 "parser.yy"
    52395233    { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); }
    52405234    break;
     
    52435237
    52445238/* Line 1806 of yacc.c  */
    5245 #line 493 "parser.yy"
     5239#line 494 "parser.yy"
    52465240    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); }
    52475241    break;
     
    52505244
    52515245/* Line 1806 of yacc.c  */
    5252 #line 495 "parser.yy"
     5246#line 496 "parser.yy"
    52535247    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); }
    52545248    break;
     
    52575251
    52585252/* Line 1806 of yacc.c  */
    5259 #line 497 "parser.yy"
     5253#line 498 "parser.yy"
    52605254    { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    52615255    break;
     
    52645258
    52655259/* Line 1806 of yacc.c  */
    5266 #line 499 "parser.yy"
     5260#line 500 "parser.yy"
    52675261    { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); }
    52685262    break;
     
    52715265
    52725266/* Line 1806 of yacc.c  */
    5273 #line 501 "parser.yy"
     5267#line 502 "parser.yy"
    52745268    { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    52755269    break;
     
    52785272
    52795273/* Line 1806 of yacc.c  */
    5280 #line 503 "parser.yy"
     5274#line 504 "parser.yy"
    52815275    { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); }
    52825276    break;
     
    52855279
    52865280/* Line 1806 of yacc.c  */
    5287 #line 505 "parser.yy"
     5281#line 506 "parser.yy"
    52885282    { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); }
    52895283    break;
     
    52925286
    52935287/* Line 1806 of yacc.c  */
    5294 #line 507 "parser.yy"
     5288#line 508 "parser.yy"
    52955289    { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); }
    52965290    break;
     
    52995293
    53005294/* Line 1806 of yacc.c  */
    5301 #line 509 "parser.yy"
     5295#line 510 "parser.yy"
    53025296    { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); }
    53035297    break;
     
    53065300
    53075301/* Line 1806 of yacc.c  */
    5308 #line 511 "parser.yy"
     5302#line 512 "parser.yy"
    53095303    { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); }
    53105304    break;
     
    53135307
    53145308/* Line 1806 of yacc.c  */
    5315 #line 517 "parser.yy"
     5309#line 518 "parser.yy"
    53165310    { (yyval.op) = OperKinds::PointTo; }
    53175311    break;
     
    53205314
    53215315/* Line 1806 of yacc.c  */
    5322 #line 518 "parser.yy"
     5316#line 519 "parser.yy"
    53235317    { (yyval.op) = OperKinds::AddressOf; }
    53245318    break;
     
    53275321
    53285322/* Line 1806 of yacc.c  */
    5329 #line 524 "parser.yy"
     5323#line 525 "parser.yy"
    53305324    { (yyval.op) = OperKinds::UnPlus; }
    53315325    break;
     
    53345328
    53355329/* Line 1806 of yacc.c  */
    5336 #line 525 "parser.yy"
     5330#line 526 "parser.yy"
    53375331    { (yyval.op) = OperKinds::UnMinus; }
    53385332    break;
     
    53415335
    53425336/* Line 1806 of yacc.c  */
    5343 #line 526 "parser.yy"
     5337#line 527 "parser.yy"
    53445338    { (yyval.op) = OperKinds::Neg; }
    53455339    break;
     
    53485342
    53495343/* Line 1806 of yacc.c  */
    5350 #line 527 "parser.yy"
     5344#line 528 "parser.yy"
    53515345    { (yyval.op) = OperKinds::BitNeg; }
    53525346    break;
     
    53555349
    53565350/* Line 1806 of yacc.c  */
    5357 #line 533 "parser.yy"
     5351#line 534 "parser.yy"
    53585352    { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }
    53595353    break;
     
    53625356
    53635357/* Line 1806 of yacc.c  */
    5364 #line 541 "parser.yy"
     5358#line 542 "parser.yy"
    53655359    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53665360    break;
     
    53695363
    53705364/* Line 1806 of yacc.c  */
    5371 #line 543 "parser.yy"
     5365#line 544 "parser.yy"
    53725366    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53735367    break;
     
    53765370
    53775371/* Line 1806 of yacc.c  */
    5378 #line 545 "parser.yy"
     5372#line 546 "parser.yy"
    53795373    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53805374    break;
     
    53835377
    53845378/* Line 1806 of yacc.c  */
    5385 #line 551 "parser.yy"
     5379#line 552 "parser.yy"
    53865380    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53875381    break;
     
    53905384
    53915385/* Line 1806 of yacc.c  */
    5392 #line 553 "parser.yy"
     5386#line 554 "parser.yy"
    53935387    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53945388    break;
     
    53975391
    53985392/* Line 1806 of yacc.c  */
    5399 #line 559 "parser.yy"
     5393#line 560 "parser.yy"
    54005394    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54015395    break;
     
    54045398
    54055399/* Line 1806 of yacc.c  */
    5406 #line 561 "parser.yy"
     5400#line 562 "parser.yy"
    54075401    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54085402    break;
     
    54115405
    54125406/* Line 1806 of yacc.c  */
    5413 #line 567 "parser.yy"
     5407#line 568 "parser.yy"
    54145408    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54155409    break;
     
    54185412
    54195413/* Line 1806 of yacc.c  */
    5420 #line 569 "parser.yy"
     5414#line 570 "parser.yy"
    54215415    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54225416    break;
     
    54255419
    54265420/* Line 1806 of yacc.c  */
    5427 #line 571 "parser.yy"
     5421#line 572 "parser.yy"
    54285422    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54295423    break;
     
    54325426
    54335427/* Line 1806 of yacc.c  */
    5434 #line 573 "parser.yy"
     5428#line 574 "parser.yy"
    54355429    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54365430    break;
     
    54395433
    54405434/* Line 1806 of yacc.c  */
    5441 #line 579 "parser.yy"
     5435#line 580 "parser.yy"
    54425436    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54435437    break;
     
    54465440
    54475441/* Line 1806 of yacc.c  */
    5448 #line 581 "parser.yy"
     5442#line 582 "parser.yy"
    54495443    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54505444    break;
     
    54535447
    54545448/* Line 1806 of yacc.c  */
    5455 #line 587 "parser.yy"
     5449#line 588 "parser.yy"
    54565450    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54575451    break;
     
    54605454
    54615455/* Line 1806 of yacc.c  */
    5462 #line 593 "parser.yy"
     5456#line 594 "parser.yy"
    54635457    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54645458    break;
     
    54675461
    54685462/* Line 1806 of yacc.c  */
    5469 #line 599 "parser.yy"
     5463#line 600 "parser.yy"
    54705464    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54715465    break;
     
    54745468
    54755469/* Line 1806 of yacc.c  */
    5476 #line 605 "parser.yy"
     5470#line 606 "parser.yy"
    54775471    { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); }
    54785472    break;
     
    54815475
    54825476/* Line 1806 of yacc.c  */
    5483 #line 611 "parser.yy"
     5477#line 612 "parser.yy"
    54845478    { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); }
    54855479    break;
     
    54885482
    54895483/* Line 1806 of yacc.c  */
    5490 #line 617 "parser.yy"
     5484#line 618 "parser.yy"
    54915485    { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
    54925486    break;
     
    54955489
    54965490/* Line 1806 of yacc.c  */
    5497 #line 620 "parser.yy"
     5491#line 621 "parser.yy"
    54985492    { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); }
    54995493    break;
     
    55025496
    55035497/* Line 1806 of yacc.c  */
    5504 #line 633 "parser.yy"
     5498#line 634 "parser.yy"
    55055499    { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    55065500    break;
     
    55095503
    55105504/* Line 1806 of yacc.c  */
    5511 #line 640 "parser.yy"
     5505#line 641 "parser.yy"
    55125506    { (yyval.en) = nullptr; }
    55135507    break;
     
    55165510
    55175511/* Line 1806 of yacc.c  */
    5518 #line 645 "parser.yy"
     5512#line 646 "parser.yy"
    55195513    { (yyval.op) = OperKinds::Assign; }
    55205514    break;
     
    55235517
    55245518/* Line 1806 of yacc.c  */
    5525 #line 646 "parser.yy"
     5519#line 647 "parser.yy"
    55265520    { (yyval.op) = OperKinds::AtAssn; }
    55275521    break;
     
    55305524
    55315525/* Line 1806 of yacc.c  */
    5532 #line 647 "parser.yy"
     5526#line 648 "parser.yy"
    55335527    { (yyval.op) = OperKinds::MulAssn; }
    55345528    break;
     
    55375531
    55385532/* Line 1806 of yacc.c  */
    5539 #line 648 "parser.yy"
     5533#line 649 "parser.yy"
    55405534    { (yyval.op) = OperKinds::DivAssn; }
    55415535    break;
     
    55445538
    55455539/* Line 1806 of yacc.c  */
    5546 #line 649 "parser.yy"
     5540#line 650 "parser.yy"
    55475541    { (yyval.op) = OperKinds::ModAssn; }
    55485542    break;
     
    55515545
    55525546/* Line 1806 of yacc.c  */
    5553 #line 650 "parser.yy"
     5547#line 651 "parser.yy"
    55545548    { (yyval.op) = OperKinds::PlusAssn; }
    55555549    break;
     
    55585552
    55595553/* Line 1806 of yacc.c  */
    5560 #line 651 "parser.yy"
     5554#line 652 "parser.yy"
    55615555    { (yyval.op) = OperKinds::MinusAssn; }
    55625556    break;
     
    55655559
    55665560/* Line 1806 of yacc.c  */
    5567 #line 652 "parser.yy"
     5561#line 653 "parser.yy"
    55685562    { (yyval.op) = OperKinds::LSAssn; }
    55695563    break;
     
    55725566
    55735567/* Line 1806 of yacc.c  */
    5574 #line 653 "parser.yy"
     5568#line 654 "parser.yy"
    55755569    { (yyval.op) = OperKinds::RSAssn; }
    55765570    break;
     
    55795573
    55805574/* Line 1806 of yacc.c  */
    5581 #line 654 "parser.yy"
     5575#line 655 "parser.yy"
    55825576    { (yyval.op) = OperKinds::AndAssn; }
    55835577    break;
     
    55865580
    55875581/* Line 1806 of yacc.c  */
    5588 #line 655 "parser.yy"
     5582#line 656 "parser.yy"
    55895583    { (yyval.op) = OperKinds::ERAssn; }
    55905584    break;
     
    55935587
    55945588/* Line 1806 of yacc.c  */
    5595 #line 656 "parser.yy"
     5589#line 657 "parser.yy"
    55965590    { (yyval.op) = OperKinds::OrAssn; }
    55975591    break;
     
    56005594
    56015595/* Line 1806 of yacc.c  */
    5602 #line 667 "parser.yy"
     5596#line 668 "parser.yy"
    56035597    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); }
    56045598    break;
     
    56075601
    56085602/* Line 1806 of yacc.c  */
    5609 #line 669 "parser.yy"
     5603#line 670 "parser.yy"
    56105604    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); }
    56115605    break;
     
    56145608
    56155609/* Line 1806 of yacc.c  */
    5616 #line 675 "parser.yy"
     5610#line 676 "parser.yy"
    56175611    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    56185612    break;
     
    56215615
    56225616/* Line 1806 of yacc.c  */
    5623 #line 681 "parser.yy"
     5617#line 682 "parser.yy"
    56245618    { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    56255619    break;
     
    56285622
    56295623/* Line 1806 of yacc.c  */
    5630 #line 686 "parser.yy"
     5624#line 687 "parser.yy"
    56315625    { (yyval.en) = nullptr; }
    56325626    break;
     
    56355629
    56365630/* Line 1806 of yacc.c  */
    5637 #line 695 "parser.yy"
     5631#line 696 "parser.yy"
    56385632    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56395633    break;
     
    56425636
    56435637/* Line 1806 of yacc.c  */
    5644 #line 702 "parser.yy"
     5638#line 703 "parser.yy"
    56455639    {
    56465640                        Token fn;
     
    56535647
    56545648/* Line 1806 of yacc.c  */
    5655 #line 712 "parser.yy"
     5649#line 713 "parser.yy"
    56565650    {
    5657                         (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) );
     5651                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
    56585652                }
    56595653    break;
     
    56625656
    56635657/* Line 1806 of yacc.c  */
    5664 #line 719 "parser.yy"
     5658#line 720 "parser.yy"
    56655659    { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); }
    56665660    break;
     
    56695663
    56705664/* Line 1806 of yacc.c  */
    5671 #line 726 "parser.yy"
     5665#line 727 "parser.yy"
    56725666    { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); }
    56735667    break;
     
    56765670
    56775671/* Line 1806 of yacc.c  */
    5678 #line 732 "parser.yy"
     5672#line 733 "parser.yy"
    56795673    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    56805674    break;
     
    56835677
    56845678/* Line 1806 of yacc.c  */
    5685 #line 737 "parser.yy"
     5679#line 738 "parser.yy"
    56865680    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    56875681    break;
     
    56905684
    56915685/* Line 1806 of yacc.c  */
    5692 #line 739 "parser.yy"
     5686#line 740 "parser.yy"
    56935687    {   // mark all fields in list
    56945688                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    57015695
    57025696/* Line 1806 of yacc.c  */
    5703 #line 745 "parser.yy"
     5697#line 746 "parser.yy"
    57045698    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57055699    break;
     
    57085702
    57095703/* Line 1806 of yacc.c  */
    5710 #line 752 "parser.yy"
     5704#line 753 "parser.yy"
    57115705    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57125706    break;
     
    57155709
    57165710/* Line 1806 of yacc.c  */
    5717 #line 757 "parser.yy"
     5711#line 758 "parser.yy"
    57185712    { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); }
    57195713    break;
     
    57225716
    57235717/* Line 1806 of yacc.c  */
    5724 #line 763 "parser.yy"
     5718#line 764 "parser.yy"
    57255719    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); }
    57265720    break;
     
    57295723
    57305724/* Line 1806 of yacc.c  */
    5731 #line 765 "parser.yy"
     5725#line 766 "parser.yy"
    57325726    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); }
    57335727    break;
     
    57365730
    57375731/* Line 1806 of yacc.c  */
    5738 #line 767 "parser.yy"
     5732#line 768 "parser.yy"
    57395733    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57405734    break;
     
    57435737
    57445738/* Line 1806 of yacc.c  */
    5745 #line 769 "parser.yy"
     5739#line 770 "parser.yy"
    57465740    {
    57475741                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57585752
    57595753/* Line 1806 of yacc.c  */
    5760 #line 779 "parser.yy"
     5754#line 780 "parser.yy"
    57615755    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57625756    break;
     
    57655759
    57665760/* Line 1806 of yacc.c  */
    5767 #line 781 "parser.yy"
     5761#line 782 "parser.yy"
    57685762    {
    57695763                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57755769
    57765770/* Line 1806 of yacc.c  */
    5777 #line 791 "parser.yy"
     5771#line 792 "parser.yy"
    57785772    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57795773    break;
     
    57825776
    57835777/* Line 1806 of yacc.c  */
    5784 #line 793 "parser.yy"
     5778#line 794 "parser.yy"
    57855779    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    57865780    break;
     
    57895783
    57905784/* Line 1806 of yacc.c  */
    5791 #line 798 "parser.yy"
     5785#line 799 "parser.yy"
    57925786    { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); }
    57935787    break;
     
    57965790
    57975791/* Line 1806 of yacc.c  */
    5798 #line 800 "parser.yy"
     5792#line 801 "parser.yy"
    57995793    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); }
    58005794    break;
     
    58035797
    58045798/* Line 1806 of yacc.c  */
    5805 #line 804 "parser.yy"
     5799#line 805 "parser.yy"
    58065800    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    58075801    break;
     
    58105804
    58115805/* Line 1806 of yacc.c  */
    5812 #line 805 "parser.yy"
     5806#line 806 "parser.yy"
    58135807    { (yyval.sn) = new StatementNode( build_default() ); }
    58145808    break;
     
    58175811
    58185812/* Line 1806 of yacc.c  */
    5819 #line 811 "parser.yy"
     5813#line 812 "parser.yy"
    58205814    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); }
    58215815    break;
     
    58245818
    58255819/* Line 1806 of yacc.c  */
    5826 #line 815 "parser.yy"
     5820#line 816 "parser.yy"
    58275821    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    58285822    break;
     
    58315825
    58325826/* Line 1806 of yacc.c  */
    5833 #line 820 "parser.yy"
     5827#line 821 "parser.yy"
    58345828    { (yyval.sn) = nullptr; }
    58355829    break;
     
    58385832
    58395833/* Line 1806 of yacc.c  */
    5840 #line 826 "parser.yy"
     5834#line 827 "parser.yy"
    58415835    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    58425836    break;
     
    58455839
    58465840/* Line 1806 of yacc.c  */
    5847 #line 828 "parser.yy"
     5841#line 829 "parser.yy"
    58485842    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); }
    58495843    break;
     
    58525846
    58535847/* Line 1806 of yacc.c  */
    5854 #line 833 "parser.yy"
     5848#line 834 "parser.yy"
    58555849    { (yyval.sn) = nullptr; }
    58565850    break;
     
    58595853
    58605854/* Line 1806 of yacc.c  */
    5861 #line 839 "parser.yy"
     5855#line 840 "parser.yy"
    58625856    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58635857    break;
     
    58665860
    58675861/* Line 1806 of yacc.c  */
    5868 #line 841 "parser.yy"
     5862#line 842 "parser.yy"
    58695863    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); }
    58705864    break;
     
    58735867
    58745868/* Line 1806 of yacc.c  */
    5875 #line 843 "parser.yy"
     5869#line 844 "parser.yy"
    58765870    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58775871    break;
     
    58805874
    58815875/* Line 1806 of yacc.c  */
    5882 #line 845 "parser.yy"
     5876#line 846 "parser.yy"
    58835877    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }
    58845878    break;
     
    58875881
    58885882/* Line 1806 of yacc.c  */
    5889 #line 850 "parser.yy"
     5883#line 851 "parser.yy"
    58905884    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    58915885    break;
     
    58945888
    58955889/* Line 1806 of yacc.c  */
    5896 #line 856 "parser.yy"
     5890#line 857 "parser.yy"
    58975891    { (yyval.sn) = nullptr; }
    58985892    break;
     
    59015895
    59025896/* Line 1806 of yacc.c  */
    5903 #line 858 "parser.yy"
     5897#line 859 "parser.yy"
    59045898    { (yyval.sn) = nullptr; }
    59055899    break;
     
    59085902
    59095903/* Line 1806 of yacc.c  */
    5910 #line 863 "parser.yy"
     5904#line 864 "parser.yy"
    59115905    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    59125906    break;
     
    59155909
    59165910/* Line 1806 of yacc.c  */
    5917 #line 865 "parser.yy"
     5911#line 866 "parser.yy"
    59185912    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); }
    59195913    break;
     
    59225916
    59235917/* Line 1806 of yacc.c  */
    5924 #line 867 "parser.yy"
     5918#line 868 "parser.yy"
    59255919    { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); }
    59265920    break;
     
    59295923
    59305924/* Line 1806 of yacc.c  */
    5931 #line 872 "parser.yy"
     5925#line 873 "parser.yy"
    59325926    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59335927    break;
     
    59365930
    59375931/* Line 1806 of yacc.c  */
    5938 #line 874 "parser.yy"
     5932#line 875 "parser.yy"
    59395933    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59405934    break;
     
    59435937
    59445938/* Line 1806 of yacc.c  */
    5945 #line 879 "parser.yy"
     5939#line 880 "parser.yy"
    59465940    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); }
    59475941    break;
     
    59505944
    59515945/* Line 1806 of yacc.c  */
    5952 #line 883 "parser.yy"
     5946#line 884 "parser.yy"
    59535947    { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); }
    59545948    break;
     
    59575951
    59585952/* Line 1806 of yacc.c  */
    5959 #line 886 "parser.yy"
     5953#line 887 "parser.yy"
    59605954    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); }
    59615955    break;
     
    59645958
    59655959/* Line 1806 of yacc.c  */
    5966 #line 890 "parser.yy"
     5960#line 891 "parser.yy"
    59675961    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); }
    59685962    break;
     
    59715965
    59725966/* Line 1806 of yacc.c  */
    5973 #line 893 "parser.yy"
     5967#line 894 "parser.yy"
    59745968    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    59755969    break;
     
    59785972
    59795973/* Line 1806 of yacc.c  */
    5980 #line 897 "parser.yy"
     5974#line 898 "parser.yy"
    59815975    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); }
    59825976    break;
     
    59855979
    59865980/* Line 1806 of yacc.c  */
    5987 #line 899 "parser.yy"
     5981#line 900 "parser.yy"
    59885982    { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); }
    59895983    break;
     
    59925986
    59935987/* Line 1806 of yacc.c  */
    5994 #line 901 "parser.yy"
     5988#line 902 "parser.yy"
    59955989    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    59965990    break;
     
    59995993
    60005994/* Line 1806 of yacc.c  */
    6001 #line 903 "parser.yy"
     5995#line 904 "parser.yy"
    60025996    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    60035997    break;
     
    60066000
    60076001/* Line 1806 of yacc.c  */
    6008 #line 905 "parser.yy"
     6002#line 906 "parser.yy"
    60096003    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); }
    60106004    break;
     
    60136007
    60146008/* Line 1806 of yacc.c  */
    6015 #line 910 "parser.yy"
     6009#line 911 "parser.yy"
    60166010    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); }
    60176011    break;
     
    60206014
    60216015/* Line 1806 of yacc.c  */
    6022 #line 912 "parser.yy"
     6016#line 913 "parser.yy"
    60236017    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); }
    60246018    break;
     
    60276021
    60286022/* Line 1806 of yacc.c  */
    6029 #line 914 "parser.yy"
     6023#line 915 "parser.yy"
    60306024    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); }
    60316025    break;
     
    60346028
    60356029/* Line 1806 of yacc.c  */
    6036 #line 921 "parser.yy"
     6030#line 922 "parser.yy"
    60376031    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    60386032    break;
     
    60416035
    60426036/* Line 1806 of yacc.c  */
    6043 #line 923 "parser.yy"
     6037#line 924 "parser.yy"
    60446038    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    60456039    break;
     
    60486042
    60496043/* Line 1806 of yacc.c  */
    6050 #line 925 "parser.yy"
     6044#line 926 "parser.yy"
    60516045    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    60526046    break;
     
    60556049
    60566050/* Line 1806 of yacc.c  */
    6057 #line 927 "parser.yy"
     6051#line 928 "parser.yy"
    60586052    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    60596053    break;
     
    60626056
    60636057/* Line 1806 of yacc.c  */
    6064 #line 932 "parser.yy"
     6058#line 933 "parser.yy"
    60656059    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60666060    break;
     
    60696063
    60706064/* Line 1806 of yacc.c  */
    6071 #line 934 "parser.yy"
     6065#line 935 "parser.yy"
    60726066    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60736067    break;
     
    60766070
    60776071/* Line 1806 of yacc.c  */
    6078 #line 936 "parser.yy"
     6072#line 937 "parser.yy"
    60796073    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60806074    break;
     
    60836077
    60846078/* Line 1806 of yacc.c  */
    6085 #line 938 "parser.yy"
     6079#line 939 "parser.yy"
    60866080    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60876081    break;
     
    60906084
    60916085/* Line 1806 of yacc.c  */
    6092 #line 943 "parser.yy"
     6086#line 944 "parser.yy"
    60936087    {
    60946088                        (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) );
     
    60996093
    61006094/* Line 1806 of yacc.c  */
    6101 #line 956 "parser.yy"
     6095#line 957 "parser.yy"
    61026096    {
    61036097                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61096103
    61106104/* Line 1806 of yacc.c  */
    6111 #line 961 "parser.yy"
     6105#line 962 "parser.yy"
    61126106    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61136107    break;
     
    61166110
    61176111/* Line 1806 of yacc.c  */
    6118 #line 963 "parser.yy"
     6112#line 964 "parser.yy"
    61196113    {
    61206114                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61266120
    61276121/* Line 1806 of yacc.c  */
    6128 #line 972 "parser.yy"
     6122#line 973 "parser.yy"
    61296123    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); }
    61306124    break;
     
    61336127
    61346128/* Line 1806 of yacc.c  */
    6135 #line 974 "parser.yy"
     6129#line 975 "parser.yy"
    61366130    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); }
    61376131    break;
     
    61406134
    61416135/* Line 1806 of yacc.c  */
    6142 #line 976 "parser.yy"
     6136#line 977 "parser.yy"
    61436137    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); }
    61446138    break;
     
    61476141
    61486142/* Line 1806 of yacc.c  */
    6149 #line 978 "parser.yy"
     6143#line 979 "parser.yy"
    61506144    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); }
    61516145    break;
     
    61546148
    61556149/* Line 1806 of yacc.c  */
    6156 #line 980 "parser.yy"
     6150#line 981 "parser.yy"
    61576151    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); }
    61586152    break;
     
    61616155
    61626156/* Line 1806 of yacc.c  */
    6163 #line 985 "parser.yy"
     6157#line 986 "parser.yy"
    61646158    { (yyval.flag) = false; }
    61656159    break;
     
    61686162
    61696163/* Line 1806 of yacc.c  */
    6170 #line 987 "parser.yy"
     6164#line 988 "parser.yy"
    61716165    { (yyval.flag) = true; }
    61726166    break;
     
    61756169
    61766170/* Line 1806 of yacc.c  */
    6177 #line 992 "parser.yy"
     6171#line 993 "parser.yy"
    61786172    { (yyval.en) = nullptr; }
    61796173    break;
     
    61826176
    61836177/* Line 1806 of yacc.c  */
    6184 #line 999 "parser.yy"
     6178#line 1000 "parser.yy"
    61856179    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    61866180    break;
     
    61896183
    61906184/* Line 1806 of yacc.c  */
    6191 #line 1004 "parser.yy"
     6185#line 1005 "parser.yy"
    61926186    { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }
    61936187    break;
     
    61966190
    61976191/* Line 1806 of yacc.c  */
    6198 #line 1006 "parser.yy"
     6192#line 1007 "parser.yy"
    61996193    { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); }
    62006194    break;
     
    62036197
    62046198/* Line 1806 of yacc.c  */
    6205 #line 1011 "parser.yy"
     6199#line 1012 "parser.yy"
    62066200    { (yyval.en) = nullptr; }
    62076201    break;
     
    62106204
    62116205/* Line 1806 of yacc.c  */
    6212 #line 1013 "parser.yy"
     6206#line 1014 "parser.yy"
    62136207    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    62146208    break;
     
    62176211
    62186212/* Line 1806 of yacc.c  */
    6219 #line 1016 "parser.yy"
     6213#line 1017 "parser.yy"
    62206214    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }
    62216215    break;
     
    62246218
    62256219/* Line 1806 of yacc.c  */
    6226 #line 1021 "parser.yy"
     6220#line 1022 "parser.yy"
    62276221    {
    62286222                        (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) );
     
    62346228
    62356229/* Line 1806 of yacc.c  */
    6236 #line 1026 "parser.yy"
     6230#line 1027 "parser.yy"
    62376231    {
    62386232                        (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) );
     
    62446238
    62456239/* Line 1806 of yacc.c  */
    6246 #line 1036 "parser.yy"
     6240#line 1037 "parser.yy"
    62476241    { (yyval.decl) = nullptr; }
    62486242    break;
     
    62516245
    62526246/* Line 1806 of yacc.c  */
    6253 #line 1043 "parser.yy"
     6247#line 1044 "parser.yy"
    62546248    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62556249    break;
     
    62586252
    62596253/* Line 1806 of yacc.c  */
    6260 #line 1048 "parser.yy"
     6254#line 1049 "parser.yy"
    62616255    { (yyval.decl) = nullptr; }
    62626256    break;
     
    62656259
    62666260/* Line 1806 of yacc.c  */
    6267 #line 1055 "parser.yy"
     6261#line 1056 "parser.yy"
    62686262    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62696263    break;
    62706264
    62716265  case 250:
    6272 
    6273 /* Line 1806 of yacc.c  */
    6274 #line 1069 "parser.yy"
    6275     {}
    6276     break;
    6277 
    6278   case 251:
    62796266
    62806267/* Line 1806 of yacc.c  */
     
    62836270    break;
    62846271
     6272  case 251:
     6273
     6274/* Line 1806 of yacc.c  */
     6275#line 1071 "parser.yy"
     6276    {}
     6277    break;
     6278
    62856279  case 259:
    62866280
    62876281/* Line 1806 of yacc.c  */
    6288 #line 1099 "parser.yy"
     6282#line 1100 "parser.yy"
    62896283    {
    62906284                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62966290
    62976291/* Line 1806 of yacc.c  */
    6298 #line 1106 "parser.yy"
     6292#line 1107 "parser.yy"
    62996293    {
    63006294                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63066300
    63076301/* Line 1806 of yacc.c  */
    6308 #line 1111 "parser.yy"
     6302#line 1112 "parser.yy"
    63096303    {
    63106304                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63166310
    63176311/* Line 1806 of yacc.c  */
    6318 #line 1121 "parser.yy"
     6312#line 1122 "parser.yy"
    63196313    {
    63206314                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63266320
    63276321/* Line 1806 of yacc.c  */
    6328 #line 1126 "parser.yy"
     6322#line 1127 "parser.yy"
    63296323    {
    63306324                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63366330
    63376331/* Line 1806 of yacc.c  */
    6338 #line 1131 "parser.yy"
     6332#line 1132 "parser.yy"
    63396333    {
    63406334                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63466340
    63476341/* Line 1806 of yacc.c  */
    6348 #line 1139 "parser.yy"
     6342#line 1140 "parser.yy"
    63496343    {
    63506344                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63566350
    63576351/* Line 1806 of yacc.c  */
    6358 #line 1144 "parser.yy"
     6352#line 1145 "parser.yy"
    63596353    {
    63606354                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63666360
    63676361/* Line 1806 of yacc.c  */
    6368 #line 1149 "parser.yy"
     6362#line 1150 "parser.yy"
    63696363    {
    63706364                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63766370
    63776371/* Line 1806 of yacc.c  */
    6378 #line 1154 "parser.yy"
     6372#line 1155 "parser.yy"
    63796373    {
    63806374                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63866380
    63876381/* Line 1806 of yacc.c  */
    6388 #line 1159 "parser.yy"
     6382#line 1160 "parser.yy"
    63896383    {
    63906384                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63966390
    63976391/* Line 1806 of yacc.c  */
    6398 #line 1190 "parser.yy"
     6392#line 1191 "parser.yy"
    63996393    {
    64006394                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64056399
    64066400/* Line 1806 of yacc.c  */
    6407 #line 1194 "parser.yy"
     6401#line 1195 "parser.yy"
    64086402    {
    64096403                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64146408
    64156409/* Line 1806 of yacc.c  */
    6416 #line 1201 "parser.yy"
     6410#line 1202 "parser.yy"
    64176411    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64186412    break;
     
    64216415
    64226416/* Line 1806 of yacc.c  */
    6423 #line 1205 "parser.yy"
     6417#line 1206 "parser.yy"
    64246418    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64256419    break;
     
    64286422
    64296423/* Line 1806 of yacc.c  */
    6430 #line 1210 "parser.yy"
     6424#line 1211 "parser.yy"
    64316425    {
    64326426                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64386432
    64396433/* Line 1806 of yacc.c  */
    6440 #line 1215 "parser.yy"
     6434#line 1216 "parser.yy"
    64416435    {
    64426436                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64486442
    64496443/* Line 1806 of yacc.c  */
    6450 #line 1220 "parser.yy"
     6444#line 1221 "parser.yy"
    64516445    {
    64526446                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64586452
    64596453/* Line 1806 of yacc.c  */
    6460 #line 1231 "parser.yy"
     6454#line 1232 "parser.yy"
    64616455    {
    64626456                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64686462
    64696463/* Line 1806 of yacc.c  */
    6470 #line 1236 "parser.yy"
     6464#line 1237 "parser.yy"
    64716465    {
    64726466                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64786472
    64796473/* Line 1806 of yacc.c  */
    6480 #line 1241 "parser.yy"
     6474#line 1242 "parser.yy"
    64816475    {
    64826476                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64886482
    64896483/* Line 1806 of yacc.c  */
    6490 #line 1246 "parser.yy"
     6484#line 1247 "parser.yy"
    64916485    {
    64926486                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64986492
    64996493/* Line 1806 of yacc.c  */
    6500 #line 1251 "parser.yy"
     6494#line 1252 "parser.yy"
    65016495    {
    65026496                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65086502
    65096503/* Line 1806 of yacc.c  */
    6510 #line 1260 "parser.yy"
     6504#line 1261 "parser.yy"
    65116505    {
    65126506                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65186512
    65196513/* Line 1806 of yacc.c  */
    6520 #line 1265 "parser.yy"
     6514#line 1266 "parser.yy"
    65216515    {
    65226516                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65286522
    65296523/* Line 1806 of yacc.c  */
    6530 #line 1282 "parser.yy"
     6524#line 1283 "parser.yy"
    65316525    {
    65326526                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65386532
    65396533/* Line 1806 of yacc.c  */
    6540 #line 1287 "parser.yy"
     6534#line 1288 "parser.yy"
    65416535    {
    65426536                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65486542
    65496543/* Line 1806 of yacc.c  */
    6550 #line 1309 "parser.yy"
     6544#line 1310 "parser.yy"
    65516545    { (yyval.decl) = nullptr; }
    65526546    break;
     
    65556549
    65566550/* Line 1806 of yacc.c  */
    6557 #line 1321 "parser.yy"
     6551#line 1322 "parser.yy"
    65586552    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65596553    break;
     
    65626556
    65636557/* Line 1806 of yacc.c  */
    6564 #line 1331 "parser.yy"
     6558#line 1333 "parser.yy"
    65656559    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65666560    break;
     
    65696563
    65706564/* Line 1806 of yacc.c  */
    6571 #line 1333 "parser.yy"
     6565#line 1335 "parser.yy"
    65726566    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65736567    break;
     
    65766570
    65776571/* Line 1806 of yacc.c  */
    6578 #line 1335 "parser.yy"
     6572#line 1337 "parser.yy"
    65796573    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    65806574    break;
     
    65836577
    65846578/* Line 1806 of yacc.c  */
    6585 #line 1337 "parser.yy"
     6579#line 1339 "parser.yy"
    65866580    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    65876581    break;
     
    65906584
    65916585/* Line 1806 of yacc.c  */
    6592 #line 1339 "parser.yy"
     6586#line 1341 "parser.yy"
    65936587    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    65946588    break;
     
    65976591
    65986592/* Line 1806 of yacc.c  */
    6599 #line 1341 "parser.yy"
     6593#line 1343 "parser.yy"
    66006594    {
    66016595                        typedefTable.enterScope();
     
    66066600
    66076601/* Line 1806 of yacc.c  */
    6608 #line 1345 "parser.yy"
     6602#line 1347 "parser.yy"
    66096603    {
    66106604                        typedefTable.leaveScope();
     
    66166610
    66176611/* Line 1806 of yacc.c  */
    6618 #line 1354 "parser.yy"
     6612#line 1356 "parser.yy"
    66196613    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66206614    break;
     
    66236617
    66246618/* Line 1806 of yacc.c  */
    6625 #line 1356 "parser.yy"
     6619#line 1358 "parser.yy"
    66266620    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66276621    break;
     
    66306624
    66316625/* Line 1806 of yacc.c  */
    6632 #line 1367 "parser.yy"
     6626#line 1369 "parser.yy"
    66336627    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66346628    break;
     
    66376631
    66386632/* Line 1806 of yacc.c  */
    6639 #line 1372 "parser.yy"
     6633#line 1374 "parser.yy"
    66406634    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    66416635    break;
     
    66446638
    66456639/* Line 1806 of yacc.c  */
    6646 #line 1374 "parser.yy"
     6640#line 1376 "parser.yy"
    66476641    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    66486642    break;
     
    66516645
    66526646/* Line 1806 of yacc.c  */
    6653 #line 1376 "parser.yy"
     6647#line 1378 "parser.yy"
    66546648    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    66556649    break;
     
    66586652
    66596653/* Line 1806 of yacc.c  */
    6660 #line 1378 "parser.yy"
     6654#line 1380 "parser.yy"
    66616655    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66626656    break;
     
    66656659
    66666660/* Line 1806 of yacc.c  */
    6667 #line 1381 "parser.yy"
     6661#line 1383 "parser.yy"
    66686662    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; }
    66696663    break;
     
    66726666
    66736667/* Line 1806 of yacc.c  */
    6674 #line 1383 "parser.yy"
     6668#line 1385 "parser.yy"
    66756669    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    66766670    break;
     
    66796673
    66806674/* Line 1806 of yacc.c  */
    6681 #line 1386 "parser.yy"
     6675#line 1388 "parser.yy"
    66826676    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; }
    66836677    break;
     
    66866680
    66876681/* Line 1806 of yacc.c  */
    6688 #line 1388 "parser.yy"
     6682#line 1390 "parser.yy"
    66896683    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    66906684    break;
     
    66936687
    66946688/* Line 1806 of yacc.c  */
    6695 #line 1393 "parser.yy"
     6689#line 1395 "parser.yy"
    66966690    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    66976691    break;
     
    67006694
    67016695/* Line 1806 of yacc.c  */
    6702 #line 1395 "parser.yy"
     6696#line 1397 "parser.yy"
    67036697    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67046698    break;
     
    67076701
    67086702/* Line 1806 of yacc.c  */
    6709 #line 1397 "parser.yy"
     6703#line 1399 "parser.yy"
    67106704    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67116705    break;
     
    67146708
    67156709/* Line 1806 of yacc.c  */
    6716 #line 1399 "parser.yy"
     6710#line 1401 "parser.yy"
    67176711    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67186712    break;
     
    67216715
    67226716/* Line 1806 of yacc.c  */
    6723 #line 1401 "parser.yy"
     6717#line 1403 "parser.yy"
    67246718    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); }
    67256719    break;
     
    67286722
    67296723/* Line 1806 of yacc.c  */
    6730 #line 1403 "parser.yy"
     6724#line 1405 "parser.yy"
    67316725    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); }
    67326726    break;
     
    67356729
    67366730/* Line 1806 of yacc.c  */
    6737 #line 1405 "parser.yy"
     6731#line 1407 "parser.yy"
    67386732    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); }
    67396733    break;
     
    67426736
    67436737/* Line 1806 of yacc.c  */
    6744 #line 1407 "parser.yy"
     6738#line 1409 "parser.yy"
    67456739    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); }
    67466740    break;
     
    67496743
    67506744/* Line 1806 of yacc.c  */
    6751 #line 1409 "parser.yy"
     6745#line 1411 "parser.yy"
    67526746    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    67536747    break;
     
    67566750
    67576751/* Line 1806 of yacc.c  */
    6758 #line 1411 "parser.yy"
     6752#line 1413 "parser.yy"
    67596753    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    67606754    break;
     
    67636757
    67646758/* Line 1806 of yacc.c  */
    6765 #line 1413 "parser.yy"
     6759#line 1415 "parser.yy"
    67666760    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); }
    67676761    break;
     
    67706764
    67716765/* Line 1806 of yacc.c  */
    6772 #line 1415 "parser.yy"
     6766#line 1417 "parser.yy"
    67736767    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }
    67746768    break;
     
    67776771
    67786772/* Line 1806 of yacc.c  */
    6779 #line 1417 "parser.yy"
     6773#line 1419 "parser.yy"
    67806774    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    67816775    break;
     
    67846778
    67856779/* Line 1806 of yacc.c  */
    6786 #line 1419 "parser.yy"
     6780#line 1421 "parser.yy"
    67876781    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }
    67886782    break;
     
    67916785
    67926786/* Line 1806 of yacc.c  */
    6793 #line 1421 "parser.yy"
     6787#line 1423 "parser.yy"
    67946788    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::One ); }
    67956789    break;
     
    67986792
    67996793/* Line 1806 of yacc.c  */
    6800 #line 1428 "parser.yy"
     6794#line 1430 "parser.yy"
    68016795    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68026796    break;
     
    68056799
    68066800/* Line 1806 of yacc.c  */
    6807 #line 1430 "parser.yy"
     6801#line 1432 "parser.yy"
    68086802    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68096803    break;
     
    68126806
    68136807/* Line 1806 of yacc.c  */
    6814 #line 1432 "parser.yy"
     6808#line 1434 "parser.yy"
    68156809    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68166810    break;
     
    68196813
    68206814/* Line 1806 of yacc.c  */
    6821 #line 1434 "parser.yy"
     6815#line 1436 "parser.yy"
    68226816    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68236817    break;
     
    68266820
    68276821/* Line 1806 of yacc.c  */
    6828 #line 1440 "parser.yy"
     6822#line 1442 "parser.yy"
    68296823    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68306824    break;
     
    68336827
    68346828/* Line 1806 of yacc.c  */
    6835 #line 1447 "parser.yy"
     6829#line 1449 "parser.yy"
    68366830    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68376831    break;
     
    68406834
    68416835/* Line 1806 of yacc.c  */
    6842 #line 1449 "parser.yy"
     6836#line 1451 "parser.yy"
    68436837    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68446838    break;
     
    68476841
    68486842/* Line 1806 of yacc.c  */
    6849 #line 1451 "parser.yy"
     6843#line 1453 "parser.yy"
    68506844    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68516845    break;
     
    68546848
    68556849/* Line 1806 of yacc.c  */
    6856 #line 1456 "parser.yy"
     6850#line 1458 "parser.yy"
    68576851    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68586852    break;
     
    68616855
    68626856/* Line 1806 of yacc.c  */
    6863 #line 1458 "parser.yy"
     6857#line 1460 "parser.yy"
    68646858    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    68656859    break;
     
    68686862
    68696863/* Line 1806 of yacc.c  */
    6870 #line 1460 "parser.yy"
     6864#line 1462 "parser.yy"
    68716865    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    68726866    break;
     
    68756869
    68766870/* Line 1806 of yacc.c  */
    6877 #line 1462 "parser.yy"
     6871#line 1464 "parser.yy"
    68786872    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68796873    break;
     
    68826876
    68836877/* Line 1806 of yacc.c  */
    6884 #line 1468 "parser.yy"
     6878#line 1470 "parser.yy"
    68856879    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68866880    break;
     
    68896883
    68906884/* Line 1806 of yacc.c  */
    6891 #line 1470 "parser.yy"
     6885#line 1472 "parser.yy"
    68926886    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68936887    break;
     
    68966890
    68976891/* Line 1806 of yacc.c  */
    6898 #line 1472 "parser.yy"
     6892#line 1474 "parser.yy"
    68996893    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69006894    break;
     
    69036897
    69046898/* Line 1806 of yacc.c  */
    6905 #line 1478 "parser.yy"
     6899#line 1480 "parser.yy"
    69066900    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69076901    break;
     
    69106904
    69116905/* Line 1806 of yacc.c  */
    6912 #line 1480 "parser.yy"
     6906#line 1482 "parser.yy"
    69136907    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69146908    break;
     
    69176911
    69186912/* Line 1806 of yacc.c  */
    6919 #line 1486 "parser.yy"
     6913#line 1488 "parser.yy"
    69206914    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69216915    break;
     
    69246918
    69256919/* Line 1806 of yacc.c  */
    6926 #line 1488 "parser.yy"
     6920#line 1490 "parser.yy"
    69276921    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69286922    break;
     
    69316925
    69326926/* Line 1806 of yacc.c  */
    6933 #line 1490 "parser.yy"
     6927#line 1492 "parser.yy"
    69346928    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69356929    break;
     
    69386932
    69396933/* Line 1806 of yacc.c  */
    6940 #line 1495 "parser.yy"
     6934#line 1497 "parser.yy"
    69416935    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69426936    break;
     
    69456939
    69466940/* Line 1806 of yacc.c  */
    6947 #line 1497 "parser.yy"
     6941#line 1499 "parser.yy"
    69486942    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69496943    break;
     
    69526946
    69536947/* Line 1806 of yacc.c  */
    6954 #line 1499 "parser.yy"
     6948#line 1501 "parser.yy"
    69556949    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69566950    break;
     
    69596953
    69606954/* Line 1806 of yacc.c  */
    6961 #line 1509 "parser.yy"
     6955#line 1511 "parser.yy"
    69626956    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); }
    69636957    break;
     
    69666960
    69676961/* Line 1806 of yacc.c  */
    6968 #line 1511 "parser.yy"
     6962#line 1513 "parser.yy"
    69696963    {
    69706964                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    69766970
    69776971/* Line 1806 of yacc.c  */
    6978 #line 1516 "parser.yy"
     6972#line 1518 "parser.yy"
    69796973    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    69806974    break;
     
    69836977
    69846978/* Line 1806 of yacc.c  */
    6985 #line 1518 "parser.yy"
     6979#line 1520 "parser.yy"
    69866980    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); }
    69876981    break;
     
    69906984
    69916985/* Line 1806 of yacc.c  */
    6992 #line 1520 "parser.yy"
     6986#line 1522 "parser.yy"
    69936987    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
    69946988    break;
     
    69976991
    69986992/* Line 1806 of yacc.c  */
    6999 #line 1522 "parser.yy"
     6993#line 1524 "parser.yy"
    70006994    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    70016995    break;
     
    70046998
    70056999/* Line 1806 of yacc.c  */
    7006 #line 1527 "parser.yy"
     7000#line 1529 "parser.yy"
    70077001    { (yyval.aggKey) = DeclarationNode::Struct; }
    70087002    break;
     
    70117005
    70127006/* Line 1806 of yacc.c  */
    7013 #line 1529 "parser.yy"
     7007#line 1531 "parser.yy"
    70147008    { (yyval.aggKey) = DeclarationNode::Union; }
    70157009    break;
     
    70187012
    70197013/* Line 1806 of yacc.c  */
    7020 #line 1534 "parser.yy"
     7014#line 1536 "parser.yy"
    70217015    { (yyval.decl) = nullptr; }
    70227016    break;
     
    70257019
    70267020/* Line 1806 of yacc.c  */
    7027 #line 1536 "parser.yy"
     7021#line 1538 "parser.yy"
    70287022    { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    70297023    break;
     
    70327026
    70337027/* Line 1806 of yacc.c  */
    7034 #line 1542 "parser.yy"
     7028#line 1544 "parser.yy"
    70357029    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }
    70367030    break;
     
    70397033
    70407034/* Line 1806 of yacc.c  */
    7041 #line 1545 "parser.yy"
     7035#line 1547 "parser.yy"
    70427036    {   // mark all fields in list
    70437037                        for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    70507044
    70517045/* Line 1806 of yacc.c  */
    7052 #line 1555 "parser.yy"
     7046#line 1557 "parser.yy"
    70537047    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70547048    break;
     
    70577051
    70587052/* Line 1806 of yacc.c  */
    7059 #line 1557 "parser.yy"
     7053#line 1559 "parser.yy"
    70607054    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70617055    break;
     
    70647058
    70657059/* Line 1806 of yacc.c  */
    7066 #line 1559 "parser.yy"
     7060#line 1561 "parser.yy"
    70677061    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70687062    break;
     
    70717065
    70727066/* Line 1806 of yacc.c  */
    7073 #line 1564 "parser.yy"
     7067#line 1566 "parser.yy"
    70747068    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70757069    break;
     
    70787072
    70797073/* Line 1806 of yacc.c  */
    7080 #line 1566 "parser.yy"
     7074#line 1568 "parser.yy"
    70817075    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70827076    break;
     
    70857079
    70867080/* Line 1806 of yacc.c  */
    7087 #line 1571 "parser.yy"
     7081#line 1573 "parser.yy"
    70887082    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70897083    break;
     
    70927086
    70937087/* Line 1806 of yacc.c  */
    7094 #line 1573 "parser.yy"
     7088#line 1575 "parser.yy"
    70957089    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70967090    break;
     
    70997093
    71007094/* Line 1806 of yacc.c  */
    7101 #line 1576 "parser.yy"
     7095#line 1578 "parser.yy"
    71027096    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71037097    break;
     
    71067100
    71077101/* Line 1806 of yacc.c  */
    7108 #line 1579 "parser.yy"
     7102#line 1581 "parser.yy"
    71097103    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71107104    break;
     
    71137107
    71147108/* Line 1806 of yacc.c  */
    7115 #line 1585 "parser.yy"
     7109#line 1587 "parser.yy"
    71167110    { (yyval.en) = nullptr; }
    71177111    break;
     
    71207114
    71217115/* Line 1806 of yacc.c  */
    7122 #line 1587 "parser.yy"
     7116#line 1589 "parser.yy"
    71237117    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71247118    break;
     
    71277121
    71287122/* Line 1806 of yacc.c  */
    7129 #line 1592 "parser.yy"
     7123#line 1594 "parser.yy"
    71307124    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71317125    break;
     
    71347128
    71357129/* Line 1806 of yacc.c  */
    7136 #line 1601 "parser.yy"
     7130#line 1603 "parser.yy"
    71377131    { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); }
    71387132    break;
     
    71417135
    71427136/* Line 1806 of yacc.c  */
    7143 #line 1603 "parser.yy"
     7137#line 1605 "parser.yy"
    71447138    {
    71457139                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    71517145
    71527146/* Line 1806 of yacc.c  */
    7153 #line 1608 "parser.yy"
     7147#line 1610 "parser.yy"
    71547148    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    71557149    break;
     
    71587152
    71597153/* Line 1806 of yacc.c  */
    7160 #line 1610 "parser.yy"
     7154#line 1612 "parser.yy"
    71617155    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    71627156    break;
     
    71657159
    71667160/* Line 1806 of yacc.c  */
    7167 #line 1615 "parser.yy"
     7161#line 1617 "parser.yy"
    71687162    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71697163    break;
     
    71727166
    71737167/* Line 1806 of yacc.c  */
    7174 #line 1617 "parser.yy"
     7168#line 1619 "parser.yy"
    71757169    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71767170    break;
     
    71797173
    71807174/* Line 1806 of yacc.c  */
    7181 #line 1622 "parser.yy"
     7175#line 1624 "parser.yy"
    71827176    { (yyval.en) = nullptr; }
    71837177    break;
     
    71867180
    71877181/* Line 1806 of yacc.c  */
    7188 #line 1624 "parser.yy"
     7182#line 1626 "parser.yy"
    71897183    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71907184    break;
     
    71937187
    71947188/* Line 1806 of yacc.c  */
    7195 #line 1631 "parser.yy"
     7189#line 1633 "parser.yy"
    71967190    { (yyval.decl) = nullptr; }
    71977191    break;
     
    72007194
    72017195/* Line 1806 of yacc.c  */
    7202 #line 1639 "parser.yy"
     7196#line 1641 "parser.yy"
    72037197    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72047198    break;
    72057199
    72067200  case 412:
    7207 
    7208 /* Line 1806 of yacc.c  */
    7209 #line 1641 "parser.yy"
    7210     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7211     break;
    7212 
    7213   case 413:
    72147201
    72157202/* Line 1806 of yacc.c  */
     
    72187205    break;
    72197206
     7207  case 413:
     7208
     7209/* Line 1806 of yacc.c  */
     7210#line 1645 "parser.yy"
     7211    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7212    break;
     7213
    72207214  case 415:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1651 "parser.yy"
    7224     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7225     break;
    7226 
    7227   case 416:
    72287215
    72297216/* Line 1806 of yacc.c  */
     
    72327219    break;
    72337220
     7221  case 416:
     7222
     7223/* Line 1806 of yacc.c  */
     7224#line 1655 "parser.yy"
     7225    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7226    break;
     7227
    72347228  case 417:
    72357229
    72367230/* Line 1806 of yacc.c  */
    7237 #line 1655 "parser.yy"
     7231#line 1657 "parser.yy"
    72387232    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72397233    break;
     
    72427236
    72437237/* Line 1806 of yacc.c  */
    7244 #line 1661 "parser.yy"
     7238#line 1663 "parser.yy"
    72457239    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72467240    break;
     
    72497243
    72507244/* Line 1806 of yacc.c  */
    7251 #line 1666 "parser.yy"
     7245#line 1668 "parser.yy"
    72527246    { (yyval.decl) = nullptr; }
    72537247    break;
     
    72567250
    72577251/* Line 1806 of yacc.c  */
    7258 #line 1673 "parser.yy"
     7252#line 1675 "parser.yy"
    72597253    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72607254    break;
    72617255
    72627256  case 426:
    7263 
    7264 /* Line 1806 of yacc.c  */
    7265 #line 1680 "parser.yy"
    7266     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7267     break;
    7268 
    7269   case 427:
    72707257
    72717258/* Line 1806 of yacc.c  */
     
    72747261    break;
    72757262
     7263  case 427:
     7264
     7265/* Line 1806 of yacc.c  */
     7266#line 1684 "parser.yy"
     7267    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7268    break;
     7269
    72767270  case 429:
    72777271
    72787272/* Line 1806 of yacc.c  */
    7279 #line 1691 "parser.yy"
     7273#line 1693 "parser.yy"
    72807274    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72817275    break;
     
    72847278
    72857279/* Line 1806 of yacc.c  */
    7286 #line 1694 "parser.yy"
     7280#line 1696 "parser.yy"
    72877281    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72887282    break;
     
    72917285
    72927286/* Line 1806 of yacc.c  */
    7293 #line 1696 "parser.yy"
     7287#line 1698 "parser.yy"
    72947288    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72957289    break;
     
    72987292
    72997293/* Line 1806 of yacc.c  */
    7300 #line 1706 "parser.yy"
     7294#line 1708 "parser.yy"
    73017295    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73027296    break;
     
    73057299
    73067300/* Line 1806 of yacc.c  */
    7307 #line 1712 "parser.yy"
     7301#line 1714 "parser.yy"
    73087302    {
    73097303                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73157309
    73167310/* Line 1806 of yacc.c  */
    7317 #line 1717 "parser.yy"
     7311#line 1719 "parser.yy"
    73187312    {
    73197313                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73257319
    73267320/* Line 1806 of yacc.c  */
    7327 #line 1726 "parser.yy"
     7321#line 1728 "parser.yy"
    73287322    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73297323    break;
     
    73327326
    73337327/* Line 1806 of yacc.c  */
    7334 #line 1735 "parser.yy"
     7328#line 1737 "parser.yy"
    73357329    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73367330    break;
     
    73397333
    73407334/* Line 1806 of yacc.c  */
    7341 #line 1737 "parser.yy"
     7335#line 1739 "parser.yy"
    73427336    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73437337    break;
     
    73467340
    73477341/* Line 1806 of yacc.c  */
    7348 #line 1762 "parser.yy"
     7342#line 1764 "parser.yy"
    73497343    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73507344    break;
     
    73537347
    73547348/* Line 1806 of yacc.c  */
    7355 #line 1770 "parser.yy"
     7349#line 1772 "parser.yy"
    73567350    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73577351    break;
     
    73607354
    73617355/* Line 1806 of yacc.c  */
    7362 #line 1775 "parser.yy"
     7356#line 1777 "parser.yy"
    73637357    { (yyval.in) = nullptr; }
    73647358    break;
     
    73677361
    73687362/* Line 1806 of yacc.c  */
    7369 #line 1777 "parser.yy"
     7363#line 1779 "parser.yy"
    73707364    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73717365    break;
     
    73747368
    73757369/* Line 1806 of yacc.c  */
    7376 #line 1779 "parser.yy"
     7370#line 1781 "parser.yy"
    73777371    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    73787372    break;
     
    73817375
    73827376/* Line 1806 of yacc.c  */
    7383 #line 1783 "parser.yy"
     7377#line 1785 "parser.yy"
    73847378    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73857379    break;
     
    73887382
    73897383/* Line 1806 of yacc.c  */
    7390 #line 1784 "parser.yy"
     7384#line 1786 "parser.yy"
    73917385    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    73927386    break;
     
    73957389
    73967390/* Line 1806 of yacc.c  */
    7397 #line 1789 "parser.yy"
     7391#line 1791 "parser.yy"
    73987392    { (yyval.in) = nullptr; }
    73997393    break;
     
    74027396
    74037397/* Line 1806 of yacc.c  */
    7404 #line 1791 "parser.yy"
     7398#line 1793 "parser.yy"
    74057399    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    74067400    break;
     
    74097403
    74107404/* Line 1806 of yacc.c  */
    7411 #line 1792 "parser.yy"
     7405#line 1794 "parser.yy"
    74127406    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    74137407    break;
     
    74167410
    74177411/* Line 1806 of yacc.c  */
    7418 #line 1794 "parser.yy"
     7412#line 1796 "parser.yy"
    74197413    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74207414    break;
     
    74237417
    74247418/* Line 1806 of yacc.c  */
    7425 #line 1810 "parser.yy"
     7419#line 1812 "parser.yy"
    74267420    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    74277421    break;
     
    74307424
    74317425/* Line 1806 of yacc.c  */
    7432 #line 1816 "parser.yy"
     7426#line 1818 "parser.yy"
    74337427    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
    74347428    break;
     
    74377431
    74387432/* Line 1806 of yacc.c  */
    7439 #line 1822 "parser.yy"
     7433#line 1824 "parser.yy"
    74407434    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    74417435    break;
    74427436
    74437437  case 475:
    7444 
    7445 /* Line 1806 of yacc.c  */
    7446 #line 1825 "parser.yy"
    7447     { (yyval.en) = (yyvsp[(3) - (5)].en); }
    7448     break;
    7449 
    7450   case 476:
    74517438
    74527439/* Line 1806 of yacc.c  */
     
    74557442    break;
    74567443
     7444  case 476:
     7445
     7446/* Line 1806 of yacc.c  */
     7447#line 1829 "parser.yy"
     7448    { (yyval.en) = (yyvsp[(3) - (5)].en); }
     7449    break;
     7450
    74577451  case 477:
    74587452
    74597453/* Line 1806 of yacc.c  */
    7460 #line 1829 "parser.yy"
     7454#line 1831 "parser.yy"
    74617455    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    74627456    break;
     
    74657459
    74667460/* Line 1806 of yacc.c  */
    7467 #line 1831 "parser.yy"
     7461#line 1833 "parser.yy"
    74687462    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    74697463    break;
     
    74727466
    74737467/* Line 1806 of yacc.c  */
    7474 #line 1855 "parser.yy"
     7468#line 1857 "parser.yy"
    74757469    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74767470    break;
     
    74797473
    74807474/* Line 1806 of yacc.c  */
    7481 #line 1857 "parser.yy"
     7475#line 1859 "parser.yy"
    74827476    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74837477    break;
     
    74867480
    74877481/* Line 1806 of yacc.c  */
    7488 #line 1859 "parser.yy"
     7482#line 1861 "parser.yy"
    74897483    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74907484    break;
     
    74937487
    74947488/* Line 1806 of yacc.c  */
    7495 #line 1865 "parser.yy"
     7489#line 1867 "parser.yy"
    74967490    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74977491    break;
     
    75007494
    75017495/* Line 1806 of yacc.c  */
    7502 #line 1867 "parser.yy"
     7496#line 1869 "parser.yy"
    75037497    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75047498    break;
     
    75077501
    75087502/* Line 1806 of yacc.c  */
    7509 #line 1872 "parser.yy"
     7503#line 1874 "parser.yy"
    75107504    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    75117505    break;
     
    75147508
    75157509/* Line 1806 of yacc.c  */
    7516 #line 1878 "parser.yy"
     7510#line 1880 "parser.yy"
    75177511    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75187512    break;
     
    75217515
    75227516/* Line 1806 of yacc.c  */
    7523 #line 1883 "parser.yy"
     7517#line 1885 "parser.yy"
    75247518    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75257519    break;
     
    75287522
    75297523/* Line 1806 of yacc.c  */
    7530 #line 1885 "parser.yy"
     7524#line 1887 "parser.yy"
    75317525    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75327526    break;
     
    75357529
    75367530/* Line 1806 of yacc.c  */
    7537 #line 1891 "parser.yy"
     7531#line 1893 "parser.yy"
    75387532    { (yyval.tclass) = DeclarationNode::Otype; }
    75397533    break;
     
    75427536
    75437537/* Line 1806 of yacc.c  */
    7544 #line 1893 "parser.yy"
     7538#line 1895 "parser.yy"
    75457539    { (yyval.tclass) = DeclarationNode::Dtype; }
    75467540    break;
     
    75497543
    75507544/* Line 1806 of yacc.c  */
    7551 #line 1895 "parser.yy"
     7545#line 1897 "parser.yy"
    75527546    { (yyval.tclass) = DeclarationNode::Ftype; }
    75537547    break;
     
    75567550
    75577551/* Line 1806 of yacc.c  */
    7558 #line 1897 "parser.yy"
     7552#line 1899 "parser.yy"
    75597553    { (yyval.tclass) = DeclarationNode::Ttype; }
    75607554    break;
     
    75637557
    75647558/* Line 1806 of yacc.c  */
    7565 #line 1902 "parser.yy"
     7559#line 1904 "parser.yy"
    75667560    { (yyval.decl) = nullptr; }
    75677561    break;
     
    75707564
    75717565/* Line 1806 of yacc.c  */
    7572 #line 1904 "parser.yy"
     7566#line 1906 "parser.yy"
    75737567    { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    75747568    break;
     
    75777571
    75787572/* Line 1806 of yacc.c  */
    7579 #line 1909 "parser.yy"
     7573#line 1911 "parser.yy"
    75807574    {
    75817575                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    75877581
    75887582/* Line 1806 of yacc.c  */
    7589 #line 1914 "parser.yy"
     7583#line 1916 "parser.yy"
    75907584    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75917585    break;
     
    75947588
    75957589/* Line 1806 of yacc.c  */
    7596 #line 1916 "parser.yy"
     7590#line 1918 "parser.yy"
    75977591    { (yyval.decl) = nullptr; }
    75987592    break;
     
    76017595
    76027596/* Line 1806 of yacc.c  */
    7603 #line 1921 "parser.yy"
     7597#line 1923 "parser.yy"
    76047598    { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    76057599    break;
     
    76087602
    76097603/* Line 1806 of yacc.c  */
    7610 #line 1924 "parser.yy"
     7604#line 1926 "parser.yy"
    76117605    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
    76127606    break;
     
    76157609
    76167610/* Line 1806 of yacc.c  */
    7617 #line 1926 "parser.yy"
     7611#line 1928 "parser.yy"
    76187612    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    76197613    break;
     
    76227616
    76237617/* Line 1806 of yacc.c  */
    7624 #line 1931 "parser.yy"
     7618#line 1933 "parser.yy"
    76257619    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76267620    break;
     
    76297623
    76307624/* Line 1806 of yacc.c  */
    7631 #line 1933 "parser.yy"
     7625#line 1935 "parser.yy"
    76327626    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76337627    break;
     
    76367630
    76377631/* Line 1806 of yacc.c  */
    7638 #line 1935 "parser.yy"
     7632#line 1937 "parser.yy"
    76397633    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76407634    break;
     
    76437637
    76447638/* Line 1806 of yacc.c  */
    7645 #line 1940 "parser.yy"
     7639#line 1942 "parser.yy"
    76467640    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76477641    break;
     
    76507644
    76517645/* Line 1806 of yacc.c  */
    7652 #line 1942 "parser.yy"
     7646#line 1944 "parser.yy"
    76537647    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76547648    break;
     
    76577651
    76587652/* Line 1806 of yacc.c  */
    7659 #line 1947 "parser.yy"
     7653#line 1949 "parser.yy"
    76607654    {
    76617655                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76677661
    76687662/* Line 1806 of yacc.c  */
    7669 #line 1952 "parser.yy"
     7663#line 1954 "parser.yy"
    76707664    {
    76717665                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76777671
    76787672/* Line 1806 of yacc.c  */
    7679 #line 1960 "parser.yy"
     7673#line 1962 "parser.yy"
    76807674    {
    76817675                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76877681
    76887682/* Line 1806 of yacc.c  */
    7689 #line 1965 "parser.yy"
     7683#line 1967 "parser.yy"
    76907684    {
    76917685                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    76977691
    76987692/* Line 1806 of yacc.c  */
    7699 #line 1970 "parser.yy"
     7693#line 1972 "parser.yy"
    77007694    {
    77017695                        typedefTable.leaveTrait();
     
    77087702
    77097703/* Line 1806 of yacc.c  */
    7710 #line 1980 "parser.yy"
     7704#line 1982 "parser.yy"
    77117705    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    77127706    break;
     
    77157709
    77167710/* Line 1806 of yacc.c  */
    7717 #line 1990 "parser.yy"
     7711#line 1992 "parser.yy"
    77187712    {
    77197713                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77257719
    77267720/* Line 1806 of yacc.c  */
    7727 #line 1995 "parser.yy"
     7721#line 1997 "parser.yy"
    77287722    {
    77297723                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77357729
    77367730/* Line 1806 of yacc.c  */
    7737 #line 2000 "parser.yy"
     7731#line 2002 "parser.yy"
    77387732    {
    77397733                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77457739
    77467740/* Line 1806 of yacc.c  */
    7747 #line 2008 "parser.yy"
     7741#line 2010 "parser.yy"
    77487742    {
    77497743                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77557749
    77567750/* Line 1806 of yacc.c  */
    7757 #line 2013 "parser.yy"
     7751#line 2015 "parser.yy"
    77587752    {
    77597753                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77657759
    77667760/* Line 1806 of yacc.c  */
    7767 #line 2023 "parser.yy"
     7761#line 2025 "parser.yy"
    77687762    {}
    77697763    break;
     
    77727766
    77737767/* Line 1806 of yacc.c  */
    7774 #line 2025 "parser.yy"
     7768#line 2027 "parser.yy"
    77757769    { parseTree = parseTree ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl);       }
    77767770    break;
     
    77797773
    77807774/* Line 1806 of yacc.c  */
    7781 #line 2031 "parser.yy"
     7775#line 2033 "parser.yy"
    77827776    { (yyval.decl) = (yyvsp[(1) - (3)].decl) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77837777    break;
     
    77867780
    77877781/* Line 1806 of yacc.c  */
    7788 #line 2036 "parser.yy"
     7782#line 2038 "parser.yy"
    77897783    { (yyval.decl) = nullptr; }
    77907784    break;
     
    77937787
    77947788/* Line 1806 of yacc.c  */
    7795 #line 2044 "parser.yy"
     7789#line 2046 "parser.yy"
    77967790    {}
    77977791    break;
     
    78007794
    78017795/* Line 1806 of yacc.c  */
    7802 #line 2046 "parser.yy"
     7796#line 2048 "parser.yy"
    78037797    {
    78047798                        linkageStack.push( linkage );                           // handle nested extern "C"/"Cforall"
     
    78107804
    78117805/* Line 1806 of yacc.c  */
    7812 #line 2051 "parser.yy"
     7806#line 2053 "parser.yy"
    78137807    {
    78147808                        linkage = linkageStack.top();
     
    78217815
    78227816/* Line 1806 of yacc.c  */
    7823 #line 2057 "parser.yy"
     7817#line 2059 "parser.yy"
    78247818    {   // mark all fields in list
    78257819                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    78327826
    78337827/* Line 1806 of yacc.c  */
    7834 #line 2072 "parser.yy"
     7828#line 2074 "parser.yy"
    78357829    {
    78367830                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78437837
    78447838/* Line 1806 of yacc.c  */
    7845 #line 2078 "parser.yy"
     7839#line 2080 "parser.yy"
    78467840    {
    78477841                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78547848
    78557849/* Line 1806 of yacc.c  */
    7856 #line 2087 "parser.yy"
     7850#line 2089 "parser.yy"
    78577851    {
    78587852                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78657859
    78667860/* Line 1806 of yacc.c  */
    7867 #line 2093 "parser.yy"
     7861#line 2095 "parser.yy"
    78687862    {
    78697863                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78767870
    78777871/* Line 1806 of yacc.c  */
    7878 #line 2099 "parser.yy"
     7872#line 2101 "parser.yy"
    78797873    {
    78807874                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78877881
    78887882/* Line 1806 of yacc.c  */
    7889 #line 2105 "parser.yy"
     7883#line 2107 "parser.yy"
    78907884    {
    78917885                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78987892
    78997893/* Line 1806 of yacc.c  */
    7900 #line 2111 "parser.yy"
     7894#line 2113 "parser.yy"
    79017895    {
    79027896                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79097903
    79107904/* Line 1806 of yacc.c  */
    7911 #line 2119 "parser.yy"
     7905#line 2121 "parser.yy"
    79127906    {
    79137907                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79207914
    79217915/* Line 1806 of yacc.c  */
    7922 #line 2125 "parser.yy"
     7916#line 2127 "parser.yy"
    79237917    {
    79247918                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79317925
    79327926/* Line 1806 of yacc.c  */
    7933 #line 2133 "parser.yy"
     7927#line 2135 "parser.yy"
    79347928    {
    79357929                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79427936
    79437937/* Line 1806 of yacc.c  */
    7944 #line 2139 "parser.yy"
     7938#line 2141 "parser.yy"
    79457939    {
    79467940                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79537947
    79547948/* Line 1806 of yacc.c  */
    7955 #line 2154 "parser.yy"
     7949#line 2156 "parser.yy"
    79567950    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    79577951    break;
     
    79607954
    79617955/* Line 1806 of yacc.c  */
    7962 #line 2159 "parser.yy"
     7956#line 2161 "parser.yy"
    79637957    { (yyval.constant) = nullptr; }
    79647958    break;
     
    79677961
    79687962/* Line 1806 of yacc.c  */
    7969 #line 2161 "parser.yy"
     7963#line 2163 "parser.yy"
    79707964    { (yyval.constant) = (yyvsp[(3) - (5)].constant); }
    79717965    break;
     
    79747968
    79757969/* Line 1806 of yacc.c  */
    7976 #line 2166 "parser.yy"
     7970#line 2168 "parser.yy"
    79777971    { (yyval.decl) = nullptr; }
    79787972    break;
     
    79817975
    79827976/* Line 1806 of yacc.c  */
    7983 #line 2173 "parser.yy"
     7977#line 2175 "parser.yy"
    79847978    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    79857979    break;
     
    79887982
    79897983/* Line 1806 of yacc.c  */
    7990 #line 2178 "parser.yy"
    7991     { (yyval.decl) = (yyvsp[(4) - (6)].decl); }
    7992     break;
    7993 
    7994   case 560:
    7995 
    7996 /* Line 1806 of yacc.c  */
    7997 #line 2184 "parser.yy"
    7998     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7999     break;
    8000 
    8001   case 561:
    8002 
    8003 /* Line 1806 of yacc.c  */
    8004 #line 2189 "parser.yy"
     7984#line 2181 "parser.yy"
    80057985    { (yyval.decl) = nullptr; }
    80067986    break;
    80077987
    8008   case 562:
    8009 
    8010 /* Line 1806 of yacc.c  */
    8011 #line 2191 "parser.yy"
    8012     { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (1)].tok) ); }
    8013     break;
    8014 
    80157988  case 563:
    80167989
    80177990/* Line 1806 of yacc.c  */
    8018 #line 2193 "parser.yy"
    8019     { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     7991#line 2192 "parser.yy"
     7992    { delete (yyvsp[(3) - (4)].en); }
     7993    break;
     7994
     7995  case 564:
     7996
     7997/* Line 1806 of yacc.c  */
     7998#line 2196 "parser.yy"
     7999    { delete (yyvsp[(1) - (1)].tok); }
     8000    break;
     8001
     8002  case 565:
     8003
     8004/* Line 1806 of yacc.c  */
     8005#line 2197 "parser.yy"
     8006    { delete (yyvsp[(1) - (1)].decl); }
     8007    break;
     8008
     8009  case 566:
     8010
     8011/* Line 1806 of yacc.c  */
     8012#line 2198 "parser.yy"
     8013    { delete (yyvsp[(1) - (1)].decl); }
    80208014    break;
    80218015
     
    80238017
    80248018/* Line 1806 of yacc.c  */
    8025 #line 2201 "parser.yy"
    8026     { (yyval.tok) = Token{ new string( "__const__" ) }; }
     8019#line 2199 "parser.yy"
     8020    { delete (yyvsp[(1) - (1)].decl); }
    80278021    break;
    80288022
     
    80308024
    80318025/* Line 1806 of yacc.c  */
    8032 #line 2236 "parser.yy"
     8026#line 2234 "parser.yy"
    80338027    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80348028    break;
    80358029
    80368030  case 570:
     8031
     8032/* Line 1806 of yacc.c  */
     8033#line 2237 "parser.yy"
     8034    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8035    break;
     8036
     8037  case 571:
    80378038
    80388039/* Line 1806 of yacc.c  */
     
    80418042    break;
    80428043
    8043   case 571:
    8044 
    8045 /* Line 1806 of yacc.c  */
    8046 #line 2241 "parser.yy"
    8047     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8048     break;
    8049 
    80508044  case 572:
    80518045
    80528046/* Line 1806 of yacc.c  */
    8053 #line 2246 "parser.yy"
     8047#line 2244 "parser.yy"
    80548048    {
    80558049                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80618055
    80628056/* Line 1806 of yacc.c  */
    8063 #line 2251 "parser.yy"
     8057#line 2249 "parser.yy"
    80648058    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80658059    break;
     
    80688062
    80698063/* Line 1806 of yacc.c  */
     8064#line 2254 "parser.yy"
     8065    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8066    break;
     8067
     8068  case 575:
     8069
     8070/* Line 1806 of yacc.c  */
    80708071#line 2256 "parser.yy"
    8071     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8072     break;
    8073 
    8074   case 575:
     8072    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8073    break;
     8074
     8075  case 576:
    80758076
    80768077/* Line 1806 of yacc.c  */
    80778078#line 2258 "parser.yy"
    8078     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8079     break;
    8080 
    8081   case 576:
    8082 
    8083 /* Line 1806 of yacc.c  */
    8084 #line 2260 "parser.yy"
    80858079    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80868080    break;
     
    80898083
    80908084/* Line 1806 of yacc.c  */
     8085#line 2263 "parser.yy"
     8086    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8087    break;
     8088
     8089  case 578:
     8090
     8091/* Line 1806 of yacc.c  */
    80918092#line 2265 "parser.yy"
    8092     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8093     break;
    8094 
    8095   case 578:
     8093    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8094    break;
     8095
     8096  case 579:
    80968097
    80978098/* Line 1806 of yacc.c  */
     
    81008101    break;
    81018102
    8102   case 579:
     8103  case 580:
    81038104
    81048105/* Line 1806 of yacc.c  */
    81058106#line 2269 "parser.yy"
     8107    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8108    break;
     8109
     8110  case 581:
     8111
     8112/* Line 1806 of yacc.c  */
     8113#line 2274 "parser.yy"
     8114    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8115    break;
     8116
     8117  case 582:
     8118
     8119/* Line 1806 of yacc.c  */
     8120#line 2276 "parser.yy"
     8121    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8122    break;
     8123
     8124  case 583:
     8125
     8126/* Line 1806 of yacc.c  */
     8127#line 2285 "parser.yy"
     8128    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8129    break;
     8130
     8131  case 585:
     8132
     8133/* Line 1806 of yacc.c  */
     8134#line 2288 "parser.yy"
     8135    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8136    break;
     8137
     8138  case 586:
     8139
     8140/* Line 1806 of yacc.c  */
     8141#line 2293 "parser.yy"
     8142    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8143    break;
     8144
     8145  case 587:
     8146
     8147/* Line 1806 of yacc.c  */
     8148#line 2295 "parser.yy"
     8149    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8150    break;
     8151
     8152  case 588:
     8153
     8154/* Line 1806 of yacc.c  */
     8155#line 2297 "parser.yy"
     8156    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8157    break;
     8158
     8159  case 589:
     8160
     8161/* Line 1806 of yacc.c  */
     8162#line 2302 "parser.yy"
     8163    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8164    break;
     8165
     8166  case 590:
     8167
     8168/* Line 1806 of yacc.c  */
     8169#line 2304 "parser.yy"
     8170    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8171    break;
     8172
     8173  case 591:
     8174
     8175/* Line 1806 of yacc.c  */
     8176#line 2306 "parser.yy"
     8177    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8178    break;
     8179
     8180  case 592:
     8181
     8182/* Line 1806 of yacc.c  */
     8183#line 2311 "parser.yy"
    81068184    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81078185    break;
    81088186
    8109   case 580:
    8110 
    8111 /* Line 1806 of yacc.c  */
    8112 #line 2271 "parser.yy"
    8113     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8114     break;
    8115 
    8116   case 581:
    8117 
    8118 /* Line 1806 of yacc.c  */
    8119 #line 2276 "parser.yy"
    8120     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8121     break;
    8122 
    8123   case 582:
    8124 
    8125 /* Line 1806 of yacc.c  */
    8126 #line 2278 "parser.yy"
    8127     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8128     break;
    8129 
    8130   case 583:
    8131 
    8132 /* Line 1806 of yacc.c  */
    8133 #line 2287 "parser.yy"
    8134     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8135     break;
    8136 
    8137   case 585:
    8138 
    8139 /* Line 1806 of yacc.c  */
    8140 #line 2290 "parser.yy"
    8141     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8142     break;
    8143 
    8144   case 586:
    8145 
    8146 /* Line 1806 of yacc.c  */
    8147 #line 2295 "parser.yy"
    8148     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8149     break;
    8150 
    8151   case 587:
    8152 
    8153 /* Line 1806 of yacc.c  */
    8154 #line 2297 "parser.yy"
    8155     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8156     break;
    8157 
    8158   case 588:
    8159 
    8160 /* Line 1806 of yacc.c  */
    8161 #line 2299 "parser.yy"
    8162     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8163     break;
    8164 
    8165   case 589:
    8166 
    8167 /* Line 1806 of yacc.c  */
    8168 #line 2304 "parser.yy"
    8169     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8170     break;
    8171 
    8172   case 590:
    8173 
    8174 /* Line 1806 of yacc.c  */
    8175 #line 2306 "parser.yy"
    8176     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8177     break;
    8178 
    8179   case 591:
    8180 
    8181 /* Line 1806 of yacc.c  */
    8182 #line 2308 "parser.yy"
    8183     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8184     break;
    8185 
    8186   case 592:
     8187  case 593:
    81878188
    81888189/* Line 1806 of yacc.c  */
     
    81918192    break;
    81928193
    8193   case 593:
     8194  case 594:
    81948195
    81958196/* Line 1806 of yacc.c  */
    81968197#line 2315 "parser.yy"
     8198    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8199    break;
     8200
     8201  case 598:
     8202
     8203/* Line 1806 of yacc.c  */
     8204#line 2330 "parser.yy"
     8205    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8206    break;
     8207
     8208  case 599:
     8209
     8210/* Line 1806 of yacc.c  */
     8211#line 2332 "parser.yy"
     8212    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8213    break;
     8214
     8215  case 600:
     8216
     8217/* Line 1806 of yacc.c  */
     8218#line 2334 "parser.yy"
     8219    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8220    break;
     8221
     8222  case 601:
     8223
     8224/* Line 1806 of yacc.c  */
     8225#line 2339 "parser.yy"
     8226    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8227    break;
     8228
     8229  case 602:
     8230
     8231/* Line 1806 of yacc.c  */
     8232#line 2341 "parser.yy"
     8233    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8234    break;
     8235
     8236  case 603:
     8237
     8238/* Line 1806 of yacc.c  */
     8239#line 2343 "parser.yy"
     8240    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8241    break;
     8242
     8243  case 604:
     8244
     8245/* Line 1806 of yacc.c  */
     8246#line 2348 "parser.yy"
    81978247    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81988248    break;
    81998249
    8200   case 594:
    8201 
    8202 /* Line 1806 of yacc.c  */
    8203 #line 2317 "parser.yy"
    8204     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8205     break;
    8206 
    8207   case 598:
    8208 
    8209 /* Line 1806 of yacc.c  */
    8210 #line 2332 "parser.yy"
    8211     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8212     break;
    8213 
    8214   case 599:
    8215 
    8216 /* Line 1806 of yacc.c  */
    8217 #line 2334 "parser.yy"
    8218     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8219     break;
    8220 
    8221   case 600:
    8222 
    8223 /* Line 1806 of yacc.c  */
    8224 #line 2336 "parser.yy"
    8225     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8226     break;
    8227 
    8228   case 601:
    8229 
    8230 /* Line 1806 of yacc.c  */
    8231 #line 2341 "parser.yy"
    8232     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8233     break;
    8234 
    8235   case 602:
    8236 
    8237 /* Line 1806 of yacc.c  */
    8238 #line 2343 "parser.yy"
    8239     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8240     break;
    8241 
    8242   case 603:
    8243 
    8244 /* Line 1806 of yacc.c  */
    8245 #line 2345 "parser.yy"
    8246     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8247     break;
    8248 
    8249   case 604:
     8250  case 605:
    82508251
    82518252/* Line 1806 of yacc.c  */
     
    82548255    break;
    82558256
    8256   case 605:
     8257  case 606:
    82578258
    82588259/* Line 1806 of yacc.c  */
    82598260#line 2352 "parser.yy"
    8260     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8261     break;
    8262 
    8263   case 606:
    8264 
    8265 /* Line 1806 of yacc.c  */
    8266 #line 2354 "parser.yy"
    82678261    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82688262    break;
     
    82718265
    82728266/* Line 1806 of yacc.c  */
    8273 #line 2369 "parser.yy"
     8267#line 2367 "parser.yy"
    82748268    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82758269    break;
    82768270
    82778271  case 609:
     8272
     8273/* Line 1806 of yacc.c  */
     8274#line 2370 "parser.yy"
     8275    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8276    break;
     8277
     8278  case 610:
    82788279
    82798280/* Line 1806 of yacc.c  */
     
    82828283    break;
    82838284
    8284   case 610:
    8285 
    8286 /* Line 1806 of yacc.c  */
    8287 #line 2374 "parser.yy"
    8288     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8289     break;
    8290 
    82918285  case 612:
    82928286
    82938287/* Line 1806 of yacc.c  */
    8294 #line 2380 "parser.yy"
     8288#line 2378 "parser.yy"
    82958289    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82968290    break;
     
    82998293
    83008294/* Line 1806 of yacc.c  */
     8295#line 2383 "parser.yy"
     8296    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8297    break;
     8298
     8299  case 614:
     8300
     8301/* Line 1806 of yacc.c  */
    83018302#line 2385 "parser.yy"
    8302     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8303     break;
    8304 
    8305   case 614:
     8303    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8304    break;
     8305
     8306  case 615:
    83068307
    83078308/* Line 1806 of yacc.c  */
    83088309#line 2387 "parser.yy"
    8309     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8310     break;
    8311 
    8312   case 615:
    8313 
    8314 /* Line 1806 of yacc.c  */
    8315 #line 2389 "parser.yy"
    83168310    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83178311    break;
     
    83208314
    83218315/* Line 1806 of yacc.c  */
     8316#line 2392 "parser.yy"
     8317    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8318    break;
     8319
     8320  case 617:
     8321
     8322/* Line 1806 of yacc.c  */
    83228323#line 2394 "parser.yy"
    8323     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8324     break;
    8325 
    8326   case 617:
     8324    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8325    break;
     8326
     8327  case 618:
    83278328
    83288329/* Line 1806 of yacc.c  */
     
    83318332    break;
    83328333
    8333   case 618:
     8334  case 619:
    83348335
    83358336/* Line 1806 of yacc.c  */
    83368337#line 2398 "parser.yy"
    8337     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8338     break;
    8339 
    8340   case 619:
    8341 
    8342 /* Line 1806 of yacc.c  */
    8343 #line 2400 "parser.yy"
    83448338    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83458339    break;
     
    83488342
    83498343/* Line 1806 of yacc.c  */
     8344#line 2403 "parser.yy"
     8345    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8346    break;
     8347
     8348  case 621:
     8349
     8350/* Line 1806 of yacc.c  */
    83508351#line 2405 "parser.yy"
    8351     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8352     break;
    8353 
    8354   case 621:
     8352    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8353    break;
     8354
     8355  case 622:
    83558356
    83568357/* Line 1806 of yacc.c  */
    83578358#line 2407 "parser.yy"
    8358     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8359     break;
    8360 
    8361   case 622:
    8362 
    8363 /* Line 1806 of yacc.c  */
    8364 #line 2409 "parser.yy"
    83658359    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83668360    break;
     
    83698363
    83708364/* Line 1806 of yacc.c  */
    8371 #line 2419 "parser.yy"
     8365#line 2417 "parser.yy"
    83728366    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83738367    break;
    83748368
    83758369  case 625:
     8370
     8371/* Line 1806 of yacc.c  */
     8372#line 2420 "parser.yy"
     8373    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8374    break;
     8375
     8376  case 626:
    83768377
    83778378/* Line 1806 of yacc.c  */
     
    83808381    break;
    83818382
    8382   case 626:
    8383 
    8384 /* Line 1806 of yacc.c  */
    8385 #line 2424 "parser.yy"
    8386     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8387     break;
    8388 
    83898383  case 627:
    83908384
    83918385/* Line 1806 of yacc.c  */
     8386#line 2427 "parser.yy"
     8387    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8388    break;
     8389
     8390  case 628:
     8391
     8392/* Line 1806 of yacc.c  */
    83928393#line 2429 "parser.yy"
    8393     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8394     break;
    8395 
    8396   case 628:
     8394    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8395    break;
     8396
     8397  case 629:
    83978398
    83988399/* Line 1806 of yacc.c  */
    83998400#line 2431 "parser.yy"
    8400     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8401     break;
    8402 
    8403   case 629:
    8404 
    8405 /* Line 1806 of yacc.c  */
    8406 #line 2433 "parser.yy"
    84078401    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84088402    break;
     
    84118405
    84128406/* Line 1806 of yacc.c  */
     8407#line 2436 "parser.yy"
     8408    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8409    break;
     8410
     8411  case 631:
     8412
     8413/* Line 1806 of yacc.c  */
    84138414#line 2438 "parser.yy"
    8414     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8415     break;
    8416 
    8417   case 631:
     8415    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8416    break;
     8417
     8418  case 632:
    84188419
    84198420/* Line 1806 of yacc.c  */
     
    84228423    break;
    84238424
    8424   case 632:
     8425  case 633:
    84258426
    84268427/* Line 1806 of yacc.c  */
    84278428#line 2442 "parser.yy"
    8428     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8429     break;
    8430 
    8431   case 633:
    8432 
    8433 /* Line 1806 of yacc.c  */
    8434 #line 2444 "parser.yy"
    84358429    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84368430    break;
     
    84398433
    84408434/* Line 1806 of yacc.c  */
     8435#line 2447 "parser.yy"
     8436    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8437    break;
     8438
     8439  case 635:
     8440
     8441/* Line 1806 of yacc.c  */
    84418442#line 2449 "parser.yy"
    8442     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8443     break;
    8444 
    8445   case 635:
     8443    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8444    break;
     8445
     8446  case 636:
    84468447
    84478448/* Line 1806 of yacc.c  */
    84488449#line 2451 "parser.yy"
    8449     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8450     break;
    8451 
    8452   case 636:
    8453 
    8454 /* Line 1806 of yacc.c  */
    8455 #line 2453 "parser.yy"
    84568450    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84578451    break;
     
    84608454
    84618455/* Line 1806 of yacc.c  */
    8462 #line 2484 "parser.yy"
     8456#line 2482 "parser.yy"
    84638457    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84648458    break;
    84658459
    84668460  case 639:
     8461
     8462/* Line 1806 of yacc.c  */
     8463#line 2485 "parser.yy"
     8464    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8465    break;
     8466
     8467  case 640:
    84678468
    84688469/* Line 1806 of yacc.c  */
     
    84718472    break;
    84728473
    8473   case 640:
    8474 
    8475 /* Line 1806 of yacc.c  */
    8476 #line 2489 "parser.yy"
    8477     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8478     break;
    8479 
    84808474  case 641:
    84818475
    84828476/* Line 1806 of yacc.c  */
    8483 #line 2494 "parser.yy"
     8477#line 2492 "parser.yy"
    84848478    {
    84858479                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84918485
    84928486/* Line 1806 of yacc.c  */
    8493 #line 2499 "parser.yy"
     8487#line 2497 "parser.yy"
    84948488    {
    84958489                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85018495
    85028496/* Line 1806 of yacc.c  */
     8497#line 2505 "parser.yy"
     8498    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8499    break;
     8500
     8501  case 644:
     8502
     8503/* Line 1806 of yacc.c  */
    85038504#line 2507 "parser.yy"
    8504     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8505     break;
    8506 
    8507   case 644:
     8505    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8506    break;
     8507
     8508  case 645:
    85088509
    85098510/* Line 1806 of yacc.c  */
    85108511#line 2509 "parser.yy"
    8511     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8512     break;
    8513 
    8514   case 645:
    8515 
    8516 /* Line 1806 of yacc.c  */
    8517 #line 2511 "parser.yy"
    85188512    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85198513    break;
     
    85228516
    85238517/* Line 1806 of yacc.c  */
     8518#line 2514 "parser.yy"
     8519    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8520    break;
     8521
     8522  case 647:
     8523
     8524/* Line 1806 of yacc.c  */
    85248525#line 2516 "parser.yy"
    8525     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8526     break;
    8527 
    8528   case 647:
    8529 
    8530 /* Line 1806 of yacc.c  */
    8531 #line 2518 "parser.yy"
    85328526    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85338527    break;
     
    85368530
    85378531/* Line 1806 of yacc.c  */
     8532#line 2521 "parser.yy"
     8533    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8534    break;
     8535
     8536  case 649:
     8537
     8538/* Line 1806 of yacc.c  */
    85388539#line 2523 "parser.yy"
    8539     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8540     break;
    8541 
    8542   case 649:
    8543 
    8544 /* Line 1806 of yacc.c  */
    8545 #line 2525 "parser.yy"
    85468540    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85478541    break;
    85488542
    85498543  case 651:
     8544
     8545/* Line 1806 of yacc.c  */
     8546#line 2538 "parser.yy"
     8547    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8548    break;
     8549
     8550  case 652:
    85508551
    85518552/* Line 1806 of yacc.c  */
     
    85548555    break;
    85558556
    8556   case 652:
    8557 
    8558 /* Line 1806 of yacc.c  */
    8559 #line 2542 "parser.yy"
    8560     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8561     break;
    8562 
    85638557  case 653:
    85648558
    85658559/* Line 1806 of yacc.c  */
     8560#line 2545 "parser.yy"
     8561    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8562    break;
     8563
     8564  case 654:
     8565
     8566/* Line 1806 of yacc.c  */
    85668567#line 2547 "parser.yy"
    8567     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8568     break;
    8569 
    8570   case 654:
     8568    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8569    break;
     8570
     8571  case 655:
    85718572
    85728573/* Line 1806 of yacc.c  */
    85738574#line 2549 "parser.yy"
    8574     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8575     break;
    8576 
    8577   case 655:
     8575    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8576    break;
     8577
     8578  case 656:
    85788579
    85798580/* Line 1806 of yacc.c  */
    85808581#line 2551 "parser.yy"
    8581     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8582     break;
    8583 
    8584   case 656:
     8582    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8583    break;
     8584
     8585  case 657:
    85858586
    85868587/* Line 1806 of yacc.c  */
    85878588#line 2553 "parser.yy"
    8588     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8589     break;
    8590 
    8591   case 657:
    8592 
    8593 /* Line 1806 of yacc.c  */
    8594 #line 2555 "parser.yy"
    85958589    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85968590    break;
    85978591
    85988592  case 659:
     8593
     8594/* Line 1806 of yacc.c  */
     8595#line 2559 "parser.yy"
     8596    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8597    break;
     8598
     8599  case 660:
    85998600
    86008601/* Line 1806 of yacc.c  */
     
    86038604    break;
    86048605
    8605   case 660:
     8606  case 661:
    86068607
    86078608/* Line 1806 of yacc.c  */
    86088609#line 2563 "parser.yy"
    8609     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8610     break;
    8611 
    8612   case 661:
    8613 
    8614 /* Line 1806 of yacc.c  */
    8615 #line 2565 "parser.yy"
    86168610    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86178611    break;
     
    86208614
    86218615/* Line 1806 of yacc.c  */
     8616#line 2568 "parser.yy"
     8617    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
     8618    break;
     8619
     8620  case 663:
     8621
     8622/* Line 1806 of yacc.c  */
    86228623#line 2570 "parser.yy"
    8623     { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    8624     break;
    8625 
    8626   case 663:
     8624    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8625    break;
     8626
     8627  case 664:
    86278628
    86288629/* Line 1806 of yacc.c  */
    86298630#line 2572 "parser.yy"
    8630     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8631     break;
    8632 
    8633   case 664:
    8634 
    8635 /* Line 1806 of yacc.c  */
    8636 #line 2574 "parser.yy"
    86378631    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86388632    break;
     
    86418635
    86428636/* Line 1806 of yacc.c  */
     8637#line 2578 "parser.yy"
     8638    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8639    break;
     8640
     8641  case 666:
     8642
     8643/* Line 1806 of yacc.c  */
    86438644#line 2580 "parser.yy"
    8644     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8645     break;
    8646 
    8647   case 666:
    8648 
    8649 /* Line 1806 of yacc.c  */
    8650 #line 2582 "parser.yy"
    86518645    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    86528646    break;
     
    86558649
    86568650/* Line 1806 of yacc.c  */
     8651#line 2586 "parser.yy"
     8652    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8653    break;
     8654
     8655  case 669:
     8656
     8657/* Line 1806 of yacc.c  */
    86578658#line 2588 "parser.yy"
    8658     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8659     break;
    8660 
    8661   case 669:
     8659    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8660    break;
     8661
     8662  case 670:
    86628663
    86638664/* Line 1806 of yacc.c  */
    86648665#line 2590 "parser.yy"
    8665     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8666     break;
    8667 
    8668   case 670:
     8666    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8667    break;
     8668
     8669  case 671:
    86698670
    86708671/* Line 1806 of yacc.c  */
    86718672#line 2592 "parser.yy"
    8672     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8673     break;
    8674 
    8675   case 671:
    8676 
    8677 /* Line 1806 of yacc.c  */
    8678 #line 2594 "parser.yy"
    86798673    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    86808674    break;
    86818675
    86828676  case 673:
     8677
     8678/* Line 1806 of yacc.c  */
     8679#line 2607 "parser.yy"
     8680    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8681    break;
     8682
     8683  case 674:
    86838684
    86848685/* Line 1806 of yacc.c  */
     
    86878688    break;
    86888689
    8689   case 674:
    8690 
    8691 /* Line 1806 of yacc.c  */
    8692 #line 2611 "parser.yy"
    8693     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8694     break;
    8695 
    86968690  case 675:
    86978691
    86988692/* Line 1806 of yacc.c  */
     8693#line 2614 "parser.yy"
     8694    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8695    break;
     8696
     8697  case 676:
     8698
     8699/* Line 1806 of yacc.c  */
    86998700#line 2616 "parser.yy"
    8700     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8701     break;
    8702 
    8703   case 676:
     8701    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8702    break;
     8703
     8704  case 677:
    87048705
    87058706/* Line 1806 of yacc.c  */
    87068707#line 2618 "parser.yy"
    8707     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8708     break;
    8709 
    8710   case 677:
     8708    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8709    break;
     8710
     8711  case 678:
    87118712
    87128713/* Line 1806 of yacc.c  */
    87138714#line 2620 "parser.yy"
    8714     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8715     break;
    8716 
    8717   case 678:
     8715    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8716    break;
     8717
     8718  case 679:
    87188719
    87198720/* Line 1806 of yacc.c  */
    87208721#line 2622 "parser.yy"
    8721     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8722     break;
    8723 
    8724   case 679:
    8725 
    8726 /* Line 1806 of yacc.c  */
    8727 #line 2624 "parser.yy"
    87288722    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87298723    break;
    87308724
    87318725  case 681:
     8726
     8727/* Line 1806 of yacc.c  */
     8728#line 2628 "parser.yy"
     8729    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8730    break;
     8731
     8732  case 682:
    87328733
    87338734/* Line 1806 of yacc.c  */
     
    87368737    break;
    87378738
    8738   case 682:
     8739  case 683:
    87398740
    87408741/* Line 1806 of yacc.c  */
    87418742#line 2632 "parser.yy"
    8742     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8743     break;
    8744 
    8745   case 683:
    8746 
    8747 /* Line 1806 of yacc.c  */
    8748 #line 2634 "parser.yy"
    87498743    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87508744    break;
     
    87538747
    87548748/* Line 1806 of yacc.c  */
     8749#line 2637 "parser.yy"
     8750    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
     8751    break;
     8752
     8753  case 685:
     8754
     8755/* Line 1806 of yacc.c  */
    87558756#line 2639 "parser.yy"
    8756     { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    8757     break;
    8758 
    8759   case 685:
     8757    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8758    break;
     8759
     8760  case 686:
    87608761
    87618762/* Line 1806 of yacc.c  */
    87628763#line 2641 "parser.yy"
    8763     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8764     break;
    8765 
    8766   case 686:
    8767 
    8768 /* Line 1806 of yacc.c  */
    8769 #line 2643 "parser.yy"
    87708764    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87718765    break;
     
    87748768
    87758769/* Line 1806 of yacc.c  */
    8776 #line 2650 "parser.yy"
     8770#line 2648 "parser.yy"
    87778771    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87788772    break;
     
    87818775
    87828776/* Line 1806 of yacc.c  */
    8783 #line 2661 "parser.yy"
     8777#line 2659 "parser.yy"
    87848778    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87858779    break;
     
    87888782
    87898783/* Line 1806 of yacc.c  */
     8784#line 2662 "parser.yy"
     8785    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8786    break;
     8787
     8788  case 692:
     8789
     8790/* Line 1806 of yacc.c  */
    87908791#line 2664 "parser.yy"
    8791     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    8792     break;
    8793 
    8794   case 692:
    8795 
    8796 /* Line 1806 of yacc.c  */
    8797 #line 2666 "parser.yy"
    87988792    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87998793    break;
     
    88028796
    88038797/* Line 1806 of yacc.c  */
     8798#line 2667 "parser.yy"
     8799    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8800    break;
     8801
     8802  case 694:
     8803
     8804/* Line 1806 of yacc.c  */
    88048805#line 2669 "parser.yy"
    8805     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    8806     break;
    8807 
    8808   case 694:
     8806    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8807    break;
     8808
     8809  case 695:
    88098810
    88108811/* Line 1806 of yacc.c  */
    88118812#line 2671 "parser.yy"
    8812     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8813     break;
    8814 
    8815   case 695:
    8816 
    8817 /* Line 1806 of yacc.c  */
    8818 #line 2673 "parser.yy"
    88198813    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    88208814    break;
    88218815
    88228816  case 697:
     8817
     8818/* Line 1806 of yacc.c  */
     8819#line 2685 "parser.yy"
     8820    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8821    break;
     8822
     8823  case 698:
    88238824
    88248825/* Line 1806 of yacc.c  */
     
    88278828    break;
    88288829
    8829   case 698:
    8830 
    8831 /* Line 1806 of yacc.c  */
    8832 #line 2689 "parser.yy"
    8833     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8834     break;
    8835 
    88368830  case 699:
    88378831
    88388832/* Line 1806 of yacc.c  */
     8833#line 2692 "parser.yy"
     8834    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8835    break;
     8836
     8837  case 700:
     8838
     8839/* Line 1806 of yacc.c  */
    88398840#line 2694 "parser.yy"
    8840     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8841     break;
    8842 
    8843   case 700:
     8841    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8842    break;
     8843
     8844  case 701:
    88448845
    88458846/* Line 1806 of yacc.c  */
    88468847#line 2696 "parser.yy"
    8847     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8848     break;
    8849 
    8850   case 701:
     8848    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8849    break;
     8850
     8851  case 702:
    88518852
    88528853/* Line 1806 of yacc.c  */
    88538854#line 2698 "parser.yy"
    8854     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8855     break;
    8856 
    8857   case 702:
     8855    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8856    break;
     8857
     8858  case 703:
    88588859
    88598860/* Line 1806 of yacc.c  */
    88608861#line 2700 "parser.yy"
    8861     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8862     break;
    8863 
    8864   case 703:
    8865 
    8866 /* Line 1806 of yacc.c  */
    8867 #line 2702 "parser.yy"
    88688862    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88698863    break;
    88708864
    88718865  case 705:
     8866
     8867/* Line 1806 of yacc.c  */
     8868#line 2706 "parser.yy"
     8869    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8870    break;
     8871
     8872  case 706:
    88728873
    88738874/* Line 1806 of yacc.c  */
     
    88768877    break;
    88778878
    8878   case 706:
     8879  case 707:
    88798880
    88808881/* Line 1806 of yacc.c  */
    88818882#line 2710 "parser.yy"
    8882     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8883     break;
    8884 
    8885   case 707:
    8886 
    8887 /* Line 1806 of yacc.c  */
    8888 #line 2712 "parser.yy"
    88898883    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88908884    break;
     
    88938887
    88948888/* Line 1806 of yacc.c  */
     8889#line 2715 "parser.yy"
     8890    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8891    break;
     8892
     8893  case 709:
     8894
     8895/* Line 1806 of yacc.c  */
    88958896#line 2717 "parser.yy"
    8896     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8897     break;
    8898 
    8899   case 709:
    8900 
    8901 /* Line 1806 of yacc.c  */
    8902 #line 2719 "parser.yy"
    89038897    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89048898    break;
     
    89078901
    89088902/* Line 1806 of yacc.c  */
    8909 #line 2729 "parser.yy"
     8903#line 2727 "parser.yy"
    89108904    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89118905    break;
     
    89148908
    89158909/* Line 1806 of yacc.c  */
     8910#line 2737 "parser.yy"
     8911    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8912    break;
     8913
     8914  case 716:
     8915
     8916/* Line 1806 of yacc.c  */
    89168917#line 2739 "parser.yy"
     8918    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8919    break;
     8920
     8921  case 717:
     8922
     8923/* Line 1806 of yacc.c  */
     8924#line 2741 "parser.yy"
    89178925    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89188926    break;
    89198927
    8920   case 716:
    8921 
    8922 /* Line 1806 of yacc.c  */
    8923 #line 2741 "parser.yy"
     8928  case 718:
     8929
     8930/* Line 1806 of yacc.c  */
     8931#line 2743 "parser.yy"
    89248932    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89258933    break;
    89268934
    8927   case 717:
    8928 
    8929 /* Line 1806 of yacc.c  */
    8930 #line 2743 "parser.yy"
     8935  case 719:
     8936
     8937/* Line 1806 of yacc.c  */
     8938#line 2745 "parser.yy"
    89318939    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89328940    break;
    89338941
    8934   case 718:
    8935 
    8936 /* Line 1806 of yacc.c  */
    8937 #line 2745 "parser.yy"
     8942  case 720:
     8943
     8944/* Line 1806 of yacc.c  */
     8945#line 2747 "parser.yy"
    89388946    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89398947    break;
    89408948
    8941   case 719:
    8942 
    8943 /* Line 1806 of yacc.c  */
    8944 #line 2747 "parser.yy"
     8949  case 721:
     8950
     8951/* Line 1806 of yacc.c  */
     8952#line 2754 "parser.yy"
     8953    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8954    break;
     8955
     8956  case 722:
     8957
     8958/* Line 1806 of yacc.c  */
     8959#line 2756 "parser.yy"
     8960    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8961    break;
     8962
     8963  case 723:
     8964
     8965/* Line 1806 of yacc.c  */
     8966#line 2758 "parser.yy"
     8967    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8968    break;
     8969
     8970  case 724:
     8971
     8972/* Line 1806 of yacc.c  */
     8973#line 2760 "parser.yy"
     8974    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8975    break;
     8976
     8977  case 725:
     8978
     8979/* Line 1806 of yacc.c  */
     8980#line 2762 "parser.yy"
     8981    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8982    break;
     8983
     8984  case 726:
     8985
     8986/* Line 1806 of yacc.c  */
     8987#line 2765 "parser.yy"
     8988    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8989    break;
     8990
     8991  case 727:
     8992
     8993/* Line 1806 of yacc.c  */
     8994#line 2767 "parser.yy"
     8995    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8996    break;
     8997
     8998  case 728:
     8999
     9000/* Line 1806 of yacc.c  */
     9001#line 2769 "parser.yy"
     9002    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9003    break;
     9004
     9005  case 729:
     9006
     9007/* Line 1806 of yacc.c  */
     9008#line 2771 "parser.yy"
     9009    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9010    break;
     9011
     9012  case 730:
     9013
     9014/* Line 1806 of yacc.c  */
     9015#line 2773 "parser.yy"
     9016    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9017    break;
     9018
     9019  case 731:
     9020
     9021/* Line 1806 of yacc.c  */
     9022#line 2778 "parser.yy"
     9023    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     9024    break;
     9025
     9026  case 732:
     9027
     9028/* Line 1806 of yacc.c  */
     9029#line 2780 "parser.yy"
     9030    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     9031    break;
     9032
     9033  case 733:
     9034
     9035/* Line 1806 of yacc.c  */
     9036#line 2785 "parser.yy"
     9037    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     9038    break;
     9039
     9040  case 734:
     9041
     9042/* Line 1806 of yacc.c  */
     9043#line 2787 "parser.yy"
     9044    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     9045    break;
     9046
     9047  case 736:
     9048
     9049/* Line 1806 of yacc.c  */
     9050#line 2814 "parser.yy"
     9051    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     9052    break;
     9053
     9054  case 740:
     9055
     9056/* Line 1806 of yacc.c  */
     9057#line 2825 "parser.yy"
    89459058    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89469059    break;
    89479060
    8948   case 720:
    8949 
    8950 /* Line 1806 of yacc.c  */
    8951 #line 2749 "parser.yy"
     9061  case 741:
     9062
     9063/* Line 1806 of yacc.c  */
     9064#line 2827 "parser.yy"
    89529065    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89539066    break;
    89549067
    8955   case 721:
    8956 
    8957 /* Line 1806 of yacc.c  */
    8958 #line 2756 "parser.yy"
    8959     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8960     break;
    8961 
    8962   case 722:
    8963 
    8964 /* Line 1806 of yacc.c  */
    8965 #line 2758 "parser.yy"
     9068  case 742:
     9069
     9070/* Line 1806 of yacc.c  */
     9071#line 2829 "parser.yy"
     9072    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9073    break;
     9074
     9075  case 743:
     9076
     9077/* Line 1806 of yacc.c  */
     9078#line 2831 "parser.yy"
     9079    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9080    break;
     9081
     9082  case 744:
     9083
     9084/* Line 1806 of yacc.c  */
     9085#line 2833 "parser.yy"
     9086    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9087    break;
     9088
     9089  case 745:
     9090
     9091/* Line 1806 of yacc.c  */
     9092#line 2835 "parser.yy"
     9093    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9094    break;
     9095
     9096  case 746:
     9097
     9098/* Line 1806 of yacc.c  */
     9099#line 2842 "parser.yy"
     9100    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9101    break;
     9102
     9103  case 747:
     9104
     9105/* Line 1806 of yacc.c  */
     9106#line 2844 "parser.yy"
     9107    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9108    break;
     9109
     9110  case 748:
     9111
     9112/* Line 1806 of yacc.c  */
     9113#line 2846 "parser.yy"
    89669114    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89679115    break;
    89689116
    8969   case 723:
    8970 
    8971 /* Line 1806 of yacc.c  */
    8972 #line 2760 "parser.yy"
    8973     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8974     break;
    8975 
    8976   case 724:
    8977 
    8978 /* Line 1806 of yacc.c  */
    8979 #line 2762 "parser.yy"
    8980     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8981     break;
    8982 
    8983   case 725:
    8984 
    8985 /* Line 1806 of yacc.c  */
    8986 #line 2764 "parser.yy"
     9117  case 749:
     9118
     9119/* Line 1806 of yacc.c  */
     9120#line 2848 "parser.yy"
     9121    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9122    break;
     9123
     9124  case 750:
     9125
     9126/* Line 1806 of yacc.c  */
     9127#line 2850 "parser.yy"
     9128    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9129    break;
     9130
     9131  case 751:
     9132
     9133/* Line 1806 of yacc.c  */
     9134#line 2852 "parser.yy"
    89879135    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89889136    break;
    89899137
    8990   case 726:
    8991 
    8992 /* Line 1806 of yacc.c  */
    8993 #line 2767 "parser.yy"
    8994     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8995     break;
    8996 
    8997   case 727:
    8998 
    8999 /* Line 1806 of yacc.c  */
    9000 #line 2769 "parser.yy"
    9001     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9002     break;
    9003 
    9004   case 728:
    9005 
    9006 /* Line 1806 of yacc.c  */
    9007 #line 2771 "parser.yy"
    9008     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9009     break;
    9010 
    9011   case 729:
    9012 
    9013 /* Line 1806 of yacc.c  */
    9014 #line 2773 "parser.yy"
    9015     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9016     break;
    9017 
    9018   case 730:
    9019 
    9020 /* Line 1806 of yacc.c  */
    9021 #line 2775 "parser.yy"
    9022     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9023     break;
    9024 
    9025   case 731:
    9026 
    9027 /* Line 1806 of yacc.c  */
    9028 #line 2780 "parser.yy"
    9029     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    9030     break;
    9031 
    9032   case 732:
    9033 
    9034 /* Line 1806 of yacc.c  */
    9035 #line 2782 "parser.yy"
    9036     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    9037     break;
    9038 
    9039   case 733:
    9040 
    9041 /* Line 1806 of yacc.c  */
    9042 #line 2787 "parser.yy"
    9043     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9044     break;
    9045 
    9046   case 734:
    9047 
    9048 /* Line 1806 of yacc.c  */
    9049 #line 2789 "parser.yy"
    9050     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    9051     break;
    9052 
    9053   case 736:
    9054 
    9055 /* Line 1806 of yacc.c  */
    9056 #line 2816 "parser.yy"
    9057     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9058     break;
    9059 
    9060   case 740:
    9061 
    9062 /* Line 1806 of yacc.c  */
    9063 #line 2827 "parser.yy"
    9064     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9065     break;
    9066 
    9067   case 741:
    9068 
    9069 /* Line 1806 of yacc.c  */
    9070 #line 2829 "parser.yy"
    9071     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9072     break;
    9073 
    9074   case 742:
    9075 
    9076 /* Line 1806 of yacc.c  */
    9077 #line 2831 "parser.yy"
    9078     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9079     break;
    9080 
    9081   case 743:
    9082 
    9083 /* Line 1806 of yacc.c  */
    9084 #line 2833 "parser.yy"
    9085     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9086     break;
    9087 
    9088   case 744:
    9089 
    9090 /* Line 1806 of yacc.c  */
    9091 #line 2835 "parser.yy"
    9092     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9093     break;
    9094 
    9095   case 745:
    9096 
    9097 /* Line 1806 of yacc.c  */
    9098 #line 2837 "parser.yy"
    9099     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9100     break;
    9101 
    9102   case 746:
    9103 
    9104 /* Line 1806 of yacc.c  */
    9105 #line 2844 "parser.yy"
    9106     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9107     break;
    9108 
    9109   case 747:
    9110 
    9111 /* Line 1806 of yacc.c  */
    9112 #line 2846 "parser.yy"
    9113     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9114     break;
    9115 
    9116   case 748:
    9117 
    9118 /* Line 1806 of yacc.c  */
    9119 #line 2848 "parser.yy"
    9120     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9121     break;
    9122 
    9123   case 749:
    9124 
    9125 /* Line 1806 of yacc.c  */
    9126 #line 2850 "parser.yy"
    9127     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9128     break;
    9129 
    9130   case 750:
    9131 
    9132 /* Line 1806 of yacc.c  */
    9133 #line 2852 "parser.yy"
    9134     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9135     break;
    9136 
    9137   case 751:
    9138 
    9139 /* Line 1806 of yacc.c  */
    9140 #line 2854 "parser.yy"
    9141     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9142     break;
    9143 
    91449138  case 752:
    91459139
    91469140/* Line 1806 of yacc.c  */
    9147 #line 2859 "parser.yy"
     9141#line 2857 "parser.yy"
    91489142    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91499143    break;
    91509144
    91519145  case 753:
     9146
     9147/* Line 1806 of yacc.c  */
     9148#line 2864 "parser.yy"
     9149    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
     9150    break;
     9151
     9152  case 754:
    91529153
    91539154/* Line 1806 of yacc.c  */
     
    91569157    break;
    91579158
    9158   case 754:
    9159 
    9160 /* Line 1806 of yacc.c  */
    9161 #line 2868 "parser.yy"
    9162     { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    9163     break;
    9164 
    91659159  case 757:
    91669160
    91679161/* Line 1806 of yacc.c  */
     9162#line 2890 "parser.yy"
     9163    { (yyval.en) = nullptr; }
     9164    break;
     9165
     9166  case 758:
     9167
     9168/* Line 1806 of yacc.c  */
    91689169#line 2892 "parser.yy"
    9169     { (yyval.en) = nullptr; }
    9170     break;
    9171 
    9172   case 758:
    9173 
    9174 /* Line 1806 of yacc.c  */
    9175 #line 2894 "parser.yy"
    91769170    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91779171    break;
     
    91809174
    91819175/* Line 1806 of yacc.c  */
    9182 #line 9183 "Parser/parser.cc"
     9176#line 9177 "Parser/parser.cc"
    91839177      default: break;
    91849178    }
     
    94119405
    94129406/* Line 2067 of yacc.c  */
    9413 #line 2897 "parser.yy"
     9407#line 2895 "parser.yy"
    94149408
    94159409// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.