1 /* Code generated from eC source file: grammar.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
54 IDENTIFIER = 258, CONSTANT = 259, STRING_LITERAL = 260, SIZEOF = 261, PTR_OP = 262, INC_OP = 263, DEC_OP = 264, LEFT_OP = 265, RIGHT_OP = 266, LE_OP = 267, GE_OP = 268, EQ_OP = 269, NE_OP = 270, AND_OP = 271, OR_OP = 272, MUL_ASSIGN = 273, DIV_ASSIGN = 274, MOD_ASSIGN = 275, ADD_ASSIGN = 276, SUB_ASSIGN = 277, LEFT_ASSIGN = 278, RIGHT_ASSIGN = 279, AND_ASSIGN = 280, XOR_ASSIGN = 281, OR_ASSIGN = 282, TYPE_NAME = 283, TYPEDEF = 284, EXTERN = 285, STATIC = 286, AUTO = 287, REGISTER = 288, CHAR = 289, SHORT = 290, INT = 291, UINT = 292, INT64 = 293, LONG = 294, SIGNED = 295, UNSIGNED = 296, FLOAT = 297, DOUBLE = 298, CONST = 299, VOLATILE = 300, VOID = 301, VALIST = 302, STRUCT = 303, UNION = 304, ENUM = 305, ELLIPSIS = 306, CASE = 307, DEFAULT = 308, IF = 309, SWITCH = 310, WHILE = 311, DO = 312, FOR = 313, GOTO = 314, CONTINUE = 315, BREAK = 316, RETURN = 317, IFX = 318, ELSE = 319, CLASS = 320, THISCLASS = 321, CLASS_NAME = 322, PROPERTY = 323, SETPROP = 324, GETPROP = 325, NEWOP = 326, RENEW = 327, DELETE = 328, EXT_DECL = 329, EXT_STORAGE = 330, IMPORT = 331, DEFINE = 332, VIRTUAL = 333, ATTRIB = 334, PUBLIC = 335, PRIVATE = 336, TYPED_OBJECT = 337, ANY_OBJECT = 338, _INCREF = 339, EXTENSION = 340, ASM = 341, TYPEOF = 342, WATCH = 343, STOPWATCHING = 344, FIREWATCHERS = 345, WATCHABLE = 346, CLASS_DESIGNER = 347, CLASS_NO_EXPANSION = 348, CLASS_FIXED = 349, ISPROPSET = 350, CLASS_DEFAULT_PROPERTY = 351, PROPERTY_CATEGORY = 352, CLASS_DATA = 353, CLASS_PROPERTY = 354, SUBCLASS = 355, NAMESPACE = 356, NEW0OP = 357, RENEW0 = 358, VAARG = 359, DBTABLE = 360, DBFIELD = 361, DBINDEX = 362, DATABASE_OPEN = 363, ALIGNOF = 364, ATTRIB_DEP = 365, __ATTRIB = 366, BOOL = 367, _BOOL = 368, _COMPLEX = 369, _IMAGINARY = 370, RESTRICT = 371, THREAD = 372, WIDE_STRING_LITERAL = 373, BUILTIN_OFFSETOF = 374
65 unsigned int deleteWatchable = 0;
67 int memberAccessStack[256];
69 int defaultMemberAccess = -1;
71 typedef unsigned char yytype_uint8;
73 typedef signed char yytype_int8;
75 typedef unsigned short int yytype_uint16;
77 typedef short int yytype_int16;
79 void * malloc(size_t);
83 static const yytype_uint8 yytranslate[] =
85 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 139, 2, 2, 133, 141, 136, 2, 123, 124, 120, 137, 128, 138, 131, 140, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 132, 126, 121, 127, 122, 144, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 134, 2, 135, 142, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 130, 143, 129, 125, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119
88 static const yytype_uint16 yyprhs[] =
90 0, 0, 3, 6, 9, 11, 14, 16, 18, 20, 25, 30, 33, 35, 39, 44, 48, 51, 54, 56, 60, 63, 66, 69, 72, 75, 78, 81, 85, 88, 90, 93, 95, 98, 101, 104, 107, 110, 113, 115, 117, 121, 123, 127, 131, 133, 135, 139, 143, 145, 149, 153, 157, 161, 163, 166, 169, 171, 173, 176, 179, 182, 185, 188, 191, 193, 195, 197, 200, 203, 205, 208, 211, 214, 217, 219, 222, 225, 229, 234, 240, 245, 249, 254, 257, 261, 266, 272, 277, 281, 286, 292, 298, 303, 306, 310, 314, 318, 322, 325, 330, 334, 338, 341, 346, 350, 353, 357, 360, 364, 367, 369, 372, 376, 380, 384, 387, 389, 393, 397, 399, 403, 407, 410, 415, 421, 425, 430, 434, 436, 440, 444, 448, 451, 455, 458, 463, 469, 473, 478, 482, 484, 488, 492, 495, 497, 500, 503, 506, 508, 511, 517, 525, 535, 542, 551, 556, 563, 565, 568, 572, 577, 580, 583, 585, 587, 590, 593, 595, 597, 599, 601, 609, 611, 614, 619, 621, 623, 626, 630, 633, 636, 639, 643, 645, 648, 651, 654, 656, 658, 660, 663, 666, 669, 673, 677, 679, 681, 684, 687, 689, 692, 695, 698, 701, 703, 706, 708, 711, 714, 719, 724, 731, 734, 739, 744, 751, 753, 755, 759, 761, 766, 772, 774, 776, 778, 780, 784, 786, 788, 790, 794, 798, 802, 804, 808, 810, 813, 816, 820, 824, 830, 836, 843, 850, 853, 856, 860, 864, 868, 872, 876, 880, 884, 888, 892, 896, 900, 902, 904, 908, 910, 913, 918, 920, 922, 924, 929, 934, 940, 949, 952, 954, 956, 958, 961, 968, 975, 981, 987, 994, 1001, 1007, 1013, 1021, 1029, 1036, 1043, 1051, 1059, 1066, 1073, 1078, 1084, 1089, 1096, 1101, 1103, 1105, 1107, 1109, 1113, 1116, 1118, 1121, 1124, 1127, 1129, 1134, 1139, 1143, 1148, 1153, 1157, 1161, 1164, 1167, 1172, 1177, 1181, 1186, 1190, 1194, 1197, 1200, 1202, 1204, 1208, 1212, 1214, 1216, 1220, 1224, 1227, 1230, 1233, 1236, 1239, 1242, 1247, 1253, 1259, 1262, 1267, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1301, 1303, 1307, 1311, 1315, 1319, 1323, 1327, 1329, 1333, 1337, 1341, 1345, 1347, 1351, 1355, 1359, 1363, 1366, 1368, 1371, 1375, 1379, 1383, 1387, 1391, 1395, 1399, 1401, 1405, 1409, 1413, 1417, 1421, 1425, 1429, 1433, 1435, 1439, 1443, 1447, 1451, 1453, 1457, 1461, 1465, 1469, 1471, 1475, 1479, 1483, 1487, 1489, 1493, 1497, 1499, 1503, 1507, 1509, 1515, 1521, 1527, 1533, 1539, 1545, 1551, 1557, 1563, 1569, 1575, 1581, 1587, 1593, 1599, 1605, 1607, 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1641, 1643, 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1667, 1671, 1674, 1676, 1680, 1684, 1686, 1688, 1691, 1694, 1698, 1702, 1706, 1710, 1714, 1718, 1722, 1725, 1728, 1731, 1734, 1737, 1743, 1750, 1757, 1760, 1766, 1768, 1770, 1772, 1777, 1779, 1783, 1787, 1791, 1795, 1799, 1803, 1805, 1809, 1813, 1817, 1821, 1823, 1827, 1831, 1835, 1839, 1841, 1844, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1874, 1878, 1882, 1886, 1890, 1894, 1898, 1902, 1906, 1908, 1912, 1916, 1920, 1924, 1926, 1930, 1934, 1938, 1942, 1944, 1948, 1952, 1956, 1960, 1962, 1966, 1970, 1972, 1976, 1980, 1982, 1988, 1994, 2000, 2006, 2011, 2016, 2021, 2026, 2032, 2038, 2044, 2050, 2055, 2060, 2065, 2070, 2076, 2082, 2088, 2094, 2100, 2106, 2112, 2118, 2122, 2126, 2129, 2132, 2134, 2138, 2142, 2146, 2150, 2152, 2155, 2159, 2163, 2166, 2169, 2172, 2174, 2177, 2181, 2185, 2187, 2189, 2191, 2193, 2195, 2197, 2199, 2201, 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2223, 2227, 2229, 2233, 2236, 2238, 2241, 2244, 2247, 2252, 2257, 2261, 2265, 2270, 2276, 2281, 2288, 2295, 2300, 2306, 2311, 2318, 2325, 2331, 2337, 2340, 2343, 2346, 2352, 2356, 2362, 2369, 2375, 2383, 2391, 2400, 2409, 2417, 2425, 2429, 2433, 2437, 2442, 2446, 2452, 2458, 2465, 2473, 2480, 2485, 2487, 2489, 2491, 2493, 2495, 2497, 2499, 2501, 2503, 2506, 2508, 2510, 2512, 2514, 2516, 2518, 2520, 2522, 2524, 2526, 2528, 2530, 2532, 2534, 2536, 2538, 2543, 2548, 2553, 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569, 2571, 2573, 2575, 2577, 2579, 2581, 2583, 2585, 2587, 2589, 2591, 2593, 2595, 2597, 2599, 2601, 2603, 2605, 2607, 2612, 2617, 2622, 2624, 2626, 2629, 2632, 2636, 2642, 2645, 2649, 2655, 2661, 2667, 2669, 2673, 2676, 2679, 2683, 2687, 2690, 2694, 2698, 2703, 2707, 2711, 2715, 2719, 2723, 2727, 2732, 2737, 2742, 2744, 2746, 2751, 2755, 2758, 2762, 2766, 2770, 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, 2808, 2810, 2812, 2815, 2817, 2820, 2822, 2825, 2827, 2830, 2832, 2835, 2837, 2840, 2842, 2845, 2847, 2850, 2852, 2855, 2857, 2860, 2862, 2865, 2867, 2870, 2872, 2875, 2877, 2880, 2882, 2885, 2887, 2890, 2892, 2895, 2897, 2900, 2902, 2905, 2907, 2910, 2912, 2915, 2917, 2920, 2922, 2925, 2927, 2930, 2932, 2935, 2937, 2940, 2942, 2944, 2946, 2949, 2951, 2954, 2956, 2959, 2961, 2964, 2969, 2975, 2977, 2979, 2981, 2984, 2986, 2989, 2991, 2994, 2996, 2999, 3004, 3010, 3012, 3015, 3017, 3020, 3022, 3025, 3027, 3030, 3032, 3035, 3037, 3040, 3045, 3051, 3053, 3056, 3058, 3061, 3063, 3066, 3068, 3071, 3073, 3076, 3078, 3081, 3086, 3092, 3096, 3100, 3102, 3106, 3110, 3114, 3118, 3120, 3122, 3124, 3129, 3134, 3139, 3143, 3148, 3153, 3158, 3162, 3164, 3168, 3173, 3177, 3182, 3187, 3192, 3197, 3201, 3204, 3208, 3212, 3216, 3220, 3223, 3226, 3229, 3233, 3238, 3240, 3242, 3245, 3249, 3253, 3257, 3261, 3264, 3267, 3270, 3274, 3279, 3281, 3283, 3285, 3287, 3289, 3294, 3296, 3298, 3300, 3302, 3304, 3306, 3308, 3310, 3312, 3317, 3319, 3322, 3326, 3333, 3339, 3343, 3348, 3351, 3355, 3359, 3363, 3367, 3372, 3377, 3382, 3385, 3389, 3393, 3397, 3402, 3407, 3411, 3416, 3419, 3423, 3427, 3431, 3436, 3441, 3443, 3446, 3449, 3453, 3455, 3457, 3460, 3463, 3467, 3469, 3471, 3474, 3477, 3481, 3483, 3486, 3490, 3493, 3496, 3498, 3501, 3505, 3508, 3510, 3513, 3517, 3521, 3523, 3526, 3530, 3534, 3536, 3539, 3543, 3547, 3549, 3552, 3556, 3560, 3562, 3565, 3569, 3573, 3575, 3579, 3584, 3586, 3591, 3594, 3600, 3604, 3606, 3608, 3610, 3612, 3614, 3616, 3620, 3624, 3627, 3630, 3632, 3634, 3638, 3641, 3645, 3647, 3651, 3655, 3659, 3663, 3667, 3669, 3672, 3676, 3680, 3682, 3685, 3687, 3690, 3693, 3696, 3699, 3703, 3705, 3707, 3711, 3715, 3717, 3721, 3726, 3730, 3735, 3739, 3743, 3748, 3752, 3757, 3759, 3763, 3767, 3772, 3776, 3780, 3784, 3789, 3791, 3795, 3799, 3803, 3807, 3811, 3813, 3817, 3820, 3822, 3824, 3826, 3828, 3830, 3833, 3835, 3837, 3839, 3841, 3844, 3847, 3850, 3852, 3854, 3856, 3858, 3860, 3863, 3865, 3867, 3872, 3880, 3882, 3886, 3887, 3894, 3903, 3914, 3927, 3936, 3947, 3958, 3964, 3972, 3982, 3994, 4002, 4012, 4022, 4026, 4031, 4036, 4040, 4044, 4048, 4053, 4058, 4062, 4066, 4070, 4075, 4080, 4084, 4087, 4091, 4094, 4098, 4103, 4108, 4112, 4116, 4118, 4120, 4122, 4124, 4126, 4129, 4133, 4136, 4139, 4142, 4146, 4150, 4153, 4159, 4166, 4169, 4172, 4175, 4178, 4181, 4184, 4186, 4189, 4192, 4196, 4198, 4201, 4203, 4206, 4209, 4211, 4214, 4217, 4220, 4223, 4226, 4229, 4231, 4233, 4236, 4239, 4241, 4243, 4246, 4249, 4251, 4254, 4257, 4259, 4262, 4264, 4267, 4270, 4276, 4282, 4290, 4298, 4304, 4310, 4314, 4317, 4323, 4328, 4333, 4341, 4348, 4355, 4361, 4369, 4376, 4381, 4389, 4399, 4403, 4408, 4413, 4419, 4425, 4432, 4440, 4447, 4454, 4460, 4466, 4471, 4475, 4478, 4480, 4483, 4488, 4492, 4498, 4503, 4507, 4510, 4513, 4516, 4520, 4524, 4528, 4532, 4535, 4538, 4540, 4542, 4547, 4551, 4556, 4560, 4564, 4567, 4572, 4576, 4581, 4585, 4589, 4592, 4594, 4597, 4599, 4601, 4604, 4606, 4609, 4613, 4617, 4619, 4622, 4625, 4628, 4632, 4637, 4642, 4645, 4648, 4651, 4654, 4656, 4659, 4661, 4664, 4666, 4669, 4672, 4674, 4677, 4679, 4682, 4685, 4688, 4691, 4693, 4696, 4699, 4703, 4705, 4707, 4708, 4715, 4722, 4728, 4733, 4735, 4738, 4741, 4743, 4747, 4751, 4756, 4758, 4760, 4763, 4766, 4773, 4780, 4787
93 static const yytype_int16 yyrhs[] =
95 391, 0, -1, 217, 120, -1, 217, 121, -1, 150, -1, 217, 217, -1, 28, -1, 28, -1, 148, -1, 148, 121, 211, 122, -1, 148, 121, 211, 11, -1, 300, 335, -1, 333, -1, 300, 123, 124, -1, 125, 300, 123, 124, -1, 78, 300, 335, -1, 78, 333, -1, 300, 336, -1, 334, -1, 78, 300, 336, -1, 78, 334, -1, 151, 375, -1, 154, 375, -1, 154, 126, -1, 152, 375, -1, 153, 375, -1, 151, 126, -1, 151, 325, 126, -1, 151, 376, -1, 155, -1, 154, 376, -1, 156, -1, 156, 126, -1, 299, 335, -1, 299, 337, -1, 299, 336, -1, 159, 375, -1, 159, 376, -1, 160, -1, 159, -1, 225, 127, 340, -1, 340, -1, 225, 127, 341, -1, 225, 127, 1, -1, 341, -1, 163, -1, 165, 128, 163, -1, 166, 128, 163, -1, 164, -1, 165, 128, 164, -1, 166, 128, 164, -1, 165, 128, 1, -1, 166, 128, 1, -1, 128, -1, 165, 126, -1, 166, 126, -1, 167, -1, 161, -1, 170, 167, -1, 170, 161, -1, 168, 167, -1, 168, 161, -1, 170, 126, -1, 168, 126, -1, 126, -1, 168, -1, 165, -1, 168, 165, -1, 170, 165, -1, 162, -1, 169, 162, -1, 170, 162, -1, 168, 162, -1, 168, 166, -1, 166, -1, 165, 1, -1, 172, 129, -1, 172, 1, 129, -1, 299, 217, 130, 170, -1, 299, 217, 130, 169, 1, -1, 299, 217, 130, 169, -1, 299, 217, 130, -1, 299, 217, 130, 1, -1, 174, 129, -1, 174, 1, 129, -1, 300, 217, 130, 170, -1, 300, 217, 130, 169, 1, -1, 300, 217, 130, 169, -1, 300, 217, 130, -1, 300, 217, 130, 1, -1, 301, 217, 130, 169, 129, -1, 301, 217, 130, 170, 129, -1, 301, 217, 130, 129, -1, 177, 129, -1, 177, 1, 129, -1, 150, 130, 169, -1, 217, 130, 169, -1, 150, 130, 170, -1, 150, 130, -1, 150, 130, 169, 1, -1, 150, 130, 1, -1, 217, 130, 170, -1, 217, 130, -1, 217, 130, 169, 1, -1, 217, 130, 1, -1, 179, 129, -1, 179, 1, 129, -1, 130, 170, -1, 130, 169, 1, -1, 130, 1, -1, 130, -1, 130, 169, -1, 225, 127, 340, -1, 225, 127, 341, -1, 225, 127, 1, -1, 225, 1, -1, 180, -1, 182, 128, 180, -1, 183, 128, 180, -1, 181, -1, 182, 128, 181, -1, 183, 128, 181, -1, 182, 1, -1, 68, 305, 217, 130, -1, 68, 305, 329, 217, 130, -1, 68, 305, 130, -1, 68, 305, 329, 130, -1, 68, 1, 130, -1, 184, -1, 185, 69, 375, -1, 185, 70, 375, -1, 185, 95, 375, -1, 185, 91, -1, 185, 97, 219, -1, 185, 129, -1, 99, 305, 217, 130, -1, 99, 305, 329, 217, 130, -1, 99, 305, 130, -1, 99, 305, 329, 130, -1, 99, 1, 130, -1, 187, -1, 188, 69, 375, -1, 188, 70, 375, -1, 188, 129, -1, 217, -1, 190, 217, -1, 190, 375, -1, 73, 375, -1, 191, -1, 192, 191, -1, 88, 123, 190, 124, 375, -1, 88, 123, 244, 124, 130, 192, 129, -1, 244, 131, 88, 123, 244, 124, 130, 192, 129, -1, 89, 123, 244, 128, 190, 124, -1, 244, 131, 89, 123, 244, 128, 190, 124, -1, 89, 123, 244, 124, -1, 244, 131, 89, 123, 244, 124, -1, 90, -1, 90, 190, -1, 225, 131, 90, -1, 244, 131, 90, 190, -1, 198, 126, -1, 182, 126, -1, 157, -1, 186, -1, 363, 157, -1, 363, 186, -1, 189, -1, 91, -1, 93, -1, 94, -1, 99, 123, 217, 124, 127, 340, 126, -1, 126, -1, 363, 132, -1, 363, 123, 217, 124, -1, 158, -1, 300, -1, 300, 287, -1, 363, 300, 287, -1, 363, 300, -1, 363, 176, -1, 363, 173, -1, 98, 300, 287, -1, 193, -1, 92, 217, -1, 92, 150, -1, 96, 217, -1, 176, -1, 173, -1, 182, -1, 174, 1, -1, 177, 1, -1, 363, 158, -1, 363, 174, 1, -1, 363, 177, 1, -1, 183, -1, 197, -1, 199, 197, -1, 200, 197, -1, 198, -1, 199, 1, -1, 200, 1, -1, 199, 198, -1, 200, 198, -1, 300, -1, 300, 329, -1, 300, -1, 300, 329, -1, 65, 217, -1, 65, 217, 127, 202, -1, 65, 217, 132, 201, -1, 65, 217, 132, 201, 127, 202, -1, 65, 149, -1, 65, 149, 127, 202, -1, 65, 149, 132, 201, -1, 65, 149, 132, 201, 127, 202, -1, 217, -1, 217, -1, 217, 127, 204, -1, 234, -1, 300, 217, 127, 206, -1, 300, 329, 217, 127, 206, -1, 203, -1, 205, -1, 207, -1, 208, -1, 209, 128, 208, -1, 206, -1, 204, -1, 202, -1, 217, 127, 206, -1, 217, 127, 204, -1, 217, 127, 202, -1, 210, -1, 211, 128, 210, -1, 65, -1, 212, 217, -1, 212, 148, -1, 217, 212, 217, -1, 217, 212, 148, -1, 212, 217, 121, 209, 122, -1, 212, 148, 121, 209, 122, -1, 217, 212, 217, 121, 209, 122, -1, 217, 212, 148, 121, 209, 122, -1, 216, 129, -1, 215, 126, -1, 213, 130, 129, -1, 215, 130, 129, -1, 212, 217, 126, -1, 212, 147, 126, -1, 213, 132, 304, -1, 213, 130, 200, -1, 215, 130, 200, -1, 213, 130, 199, -1, 215, 130, 199, -1, 213, 130, 1, -1, 215, 130, 1, -1, 3, -1, 221, -1, 123, 246, 124, -1, 386, -1, 133, 386, -1, 133, 386, 131, 386, -1, 4, -1, 217, -1, 176, -1, 85, 123, 375, 124, -1, 85, 123, 246, 124, -1, 85, 123, 347, 124, 338, -1, 85, 123, 347, 124, 123, 347, 124, 338, -1, 220, 217, -1, 220, -1, 219, -1, 118, -1, 123, 124, -1, 71, 307, 330, 134, 266, 135, -1, 71, 307, 330, 134, 267, 135, -1, 71, 307, 134, 266, 135, -1, 71, 307, 134, 267, 135, -1, 102, 307, 330, 134, 266, 135, -1, 102, 307, 330, 134, 267, 135, -1, 102, 307, 134, 266, 135, -1, 102, 307, 134, 267, 135, -1, 72, 266, 306, 330, 134, 266, 135, -1, 72, 266, 306, 330, 134, 267, 135, -1, 72, 266, 306, 134, 266, 135, -1, 72, 266, 306, 134, 267, 135, -1, 103, 266, 306, 330, 134, 266, 135, -1, 103, 266, 306, 330, 134, 267, 135, -1, 103, 266, 306, 134, 266, 135, -1, 103, 266, 306, 134, 267, 135, -1, 65, 123, 299, 124, -1, 65, 123, 299, 329, 124, -1, 65, 123, 217, 124, -1, 104, 123, 244, 128, 347, 124, -1, 98, 123, 217, 124, -1, 398, -1, 399, -1, 400, -1, 401, -1, 134, 226, 135, -1, 134, 135, -1, 178, -1, 179, 1, -1, 123, 246, -1, 123, 264, -1, 218, -1, 225, 134, 246, 135, -1, 225, 134, 264, 135, -1, 225, 123, 124, -1, 225, 123, 226, 124, -1, 225, 123, 227, 124, -1, 225, 131, 217, -1, 225, 7, 217, -1, 225, 8, -1, 225, 9, -1, 248, 134, 246, 135, -1, 248, 134, 264, 135, -1, 248, 123, 124, -1, 248, 123, 226, 124, -1, 248, 131, 217, -1, 248, 7, 217, -1, 248, 8, -1, 248, 9, -1, 244, -1, 222, -1, 226, 128, 244, -1, 226, 128, 222, -1, 263, -1, 223, -1, 226, 128, 263, -1, 226, 128, 223, -1, 226, 128, -1, 8, 229, -1, 9, 229, -1, 230, 231, -1, 230, 222, -1, 6, 229, -1, 6, 123, 348, 124, -1, 6, 123, 65, 147, 124, -1, 6, 123, 65, 146, 124, -1, 109, 229, -1, 109, 123, 348, 124, -1, 119, 123, 348, 128, 217, 124, -1, 228, -1, 225, -1, 136, -1, 120, -1, 137, -1, 138, -1, 125, -1, 139, -1, 73, -1, 84, -1, 229, -1, 123, 347, 124, 231, -1, 231, -1, 232, 120, 231, -1, 232, 140, 231, -1, 232, 141, 231, -1, 252, 120, 231, -1, 252, 140, 231, -1, 252, 141, 231, -1, 232, -1, 233, 137, 232, -1, 233, 138, 232, -1, 253, 137, 232, -1, 253, 138, 232, -1, 233, -1, 234, 10, 233, -1, 234, 11, 233, -1, 254, 10, 233, -1, 254, 11, 233, -1, 236, 121, -1, 234, -1, 235, 234, -1, 236, 122, 234, -1, 236, 12, 234, -1, 236, 13, 234, -1, 255, 121, 234, -1, 255, 122, 234, -1, 255, 12, 234, -1, 255, 13, 234, -1, 236, -1, 237, 14, 236, -1, 237, 15, 236, -1, 256, 14, 236, -1, 256, 15, 236, -1, 237, 14, 222, -1, 237, 15, 222, -1, 256, 14, 222, -1, 256, 15, 222, -1, 237, -1, 238, 136, 237, -1, 257, 136, 237, -1, 238, 136, 222, -1, 257, 136, 222, -1, 238, -1, 239, 142, 238, -1, 258, 142, 238, -1, 239, 142, 222, -1, 258, 142, 222, -1, 239, -1, 240, 143, 239, -1, 259, 143, 239, -1, 240, 143, 222, -1, 259, 143, 222, -1, 240, -1, 241, 16, 240, -1, 260, 16, 240, -1, 241, -1, 242, 17, 241, -1, 261, 17, 241, -1, 242, -1, 242, 144, 246, 132, 243, -1, 242, 144, 264, 132, 243, -1, 261, 144, 246, 132, 243, -1, 261, 144, 264, 132, 243, -1, 242, 144, 247, 132, 243, -1, 242, 144, 265, 132, 243, -1, 261, 144, 247, 132, 243, -1, 261, 144, 265, 132, 243, -1, 242, 144, 246, 132, 222, -1, 242, 144, 264, 132, 222, -1, 261, 144, 246, 132, 222, -1, 261, 144, 264, 132, 222, -1, 242, 144, 247, 132, 222, -1, 242, 144, 265, 132, 222, -1, 261, 144, 247, 132, 222, -1, 261, 144, 265, 132, 222, -1, 243, -1, 229, 245, 244, -1, 250, 245, 244, -1, 243, 245, 244, -1, 262, 245, 244, -1, 229, 245, 222, -1, 250, 245, 222, -1, 243, 245, 222, -1, 262, 245, 222, -1, 127, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 244, -1, 246, 128, 244, -1, 264, 128, 244, -1, 264, 124, -1, 222, -1, 246, 128, 222, -1, 264, 128, 222, -1, 224, -1, 1, -1, 225, 1, -1, 177, 1, -1, 225, 7, 1, -1, 248, 7, 1, -1, 225, 123, 226, -1, 225, 123, 227, -1, 225, 131, 1, -1, 248, 123, 227, -1, 248, 131, 1, -1, 8, 250, -1, 9, 250, -1, 230, 251, -1, 230, 223, -1, 6, 250, -1, 6, 123, 348, 124, 1, -1, 6, 123, 65, 147, 124, 1, -1, 6, 123, 65, 146, 124, 1, -1, 109, 250, -1, 109, 123, 348, 124, 1, -1, 249, -1, 248, -1, 250, -1, 123, 347, 124, 251, -1, 251, -1, 232, 120, 251, -1, 232, 140, 251, -1, 232, 141, 251, -1, 252, 120, 251, -1, 252, 140, 251, -1, 252, 141, 251, -1, 252, -1, 233, 137, 252, -1, 233, 138, 252, -1, 253, 137, 252, -1, 253, 138, 252, -1, 253, -1, 234, 10, 253, -1, 234, 11, 253, -1, 254, 10, 253, -1, 254, 11, 253, -1, 254, -1, 235, 254, -1, 236, 122, 254, -1, 236, 12, 254, -1, 236, 13, 254, -1, 255, 121, 254, -1, 255, 122, 254, -1, 255, 12, 254, -1, 255, 13, 254, -1, 255, -1, 237, 14, 255, -1, 237, 15, 255, -1, 256, 14, 255, -1, 256, 15, 255, -1, 237, 14, 223, -1, 237, 15, 223, -1, 256, 14, 223, -1, 256, 15, 223, -1, 256, -1, 238, 136, 256, -1, 257, 136, 256, -1, 238, 136, 223, -1, 257, 136, 223, -1, 257, -1, 239, 142, 257, -1, 258, 142, 257, -1, 239, 142, 223, -1, 258, 142, 223, -1, 258, -1, 240, 143, 258, -1, 259, 143, 258, -1, 240, 143, 223, -1, 259, 143, 223, -1, 259, -1, 241, 16, 259, -1, 260, 16, 259, -1, 260, -1, 242, 17, 260, -1, 261, 17, 260, -1, 261, -1, 242, 144, 246, 132, 261, -1, 242, 144, 264, 132, 261, -1, 261, 144, 246, 132, 261, -1, 261, 144, 264, 132, 261, -1, 242, 144, 246, 132, -1, 242, 144, 264, 132, -1, 261, 144, 246, 132, -1, 261, 144, 264, 132, -1, 242, 144, 247, 132, 261, -1, 242, 144, 265, 132, 261, -1, 261, 144, 247, 132, 261, -1, 261, 144, 265, 132, 261, -1, 242, 144, 247, 132, -1, 242, 144, 265, 132, -1, 261, 144, 247, 132, -1, 261, 144, 265, 132, -1, 242, 144, 246, 132, 223, -1, 242, 144, 264, 132, 223, -1, 261, 144, 246, 132, 223, -1, 261, 144, 264, 132, 223, -1, 242, 144, 247, 132, 223, -1, 242, 144, 265, 132, 223, -1, 261, 144, 247, 132, 223, -1, 261, 144, 265, 132, 223, -1, 242, 144, 132, -1, 261, 144, 132, -1, 242, 144, -1, 261, 144, -1, 262, -1, 229, 245, 263, -1, 250, 245, 263, -1, 229, 245, 223, -1, 250, 245, 223, -1, 263, -1, 244, 1, -1, 246, 128, 263, -1, 264, 128, 263, -1, 246, 246, -1, 264, 246, -1, 246, 264, -1, 223, -1, 222, 1, -1, 246, 128, 223, -1, 264, 128, 223, -1, 243, -1, 262, -1, 29, -1, 30, -1, 31, -1, 117, -1, 32, -1, 33, -1, 116, -1, 29, -1, 30, -1, 31, -1, 117, -1, 32, -1, 33, -1, 116, -1, 217, -1, 217, 127, 266, -1, 217, 127, 267, -1, 270, -1, 271, 128, 270, -1, 271, 128, -1, 50, -1, 272, 217, -1, 272, 150, -1, 275, 129, -1, 272, 217, 130, 129, -1, 272, 150, 130, 129, -1, 272, 130, 271, -1, 272, 130, 1, -1, 272, 217, 130, 271, -1, 272, 217, 130, 271, 1, -1, 272, 217, 130, 1, -1, 272, 217, 130, 271, 126, 199, -1, 272, 217, 130, 271, 126, 200, -1, 272, 150, 130, 271, -1, 272, 150, 130, 271, 1, -1, 272, 150, 130, 1, -1, 272, 150, 130, 271, 126, 199, -1, 272, 150, 130, 271, 126, 200, -1, 272, 217, 130, 271, 126, -1, 272, 150, 130, 271, 126, -1, 272, 217, -1, 272, 150, -1, 278, 129, -1, 276, 132, 304, 130, 129, -1, 276, 130, 129, -1, 276, 132, 304, 130, 271, -1, 276, 132, 304, 130, 271, 1, -1, 276, 132, 304, 130, 1, -1, 276, 132, 304, 130, 271, 126, 199, -1, 276, 132, 304, 130, 271, 126, 200, -1, 276, 132, 304, 130, 271, 1, 126, 199, -1, 276, 132, 304, 130, 271, 1, 126, 200, -1, 276, 132, 304, 130, 1, 126, 199, -1, 276, 132, 304, 130, 1, 126, 200, -1, 272, 130, 271, -1, 272, 130, 1, -1, 276, 130, 271, -1, 276, 130, 271, 1, -1, 276, 130, 1, -1, 276, 130, 271, 126, 199, -1, 276, 130, 271, 126, 200, -1, 276, 132, 304, 130, 271, 126, -1, 276, 132, 304, 130, 271, 1, 126, -1, 276, 132, 304, 130, 1, 126, -1, 276, 130, 271, 126, -1, 277, -1, 294, -1, 278, -1, 295, -1, 320, -1, 44, -1, 45, -1, 281, -1, 282, -1, 283, 282, -1, 46, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 47, -1, 39, -1, 42, -1, 43, -1, 40, -1, 41, -1, 85, -1, 291, -1, 273, -1, 147, -1, 87, 123, 244, 124, -1, 100, 123, 147, 124, -1, 100, 123, 217, 124, -1, 66, -1, 82, -1, 83, -1, 113, -1, 112, -1, 114, -1, 115, -1, 46, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 47, -1, 39, -1, 42, -1, 43, -1, 40, -1, 41, -1, 85, -1, 291, -1, 273, -1, 150, -1, 113, -1, 112, -1, 114, -1, 115, -1, 87, 123, 244, 124, -1, 100, 123, 147, 124, -1, 100, 123, 217, 124, -1, 66, -1, 337, -1, 337, 325, -1, 132, 266, -1, 337, 132, 266, -1, 337, 132, 266, 132, 266, -1, 132, 267, -1, 337, 132, 267, -1, 337, 132, 266, 132, 267, -1, 337, 132, 267, 132, 267, -1, 337, 132, 267, 132, 266, -1, 286, -1, 287, 128, 286, -1, 296, 217, -1, 296, 148, -1, 296, 320, 217, -1, 296, 320, 148, -1, 290, 129, -1, 288, 130, 129, -1, 296, 130, 129, -1, 296, 320, 130, 129, -1, 288, 130, 199, -1, 288, 130, 200, -1, 288, 130, 1, -1, 296, 130, 199, -1, 296, 130, 200, -1, 296, 130, 1, -1, 296, 320, 130, 199, -1, 296, 320, 130, 200, -1, 296, 320, 130, 1, -1, 288, -1, 288, -1, 288, 121, 209, 122, -1, 292, 132, 304, -1, 295, 129, -1, 293, 130, 129, -1, 292, 130, 129, -1, 296, 130, 129, -1, 293, 130, 199, -1, 293, 130, 200, -1, 293, 130, 1, -1, 292, 130, 199, -1, 292, 130, 200, -1, 292, 130, 1, -1, 296, 130, 199, -1, 296, 130, 200, -1, 296, 130, 1, -1, 48, -1, 49, -1, 282, -1, 297, 282, -1, 284, -1, 297, 284, -1, 274, -1, 297, 274, -1, 289, -1, 297, 289, -1, 282, -1, 298, 282, -1, 284, -1, 298, 284, -1, 146, -1, 298, 146, -1, 274, -1, 298, 274, -1, 289, -1, 298, 289, -1, 268, -1, 299, 268, -1, 282, -1, 299, 282, -1, 285, -1, 299, 285, -1, 274, -1, 299, 274, -1, 289, -1, 299, 289, -1, 268, -1, 300, 268, -1, 282, -1, 300, 282, -1, 284, -1, 300, 284, -1, 146, -1, 300, 146, -1, 289, -1, 300, 289, -1, 274, -1, 300, 274, -1, 269, -1, 301, 269, -1, 282, -1, 301, 282, -1, 284, -1, 301, 284, -1, 146, -1, 301, 146, -1, 279, -1, 301, 279, -1, 280, -1, 301, 280, -1, 81, -1, 80, -1, 268, -1, 303, 268, -1, 282, -1, 303, 282, -1, 285, -1, 303, 285, -1, 217, -1, 303, 217, -1, 217, 121, 211, 122, -1, 303, 217, 121, 211, 122, -1, 303, -1, 296, -1, 268, -1, 305, 268, -1, 282, -1, 305, 282, -1, 285, -1, 305, 285, -1, 217, -1, 305, 217, -1, 217, 121, 211, 122, -1, 305, 217, 121, 211, 122, -1, 268, -1, 306, 268, -1, 282, -1, 306, 282, -1, 285, -1, 306, 285, -1, 289, -1, 306, 289, -1, 274, -1, 306, 274, -1, 217, -1, 306, 217, -1, 217, 121, 211, 122, -1, 306, 217, 121, 211, 122, -1, 268, -1, 307, 268, -1, 282, -1, 307, 282, -1, 285, -1, 307, 285, -1, 289, -1, 307, 289, -1, 274, -1, 307, 274, -1, 217, -1, 307, 217, -1, 217, 121, 211, 122, -1, 307, 217, 121, 211, 122, -1, 309, 128, 1, -1, 308, 128, 1, -1, 217, -1, 309, 128, 217, -1, 308, 128, 217, -1, 351, 128, 217, -1, 352, 128, 217, -1, 311, -1, 148, -1, 37, -1, 148, 134, 266, 135, -1, 148, 134, 267, 135, -1, 148, 134, 147, 135, -1, 148, 134, 135, -1, 310, 134, 266, 135, -1, 310, 134, 267, 135, -1, 310, 134, 147, 135, -1, 310, 134, 135, -1, 217, -1, 123, 331, 124, -1, 123, 320, 331, 124, -1, 123, 332, 124, -1, 123, 320, 332, 124, -1, 311, 134, 266, 135, -1, 311, 134, 267, 135, -1, 311, 134, 147, 135, -1, 311, 134, 135, -1, 311, 123, -1, 312, 353, 124, -1, 312, 354, 124, -1, 312, 309, 124, -1, 312, 308, 124, -1, 312, 124, -1, 312, 308, -1, 312, 1, -1, 312, 351, 123, -1, 312, 300, 217, 123, -1, 313, -1, 311, -1, 310, 123, -1, 316, 353, 124, -1, 316, 354, 124, -1, 316, 309, 124, -1, 316, 308, 124, -1, 316, 124, -1, 316, 308, -1, 316, 1, -1, 316, 351, 123, -1, 316, 300, 217, 123, -1, 317, -1, 310, -1, 74, -1, 75, -1, 325, -1, 86, 123, 386, 124, -1, 79, -1, 110, -1, 111, -1, 3, -1, 28, -1, 75, -1, 74, -1, 44, -1, 322, -1, 322, 123, 246, 124, -1, 323, -1, 324, 323, -1, 324, 128, 323, -1, 321, 123, 123, 324, 124, 124, -1, 321, 123, 123, 124, 124, -1, 123, 329, 124, -1, 123, 320, 329, 124, -1, 134, 135, -1, 134, 266, 135, -1, 134, 267, 135, -1, 134, 147, 135, -1, 326, 134, 135, -1, 326, 134, 266, 135, -1, 326, 134, 147, 135, -1, 326, 134, 267, 135, -1, 123, 124, -1, 123, 353, 124, -1, 123, 354, 124, -1, 326, 123, 124, -1, 326, 123, 353, 124, -1, 326, 123, 354, 124, -1, 123, 330, 124, -1, 123, 320, 330, 124, -1, 123, 124, -1, 123, 353, 124, -1, 123, 354, 124, -1, 327, 123, 124, -1, 327, 123, 353, 124, -1, 327, 123, 354, 124, -1, 120, -1, 120, 283, -1, 120, 328, -1, 120, 283, 328, -1, 328, -1, 326, -1, 328, 326, -1, 320, 328, -1, 320, 328, 326, -1, 328, -1, 327, -1, 328, 327, -1, 320, 328, -1, 320, 328, 327, -1, 315, -1, 328, 315, -1, 320, 328, 315, -1, 331, 320, -1, 337, 320, -1, 319, -1, 328, 319, -1, 320, 328, 319, -1, 332, 320, -1, 313, -1, 328, 313, -1, 320, 328, 313, -1, 328, 320, 313, -1, 314, -1, 328, 314, -1, 320, 328, 314, -1, 328, 320, 314, -1, 317, -1, 328, 317, -1, 320, 328, 317, -1, 328, 320, 317, -1, 318, -1, 328, 318, -1, 320, 328, 318, -1, 328, 320, 318, -1, 310, -1, 328, 310, -1, 320, 328, 310, -1, 328, 320, 310, -1, 244, -1, 130, 342, 129, -1, 130, 342, 128, 129, -1, 263, -1, 130, 342, 129, 1, -1, 130, 342, -1, 130, 342, 128, 129, 1, -1, 130, 342, 128, -1, 243, -1, 222, -1, 262, -1, 223, -1, 338, -1, 339, -1, 342, 128, 338, -1, 342, 128, 339, -1, 342, 338, -1, 342, 339, -1, 331, -1, 332, -1, 331, 127, 338, -1, 331, 1, -1, 331, 127, 339, -1, 343, -1, 345, 128, 343, -1, 37, 128, 343, -1, 38, 128, 343, -1, 148, 128, 343, -1, 346, 128, 343, -1, 344, -1, 343, 1, -1, 345, 128, 344, -1, 346, 128, 344, -1, 297, -1, 297, 329, -1, 298, -1, 298, 329, -1, 300, 332, -1, 300, 329, -1, 300, 136, -1, 300, 136, 332, -1, 300, -1, 65, -1, 300, 332, 1, -1, 300, 329, 1, -1, 349, -1, 351, 128, 349, -1, 351, 1, 128, 349, -1, 352, 128, 349, -1, 352, 1, 128, 349, -1, 1, 128, 349, -1, 309, 128, 349, -1, 309, 1, 128, 349, -1, 308, 128, 349, -1, 308, 1, 128, 349, -1, 350, -1, 351, 128, 350, -1, 352, 128, 350, -1, 352, 1, 128, 350, -1, 1, 128, 350, -1, 309, 128, 350, -1, 308, 128, 350, -1, 308, 1, 128, 350, -1, 351, -1, 351, 128, 51, -1, 352, 128, 51, -1, 309, 128, 51, -1, 308, 128, 51, -1, 1, 128, 51, -1, 352, -1, 351, 128, 1, -1, 352, 1, -1, 360, -1, 325, -1, 375, -1, 126, -1, 132, -1, 246, 126, -1, 378, -1, 380, -1, 382, -1, 359, -1, 196, 126, -1, 195, 126, -1, 194, 126, -1, 361, -1, 381, -1, 376, -1, 379, -1, 383, -1, 382, 1, -1, 264, -1, 386, -1, 386, 123, 244, 124, -1, 134, 217, 135, 386, 123, 244, 124, -1, 357, -1, 358, 128, 357, -1, -1, 86, 282, 123, 386, 124, 126, -1, 86, 282, 123, 386, 132, 358, 124, 126, -1, 86, 282, 123, 386, 132, 358, 132, 358, 124, 126, -1, 86, 282, 123, 386, 132, 358, 132, 358, 132, 358, 124, 126, -1, 86, 282, 123, 386, 3, 358, 124, 126, -1, 86, 282, 123, 386, 3, 358, 132, 358, 124, 126, -1, 86, 282, 123, 386, 132, 358, 3, 358, 124, 126, -1, 86, 123, 386, 124, 126, -1, 86, 123, 386, 132, 358, 124, 126, -1, 86, 123, 386, 132, 358, 132, 358, 124, 126, -1, 86, 123, 386, 132, 358, 132, 358, 132, 358, 124, 126, -1, 86, 123, 386, 3, 358, 124, 126, -1, 86, 123, 386, 3, 358, 132, 358, 124, 126, -1, 86, 123, 386, 132, 358, 3, 358, 124, 126, -1, 217, 132, 355, -1, 52, 266, 132, 355, -1, 52, 267, 132, 355, -1, 52, 132, 355, -1, 53, 132, 355, -1, 217, 132, 364, -1, 52, 266, 132, 364, -1, 52, 267, 132, 364, -1, 52, 132, 364, -1, 53, 132, 364, -1, 217, 132, 356, -1, 52, 266, 132, 356, -1, 52, 267, 132, 356, -1, 52, 132, 356, -1, 52, 132, -1, 53, 132, 356, -1, 53, 132, -1, 217, 132, 367, -1, 52, 266, 132, 367, -1, 52, 267, 132, 367, -1, 52, 132, 367, -1, 53, 132, 367, -1, 80, -1, 81, -1, 53, -1, 80, -1, 81, -1, 299, 126, -1, 299, 345, 126, -1, 171, 126, -1, 367, 126, -1, 301, 126, -1, 301, 345, 126, -1, 302, 345, 126, -1, 175, 126, -1, 77, 217, 127, 243, 126, -1, 31, 77, 217, 127, 243, 126, -1, 301, 1, -1, 299, 1, -1, 367, 1, -1, 172, 1, -1, 171, 1, -1, 299, 346, -1, 364, -1, 368, 364, -1, 369, 364, -1, 368, 1, 126, -1, 367, -1, 368, 367, -1, 355, -1, 370, 355, -1, 371, 355, -1, 356, -1, 370, 356, -1, 371, 356, -1, 370, 364, -1, 371, 364, -1, 370, 367, -1, 371, 367, -1, 370, -1, 368, -1, 368, 370, -1, 369, 370, -1, 371, -1, 369, -1, 368, 371, -1, 369, 371, -1, 130, -1, 376, 129, -1, 374, 373, -1, 374, -1, 374, 372, -1, 126, -1, 246, 126, -1, 264, 126, -1, 54, 123, 246, 124, 355, -1, 54, 123, 264, 124, 355, -1, 54, 123, 246, 124, 355, 64, 355, -1, 54, 123, 264, 124, 355, 64, 355, -1, 55, 123, 246, 124, 355, -1, 55, 123, 264, 124, 355, -1, 54, 123, 264, -1, 378, 1, -1, 56, 123, 246, 124, 355, -1, 56, 123, 264, 355, -1, 56, 123, 124, 355, -1, 57, 355, 56, 123, 246, 124, 126, -1, 57, 355, 56, 123, 264, 126, -1, 58, 123, 377, 377, 124, 355, -1, 58, 123, 377, 124, 355, -1, 58, 123, 377, 377, 246, 124, 355, -1, 58, 123, 377, 377, 264, 355, -1, 58, 123, 124, 355, -1, 58, 123, 217, 132, 246, 124, 355, -1, 58, 123, 217, 132, 246, 126, 246, 124, 355, -1, 58, 123, 1, -1, 58, 123, 264, 1, -1, 58, 123, 377, 1, -1, 58, 123, 377, 264, 1, -1, 58, 123, 377, 377, 264, -1, 58, 123, 377, 377, 124, 356, -1, 58, 123, 377, 377, 246, 124, 356, -1, 58, 123, 377, 377, 264, 356, -1, 57, 355, 56, 123, 246, 124, -1, 57, 355, 56, 123, 246, -1, 57, 355, 56, 123, 264, -1, 57, 355, 56, 123, -1, 57, 355, 56, -1, 57, 355, -1, 57, -1, 56, 1, -1, 56, 123, 124, 1, -1, 56, 123, 264, -1, 56, 123, 246, 124, 356, -1, 56, 123, 264, 356, -1, 59, 217, 126, -1, 60, 126, -1, 61, 126, -1, 62, 126, -1, 62, 246, 126, -1, 62, 264, 126, -1, 62, 222, 126, -1, 62, 223, 126, -1, 62, 264, -1, 62, 223, -1, 62, -1, 59, -1, 301, 333, 368, 375, -1, 301, 333, 375, -1, 301, 335, 368, 375, -1, 301, 335, 375, -1, 333, 368, 375, -1, 333, 375, -1, 301, 333, 368, 376, -1, 301, 333, 376, -1, 301, 335, 368, 376, -1, 301, 335, 376, -1, 333, 368, 376, -1, 333, 376, -1, 5, -1, 386, 5, -1, 384, -1, 214, -1, 301, 214, -1, 365, -1, 76, 386, -1, 76, 31, 386, -1, 76, 217, 386, -1, 126, -1, 362, 384, -1, 362, 214, -1, 362, 365, -1, 362, 76, 386, -1, 362, 76, 31, 386, -1, 362, 76, 217, 386, -1, 362, 132, -1, 31, 132, -1, 101, 217, -1, 101, 150, -1, 392, -1, 362, 392, -1, 216, -1, 301, 216, -1, 385, -1, 362, 216, -1, 362, 385, -1, 366, -1, 362, 366, -1, 388, -1, 390, 388, -1, 389, 388, -1, 390, 1, -1, 389, 1, -1, 387, -1, 390, 387, -1, 389, 214, -1, 389, 362, 214, -1, 390, -1, 389, -1, -1, 105, 386, 217, 130, 397, 129, -1, 105, 386, 150, 130, 397, 129, -1, 105, 386, 130, 397, 129, -1, 300, 217, 386, 126, -1, 217, -1, 122, 217, -1, 121, 217, -1, 394, -1, 395, 128, 394, -1, 107, 395, 126, -1, 107, 395, 217, 126, -1, 393, -1, 396, -1, 397, 393, -1, 397, 396, -1, 108, 123, 244, 128, 244, 124, -1, 106, 123, 386, 128, 217, 124, -1, 107, 123, 386, 128, 217, 124, -1, 105, 123, 386, 124, -1
98 static const yytype_uint16 yyrline[] =
100 0, 284, 284, 303, 342, 343, 423, 427, 430, 431, 432, 471, 473, 478, 483, 488, 490, 495, 497, 502, 504, 509, 511, 513, 515, 517, 521, 525, 538, 540, 542, 544, 546, 552, 554, 559, 564, 569, 571, 573, 578, 579, 583, 584, 595, 599, 600, 602, 607, 608, 610, 613, 625, 636, 655, 657, 662, 663, 664, 665, 666, 667, 668, 669, 682, 686, 687, 688, 689, 693, 694, 695, 696, 697, 698, 699, 703, 705, 710, 712, 714, 716, 718, 748, 750, 755, 757, 759, 761, 763, 792, 794, 796, 801, 803, 808, 810, 814, 816, 818, 820, 825, 828, 831, 834, 899, 901, 906, 908, 910, 912, 914, 945, 949, 950, 951, 955, 956, 957, 961, 962, 963, 964, 968, 971, 974, 977, 980, 985, 986, 988, 990, 992, 994, 999, 1003, 1006, 1009, 1012, 1015, 1020, 1021, 1023, 1028, 1032, 1034, 1039, 1041, 1046, 1048, 1053, 1058, 1060, 1065, 1067, 1069, 1071, 1076, 1078, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1099, 1100, 1102, 1106, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1124, 1125, 1129, 1130, 1131, 1135, 1139, 1140, 1141, 1145, 1146, 1147, 1148, 1149, 1153, 1154, 1166, 1167, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1182, 1186, 1187, 1191, 1199, 1200, 1204, 1205, 1206, 1210, 1211, 1215, 1216, 1217, 1218, 1219, 1220, 1260, 1261, 1265, 1273, 1274, 1282, 1283, 1285, 1286, 1295, 1296, 1300, 1307, 1314, 1320, 1327, 1333, 1342, 1349, 1355, 1361, 1367, 1373, 1379, 1390, 1395, 1396, 1401, 1402, 1403, 1407, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1466, 1470, 1474, 1475, 1479, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1525, 1526, 1527, 1528, 1532, 1533, 1534, 1535, 1536, 1540, 1541, 1542, 1543, 1545, 1546, 1547, 1548, 1551, 1552, 1554, 1558, 1559, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1579, 1580, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1594, 1595, 1596, 1597, 1598, 1602, 1603, 1604, 1605, 1606, 1610, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1630, 1631, 1632, 1633, 1634, 1636, 1637, 1638, 1639, 1643, 1644, 1645, 1647, 1648, 1652, 1653, 1654, 1656, 1657, 1661, 1662, 1663, 1665, 1666, 1670, 1671, 1672, 1676, 1677, 1678, 1682, 1683, 1684, 1685, 1686, 1688, 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1698, 1699, 1700, 1701, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1714, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1732, 1733, 1734, 1735, 1739, 1740, 1741, 1745, 1746, 1747, 1748, 1750, 1751, 1753, 1754, 1759, 1761, 1766, 1794, 1795, 1796, 1797, 1799, 1800, 1801, 1802, 1804, 1805, 1809, 1810, 1819, 1820, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1834, 1835, 1839, 1843, 1847, 1854, 1855, 1856, 1857, 1858, 1862, 1863, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1916, 1917, 1918, 1919, 1920, 1927, 1928, 1929, 1930, 1934, 1935, 1936, 1938, 1939, 1943, 1944, 1945, 1947, 1948, 1952, 1953, 1954, 1956, 1957, 1961, 1962, 1963, 1967, 1968, 1969, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2010, 2014, 2019, 2026, 2027, 2031, 2036, 2037, 2041, 2042, 2043, 2044, 2050, 2051, 2052, 2056, 2057, 2058, 2059, 2063, 2065, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2089, 2090, 2091, 2095, 2096, 2097, 2101, 2105, 2106, 2110, 2111, 2112, 2116, 2117, 2119, 2120, 2121, 2122, 2123, 2125, 2126, 2127, 2128, 2129, 2131, 2132, 2136, 2137, 2141, 2142, 2143, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2157, 2158, 2160, 2161, 2162, 2163, 2164, 2166, 2167, 2168, 2169, 2173, 2174, 2178, 2179, 2183, 2187, 2188, 2189, 2194, 2195, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2257, 2259, 2261, 2263, 2265, 2267, 2269, 2271, 2273, 2275, 2280, 2281, 2285, 2291, 2297, 2304, 2314, 2315, 2316, 2317, 2321, 2322, 2323, 2325, 2326, 2327, 2329, 2330, 2331, 2335, 2339, 2347, 2356, 2365, 2366, 2368, 2369, 2373, 2380, 2387, 2390, 2403, 2417, 2420, 2422, 2424, 2429, 2430, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2499, 2500, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2514, 2516, 2524, 2534, 2535, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2555, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2584, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2613, 2622, 2623, 2627, 2628, 2629, 2630, 2631, 2635, 2636, 2643, 2645, 2654, 2663, 2672, 2681, 2682, 2683, 2684, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2700, 2704, 2705, 2706, 2707, 2708, 2713, 2722, 2731, 2740, 2754, 2755, 2760, 2764, 2765, 2766, 2767, 2768, 2773, 2782, 2791, 2800, 2814, 2815, 2864, 2865, 2866, 2867, 2879, 2880, 2881, 2886, 2887, 2888, 2889, 2890, 2894, 2895, 2899, 2900, 2901, 2905, 2906, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2940, 2941, 2942, 2943, 2947, 2948, 2949, 2950, 2951, 2955, 2956, 2957, 2958, 2959, 2963, 2964, 2966, 2968, 2970, 2975, 2976, 2978, 2980, 2985, 2986, 2987, 2988, 2992, 2993, 2994, 2995, 2999, 3000, 3001, 3002, 3006, 3007, 3008, 3009, 3013, 3014, 3015, 3016, 3020, 3021, 3022, 3039, 3040, 3041, 3042, 3055, 3072, 3073, 3078, 3079, 3083, 3084, 3085, 3086, 3089, 3090, 3094, 3095, 3096, 3100, 3104, 3108, 3109, 3110, 3111, 3112, 3121, 3130, 3131, 3132, 3133, 3137, 3138, 3142, 3143, 3148, 3149, 3150, 3151, 3152, 3153, 3172, 3173, 3177, 3178, 3179, 3180, 3181, 3182, 3184, 3185, 3186, 3187, 3191, 3192, 3193, 3194, 3195, 3197, 3198, 3199, 3203, 3204, 3205, 3206, 3207, 3208, 3212, 3213, 3214, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3245, 3246, 3247, 3251, 3252, 3253, 3257, 3258, 3259, 3260, 3262, 3263, 3264, 3266, 3267, 3268, 3269, 3271, 3272, 3273, 3277, 3278, 3279, 3280, 3281, 3283, 3284, 3285, 3286, 3287, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3299, 3300, 3301, 3302, 3303, 3307, 3308, 3309, 3313, 3314, 3318, 3319, 3320, 3321, 3325, 3326, 3327, 3329, 3330, 3331, 3335, 3339, 3340, 3342, 3343, 3344, 3348, 3349, 3350, 3351, 3355, 3356, 3360, 3361, 3362, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3376, 3377, 3378, 3379, 3383, 3384, 3385, 3386, 3390, 3394, 3398, 3400, 3403, 3409, 3410, 3411, 3415, 3416, 3417, 3418, 3419, 3420, 3424, 3425, 3429, 3430, 3431, 3433, 3434, 3436, 3437, 3438, 3439, 3440, 3442, 3443, 3447, 3448, 3449, 3450, 3454, 3455, 3456, 3457, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3468, 3472, 3473, 3477, 3478, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3493, 3494, 3495, 3496, 3502, 3503, 3505, 3506, 3509, 3510, 3513, 3514, 3515, 3516, 3517, 3518, 3522, 3523, 3535, 3536, 3539, 3542, 3544, 3545, 3546, 3556, 3558, 3559, 3561, 3562, 3563, 3564, 3574, 3575, 3576, 3577, 3578, 3579, 3583, 3584, 3593, 3595, 3596, 3598, 3600, 3604, 3605, 3606, 3607, 3608, 3612, 3613, 3614, 3616, 3621, 3622, 3623, 3627, 3628, 3629, 3633, 3637, 3638, 3639, 3643, 3644, 3648, 3649, 3653, 3654, 3655, 3656, 3660, 3664, 3668, 3672
103 static const char * const yytname[] =
105 "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT", "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR", "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION", "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS", "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP", "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE", "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT", "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING", "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION", "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY", "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS", "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD", "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL", "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD", "WIDE_STRING_LITERAL", "BUILTIN_OFFSETOF", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type", "base_strict_type_name", "strict_type", "class_function_definition_start", "constructor_function_definition_start", "destructor_function_definition_start", "virtual_class_function_definition_start", "class_function_definition_start_error", "virtual_class_function_definition_start_error", "class_function_definition", "class_function_definition_error", "instance_class_function_definition_start", "instance_class_function_definition_start_error", "instance_class_function_definition", "instance_class_function_definition_error", "data_member_initialization", "data_member_initialization_error", "data_member_initialization_list", "data_member_initialization_list_error", "data_member_initialization_list_coloned", "members_initialization_list_coloned", "members_initialization_list", "members_initialization_list_error", "instantiation_named", "instantiation_named_error", "guess_instantiation_named", "guess_instantiation_named_error", "external_guess_instantiation_named", "instantiation_unnamed", "instantiation_unnamed_error", "instantiation_anon", "instantiation_anon_error", "default_property", "default_property_error", "default_property_list", "default_property_list_error", "property_start", "property_body", "property", "class_property_start", "class_property_body", "class_property", "watch_property_list", "property_watch", "property_watch_list", "self_watch_definition", "watch_definition", "stopwatching", "firewatchers", "struct_declaration", "struct_declaration_error", "struct_declaration_list", "struct_declaration_list_error", "template_datatype", "template_type_argument", "template_type_parameter", "template_identifier_argument", "template_identifier_parameter", "template_expression_argument", "template_expression_parameter", "template_parameter", "template_parameters_list", "template_argument", "template_arguments_list", "class_entry", "class_decl", "class", "class_head", "class_error", "identifier", "primary_expression", "i18n_string", "constant", "simple_primary_expression", "anon_instantiation_expression", "anon_instantiation_expression_error", "primary_expression_error", "postfix_expression", "argument_expression_list", "argument_expression_list_error", "common_unary_expression", "unary_expression", "unary_operator", "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression_smaller_than", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "assignment_expression", "assignment_operator", "expression", "expression_anon_inst", "postfix_expression_error", "common_unary_expression_error", "unary_expression_error", "cast_expression_error", "multiplicative_expression_error", "additive_expression_error", "shift_expression_error", "relational_expression_error", "equality_expression_error", "and_expression_error", "exclusive_or_expression_error", "inclusive_or_expression_error", "logical_and_expression_error", "logical_or_expression_error", "conditional_expression_error", "assignment_expression_error", "expression_error", "expression_anon_inst_error", "constant_expression", "constant_expression_error", "storage_class_specifier", "external_storage_class_specifier", "enumerator", "enumerator_list", "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound", "enum_specifier_compound_error", "enum_decl", "enum_class", "enum_class_error", "class_specifier", "class_specifier_error", "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier", "strict_type_specifier", "struct_declarator", "struct_declarator_list", "struct_entry", "struct_or_union_specifier_compound", "struct_or_union_specifier_compound_error", "struct_or_union_specifier_nocompound", "struct_decl", "struct_head", "struct_class", "struct_class_error", "struct_or_union", "specifier_qualifier_list", "guess_specifier_qualifier_list", "declaration_specifiers", "guess_declaration_specifiers", "external_guess_declaration_specifiers", "external_guess_declaration_specifiers_error", "_inheritance_specifiers", "inheritance_specifiers", "property_specifiers", "renew_specifiers", "new_specifiers", "identifier_list_error", "identifier_list", "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction", "direct_declarator_function_start", "direct_declarator_function", "direct_declarator_function_error", "direct_declarator", "direct_declarator_function_start_type_ok", "direct_declarator_function_type_ok", "direct_declarator_function_error_type_ok", "direct_declarator_type_ok", "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list", "attrib", "direct_abstract_declarator", "direct_abstract_declarator_noarray", "pointer", "abstract_declarator", "abstract_declarator_noarray", "declarator", "declarator_type_ok", "declarator_function", "declarator_function_error", "declarator_function_type_ok", "declarator_function_error_type_ok", "declarator_nofunction_type_ok", "initializer", "initializer_error", "initializer_condition", "initializer_condition_error", "initializer_list", "init_declarator", "init_declarator_error", "init_declarator_list", "init_declarator_list_error", "type_name", "guess_type_name", "parameter_declaration", "parameter_declaration_error", "parameter_list", "parameter_list_error", "parameter_type_list", "parameter_type_list_error", "statement", "statement_error", "asm_field", "asm_field_list", "asm_statement", "labeled_statement", "labeled_statement_error", "declaration_mode", "member_access", "declaration", "external_guess_declaration", "external_guess_declaration_error", "declaration_error", "declaration_list", "declaration_list_error", "statement_list", "statement_list_error", "compound_inside", "compound_inside_error", "compound_start", "compound_statement", "compound_statement_error", "expression_statement", "selection_statement", "selection_statement_error", "iteration_statement", "iteration_statement_error", "jump_statement", "jump_statement_error", "function_definition", "function_definition_error", "string_literal", "external_declaration", "external_declaration_error", "translation_unit_error", "translation_unit", "thefile", "dbtable_definition", "dbfield_entry", "dbindex_item", "dbindex_item_list", "dbindex_entry", "dbfield_definition_list", "database_open", "dbfield", "dbindex", "dbtable", 0
108 static const yytype_uint16 yyr1[] =
110 0, 145, 146, 146, 147, 147, 148, 149, 150, 150, 150, 151, 151, 152, 153, 154, 154, 155, 155, 156, 156, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 159, 159, 160, 161, 162, 162, 162, 163, 163, 164, 164, 164, 165, 165, 165, 166, 166, 166, 166, 166, 166, 167, 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 171, 171, 172, 172, 172, 172, 172, 173, 173, 174, 174, 174, 174, 174, 175, 175, 175, 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, 178, 179, 179, 179, 179, 179, 180, 181, 181, 181, 182, 182, 182, 183, 183, 183, 183, 184, 184, 184, 184, 184, 185, 185, 185, 185, 185, 185, 186, 187, 187, 187, 187, 187, 188, 188, 188, 189, 190, 190, 191, 191, 192, 192, 193, 194, 194, 195, 195, 195, 195, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 199, 199, 199, 200, 200, 200, 200, 200, 201, 201, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 204, 205, 205, 206, 207, 207, 208, 208, 208, 209, 209, 210, 210, 210, 210, 210, 210, 211, 211, 212, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, 214, 215, 216, 216, 216, 216, 216, 216, 217, 218, 218, 219, 219, 219, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 223, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, 227, 227, 227, 227, 227, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, 232, 232, 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 235, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 240, 240, 240, 240, 240, 241, 241, 241, 242, 242, 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 250, 250, 251, 251, 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, 256, 257, 257, 257, 257, 257, 258, 258, 258, 258, 258, 259, 259, 259, 259, 259, 260, 260, 260, 261, 261, 261, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 264, 264, 264, 264, 264, 264, 264, 265, 265, 265, 265, 266, 267, 268, 268, 268, 268, 268, 268, 268, 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, 271, 271, 271, 272, 273, 273, 274, 274, 274, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 277, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 279, 279, 280, 280, 281, 282, 282, 282, 283, 283, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, 288, 288, 288, 288, 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 291, 292, 292, 293, 294, 294, 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, 295, 296, 296, 297, 297, 297, 297, 297, 297, 297, 297, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 304, 304, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 309, 309, 309, 309, 309, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 311, 311, 311, 311, 311, 311, 311, 311, 311, 312, 313, 313, 313, 313, 313, 314, 314, 314, 314, 315, 315, 316, 317, 317, 317, 317, 317, 318, 318, 318, 318, 319, 319, 320, 320, 320, 320, 321, 321, 321, 322, 322, 322, 322, 322, 323, 323, 324, 324, 324, 325, 325, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 327, 327, 327, 327, 327, 327, 327, 327, 328, 328, 328, 328, 329, 329, 329, 329, 329, 330, 330, 330, 330, 330, 331, 331, 331, 331, 331, 332, 332, 332, 332, 333, 333, 333, 333, 334, 334, 334, 334, 335, 335, 335, 335, 336, 336, 336, 336, 337, 337, 337, 337, 338, 338, 338, 339, 339, 339, 339, 339, 340, 340, 341, 341, 342, 342, 342, 342, 342, 342, 343, 343, 343, 344, 344, 345, 345, 345, 345, 345, 345, 346, 346, 346, 346, 347, 347, 348, 348, 349, 349, 349, 349, 349, 349, 350, 350, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 352, 352, 352, 352, 352, 352, 352, 352, 353, 353, 353, 353, 353, 353, 354, 354, 354, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 356, 356, 356, 356, 356, 356, 356, 357, 357, 357, 358, 358, 358, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 362, 362, 362, 363, 363, 364, 364, 364, 364, 365, 365, 365, 365, 365, 365, 366, 367, 367, 367, 367, 367, 368, 368, 368, 368, 369, 369, 370, 370, 370, 371, 371, 371, 371, 371, 371, 371, 372, 372, 372, 372, 373, 373, 373, 373, 374, 375, 376, 376, 376, 377, 377, 377, 378, 378, 378, 378, 378, 378, 379, 379, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 382, 382, 382, 382, 382, 382, 382, 382, 383, 383, 383, 383, 384, 384, 384, 384, 384, 384, 385, 385, 385, 385, 385, 385, 386, 386, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 388, 388, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389, 390, 390, 390, 390, 391, 391, 391, 392, 392, 392, 393, 394, 394, 394, 395, 395, 396, 396, 397, 397, 397, 397, 398, 399, 400, 401
113 static const yytype_uint8 yyr2[] =
115 0, 2, 2, 2, 1, 2, 1, 1, 1, 4, 4, 2, 1, 3, 4, 3, 2, 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 3, 1, 3, 3, 1, 1, 3, 3, 1, 3, 3, 3, 3, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 3, 4, 5, 4, 3, 4, 2, 3, 4, 5, 4, 3, 4, 5, 5, 4, 2, 3, 3, 3, 3, 2, 4, 3, 3, 2, 4, 3, 2, 3, 2, 3, 2, 1, 2, 3, 3, 3, 2, 1, 3, 3, 1, 3, 3, 2, 4, 5, 3, 4, 3, 1, 3, 3, 3, 2, 3, 2, 4, 5, 3, 4, 3, 1, 3, 3, 2, 1, 2, 2, 2, 1, 2, 5, 7, 9, 6, 8, 4, 6, 1, 2, 3, 4, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 7, 1, 2, 4, 1, 1, 2, 3, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 3, 3, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 4, 4, 6, 2, 4, 4, 6, 1, 1, 3, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 3, 1, 2, 2, 3, 3, 5, 5, 6, 6, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 1, 2, 4, 1, 1, 1, 4, 4, 5, 8, 2, 1, 1, 1, 2, 6, 6, 5, 5, 6, 6, 5, 5, 7, 7, 6, 6, 7, 7, 6, 6, 4, 5, 4, 6, 4, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 1, 4, 4, 3, 4, 4, 3, 3, 2, 2, 4, 4, 3, 4, 3, 3, 2, 2, 1, 1, 3, 3, 1, 1, 3, 3, 2, 2, 2, 2, 2, 2, 4, 5, 5, 2, 4, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 2, 1, 2, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, 1, 3, 3, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 5, 6, 6, 2, 5, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 2, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 2, 2, 1, 3, 3, 3, 3, 1, 2, 3, 3, 2, 2, 2, 1, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 2, 1, 2, 2, 2, 4, 4, 3, 3, 4, 5, 4, 6, 6, 4, 5, 4, 6, 6, 5, 5, 2, 2, 2, 5, 3, 5, 6, 5, 7, 7, 8, 8, 7, 7, 3, 3, 3, 4, 3, 5, 5, 6, 7, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 2, 2, 3, 5, 2, 3, 5, 5, 5, 1, 3, 2, 2, 3, 3, 2, 3, 3, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 1, 1, 4, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 3, 3, 1, 3, 3, 3, 3, 1, 1, 1, 4, 4, 4, 3, 4, 4, 4, 3, 1, 3, 4, 3, 4, 4, 4, 4, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 4, 1, 1, 2, 3, 3, 3, 3, 2, 2, 2, 3, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 2, 3, 6, 5, 3, 4, 2, 3, 3, 3, 3, 4, 4, 4, 2, 3, 3, 3, 4, 4, 3, 4, 2, 3, 3, 3, 4, 4, 1, 2, 2, 3, 1, 1, 2, 2, 3, 1, 1, 2, 2, 3, 1, 2, 3, 2, 2, 1, 2, 3, 2, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 3, 4, 1, 4, 2, 5, 3, 1, 1, 1, 1, 1, 1, 3, 3, 2, 2, 1, 1, 3, 2, 3, 1, 3, 3, 3, 3, 3, 1, 2, 3, 3, 1, 2, 1, 2, 2, 2, 2, 3, 1, 1, 3, 3, 1, 3, 4, 3, 4, 3, 3, 4, 3, 4, 1, 3, 3, 4, 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, 1, 3, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 4, 7, 1, 3, 0, 6, 8, 10, 12, 8, 10, 10, 5, 7, 9, 11, 7, 9, 9, 3, 4, 4, 3, 3, 3, 4, 4, 3, 3, 3, 4, 4, 3, 2, 3, 2, 3, 4, 4, 3, 3, 1, 1, 1, 1, 1, 2, 3, 2, 2, 2, 3, 3, 2, 5, 6, 2, 2, 2, 2, 2, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 5, 5, 7, 7, 5, 5, 3, 2, 5, 4, 4, 7, 6, 6, 5, 7, 6, 4, 7, 9, 3, 4, 4, 5, 5, 6, 7, 6, 6, 5, 5, 4, 3, 2, 1, 2, 4, 3, 5, 4, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 1, 4, 3, 4, 3, 3, 2, 4, 3, 4, 3, 3, 2, 1, 2, 1, 1, 2, 1, 2, 3, 3, 1, 2, 2, 2, 3, 4, 4, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2, 3, 1, 1, 0, 6, 6, 5, 4, 1, 2, 2, 1, 3, 3, 4, 1, 1, 2, 2, 6, 6, 6, 4
118 static const yytype_uint16 yydefact[] =
120 1290, 257, 6, 592, 593, 594, 596, 597, 661, 662, 663, 664, 665, 667, 670, 671, 668, 669, 655, 656, 660, 666, 756, 757, 605, 1135, 235, 679, 913, 914, 0, 0, 917, 1133, 1134, 680, 681, 672, 0, 0, 0, 0, 0, 918, 919, 683, 682, 684, 685, 598, 595, 956, 0, 1259, 804, 675, 8, 4, 0, 0, 0, 1253, 0, 1272, 880, 798, 0, 674, 0, 650, 652, 806, 808, 657, 800, 802, 739, 673, 0, 0, 651, 653, 0, 0, 0, 0, 0, 979, 654, 0, 915, 0, 0, 0, 1255, 1277, 1252, 1274, 1284, 1279, 0, 0, 0, 1270, 0, 1267, 1250, 0, 0, 1256, 0, 0, 0, 0, 1269, 1268, 0, 658, 957, 654, 958, 871, 870, 880, 912, 869, 899, 970, 0, 911, 975, 0, 0, 0, 0, 0, 0, 1145, 0, 237, 236, 0, 0, 245, 0, 244, 2, 3, 0, 5, 0, 607, 606, 0, 0, 627, 0, 0, 0, 0, 743, 0, 723, 722, 0, 1148, 594, 664, 665, 1142, 805, 8, 1254, 1273, 880, 799, 807, 809, 801, 803, 979, 987, 654, 0, 0, 1018, 0, 0, 0, 1028, 0, 0, 871, 0, 870, 0, 0, 889, 0, 0, 585, 586, 587, 589, 590, 1041, 591, 588, 894, 792, 864, 786, 0, 796, 0, 788, 790, 739, 794, 0, 0, 1040, 0, 0, 1044, 1054, 0, 0, 0, 0, 0, 0, 980, 0, 687, 688, 689, 690, 691, 693, 696, 697, 694, 695, 686, 692, 709, 698, 0, 0, 703, 702, 704, 705, 1178, 701, 0, 0, 776, 700, 782, 778, 780, 784, 699, 0, 1154, 0, 0, 0, 0, 1243, 1249, 594, 0, 1266, 1261, 1275, 0, 1262, 1278, 1260, 1276, 1271, 1283, 1286, 0, 0, 0, 0, 0, 1281, 1282, 1285, 1280, 1, 0, 1257, 1258, 1251, 0, 0, 458, 263, 0, 0, 0, 0, 0, 0, 352, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 347, 0, 350, 0, 0, 346, 348, 349, 351, 0, 265, 0, 264, 306, 272, 271, 258, 457, 0, 344, 354, 0, 356, 363, 368, 374, 0, 383, 392, 397, 402, 407, 410, 413, 430, 0, 479, 478, 480, 482, 489, 494, 499, 508, 517, 522, 527, 532, 535, 538, 0, 260, 296, 297, 298, 299, 0, 0, 0, 0, 0, 659, 959, 0, 901, 0, 906, 0, 0, 0, 0, 0, 0, 0, 912, 971, 976, 0, 881, 973, 883, 978, 974, 672, 4, 229, 228, 227, 233, 0, 264, 354, 219, 480, 0, 206, 249, 0, 0, 248, 255, 0, 0, 1136, 1137, 0, 168, 0, 169, 170, 0, 0, 0, 0, 0, 172, 246, 0, 0, 0, 0, 29, 31, 163, 175, 188, 0, 187, 0, 116, 119, 0, 195, 128, 0, 164, 140, 0, 167, 183, 196, 199, 0, 0, 264, 0, 0, 176, 0, 983, 654, 0, 12, 18, 0, 811, 810, 818, 812, 0, 814, 816, 739, 823, 822, 250, 256, 247, 0, 0, 239, 238, 640, 599, 602, 639, 643, 629, 0, 0, 0, 222, 223, 224, 225, 0, 217, 0, 752, 745, 0, 0, 742, 749, 744, 0, 0, 755, 746, 0, 0, 725, 724, 0, 0, 0, 0, 0, 980, 988, 0, 1020, 0, 0, 1239, 1245, 0, 1241, 1247, 1029, 1143, 0, 0, 0, 1144, 888, 0, 264, 583, 584, 0, 0, 0, 0, 607, 606, 608, 0, 726, 0, 0, 664, 0, 0, 1038, 793, 8, 880, 787, 797, 789, 791, 795, 912, 869, 654, 961, 960, 0, 0, 0, 893, 0, 0, 892, 0, 0, 0, 1070, 0, 890, 891, 981, 0, 982, 0, 0, 1152, 1140, 1151, 76, 1149, 690, 691, 1138, 880, 777, 783, 779, 781, 785, 654, 0, 1153, 1150, 1141, 0, 1155, 0, 1242, 1248, 1156, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, 698, 0, 0, 0, 157, 1074, 1075, 701, 0, 0, 0, 264, 0, 354, 0, 0, 480, 567, 572, 0, 1072, 1160, 1163, 1080, 1071, 1084, 0, 0, 0, 0, 1182, 1180, 1073, 1086, 0, 1087, 1078, 1085, 0, 1088, 1179, 0, 0, 1263, 880, 0, 0, 0, 1273, 0, 869, 987, 654, 0, 0, 0, 0, 1249, 1287, 0, 0, 413, 0, 0, 916, 0, 337, 472, 0, 333, 468, 334, 469, 0, 858, 848, 856, 850, 852, 854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 476, 0, 274, 0, 0, 0, 762, 758, 760, 764, 1032, 0, 261, 0, 301, 302, 0, 325, 0, 324, 0, 460, 93, 0, 270, 459, 0, 314, 315, 0, 0, 0, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 439, 0, 0, 336, 471, 335, 470, 0, 0, 0, 0, 0, 0, 0, 375, 500, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 0, 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 677, 678, 0, 0, 0, 1302, 1303, 0, 0, 0, 875, 0, 0, 0, 879, 0, 0, 0, 905, 904, 902, 903, 912, 971, 976, 882, 884, 998, 10, 9, 0, 0, 0, 654, 960, 207, 0, 0, 264, 206, 0, 0, 830, 824, 826, 828, 0, 0, 0, 16, 20, 0, 185, 184, 186, 0, 0, 0, 0, 347, 0, 264, 0, 26, 0, 21, 28, 24, 0, 25, 23, 22, 30, 32, 190, 83, 191, 122, 162, 0, 0, 0, 0, 132, 0, 0, 134, 0, 0, 143, 161, 200, 197, 202, 201, 198, 203, 115, 0, 0, 0, 880, 720, 177, 995, 0, 991, 654, 0, 11, 17, 710, 896, 1040, 0, 0, 0, 984, 0, 0, 173, 165, 192, 181, 0, 180, 0, 166, 880, 179, 0, 607, 606, 819, 813, 815, 817, 0, 0, 0, 604, 642, 0, 0, 7, 212, 208, 741, 0, 0, 0, 0, 1017, 1024, 1025, 1026, 64, 53, 92, 39, 38, 57, 69, 45, 48, 0, 74, 56, 0, 0, 0, 1008, 1010, 0, 1007, 1009, 0, 41, 44, 912, 981, 972, 989, 977, 998, 990, 0, 999, 1002, 1019, 1021, 1238, 1244, 1240, 1246, 1023, 1030, 1027, 1031, 887, 885, 886, 1067, 1049, 1058, 612, 611, 0, 0, 458, 727, 0, 0, 458, 728, 0, 0, 0, 942, 880, 0, 0, 654, 960, 0, 0, 0, 934, 0, 0, 0, 0, 0, 1039, 963, 0, 0, 962, 1043, 1042, 0, 863, 1066, 866, 1052, 1060, 0, 862, 1065, 865, 1050, 1059, 0, 1069, 1063, 867, 1045, 1055, 0, 1064, 868, 1047, 1056, 920, 921, 924, 923, 922, 0, 925, 927, 0, 0, 0, 0, 77, 0, 1139, 1157, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 1072, 1219, 1077, 1079, 0, 0, 1227, 1228, 1229, 0, 1235, 0, 0, 0, 0, 0, 0, 158, 144, 1083, 1082, 1081, 0, 0, 0, 573, 0, 1076, 0, 0, 0, 0, 453, 0, 0, 458, 0, 0, 0, 0, 1161, 1164, 1166, 0, 1162, 1165, 1167, 0, 1193, 1089, 1264, 1265, 237, 236, 0, 0, 0, 988, 0, 0, 1245, 0, 1247, 1248, 0, 0, 1146, 0, 0, 770, 264, 772, 766, 768, 774, 1034, 0, 0, 0, 0, 0, 0, 859, 849, 857, 851, 853, 855, 654, 966, 965, 0, 844, 834, 842, 836, 838, 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 763, 759, 761, 765, 1033, 0, 0, 458, 0, 0, 0, 105, 0, 300, 458, 0, 0, 94, 458, 0, 0, 461, 313, 309, 329, 463, 464, 328, 465, 312, 0, 0, 435, 431, 303, 357, 483, 358, 484, 359, 485, 364, 490, 365, 491, 369, 495, 370, 496, 377, 502, 378, 503, 376, 501, 388, 513, 384, 509, 389, 514, 385, 510, 395, 520, 393, 518, 400, 525, 398, 523, 405, 530, 403, 528, 408, 533, 411, 536, 563, 0, 579, 0, 0, 0, 0, 437, 433, 462, 321, 318, 0, 466, 467, 320, 0, 0, 436, 432, 360, 486, 361, 487, 362, 488, 366, 492, 367, 493, 371, 497, 372, 498, 381, 506, 382, 507, 379, 504, 380, 505, 390, 515, 386, 511, 391, 516, 387, 512, 396, 521, 394, 519, 401, 526, 399, 524, 406, 531, 404, 529, 409, 534, 412, 537, 564, 0, 0, 0, 0, 438, 434, 0, 0, 1295, 1298, 0, 0, 1293, 1304, 1305, 0, 0, 874, 872, 873, 878, 876, 877, 234, 232, 231, 230, 264, 654, 963, 241, 0, 207, 240, 127, 0, 125, 831, 825, 827, 829, 0, 654, 0, 15, 19, 0, 182, 995, 654, 0, 139, 0, 137, 831, 0, 264, 654, 0, 27, 84, 117, 120, 118, 121, 129, 130, 131, 133, 141, 142, 114, 112, 113, 13, 712, 715, 0, 0, 908, 1040, 0, 0, 0, 996, 992, 0, 0, 711, 880, 897, 985, 986, 880, 193, 194, 178, 0, 0, 0, 0, 600, 601, 603, 0, 0, 632, 628, 0, 0, 0, 0, 0, 226, 218, 216, 0, 0, 0, 36, 37, 75, 54, 0, 55, 0, 63, 61, 72, 67, 73, 60, 90, 39, 70, 62, 91, 59, 71, 68, 0, 58, 0, 690, 33, 35, 34, 1011, 1012, 0, 620, 610, 0, 615, 609, 0, 458, 729, 0, 0, 0, 960, 0, 932, 943, 944, 937, 935, 936, 0, 964, 945, 0, 0, 938, 0, 0, 0, 1053, 1061, 1040, 1051, 1046, 1048, 1057, 931, 0, 0, 0, 928, 706, 707, 708, 458, 0, 0, 1114, 1124, 1119, 0, 0, 0, 1115, 1126, 1120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218, 1206, 0, 1183, 264, 0, 0, 0, 1226, 1232, 1233, 1230, 1231, 0, 0, 0, 0, 145, 1111, 1121, 1116, 0, 159, 570, 568, 0, 0, 0, 451, 574, 571, 569, 452, 575, 0, 989, 1244, 1246, 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 773, 767, 769, 775, 1035, 0, 293, 291, 0, 0, 950, 654, 0, 0, 0, 0, 0, 0, 968, 0, 967, 0, 0, 0, 845, 835, 843, 837, 839, 841, 0, 267, 0, 266, 295, 0, 0, 0, 0, 0, 0, 1309, 0, 0, 0, 0, 0, 355, 481, 262, 108, 106, 327, 326, 99, 103, 310, 0, 311, 307, 308, 580, 0, 0, 0, 0, 0, 0, 319, 316, 317, 0, 0, 0, 0, 1297, 1296, 1300, 0, 0, 0, 1292, 1291, 0, 960, 218, 0, 0, 123, 126, 0, 0, 0, 0, 0, 996, 0, 135, 138, 0, 14, 458, 0, 0, 721, 0, 880, 909, 997, 993, 994, 713, 716, 898, 174, 820, 0, 243, 242, 0, 631, 0, 213, 214, 204, 209, 210, 220, 0, 0, 51, 46, 49, 52, 47, 50, 37, 43, 40, 42, 0, 0, 1015, 1016, 619, 0, 614, 0, 963, 962, 933, 946, 947, 940, 939, 941, 1037, 1036, 0, 930, 929, 79, 1112, 1122, 1117, 0, 1113, 1123, 1118, 0, 0, 0, 0, 0, 1222, 1196, 0, 0, 1195, 1225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, 0, 1184, 1207, 1185, 1208, 0, 0, 0, 1096, 916, 1096, 0, 0, 155, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 292, 860, 0, 965, 0, 948, 951, 952, 277, 278, 0, 969, 953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 281, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, 331, 330, 455, 581, 422, 555, 414, 539, 426, 559, 418, 547, 456, 582, 423, 556, 415, 540, 427, 560, 419, 548, 424, 557, 416, 541, 428, 561, 420, 549, 425, 558, 417, 542, 429, 562, 421, 550, 1299, 1301, 1294, 832, 0, 124, 150, 997, 0, 136, 86, 910, 0, 0, 821, 0, 0, 0, 0, 0, 0, 205, 0, 221, 0, 0, 1013, 1014, 1003, 0, 0, 0, 0, 926, 1186, 1187, 1190, 1191, 1194, 1224, 0, 0, 0, 0, 0, 0, 0, 1200, 1209, 0, 0, 0, 0, 1094, 0, 1091, 1104, 0, 1096, 0, 1096, 0, 0, 0, 0, 475, 474, 967, 949, 861, 954, 955, 275, 276, 846, 285, 286, 0, 0, 0, 0, 279, 280, 289, 290, 0, 0, 294, 1307, 1308, 1306, 343, 833, 0, 714, 717, 719, 718, 0, 0, 215, 211, 0, 1000, 1005, 0, 0, 0, 0, 0, 0, 0, 1214, 1198, 0, 0, 1199, 1211, 0, 1202, 1213, 0, 0, 0, 1096, 0, 1096, 0, 1096, 0, 1097, 0, 0, 0, 148, 0, 153, 0, 156, 0, 847, 283, 284, 0, 287, 288, 171, 1001, 1188, 1189, 0, 0, 1197, 1204, 0, 1201, 1212, 0, 1108, 1095, 0, 0, 0, 1105, 0, 0, 1096, 1096, 0, 1096, 147, 146, 151, 149, 0, 0, 355, 481, 269, 0, 0, 0, 1092, 0, 0, 1096, 1101, 0, 0, 1098, 0, 0, 154, 1205, 0, 1109, 1110, 1106, 0, 0, 0, 0, 1096, 152, 0, 0, 1102, 1103, 1099, 0, 1093, 1107, 0, 1100
123 static const yytype_int16 yydefgoto[] =
125 -1, 209, 55, 56, 975, 333, 441, 442, 443, 444, 445, 446, 447, 448, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 256, 257, 449, 450, 58, 334, 335, 746, 775, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 2093, 2094, 2095, 463, 646, 647, 648, 464, 465, 466, 467, 1787, 409, 505, 410, 506, 411, 507, 508, 867, 412, 413, 59, 60, 61, 62, 63, 336, 337, 338, 339, 340, 1001, 1002, 341, 342, 749, 1269, 343, 651, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 734, 829, 653, 1326, 360, 361, 654, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 655, 656, 1127, 1328, 554, 555, 211, 65, 498, 499, 212, 67, 213, 214, 68, 69, 70, 71, 72, 73, 215, 118, 216, 262, 932, 933, 217, 218, 219, 77, 78, 79, 80, 81, 220, 741, 1203, 265, 471, 83, 84, 488, 489, 877, 1226, 718, 1050, 1051, 124, 85, 472, 87, 473, 127, 128, 129, 936, 130, 119, 89, 1099, 1100, 1101, 90, 580, 1217, 475, 582, 1219, 133, 185, 476, 477, 187, 940, 135, 1019, 1537, 1007, 1008, 1538, 188, 189, 190, 191, 742, 1204, 224, 225, 226, 227, 228, 229, 659, 660, 2013, 2014, 661, 662, 663, 93, 478, 266, 94, 95, 267, 268, 269, 666, 667, 668, 669, 270, 670, 898, 1621, 1130, 673, 674, 675, 1131, 677, 96, 97, 375, 98, 99, 100, 101, 102, 103, 835, 1398, 1399, 836, 837, 376, 377, 378, 379
128 static const int yypact[] =
130 39187, -1899, -1899, -1899, -1899, 28, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1069, 108, -1899, -1899, -1899, -1899, -1899, -1899, 247, 289, 412, 684, 114, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 2473, 2733, -1899, -1899, -1899, 241, -1899, 473, 684, 570, -1899, 243, 511, 1084, -1899, 314, -1899, 630, -1899, 602, -1899, -1899, -1899, -1899, -1899, 1093, -1899, 669, 710, -1899, 768, 1102, 38788, 2421, 232, 39484, -1899, 660, 811, -1899, 1887, 42123, 37351, -1899, -1899, -1899, -1899, -1899, -1899, 39290, 38383, 939, -1899, 108, -1899, -1899, 114, 114, 946, 873, 114, 29983, 684, -1899, -1899, 608, -1899, 2473, -1899, -1899, -1899, 822, -1899, 309, 1051, -1899, -1899, 39582, -1899, -1899, 2733, 1716, 1792, 2148, 1291, 23700, -1899, 897, 66, 555, 31128, 41746, -1899, 31255, -1899, -1899, -1899, 684, -1899, 1240, 1213, 1331, 166, 41746, -1899, 41476, 31382, 41746, 31509, -1899, 31636, -1899, -1899, 684, -1899, -1899, 271, 947, -1899, -1899, 950, -1899, 511, 649, -1899, -1899, -1899, -1899, -1899, 1262, 1409, 660, 1716, 1265, 1291, 42123, 42123, 416, -1899, 1354, 952, 961, 947, 535, 660, 1363, -1899, 28283, 979, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 672, -1899, 395, -1899, 991, -1899, -1899, 1013, -1899, 1019, 1548, 36431, 408, 515, -1899, -1899, 758, 775, 1038, 1056, 144, 1064, -1899, 144, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1104, 1107, -1899, -1899, -1899, -1899, -1899, -1899, 181, 36, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 38988, -1899, 17556, 6071, 42328, 17696, -1899, 1063, 1174, 1137, -1899, -1899, 511, 38888, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 602, 768, 40072, 42123, 40360, -1899, -1899, -1899, -1899, -1899, 1164, 946, 946, -1899, 29983, 504, -1899, -1899, 30068, 30153, 30153, 1142, 41926, 29983, -1899, -1899, 1198, 1232, 41926, 29983, 1237, 1244, 1271, 1280, 1283, 30238, -1899, 1311, -1899, 11066, -1899, 114, 25648, -1899, -1899, -1899, -1899, 1325, -1899, 84, 1341, -1899, -1899, 108, -1899, -1899, 12949, -1899, 1485, 28368, -1899, 1014, 902, 1199, 29983, 844, 1114, 1305, 1376, 1359, 1514, 135, 1485, 1412, 719, -1899, 1485, -1899, 1097, 1168, 1550, 1113, 1615, 1404, 1403, 1406, 1536, 286, 1485, 946, -1899, -1899, -1899, -1899, 1462, 159, 41566, 1473, 1480, -1899, -1899, 28453, -1899, 28538, -1899, 786, 829, 1497, 1519, 1716, 2692, 2694, 309, -1899, -1899, 905, -1899, -1899, -1899, -1899, -1899, 1198, 1325, -1899, -1899, -1899, -1899, 682, 971, -1899, 1199, -1899, 1550, 36546, -1899, 23823, 41476, -1899, 697, 41206, 40456, -1899, -1899, 1469, -1899, 684, -1899, -1899, 108, 40648, 40264, 10801, 41836, -1899, -1899, 1413, 1506, 1506, 806, -1899, 1538, -1899, -1899, -1899, 93, 1048, 137, -1899, -1899, 30485, 1539, -1899, 1223, -1899, -1899, 696, -1899, -1899, -1899, 1544, 30620, 30747, 439, 399, 719, 37561, 39680, -1899, 660, 1887, -1899, -1899, 37456, -1899, -1899, 1556, -1899, 684, -1899, -1899, -1899, 2130, 41926, -1899, 697, -1899, 30874, 31001, 1561, 1572, -1899, 1557, -1899, 1566, -1899, -1899, 2525, 1575, 927, -1899, -1899, -1899, -1899, 847, 627, 36546, 863, -1899, 31763, 31890, -1899, 863, -1899, 32017, 32144, 863, -1899, 32271, 32398, -1899, -1899, 2733, 2733, 2733, 21893, 905, 1262, 1409, 905, -1899, 28623, 6071, -1899, 1063, 6071, -1899, 1063, -1899, -1899, 2733, 2733, 905, -1899, -1899, 1564, 328, -1899, -1899, 1567, 1573, 41296, 1512, 1585, 1586, -1899, 32525, -1899, 32652, 547, -1899, 36198, 28708, 2733, -1899, 1138, 672, -1899, -1899, -1899, -1899, -1899, 309, 1583, 660, 556, 70, 379, 1617, 1581, -1899, 40936, 1590, -1899, 41026, 1593, 41116, 1594, 41386, -1899, -1899, -1899, 1294, -1899, 29983, 684, -1899, -1899, 1595, -1899, -1899, 271, 947, -1899, 1596, -1899, -1899, -1899, -1899, -1899, 660, 1388, 952, -1899, -1899, 1597, -1899, 17836, -1899, 1063, -1899, 222, 28793, 1598, 1602, 1606, 190, 17976, 1608, 108, 1607, 1611, 18116, 1198, 2305, 1609, 1616, 108, -1899, -1899, 1325, 1622, 1623, 1624, 1395, 16151, 1485, 16296, 25733, 1485, 1485, -1899, 16436, 39088, -1899, -1899, -1899, -1899, -1899, 18256, 18396, 18536, 18676, -1899, -1899, -1899, 1063, 18816, -1899, -1899, -1899, 18956, -1899, -1899, 114, 114, 946, 685, 684, 1396, 1604, -1899, 309, 232, -1899, 660, 1716, 42123, 42123, 6071, -1899, -1899, 40168, 29983, 347, 1628, 448, -1899, 11861, -1899, -1899, 28878, -1899, -1899, -1899, -1899, 41926, 1636, -1899, -1899, -1899, -1899, -1899, 36891, 41926, 23946, 108, 37006, 41926, 29983, 114, 114, 114, 29983, 11066, -1899, -1899, 10428, -1899, 13106, 13251, 13396, -1899, -1899, -1899, -1899, 10253, 1635, 94, 22032, -1899, -1899, 175, -1899, -26, -1899, 22171, 1631, -1899, 22310, -1899, -1899, 1563, -1899, -1899, 25818, 1569, 29983, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 28368, 198, -1899, -1899, -1899, -1899, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 1199, 1550, 29983, 29983, -1899, 29983, 28368, 28368, 28368, 28368, 28368, 29983, 29983, 13541, 28368, -1899, 1579, -1899, -1899, 25903, 1580, 29983, 28368, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 28368, 28368, 28368, 28368, 28368, 29983, 29983, 13686, 28368, -1899, -1899, 257, 672, 41836, -1899, -1899, 38482, 41566, 41566, -1899, 1630, 1632, 1633, -1899, 1634, 1637, 1639, -1899, -1899, -1899, -1899, 309, -1899, -1899, -1899, -1899, 1641, -1899, -1899, 23700, 23700, 36316, 660, 718, -1899, 337, 849, 1735, 36546, 870, 1646, 1645, -1899, -1899, -1899, 2130, 36661, 40552, -1899, -1899, 108, -1899, -1899, -1899, 37666, 1648, 108, 36776, 1981, 24069, 2321, 40744, -1899, 1656, -1899, 1063, -1899, 1063, -1899, -1899, -1899, 1063, -1899, 1642, -1899, 1010, -1899, -1899, 4135, 4135, 1506, 1506, -1899, 1506, 212, -1899, 1506, 1506, -1899, -1899, 893, -1899, 1544, 893, -1899, 1544, 1150, 28963, 2288, 29983, 892, -1899, 1658, 309, 39778, -1899, 660, 1716, -1899, -1899, 916, 979, 36431, 30350, 793, 144, -1899, 144, 2733, -1899, -1899, -1899, -1899, 201, -1899, 227, -1899, 439, 37561, 23700, -1899, -1899, 1663, -1899, -1899, -1899, 41476, 41476, 29983, 108, -1899, 32779, 193, -1899, 650, 747, -1899, 41476, 108, 651, 108, 1411, -1899, -1899, -1899, -1899, -1899, -1899, 1506, -1899, -1899, -1899, -1899, -1899, 37771, 1465, -1899, 22449, 42226, 22588, -1899, -1899, 12607, -1899, -1899, 40840, -1899, -1899, 309, 1262, -1899, 1409, -1899, 309, -1899, 28623, -1899, -1899, -1899, -1899, -1899, 1063, -1899, 1063, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1566, 206, 299, 1668, -1899, 32906, 33033, 1669, -1899, 33160, 33287, 33414, -1899, 615, 478, 517, 1873, 1966, 1676, 1679, 1680, -1899, 1672, 1675, 1678, 660, 905, 1291, 70, 39876, 29048, 556, -1899, -1899, 41656, -1899, -1899, 672, -1899, -1899, 41656, -1899, -1899, 672, -1899, -1899, 41656, -1899, -1899, 672, -1899, -1899, 41656, -1899, 672, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1690, 1692, -1899, 1078, 1693, 1694, 170, -1899, 22727, -1899, -1899, 19096, 1684, 1687, 19236, 29983, 29983, -1899, 29133, 29218, 1691, 1701, 1706, 11397, 1707, 108, 25988, 2583, 1468, 26073, -1899, 1775, -1899, -1899, 26158, 1712, -1899, -1899, -1899, 1717, 1722, 26243, 16576, 114, 1709, 29983, 29983, 108, -1899, -1899, -1899, -1899, 21615, 358, 28368, -1899, 1360, -1899, 29983, 13831, 13976, 28368, -1899, 29983, 14121, 1597, 19376, 19516, 19656, 19796, -1899, -1899, -1899, 19936, -1899, -1899, -1899, 20076, -1899, -1899, 946, 946, 1721, 1730, 35954, 36080, 905, -1899, 905, 6071, -1899, 6071, -1899, -1899, 1727, 28368, -1899, 28368, 861, -1899, 439, -1899, -1899, -1899, -1899, 10253, 1736, 1744, 42016, 23700, 39386, 29983, 1733, -1899, -1899, -1899, -1899, -1899, 660, 1710, 1746, 1738, 1756, -1899, -1899, -1899, -1899, -1899, 37121, 26328, 1755, 1758, 1763, 29983, 1757, 37236, 1752, 618, 35, 72, 1764, 1770, 1768, -1899, 108, -1899, -1899, -1899, -1899, -1899, 29983, 114, 239, 37873, 22866, 1771, -1899, 28368, -1899, 254, 37975, 23005, -1899, 262, 38077, 23144, -1899, -1899, -1899, -1899, 1136, 1773, -1899, -1899, -1899, 26413, 6546, -1899, -1899, 1771, -1899, -1899, -1899, -1899, -1899, -1899, 1014, 1097, 1014, 1097, 902, 1168, 902, 1168, 1199, 1550, 1199, 1550, 1199, 1550, -1899, -1899, 844, 1113, -1899, -1899, 844, 1113, -1899, -1899, 1114, 1615, -1899, -1899, 1305, 1404, -1899, -1899, 1376, 1403, 1359, 1406, 1514, 1536, -1899, 53, -1899, 26498, 1767, 7374, 1772, -1899, -1899, -1899, -1899, -1899, 1218, -1899, -1899, -1899, 26583, 24713, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1014, 1097, 1014, 1097, 902, 1168, 902, 1168, 1199, 1550, 1199, 1550, 1199, 1550, 1199, 1550, -1899, -1899, 844, 1113, -1899, -1899, 844, 1113, -1899, -1899, 1114, 1615, -1899, -1899, 1305, 1404, -1899, -1899, 1376, 1403, 1359, 1406, 1514, 1536, -1899, 26668, 1776, 24798, 1777, -1899, -1899, 108, 108, -1899, -1899, 208, 1108, -1899, -1899, -1899, 38584, 38686, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1287, 2555, 718, -1899, 23700, 108, -1899, -1899, 23700, -1899, -6, -1899, -1899, -1899, 518, 660, 1716, -1899, -1899, 294, 1658, 1641, 660, 1716, -1899, 1788, -1899, 565, 559, 1467, 2733, 1801, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1316, -1899, -1899, -1899, -1899, -1899, 23283, 2369, 979, 36431, 12778, 817, 905, 309, -1899, 905, 29983, -1899, 587, -1899, -1899, -1899, 1802, 1642, 1631, 1658, 888, 23700, 955, 1041, -1899, -1899, -1899, 33541, 33668, 1803, -1899, 3552, 41836, 41836, 41836, 41836, -1899, -1899, -1899, 29983, 1800, 29303, -1899, 1063, -1899, -1899, 29388, -1899, 29473, -1899, -1899, -1899, 1491, 1465, -1899, -1899, 1506, -1899, -1899, -1899, -1899, -1899, 1491, 1465, -1899, 29558, 4798, -1899, -1899, -1899, -1899, -1899, 20216, -1899, -1899, 215, -1899, -1899, 248, 1804, -1899, 33795, 33922, 660, 1966, 1806, -1899, -1899, -1899, -1899, -1899, -1899, 905, 556, -1899, 1808, 1810, -1899, 1805, 1807, 1809, -1899, -1899, 36431, -1899, -1899, -1899, -1899, -1899, 29983, 1811, 1275, -1899, -1899, -1899, -1899, 268, 38179, 23422, -1899, -1899, -1899, 20356, 21615, 21615, -1899, -1899, -1899, 20496, 26753, 16716, 26838, 26923, 24435, 27008, 16856, 21754, 1814, 1817, 21754, 29983, 29643, 1880, 27093, 1722, 24883, 114, 21754, 1815, 12175, 11397, -1899, 1496, 27178, 24968, 27263, -1899, -1899, -1899, -1899, -1899, 107, 114, 1813, 1250, -1899, -1899, -1899, -1899, 20636, -1899, -1899, -1899, 1818, 1820, 108, -1899, -1899, -1899, -1899, -1899, -1899, 41476, -1899, -1899, -1899, -1899, 27348, 1819, 25053, 1821, 27433, 1822, 25138, 1826, 1836, 1839, -1899, -1899, -1899, -1899, -1899, -1899, 14266, -1899, -1899, 1840, 1073, -1899, 2824, 1841, 1843, 1846, 1837, 1852, 23700, 1746, 39974, 1710, 29983, 23700, 29983, 1829, -1899, -1899, -1899, -1899, -1899, 1847, -1899, 29728, -1899, -1899, 1860, 1864, 29983, 29983, 1870, 10428, -1899, 108, 108, 29983, 14411, 108, -1899, -1899, 946, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 14556, -1899, -1899, -1899, -1899, 28368, 14701, 14846, 28368, 14991, 15136, -1899, -1899, -1899, 15281, 15426, 15571, 15716, -1899, -1899, -1899, 257, 1845, 344, -1899, -1899, 660, 718, 1994, 1118, 23700, -1899, -1899, 1876, 905, 905, 1506, 905, 1641, 1881, -1899, -1899, 1884, -1899, 281, 38281, 23561, -1899, 660, 881, -1899, 309, -1899, -1899, 1888, 1891, -1899, -1899, -1899, 1152, -1899, -1899, 34049, 1890, 34176, -1899, 1892, 36546, -1899, 1897, -1899, 29983, 28623, 1907, -1899, -1899, 1907, -1899, -1899, -1899, 1907, -1899, -1899, 20776, 20916, -1899, -1899, -1899, 34303, -1899, 34430, 70, 556, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1291, 27518, -1899, -1899, -1899, -1899, -1899, -1899, 21056, -1899, -1899, -1899, 21196, 11397, 24157, 11397, 24157, 12412, -1899, 24574, 16996, -1899, -1899, 21754, 21754, 27603, 11397, 27688, 24296, 1904, 25223, 27773, 140, 21336, -1899, 29983, -1899, 12412, -1899, 12175, 11397, 25308, 29813, 12, 1906, 12, 200, 1900, -1899, 108, 29983, 29983, 108, 28368, 28368, 28368, 28368, 28368, 28368, 28368, 28368, 15861, 16006, -1899, -1899, -1899, 660, 1746, 1909, -1899, -1899, -1899, -1899, -1899, 1167, 1710, -1899, 1910, 1911, 1901, 1908, 1187, 1918, 1919, 23700, 29983, 11066, -1899, -1899, -1899, 1922, 1926, 1927, 1928, 29983, 1920, 1940, 1944, 1946, -1899, 1949, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 448, -1899, -1899, -1899, 448, -1899, -1899, -1899, -1899, -1899, 448, -1899, -1899, -1899, 448, -1899, -1899, -1899, 448, -1899, -1899, -1899, 448, -1899, -1899, -1899, 448, -1899, -1899, -1899, 448, -1899, -1899, -1899, -1899, 1231, -1899, -1899, 1641, 28368, -1899, -1899, -1899, 29983, 29983, -1899, 34557, 34684, 34811, 34938, 35065, 41836, -1899, 41836, -1899, 25393, 21476, -1899, -1899, -1899, 35192, 35319, 35446, 35573, -1899, 1978, 1982, -1899, -1899, -1899, -1899, 11397, 29983, 29898, 1906, 17136, 17276, 25478, -1899, 12412, 24574, 27858, 17416, 108, -1899, 1124, 593, -1899, 126, 12, 1953, 12, 360, 616, 1951, 1255, -1899, -1899, 1710, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, 1236, 1945, 1948, 1957, -1899, -1899, -1899, -1899, 1950, 1959, -1899, -1899, -1899, -1899, -1899, -1899, 1960, -1899, -1899, -1899, -1899, 35700, 35827, -1899, -1899, 27943, -1899, -1899, 11397, 11397, 28028, 25563, 11397, 28113, 24296, 1962, -1899, 11397, 29983, -1899, -1899, 24574, -1899, -1899, 1961, 1980, 12, 12, 29983, 12, 1983, 12, 1349, -1899, 205, 1506, 579, -1899, 621, -1899, 1974, -1899, 108, -1899, -1899, -1899, 29303, -1899, -1899, -1899, -1899, -1899, -1899, 1962, 11397, -1899, -1899, 28198, -1899, -1899, 114, -1899, -1899, 1256, 1984, 1257, -1899, 1431, 1986, 12, 12, 1987, 12, -1899, -1899, -1899, -1899, 360, 721, -1899, -1899, -1899, 11397, 610, 1989, -1899, 1990, 1992, 12, -1899, 1298, 1301, -1899, 1533, 623, -1899, -1899, 29983, -1899, -1899, -1899, 1312, 1993, 1995, 1996, 12, -1899, 2001, 2000, -1899, -1899, -1899, 1338, -1899, -1899, 2011, -1899
133 static const yytype_int16 yypgoto[] =
135 -1899, 151, 58, 9484, -1899, 2031, -1899, -1899, -1899, -1899, -1899, -1899, 1649, 1662, -966, -1899, -972, -339, 121, 130, -953, -943, -892, -1899, -691, -682, -1899, -1899, 1664, 1665, -1899, 2123, 3736, -1899, -225, 736, 753, -1899, -1899, -1899, -1899, 1671, -1899, -1899, -1899, -634, -1898, -14, -1899, -1899, -1899, -1899, -278, 2317, -22, 11, 652, -847, -1899, -793, -1899, -855, -1899, 1176, -124, 1296, -884, 1, 1872, -13, 1874, -4, 0, -1899, 1248, -1899, -1899, 3946, 4235, -1899, 5852, -413, 1362, -1899, 3731, -1899, -330, 503, 799, 401, -1899, -436, -703, -470, -151, -423, -10, 596, 7321, 4625, -178, 8783, -803, 1754, -1899, 4298, -326, 629, 853, 1443, 275, 24, 67, 238, 189, 287, 699, 5125, -422, 7552, -799, -114, 1044, 10555, -59, 1195, -144, 2639, 11101, 8232, -1899, -1899, -1899, -64, -40, -35, -1899, 6856, -1899, 1474, 2550, 702, -810, 3233, 8991, -1899, 11338, -1899, -1899, -1899, -29, 3260, -1899, -1899, 1130, 6347, -19, -1899, -1899, 1310, 1734, 1451, 1862, -84, -70, 7545, 10130, 4094, 6722, -448, -127, -421, 666, -920, 74, 2901, -1899, -1899, -1078, -1899, 4468, -559, -1208, 7654, 362, -625, 50, 359, 218, 1740, -281, -566, -458, -995, -533, -924, -917, 385, 755, 1128, -38, 1914, -708, 261, 197, -468, -438, -1899, -89, -77, 8198, 146, 97, -1371, -1899, -1899, -1899, 2082, -1899, 2219, 2090, -58, 2586, -8, 1916, 1011, 1015, -1899, -1899, -1899, -91, 367, -1531, -203, -1899, -1899, -1899, 6, -1899, 2091, -55, 19, 2094, 1587, -1899, -1899, -1899, 2098, -817, 454, -1899, -795, 851, -1899, -1899, -1899, -1899
138 static const yytype_int16 yytable[] =
140 64, 271, 222, 1020, 1461, 399, 1415, 693, 1145, 502, 1684, 1462, 1228, 941, 1413, 778, 223, 106, 1474, 779, 1402, 1536, 1067, 1578, 175, 1390, 1516, 947, 1526, 1392, 108, 110, 509, 1522, 945, 280, 286, 603, 282, 393, 299, 115, 1403, 176, 391, 1518, 196, 1528, 177, 109, 935, 394, 123, 1251, 1725, 1519, 399, 1529, 392, 140, 1258, 116, 1252, 1262, 149, 148, 152, 672, 1414, 1259, 172, 287, 1263, 1, 278, 1436, 1486, 299, 1852, 173, 276, 288, 163, 174, 123, 752, 210, 285, 1034, 277, 1863, 123, 1308, 64, 904, 538, 541, 1232, 2, 299, 64, 64, 1255, 747, 296, 104, 1520, 121, 1530, 1256, 1864, 1, 299, 381, 1018, 1751, 384, 138, 1075, 106, 1374, 1081, 492, 1087, 1752, 1092, 297, 298, 210, 2086, 301, 123, 123, 184, 184, 514, 414, 519, 906, 523, 149, 468, 481, 1864, 468, 299, 2012, 1, 495, 1485, 497, 54, 799, 497, 481, 493, 510, 468, 481, 468, 105, 468, 1, 1706, 526, 604, 774, 500, 515, 1, 520, 380, 524, 1, 149, 148, 1253, 623, 537, 540, 801, 396, 601, 123, 809, -454, 1503, 421, 922, 925, 939, 1115, -8, 566, 1495, 719, 1, 2133, 551, 1277, 1707, 723, 1483, 2018, 567, 299, 400, 1539, 2127, 1, 149, 1, 559, 753, 922, 925, 1808, 106, 92, 175, 163, 571, 905, 618, 286, 1249, 286, 616, 1484, 175, 123, 1865, 280, 123, 170, 282, 922, 925, 176, 1866, -109, 922, 925, 177, 54, 922, 925, 1435, 176, 1810, 2087, 54, 54, 2133, 2083, -100, 550, 400, 2088, 287, 1, 287, 664, -104, 2003, 609, 753, 52, 853, -82, 649, 697, 1866, 842, 680, 846, 676, 696, 682, 800, 1526, 694, -89, 831, 686, 1522, 277, 1526, 64, 683, 64, 1526, 1522, 681, 1581, 501, 1522, 1, 870, 1528, 1542, 186, 1, 827, 1254, 1067, 1528, 602, 712, 1529, 1528, 92, 1434, 1116, 712, 184, 1529, 1, 289, 92, 1529, 2002, 1496, 1673, 2019, 551, 1312, 1254, 184, 2128, 905, 1, 2020, 2083, 1741, 1540, 1742, 2129, 1270, 755, 1, 1809, 2, 970, -618, 327, 743, 1268, 619, 299, 895, 897, 899, 901, 1378, 197, 753, 1300, 1304, 1271, 1530, 1, 136, 1, 799, 974, 198, 1530, -109, 143, 111, 1530, 569, 144, 1811, 1318, 970, -613, 1395, 1396, 1068, 149, 833, -100, 1270, 1366, 1370, 551, 944, 551, 1654, -104, 1658, 1334, 1656, 123, 1660, -82, 1, 527, 927, 123, 223, 1384, 1011, -871, 757, 758, 759, 584, -89, 134, 112, 1036, 149, 1583, 693, 543, 1757, 833, 1011, 868, 510, 2, 1584, 872, 571, 941, 1543, 170, 828, 883, 388, 2092, 884, 833, 872, 891, 833, 170, 1534, 54, 1, 389, 150, 841, 1021, 845, 1636, 1023, 1278, 1280, 1282, 1059, 1279, 1281, 1283, 935, 754, 272, 711, 672, 672, 672, 672, 827, 468, 468, 149, 854, 1962, 931, 210, 1152, 1896, 123, 1159, 1055, 958, 584, 1342, 1344, 1346, 962, 1343, 1345, 1347, 163, 963, 1056, 397, 1193, 468, 468, 1067, 2017, 186, 1471, 1480, 1824, 1481, 941, -1037, -1037, 976, 1559, 692, -1037, 289, 299, 149, 980, 1474, 1110, 468, 468, 587, 935, 587, 468, 468, 1, 760, 468, 468, 557, 928, 123, 123, 123, 761, 123, 585, 762, 123, 113, 586, 416, 935, 1041, 1750, 1045, -1022, 1806, -1022, 123, 123, 123, 1535, 747, 1, 149, 1773, 539, 542, 1774, 833, 497, 1, 146, 147, 468, 1, 468, 526, 1415, 1049, 551, 123, 754, 569, 149, 1042, 1413, 1046, 2, 747, 982, 982, 982, 583, 123, 1, 1676, 747, 935, 1073, 1402, 1402, 1079, 1, 1085, 1195, 1090, 1018, 184, 184, 1433, 299, 137, 1104, 1694, 1568, 1780, 747, 1013, 586, 1802, 1703, 1403, 1403, 1, 1526, 299, 1803, 299, -864, 1522, 1, 1, 1573, 1013, 569, 299, 1, 1058, 1, 1749, 702, 1229, 1, 1528, 1126, 286, 1133, 624, 2, 671, 175, 588, 145, 1529, 1146, 589, 879, 589, 1316, 2089, 1753, 2091, 1791, 1786, 1, 1789, 1, 400, 695, 176, 1103, 1517, 1523, 1527, 569, 529, 649, 649, 649, 649, 287, 387, 676, 676, 676, 676, 1382, 1, 422, 1047, 939, 1065, 2027, 423, 149, 1181, 1187, 1189, 1751, 1, 1, 1762, 1066, 123, 1530, 858, 2092, 1761, 2092, 571, 1178, 1179, 141, 1908, 142, 1198, -458, -458, -458, 146, 147, 254, 1777, 1205, 2, 2120, 26, 2122, 2085, 2124, 1210, 1220, 551, 1230, 1210, 1220, 1, 1533, 803, 804, 805, 1198, 1638, 155, 833, 2154, 1643, 146, 147, 1645, 382, 1647, 2096, 1242, 1705, -864, 1235, 1236, 1237, 146, 147, 181, 2132, 787, 2163, 1033, 979, 2147, 2148, 1265, 2150, 590, 153, 1272, 154, 922, 925, 917, 918, 922, 925, 146, 147, 146, 147, 1055, 2158, 1766, 592, 1498, 1505, 530, 51, 865, 1499, 1074, 1767, 1056, 1080, 584, 1086, 1320, 1091, 2169, 146, 147, 590, 1526, 134, 1895, 1536, 157, 1522, 158, 1902, 1332, 859, 146, 147, 1337, 896, 1986, 860, 902, 1169, 1173, 1528, 530, 1464, 1386, 590, 1309, 1454, 1455, 416, 1456, 1529, 919, 1458, 1459, -458, 1497, 587, -458, 1397, 149, 1400, 1773, 1774, 833, 833, 833, 159, 862, 806, 1488, 1489, 2152, 393, 1375, 170, 533, 807, 1470, 567, 808, 1197, 1490, 789, 790, 394, 1559, 414, 1416, 210, 1313, 1, 392, 976, 1964, 149, 980, -458, -458, -458, 981, 1500, 1530, 163, 1426, 571, 1501, 1197, 1146, -1062, 1197, 1, 571, 591, 1441, 1443, 2, 1445, 1379, 833, 1541, 1544, 1, 699, 160, 1508, -1068, -458, -458, -458, 593, 1022, 699, 672, 1024, 1, 672, 848, 699, 1523, 1527, 586, 692, 1479, -1062, 1711, 1523, 1527, 591, 1712, 1523, 1527, 134, 399, 1063, 1054, 123, 1, 149, 900, 2, 231, 210, 254, 1983, 123, 295, 1771, -1062, 121, 1478, 181, 591, 123, 672, 123, 1482, 1493, 299, 1565, 849, 689, 974, 387, 589, 149, 931, 414, 672, 672, 672, 672, 791, 792, 510, 510, 977, 497, 1419, 468, 497, 1, 978, 1561, 978, 510, 1504, 149, 1506, -216, 1494, 711, 569, -458, 1319, 1562, 1806, 1239, 1813, 1422, 1240, -458, 32, 1916, -458, 978, 701, 300, 146, 147, 1603, 1971, 1807, 123, 1873, 701, 941, 1779, 935, 146, 147, 701, 1385, 860, -460, -460, -460, 569, 2037, 1466, 420, -458, 1547, 43, 44, 52, 569, 747, 671, 671, 671, 671, 1317, 569, 497, 497, 783, 784, 468, 468, 569, 2053, 468, 468, 468, 1476, 149, 1889, 935, 123, 123, 935, -265, -265, -265, 1548, 1188, 1190, 1191, 123, 1383, 123, 210, 551, 1986, 1301, 1305, 833, 136, 1, 149, 106, 528, 833, 1781, 529, 149, 546, 1093, 833, 978, 387, 149, 1321, 1, 833, 527, 149, 146, 147, -216, 569, 1679, 1367, 1371, 861, -216, 107, 754, 396, 1247, 149, 1, 1094, 556, 2138, 649, 569, 1, 649, 106, 1387, 676, 1018, 1699, 676, 1677, 560, 1126, 1095, 1133, 1564, 817, 818, 400, 793, 794, 2, 1678, 1618, 2060, 780, 2061, 400, 689, 1013, 1260, 1, -460, 106, 561, -870, 1631, -870, -870, 562, 26, 649, 1272, 1096, 1097, 781, 782, 676, -459, -459, -459, 1627, 492, 594, 1782, 649, 649, 649, 649, 679, 978, 676, 676, 676, 676, 197, -265, 28, 29, -900, -265, 595, 32, 468, 468, 123, 198, 123, 597, 38, 1813, 1292, 1294, 678, 1296, 493, 1886, 833, 1012, 149, 2040, 1015, 860, 1576, 833, 146, 147, 1577, 414, 210, 785, 786, -870, 43, 44, 156, 922, 925, 810, 1356, 1358, 1360, 1362, -870, -740, 1054, -740, 1688, 599, 146, 147, 600, 1421, 161, 1688, 819, 820, 2022, 811, 812, 1430, 1963, 496, 149, 1, 1523, 1527, 860, -870, 2082, 134, 1444, 104, 2083, 1559, 1662, 1586, 2084, -870, 1592, 136, 1720, 416, 416, -899, 1721, 711, 535, 1567, 1713, 922, 925, 1987, 387, 1570, 1974, -870, -870, -870, 1093, 1571, 860, -459, 983, 984, 985, 1572, 1284, 1286, 134, 2029, 1, 698, 911, 912, 699, 860, 1633, 1093, -216, 1923, 1025, 1027, 583, 1094, 1643, 813, 814, 1647, 134, 2034, 1169, 1173, 1169, 1173, 913, 860, 1348, 1350, 914, 1095, 915, 720, 1094, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 935, 935, -899, -899, 1095, 28, 29, -899, 1732, -626, 32, -626, 1721, 1661, -899, 1096, 1097, 38, 916, 2052, 1663, 721, 1509, 1185, 2100, 860, 724, 416, 1775, 689, 860, 28, 29, 725, 1096, 1097, 32, 1018, -899, -899, 1869, 43, 44, 38, 1870, 2098, 2141, 2143, 1018, 2099, 2083, 2083, 672, 672, -899, -899, -899, -1017, 536, -1017, 726, 1739, 1740, 701, 672, 1743, 149, 43, 44, 727, 833, 833, 728, 146, 147, -216, -911, 397, 1285, 1287, 1551, -216, 149, 754, 1098, 1744, 1416, 1506, 2159, 853, 414, 2160, 2083, 1523, 1527, 2083, 1754, 843, 123, 847, 732, 1631, 2165, -458, -458, 123, 2083, 795, 1349, 1351, 1763, 149, 123, -458, 1639, 1640, 1641, 1807, -458, -458, -458, 751, -458, -458, -458, -458, -458, -625, 2172, -625, 503, 2135, 2083, 123, 516, 1770, 1, 754, 123, 2125, 75, 123, 671, 2083, 149, 671, 544, 2126, 545, -911, -911, 28, 29, 414, -911, 548, 32, 545, 32, 468, 468, -911, 396, 38, 833, 833, 833, 833, 797, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 1035, 1107, 1, 545, 671, 796, -911, -911, 43, 44, 43, 44, 754, 1182, 1150, 142, 1987, 798, 671, 671, 671, 671, -911, 802, -911, 1507, 893, 823, -880, -880, 254, 689, 824, -880, 468, 468, 825, 123, 1, 826, -880, 1650, 2144, 1651, 179, 123, 2083, 815, 816, 1018, 2145, 1264, 1668, 1, 75, 1672, 571, 1271, 1900, 1, 1903, 75, 75, 2, -880, -880, 418, 1331, 1336, 1, 1, 1288, 1290, 830, 1911, 1913, 649, 649, 1513, 881, 1514, 1898, 676, 676, 754, 754, 1126, 1613, 649, 1126, 838, 1185, 1126, 1899, 676, 416, 1618, 839, 1060, 773, 1126, 1352, 1354, 1126, 1511, 1069, 1512, 569, 850, 28, 29, 854, 689, 754, 32, 1856, 821, 822, 1853, 1013, 1795, 38, 1798, 254, 672, 1289, 1291, 1018, 1146, 1796, 851, 1799, 1450, 1452, 1867, 510, 747, 747, 747, 747, 747, 747, 747, 747, 2161, 43, 44, 1006, 2083, 1451, 1453, 903, 2162, 1966, 910, 1353, 1355, 920, 1111, 689, 1026, 1028, 1164, 1166, 960, 563, 1165, 1167, 414, 967, 210, 969, 1011, 414, 291, 294, 1404, 1405, 28, 29, 968, 970, 575, 32, 922, 925, 1029, 922, 925, 1030, 38, 1242, 973, 1917, 1918, 1031, 1070, 1921, 922, 925, 922, 925, 1037, 1038, 198, 1076, 1, 569, 1082, 1088, 1108, 1105, 1113, 1106, 43, 44, 1114, 1112, 1132, 1143, 1134, 1183, 1827, 1831, 1135, 1, 1144, -1036, -1036, 1397, 747, 2, -1036, -216, 1843, 1147, 1148, 1149, 414, 179, 121, 1194, 123, 123, 1207, 123, 1248, 1260, 1975, 179, 1978, 75, 1406, 1424, 1407, 1408, 1409, 149, 1449, 1410, 2136, 1411, 389, 1423, 2137, 1440, 1551, 922, 925, 1448, 468, 1487, 468, 1467, 1989, 833, 1991, 28, 29, 2038, 788, 1976, 32, 1979, -732, -735, 739, 1552, 2045, 38, 1553, 1554, 397, 672, 1555, 672, 468, 1556, 468, 123, 1557, 1574, 1575, 1589, 1579, 1580, 1590, 1990, 416, 1992, 1605, 1606, 416, 43, 44, 583, 1607, 1609, 1614, 1628, 1683, 1126, 1126, 1126, 1126, 1622, 52, 649, 1206, 1648, 1623, 1126, 1126, 676, 1126, 1624, 1126, 1649, 422, 1015, 1652, 1681, 146, 147, -216, 2054, 2056, 1669, 1126, 1420, -216, 418, 754, 28, 29, 1670, 1208, 1146, 32, 1685, 1631, 1006, 672, 1, 1686, 38, 1696, 1704, 1006, 1697, 2015, 1006, 2015, 1013, 1698, 416, 1800, 1, 1701, 1708, 575, 1709, 470, 1710, 1722, 470, 1728, 1715, 2, 43, 44, 1731, 414, 416, 551, 1736, 1738, 121, 470, 1760, 470, -458, 470, 402, -458, -458, -458, -458, -458, -458, -458, -458, 1764, 1778, 1792, 1821, 1783, 1814, 1820, 1815, -738, 1816, 1823, 1850, 1868, 1854, 569, 1817, 1871, 1818, 1872, 1819, 575, 1844, 28, 29, 1845, 1905, 1875, 32, 1877, 1879, 2058, 671, 671, 1881, 38, 1882, 28, 29, 1883, 1885, 1890, 32, 1891, 671, 1, 1892, 1961, 1893, 38, 1465, 468, 468, 468, 468, 468, 833, 1906, 833, 43, 44, 575, 1999, 1894, 2059, 468, 468, 468, 468, 51, 2, 1909, 566, 43, 44, 1910, 1126, 2130, 2131, 121, 1915, -231, 1965, 567, 1968, 649, 52, 649, 2081, 1491, 1969, 676, 1977, 676, -956, 1980, 1972, 1146, 1631, 1973, 1982, 18, 19, 2001, -458, -458, 2021, 57, 2016, 2028, 2030, 2031, 2032, 2015, -458, 2015, 28, 29, 2065, 2033, 2047, 32, 2066, -458, -458, -458, -458, -458, 38, 2035, 2036, 28, 29, 2041, 468, 468, 32, 2042, 2043, 2044, 2048, 1126, 1126, 38, 2049, 1126, 2050, 1126, 114, 2051, 1126, 2097, 43, 44, 649, 2090, 2101, 2103, 416, 2102, 676, 2104, 2106, 416, 2112, 566, 57, 43, 44, 1631, 2105, 1146, 2117, 151, 1185, 1146, 567, 51, 2015, 2015, 2134, 2015, 2118, 2015, 2142, 2123, 1566, 1126, 2146, 2149, 57, 2155, 2156, 57, 2157, 2166, 2151, 2167, 2168, 255, 57, 2170, 2171, 951, 1006, 1006, 1006, 57, 57, 1, 1146, 1631, 2140, 2173, 1649, 1126, 952, 1015, 953, 954, 57, 2015, 2015, 383, 2015, 957, 1981, 1146, 416, 1790, 1502, 2077, 1412, 2080, 2, 57, 684, 1604, 685, 1457, 2015, 1492, 880, 408, 1335, 1768, 888, 179, 408, 255, 1233, 408, 722, 1201, 1984, 617, 2119, 2015, 290, 279, 281, 255, 665, 57, 408, 255, 408, 283, 408, 416, 739, 293, 1960, 0, 0, 0, 0, 0, 0, 1201, 28, 29, 1201, 671, 0, 32, 0, 0, 0, 0, 0, 1245, 38, 255, 255, 0, 470, 470, 28, 29, 2116, 0, 0, 32, 0, 408, 0, 0, 1293, 1295, 38, 1297, 1006, 0, 0, 0, 43, 44, 0, 558, 0, 0, 470, 470, 0, 0, 0, 0, 57, 1680, 0, 0, 0, 0, 43, 44, 1357, 1359, 1361, 1363, 451, 0, 0, 451, 470, 470, 0, 0, 404, 470, 470, 1700, 0, 470, 470, 0, 451, 0, 451, 0, 451, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 255, 0, 0, 255, 255, 645, 0, 418, 418, 0, 416, 0, 575, 57, 0, 0, 0, 0, 0, 470, 2, 470, 0, 57, 255, 57, 0, 699, 699, 121, 699, 699, 0, 0, 0, 699, 699, 699, 699, 0, 0, 0, 0, 255, 0, 0, 0, 575, 0, 255, 0, 0, 0, 18, 19, 0, 575, 0, 0, 0, 408, 0, 0, 575, 0, 0, 28, 29, 739, 0, 575, 32, 0, 0, 0, 0, 1, 0, 38, 0, 671, 0, 671, 28, 29, 1006, 1006, 0, 32, 0, 0, 0, 1006, 1006, 0, 38, 1006, 1006, 0, -880, -880, 2, 43, 44, -880, 0, 0, 418, 0, 0, 121, -880, 51, 0, 0, 52, 1463, 57, 0, 43, 44, 575, 408, 0, 408, 1649, 1015, 0, 1, 0, 1929, 1933, 1141, 1939, 1943, -880, -880, 575, 1947, 1951, 1955, 1959, 0, 0, 0, 0, 0, 28, 29, 671, 0, 0, 32, 2, 57, 754, 408, 57, 0, 38, 255, 57, 192, 193, 0, 0, 882, 0, 0, 0, 57, 255, 0, 57, 699, 699, 699, 699, 699, 699, 699, 699, 0, 43, 44, 0, 0, 0, 0, 0, 0, 621, 625, 51, 0, 0, 52, 0, 0, 28, 29, 408, 408, 0, 32, 930, 57, 57, 0, 0, 0, 38, 0, 408, 0, 0, 0, 0, 961, 0, 0, 18, 19, 255, 1776, 0, 0, 408, 408, 0, 971, 0, -641, 0, 0, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 51, 57, 0, 52, 408, 408, 28, 29, 0, 408, 408, 32, -641, 408, 408, 0, 0, 0, 38, 0, 645, -641, -641, 699, 0, 0, 0, 255, 0, 0, 255, 0, 701, 701, 701, 701, 701, 701, 701, 701, 0, 0, 43, 44, 0, 0, 57, 0, 451, 451, 0, 408, 51, 408, 0, 1006, 57, 408, -641, -641, 955, 0, 0, -641, 0, 0, 0, 0, 0, 0, -641, 0, 0, 0, 451, 451, 57, 0, 0, 57, 0, 57, 0, 57, 0, 0, 18, 19, 28, 29, 57, 0, 0, 32, -641, -641, 451, 451, 66, 0, 38, 451, 451, 0, -641, 451, 451, -641, 0, 418, 972, 0, 970, -641, 0, 0, 28, 29, 0, 0, 0, 32, 470, 470, 43, 44, 701, 0, 38, 0, 0, 0, 0, 0, 51, 0, 1666, 862, 0, 0, 0, 0, 0, 451, 0, 451, 0, 0, 567, 0, 0, 485, 43, 44, 645, 645, 645, 645, 0, 0, 0, 0, 0, 485, 0, 1612, 0, 485, 0, 0, 0, 0, 1006, 1006, 0, 0, 0, 0, 0, 0, 0, 66, 255, 255, 255, 470, 0, 57, 1901, 0, 1904, 66, 0, 408, 0, 1, 0, 0, 66, 66, 0, 255, 0, 0, 1912, 1914, 0, 0, 255, 255, 408, 0, 255, 255, 0, 621, 0, 0, 621, 408, 2, 0, 57, 0, 0, 28, 29, 28, 29, 121, 32, 57, 32, 0, 645, 0, 0, 38, 0, 38, 483, 645, 923, 926, 645, 0, 0, 0, 0, 0, 0, 0, 483, 0, 470, 470, 483, 0, 470, 470, 470, 43, 44, 43, 44, 0, 28, 29, 923, 926, 0, 32, 0, 0, 613, 855, 0, 856, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 923, 926, 0, 0, 0, 923, 926, 0, 0, 923, 926, 0, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 51, 622, 626, 52, 0, 716, 0, 0, 0, 0, 418, 716, 57, 0, 418, 57, 57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, 625, 1170, 1174, 0, 0, 0, 0, 408, 408, 57, 0, 0, 1006, 1006, 28, 29, 57, 88, 0, 32, 0, 0, 0, 0, 255, 57, 38, 0, 0, 621, 0, 0, 57, 66, 0, 255, 0, 408, 0, 57, 0, 0, 0, 66, 0, 66, 418, 0, 0, 0, 43, 44, 470, 470, 0, 0, 0, 0, 0, 575, 51, 0, 0, 1208, 418, 0, 2039, 0, 0, 131, 0, 0, 0, 0, 0, 2046, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 57, 875, 0, 0, 0, 0, 0, 0, 0, 164, 182, 195, 875, 0, 0, 0, 57, 408, 233, 0, 88, 0, 0, 0, 57, 57, 0, 88, 88, 408, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 2055, 2057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 645, 255, 645, 195, 401, 403, 405, 406, 255, 966, 0, 0, 0, 474, 575, 0, 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 0, 474, 0, 474, 0, 483, 0, 0, 0, 0, 0, 0, 0, 408, 408, 0, 483, 408, 408, 408, 0, 0, 0, 0, 0, 534, 403, 405, 0, 0, 0, 0, 0, 0, 0, 0, 451, 57, 408, 0, 0, 0, 57, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 57, 0, 564, 579, 622, 418, 0, 622, 483, 0, 418, 0, 0, 0, 0, 0, 0, 0, 645, 0, 0, 645, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 451, 615, 0, 451, 451, 451, 0, 0, 0, 0, 0, 0, 0, 739, 182, 0, 645, 0, 0, 0, 0, 0, 0, 0, 690, 0, 88, 0, 0, 418, 645, 645, 645, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 408, 0, 0, 0, 255, 0, 255, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 76, 57, 418, 0, 255, 408, 57, 0, 0, 0, 0, 0, 0, 0, 470, 470, 0, 622, 626, 1171, 1175, 0, 0, 0, 255, 0, 0, 82, 0, 575, 0, 255, 0, 0, 0, 1214, 1224, 0, 0, 1214, 1224, 0, 0, 0, 0, 0, 0, 622, 0, 255, 645, 0, 0, 0, 0, 0, 255, 645, 0, 0, 255, 645, 0, 401, 403, 405, 0, 0, 470, 470, 0, 0, 451, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 863, 0, 0, 0, 0, 0, 76, 474, 1587, 0, 0, 1593, 0, 76, 76, 0, 66, 0, 131, 0, 0, 0, 0, 82, 0, 0, 0, 0, 418, 0, 0, 0, 0, 82, 0, 0, 0, 0, 923, 926, 82, 82, 923, 926, 0, 0, 0, 474, 474, 1634, 0, 0, 937, 0, 0, 486, 948, 0, 0, 474, 0, 739, 0, 1170, 1174, 1170, 1174, 486, 164, 0, 0, 486, 0, 474, 474, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0, 621, 0, 621, 0, 0, 0, 863, 0, 487, 474, 474, 0, 487, 0, 474, 474, 0, 0, 474, 474, 0, 1429, 195, 195, 195, 0, 0, 0, 0, 57, 57, 0, 1429, 0, 0, 0, 0, 0, 0, 0, 195, 195, 0, 0, 0, 408, 0, 0, 0, 408, 0, 0, 0, 0, 0, 0, 474, 0, 474, 0, 0, 1052, 0, 1061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 645, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 483, 0, 408, 0, 0, 76, 0, 76, 408, 408, 0, 483, 0, 57, 57, 57, 57, 0, 0, 0, 0, 470, 82, 470, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 82, 0, 0, 1784, 0, -630, 613, 0, 0, 0, 0, 0, 0, 470, 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 408, -630, 0, 0, 0, 0, 0, 0, 0, 0, -630, -630, 0, 1186, 0, 0, 0, 0, 0, 690, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 645, 451, 451, 0, 1216, 645, 645, 0, 1216, 0, 0, -630, -630, 0, 0, 0, -630, 0, 645, 0, 0, 645, 0, -630, 0, 0, 0, 863, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, -630, -630, 0, 0, 0, 0, 0, 486, 451, 451, -630, 0, 0, -630, 0, 0, 1785, 57, 970, -630, 0, 0, 0, 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1588, 876, 0, 1594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 57, 0, 0, 408, 0, 0, 0, 486, 0, 0, 0, 0, 0, 0, 0, 470, 470, 470, 470, 470, 0, 57, 1635, 0, 0, 0, 0, 0, 0, 470, 470, 470, 470, 0, 876, 0, 1171, 1175, 1171, 1175, 0, 0, 613, 0, 0, 0, 0, 0, 0, 1417, 0, 0, 0, 0, 0, 0, 863, 0, 0, 622, 0, 622, 1692, 164, 863, 1431, 0, 0, 408, 1692, 0, 0, 1438, 0, 0, 863, 0, 1446, 0, 0, 0, 0, 0, 255, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1828, 1832, 923, 926, 470, 470, 408, 0, 408, 0, 0, 57, 0, 1587, 0, 0, 1593, 0, 0, 0, 0, 0, 131, 0, 1634, 0, 0, 0, 0, 0, 0, 1475, 408, 0, 408, 344, 579, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0, 923, 926, 0, 415, 0, 0, 0, 0, 0, 474, 0, 645, 645, 452, 0, 0, 452, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 452, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 451, 937, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 76, 0, 451, 0, 451, 0, 408, 0, 408, 0, 0, 0, 474, 474, 0, 0, 474, 474, 474, 0, 0, 0, 0, 1549, 401, 0, 0, 82, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 408, 408, 408, 408, 57, 0, 57, 0, 0, 0, 0, 0, 0, 408, 408, 408, 408, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 704, 707, 709, 0, 0, 415, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 344, 0, 0, 0, 1828, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 415, 0, 474, 474, 0, 0, 0, 0, 408, 408, 0, 0, 0, 86, 0, 0, 0, 451, 451, 451, 451, 451, 0, 863, 0, 0, 863, 0, 1675, 486, 0, 451, 451, 451, 451, 0, 0, 415, 0, 415, 486, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 1216, 0, 302, 876, 1, 303, 106, 0, 0, 0, 0, 0, 86, 0, 876, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1829, 1833, 86, 86, 0, 0, 451, 451, 0, 0, 86, 0, 86, 626, 0, 0, 626, 0, 0, 86, 86, 0, 0, 0, 626, 307, 0, 452, 452, 0, 0, 308, 309, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 86, 86, 0, 452, 452, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 0, 0, 0, 0, 0, 0, 452, 452, 0, 322, 0, 452, 452, 0, 706, 452, 452, 415, 0, 0, 0, 0, 0, 0, 327, 328, 0, 0, 0, 0, 748, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 776, 923, 926, 0, 923, 926, 452, 415, 452, 0, 0, 0, 0, 0, 0, 923, 926, 923, 926, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 0, 0, 0, 86, 0, 0, 86, 0, 0, 344, 0, 0, 1756, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 86, 0, 0, 0, 0, 0, 0, 0, 0, 1769, 0, 579, 0, 86, 0, 0, 923, 926, 0, 0, 0, 0, 0, 86, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 626, 626, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 474, 0, 401, 0, 0, 0, 344, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 415, 0, 0, 415, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 415, 415, 415, 415, 415, 415, 415, 0, 0, 415, 415, 0, 415, 415, 415, 415, 415, 415, 415, 415, 86, 344, 0, 0, 0, 0, 0, 0, 0, 344, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1887, 0, 0, 0, 777, 0, 0, 1137, 0, 0, 0, 0, 0, 0, 0, 415, 415, 0, 0, 0, 0, 0, 417, 0, 0, 0, 705, 708, 710, 0, 0, 417, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 731, 0, 86, 86, 86, 0, 86, 362, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 86, 0, 417, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 86, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 417, 474, 417, 0, 863, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 748, 0, 452, 0, 474, 0, 474, 0, 0, 0, 0, 0, 0, 417, 1275, 0, 405, 0, 0, 0, 0, 0, 0, 415, 0, 415, 0, 0, 0, 0, 0, 359, 658, 1298, 1302, 1306, 1310, 1314, 0, 0, 1323, 1329, 0, 0, 0, 0, 748, 0, 0, 1340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 1368, 1372, 1376, 1380, 0, 0, 1323, 1393, 0, 452, 452, 0, 0, 452, 452, 452, 0, 86, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 415, 0, -871, 0, 0, -871, -871, -871, 0, -871, -871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -871, 0, 417, 0, 0, 0, -871, -871, -871, 1138, 0, 344, 344, 474, 474, 474, 474, 474, 0, -871, 0, 0, 0, 0, 0, 0, 0, 474, 474, 474, 474, 0, 652, -871, 362, 0, 0, -871, -871, -871, -871, -871, -871, -871, -871, 0, 894, 0, 0, 0, 0, 0, 0, -871, -871, 452, 452, 0, 0, 0, -871, -871, 417, -871, -871, -871, 0, 0, -871, -871, 0, -871, -871, -871, -871, 415, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0, 0, 0, 474, 474, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 415, 86, 0, 344, 0, 0, 0, 415, 0, 0, 0, 415, 1267, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 86, 0, 0, 362, 0, 1299, 1303, 1307, 1311, 1315, 0, 0, 1324, 0, 0, 0, 0, 0, 1267, 417, 86, 0, 0, 0, 0, 0, 417, 0, 0, 417, 0, 0, 0, 1365, 1369, 1373, 1377, 1381, 0, 0, 1324, 0, 0, 0, 0, 0, 0, 1137, 0, 362, 0, 0, 0, 0, 0, 417, 417, 417, 417, 417, 417, 417, 0, 0, 417, 417, 0, 417, 417, 417, 417, 417, 417, 417, 417, 1275, 362, 1128, 0, 0, 0, 0, 1340, 0, 362, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 0, 362, 0, 0, 0, 0, 658, 658, 658, 658, 0, 0, 0, 1323, 0, 1323, 0, 0, 0, 0, 86, 86, 0, 0, 0, 415, 0, 0, 0, 415, 0, 0, 417, 417, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 1716, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 1102, 0, 417, 0, 417, 452, 452, 0, 0, 0, 0, 0, 415, 374, 344, 0, 0, 0, 0, 415, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 417, 0, 0, 0, 415, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 86, 0, 0, 452, 452, 0, 0, 0, 0, 652, 652, 652, 652, 0, 0, 0, 417, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 1610, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 1637, 0, 0, 0, 0, 0, 0, 1644, 0, 0, 0, 0, 1276, 0, 0, 0, 0, 417, 0, 0, 0, 0, 1477, 0, 0, 415, 0, 0, 417, 415, 415, 415, 0, 0, 0, 0, 0, 0, 0, 1330, 344, 1324, 0, 1324, 750, 415, 415, 1341, 0, 0, 0, 0, 344, 0, 362, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 1394, 0, 0, 0, 415, 415, 0, 415, 415, 0, 0, 0, 415, 415, 415, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 417, 0, 417, 0, 0, 0, 0, 553, 0, 553, 0, 0, 0, 0, 452, 0, 452, 0, 415, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 452, 417, 452, 0, 0, 417, 0, 0, 362, 0, 0, 0, 417, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, 1128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 344, 0, 415, 415, 415, 415, 415, 415, 415, 415, 0, 0, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 658, 658, 658, 415, 415, 0, 0, 0, 1017, 0, 0, 86, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 0, 0, 0, 0, 1924, 1926, 1930, 1934, 1936, 1940, 0, 0, 0, 1944, 1948, 1952, 1956, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 415, 415, 0, 0, 0, 0, 0, 0, 452, 452, 452, 452, 452, 0, 0, 417, 0, 0, 0, 417, 0, 374, 452, 452, 452, 452, 0, 0, 0, 0, 0, 652, 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 1629, 1630, 0, 0, 0, 0, 417, 652, 0, 1276, 0, 0, 0, 1642, 0, 0, 1341, 417, 1646, 0, 0, 652, 652, 652, 652, 0, 452, 452, 0, 0, 0, 0, 0, 0, 0, 417, 0, 362, 0, 0, 0, 0, 417, 0, 417, 0, 0, 0, 344, 0, 0, 0, 1926, 1930, 1936, 1940, 1944, 1948, 1952, 1956, 0, 417, 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1005, 0, 0, 0, 0, 0, 0, 1005, 0, 0, 1005, 1717, 0, 417, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 1922, 0, 0, 0, 0, 1925, 1927, 1931, 1935, 1937, 1941, 0, 0, 0, 1945, 1949, 1953, 1957, 0, 0, 0, 0, 0, 417, 0, 0, 0, 417, 417, 417, 0, 0, 0, 0, 0, 0, 0, 469, 362, 0, 469, 0, 0, 417, 417, 0, 0, 0, 0, 0, 362, 0, 0, 469, 0, 469, 0, 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 417, 0, 417, 417, 0, 0, 0, 417, 417, 417, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 1005, 0, 553, 0, 658, 658, 0, 0, 0, 0, 0, 0, 417, 0, 1128, 0, 1128, 658, 0, 620, 658, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 1128, 0, 0, 0, 0, 0, 417, 0, 0, 0, 553, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 650, 1005, 0, 1005, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 362, 362, 249, 417, 417, 417, 417, 417, 417, 417, 417, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 417, 417, 0, 0, 0, 0, 0, 0, 0, 0, 417, 652, 652, 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, 652, 652, 0, 0, 652, 1005, 0, 0, 0, 0, 0, 0, 652, 0, 0, 652, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 374, 374, 417, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1128, 1128, 1128, 1128, 0, 0, 1128, 0, 0, 0, 658, 658, 0, 1128, 0, 1128, 469, 469, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 1128, 0, 0, 0, 1919, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 469, 1717, 0, 0, 0, 0, 1642, 0, 0, 1646, 0, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 469, 0, 0, 0, 469, 469, 0, 0, 469, 469, 1005, 0, 0, 374, 0, 1003, 362, 1005, 0, 0, 0, 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 0, 469, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 652, 652, 652, 652, 0, 0, 652, 0, 0, 1128, 652, 652, 0, 652, 0, 652, 221, 0, 1128, 0, 1128, 0, 0, 0, 419, 650, 0, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2023, 2024, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 650, 650, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1128, 1128, 0, 0, 1128, 0, 1128, 0, 0, 1128, 0, 0, 0, 1128, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1005, 0, 0, 0, 0, 1003, 0, 0, 0, 0, 553, 0, 1003, 0, 0, 1003, 1128, 0, 1017, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, 311, 312, 374, 0, 652, 0, 652, 1005, 0, 1005, 0, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 1005, 0, 0, 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 0, 0, 1161, 0, 0, 0, 0, 327, 328, 1724, 329, 330, 331, 332, 0, 1017, 0, 0, 652, 652, 0, 0, 652, 0, 652, 0, 0, 652, 0, 0, 0, 652, 0, 0, 0, 0, 0, 1005, 2121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1017, 834, 0, 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 469, 0, 652, 0, 0, 0, 869, 511, 0, 0, 0, 878, 126, 0, 0, 0, 0, 2164, 0, 0, 885, 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 126, 0, 0, 0, 553, 0, 553, 232, 0, 0, 0, 0, 0, 943, 0, 374, 0, 0, 469, 959, 553, 553, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 0, 1003, 126, 126, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1005, 469, 469, 0, 0, 469, 469, 469, 0, 0, 0, 221, 0, 532, 0, 117, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 221, 0, 221, 178, 221, 0, 0, 0, 0, 0, 0, 0, 261, 74, 0, 0, 596, 0, 0, 598, 74, 74, 1003, 0, 0, 650, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 650, 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 374, 374, 484, 0, 180, 0, 650, 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0, 484, 0, 650, 650, 650, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 469, 469, 0, 0, 0, 0, 553, 0, 261, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 553, 0, 0, 0, 0, 0, 1003, 0, 0, 0, 0, 0, 0, 1003, 0, 0, 0, 1003, 0, 126, 0, 0, 0, 612, 0, 0, 261, 261, 261, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 261, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 834, 834, 834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 419, 221, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 0, 1010, 0, 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 0, 0, 0, 0, 0, 574, 0, 0, 0, 374, 0, 874, 1469, 0, 0, 0, 0, 0, 126, 0, 0, 0, 874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 511, 511, 0, 0, 1003, 0, 0, 0, 0, 0, 0, 511, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 965, 469, 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 0, 1003, 574, 0, 0, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 261, 0, 0, 0, 0, 0, 0, 261, 0, 0, 261, 0, 0, 469, 469, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 232, 0, 0, 0, 221, 0, 0, 0, 0, 0, 1569, 0, 0, 0, 0, 0, 1569, 0, 0, 0, 0, 0, 221, 1003, 0, 0, 307, 0, 650, 650, 0, 0, 308, 309, 310, 0, 0, 0, 650, 0, 650, 650, 0, 0, 650, 311, 312, 0, 0, 0, 0, 0, 650, 0, 0, 650, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 0, 0, 0, 0, 0, 322, 323, 324, 1142, 0, 325, 1160, 326, 0, 0, 1729, 0, 0, 0, 1730, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 552, 261, 261, 261, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 261, 0, 0, 178, 419, 221, 0, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 1213, 1223, 738, 0, 1213, 1223, 0, 0, 0, 0, 0, 1200, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 261, 0, 0, 0, 0, 0, 0, 261, 0, 0, 261, 0, 126, 0, 0, 0, 0, 0, 0, 1003, 0, 700, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 469, 552, 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 91, 0, 0, 0, 0, 0, 0, 469, 0, 469, 0, 0, 0, 0, 596, 0, 598, 126, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 650, 650, 650, 650, 574, 0, 650, 0, 0, 0, 650, 650, 0, 650, 0, 650, 0, 0, 0, 120, 132, 0, 552, 0, 552, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 398, 0, 0, 0, 0, 1428, 574, 0, 0, 183, 132, 0, 0, 574, 230, 0, 1428, 117, 738, 91, 574, 0, 0, 834, 834, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 419, 0, 0, 0, 419, 386, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 469, 469, 469, 469, 469, 0, 687, 419, 0, 531, 0, 0, 0, 0, 469, 469, 469, 469, 419, 1788, 419, 1788, 547, 0, 1004, 650, 0, 261, 261, 261, 0, 0, 0, 0, 650, 612, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 598, 0, 469, 469, 0, 0, 0, 0, 0, 650, 650, 132, 0, 650, 0, 650, 0, 0, 650, 0, 0, 0, 650, 0, 183, 0, 0, 0, 0, 0, 0, 0, 852, 0, 691, 0, 91, 0, 857, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 650, 0, 261, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0, 0, 0, 0, 0, 736, 0, 650, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 1192, 261, 261, 261, 261, 0, 0, 0, 0, 419, 0, 221, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 612, 0, 0, 1004, 0, 0, 0, 0, 0, 0, 1004, 864, 0, 1004, 1009, 0, 0, 1014, 0, 0, 1691, 0, 0, 0, 0, 0, 0, 1691, 0, 132, 1009, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 0, 0, 0, 0, 577, 261, 261, 0, 0, 261, 261, 0, 0, 0, 0, 0, 938, 577, 0, 946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 132, 132, 0, 0, 0, 0, 0, 1140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 132, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 657, 657, 657, 1053, 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 687, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 0, 1004, 0, 552, 419, 0, 0, 736, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 1158, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1274, 0, 0, 0, 0, 1004, 0, 1004, 261, 0, 260, 574, 0, 419, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1184, 0, 0, 0, 0, 0, 0, 691, 1327, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 0, 1218, 0, 0, 0, 1391, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, 0, 0, 687, 0, 574, 0, 1004, 0, 0, 1437, 0, 0, 0, 0, 0, 0, 0, 552, 261, 261, 0, 736, 0, 0, 261, 261, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 261, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, 260, 260, 260, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, 1418, 0, 0, 0, 260, 0, 864, 0, 0, 0, 0, 0, 0, 552, 864, 1432, 0, 126, 0, 0, 0, 0, 1439, 714, 0, 864, 120, 132, 0, 714, 0, 0, 0, 0, 934, 552, 0, 0, 0, 0, 737, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 132, 1004, 0, 0, 0, 0, 0, 0, 1472, 0, 0, 0, 0, 0, 581, 398, 0, 0, 0, 0, 132, 0, 0, 0, 577, 0, 577, 0, 0, 0, 938, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 938, 657, 0, 0, 657, 1596, 1598, 0, 1601, 0, 0, 0, 0, 0, 0, 0, 1611, 0, 0, 0, 0, 0, 0, 0, 1620, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 657, 573, 0, 0, 1550, 0, 0, 1158, 0, 0, 0, 0, 1158, 1558, 657, 657, 657, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 1655, 0, 1659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 738, 0, 0, 0, 0, 0, 260, 0, 0, 260, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 1129, 0, 0, 1004, 0, 1004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 0, 864, 0, 0, 864, 0, 1218, 0, 1168, 1172, 0, 0, 0, 0, 1682, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 1158, 0, 0, 0, 0, 0, 260, 260, 260, 260, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 1199, 0, 0, 0, 0, 0, 1158, 0, 260, 0, 0, 0, 0, 0, 0, 1212, 1222, 737, 0, 1212, 1222, 0, 0, 0, 0, 0, 1199, 0, 0, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 260, 687, 0, 0, 0, 0, 0, 260, 1759, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 552, 0, 0, 0, 1437, 0, 577, 0, 0, 1772, 0, 0, 1014, 0, 552, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 1932, 0, 1938, 1942, 0, 0, 0, 1946, 1950, 1954, 1958, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 1748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 1755, 0, 0, 1004, 0, 0, 0, 1758, 0, 0, 852, 0, 0, 0, 0, 395, 573, 0, 577, 0, 0, 0, 0, 735, 0, 573, 0, 0, 0, 577, 0, 0, 573, 0, 0, 0, 1439, 737, 581, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 657, 0, 0, 0, 0, 1158, 0, 1158, 0, 0, 1158, 657, 0, 0, 0, 0, 1846, 1849, 0, 1851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 1862, 0, 573, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 1928, 1932, 1938, 1942, 1946, 1950, 1954, 1958, 1812, 0, 1158, 0, 0, 0, 1158, 0, 0, 576, 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, 581, 0, 0, 0, 552, 0, 0, 260, 260, 260, 0, 0, 0, 552, 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 552, 552, 0, 0, 0, 0, 717, 687, 687, 0, 1967, 0, 717, 0, 1585, 0, 0, 1591, 0, 0, 0, 0, 0, 740, 0, 0, 1608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1888, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 260, 0, 0, 260, 0, 0, 0, 1632, 0, 0, 0, 0, 0, 0, 0, 0, 1009, 0, 0, 0, 0, 1168, 1172, 1168, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 1158, 0, 0, 260, 260, 260, 260, 1158, 1418, 0, 0, 1851, 0, 2005, 0, 0, 0, 576, 0, 0, 0, 0, 2011, 0, 0, 0, 260, 1139, 260, 0, 1758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664, 1157, 0, 611, 0, 1162, 0, 864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1690, 736, 0, 0, 576, 0, 0, 1690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, 735, 0, 0, 735, 260, 260, 0, 0, 260, 260, 0, 0, 0, 0, 0, 0, 576, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 1157, 1162, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 0, 122, 0, 0, 0, 0, 1682, 0, 139, 0, 1273, 0, 0, 0, 0, 0, 0, 0, 2068, 2071, 0, 1158, 0, 1158, 0, 0, 657, 1158, 657, 0, 0, 162, 171, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1325, 0, 0, 0, 0, 0, 0, 0, 1338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1389, 0, 0, 0, 122, 122, 0, 0, 1158, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 657, 0, 494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 1158, 122, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0, 260, 0, 0, 573, 263, 0, 162, 570, 0, 0, 0, 1215, 1225, 740, 0, 1215, 1225, 0, 0, 0, 0, 0, 1202, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 1246, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 1830, 0, 0, 0, 0, 0, 0, 0, 0, 1839, 0, 1842, 1585, 573, 0, 1591, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, 1855, 260, 260, 0, 0, 0, 0, 260, 260, 0, 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, 576, 0, 0, 0, 0, 0, 0, 576, 0, 0, 122, 0, 740, 0, 576, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595, 1597, 0, 1600, 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 1162, 0, 0, 0, 0, 1619, 0, 0, 0, 0, 0, 570, 1157, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 0, 737, 0, 0, 0, 1157, 1162, 0, 0, 0, 1157, 0, 0, 0, 0, 576, 0, 0, 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 1653, 0, 1657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 614, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 122, 122, 122, 0, 122, 0, 0, 122, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 1994, 1995, 1996, 1997, 0, 0, 1998, 0, 0, 0, 1826, 1830, 0, 1839, 0, 1842, 525, 0, 570, 0, 122, 0, 0, 0, 1157, 1162, 0, 2007, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 263, 0, 0, 0, 0, 1157, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, 1157, 0, 1162, 122, 0, 0, 263, 0, 263, 570, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1667, 0, 0, 614, 1998, 0, 0, 0, 0, 0, 0, 0, 0, 2076, 0, 2079, 0, 0, 0, 125, 125, 0, 0, 1693, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 263, 263, 0, 0, 263, 263, 0, 1, 0, 0, 0, 0, 125, 125, 2108, 2109, 0, 0, 2076, 0, 2079, 0, 0, 2113, 0, 0, 0, 2115, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 2115, 0, 0, 0, 125, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 2153, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 40, 0, 0, 0, 0, 1822, 0, 162, 0, 570, 43, 44, 45, 46, 47, 48, 570, 0, 0, 0, 51, 570, 0, 862, 0, 1157, 1162, 1157, 1162, 0, 1157, 1841, 0, 0, 567, 0, 1595, 1848, 0, 1619, 0, 1162, 125, 0, 0, 0, 0, 0, 0, 1157, 1162, 1619, 0, 0, 0, 125, 0, 0, 0, 0, 122, 0, 0, 0, 0, 688, 0, 0, 0, 122, 0, 0, 0, 0, 570, 0, 0, 0, 1, 0, 122, 0, 0, 1157, 0, 1162, 0, 1157, 0, 1162, 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 263, 0, 0, 576, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 40, 0, 0, 578, 0, 0, 0, 0, 122, 122, 43, 44, 45, 46, 47, 48, 0, 0, 122, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 0, 578, 0, 0, 263, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 1162, 0, 1157, 1841, 0, 1162, 1619, 0, 2004, 0, 2006, 0, 0, 0, 0, 0, 1162, 2010, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 0, 125, 0, 0, 688, 0, 0, 0, 122, 0, 122, 0, 0, 0, 0, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 740, 125, 482, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 482, 0, 578, 0, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 576, 0, 0, 0, 0, 2067, 2070, 0, 1157, 1162, 1157, 0, 0, 0, 1157, 1841, 0, 0, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 688, 0, 258, 258, 258, 0, 688, 0, 2, 0, 0, 0, 0, 0, 263, 263, 0, 121, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 1157, 1162, 0, 1157, 1841, 0, 0, 0, 2114, 0, 0, 0, 0, 713, 0, 0, 307, 0, 0, 713, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 740, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 122, 0, 0, 322, 323, 889, 0, 122, 890, 733, 326, 0, 0, 0, 122, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 570, 0, 0, 122, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 122, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 572, 302, 578, 1, 303, 106, 304, 578, 305, 306, 0, 0, 0, 125, 0, 0, 0, 0, 0, 258, 0, 0, 0, 578, 0, 0, 258, 0, 2, 258, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 0, 0, 578, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 407, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 40, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 45, 46, 47, 48, 125, 125, 322, 323, 324, 0, 0, 325, 733, 326, 578, 259, 578, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 0, 122, 259, 0, 0, 0, 258, 258, 258, 0, 0, 0, 0, 0, 259, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 1211, 1221, 0, 0, 1211, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 259, 259, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 258, 0, 0, 0, 0, 0, 0, 258, 0, 0, 258, 0, 0, 0, 0, 688, 0, 688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 259, 259, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 259, 0, 0, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 259, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 572, 2, 0, 0, 0, 0, 264, 0, 1427, 572, 0, 0, 0, 0, 0, 0, 572, 0, 0, 1427, 0, 0, 0, 572, 0, 1117, 1118, 1119, 630, 1120, 1121, 1122, 1123, 635, 636, 1124, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 264, 311, 312, 1125, 0, 640, 641, 642, 0, 0, 0, 0, 264, 0, 0, 313, 264, 0, 572, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 572, 322, 323, 324, 0, 0, 325, 0, 326, 643, 264, 264, 259, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 258, 0, 0, 0, 0, 0, 610, 578, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 578, 0, 578, 0, 0, 578, 264, 0, 578, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 259, 0, 0, 259, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 258, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 0, 264, 0, 259, 259, 259, 259, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, 0, 259, 259, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 0, 0, 0, 0, 259, 258, 258, 0, 0, 258, 258, 259, 259, 0, 0, 259, 259, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 259, 0, 0, 259, 0, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 264, 305, 306, 0, 0, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, 0, 578, 578, 0, 578, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1196, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 125, 35, 36, 311, 407, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 40, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 45, 46, 47, 48, 0, 259, 322, 323, 324, 0, 0, 325, 733, 326, 0, 0, 259, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 572, 0, 0, 0, 0, 0, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, 0, 259, 259, 259, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 0, 0, 0, 0, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 259, 0, 0, 259, 0, 0, 259, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, -458, -458, -458, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, 0, 0, 0, 259, 259, 259, 259, 0, 0, 0, 0, -458, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 259, 0, 259, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, -458, 259, -458, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 258, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 259, 0, 264, 264, 264, 0, 0, 0, 0, 572, 264, 0, 0, 0, 0, 0, 0, 0, 259, 259, 0, 0, 0, 0, 0, 259, 259, 0, 0, 259, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 264, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, -458, -458, -458, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, 0, 0, 0, 264, 264, 264, 264, 0, 0, 0, 0, -458, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 264, 0, 264, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, -458, -458, 0, 0, -458, 264, -458, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 259, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 757, 758, 759, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, -345, -345, 0, 259, 259, -345, 0, 0, 0, 259, 259, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 259, -345, 0, 0, 0, 0, 0, 0, 259, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, 760, 0, 0, -345, 1531, -345, -345, 0, 761, 0, 0, 762, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -907, 584, 0, -907, -907, -907, -907, 0, -907, -907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, 0, 0, -907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -907, -907, 0, -907, 0, 0, -907, -907, -907, -907, -907, 0, 0, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, 259, 259, -907, -907, -907, -907, 0, -907, 0, -907, -907, -907, 0, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, -907, 0, 0, -907, 848, -907, -907, 0, 586, -907, -907, 0, 0, -907, -907, 0, -907, -907, -907, -907, 0, 0, 0, 264, 264, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, 0, 259, 259, 0, 0, -345, 756, 264, -345, -345, -345, -345, 757, 758, 759, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, 0, -345, 0, 0, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 760, -345, -345, -345, -345, -345, -345, -345, 761, -345, -345, 762, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, -450, 1153, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, 0, -450, 0, 0, -450, -450, -450, -450, -450, 264, 264, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -304, 302, 0, 1, 303, 106, 304, -304, 305, 306, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 2, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, 0, 307, -304, 0, -304, 0, 0, 308, 309, 310, -304, -304, 0, 0, -304, -304, -304, -304, -304, -304, 311, 312, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, -304, 0, 313, -304, -304, 0, 314, 315, 316, 317, 318, 319, 320, 321, -304, -304, -304, -304, -304, -304, -304, -304, 322, 323, 324, -304, -304, 325, 1241, 326, -304, -304, 1156, -304, -304, -304, -304, 327, 328, -304, 329, 330, 331, 332, -304, -304, -304, -304, -304, -305, 302, 0, 1, 303, 106, 304, -305, 305, 306, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 2, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, 0, 307, -305, 0, -305, 0, 0, 308, 309, 310, -305, -305, 0, 0, -305, -305, -305, -305, -305, -305, 311, 312, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, -305, 0, 313, -305, -305, 0, 314, 315, 316, 317, 318, 319, 320, 321, -305, -305, -305, -305, -305, -305, -305, -305, 322, 323, 324, -305, -305, 325, 1160, 326, -305, -305, 1161, -305, -305, -305, -305, 327, 328, -305, 329, 330, 331, 332, -305, -305, -305, -305, -305, -565, 302, 0, 1, 303, 106, 304, -565, 305, 306, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 2, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, 0, 307, -565, 0, -565, 0, 0, 308, 309, 310, -565, -565, 0, 0, -565, -565, -565, -565, -565, -565, 311, 312, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, -565, 0, 313, -565, -565, 0, 314, 315, 316, 317, 318, 319, 320, 321, -565, -565, -565, -565, -565, -565, -565, -565, 322, 323, 324, -565, -565, 325, -565, 326, -565, -565, -565, -565, 744, -565, 1322, 327, 328, -565, 329, 330, 331, 332, -565, -565, -565, -565, -565, -566, 302, 0, 1, 303, 106, 304, -566, 305, 306, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 2, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, 0, 307, -566, 0, -566, 0, 0, 308, 309, 310, -566, -566, 0, 0, -566, -566, -566, -566, -566, -566, 311, 312, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, -566, 0, 313, -566, -566, 0, 314, 315, 316, 317, 318, 319, 320, 321, -566, -566, -566, -566, -566, -566, -566, -566, 322, 323, 324, -566, -566, 325, -566, 326, -566, -566, -566, -566, 744, -566, 1388, 327, 328, -566, 329, 330, 331, 332, -566, -566, -566, -566, -566, -576, 302, 0, 1, 303, 106, 304, -576, 305, 306, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 2, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, 0, 307, -576, 0, -576, 0, 0, 308, 309, 310, -576, -576, 0, 0, -576, -576, -576, -576, -576, -576, 311, 312, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, -576, 0, 313, -576, -576, 0, 314, 315, 316, 317, 318, 319, 320, 321, -576, -576, -576, -576, -576, -576, -576, -576, 322, 323, 324, -576, -576, 325, -576, 326, -576, -576, 1156, -576, -576, -576, -576, 327, 328, -576, 329, 330, 331, 332, -576, -576, -576, -576, -576, -578, 302, 0, 1, 303, 106, 304, -578, 305, 306, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 2, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, 0, 307, -578, 0, -578, 0, 0, 308, 309, 310, -578, -578, 0, 0, -578, -578, -578, -578, -578, -578, 311, 312, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, 0, 313, -578, -578, 0, 314, 315, 316, 317, 318, 319, 320, 321, -578, -578, -578, -578, -578, -578, -578, -578, 322, 323, 324, -578, -578, 325, 1160, 326, -578, -578, 1161, -578, -578, -578, -578, 327, 328, -578, 329, 330, 331, 332, -578, -578, -578, -578, -578, -577, 302, 0, 1, 303, 106, 304, -577, 305, 306, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 2, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, 0, 307, -577, 0, -577, 0, 0, 308, 309, 310, -577, -577, 0, 0, -577, -577, -577, -577, -577, -577, 311, 312, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, 0, 313, -577, -577, 0, 314, 315, 316, 317, 318, 319, 320, 321, -577, -577, -577, -577, -577, -577, -577, -577, 322, 323, 324, -577, -577, 325, -577, 326, -577, -577, 1156, -577, -577, -577, -577, 327, 328, -577, 329, 330, 331, 332, -577, -577, -577, -577, -577, -338, 1884, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, 0, -338, -338, 0, -338, 0, 0, -338, -338, -338, -338, -338, 0, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, -338, 0, -338, -338, -338, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -342, 1920, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, 0, -342, -342, 0, -342, 0, 0, -342, -342, -342, -342, -342, 0, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, -342, 0, -342, -342, -342, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -332, 302, 0, 1, 303, 106, 304, -332, 305, 306, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 2, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, 0, 307, -332, 0, -332, 0, 0, 308, 309, 310, -332, -332, 0, 0, -332, -332, -332, -332, -332, -332, 311, 312, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, -332, 0, 313, -332, -332, 0, 314, 315, 316, 317, 318, 319, 320, 321, -332, -332, -332, -332, -332, -332, -332, -332, 322, 323, 324, -332, -332, 325, -332, 326, -332, -332, -332, -332, 744, -332, -332, 327, 328, -332, 329, 330, 331, 332, -332, -332, -332, -332, -332, -543, 302, 0, 1, 303, 106, 304, -543, 305, 306, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 2, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, 0, 307, -543, 0, -543, 0, 0, 308, 309, 310, -543, -543, 0, 0, -543, -543, -543, -543, -543, -543, 311, 312, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, -543, 0, 313, -543, -543, 0, 314, 315, 316, 317, 318, 319, 320, 321, -543, -543, -543, -543, -543, -543, -543, -543, 322, 323, 324, -543, -543, 325, -543, 326, -543, -543, -543, -543, 744, -543, -543, 327, 328, -543, 329, 330, 331, 332, -543, -543, -543, -543, -543, -551, 302, 0, 1, 303, 106, 304, -551, 305, 306, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 2, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, 0, 307, -551, 0, -551, 0, 0, 308, 309, 310, -551, -551, 0, 0, -551, -551, -551, -551, -551, -551, 311, 312, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, -551, 0, 313, -551, -551, 0, 314, 315, 316, 317, 318, 319, 320, 321, -551, -551, -551, -551, -551, -551, -551, -551, 322, 323, 324, -551, -551, 325, -551, 326, -551, -551, -551, -551, 744, -551, -551, 327, 328, -551, 329, 330, 331, 332, -551, -551, -551, -551, -551, -544, 302, 0, 1, 303, 106, 304, -544, 305, 306, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 2, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, 0, 307, -544, 0, -544, 0, 0, 308, 309, 310, -544, -544, 0, 0, -544, -544, -544, -544, -544, -544, 311, 312, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, -544, 0, 313, -544, -544, 0, 314, 315, 316, 317, 318, 319, 320, 321, -544, -544, -544, -544, -544, -544, -544, -544, 322, 323, 324, -544, -544, 325, -544, 326, -544, -544, -544, -544, 744, -544, -544, 327, 328, -544, 329, 330, 331, 332, -544, -544, -544, -544, -544, -552, 302, 0, 1, 303, 106, 304, -552, 305, 306, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 2, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, 0, 307, -552, 0, -552, 0, 0, 308, 309, 310, -552, -552, 0, 0, -552, -552, -552, -552, -552, -552, 311, 312, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, -552, 0, 313, -552, -552, 0, 314, 315, 316, 317, 318, 319, 320, 321, -552, -552, -552, -552, -552, -552, -552, -552, 322, 323, 324, -552, -552, 325, -552, 326, -552, -552, -552, -552, 744, -552, -552, 327, 328, -552, 329, 330, 331, 332, -552, -552, -552, -552, -552, -545, 302, 0, 1, 303, 106, 304, -545, 305, 306, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 2, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, 0, 307, -545, 0, -545, 0, 0, 308, 309, 310, -545, -545, 0, 0, -545, -545, -545, -545, -545, -545, 311, 312, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, -545, 0, 313, -545, -545, 0, 314, 315, 316, 317, 318, 319, 320, 321, -545, -545, -545, -545, -545, -545, -545, -545, 322, 323, 324, -545, -545, 325, -545, 326, -545, -545, -545, -545, 744, -545, -545, 327, 328, -545, 329, 330, 331, 332, -545, -545, -545, -545, -545, -553, 302, 0, 1, 303, 106, 304, -553, 305, 306, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 2, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, 0, 307, -553, 0, -553, 0, 0, 308, 309, 310, -553, -553, 0, 0, -553, -553, -553, -553, -553, -553, 311, 312, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, -553, 0, 313, -553, -553, 0, 314, 315, 316, 317, 318, 319, 320, 321, -553, -553, -553, -553, -553, -553, -553, -553, 322, 323, 324, -553, -553, 325, -553, 326, -553, -553, -553, -553, 744, -553, -553, 327, 328, -553, 329, 330, 331, 332, -553, -553, -553, -553, -553, -546, 302, 0, 1, 303, 106, 304, -546, 305, 306, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 2, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, 0, 307, -546, 0, -546, 0, 0, 308, 309, 310, -546, -546, 0, 0, -546, -546, -546, -546, -546, -546, 311, 312, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, -546, 0, 313, -546, -546, 0, 314, 315, 316, 317, 318, 319, 320, 321, -546, -546, -546, -546, -546, -546, -546, -546, 322, 323, 324, -546, -546, 325, -546, 326, -546, -546, -546, -546, 744, -546, -546, 327, 328, -546, 329, 330, 331, 332, -546, -546, -546, -546, -546, -554, 302, 0, 1, 303, 106, 304, -554, 305, 306, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 2, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, 0, 307, -554, 0, -554, 0, 0, 308, 309, 310, -554, -554, 0, 0, -554, -554, -554, -554, -554, -554, 311, 312, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, -554, 0, 313, -554, -554, 0, 314, 315, 316, 317, 318, 319, 320, 321, -554, -554, -554, -554, -554, -554, -554, -554, 322, 323, 324, -554, -554, 325, -554, 326, -554, -554, -554, -554, 744, -554, -554, 327, 328, -554, 329, 330, 331, 332, -554, -554, -554, -554, -554, -340, 2025, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, 0, -340, -340, 0, -340, 0, 0, -340, -340, -340, -340, -340, 0, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, -340, 0, -340, -340, -340, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -339, 2026, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, 0, -339, -339, 0, -339, 0, 0, -339, -339, -339, -339, -339, 0, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, -339, 0, -339, -339, -339, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -345, 756, 0, -345, -345, -345, -345, 757, 758, 759, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, 0, -345, 0, 0, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 760, -345, -345, -345, -345, -345, -345, -345, 1151, -345, -345, 762, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -450, 1153, 0, -450, -450, -450, -450, 0, -450, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, 0, -450, 0, 0, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, 0, -450, -450, -450, 1154, -450, -450, -450, 0, -450, -450, -450, -450, -1090, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, 0, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, 0, 0, 307, -1090, 0, -1090, 0, 0, 308, 309, 310, -1090, -1090, 0, 0, -1090, -1090, -1090, -1090, -1090, -1090, 311, 312, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, 0, -1090, 0, 313, -1090, -1090, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, 322, 323, 324, 0, 0, 325, 1160, 326, -1090, 0, 1161, -1090, -1090, 0, -1090, 327, 328, 0, 329, 330, 331, 332, -1234, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, 0, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, 0, 0, 307, -1234, 0, -1234, 0, 0, 308, 309, 310, -1234, -1234, 0, 0, -1234, -1234, -1234, -1234, -1234, -1234, 311, 312, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, 0, -1234, 0, 313, -1234, -1234, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, 322, 323, 324, 0, 0, 325, 1160, 326, 1626, 0, 1161, -1234, -1234, 0, -1234, 327, 328, 0, 329, 330, 331, 332, -1192, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, 0, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, 0, 0, 307, -1192, 0, -1192, 0, 0, 308, 309, 310, -1192, -1192, 0, 0, -1192, -1192, -1192, -1192, -1192, -1192, 311, 312, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, 0, -1192, 0, 313, -1192, -1192, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, 322, 323, 324, 0, 0, 325, 1835, 326, -1192, 0, 1161, -1192, -1192, 0, -1192, 327, 328, 0, 329, 330, 331, 332, -1223, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, -1223, 0, -1223, 0, 0, 308, 309, 310, -1223, -1223, 0, 0, -1223, 32, -1223, -1223, -1223, -1223, 311, 312, 1125, -1223, 640, 641, 642, -1223, -1223, -1223, -1223, 0, -1223, 0, 313, -1223, -1223, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, -1223, -1223, -1223, -1223, -1223, -1223, 322, 323, 324, 0, 0, 325, 1160, 326, 643, 0, 1161, -1223, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -577, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, 0, 307, -577, 0, -577, 0, 0, 308, 309, 310, -577, -577, 0, 0, -577, -577, -577, -577, -577, -577, 311, 312, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, 0, 313, -577, -577, 0, 314, 315, 316, 317, 318, 319, 320, 321, -577, -577, -577, -577, -577, -577, -577, -577, 322, 323, 324, 0, 0, 325, -577, 326, 1155, 0, 1156, -577, -577, 0, -577, 327, 328, 0, 329, 330, 331, 332, -1215, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, 0, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, 0, 0, 307, -1215, 0, -1215, 0, 0, 308, 309, 310, -1215, -1215, 0, 0, -1215, -1215, -1215, -1215, -1215, -1215, 311, 312, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, 0, -1215, 0, 313, -1215, -1215, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, 322, 323, 324, 0, 0, 325, 2072, 326, -1215, 0, 1156, -1215, -1215, 0, -1215, 327, 328, 0, 329, 330, 331, 332, -1216, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, 0, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, 0, 0, 307, -1216, 0, -1216, 0, 0, 308, 309, 310, -1216, -1216, 0, 0, -1216, -1216, -1216, -1216, -1216, -1216, 311, 312, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, 0, -1216, 0, 313, -1216, -1216, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, 322, 323, 324, 0, 0, 325, 1160, 326, 2073, 0, 1161, -1216, -1216, 0, -1216, 327, 328, 0, 329, 330, 331, 332, -1210, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, -1210, 0, -1210, 0, 0, 308, 309, 310, -1210, -1210, 0, 0, -1210, 32, -1210, -1210, -1210, -1210, 311, 312, 1125, -1210, 640, 641, 642, -1210, -1210, -1210, -1210, 0, -1210, 0, 313, -1210, -1210, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, -1210, -1210, -1210, -1210, -1210, -1210, 322, 323, 324, 0, 0, 325, 1160, 326, 643, 0, 1161, -1210, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1158, 618, 0, -1158, -1158, -1158, -1158, 0, -1158, -1158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, 0, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, 0, 0, -1158, -1158, 0, -1158, 0, 0, -1158, -1158, -1158, -1158, -1158, 0, 0, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, 0, -1158, 0, -1158, -1158, -1158, 0, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, 0, 0, -1158, 0, -1158, 619, 0, -1158, -1158, -1158, 0, -1158, -1158, -1158, 0, -1158, -1158, -1158, -1158, -1181, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1181, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1181, 32, -1181, -1181, -1181, -1181, 311, 638, 639, 248, 640, 641, 642, -1181, -1181, -1181, -1181, 0, -1181, 0, 313, -1181, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1181, -1181, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1159, 618, 0, -1159, -1159, -1159, -1159, 0, -1159, -1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, 0, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, 0, 0, -1159, -1159, 0, -1159, 0, 0, -1159, -1159, -1159, -1159, -1159, 0, 0, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, 0, -1159, 0, -1159, -1159, -1159, 0, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, 0, 0, -1159, 0, -1159, 619, 0, -1159, -1159, -1159, 0, -1159, -1159, -1159, 0, -1159, -1159, -1159, -1159, -1220, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, 1117, 1118, 1119, 630, 1120, 1121, 1122, 1123, 635, 636, 1124, 0, 0, 307, -1220, 0, -1220, 0, 0, 308, 309, 310, -1220, -1220, 0, 0, -1220, 32, -1220, -1220, -1220, -1220, 311, 312, 1125, -1220, 640, 641, 642, -1220, -1220, -1220, -1220, 0, -1220, 0, 313, -1220, -1220, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, -1220, -1220, -1220, -1220, -1220, -1220, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1220, -1220, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1236, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, 0, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, 0, 0, 307, -1236, 0, -1236, 0, 0, 308, 309, 310, -1236, -1236, 0, 0, -1236, -1236, -1236, -1236, -1236, -1236, 311, 312, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, 0, -1236, 0, 313, -1236, -1236, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, 322, 323, 324, 0, 0, 325, 0, 326, 1136, 0, -1236, -1236, 744, 0, -1236, 327, 328, 0, 329, 330, 331, 332, -1171, 1163, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1171, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1171, 32, -1171, -1171, -1171, -1171, 311, 638, 639, 248, 640, 641, 642, -1171, -1171, -1171, -1171, 0, -1171, 0, 313, -1171, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1171, -1171, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1175, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1175, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1175, 32, -1175, -1175, -1175, -1175, 311, 638, 639, 248, 640, 641, 642, -1175, -1175, -1175, -1175, 0, -1175, 0, 313, -1175, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1175, -1175, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1170, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1170, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1170, 32, -1170, -1170, -1170, -1170, 311, 638, 639, 248, 640, 641, 642, -1170, -1170, -1170, -1170, 0, -1170, 0, 313, -1170, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1170, -1170, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1174, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1174, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1174, 32, -1174, -1174, -1174, -1174, 311, 638, 639, 248, 640, 641, 642, -1174, -1174, -1174, -1174, 0, -1174, 0, 313, -1174, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1174, -1174, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1077, 1176, 0, -1077, -1077, -1077, -1077, 0, -1077, -1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, 0, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, 0, 0, -1077, -1077, 0, -1077, 0, 0, -1077, -1077, -1077, -1077, -1077, 0, 0, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, 0, -1077, 0, -1077, -1077, -1077, 0, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, 0, 0, -1077, 0, -1077, -1077, 0, -1077, -1077, -1077, 0, -1077, -1077, -1077, 0, -1077, -1077, -1077, -1077, -1079, 1177, 0, -1079, -1079, -1079, -1079, 0, -1079, -1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, 0, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, 0, 0, -1079, -1079, 0, -1079, 0, 0, -1079, -1079, -1079, -1079, -1079, 0, 0, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, 0, -1079, 0, -1079, -1079, -1079, 0, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, 0, 0, -1079, 0, -1079, -1079, 0, -1079, -1079, -1079, 0, -1079, -1079, -1079, 0, -1079, -1079, -1079, -1079, -1125, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1125, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1125, 32, -1125, -1125, -1125, -1125, 311, 638, 639, 248, 640, 641, 642, -1125, -1125, -1125, -1125, 0, -1125, 0, 313, -1125, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1125, -1125, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1127, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1127, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1127, 32, -1127, -1127, -1127, -1127, 311, 638, 639, 248, 640, 641, 642, -1127, -1127, -1127, -1127, 0, -1127, 0, 313, -1127, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1127, -1127, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1172, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1172, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1172, 32, -1172, -1172, -1172, -1172, 311, 638, 639, 248, 640, 641, 642, -1172, -1172, -1172, -1172, 0, -1172, 0, 313, -1172, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1172, -1172, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1176, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1176, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1176, 32, -1176, -1176, -1176, -1176, 311, 638, 639, 248, 640, 641, 642, -1176, -1176, -1176, -1176, 0, -1176, 0, 313, -1176, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1176, -1176, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1173, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1173, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1173, 32, -1173, -1173, -1173, -1173, 311, 638, 639, 248, 640, 641, 642, -1173, -1173, -1173, -1173, 0, -1173, 0, 313, -1173, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1173, -1173, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1177, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, -1177, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1177, 32, -1177, -1177, -1177, -1177, 311, 638, 639, 248, 640, 641, 642, -1177, -1177, -1177, -1177, 0, -1177, 0, 313, -1177, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, -1177, -1177, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, -1168, 618, 0, -1168, -1168, -1168, -1168, 0, -1168, -1168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, 0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, 0, 0, -1168, -1168, 0, -1168, 0, 0, -1168, -1168, -1168, -1168, -1168, 0, 0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, 0, -1168, 0, -1168, -1168, -1168, 0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, 0, 0, -1168, 0, -1168, 619, 0, -1168, -1168, -1168, 0, -1168, -1168, -1168, 0, -1168, -1168, -1168, -1168, -1169, 618, 0, -1169, -1169, -1169, -1169, 0, -1169, -1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, 0, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, 0, 0, -1169, -1169, 0, -1169, 0, 0, -1169, -1169, -1169, -1169, -1169, 0, 0, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, 0, -1169, 0, -1169, -1169, -1169, 0, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, 0, 0, -1169, 0, -1169, 619, 0, -1169, -1169, -1169, 0, -1169, -1169, -1169, 0, -1169, -1169, -1169, -1169, -1004, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, 0, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, 0, 0, 307, -1004, 0, -1004, 0, 0, 308, 309, 310, -1004, -1004, 0, 0, -1004, -1004, -1004, -1004, -1004, -1004, 311, 312, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, 0, -1004, 0, 313, -1004, -1004, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, 322, 323, 324, 0, 0, 325, 0, 326, -1004, 0, 1804, 1805, 1016, 0, -1004, 327, 328, 0, 329, 330, 331, 332, -1131, 618, 0, -1131, -1131, -1131, -1131, 0, -1131, -1131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, -1131, 0, -1131, 0, 0, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, 0, -1131, 619, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1132, 618, 0, -1132, -1132, -1132, -1132, 0, -1132, -1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, -1132, 0, -1132, 0, 0, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, -1132, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, 0, -1132, 619, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1128, 618, 0, -1128, -1128, -1128, -1128, 0, -1128, -1128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, 0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, 0, 0, -1128, -1128, 0, -1128, 0, 0, -1128, -1128, -1128, -1128, -1128, 0, 0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, 0, -1128, 0, -1128, -1128, -1128, 0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, 0, 0, -1128, 0, -1128, 619, 0, -1128, -1128, -1128, 0, -1128, -1128, -1128, 0, -1128, -1128, -1128, -1128, -1006, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, 0, 307, -1006, 0, -1006, 0, 0, 308, 309, 310, -1006, -1006, 0, 0, -1006, -1006, -1006, -1006, -1006, -1006, 311, 312, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, -1006, 0, 313, -1006, -1006, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 322, 323, 324, 0, 0, 325, 0, 326, -1006, 0, -1006, 1985, 1016, 0, -1006, 327, 328, 0, 329, 330, 331, 332, -1000, 1988, 0, -1000, -1000, -1000, -1000, 0, -1000, -1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 0, 0, -1000, -1000, 0, -1000, 0, 0, -1000, -1000, -1000, -1000, -1000, 0, 0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 0, -1000, 0, -1000, -1000, -1000, 0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 0, 0, -1000, 0, -1000, -1000, 0, -1000, -1000, -1000, 0, -1000, -1000, -1000, 0, -1000, -1000, -1000, -1000, -1129, 618, 0, -1129, -1129, -1129, -1129, 0, -1129, -1129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, 0, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, 0, 0, -1129, -1129, 0, -1129, 0, 0, -1129, -1129, -1129, -1129, -1129, 0, 0, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, 0, -1129, 0, -1129, -1129, -1129, 0, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, 0, 0, -1129, 0, -1129, 619, 0, -1129, -1129, -1129, 0, -1129, -1129, -1129, 0, -1129, -1129, -1129, -1129, -1130, 618, 0, -1130, -1130, -1130, -1130, 0, -1130, -1130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, 0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, 0, 0, -1130, -1130, 0, -1130, 0, 0, -1130, -1130, -1130, -1130, -1130, 0, 0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, 0, -1130, 0, -1130, -1130, -1130, 0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, 0, 0, -1130, 0, -1130, 619, 0, -1130, -1130, -1130, 0, -1130, -1130, -1130, 0, -1130, -1130, -1130, -1130, -1217, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, 0, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, 0, 0, 307, -1217, 0, -1217, 0, 0, 308, 309, 310, -1217, -1217, 0, 0, -1217, -1217, -1217, -1217, -1217, -1217, 311, 312, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, 0, -1217, 0, 313, -1217, -1217, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, 322, 323, 324, 0, 0, 325, 0, 326, -1217, 0, -1217, -1217, -1217, 0, -1217, 327, 328, 0, 329, 330, 331, 332, -1001, 2064, 0, -1001, -1001, -1001, -1001, 0, -1001, -1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 0, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 0, 0, -1001, -1001, 0, -1001, 0, 0, -1001, -1001, -1001, -1001, -1001, 0, 0, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 0, -1001, 0, -1001, -1001, -1001, 0, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 0, 0, -1001, 0, -1001, -1001, 0, -1001, -1001, -1001, 0, -1001, -1001, -1001, 0, -1001, -1001, -1001, -1001, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 639, 248, 640, 641, 642, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, 0, 0, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 1117, 1118, 1119, 630, 1120, 1121, 1122, 1123, 635, 636, 1124, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 639, 248, 640, 641, 642, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, 0, 0, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 986, 0, 987, 988, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 1250, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 986, 0, 987, -110, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 1257, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 986, 0, 987, -98, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 1261, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 986, 0, 987, -102, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1515, 0, 987, -65, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1524, 0, 987, 1525, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 1582, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 986, 0, 987, -81, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1524, 0, 987, -107, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1524, 0, 987, -97, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1524, 0, 987, -101, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 1765, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 986, 0, 987, -88, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1524, 0, 987, -78, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 638, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 324, 0, 0, 325, 0, 326, 1524, 0, 987, -85, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 407, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 40, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 45, 46, 47, 48, 206, 207, 322, 323, 324, 0, 0, 325, 302, 326, 1, 303, 106, 304, 0, 305, 306, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 866, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 407, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 40, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 45, 46, 47, 48, 206, 207, 322, 323, 324, 0, 0, 325, 302, 326, 1, 303, 106, 304, 0, 305, 306, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 407, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 40, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 45, 46, 47, 48, 0, 0, 322, 323, 324, 0, 0, 325, 302, 326, 1, 303, 106, 304, 254, 305, 306, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 407, 38, 39, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 313, 0, 40, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 45, 46, 47, 48, 2, 0, 322, 323, 889, 0, 0, 890, 733, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 1117, 1118, 1119, 630, 1120, 1121, 1122, 1123, 635, 636, 1124, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1125, 0, 640, 641, 642, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, -453, 326, 643, 0, -453, 0, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1117, 1118, 1119, 630, 1120, 1121, 1122, 1123, 635, 636, 1124, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1125, 0, 640, 641, 642, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 643, 0, 1161, 0, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 1838, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1117, 1118, 1119, 630, 1120, 1121, 1122, 1123, 635, 636, 1124, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1125, 0, 640, 641, 642, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, 0, 0, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1125, 0, 640, 641, 642, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 643, 0, 0, 0, 254, 0, 644, 327, 328, 0, 329, 330, 331, 332, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 0, 0, 1161, 0, 0, 0, 0, 327, 328, 1734, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 0, 0, 1729, 0, 0, 0, 1737, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1858, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 1626, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 1859, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 0, 0, 1729, 0, 0, 0, 1876, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 0, 0, 1729, 0, 0, 0, 1880, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 2008, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 1859, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 1859, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 2062, 2063, 1016, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2074, 326, 2075, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 2073, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 745, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 1155, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1266, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1333, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 1136, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1615, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1160, 326, 0, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1616, 326, 1617, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 1625, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1695, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 1723, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 1726, 0, 0, 0, 1727, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 1733, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 1726, 0, 0, 0, 1735, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1834, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1836, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1837, 326, 0, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1840, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1616, 326, 1617, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1860, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 1857, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1861, 326, 1617, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 1726, 0, 0, 0, 1874, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 1726, 0, 0, 0, 1878, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1993, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1835, 326, 0, 0, 1161, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2000, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1861, 326, 1617, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2078, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 2107, 1016, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2110, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2111, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2139, 326, 0, 0, 1156, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 549, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 840, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 844, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 1016, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 1057, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 1109, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1460, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 733, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 1563, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1599, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 1602, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1794, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 1793, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1797, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 1801, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 744, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 1847, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 1907, 0, 326, 0, 0, 0, 0, 1793, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2009, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 2069, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 325, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 703, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 2, 0, 0, 0, 0, 322, 323, 324, 0, 0, 706, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, -895, 584, 0, -895, -895, -895, 322, 323, 324, 0, 0, 729, 0, 326, 0, 0, 0, 0, 0, 0, 0, 327, 328, 0, 329, 330, 331, 332, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, -895, 0, 0, -895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -895, -895, 0, -895, 0, 0, -895, -895, 0, -895, -895, 0, 0, -895, -895, -895, -895, -895, -895, 0, -895, -895, -895, -895, 0, 0, -895, -895, -895, -895, 0, -895, 0, -895, -895, -895, 0, -895, -895, -895, -895, -895, -895, -895, 0, -895, -895, -895, -895, -895, -895, -895, -895, -895, 0, -895, 0, 0, -895, 585, -895, -895, 0, 586, -895, 0, 0, 0, -895, -895, -189, 907, 0, -189, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, 0, -189, 0, 0, -189, -189, 0, -189, -189, 0, 0, -189, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, 0, 0, -189, -189, -189, -189, 0, -189, 0, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, -189, 0, 0, -189, 0, -189, 908, 0, 909, -189, 0, 0, 0, -189, -189, -253, 921, 0, 1, 303, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, -251, 924, -253, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, -254, 921, -251, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, -252, 924, -254, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 424, -252, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 490, 440, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 512, 491, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 517, 513, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 521, 518, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, 522, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -750, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -751, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -747, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -748, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -753, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 1039, -754, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 1043, 1040, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 302, 1044, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -649, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -730, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -731, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -733, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 1545, -734, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, 1546, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -644, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -645, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -736, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 302, -737, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 302, -648, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 302, -646, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 302, -624, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -623, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -637, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 302, -638, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -647, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -633, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -634, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -621, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -622, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -616, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 921, -617, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 924, -635, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 0, 424, -636, 1, 303, 106, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 0, 51, 0, 0, 437, 0, 438, 439, 490, 0, 1, 303, 106, 0, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 27, 0, 425, 0, 0, 308, 309, 0, 28, 29, 0, 0, 426, 32, 427, 428, 35, 36, 0, 407, 38, 39, 429, 0, 0, 430, 431, 432, 433, 0, 434, 0, 435, 436, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 199, 51, 1, 0, 437, 0, 438, 439, 0, 0, 0, 0, 0, 0, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 199, 51, 1, 0, 566, 1048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 1, 0, 51, 0, 0, 862, 1048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 1, 0, 51, 0, 0, 566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, 568, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 1, 0, 51, 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 1, 0, 51, 0, 0, 862, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 1, 0, 51, 0, 0, 862, 0, 0, 0, 0, 0, 0, 1442, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 1, 0, 51, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 1, 0, 51, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 1, 0, 51, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1687, 0, 0, 0, 0, 0, 0, 0, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 1, 0, 51, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1702, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 273, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 274, 31, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 42, 0, 0, 1, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 275, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 425, 0, 0, 0, 0, 0, 28, 29, 0, 0, 426, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 1, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 51, 0, 0, 949, 0, 438, 0, 0, 0, 0, 0, 0, 950, 2, 200, 201, 202, 203, 204, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 1, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 51, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 930, 2, 200, 201, 202, 203, 204, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 1510, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 51, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 930, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, -66, -66, 0, 0, 0, -66, 0, 0, 0, 0, 0, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 1714, 0, 0, 0, 0, 0, 0, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 1511, 0, 1512, -66, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 1719, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 1970, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, -1288, 292, 0, 1, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 31, 0, 32, 33, 34, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 1, 0, 0, 42, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 0, 0, 53, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 1, 0, 832, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1401, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 1, 0, 832, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1745, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 165, 0, 1, 0, 832, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1746, 2, 3, 4, 166, 6, 7, 8, 9, 10, 167, 168, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 165, 0, 1, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 0, 0, 169, 0, 2, 3, 4, 166, 6, 7, 8, 9, 10, 167, 168, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 605, 0, 1, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 0, 0, 169, 0, 2, 200, 201, 202, 203, 204, 234, 235, 236, 606, 607, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, -915, 0, -915, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 51, 0, 0, 52, 0, 0, 608, 0, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, -915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -915, 0, 0, 0, 0, 0, 0, 0, -915, -915, 0, 0, 0, -915, 0, 0, 0, 0, 0, -915, -915, -915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -915, 0, 1, 0, 0, 0, 0, 0, 0, 0, -915, -915, -915, -915, -915, -915, -915, -915, 0, 0, -915, 0, 0, -915, 0, 0, -915, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 31, 0, 32, 33, 34, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, 0, -1289, 284, 42, 1, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 0, 0, 53, 0, 0, 0, 0, 2, 3, 4, 166, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 33, 34, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 51, 0, 0, 1208, 1674, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 208, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 390, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 208, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 390, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 1560, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 1897, 0, 2, 3, 4, 166, 6, 7, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 2, 3, 4, 166, 6, 7, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 887, 2, 3, 4, 166, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 8, 9, 10, 565, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 721, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 1447, 2, 200, 201, 202, 203, 204, 234, 235, 236, 1532, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1071, 0, 1, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 1077, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 1083, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 871, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 832, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 479, 480, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 2, 200, 201, 202, 203, 204, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 51, 0, 0, 862, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1521, 2, 200, 201, 202, 203, 204, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 18, 19, 244, 245, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 247, 38, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207
143 static const yytype_int16 yycheck[] =
145 0, 92, 86, 536, 928, 132, 861, 288, 642, 153, 1218, 928, 720, 471, 861, 345, 86, 5, 938, 345, 837, 1016, 581, 1101, 83, 828, 998, 475, 1000, 828, 30, 31, 156, 999, 472, 93, 100, 1, 93, 128, 5, 41, 837, 83, 128, 998, 84, 1000, 83, 30, 471, 128, 52, 744, 1, 998, 183, 1000, 128, 59, 751, 42, 744, 754, 64, 64, 66, 270, 861, 751, 83, 100, 754, 3, 93, 885, 960, 5, 1609, 83, 93, 100, 82, 83, 84, 1, 86, 100, 556, 93, 1621, 91, 795, 93, 1, 186, 187, 722, 28, 5, 100, 101, 128, 328, 104, 77, 998, 37, 1000, 135, 3, 3, 5, 113, 536, 121, 116, 59, 586, 5, 823, 589, 144, 591, 130, 593, 107, 108, 128, 3, 111, 131, 132, 83, 84, 157, 136, 159, 1, 161, 140, 141, 142, 3, 144, 5, 134, 3, 148, 959, 150, 0, 17, 153, 154, 144, 156, 157, 158, 159, 132, 161, 3, 128, 164, 129, 344, 1, 157, 3, 159, 113, 161, 3, 174, 174, 1, 268, 186, 187, 358, 131, 1, 183, 362, 132, 979, 121, 466, 467, 471, 1, 126, 123, 1, 309, 3, 2095, 198, 1, 128, 315, 1, 3, 134, 5, 132, 1, 3, 3, 210, 3, 212, 129, 492, 493, 1, 5, 0, 278, 220, 221, 129, 1, 288, 131, 290, 265, 1, 288, 230, 124, 290, 233, 83, 290, 514, 515, 278, 132, 1, 519, 520, 278, 93, 523, 524, 881, 288, 1, 124, 100, 101, 2151, 128, 1, 198, 183, 132, 288, 3, 290, 270, 1, 124, 265, 129, 123, 395, 1, 270, 290, 132, 387, 274, 389, 270, 290, 278, 144, 1252, 289, 1, 124, 288, 1251, 290, 1259, 288, 288, 290, 1263, 1258, 274, 124, 129, 1262, 3, 422, 1252, 1, 83, 3, 17, 129, 864, 1259, 126, 308, 1252, 1263, 93, 878, 123, 314, 265, 1259, 3, 100, 101, 1263, 1852, 129, 1207, 124, 325, 796, 129, 278, 124, 129, 3, 132, 128, 126, 129, 128, 132, 760, 339, 3, 126, 28, 128, 129, 133, 327, 760, 126, 5, 441, 442, 443, 444, 824, 123, 129, 793, 794, 1, 1252, 3, 121, 3, 17, 28, 134, 1259, 129, 126, 123, 1263, 221, 130, 126, 798, 128, 129, 121, 122, 1, 381, 382, 129, 806, 821, 822, 387, 472, 389, 1193, 129, 1195, 806, 1193, 395, 1195, 129, 3, 128, 1, 401, 472, 826, 531, 134, 7, 8, 9, 1, 129, 52, 123, 557, 414, 1106, 697, 1, 124, 419, 547, 421, 422, 28, 1106, 425, 426, 885, 129, 278, 144, 431, 123, 73, 434, 435, 436, 437, 438, 288, 1006, 290, 3, 134, 130, 387, 537, 389, 90, 540, 780, 781, 782, 567, 780, 781, 782, 878, 130, 92, 123, 664, 665, 666, 667, 17, 466, 467, 468, 395, 126, 471, 472, 651, 1682, 475, 654, 566, 478, 1, 810, 811, 812, 483, 810, 811, 812, 487, 488, 566, 131, 144, 492, 493, 1053, 1866, 278, 935, 946, 1577, 948, 959, 123, 124, 504, 1064, 288, 128, 290, 5, 510, 511, 1432, 627, 514, 515, 1, 938, 1, 519, 520, 3, 123, 523, 524, 130, 127, 527, 528, 529, 131, 531, 124, 134, 534, 123, 128, 136, 959, 561, 1424, 563, 126, 1538, 128, 545, 546, 547, 1006, 774, 3, 551, 1472, 186, 187, 1475, 556, 557, 3, 120, 121, 561, 3, 563, 564, 1420, 566, 567, 568, 130, 419, 571, 561, 1420, 563, 28, 801, 527, 528, 529, 221, 581, 3, 1208, 809, 1006, 586, 1404, 1405, 589, 3, 591, 144, 593, 1016, 545, 546, 878, 5, 126, 600, 1226, 1070, 1487, 829, 531, 128, 1531, 1233, 1404, 1405, 3, 1584, 5, 1531, 5, 1, 1583, 3, 3, 1088, 547, 471, 5, 3, 567, 3, 1420, 124, 720, 3, 1584, 632, 697, 634, 268, 28, 270, 697, 124, 129, 1584, 642, 128, 426, 128, 797, 2018, 130, 2020, 1505, 1498, 3, 1500, 3, 581, 289, 697, 600, 998, 999, 1000, 511, 128, 664, 665, 666, 667, 697, 134, 664, 665, 666, 667, 825, 3, 121, 130, 959, 123, 1888, 126, 682, 683, 692, 693, 121, 3, 3, 130, 134, 691, 1584, 11, 73, 130, 73, 697, 679, 680, 130, 1696, 132, 703, 7, 8, 9, 120, 121, 130, 123, 711, 28, 2084, 65, 2086, 123, 2088, 718, 719, 720, 721, 722, 723, 3, 1006, 7, 8, 9, 729, 1152, 129, 732, 123, 1156, 120, 121, 1159, 130, 1161, 124, 741, 124, 128, 725, 726, 727, 120, 121, 83, 129, 350, 129, 556, 127, 2126, 2127, 757, 2129, 1, 130, 761, 132, 1041, 1042, 69, 70, 1045, 1046, 120, 121, 120, 121, 862, 2145, 1466, 1, 127, 127, 130, 120, 419, 132, 586, 1466, 862, 589, 1, 591, 799, 593, 2162, 120, 121, 1, 1767, 437, 1681, 1793, 130, 1766, 132, 1686, 803, 122, 120, 121, 807, 441, 1804, 128, 444, 666, 667, 1767, 130, 930, 827, 1, 795, 911, 912, 421, 914, 1767, 129, 917, 918, 131, 973, 1, 134, 832, 833, 834, 1755, 1756, 837, 838, 839, 130, 123, 123, 967, 968, 124, 935, 823, 697, 183, 131, 935, 134, 134, 703, 969, 12, 13, 935, 1418, 860, 861, 862, 796, 3, 935, 866, 1751, 868, 869, 7, 8, 9, 511, 127, 1767, 876, 877, 878, 132, 729, 881, 124, 732, 3, 885, 128, 887, 888, 28, 890, 824, 892, 1037, 1038, 3, 300, 129, 989, 124, 7, 8, 9, 128, 537, 309, 1109, 540, 3, 1112, 124, 315, 1251, 1252, 128, 697, 123, 124, 1248, 1258, 1259, 128, 1248, 1262, 1263, 566, 1053, 568, 566, 929, 3, 931, 126, 28, 123, 935, 130, 1792, 938, 0, 123, 124, 37, 943, 278, 128, 946, 1150, 948, 949, 972, 5, 1066, 124, 288, 28, 134, 128, 958, 959, 960, 1164, 1165, 1166, 1167, 121, 122, 967, 968, 122, 970, 122, 972, 973, 3, 128, 1065, 128, 978, 979, 980, 981, 11, 972, 123, 834, 123, 798, 1065, 1984, 729, 1550, 122, 732, 131, 79, 1704, 134, 128, 300, 127, 120, 121, 1117, 123, 1538, 1006, 1641, 309, 1467, 122, 1432, 120, 121, 315, 826, 128, 7, 8, 9, 869, 1905, 130, 126, 131, 1047, 110, 111, 123, 878, 1255, 664, 665, 666, 667, 797, 885, 1037, 1038, 137, 138, 1041, 1042, 892, 1968, 1045, 1046, 1047, 132, 1049, 1675, 1472, 1052, 1053, 1475, 7, 8, 9, 1047, 692, 693, 694, 1062, 825, 1064, 1065, 1066, 2062, 793, 794, 1070, 121, 3, 1073, 5, 128, 1076, 122, 128, 1079, 128, 3, 1082, 128, 134, 1085, 799, 3, 1088, 128, 1090, 120, 121, 122, 943, 1209, 821, 822, 127, 128, 31, 130, 1052, 741, 1104, 3, 28, 128, 2103, 1109, 959, 3, 1112, 5, 827, 1109, 1538, 1231, 1112, 1208, 129, 1121, 44, 1123, 1066, 12, 13, 1053, 14, 15, 28, 1208, 1132, 1980, 120, 1982, 1062, 471, 1064, 129, 3, 131, 5, 130, 6, 1145, 8, 9, 129, 65, 1150, 1151, 74, 75, 140, 141, 1150, 7, 8, 9, 1141, 1183, 124, 122, 1164, 1165, 1166, 1167, 31, 128, 1164, 1165, 1166, 1167, 123, 127, 74, 75, 127, 131, 124, 79, 1182, 1183, 1184, 134, 1186, 123, 86, 1748, 789, 790, 129, 792, 1183, 122, 1196, 531, 1198, 1907, 534, 128, 124, 1203, 120, 121, 128, 1207, 1208, 10, 11, 73, 110, 111, 121, 1493, 1494, 120, 817, 818, 819, 820, 84, 130, 862, 132, 1226, 123, 120, 121, 123, 869, 130, 1233, 121, 122, 1870, 140, 141, 877, 122, 1, 1242, 3, 1583, 1584, 128, 109, 124, 890, 888, 77, 128, 1812, 1196, 1109, 132, 119, 1112, 121, 124, 860, 861, 1, 128, 123, 1, 1070, 1249, 1547, 1548, 1804, 134, 1076, 122, 137, 138, 139, 3, 1082, 128, 131, 527, 528, 529, 1088, 783, 784, 929, 122, 3, 127, 69, 70, 698, 128, 1150, 3, 11, 1721, 545, 546, 943, 28, 1726, 137, 138, 1729, 949, 122, 1164, 1165, 1166, 1167, 91, 128, 813, 814, 95, 44, 97, 123, 28, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1755, 1756, 74, 75, 44, 74, 75, 79, 124, 130, 79, 132, 128, 1196, 86, 74, 75, 86, 129, 122, 1203, 123, 989, 691, 122, 128, 123, 960, 1476, 697, 128, 74, 75, 123, 74, 75, 79, 1793, 110, 111, 124, 110, 111, 86, 128, 124, 124, 124, 1804, 128, 128, 128, 1589, 1590, 126, 127, 128, 126, 127, 128, 123, 1395, 1396, 698, 1601, 1399, 1400, 110, 111, 123, 1404, 1405, 123, 120, 121, 122, 1, 1052, 783, 784, 1052, 128, 1416, 130, 124, 1400, 1420, 1421, 124, 1550, 1424, 124, 128, 1766, 1767, 128, 1430, 387, 1432, 389, 123, 1435, 124, 121, 122, 1439, 128, 136, 813, 814, 1444, 1445, 1446, 131, 88, 89, 90, 1984, 136, 137, 138, 130, 140, 141, 142, 143, 144, 130, 124, 132, 154, 2099, 128, 1467, 158, 1469, 3, 130, 1472, 124, 0, 1475, 1109, 128, 1478, 1112, 126, 132, 128, 74, 75, 74, 75, 1487, 79, 126, 79, 128, 79, 1493, 1494, 86, 1446, 86, 1498, 1499, 1500, 1501, 143, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1, 126, 3, 128, 1150, 142, 110, 111, 110, 111, 110, 111, 130, 130, 132, 132, 2062, 16, 1164, 1165, 1166, 1167, 126, 124, 128, 127, 126, 136, 74, 75, 130, 878, 142, 79, 1547, 1548, 143, 1550, 3, 16, 86, 1187, 124, 1189, 83, 1558, 128, 10, 11, 1984, 132, 1, 1203, 3, 93, 1206, 1569, 1, 1685, 3, 1687, 100, 101, 28, 110, 111, 136, 1, 1, 3, 3, 785, 786, 124, 1701, 1702, 1589, 1590, 126, 123, 128, 1683, 1589, 1590, 130, 130, 1599, 132, 1601, 1602, 130, 938, 1605, 1683, 1601, 1207, 1609, 130, 567, 127, 1613, 815, 816, 1616, 126, 1, 128, 1469, 124, 74, 75, 1550, 959, 130, 79, 132, 14, 15, 1612, 1558, 1512, 86, 1514, 130, 1840, 785, 786, 2062, 1641, 1512, 124, 1514, 909, 910, 1628, 1648, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 124, 110, 111, 530, 128, 909, 910, 126, 132, 1757, 128, 815, 816, 126, 627, 1006, 545, 546, 664, 665, 121, 130, 664, 665, 1681, 121, 1683, 127, 1812, 1686, 100, 101, 838, 839, 74, 75, 121, 128, 221, 79, 1975, 1976, 135, 1978, 1979, 135, 86, 1704, 130, 1706, 1707, 135, 128, 1710, 1989, 1990, 1991, 1992, 130, 130, 134, 128, 3, 1569, 128, 128, 126, 129, 123, 130, 110, 111, 123, 132, 123, 123, 126, 130, 1589, 1590, 126, 3, 123, 123, 124, 1742, 1968, 28, 128, 11, 1601, 126, 126, 126, 1751, 278, 37, 126, 1755, 1756, 121, 1758, 124, 129, 1783, 288, 1785, 290, 135, 121, 135, 135, 135, 1770, 129, 135, 2103, 135, 134, 130, 2103, 130, 1417, 2058, 2059, 126, 1783, 121, 1785, 128, 1809, 1788, 1811, 74, 75, 1906, 350, 1783, 79, 1785, 129, 129, 325, 124, 1915, 86, 124, 124, 1446, 2009, 135, 2011, 1809, 135, 1811, 1812, 135, 124, 123, 132, 124, 124, 132, 1809, 1420, 1811, 132, 123, 1424, 110, 111, 1469, 123, 123, 56, 123, 123, 1834, 1835, 1836, 1837, 126, 123, 1840, 711, 121, 126, 1844, 1845, 1840, 1847, 126, 1849, 1184, 121, 1186, 126, 121, 120, 121, 122, 1972, 1973, 124, 1861, 127, 128, 421, 130, 74, 75, 124, 123, 1870, 79, 134, 1873, 744, 2078, 3, 121, 86, 124, 128, 751, 124, 1864, 754, 1866, 1812, 124, 1487, 1522, 3, 134, 128, 419, 124, 141, 128, 124, 144, 132, 129, 28, 110, 111, 132, 1905, 1505, 1907, 132, 132, 37, 157, 124, 159, 7, 161, 124, 10, 11, 12, 13, 14, 15, 16, 17, 124, 124, 127, 1569, 126, 124, 1569, 124, 129, 124, 124, 56, 124, 123, 1788, 135, 123, 135, 123, 135, 471, 132, 74, 75, 132, 121, 132, 79, 132, 132, 1977, 1589, 1590, 132, 86, 124, 74, 75, 124, 124, 124, 79, 124, 1601, 3, 124, 126, 135, 86, 930, 1975, 1976, 1977, 1978, 1979, 1980, 134, 1982, 110, 111, 511, 1840, 135, 1977, 1989, 1990, 1991, 1992, 120, 28, 135, 123, 110, 111, 135, 2000, 2092, 2093, 37, 134, 11, 130, 134, 127, 2009, 123, 2011, 2012, 969, 130, 2009, 126, 2011, 37, 127, 132, 2021, 2022, 132, 127, 44, 45, 123, 121, 122, 130, 0, 126, 124, 124, 124, 135, 2018, 131, 2020, 74, 75, 64, 135, 124, 79, 64, 140, 141, 142, 143, 144, 86, 135, 135, 74, 75, 135, 2058, 2059, 79, 135, 135, 135, 124, 2065, 2066, 86, 124, 2069, 124, 2071, 41, 124, 2074, 124, 110, 111, 2078, 126, 135, 124, 1681, 135, 2078, 135, 126, 1686, 126, 123, 59, 110, 111, 2093, 135, 2095, 135, 66, 1432, 2099, 134, 120, 2083, 2084, 130, 2086, 126, 2088, 124, 126, 1066, 2111, 126, 126, 83, 126, 126, 86, 126, 126, 2134, 126, 126, 92, 93, 124, 126, 478, 998, 999, 1000, 100, 101, 3, 2134, 2135, 2117, 126, 1472, 2139, 478, 1475, 478, 478, 113, 2126, 2127, 116, 2129, 478, 1788, 2151, 1751, 1501, 978, 2009, 860, 2011, 28, 128, 288, 1117, 288, 915, 2145, 970, 426, 136, 806, 1467, 436, 697, 141, 142, 723, 144, 314, 703, 1793, 265, 2083, 2162, 100, 93, 93, 154, 270, 156, 157, 158, 159, 93, 161, 1792, 720, 101, 1742, -1, -1, -1, -1, -1, -1, 729, 74, 75, 732, 1840, -1, 79, -1, -1, -1, -1, -1, 741, 86, 186, 187, -1, 466, 467, 74, 75, 2078, -1, -1, 79, -1, 198, -1, -1, 789, 790, 86, 792, 1106, -1, -1, -1, 110, 111, -1, 212, -1, -1, 492, 493, -1, -1, -1, -1, 221, 1209, -1, -1, -1, -1, 110, 111, 817, 818, 819, 820, 141, -1, -1, 144, 514, 515, -1, -1, 124, 519, 520, 1231, -1, 523, 524, -1, 157, -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, 265, -1, -1, 268, 269, 270, -1, 860, 861, -1, 1905, -1, 834, 278, -1, -1, -1, -1, -1, 561, 28, 563, -1, 288, 289, 290, -1, 1727, 1728, 37, 1730, 1731, -1, -1, -1, 1735, 1736, 1737, 1738, -1, -1, -1, -1, 308, -1, -1, -1, 869, -1, 314, -1, -1, -1, 44, 45, -1, 878, -1, -1, -1, 325, -1, -1, 885, -1, -1, 74, 75, 890, -1, 892, 79, -1, -1, -1, -1, 3, -1, 86, -1, 2009, -1, 2011, 74, 75, 1251, 1252, -1, 79, -1, -1, -1, 1258, 1259, -1, 86, 1262, 1263, -1, 74, 75, 28, 110, 111, 79, -1, -1, 960, -1, -1, 37, 86, 120, -1, -1, 123, 124, 382, -1, 110, 111, 943, 387, -1, 389, 1755, 1756, -1, 3, -1, 1727, 1728, 123, 1730, 1731, 110, 111, 959, 1735, 1736, 1737, 1738, -1, -1, -1, -1, -1, 74, 75, 2078, -1, -1, 79, 28, 419, 130, 421, 422, -1, 86, 425, 426, 37, 38, -1, -1, 431, -1, -1, -1, 435, 436, -1, 438, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, -1, 110, 111, -1, -1, -1, -1, -1, -1, 268, 269, 120, -1, -1, 123, -1, -1, 74, 75, 466, 467, -1, 79, 132, 471, 472, -1, -1, -1, 86, -1, 478, -1, -1, -1, -1, 483, -1, -1, 44, 45, 488, 1476, -1, -1, 492, 493, -1, 1, -1, 3, -1, -1, 110, 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, 511, -1, 123, 514, 515, 74, 75, -1, 519, 520, 79, 28, 523, 524, -1, -1, -1, 86, -1, 530, 37, 38, 1968, -1, -1, -1, 537, -1, -1, 540, -1, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, -1, -1, 110, 111, -1, -1, 556, -1, 466, 467, -1, 561, 120, 563, -1, 1466, 566, 567, 74, 75, 478, -1, -1, 79, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, 492, 493, 586, -1, -1, 589, -1, 591, -1, 593, -1, -1, 44, 45, 74, 75, 600, -1, -1, 79, 110, 111, 514, 515, 0, -1, 86, 519, 520, -1, 120, 523, 524, 123, -1, 1207, 126, -1, 128, 129, -1, -1, 74, 75, -1, -1, -1, 79, 909, 910, 110, 111, 1968, -1, 86, -1, -1, -1, -1, -1, 120, -1, 1203, 123, -1, -1, -1, -1, -1, 561, -1, 563, -1, -1, 134, -1, -1, 142, 110, 111, 664, 665, 666, 667, -1, -1, -1, -1, -1, 154, -1, 123, -1, 158, -1, -1, -1, -1, 1583, 1584, -1, -1, -1, -1, -1, -1, -1, 83, 692, 693, 694, 972, -1, 697, 1685, -1, 1687, 93, -1, 703, -1, 3, -1, -1, 100, 101, -1, 711, -1, -1, 1701, 1702, -1, -1, 718, 719, 720, -1, 722, 723, -1, 537, -1, -1, 540, 729, 28, -1, 732, -1, -1, 74, 75, 74, 75, 37, 79, 741, 79, -1, 744, -1, -1, 86, -1, 86, 142, 751, 466, 467, 754, -1, -1, -1, -1, -1, -1, -1, 154, -1, 1041, 1042, 158, -1, 1045, 1046, 1047, 110, 111, 110, 111, -1, 74, 75, 492, 493, -1, 79, -1, -1, 265, 124, -1, 124, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 514, 515, -1, -1, -1, 519, 520, -1, -1, 523, 524, -1, 110, 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, 268, 269, 123, -1, 308, -1, -1, -1, -1, 1420, 314, 834, -1, 1424, 837, 838, 839, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, -1, 860, 861, 862, -1, -1, 1766, 1767, 74, 75, 869, 0, -1, 79, -1, -1, -1, -1, 877, 878, 86, -1, -1, 694, -1, -1, 885, 278, -1, 888, -1, 890, -1, 892, -1, -1, -1, 288, -1, 290, 1487, -1, -1, -1, 110, 111, 1182, 1183, -1, -1, -1, -1, -1, 1469, 120, -1, -1, 123, 1505, -1, 1906, -1, -1, 52, -1, -1, -1, -1, -1, 1915, -1, -1, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, 943, 425, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 436, -1, -1, -1, 959, 960, 91, -1, 93, -1, -1, -1, 967, 968, -1, 100, 101, 972, -1, -1, -1, -1, -1, 978, -1, -1, -1, -1, -1, -1, 1972, 1973, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 998, 999, 1000, 131, 132, 133, 134, 135, 1006, 488, -1, -1, -1, 141, 1569, -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, -1, 159, -1, 161, -1, 425, -1, -1, -1, -1, -1, -1, -1, 1041, 1042, -1, 436, 1045, 1046, 1047, -1, -1, -1, -1, -1, 183, 184, 185, -1, -1, -1, -1, -1, -1, -1, -1, 972, 1065, 1066, -1, -1, -1, 1070, -1, -1, -1, -1, -1, 1076, -1, -1, -1, -1, -1, 1082, -1, -1, -1, -1, -1, 1088, -1, 220, 221, 537, 1681, -1, 540, 488, -1, 1686, -1, -1, -1, -1, -1, -1, -1, 1106, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1041, 1042, 265, -1, 1045, 1046, 1047, -1, -1, -1, -1, -1, -1, -1, 1704, 278, -1, 1150, -1, -1, -1, -1, -1, -1, -1, 288, -1, 290, -1, -1, 1751, 1164, 1165, 1166, 1167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1182, 1183, -1, -1, -1, 1187, -1, 1189, -1, -1, -1, -1, -1, -1, 1196, -1, -1, -1, -1, -1, 0, 1203, 1792, -1, 1206, 1207, 1208, -1, -1, -1, -1, -1, -1, -1, 1493, 1494, -1, 664, 665, 666, 667, -1, -1, -1, 1226, -1, -1, 0, -1, 1788, -1, 1233, -1, -1, -1, 718, 719, -1, -1, 722, 723, -1, -1, -1, -1, -1, -1, 694, -1, 1251, 1252, -1, -1, -1, -1, -1, 1258, 1259, -1, -1, 1262, 1263, -1, 395, 396, 397, -1, -1, 1547, 1548, -1, -1, 1182, 1183, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, 419, -1, -1, -1, -1, -1, 93, 426, 1109, -1, -1, 1112, -1, 100, 101, -1, 697, -1, 437, -1, -1, -1, -1, 83, -1, -1, -1, -1, 1905, -1, -1, -1, -1, 93, -1, -1, -1, -1, 1041, 1042, 100, 101, 1045, 1046, -1, -1, -1, 466, 467, 1150, -1, -1, 471, -1, -1, 142, 475, -1, -1, 478, -1, 1907, -1, 1164, 1165, 1166, 1167, 154, 487, -1, -1, 158, -1, 492, 493, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, 1187, -1, 1189, -1, -1, -1, 511, -1, 154, 514, 515, -1, 158, -1, 519, 520, -1, -1, 523, 524, -1, 877, 527, 528, 529, -1, -1, -1, -1, 1404, 1405, -1, 888, -1, -1, -1, -1, -1, -1, -1, 545, 546, -1, -1, -1, 1420, -1, -1, -1, 1424, -1, -1, -1, -1, -1, -1, 561, -1, 563, -1, -1, 566, -1, 568, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 583, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, 1469, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 278, -1, -1, -1, -1, 877, -1, 1487, -1, -1, 288, -1, 290, 1493, 1494, -1, 888, -1, 1498, 1499, 1500, 1501, -1, -1, -1, -1, 1783, 278, 1785, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, 290, -1, -1, 1, -1, 3, 1006, -1, -1, -1, -1, -1, -1, 1809, -1, 1811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1547, 1548, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 691, -1, -1, -1, -1, -1, 697, -1, 1569, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1583, 1584, 1493, 1494, -1, 718, 1589, 1590, -1, 722, -1, -1, 74, 75, -1, -1, -1, 79, -1, 1602, -1, -1, 1605, -1, 86, -1, -1, -1, 741, -1, 1613, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 425, -1, -1, -1, 110, 111, -1, -1, -1, -1, -1, 436, 1547, 1548, 120, -1, -1, 123, -1, -1, 126, 1648, 128, 129, -1, -1, -1, 425, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1109, 436, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1681, -1, 1683, -1, -1, 1686, -1, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, 1975, 1976, 1977, 1978, 1979, -1, 1704, 1150, -1, -1, -1, -1, -1, -1, 1989, 1990, 1991, 1992, -1, 488, -1, 1164, 1165, 1166, 1167, -1, -1, 1206, -1, -1, -1, -1, -1, -1, 862, -1, -1, -1, -1, -1, -1, 869, -1, -1, 1187, -1, 1189, 1226, 876, 877, 878, -1, -1, 1751, 1233, -1, -1, 885, -1, -1, 888, -1, 890, -1, -1, -1, -1, -1, 1766, 1767, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1589, 1590, 1493, 1494, 2058, 2059, 1783, -1, 1785, -1, -1, 1788, -1, 1602, -1, -1, 1605, -1, -1, -1, -1, -1, 929, -1, 1613, -1, -1, -1, -1, -1, -1, 938, 1809, -1, 1811, 112, 943, -1, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, 959, -1, -1, -1, 1547, 1548, -1, 136, -1, -1, -1, -1, -1, 972, -1, 1844, 1845, 141, -1, -1, 144, -1, -1, 982, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, 1783, 1006, 1785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, 697, -1, 1809, -1, 1811, -1, 1905, -1, 1907, -1, -1, -1, 1041, 1042, -1, -1, 1045, 1046, 1047, -1, -1, -1, -1, 1052, 1053, -1, -1, 697, -1, -1, -1, -1, -1, -1, 1063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, 1976, 1977, 1978, 1979, 1980, -1, 1982, -1, -1, -1, -1, -1, -1, 1989, 1990, 1991, 1992, -1, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, 304, 305, 306, -1, -1, 309, -1, -1, -1, -1, -1, 315, -1, -1, -1, -1, -1, 321, -1, -1, -1, -1, -1, -1, 328, -1, -1, -1, 1844, 1845, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 345, -1, -1, -1, -1, 350, -1, 1182, 1183, -1, -1, -1, -1, 2058, 2059, -1, -1, -1, 0, -1, -1, -1, 1975, 1976, 1977, 1978, 1979, -1, 1203, -1, -1, 1206, -1, 1208, 877, -1, 1989, 1990, 1991, 1992, -1, -1, 387, -1, 389, 888, -1, -1, -1, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 1233, -1, 1, 877, 3, 4, 5, -1, -1, -1, -1, -1, 52, -1, 888, -1, -1, -1, 421, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1589, 1590, 83, 84, -1, -1, 2058, 2059, -1, -1, 91, -1, 93, 1602, -1, -1, 1605, -1, -1, 100, 101, -1, -1, -1, 1613, 65, -1, 466, 467, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, 478, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, 131, 132, -1, 492, 493, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, -1, -1, -1, 514, 515, -1, 118, -1, 519, 520, -1, 123, 523, 524, 530, -1, -1, -1, -1, -1, -1, 133, 134, -1, -1, -1, -1, 328, -1, -1, 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 345, 1975, 1976, -1, 1978, 1979, 561, 567, 563, -1, -1, -1, -1, -1, -1, 1989, 1990, 1991, 1992, -1, -1, -1, -1, -1, -1, -1, -1, 1417, -1, -1, -1, -1, -1, 230, -1, -1, 233, -1, -1, 599, -1, -1, 1432, -1, -1, -1, -1, -1, -1, 1439, -1, -1, -1, -1, -1, -1, 1446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 627, 265, -1, -1, -1, -1, -1, -1, -1, -1, 1467, -1, 1469, -1, 278, -1, -1, 2058, 2059, -1, -1, -1, -1, -1, 288, -1, 290, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1493, 1494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 1844, 1845, -1, -1, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1547, 1548, -1, 1550, -1, -1, -1, 724, -1, -1, -1, 728, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1569, -1, -1, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, -1, -1, 395, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, 780, 781, 782, 783, 784, 785, 786, -1, -1, 789, 790, -1, 792, 793, 794, 795, 796, 797, 798, 799, 437, 801, -1, -1, -1, -1, -1, -1, -1, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, -1, 829, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1675, -1, -1, -1, 345, -1, -1, 637, -1, -1, -1, -1, -1, -1, -1, 860, 861, -1, -1, -1, -1, -1, 300, -1, -1, -1, 304, 305, 306, -1, -1, 309, -1, -1, -1, -1, -1, 315, -1, -1, -1, -1, -1, 321, -1, 527, 528, 529, -1, 531, 328, -1, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 545, 546, 547, -1, 345, -1, -1, -1, -1, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 928, 566, 930, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1783, 387, 1785, 389, -1, 1788, -1, 960, -1, -1, -1, -1, -1, -1, -1, -1, 969, -1, -1, -1, -1, -1, 760, -1, 972, -1, 1809, -1, 1811, -1, -1, -1, -1, -1, -1, 421, 774, -1, 1821, -1, -1, -1, -1, -1, -1, 998, -1, 1000, -1, -1, -1, -1, -1, 112, 270, 793, 794, 795, 796, 797, -1, -1, 800, 801, -1, -1, -1, -1, 806, -1, -1, 809, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 821, 822, 823, 824, 825, -1, -1, 828, 829, -1, 1041, 1042, -1, -1, 1045, 1046, 1047, -1, 691, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 1066, -1, 1, -1, -1, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1, -1, -1, 1106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 567, -1, -1, -1, 71, 72, 73, 637, -1, 1143, 1144, 1975, 1976, 1977, 1978, 1979, -1, 84, -1, -1, -1, -1, -1, -1, -1, 1989, 1990, 1991, 1992, -1, 270, 98, 599, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, 441, -1, -1, -1, -1, -1, -1, 118, 119, 1182, 1183, -1, -1, -1, 125, 126, 627, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1207, -1, 1209, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, -1, -1, -1, -1, -1, 2058, 2059, -1, 1231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1248, -1, -1, -1, 1252, 890, -1, 1255, -1, -1, -1, 1259, -1, -1, -1, 1263, 760, 698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 724, 929, -1, -1, 728, -1, 793, 794, 795, 796, 797, -1, -1, 800, -1, -1, -1, -1, -1, 806, 744, 949, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, -1, -1, 821, 822, 823, 824, 825, -1, -1, 828, -1, -1, -1, -1, -1, -1, 1124, -1, 774, -1, -1, -1, -1, -1, 780, 781, 782, 783, 784, 785, 786, -1, -1, 789, 790, -1, 792, 793, 794, 795, 796, 797, 798, 799, 1152, 801, 632, -1, -1, -1, -1, 1159, -1, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, -1, 829, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, 1193, -1, 1195, -1, -1, -1, -1, 1052, 1053, -1, -1, -1, 1420, -1, -1, -1, 1424, -1, -1, 860, 861, -1, 536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, -1, 1255, -1, -1, -1, -1, -1, 1476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1487, -1, -1, -1, -1, -1, 599, -1, 928, -1, 930, 1493, 1494, -1, -1, -1, -1, -1, 1505, 112, 1507, -1, -1, -1, -1, 1512, -1, 1514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 632, 960, -1, -1, -1, 1531, -1, -1, -1, -1, 969, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1184, -1, 1186, -1, -1, 1547, 1548, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, 998, -1, 1000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1584, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 724, -1, -1, -1, 728, -1, -1, -1, -1, -1, 1124, -1, -1, -1, -1, 1066, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 760, -1, 1152, -1, -1, -1, -1, -1, -1, 1159, -1, -1, -1, -1, 774, -1, -1, -1, -1, 1106, -1, -1, -1, -1, 941, -1, -1, 1681, -1, -1, 1117, 1685, 1686, 1687, -1, -1, -1, -1, -1, -1, -1, 801, 1696, 1193, -1, 1195, 806, 1701, 1702, 809, -1, -1, -1, -1, 1708, -1, 1143, 1144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 829, -1, -1, -1, 1727, 1728, -1, 1730, 1731, -1, -1, -1, 1735, 1736, 1737, 1738, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1767, -1, -1, -1, -1, -1, -1, 1207, -1, 1209, -1, -1, -1, -1, 387, -1, 389, -1, -1, -1, -1, 1783, -1, 1785, -1, 1792, -1, -1, -1, -1, -1, 1231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1446, -1, -1, -1, -1, 1809, 1248, 1811, -1, -1, 1252, -1, -1, 1255, -1, -1, -1, 1259, -1, -1, -1, 1263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, 1121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1871, 1872, -1, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, -1, -1, -1, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1164, 1165, 1166, 1167, 1905, 1906, -1, -1, -1, 1016, -1, -1, 1550, -1, 1915, -1, -1, -1, -1, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1721, -1, -1, -1, -1, 1726, 1727, 1728, 1729, 1730, 1731, -1, -1, -1, 1735, 1736, 1737, 1738, -1, -1, -1, -1, -1, -1, -1, 567, -1, -1, -1, -1, -1, -1, 1968, -1, -1, -1, 1972, 1973, -1, -1, -1, -1, -1, -1, 1975, 1976, 1977, 1978, 1979, -1, -1, 1420, -1, -1, -1, 1424, -1, 599, 1989, 1990, 1991, 1992, -1, -1, -1, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, 1121, -1, -1, -1, -1, -1, 627, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, -1, 1143, 1144, -1, -1, -1, -1, 1476, 1150, -1, 1152, -1, -1, -1, 1156, -1, -1, 1159, 1487, 1161, -1, -1, 1164, 1165, 1166, 1167, -1, 2058, 2059, -1, -1, -1, -1, -1, -1, -1, 1505, -1, 1507, -1, -1, -1, -1, 1512, -1, 1514, -1, -1, -1, 2085, -1, -1, -1, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, -1, 1531, -1, -1, -1, -1, 2103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 724, -1, -1, -1, 728, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, 1255, -1, 1584, -1, -1, 2154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, -1, 1812, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 801, -1, -1, -1, -1, -1, -1, -1, 809, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 829, -1, 1721, -1, -1, -1, -1, 1726, 1727, 1728, 1729, 1730, 1731, -1, -1, -1, 1735, 1736, 1737, 1738, -1, -1, -1, -1, -1, 1681, -1, -1, -1, 1685, 1686, 1687, -1, -1, -1, -1, -1, -1, -1, 141, 1696, -1, 144, -1, -1, 1701, 1702, -1, -1, -1, -1, -1, 1708, -1, -1, 157, -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1727, 1728, -1, 1730, 1731, -1, -1, -1, 1735, 1736, 1737, 1738, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1751, -1, -1, -1, 928, -1, 930, -1, 1589, 1590, -1, -1, -1, -1, -1, -1, 1767, -1, 1599, -1, 1601, 1602, -1, 1, 1605, -1, -1, -1, -1, -1, -1, -1, 1613, -1, -1, 1616, -1, -1, -1, -1, -1, 1792, -1, -1, -1, 969, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 270, 998, -1, 1000, -1, -1, -1, -1, -1, -1, 1507, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, 1538, -1, -1, -1, -1, -1, 1871, 1872, 100, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 1066, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, -1, 1905, 1906, -1, -1, -1, -1, -1, -1, -1, -1, 1915, 1589, 1590, -1, -1, -1, -1, -1, -1, -1, -1, 1599, -1, 1601, 1602, -1, -1, 1605, 1106, -1, -1, -1, -1, -1, -1, 1613, -1, -1, 1616, 1117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1968, -1, 1143, 1144, 1972, 1973, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1834, 1835, 1836, 1837, -1, -1, 1840, -1, -1, -1, 1844, 1845, -1, 1847, -1, 1849, 466, 467, -1, 1696, -1, -1, -1, -1, -1, -1, -1, 1861, -1, -1, -1, 1708, 1209, -1, -1, -1, -1, -1, -1, -1, -1, -1, 492, 493, 1721, -1, -1, -1, -1, 1726, -1, -1, 1729, -1, 1231, -1, -1, -1, -1, -1, -1, -1, -1, -1, 514, 515, -1, -1, -1, 519, 520, -1, -1, 523, 524, 1252, -1, -1, 1255, -1, 530, 2085, 1259, -1, -1, -1, 1263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, -1, 563, -1, -1, 1793, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1804, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2154, -1, -1, -1, -1, -1, -1, 1834, 1835, 1836, 1837, -1, -1, 1840, -1, -1, 2000, 1844, 1845, -1, 1847, -1, 1849, 128, -1, 2009, -1, 2011, -1, -1, -1, 136, 632, -1, 1861, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1871, 1872, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2065, 2066, -1, -1, 2069, -1, 2071, -1, -1, 2074, -1, -1, -1, 2078, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, 2111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, -1, -1, 744, -1, -1, -1, -1, 1476, -1, 751, -1, -1, 754, 2139, -1, 1984, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, 84, 85, 1507, -1, 2009, -1, 2011, 1512, -1, 1514, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 1531, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, 2062, -1, -1, 2065, 2066, -1, -1, 2069, -1, 2071, -1, -1, 2074, -1, -1, -1, 2078, -1, -1, -1, -1, -1, 1584, 2085, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2103, 382, -1, -1, -1, -1, -1, -1, 2111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 909, 910, -1, 2139, -1, -1, -1, 421, 422, -1, -1, -1, 426, 52, -1, -1, -1, -1, 2154, -1, -1, 435, -1, -1, 438, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, 1685, -1, 1687, 91, -1, -1, -1, -1, -1, 472, -1, 1696, -1, -1, 972, 478, 1701, 1702, -1, -1, -1, -1, -1, 1708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 998, -1, 1000, 131, 132, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1767, 1041, 1042, -1, -1, 1045, 1046, 1047, -1, -1, -1, 556, -1, 183, -1, 51, -1, -1, -1, -1, -1, 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 586, -1, -1, 589, -1, 591, 83, 593, -1, -1, -1, -1, -1, -1, -1, 92, 93, -1, -1, 230, -1, -1, 233, 100, 101, 1106, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, 1121, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, 1871, 1872, 142, -1, 278, -1, 1150, -1, -1, -1, -1, -1, -1, -1, 154, -1, -1, -1, 158, -1, 1164, 1165, 1166, 1167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1906, -1, -1, 1182, 1183, -1, -1, -1, -1, 1915, -1, 186, 187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1972, 1973, -1, -1, -1, -1, -1, 1252, -1, -1, -1, -1, -1, -1, 1259, -1, -1, -1, 1263, -1, 395, -1, -1, -1, 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, 278, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 437, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 325, -1, -1, 837, 838, 839, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, -1, -1, -1, -1, -1, -1, -1, -1, 860, 861, 862, 2085, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 527, 528, 529, -1, 531, -1, -1, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 545, 546, 547, -1, -1, -1, -1, -1, 419, -1, -1, -1, 2154, -1, 425, 935, -1, -1, -1, -1, -1, 566, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 960, -1, -1, -1, -1, -1, -1, 967, 968, -1, -1, 1466, -1, -1, -1, -1, -1, -1, 978, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 488, 1493, 1494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1512, -1, 1514, 511, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 530, -1, -1, -1, -1, -1, -1, 537, -1, -1, 540, -1, -1, 1547, 1548, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1065, 691, -1, -1, -1, 1070, -1, -1, -1, -1, -1, 1076, -1, -1, -1, -1, -1, 1082, -1, -1, -1, -1, -1, 1088, 1584, -1, -1, 65, -1, 1589, 1590, -1, -1, 71, 72, 73, -1, -1, -1, 1599, -1, 1601, 1602, -1, -1, 1605, 84, 85, -1, -1, -1, -1, -1, 1613, -1, -1, 1616, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, 639, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, 198, 664, 665, 666, 667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 692, 693, 694, -1, -1, 697, 1207, 1208, -1, -1, -1, 703, -1, -1, -1, -1, -1, -1, -1, 711, -1, -1, -1, -1, -1, -1, 718, 719, 720, -1, 722, 723, -1, -1, -1, -1, -1, 729, -1, -1, 732, -1, -1, -1, -1, -1, -1, -1, -1, 741, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, 890, -1, -1, -1, -1, -1, -1, 1767, -1, 300, -1, -1, -1, -1, -1, -1, -1, -1, 309, -1, -1, -1, -1, 1783, 315, 1785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 929, -1, -1, 0, -1, -1, -1, -1, -1, -1, 1809, -1, 1811, -1, -1, -1, -1, 946, -1, 948, 949, -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 1834, 1835, 1836, 1837, 834, -1, 1840, -1, -1, -1, 1844, 1845, -1, 1847, -1, 1849, -1, -1, -1, 51, 52, -1, 387, -1, 389, -1, -1, 1861, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 869, -1, -1, 183, -1, -1, -1, -1, 877, 878, -1, -1, 83, 84, -1, -1, 885, 88, -1, 888, 889, 890, 93, 892, -1, -1, 1404, 1405, -1, 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, 1420, -1, -1, -1, 1424, 118, -1, 1052, 1053, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 943, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 959, -1, -1, -1, -1, -1, -1, 270, -1, -1, -1, -1, 1975, 1976, 1977, 1978, 1979, -1, 288, 1487, -1, 182, -1, -1, -1, -1, 1989, 1990, 1991, 1992, 1498, 1499, 1500, 1501, 195, -1, 530, 2000, -1, 998, 999, 1000, -1, -1, -1, -1, 2009, 1006, 2011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 567, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1184, -1, 1186, -1, 2058, 2059, -1, -1, -1, -1, -1, 2065, 2066, 265, -1, 2069, -1, 2071, -1, -1, 2074, -1, -1, -1, 2078, -1, 278, -1, -1, -1, -1, -1, -1, -1, 395, -1, 288, -1, 290, -1, 401, -1, 627, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1106, 2111, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1125, -1, -1, -1, -1, -1, -1, -1, 437, -1, 2139, -1, -1, -1, 1648, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, 698, 1164, 1165, 1166, 1167, -1, -1, -1, -1, 1681, -1, 1683, -1, -1, 1686, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1187, -1, 1189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1203, -1, -1, 1206, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, 419, -1, 754, 531, -1, -1, 534, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 1233, -1, 437, 547, -1, -1, -1, -1, -1, 1751, -1, -1, -1, -1, -1, -1, -1, -1, 1251, 1252, -1, -1, -1, -1, 568, 1258, 1259, -1, -1, 1262, 1263, -1, -1, -1, -1, -1, 471, 581, -1, 474, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 511, -1, -1, 1446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 527, 528, 529, -1, -1, -1, -1, -1, 637, -1, -1, -1, -1, -1, -1, -1, -1, -1, 545, 546, -1, -1, -1, -1, 653, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 664, 665, 666, 667, 566, -1, 568, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 579, -1, -1, 691, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, -1, 928, -1, 930, 1905, -1, -1, 703, -1, -1, 706, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 615, -1, -1, 1550, -1, -1, -1, -1, -1, -1, -1, -1, 729, -1, -1, -1, -1, -1, 735, -1, -1, 969, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, 998, -1, 1000, 1466, -1, 92, 1469, -1, 1980, -1, 1982, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 690, -1, -1, -1, -1, -1, -1, 697, 800, -1, -1, -1, -1, -1, -1, -1, 808, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 718, -1, -1, -1, 722, -1, -1, -1, 828, -1, -1, -1, -1, -1, -1, 1066, -1, -1, -1, -1, -1, -1, -1, 741, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 186, 187, -1, -1, -1, 878, -1, 1569, -1, 1106, -1, -1, 885, -1, -1, -1, -1, -1, -1, -1, 1117, 1583, 1584, -1, 890, -1, -1, 1589, 1590, -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, -1, 1602, -1, -1, 1605, -1, -1, -1, -1, -1, -1, -1, 1613, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 938, -1, -1, -1, -1, 943, -1, -1, -1, -1, -1, -1, -1, -1, 265, -1, -1, 268, 269, 270, -1, 959, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 862, 863, -1, -1, -1, 289, -1, 869, -1, -1, -1, -1, -1, -1, 1209, 877, 878, -1, 1812, -1, -1, -1, -1, 885, 308, -1, 888, 889, 890, -1, 314, -1, -1, -1, -1, 1006, 1231, -1, -1, -1, -1, 325, -1, -1, 1704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1252, -1, -1, -1, -1, -1, -1, 1259, -1, -1, 929, 1263, -1, -1, -1, -1, -1, -1, 937, -1, -1, -1, -1, -1, 943, 1053, -1, -1, -1, -1, 949, -1, -1, -1, 1062, -1, 1064, -1, -1, -1, 959, -1, -1, -1, -1, -1, -1, -1, -1, 1766, 1767, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1788, -1, -1, -1, -1, -1, -1, 419, -1, -1, -1, -1, -1, -1, -1, -1, 1006, 1109, -1, -1, 1112, 1113, 1114, -1, 1116, -1, -1, -1, -1, -1, -1, -1, 1124, -1, -1, -1, -1, -1, -1, -1, 1132, -1, -1, -1, -1, -1, -1, 1139, -1, -1, -1, -1, -1, -1, -1, -1, 1844, 1845, 1150, 471, -1, -1, 1052, -1, -1, 1157, -1, -1, -1, -1, 1162, 1061, 1164, 1165, 1166, 1167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1184, -1, 1186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 511, -1, 1193, -1, 1195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 530, 1907, -1, -1, -1, -1, -1, 537, -1, -1, 540, -1, -1, -1, -1, -1, -1, 1227, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1273, -1, -1, -1, -1, 632, -1, -1, 1512, -1, 1514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1531, -1, -1, -1, -1, 1203, -1, -1, 1206, -1, 1208, -1, 666, 667, -1, -1, -1, -1, 1216, -1, -1, -1, -1, -1, -1, 1325, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 1233, -1, -1, 1338, -1, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, -1, -1, 1584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 692, 693, 694, -1, -1, -1, -1, -1, -1, -1, -1, 703, -1, -1, -1, -1, -1, 1389, -1, 711, -1, -1, -1, -1, -1, -1, 718, 719, 720, -1, 722, 723, -1, -1, -1, -1, -1, 729, -1, -1, 732, -1, -1, -1, -1, -1, -1, -1, -1, 741, -1, -1, 744, 1432, -1, -1, -1, -1, -1, 751, 1439, -1, 754, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1685, -1, 1687, -1, -1, -1, 1467, -1, 1469, -1, -1, 1472, -1, -1, 1475, -1, 1701, 1702, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1727, 1728, -1, 1730, 1731, -1, -1, -1, 1735, 1736, 1737, 1738, -1, -1, -1, -1, -1, -1, 834, -1, -1, -1, -1, 1417, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, 1431, -1, -1, 1767, -1, -1, -1, 1438, -1, -1, 1550, -1, -1, -1, -1, 1446, 869, -1, 1558, -1, -1, -1, -1, 325, -1, 878, -1, -1, -1, 1569, -1, -1, 885, -1, -1, -1, 1467, 890, 1469, 892, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1589, 1590, -1, -1, -1, -1, 1595, -1, 1597, -1, -1, 1600, 1601, -1, -1, -1, -1, 1606, 1607, -1, 1609, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1619, -1, 1621, -1, 943, -1, 186, 187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 959, -1, -1, -1, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1549, -1, 1653, -1, -1, -1, 1657, -1, -1, 221, -1, -1, -1, -1, -1, -1, -1, 437, -1, -1, 1569, -1, -1, -1, 1906, -1, -1, 998, 999, 1000, -1, -1, -1, 1915, -1, 1006, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, -1, -1, -1, -1, -1, 1968, -1, -1, -1, 1972, 1973, -1, -1, -1, -1, 308, 1755, 1756, -1, 1758, -1, 314, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, 325, -1, -1, 1121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1675, -1, -1, -1, -1, -1, -1, -1, -1, 1106, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, -1, 1812, -1, -1, -1, -1, 1164, 1165, 1166, 1167, -1, -1, -1, -1, -1, -1, -1, -1, 1822, -1, -1, -1, -1, -1, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1840, 1841, -1, -1, 1164, 1165, 1166, 1167, 1848, 1747, -1, -1, 1852, -1, 1854, -1, -1, -1, 419, -1, -1, -1, -1, 1863, -1, -1, -1, 1187, 637, 1189, -1, 1769, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1203, 653, -1, 1206, -1, 657, -1, 1788, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1226, 1907, -1, -1, 471, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1251, 1252, -1, 703, -1, -1, 706, 1258, 1259, -1, -1, 1262, 1263, -1, -1, -1, -1, -1, -1, 511, 720, -1, -1, -1, -1, -1, -1, -1, -1, 729, -1, -1, -1, -1, -1, 735, 736, -1, 530, -1, -1, -1, -1, -1, -1, 537, -1, -1, 540, -1, -1, -1, -1, 52, -1, -1, -1, -1, 1887, -1, 59, -1, 762, -1, -1, -1, -1, -1, -1, -1, 2001, 2002, -1, 2004, -1, 2006, -1, -1, 2009, 2010, 2011, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 800, -1, -1, -1, -1, -1, -1, -1, 808, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 828, -1, -1, -1, 131, 132, -1, -1, 2067, -1, -1, 2070, -1, -1, -1, -1, -1, -1, -1, 2078, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, -1, -1, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, -1, -1, -1, -1, 2114, 183, -1, -1, -1, -1, -1, 890, -1, -1, -1, -1, -1, -1, -1, -1, -1, 692, 693, 694, -1, -1, -1, -1, -1, -1, -1, -1, 703, -1, -1, -1, 1466, -1, -1, 1469, 711, -1, 220, 221, -1, -1, -1, 718, 719, 720, -1, 722, 723, -1, -1, -1, -1, -1, 729, -1, -1, 732, -1, -1, -1, -1, -1, -1, -1, -1, 741, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 278, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1589, 1590, -1, -1, -1, -1, -1, -1, -1, -1, 1599, -1, 1601, 1602, 1569, -1, 1605, -1, -1, -1, -1, -1, -1, -1, 1613, -1, -1, 1616, 1583, 1584, -1, -1, -1, -1, 1589, 1590, -1, -1, 834, -1, -1, -1, -1, -1, -1, -1, -1, 1602, -1, -1, 1605, -1, -1, -1, -1, -1, -1, -1, 1613, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 869, -1, -1, -1, -1, -1, -1, -1, -1, 878, -1, -1, -1, -1, -1, -1, 885, -1, -1, 395, -1, 890, -1, 892, -1, 401, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, 1114, -1, 1116, -1, -1, -1, -1, -1, -1, -1, 1124, -1, -1, 1127, -1, -1, -1, -1, 1132, -1, -1, -1, -1, -1, 437, 1139, 1140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 943, -1, 1704, -1, -1, -1, 1157, 1158, -1, -1, -1, 1162, -1, -1, -1, -1, 959, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 487, -1, -1, -1, -1, 1193, -1, 1195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 998, 999, 1000, -1, -1, -1, -1, -1, 1006, 1766, 1767, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1227, 527, 528, 529, -1, 531, -1, -1, 534, -1, 1788, -1, -1, -1, -1, -1, -1, -1, -1, 545, 546, 547, 1834, 1835, 1836, 1837, -1, -1, 1840, -1, -1, -1, 1844, 1845, -1, 1847, -1, 1849, 564, -1, 566, -1, 568, -1, -1, -1, 1273, 1274, -1, 1861, -1, -1, -1, -1, -1, 581, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1844, 1845, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1106, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, 1325, -1, 1327, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1338, 1339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1907, -1, 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1164, 1165, 1166, 1167, -1, -1, -1, -1, -1, -1, -1, -1, 683, -1, -1, -1, -1, 1389, -1, 1391, 691, -1, -1, 1187, -1, 1189, 697, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1203, -1, -1, 1206, 2000, -1, -1, -1, -1, -1, -1, -1, -1, 2009, -1, 2011, -1, -1, -1, 83, 84, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1251, 1252, -1, -1, -1, -1, -1, 1258, 1259, -1, -1, 1262, 1263, -1, 3, -1, -1, -1, -1, 131, 132, 2065, 2066, -1, -1, 2069, -1, 2071, -1, -1, 2074, -1, -1, -1, 2078, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, 2111, -1, -1, -1, 183, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, 2139, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, 100, -1, -1, -1, -1, 1575, -1, 876, -1, 878, 110, 111, 112, 113, 114, 115, 885, -1, -1, -1, 120, 890, -1, 123, -1, 1595, 1596, 1597, 1598, -1, 1600, 1601, -1, -1, 134, -1, 1606, 1607, -1, 1609, -1, 1611, 265, -1, -1, -1, -1, -1, -1, 1619, 1620, 1621, -1, -1, -1, 278, -1, -1, -1, -1, 929, -1, -1, -1, -1, 288, -1, -1, -1, 938, -1, -1, -1, -1, 943, -1, -1, -1, 3, -1, 949, -1, -1, 1653, -1, 1655, -1, 1657, -1, 1659, 959, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 1466, -1, -1, 1469, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1006, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 395, -1, -1, 100, -1, -1, 401, -1, -1, -1, -1, 1052, 1053, 110, 111, 112, 113, 114, 115, -1, -1, 1062, -1, 1064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1569, -1, -1, -1, -1, -1, -1, 437, -1, -1, -1, -1, -1, -1, 1583, 1584, -1, -1, -1, -1, 1589, 1590, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1602, -1, -1, 1605, -1, -1, -1, -1, 471, -1, -1, 1613, 1822, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1841, -1, -1, -1, -1, 1846, -1, 1848, 1849, -1, 1851, 1852, -1, 1854, -1, 1856, -1, -1, -1, -1, -1, 1862, 1863, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 527, 528, 529, -1, 531, -1, -1, 534, -1, -1, -1, 1184, -1, 1186, -1, -1, -1, -1, 545, 546, 547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1907, -1, -1, -1, -1, 1704, 566, 142, 568, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, 581, -1, 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 186, 187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1766, 1767, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, -1, 1788, -1, -1, -1, -1, 2001, 2002, -1, 2004, 2005, 2006, -1, -1, -1, 2010, 2011, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, 691, -1, 268, 269, 270, -1, 697, -1, 28, -1, -1, -1, -1, -1, 1844, 1845, -1, 37, -1, -1, -1, -1, -1, 289, -1, -1, -1, -1, -1, 2067, 2068, -1, 2070, 2071, -1, -1, -1, 2075, -1, -1, -1, -1, 308, -1, -1, 65, -1, -1, 314, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2114, 1907, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 1432, -1, -1, 118, 119, 120, -1, 1439, 123, 124, 125, -1, -1, -1, 1446, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1467, -1, 1469, -1, -1, 1472, -1, -1, 1475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 419, -1, -1, -1, -1, -1, 425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 878, -1, -1, -1, -1, -1, -1, 885, -1, -1, -1, -1, 890, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, 1550, -1, -1, -1, -1, -1, -1, -1, 1558, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1569, -1, -1, -1, -1, -1, 929, -1, -1, -1, -1, -1, -1, 511, 1, 938, 3, 4, 5, 6, 943, 8, 9, -1, -1, -1, 949, -1, -1, -1, -1, -1, 530, -1, -1, -1, 959, -1, -1, 537, -1, 28, 540, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, 1006, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 1052, 1053, 118, 119, 120, -1, -1, 123, 124, 125, 1062, 92, 1064, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 664, 665, 666, 667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1755, 1756, -1, 1758, 142, -1, -1, -1, 692, 693, 694, -1, -1, -1, -1, -1, 154, -1, -1, -1, 158, -1, -1, -1, -1, -1, -1, 711, -1, -1, -1, -1, -1, -1, 718, 719, -1, -1, 722, 723, -1, -1, -1, -1, -1, -1, -1, -1, 186, 187, -1, -1, -1, -1, -1, -1, -1, 1812, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, -1, -1, -1, 1184, -1, 1186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 834, 289, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, 869, 28, -1, -1, -1, -1, 92, -1, 877, 878, -1, -1, -1, -1, -1, -1, 885, -1, -1, 888, -1, -1, -1, 892, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, -1, 142, 84, 85, 86, -1, 88, 89, 90, -1, -1, -1, -1, 154, -1, -1, 98, 158, -1, 943, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, 959, 118, 119, 120, -1, -1, 123, -1, 125, 126, 186, 187, 425, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 998, 999, 1000, -1, -1, -1, -1, -1, 1006, 1432, -1, -1, -1, -1, -1, -1, 1439, -1, -1, -1, -1, -1, -1, 1446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, 1467, -1, 1469, -1, -1, 1472, 265, -1, 1475, 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1, 537, -1, -1, 540, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, 1106, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1550, -1, -1, -1, -1, -1, -1, -1, 1558, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1569, -1, -1, -1, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1164, 1165, 1166, 1167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1187, -1, 1189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1206, -1, 425, -1, 664, 665, 666, 667, -1, -1, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, 692, 693, 694, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1251, 1252, -1, -1, -1, -1, 711, 1258, 1259, -1, -1, 1262, 1263, 718, 719, -1, -1, 722, 723, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 530, 8, 9, -1, -1, -1, -1, 537, -1, -1, 540, -1, -1, -1, -1, -1, -1, 1755, 1756, -1, 1758, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, 1812, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -1, 877, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 888, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, 664, 665, 666, 667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, 1469, -1, -1, -1, -1, -1, 692, 693, 694, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 711, -1, -1, -1, -1, -1, -1, 718, 719, -1, -1, 722, 723, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 744, -1, -1, -1, -1, -1, -1, 751, -1, -1, 754, -1, -1, -1, -1, -1, -1, 998, 999, 1000, -1, -1, -1, -1, -1, 1006, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1569, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1583, 1584, -1, -1, -1, -1, 1589, 1590, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1602, -1, -1, 1605, -1, -1, -1, -1, -1, -1, -1, 1613, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, -1, 1106, -1, -1, 1109, -1, -1, 1112, -1, 877, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, 1164, 1165, 1166, 1167, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 1187, -1, 1189, -1, -1, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 1206, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, -1, 1766, 1767, -1, -1, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 1233, -1, 998, 999, 1000, -1, -1, -1, -1, 1788, 1006, -1, -1, -1, -1, -1, -1, -1, 1251, 1252, -1, -1, -1, -1, -1, 1258, 1259, -1, -1, 1262, 1263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1844, 1845, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, -1, 1106, -1, -1, 1109, -1, -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, 1150, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, 1164, 1165, 1166, 1167, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 1187, -1, 1189, -1, -1, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, -1, -1, 131, 1206, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, -1, 1226, -1, -1, 1466, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1251, 1252, -1, -1, -1, -1, -1, 1258, 1259, -1, -1, 1262, 1263, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, 1583, 1584, 79, -1, -1, -1, 1589, 1590, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 1602, -1, -1, 1605, 100, -1, -1, -1, -1, -1, -1, 1613, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, 121, 122, 123, -1, -1, 126, 127, 128, 129, -1, 131, -1, -1, 134, -1, 136, 137, 138, -1, 140, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 1766, 1767, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, 1583, 1584, -1, -1, -1, -1, 1589, 1590, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1602, -1, -1, 1605, -1, 1844, 1845, -1, -1, 0, 1, 1613, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1766, 1767, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, 1844, 1845, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 1, 125, 3, 4, 5, 6, -1, 8, 9, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 1, 125, 3, 4, 5, 6, -1, 8, 9, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -1, -1, 118, 119, 120, -1, -1, 123, 1, 125, 3, 4, 5, 6, 130, 8, 9, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 98, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 28, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, -1, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, -1, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, -1, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, 84, 85, 86, -1, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, 130, -1, 132, 133, 134, -1, 136, 137, 138, 139, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, 126, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, 128, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, 129, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, 128, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, 132, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 28, -1, -1, -1, -1, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, 0, 1, -1, 3, 4, 5, 118, 119, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, 136, 137, 138, 139, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, 128, 129, -1, -1, -1, 133, 134, 0, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 128, 129, -1, -1, -1, 133, 134, 0, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 0, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 0, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 0, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, 1, 129, 3, 4, 5, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, -1, -1, 91, 92, 93, 94, -1, 96, -1, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, 1, 120, 3, -1, 123, -1, 125, 126, -1, -1, -1, -1, -1, -1, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 1, 120, 3, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, 136, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, 130, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, 130, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, 105, -1, -1, 3, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, 132, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, -1, -1, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, 3, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, 132, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, 3, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, 132, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, 1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, 132, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, 1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, 128, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, 1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, 1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, 1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, 1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 0, 1, -1, 3, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, 79, 80, 81, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 3, -1, -1, 105, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, 126, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, 3, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, 3, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, 1, -1, 3, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 1, -1, 3, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, 126, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 1, -1, 3, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, 126, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 1, -1, 3, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, 126, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 3, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, 126, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, 79, 80, 81, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, -1, 0, 1, 105, 3, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, 80, 81, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, 80, 81, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117
148 static const yytype_uint16 yystos[] =
150 0, 3, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 65, 66, 74, 75, 76, 77, 79, 80, 81, 82, 83, 85, 86, 87, 100, 101, 105, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 126, 146, 147, 148, 150, 175, 212, 213, 214, 215, 216, 217, 269, 272, 273, 276, 277, 278, 279, 280, 281, 282, 284, 288, 291, 292, 293, 294, 295, 296, 301, 302, 311, 312, 313, 320, 321, 325, 328, 333, 362, 365, 366, 384, 385, 387, 388, 389, 390, 391, 392, 77, 132, 5, 31, 217, 386, 217, 123, 123, 123, 150, 217, 386, 282, 283, 320, 328, 37, 148, 217, 310, 311, 313, 315, 316, 317, 319, 320, 328, 331, 332, 337, 121, 126, 147, 148, 217, 130, 132, 126, 130, 129, 120, 121, 212, 217, 130, 150, 217, 130, 132, 129, 121, 130, 132, 130, 129, 130, 148, 217, 320, 1, 31, 37, 38, 126, 146, 148, 214, 216, 217, 269, 279, 280, 282, 284, 313, 317, 320, 328, 331, 332, 333, 335, 343, 344, 345, 346, 37, 38, 148, 320, 345, 123, 134, 1, 29, 30, 31, 32, 33, 65, 116, 117, 124, 146, 217, 268, 272, 274, 275, 282, 284, 288, 289, 290, 296, 300, 308, 309, 349, 350, 351, 352, 353, 354, 328, 123, 313, 320, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 66, 85, 87, 100, 112, 113, 114, 115, 130, 150, 171, 172, 268, 273, 274, 282, 285, 289, 291, 299, 364, 367, 368, 369, 374, 375, 376, 31, 76, 132, 214, 216, 301, 365, 366, 384, 385, 392, 1, 214, 278, 295, 301, 333, 362, 388, 1, 387, 388, 0, 217, 386, 386, 5, 127, 386, 1, 4, 6, 8, 9, 65, 71, 72, 73, 84, 85, 98, 102, 103, 104, 105, 106, 107, 108, 109, 118, 119, 120, 123, 125, 133, 134, 136, 137, 138, 139, 150, 176, 177, 217, 218, 219, 220, 221, 224, 225, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 386, 398, 399, 400, 401, 147, 217, 130, 150, 217, 282, 328, 134, 123, 134, 124, 308, 309, 353, 354, 328, 331, 332, 310, 315, 319, 320, 124, 320, 124, 320, 320, 85, 150, 202, 204, 206, 210, 211, 217, 229, 234, 250, 254, 300, 126, 121, 121, 126, 1, 68, 78, 80, 81, 88, 91, 92, 93, 94, 96, 98, 99, 123, 125, 126, 129, 151, 152, 153, 154, 155, 156, 157, 158, 173, 174, 176, 177, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 193, 197, 198, 199, 200, 217, 225, 248, 300, 312, 314, 320, 328, 333, 334, 363, 80, 81, 217, 268, 272, 282, 285, 288, 296, 303, 304, 1, 129, 199, 200, 148, 217, 1, 217, 270, 271, 1, 129, 271, 304, 65, 203, 205, 207, 208, 209, 217, 300, 1, 129, 199, 200, 304, 1, 129, 199, 200, 1, 129, 199, 200, 148, 217, 128, 128, 128, 130, 328, 313, 317, 320, 1, 127, 368, 375, 376, 368, 375, 376, 1, 126, 128, 128, 328, 126, 135, 147, 217, 243, 262, 266, 267, 128, 130, 150, 217, 129, 130, 129, 130, 320, 37, 123, 134, 136, 146, 148, 217, 268, 274, 282, 284, 289, 310, 311, 320, 326, 328, 329, 332, 1, 124, 128, 1, 124, 128, 1, 128, 1, 128, 124, 124, 313, 123, 313, 123, 123, 1, 126, 1, 129, 1, 37, 38, 126, 217, 268, 274, 282, 285, 289, 320, 345, 346, 1, 126, 1, 364, 367, 375, 376, 364, 367, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 85, 86, 88, 89, 90, 126, 132, 150, 194, 195, 196, 217, 225, 229, 244, 246, 250, 262, 263, 264, 325, 355, 356, 359, 360, 361, 368, 369, 370, 371, 372, 373, 375, 376, 378, 379, 380, 381, 382, 383, 129, 31, 217, 386, 217, 212, 213, 215, 216, 310, 311, 317, 320, 328, 333, 335, 368, 376, 214, 301, 127, 242, 243, 261, 124, 123, 229, 250, 123, 229, 250, 229, 250, 123, 217, 268, 274, 282, 285, 289, 307, 266, 123, 123, 307, 266, 123, 123, 123, 123, 123, 123, 229, 250, 123, 124, 244, 246, 264, 274, 282, 284, 289, 297, 347, 386, 130, 135, 178, 179, 222, 226, 244, 130, 1, 129, 130, 217, 1, 7, 8, 9, 123, 131, 134, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 127, 245, 179, 222, 223, 231, 251, 120, 140, 141, 137, 138, 10, 11, 234, 254, 12, 13, 121, 122, 14, 15, 136, 142, 143, 16, 17, 144, 245, 124, 7, 8, 9, 123, 131, 134, 245, 120, 140, 141, 137, 138, 10, 11, 12, 13, 121, 122, 14, 15, 136, 142, 143, 16, 17, 144, 245, 124, 124, 107, 217, 300, 393, 396, 397, 130, 130, 135, 147, 266, 267, 135, 147, 266, 267, 124, 124, 124, 124, 310, 315, 319, 124, 124, 310, 11, 122, 128, 127, 123, 320, 328, 329, 65, 209, 217, 300, 209, 1, 217, 268, 282, 285, 296, 305, 300, 333, 334, 123, 150, 217, 217, 300, 1, 123, 305, 120, 123, 217, 300, 126, 325, 375, 376, 375, 376, 375, 126, 375, 376, 126, 1, 129, 1, 1, 126, 128, 128, 69, 70, 91, 95, 97, 129, 69, 70, 129, 126, 1, 197, 198, 1, 197, 198, 1, 127, 123, 132, 217, 286, 287, 310, 316, 318, 320, 328, 335, 336, 337, 1, 300, 308, 351, 328, 314, 320, 123, 132, 157, 158, 173, 174, 176, 177, 186, 217, 300, 121, 150, 217, 217, 268, 282, 285, 121, 121, 127, 128, 1, 126, 130, 28, 149, 217, 122, 128, 127, 217, 329, 331, 343, 343, 343, 126, 128, 129, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 222, 223, 225, 243, 262, 299, 340, 341, 310, 313, 315, 317, 319, 310, 317, 130, 244, 263, 338, 339, 375, 376, 375, 376, 343, 344, 343, 344, 135, 135, 135, 51, 349, 350, 1, 271, 130, 130, 1, 129, 199, 200, 1, 129, 199, 200, 130, 124, 217, 308, 309, 320, 328, 329, 353, 354, 135, 147, 266, 267, 320, 328, 332, 328, 123, 134, 326, 1, 1, 128, 1, 51, 217, 349, 350, 128, 1, 51, 217, 349, 350, 128, 1, 51, 217, 349, 350, 128, 51, 217, 349, 350, 3, 28, 44, 74, 75, 124, 322, 323, 324, 244, 147, 217, 129, 130, 126, 126, 132, 266, 267, 132, 123, 123, 1, 123, 52, 53, 54, 56, 57, 58, 59, 62, 86, 217, 264, 325, 355, 378, 382, 123, 217, 126, 126, 126, 222, 223, 246, 264, 123, 282, 123, 123, 190, 217, 126, 126, 126, 132, 131, 245, 1, 131, 126, 128, 246, 264, 245, 124, 128, 246, 1, 370, 371, 370, 371, 355, 356, 364, 367, 355, 356, 364, 367, 1, 1, 386, 386, 148, 217, 130, 130, 328, 317, 320, 368, 376, 368, 376, 376, 243, 144, 126, 144, 65, 146, 217, 274, 282, 284, 289, 298, 348, 217, 299, 121, 123, 134, 217, 268, 274, 282, 285, 289, 320, 327, 328, 330, 217, 268, 274, 282, 285, 289, 306, 246, 347, 375, 217, 134, 330, 306, 244, 386, 386, 386, 244, 348, 348, 124, 217, 274, 282, 284, 289, 329, 124, 131, 1, 169, 170, 1, 129, 128, 135, 1, 169, 170, 129, 1, 169, 170, 1, 217, 124, 223, 226, 227, 263, 1, 217, 246, 264, 222, 244, 1, 231, 251, 231, 251, 231, 251, 232, 252, 232, 252, 233, 253, 233, 253, 234, 254, 234, 254, 234, 254, 222, 223, 236, 255, 222, 223, 236, 255, 222, 223, 237, 256, 222, 223, 238, 257, 222, 223, 239, 258, 240, 259, 241, 260, 132, 222, 223, 246, 247, 264, 265, 222, 244, 1, 217, 124, 226, 227, 1, 217, 246, 264, 222, 244, 231, 251, 231, 251, 231, 251, 232, 252, 232, 252, 233, 253, 233, 253, 234, 254, 234, 254, 234, 254, 234, 254, 222, 223, 236, 255, 222, 223, 236, 255, 222, 223, 237, 256, 222, 223, 238, 257, 222, 223, 239, 258, 240, 259, 241, 260, 132, 246, 247, 264, 265, 222, 244, 121, 122, 217, 394, 395, 217, 129, 393, 396, 397, 397, 135, 135, 135, 135, 135, 135, 210, 202, 204, 206, 217, 320, 328, 122, 127, 329, 122, 130, 121, 130, 217, 268, 282, 285, 329, 320, 328, 335, 336, 190, 287, 310, 320, 328, 130, 217, 130, 217, 329, 217, 320, 123, 126, 129, 180, 181, 180, 181, 375, 375, 375, 219, 375, 375, 1, 340, 341, 124, 266, 267, 130, 128, 1, 300, 308, 351, 328, 310, 318, 320, 132, 325, 217, 123, 314, 314, 217, 1, 1, 287, 211, 121, 209, 209, 266, 267, 270, 199, 200, 1, 129, 271, 127, 132, 127, 132, 208, 204, 217, 127, 217, 127, 375, 376, 1, 126, 128, 126, 128, 126, 161, 162, 165, 166, 167, 129, 159, 162, 126, 129, 161, 162, 165, 166, 167, 127, 37, 335, 336, 337, 338, 339, 342, 1, 129, 271, 1, 129, 271, 1, 129, 199, 200, 320, 328, 329, 124, 124, 124, 135, 135, 135, 328, 326, 124, 353, 354, 135, 147, 266, 267, 349, 350, 300, 349, 349, 349, 350, 124, 123, 124, 128, 323, 124, 124, 124, 1, 169, 170, 355, 356, 364, 367, 132, 132, 355, 356, 364, 367, 246, 264, 246, 264, 124, 246, 264, 132, 266, 267, 132, 123, 123, 355, 123, 223, 264, 123, 132, 56, 1, 124, 126, 217, 246, 264, 377, 126, 126, 126, 126, 126, 386, 123, 244, 244, 217, 355, 356, 364, 367, 90, 223, 263, 88, 89, 90, 244, 263, 223, 263, 244, 263, 121, 317, 376, 376, 126, 246, 247, 264, 265, 246, 247, 264, 265, 146, 147, 146, 274, 282, 284, 289, 329, 124, 124, 124, 329, 211, 124, 320, 330, 353, 354, 266, 267, 121, 328, 123, 327, 134, 121, 134, 217, 268, 274, 282, 285, 289, 330, 124, 124, 124, 124, 266, 267, 134, 134, 330, 128, 124, 128, 128, 128, 124, 128, 231, 251, 386, 1, 129, 222, 244, 1, 1, 124, 128, 124, 135, 135, 1, 128, 132, 132, 128, 132, 132, 124, 135, 135, 132, 132, 132, 132, 217, 217, 126, 128, 217, 386, 129, 129, 320, 328, 204, 211, 121, 130, 130, 217, 328, 320, 124, 328, 310, 124, 130, 130, 217, 124, 1, 169, 170, 286, 320, 217, 123, 310, 318, 318, 266, 267, 123, 124, 122, 211, 122, 122, 126, 1, 126, 202, 201, 300, 202, 201, 206, 127, 130, 1, 163, 164, 1, 163, 164, 376, 1, 340, 341, 128, 129, 338, 339, 1, 126, 1, 126, 328, 326, 124, 124, 124, 135, 135, 135, 329, 332, 246, 124, 323, 1, 355, 356, 364, 367, 355, 356, 364, 367, 124, 124, 124, 124, 1, 355, 124, 246, 355, 356, 132, 132, 264, 124, 246, 264, 56, 264, 377, 386, 123, 355, 132, 126, 1, 126, 1, 124, 264, 377, 3, 124, 132, 386, 124, 124, 128, 123, 123, 190, 132, 132, 132, 132, 132, 132, 132, 132, 124, 124, 1, 124, 122, 320, 328, 330, 124, 124, 124, 135, 135, 211, 327, 124, 353, 354, 266, 267, 211, 266, 267, 121, 134, 123, 338, 135, 135, 266, 267, 266, 267, 134, 347, 217, 217, 244, 1, 217, 223, 263, 222, 223, 222, 223, 243, 261, 222, 223, 243, 261, 222, 223, 222, 223, 243, 261, 222, 223, 243, 261, 222, 223, 243, 261, 222, 223, 243, 261, 222, 223, 243, 261, 222, 223, 243, 261, 394, 126, 126, 122, 211, 130, 375, 310, 127, 130, 1, 123, 132, 132, 122, 199, 200, 126, 199, 200, 127, 329, 127, 206, 342, 129, 338, 339, 1, 199, 200, 199, 200, 124, 355, 355, 355, 355, 355, 356, 124, 123, 377, 124, 246, 264, 246, 355, 1, 124, 246, 264, 134, 357, 358, 386, 126, 358, 3, 124, 132, 130, 190, 244, 244, 1, 1, 327, 124, 122, 124, 124, 135, 135, 122, 135, 135, 211, 266, 267, 347, 135, 135, 135, 135, 266, 267, 124, 124, 124, 124, 124, 122, 340, 266, 267, 266, 267, 199, 200, 202, 202, 128, 129, 1, 64, 64, 246, 264, 124, 246, 264, 124, 126, 124, 126, 355, 356, 124, 355, 356, 217, 124, 128, 132, 123, 3, 124, 132, 358, 126, 358, 73, 190, 191, 192, 124, 124, 124, 128, 122, 135, 135, 124, 135, 135, 126, 129, 355, 355, 124, 124, 126, 355, 246, 355, 356, 135, 126, 357, 358, 244, 358, 126, 358, 124, 132, 3, 124, 132, 375, 375, 129, 191, 130, 190, 231, 251, 338, 124, 386, 124, 124, 124, 124, 132, 126, 358, 358, 126, 358, 192, 124, 355, 123, 126, 126, 126, 358, 124, 124, 124, 132, 129, 244, 124, 126, 126, 126, 358, 124, 126, 124, 126
153 void exit(int status);
155 void * calloc(size_t nmemb, size_t size);
157 void free(void * ptr);
159 void * malloc(size_t size);
161 void * realloc(void * ptr, size_t size);
163 long int strtol(const char * nptr, char ** endptr, int base);
165 long long int strtoll(const char * nptr, char ** endptr, int base);
167 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
169 typedef __builtin_va_list va_list;
173 FILE * bsl_stdin(void);
175 FILE * bsl_stdout(void);
177 FILE * bsl_stderr(void);
179 char * fgets(char * s, int size, FILE * stream);
181 FILE * fopen(const char * path, const char * mode);
183 int fclose(FILE * fp);
185 int fflush(FILE * stream);
187 int fgetc(FILE * stream);
189 int fprintf(FILE * stream, const char * format, ...);
191 int fputc(int c, FILE * stream);
193 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
195 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
197 int vsnprintf(char *, size_t, const char *, va_list args);
199 int snprintf(char * str, size_t, const char * format, ...);
201 int fseek(FILE * stream, long offset, int whence);
203 long ftell(FILE * stream);
205 int feof(FILE * stream);
207 int ferror(FILE * stream);
209 int fileno(FILE * stream);
219 extern unsigned int skipErrors;
221 extern int structDeclMode;
225 extern int defaultDeclMode;
227 struct __ecereNameSpace__ecere__sys__OldList
236 struct __ecereNameSpace__ecere__sys__BTNode;
240 struct __ecereNameSpace__ecere__com__DataValue
255 } ecere_gcc_struct __anon1;
258 struct __ecereNameSpace__ecere__com__SerialBuffer
260 unsigned char * _buffer;
266 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
268 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
270 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
272 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
274 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
286 struct PropertyWatch;
288 struct TemplateParameter;
290 struct TemplateDatatype;
304 extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
310 extern size_t strlen(const char * );
312 extern void Compiler_Error(const char * format, ...);
314 extern const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext);
316 extern char * __ecereNameSpace__ecere__sys__RSearchString(const char * buffer, const char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
318 extern char * strcpy(char * , const char * );
320 extern char * strcat(char * , const char * );
322 extern void Compiler_Warning(const char * format, ...);
324 extern void * memcpy(void * , const void * , size_t size);
326 struct __ecereNameSpace__ecere__com__LinkList
333 extern int strcmp(const char * , const char * );
335 static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop)
337 fprintf((bsl_stderr()), "Stack now");
338 for(; yybottom <= yytop; yybottom++)
340 int yybot = *yybottom;
342 fprintf((bsl_stderr()), " %d", yybot);
344 fprintf((bsl_stderr()), "\n");
347 struct __ecereNameSpace__ecere__sys__OldList * ast;
349 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void * ));
351 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
353 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
355 extern struct __ecereNameSpace__ecere__sys__OldList * MkListOne(void * item);
357 extern void FreeEnumerator(struct Enumerator * enumerator);
359 extern void FreePointer(struct Pointer * pointer);
361 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
363 extern void FreeTypeName(struct TypeName * typeName);
365 extern struct Context * curContext;
367 extern void PopContext(struct Context * ctx);
369 extern void FreeContext(struct Context * context);
371 extern struct Context * globalContext;
373 extern struct Context * PushContext(void);
375 extern void FreeExtDecl(struct ExtDecl * extDecl);
377 extern struct ExtDecl * MkExtDeclString(char * s);
379 extern void FreeTemplateParameter(struct TemplateParameter * param);
381 extern void FreeTemplateDataType(struct TemplateDatatype * type);
385 struct CodePosition start;
386 struct CodePosition end;
389 extern void resetScannerPos(struct CodePosition * pos);
391 extern struct Location yylloc;
393 struct Location yylloc;
399 struct __ecereNameSpace__ecere__sys__OldList * attribs;
402 extern void FreeAttrib(struct Attrib * attr);
404 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
406 extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList * attribs);
408 struct __ecereNameSpace__ecere__com__Class;
410 struct __ecereNameSpace__ecere__com__Instance
413 struct __ecereNameSpace__ecere__com__Class * _class;
417 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
419 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
421 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
423 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
425 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
427 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
429 struct __ecereNameSpace__ecere__com__Property;
431 struct __ecereNameSpace__ecere__com__Property
433 struct __ecereNameSpace__ecere__com__Property * prev;
434 struct __ecereNameSpace__ecere__com__Property * next;
436 unsigned int isProperty;
439 struct __ecereNameSpace__ecere__com__Class * _class;
440 const char * dataTypeString;
441 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
442 struct Type * dataType;
443 void (* Set)(void * , int);
444 int (* Get)(void * );
445 unsigned int (* IsSet)(void * );
449 unsigned int conversion;
450 unsigned int watcherOffset;
451 const char * category;
452 unsigned int compiled;
453 unsigned int selfWatchable;
454 unsigned int isWatchable;
457 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
459 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
461 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
463 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
467 extern void FreeSpecifier(struct Specifier * spec);
469 extern struct Specifier * MkSpecifierName(const char * name);
471 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
473 extern struct Specifier * MkSpecifier(int specifier);
475 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
477 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
479 extern void AddStructDefinitions(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * definitions);
481 extern struct Specifier * MkSpecifierNameArgs(const char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
483 struct ClassFunction;
485 extern void FreeClassFunction(struct ClassFunction * func);
489 extern void FreeMemberInit(struct MemberInit * init);
493 extern void FreeMembersInit(struct MembersInit * init);
495 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
499 struct MembersInit * prev;
500 struct MembersInit * next;
505 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
506 struct ClassFunction * function;
507 } ecere_gcc_struct __anon1;
510 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
512 struct Instantiation;
514 extern void FreeInstance(struct Instantiation * inst);
518 extern void FreeProperty(struct PropertyDef * def);
522 extern void FreeClassDef(struct ClassDef * def);
524 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
526 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
528 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
530 extern struct ClassDef * MkClassDefClassProperty(struct PropertyDef * propertyDef);
532 extern struct ClassDef * MkClassDefNoExpansion(void);
534 extern struct ClassDef * MkClassDefFixed(void);
536 extern struct ClassDef * MkClassDefMemberAccess(void);
538 extern struct ClassDef * MkClassDefPropertyWatch(struct PropertyWatch * watcher);
540 extern struct ClassDef * MkClassDefDesigner(const char * designer);
542 struct TemplateArgument;
544 extern void FreeTemplateArgument(struct TemplateArgument * arg);
546 extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype);
548 struct ClassDefinition;
550 extern void FreeClass(struct ClassDefinition * _class);
554 extern void FreeIdentifier(struct Identifier * id);
556 extern struct ClassDef * MkClassDefAccessOverride(int access, struct Identifier * id);
558 extern struct ClassDef * MkClassDefDesignerDefaultProperty(struct Identifier * id);
560 extern struct TemplateParameter * MkTypeTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * baseTplDatatype, struct TemplateArgument * defaultArgument);
562 extern struct Identifier * MkIdentifier(const char * string);
564 extern struct TemplateArgument * MkTemplateIdentifierArgument(struct Identifier * ident);
566 extern struct TemplateParameter * MkIdentifierTemplateParameter(struct Identifier * identifier, int memberType, struct TemplateArgument * defaultArgument);
568 extern struct TemplateParameter * MkExpressionTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * dataType, struct TemplateArgument * defaultArgument);
570 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
572 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
574 extern struct DBTableEntry * MkDBFieldEntry(struct TypeName * type, struct Identifier * id, char * name);
576 extern struct DBIndexItem * MkDBIndexItem(struct Identifier * id, int order);
578 extern struct DBTableEntry * MkDBIndexEntry(struct __ecereNameSpace__ecere__sys__OldList * items, struct Identifier * id);
582 extern void FreeExpression(struct Expression * exp);
584 extern struct Expression * MkExpDummy(void);
586 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
588 extern struct Expression * MkExpIdentifier(struct Identifier * id);
590 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
592 extern struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr);
594 struct TemplateArgument
596 struct TemplateArgument * prev;
597 struct TemplateArgument * next;
599 struct Identifier * name;
603 struct Expression * expression;
604 struct Identifier * identifier;
605 struct TemplateDatatype * templateDatatype;
606 } ecere_gcc_struct __anon1;
609 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
611 extern struct Expression * MkExpString(const char * string);
613 extern struct Expression * MkExpIntlString(const char * string, const char * context);
615 extern struct Expression * MkExpConstant(const char * string);
617 extern struct Expression * MkExpInstance(struct Instantiation * inst);
619 extern struct Expression * MkExpExtensionExpression(struct __ecereNameSpace__ecere__sys__OldList * expressions);
621 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
623 extern struct Expression * MkExpWideString(const char * string);
625 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
627 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
629 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
631 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
633 extern struct Expression * MkExpVaArg(struct Expression * exp, struct TypeName * type);
635 extern struct Expression * MkExpClassData(struct Identifier * id);
637 extern struct Expression * MkExpArray(struct __ecereNameSpace__ecere__sys__OldList * expressions);
639 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
641 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
643 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
645 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
647 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
649 extern struct Expression * MkExpClassSize(struct Specifier * _class);
651 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
653 extern struct Expression * MkExpOffsetOf(struct TypeName * typeName, struct Identifier * id);
655 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
657 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
659 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
661 extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression);
663 extern struct Expression * MkExpDBOpen(struct Expression * ds, struct Expression * dbName);
665 extern struct Expression * MkExpDBField(char * table, struct Identifier * id);
667 extern struct Expression * MkExpDBIndex(char * table, struct Identifier * id);
669 extern struct Expression * MkExpDBTable(char * table);
673 extern void FreeDeclarator(struct Declarator * decl);
675 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
677 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
679 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
681 extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
683 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
685 extern struct Expression * MkExpClass(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
687 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
689 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
691 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
693 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
695 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
697 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
699 extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator);
701 extern struct TypeName * MkTypeNameGuessDecl(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
705 extern void FreeAttribute(struct Attribute * attr);
707 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
711 struct Attribute * prev;
712 struct Attribute * next;
715 struct Expression * exp;
720 extern void FreeInitializer(struct Initializer * initializer);
722 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
726 struct MemberInit * prev;
727 struct MemberInit * next;
729 struct Location realLoc;
730 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
731 struct Initializer * initializer;
733 unsigned int variable;
734 unsigned int takeOutExp;
739 struct Initializer * prev;
740 struct Initializer * next;
745 struct Expression * exp;
746 struct __ecereNameSpace__ecere__sys__OldList * list;
747 } ecere_gcc_struct __anon1;
748 unsigned int isConstant;
749 struct Identifier * id;
752 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
754 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
756 extern struct ClassDef * MkClassDefClassPropertyValue(struct Identifier * id, struct Initializer * initializer);
758 extern struct Expression * MkExpExtensionInitializer(struct TypeName * typeName, struct Initializer * initializer);
760 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
762 struct InitDeclarator;
764 extern void FreeInitDeclarator(struct InitDeclarator * decl);
766 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
768 struct InitDeclarator
770 struct InitDeclarator * prev;
771 struct InitDeclarator * next;
773 struct Declarator * declarator;
774 struct Initializer * initializer;
779 extern void FreeStatement(struct Statement * stmt);
781 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
785 struct Expression * prev;
786 struct Expression * next;
794 struct Identifier * identifier;
795 } ecere_gcc_struct __anon1;
796 struct Statement * compound;
797 struct Instantiation * instance;
801 unsigned int intlString;
802 unsigned int wideString;
803 } ecere_gcc_struct __anon2;
804 struct __ecereNameSpace__ecere__sys__OldList * list;
807 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
808 struct Declarator * decl;
809 } ecere_gcc_struct _classExp;
812 struct Identifier * id;
813 } ecere_gcc_struct classData;
816 struct Expression * exp;
817 struct __ecereNameSpace__ecere__sys__OldList * arguments;
818 struct Location argLoc;
819 } ecere_gcc_struct call;
822 struct Expression * exp;
823 struct __ecereNameSpace__ecere__sys__OldList * index;
824 } ecere_gcc_struct index;
827 struct Expression * exp;
828 struct Identifier * member;
830 unsigned int thisPtr;
831 } ecere_gcc_struct member;
835 struct Expression * exp1;
836 struct Expression * exp2;
837 } ecere_gcc_struct op;
838 struct TypeName * typeName;
839 struct Specifier * _class;
842 struct TypeName * typeName;
843 struct Expression * exp;
844 } ecere_gcc_struct cast;
847 struct Expression * cond;
848 struct __ecereNameSpace__ecere__sys__OldList * exp;
849 struct Expression * elseExp;
850 } ecere_gcc_struct cond;
853 struct TypeName * typeName;
854 struct Expression * size;
855 } ecere_gcc_struct _new;
858 struct TypeName * typeName;
859 struct Expression * size;
860 struct Expression * exp;
861 } ecere_gcc_struct _renew;
865 struct Identifier * id;
866 } ecere_gcc_struct db;
869 struct Expression * ds;
870 struct Expression * name;
871 } ecere_gcc_struct dbopen;
874 struct TypeName * typeName;
875 struct Initializer * initializer;
876 } ecere_gcc_struct initializer;
879 struct Expression * exp;
880 struct TypeName * typeName;
881 } ecere_gcc_struct vaArg;
884 struct TypeName * typeName;
885 struct Identifier * id;
886 } ecere_gcc_struct offset;
887 } ecere_gcc_struct __anon1;
888 unsigned int debugValue;
889 struct __ecereNameSpace__ecere__com__DataValue val;
891 unsigned int hasAddress;
892 struct Type * expType;
893 struct Type * destType;
896 unsigned int byReference;
897 unsigned int isConstant;
898 unsigned int addedThis;
899 unsigned int needCast;
900 unsigned int thisPtr;
901 unsigned int opDestType;
902 unsigned int usedInComparison;
903 unsigned int ambiguousUnits;
904 unsigned int parentOpDestType;
905 unsigned int needTemplateCast;
908 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
910 extern struct PropertyWatch * MkPropertyWatch(struct __ecereNameSpace__ecere__sys__OldList * properties, struct Statement * compound);
912 extern struct PropertyWatch * MkDeleteWatch(struct Statement * compound);
914 extern struct Statement * MkWatchStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
916 extern struct Statement * MkStopWatchingStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
918 extern struct Statement * MkFireWatchersStmt(struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
920 extern struct Expression * MkExpExtensionCompound(struct Statement * compound);
922 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
924 extern struct Statement * MkAsmStmt(struct Specifier * spec, char * statements, struct __ecereNameSpace__ecere__sys__OldList * inputFields, struct __ecereNameSpace__ecere__sys__OldList * outputFields, struct __ecereNameSpace__ecere__sys__OldList * clobberedFields);
926 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
928 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
930 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
932 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
934 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
936 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
938 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
940 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
942 extern struct Statement * MkForEachStmt(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * exp, struct __ecereNameSpace__ecere__sys__OldList * filter, struct Statement * statement);
944 extern struct Statement * MkGotoStmt(struct Identifier * id);
946 extern struct Statement * MkContinueStmt(void);
948 extern struct Statement * MkBreakStmt(void);
950 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
954 extern void FreeDeclaration(struct Declaration * decl);
958 struct Statement * prev;
959 struct Statement * next;
964 struct __ecereNameSpace__ecere__sys__OldList * expressions;
967 struct Identifier * id;
968 struct Statement * stmt;
969 } ecere_gcc_struct labeled;
972 struct Expression * exp;
973 struct Statement * stmt;
974 } ecere_gcc_struct caseStmt;
977 struct __ecereNameSpace__ecere__sys__OldList * declarations;
978 struct __ecereNameSpace__ecere__sys__OldList * statements;
979 struct Context * context;
980 unsigned int isSwitch;
981 } ecere_gcc_struct compound;
984 struct __ecereNameSpace__ecere__sys__OldList * exp;
985 struct Statement * stmt;
986 struct Statement * elseStmt;
987 } ecere_gcc_struct ifStmt;
990 struct __ecereNameSpace__ecere__sys__OldList * exp;
991 struct Statement * stmt;
992 } ecere_gcc_struct switchStmt;
995 struct __ecereNameSpace__ecere__sys__OldList * exp;
996 struct Statement * stmt;
997 } ecere_gcc_struct whileStmt;
1000 struct __ecereNameSpace__ecere__sys__OldList * exp;
1001 struct Statement * stmt;
1002 } ecere_gcc_struct doWhile;
1005 struct Statement * init;
1006 struct Statement * check;
1007 struct __ecereNameSpace__ecere__sys__OldList * increment;
1008 struct Statement * stmt;
1009 } ecere_gcc_struct forStmt;
1012 struct Identifier * id;
1013 } ecere_gcc_struct gotoStmt;
1016 struct Specifier * spec;
1018 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
1019 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
1020 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
1021 } ecere_gcc_struct asmStmt;
1024 struct Expression * watcher;
1025 struct Expression * object;
1026 struct __ecereNameSpace__ecere__sys__OldList * watches;
1027 } ecere_gcc_struct _watch;
1030 struct Identifier * id;
1031 struct __ecereNameSpace__ecere__sys__OldList * exp;
1032 struct __ecereNameSpace__ecere__sys__OldList * filter;
1033 struct Statement * stmt;
1034 } ecere_gcc_struct forEachStmt;
1035 struct Declaration * decl;
1036 } ecere_gcc_struct __anon1;
1041 struct ClassDef * prev;
1042 struct ClassDef * next;
1043 struct Location loc;
1047 struct Declaration * decl;
1048 struct ClassFunction * function;
1049 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1050 struct PropertyDef * propertyDef;
1051 struct PropertyWatch * propertyWatch;
1053 struct Identifier * defaultProperty;
1056 struct Identifier * id;
1057 struct Initializer * initializer;
1058 } ecere_gcc_struct __anon1;
1059 } ecere_gcc_struct __anon1;
1064 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
1066 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
1068 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1070 extern struct ClassDef * MkClassDefClassData(struct Declaration * decl);
1072 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
1074 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
1076 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1078 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
1080 struct FunctionDefinition;
1082 extern void FreeFunction(struct FunctionDefinition * func);
1084 extern struct FunctionDefinition * MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList);
1086 extern void ProcessFunctionBody(struct FunctionDefinition * func, struct Statement * body);
1090 extern void FreeExternal(struct External * external);
1092 extern struct External * MkExternalFunction(struct FunctionDefinition * function);
1094 extern struct External * MkExternalClass(struct ClassDefinition * _class);
1096 extern struct External * MkExternalDeclaration(struct Declaration * declaration);
1098 extern struct External * MkExternalImport(char * name, int importType, int importAccess);
1100 extern struct External * MkExternalNameSpace(struct Identifier * identifier);
1104 extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name);
1108 struct Identifier * prev;
1109 struct Identifier * next;
1110 struct Location loc;
1111 struct Symbol * classSym;
1112 struct Specifier * _class;
1114 struct Identifier * badID;
1119 struct Specifier * prev;
1120 struct Specifier * next;
1121 struct Location loc;
1128 struct ExtDecl * extDecl;
1130 struct Symbol * symbol;
1131 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
1132 struct Specifier * nsSpec;
1133 } ecere_gcc_struct __anon1;
1136 struct Identifier * id;
1137 struct __ecereNameSpace__ecere__sys__OldList * list;
1138 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1139 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1140 unsigned int addNameSpace;
1141 struct Context * ctx;
1142 struct ExtDecl * extDeclStruct;
1143 } ecere_gcc_struct __anon2;
1144 struct Expression * expression;
1145 struct Specifier * _class;
1146 struct TemplateParameter * templateParameter;
1147 } ecere_gcc_struct __anon1;
1150 struct ClassFunction
1152 struct ClassFunction * prev;
1153 struct ClassFunction * next;
1154 struct Location loc;
1155 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1156 struct Declarator * declarator;
1157 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1158 struct Statement * body;
1159 struct __ecereNameSpace__ecere__com__Class * _class;
1160 struct __ecereNameSpace__ecere__sys__OldList attached;
1163 struct Symbol * propSet;
1164 unsigned int isVirtual;
1165 unsigned int isConstructor;
1166 unsigned int isDestructor;
1167 unsigned int dontMangle;
1174 struct Declarator * prev;
1175 struct Declarator * next;
1176 struct Location loc;
1178 struct Symbol * symbol;
1179 struct Declarator * declarator;
1182 struct Identifier * identifier;
1185 struct Expression * exp;
1186 struct Expression * posExp;
1187 struct Attrib * attrib;
1188 } ecere_gcc_struct structDecl;
1191 struct Expression * exp;
1192 struct Specifier * enumClass;
1193 } ecere_gcc_struct array;
1196 struct __ecereNameSpace__ecere__sys__OldList * parameters;
1197 } ecere_gcc_struct function;
1200 struct Pointer * pointer;
1201 } ecere_gcc_struct pointer;
1204 struct ExtDecl * extended;
1205 } ecere_gcc_struct extended;
1206 } ecere_gcc_struct __anon1;
1209 struct Instantiation
1211 struct Instantiation * prev;
1212 struct Instantiation * next;
1213 struct Location loc;
1214 struct Specifier * _class;
1215 struct Expression * exp;
1216 struct __ecereNameSpace__ecere__sys__OldList * members;
1217 struct Symbol * symbol;
1218 unsigned int fullSet;
1219 unsigned int isConstant;
1220 unsigned char * data;
1221 struct Location nameLoc;
1222 struct Location insideLoc;
1228 struct PropertyDef * prev;
1229 struct PropertyDef * next;
1230 struct Location loc;
1231 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1232 struct Declarator * declarator;
1233 struct Identifier * id;
1234 struct Statement * getStmt;
1235 struct Statement * setStmt;
1236 struct Statement * issetStmt;
1237 struct Symbol * symbol;
1238 struct Expression * category;
1241 unsigned int conversion : 1;
1242 unsigned int isWatchable : 1;
1243 unsigned int isDBProp : 1;
1244 } ecere_gcc_struct __anon1;
1249 struct Declaration * prev;
1250 struct Declaration * next;
1251 struct Location loc;
1257 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1258 struct __ecereNameSpace__ecere__sys__OldList * declarators;
1259 } ecere_gcc_struct __anon1;
1260 struct Instantiation * inst;
1263 struct Identifier * id;
1264 struct Expression * exp;
1265 } ecere_gcc_struct __anon2;
1266 } ecere_gcc_struct __anon1;
1267 struct Specifier * extStorage;
1268 struct Symbol * symbol;
1272 extern struct Symbol * DeclClassAddNameSpace(struct Specifier * _class, const char * className);
1274 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
1276 struct ClassDefinition
1278 struct ClassDefinition * prev;
1279 struct ClassDefinition * next;
1280 struct Location loc;
1281 struct Specifier * _class;
1282 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1283 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1284 struct Symbol * symbol;
1285 struct Location blockStart;
1286 struct Location nameLoc;
1288 unsigned int deleteWatchable;
1291 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1293 extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs);
1295 struct FunctionDefinition
1297 struct FunctionDefinition * prev;
1298 struct FunctionDefinition * next;
1299 struct Location loc;
1300 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1301 struct Declarator * declarator;
1302 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1303 struct Statement * body;
1304 struct __ecereNameSpace__ecere__com__Class * _class;
1305 struct __ecereNameSpace__ecere__sys__OldList attached;
1308 struct Symbol * propSet;
1310 unsigned int propertyNoThis;
1316 struct Symbol * symbol;
1317 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1323 struct External * prev;
1324 struct External * next;
1325 struct Location loc;
1327 struct Symbol * symbol;
1330 struct FunctionDefinition * function;
1331 struct ClassDefinition * _class;
1332 struct Declaration * declaration;
1333 char * importString;
1334 struct Identifier * id;
1335 struct DBTableDef * table;
1336 } ecere_gcc_struct __anon1;
1338 struct External * fwdDecl;
1339 struct __ecereNameSpace__ecere__com__Instance * outgoing;
1340 struct __ecereNameSpace__ecere__com__Instance * incoming;
1341 int nonBreakableIncoming;
1344 extern struct External * MkExternalDBTable(struct DBTableDef * table);
1346 extern struct DBTableDef * MkDBTableDef(char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1348 struct __ecereNameSpace__ecere__sys__BinaryTree;
1350 struct __ecereNameSpace__ecere__sys__BinaryTree
1352 struct __ecereNameSpace__ecere__sys__BTNode * root;
1354 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1355 void (* FreeKey)(void * key);
1358 struct __ecereNameSpace__ecere__com__Method;
1360 struct __ecereNameSpace__ecere__com__Method
1363 struct __ecereNameSpace__ecere__com__Method * parent;
1364 struct __ecereNameSpace__ecere__com__Method * left;
1365 struct __ecereNameSpace__ecere__com__Method * right;
1370 struct __ecereNameSpace__ecere__com__Class * _class;
1372 const char * dataTypeString;
1373 struct Type * dataType;
1380 struct Symbol * parent;
1381 struct Symbol * left;
1382 struct Symbol * right;
1387 struct __ecereNameSpace__ecere__com__Method * method;
1388 struct __ecereNameSpace__ecere__com__Property * _property;
1389 struct __ecereNameSpace__ecere__com__Class * registered;
1390 } ecere_gcc_struct __anon1;
1391 unsigned int notYetDeclared;
1396 struct External * pointerExternal;
1397 struct External * structExternal;
1398 } ecere_gcc_struct __anon1;
1401 struct External * externalGet;
1402 struct External * externalSet;
1403 struct External * externalPtr;
1404 struct External * externalIsSet;
1405 } ecere_gcc_struct __anon2;
1408 struct External * methodExternal;
1409 struct External * methodCodeExternal;
1410 } ecere_gcc_struct __anon3;
1411 } ecere_gcc_struct __anon2;
1412 unsigned int imported;
1413 unsigned int declaredStructSym;
1414 struct __ecereNameSpace__ecere__com__Class * _class;
1415 unsigned int declaredStruct;
1416 unsigned int needConstructor;
1417 unsigned int needDestructor;
1418 char * constructorName;
1421 char * destructorName;
1422 struct ModuleImport * module;
1423 struct ClassImport * _import;
1424 struct Location nameLoc;
1425 unsigned int isParam;
1426 unsigned int isRemote;
1427 unsigned int isStruct;
1428 unsigned int fireWatchersDone;
1430 unsigned int classData;
1431 unsigned int isStatic;
1433 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
1434 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
1435 struct Context * ctx;
1437 struct Expression * propCategory;
1438 unsigned int mustRegister;
1443 typedef union YYSTYPE
1448 struct Identifier * id;
1449 struct Expression * exp;
1450 struct Specifier * specifier;
1451 struct __ecereNameSpace__ecere__sys__OldList * list;
1452 struct Enumerator * enumerator;
1453 struct Declarator * declarator;
1454 struct Pointer * pointer;
1455 struct Initializer * initializer;
1456 struct InitDeclarator * initDeclarator;
1457 struct TypeName * typeName;
1458 struct Declaration * declaration;
1459 struct Statement * stmt;
1460 struct FunctionDefinition * function;
1461 struct External * external;
1462 struct Context * context;
1463 struct AsmField * asmField;
1464 struct Attrib * attrib;
1465 struct ExtDecl * extDecl;
1466 struct Attribute * attribute;
1467 struct Instantiation * instance;
1468 struct MembersInit * membersInit;
1469 struct MemberInit * memberInit;
1470 struct ClassFunction * classFunction;
1471 struct ClassDefinition * _class;
1472 struct ClassDef * classDef;
1473 struct PropertyDef * prop;
1475 struct Symbol * symbol;
1476 struct PropertyWatch * propertyWatch;
1477 struct TemplateParameter * templateParameter;
1478 struct TemplateArgument * templateArgument;
1479 struct TemplateDatatype * templateDatatype;
1480 struct DBTableEntry * dbtableEntry;
1481 struct DBIndexItem * dbindexItem;
1482 struct DBTableDef * dbtableDef;
1483 } ecere_gcc_struct YYSTYPE;
1485 extern YYSTYPE yylval;
1489 yytype_int16 yyss_alloc;
1491 struct Location yyls_alloc;
1494 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1498 ((void)(yylocationp));
1509 extern struct AsmField * MkAsmField(char * command, struct Expression * expression, struct Identifier * symbolic);
1513 struct AsmField * prev;
1514 struct AsmField * next;
1515 struct Location loc;
1517 struct Expression * expression;
1518 struct Identifier * symbolic;
1521 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1524 fprintf(yyoutput, "token %s (", yytname[yytype]);
1526 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1528 fprintf(yyoutput, ": ");
1529 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1530 fprintf(yyoutput, ")");
1533 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1535 int yynrhs = yyr2[yyrule];
1537 unsigned long int yylno = yyrline[yyrule];
1539 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1540 for(yyi = 0; yyi < yynrhs; yyi++)
1542 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1543 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1544 fprintf((bsl_stderr()), "\n");
1548 struct __ecereNameSpace__ecere__com__NameSpace;
1550 struct __ecereNameSpace__ecere__com__NameSpace
1553 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
1554 struct __ecereNameSpace__ecere__com__NameSpace * left;
1555 struct __ecereNameSpace__ecere__com__NameSpace * right;
1557 struct __ecereNameSpace__ecere__com__NameSpace * parent;
1558 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1559 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1560 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1561 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1564 struct __ecereNameSpace__ecere__com__Application
1567 const char * * argv;
1569 unsigned int isGUIApp;
1570 struct __ecereNameSpace__ecere__sys__OldList allModules;
1571 char * parsedCommand;
1572 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1575 struct __ecereNameSpace__ecere__com__DataMember;
1577 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1583 const char * dataTypeString;
1584 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1585 } ecere_gcc_struct __anon1;
1586 struct __ecereNameSpace__ecere__com__DataValue expression;
1589 const char * memberString;
1592 struct __ecereNameSpace__ecere__com__DataMember * member;
1593 struct __ecereNameSpace__ecere__com__Property * prop;
1594 struct __ecereNameSpace__ecere__com__Method * method;
1595 } ecere_gcc_struct __anon1;
1596 } ecere_gcc_struct __anon2;
1597 } ecere_gcc_struct __anon1;
1600 struct __ecereNameSpace__ecere__com__DataMember
1602 struct __ecereNameSpace__ecere__com__DataMember * prev;
1603 struct __ecereNameSpace__ecere__com__DataMember * next;
1605 unsigned int isProperty;
1608 struct __ecereNameSpace__ecere__com__Class * _class;
1609 const char * dataTypeString;
1610 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1611 struct Type * dataType;
1615 struct __ecereNameSpace__ecere__sys__OldList members;
1616 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1618 short structAlignment;
1619 short pointerAlignment;
1622 struct __ecereNameSpace__ecere__com__Module;
1624 struct __ecereNameSpace__ecere__com__Module
1626 struct __ecereNameSpace__ecere__com__Instance * application;
1627 struct __ecereNameSpace__ecere__sys__OldList classes;
1628 struct __ecereNameSpace__ecere__sys__OldList defines;
1629 struct __ecereNameSpace__ecere__sys__OldList functions;
1630 struct __ecereNameSpace__ecere__sys__OldList modules;
1631 struct __ecereNameSpace__ecere__com__Instance * prev;
1632 struct __ecereNameSpace__ecere__com__Instance * next;
1638 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1639 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1642 struct __ecereNameSpace__ecere__com__Class
1644 struct __ecereNameSpace__ecere__com__Class * prev;
1645 struct __ecereNameSpace__ecere__com__Class * next;
1651 unsigned int (* Constructor)(void * );
1652 void (* Destructor)(void * );
1655 struct __ecereNameSpace__ecere__com__Class * base;
1656 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1657 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1658 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1659 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1660 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1661 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1665 struct __ecereNameSpace__ecere__com__Instance * module;
1666 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
1667 const char * dataTypeString;
1668 struct Type * dataType;
1670 int defaultAlignment;
1671 void (* Initialize)();
1673 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1674 const char * designerClass;
1675 unsigned int noExpansion;
1676 const char * defaultProperty;
1677 unsigned int comRedefinition;
1680 unsigned int internalDecl;
1682 unsigned int computeSize;
1683 short structAlignment;
1684 short pointerAlignment;
1685 int destructionWatchOffset;
1687 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1688 int inheritanceAccess;
1689 const char * fullName;
1691 struct __ecereNameSpace__ecere__sys__OldList conversions;
1692 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1693 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1694 struct __ecereNameSpace__ecere__com__Class * templateClass;
1695 struct __ecereNameSpace__ecere__sys__OldList templatized;
1697 unsigned int isInstanceClass;
1698 unsigned int byValueSystemClass;
1701 void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1703 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1707 void __ecereUnregisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1712 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1714 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1716 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1719 ((void)(yylocationp));
1726 fprintf((bsl_stderr()), "%s ", yymsg);
1727 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1728 fprintf((bsl_stderr()), "\n");
1735 FreeSpecifier((*yyvaluep).specifier);
1741 FreeSpecifier((*yyvaluep).specifier);
1747 FreeSpecifier((*yyvaluep).specifier);
1753 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1759 FreeSpecifier((*yyvaluep).specifier);
1765 FreeClassFunction((*yyvaluep).classFunction);
1771 FreeClassFunction((*yyvaluep).classFunction);
1777 FreeClassFunction((*yyvaluep).classFunction);
1783 FreeClassFunction((*yyvaluep).classFunction);
1789 FreeClassFunction((*yyvaluep).classFunction);
1795 FreeClassFunction((*yyvaluep).classFunction);
1801 FreeClassFunction((*yyvaluep).classFunction);
1807 FreeClassFunction((*yyvaluep).classFunction);
1813 FreeClassFunction((*yyvaluep).classFunction);
1819 FreeClassFunction((*yyvaluep).classFunction);
1825 FreeClassFunction((*yyvaluep).classFunction);
1831 FreeClassFunction((*yyvaluep).classFunction);
1837 FreeMemberInit((*yyvaluep).memberInit);
1843 FreeMemberInit((*yyvaluep).memberInit);
1849 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1855 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1861 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1867 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1873 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1879 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1885 FreeInstance((*yyvaluep).instance);
1891 FreeInstance((*yyvaluep).instance);
1897 FreeInstance((*yyvaluep).instance);
1903 FreeInstance((*yyvaluep).instance);
1909 FreeMemberInit((*yyvaluep).memberInit);
1915 FreeMemberInit((*yyvaluep).memberInit);
1921 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1927 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1933 FreeProperty((*yyvaluep).prop);
1939 FreeClassDef((*yyvaluep).classDef);
1945 FreeClassDef((*yyvaluep).classDef);
1951 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1957 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1963 FreeTemplateDataType((*yyvaluep).templateDatatype);
1969 FreeTemplateArgument((*yyvaluep).templateArgument);
1975 FreeTemplateParameter((*yyvaluep).templateParameter);
1981 FreeTemplateArgument((*yyvaluep).templateArgument);
1987 FreeTemplateParameter((*yyvaluep).templateParameter);
1993 FreeTemplateArgument((*yyvaluep).templateArgument);
1999 FreeTemplateParameter((*yyvaluep).templateParameter);
2005 FreeTemplateParameter((*yyvaluep).templateParameter);
2011 FreeList((*yyvaluep).list, (void *)(FreeTemplateParameter));
2017 FreeTemplateArgument((*yyvaluep).templateArgument);
2023 FreeList((*yyvaluep).list, (void *)(FreeTemplateArgument));
2029 struct Context * ctx = curContext;
2033 ((ctx ? __extension__ ({
2034 void * __ecerePtrToDelete = (ctx);
2036 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2043 struct Context * ctx = curContext;
2047 ((ctx ? __extension__ ({
2048 void * __ecerePtrToDelete = (ctx);
2050 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2057 FreeClass((*yyvaluep)._class);
2063 FreeClass((*yyvaluep)._class);
2069 FreeClass((*yyvaluep)._class);
2075 FreeIdentifier((*yyvaluep).id);
2081 FreeExpression((*yyvaluep).exp);
2087 FreeExpression((*yyvaluep).exp);
2093 FreeExpression((*yyvaluep).exp);
2099 FreeExpression((*yyvaluep).exp);
2105 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2111 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2117 FreeExpression((*yyvaluep).exp);
2123 FreeExpression((*yyvaluep).exp);
2129 FreeExpression((*yyvaluep).exp);
2135 FreeExpression((*yyvaluep).exp);
2141 FreeExpression((*yyvaluep).exp);
2147 FreeExpression((*yyvaluep).exp);
2153 FreeExpression((*yyvaluep).exp);
2159 FreeExpression((*yyvaluep).exp);
2165 FreeExpression((*yyvaluep).exp);
2171 FreeExpression((*yyvaluep).exp);
2177 FreeExpression((*yyvaluep).exp);
2183 FreeExpression((*yyvaluep).exp);
2189 FreeExpression((*yyvaluep).exp);
2195 FreeExpression((*yyvaluep).exp);
2201 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2207 FreeExpression((*yyvaluep).exp);
2213 FreeExpression((*yyvaluep).exp);
2219 FreeExpression((*yyvaluep).exp);
2225 FreeExpression((*yyvaluep).exp);
2231 FreeExpression((*yyvaluep).exp);
2237 FreeExpression((*yyvaluep).exp);
2243 FreeExpression((*yyvaluep).exp);
2249 FreeExpression((*yyvaluep).exp);
2255 FreeExpression((*yyvaluep).exp);
2261 FreeExpression((*yyvaluep).exp);
2267 FreeExpression((*yyvaluep).exp);
2273 FreeExpression((*yyvaluep).exp);
2279 FreeExpression((*yyvaluep).exp);
2285 FreeExpression((*yyvaluep).exp);
2291 FreeExpression((*yyvaluep).exp);
2297 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2303 FreeExpression((*yyvaluep).exp);
2309 FreeExpression((*yyvaluep).exp);
2315 FreeSpecifier((*yyvaluep).specifier);
2321 FreeSpecifier((*yyvaluep).specifier);
2327 FreeEnumerator((*yyvaluep).enumerator);
2333 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
2339 FreeSpecifier((*yyvaluep).specifier);
2345 FreeSpecifier((*yyvaluep).specifier);
2351 FreeSpecifier((*yyvaluep).specifier);
2357 FreeSpecifier((*yyvaluep).specifier);
2363 FreeSpecifier((*yyvaluep).specifier);
2369 FreeSpecifier((*yyvaluep).specifier);
2375 FreeSpecifier((*yyvaluep).specifier);
2381 FreeSpecifier((*yyvaluep).specifier);
2387 FreeSpecifier((*yyvaluep).specifier);
2393 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2399 FreeSpecifier((*yyvaluep).specifier);
2405 FreeSpecifier((*yyvaluep).specifier);
2411 FreeDeclarator((*yyvaluep).declarator);
2417 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
2423 FreeSpecifier((*yyvaluep).specifier);
2429 FreeSpecifier((*yyvaluep).specifier);
2435 FreeSpecifier((*yyvaluep).specifier);
2441 FreeSpecifier((*yyvaluep).specifier);
2447 FreeSpecifier((*yyvaluep).specifier);
2453 FreeSpecifier((*yyvaluep).specifier);
2459 FreeSpecifier((*yyvaluep).specifier);
2465 FreeSpecifier((*yyvaluep).specifier);
2471 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2477 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2483 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2489 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2495 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2501 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2507 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2513 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2519 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2525 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2531 FreeDeclarator((*yyvaluep).declarator);
2537 FreeDeclarator((*yyvaluep).declarator);
2543 FreeDeclarator((*yyvaluep).declarator);
2549 FreeDeclarator((*yyvaluep).declarator);
2555 FreeDeclarator((*yyvaluep).declarator);
2561 FreeDeclarator((*yyvaluep).declarator);
2567 FreeDeclarator((*yyvaluep).declarator);
2573 FreeDeclarator((*yyvaluep).declarator);
2579 FreeDeclarator((*yyvaluep).declarator);
2585 FreeDeclarator((*yyvaluep).declarator);
2591 FreeExtDecl((*yyvaluep).extDecl);
2597 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2603 FreeAttribute((*yyvaluep).attribute);
2609 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
2615 FreeAttrib((*yyvaluep).attrib);
2621 FreeDeclarator((*yyvaluep).declarator);
2627 FreeDeclarator((*yyvaluep).declarator);
2633 FreePointer((*yyvaluep).pointer);
2639 FreeDeclarator((*yyvaluep).declarator);
2645 FreeDeclarator((*yyvaluep).declarator);
2651 FreeDeclarator((*yyvaluep).declarator);
2657 FreeDeclarator((*yyvaluep).declarator);
2663 FreeDeclarator((*yyvaluep).declarator);
2669 FreeDeclarator((*yyvaluep).declarator);
2675 FreeDeclarator((*yyvaluep).declarator);
2681 FreeDeclarator((*yyvaluep).declarator);
2687 FreeDeclarator((*yyvaluep).declarator);
2693 FreeInitializer((*yyvaluep).initializer);
2699 FreeInitializer((*yyvaluep).initializer);
2705 FreeInitializer((*yyvaluep).initializer);
2711 FreeInitializer((*yyvaluep).initializer);
2717 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
2723 FreeInitDeclarator((*yyvaluep).initDeclarator);
2729 FreeInitDeclarator((*yyvaluep).initDeclarator);
2735 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2741 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2747 FreeTypeName((*yyvaluep).typeName);
2753 FreeTypeName((*yyvaluep).typeName);
2759 FreeTypeName((*yyvaluep).typeName);
2765 FreeTypeName((*yyvaluep).typeName);
2771 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2777 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2783 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2789 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2795 FreeStatement((*yyvaluep).stmt);
2801 FreeStatement((*yyvaluep).stmt);
2807 FreeStatement((*yyvaluep).stmt);
2813 FreeStatement((*yyvaluep).stmt);
2824 FreeDeclaration((*yyvaluep).declaration);
2830 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2836 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2842 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2848 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2854 FreeStatement((*yyvaluep).stmt);
2860 FreeStatement((*yyvaluep).stmt);
2866 PopContext((*yyvaluep).context);
2867 FreeContext((*yyvaluep).context);
2868 (((*yyvaluep).context ? __extension__ ({
2869 void * __ecerePtrToDelete = ((*yyvaluep).context);
2871 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2872 }) : 0), (*yyvaluep).context = 0);
2878 FreeStatement((*yyvaluep).stmt);
2884 FreeStatement((*yyvaluep).stmt);
2890 FreeStatement((*yyvaluep).stmt);
2896 FreeStatement((*yyvaluep).stmt);
2902 FreeStatement((*yyvaluep).stmt);
2908 FreeStatement((*yyvaluep).stmt);
2914 FreeStatement((*yyvaluep).stmt);
2920 FreeStatement((*yyvaluep).stmt);
2926 FreeStatement((*yyvaluep).stmt);
2932 FreeFunction((*yyvaluep).function);
2938 FreeFunction((*yyvaluep).function);
2944 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2950 FreeExternal((*yyvaluep).external);
2956 FreeExternal((*yyvaluep).external);
2962 if((*yyvaluep).list != ast)
2963 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2969 if((*yyvaluep).list != ast)
2970 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2983 yytype_int16 yyssa[200];
2984 yytype_int16 * yyss;
2985 yytype_int16 * yyssp;
2989 struct Location yylsa[200];
2990 struct Location * yyls;
2991 struct Location * yylsp;
2992 struct Location yyerror_range[2];
2998 struct Location yyloc;
3009 fprintf((bsl_stderr()), "Starting parse\n");
3023 if(yyss + yystacksize - 1 <= yyssp)
3025 size_t yysize = yyssp - yyss + 1;
3027 if(10000 <= yystacksize)
3028 goto yyexhaustedlab;
3030 if(10000 < yystacksize)
3031 yystacksize = 10000;
3033 yytype_int16 * yyss1 = yyss;
3034 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
3037 goto yyexhaustedlab;
3042 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
3043 yyss = &(*yyptr).yyss_alloc;
3044 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
3045 yyptr += yynewbytes / sizeof (*yyptr);
3051 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
3052 yyvs = &(*yyptr).yyvs_alloc;
3053 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
3054 yyptr += yynewbytes / sizeof (*yyptr);
3060 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
3061 yyls = &(*yyptr).yyls_alloc;
3062 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
3063 yyptr += yynewbytes / sizeof (*yyptr);
3068 yyssp = yyss + yysize - 1;
3069 yyvsp = yyvs + yysize - 1;
3070 yylsp = yyls + yysize - 1;
3074 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
3076 if(yyss + yystacksize - 1 <= yyssp)
3082 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
3088 yyn = yypact[yystate];
3096 fprintf((bsl_stderr()), "Reading a token: ");
3102 yychar = yytoken = 0;
3106 fprintf((bsl_stderr()), "Now at end of input.\n");
3111 yytoken = ((unsigned int)(yychar) <= 374 ? yytranslate[yychar] : 2);
3116 fprintf((bsl_stderr()), "%s ", "Next token is");
3117 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3118 fprintf((bsl_stderr()), "\n");
3123 if(yyn < 0 || 42445 < yyn || yycheck[yyn] != yytoken)
3128 if(yyn == 0 || yyn == -1290)
3139 fprintf((bsl_stderr()), "%s ", "Shifting");
3140 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3141 fprintf((bsl_stderr()), "\n");
3150 yyn = yydefact[yystate];
3156 yyval = yyvsp[1 - yylen];
3157 (yyloc.start = ((yylsp - yylen))[1].start);
3158 (yyloc.end = ((yylsp - yylen))[yylen].end);
3163 yy_reduce_print(yyvsp, yylsp, yyn);
3169 yyval.specifier = (((void *)0));
3170 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3171 FreeIdentifier(yyvsp[(1) - (2)].id);
3173 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3175 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3176 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3178 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3179 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3180 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
3182 resetScannerPos(&(yylsp[(1) - (2)]).start);
3184 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3189 yy_stack_print((yyss), (yyssp));
3191 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3196 yy_stack_print((yyss), (yyssp));
3204 yyval.specifier = (((void *)0));
3205 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3206 FreeIdentifier(yyvsp[(1) - (2)].id);
3208 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3210 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3211 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3213 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3214 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3215 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
3217 resetScannerPos(&(yylsp[(1) - (2)]).start);
3219 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3224 yy_stack_print((yyss), (yyssp));
3226 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3231 yy_stack_print((yyss), (yyssp));
3239 yyval.specifier = yyvsp[(1) - (1)].specifier;
3245 if(!yyvsp[(1) - (2)].id->string[0])
3247 yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string);
3248 FreeIdentifier(yyvsp[(1) - (2)].id);
3249 FreeIdentifier(yyvsp[(2) - (2)].id);
3253 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3254 FreeIdentifier(yyvsp[(1) - (2)].id);
3255 FreeIdentifier(yyvsp[(2) - (2)].id);
3257 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3259 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3260 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3262 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3263 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3264 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
3266 resetScannerPos(&(yylsp[(1) - (2)]).start);
3268 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3273 yy_stack_print((yyss), (yyssp));
3275 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3280 yy_stack_print((yyss), (yyssp));
3289 yyval.specifier = MkSpecifierName(yytext);
3295 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3301 yyval.specifier = yyvsp[(1) - (4)].specifier;
3302 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3303 yyval.specifier->loc = (yyloc);
3309 yyval.specifier = yyvsp[(1) - (4)].specifier;
3310 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3311 yyval.specifier->loc = (yyloc);
3312 (yylsp[(4) - (4)]).end.pos--;
3314 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3316 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3317 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3319 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3320 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3321 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(4) - (4)]).end.pos, 0) : (unsigned int)1;
3323 resetScannerPos(&(yylsp[(4) - (4)]).end);
3330 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3331 yyval.classFunction->loc = (yyloc);
3337 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3338 yyval.classFunction->loc = (yyloc);
3344 yyval.classFunction = MkClassFunction(yyvsp[(1) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3345 yyval.classFunction->isConstructor = 1;
3346 yyval.classFunction->loc = (yyloc);
3352 yyval.classFunction = MkClassFunction(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3353 yyval.classFunction->isDestructor = 1;
3354 yyval.classFunction->loc = (yyloc);
3360 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3361 yyval.classFunction->isVirtual = 1;
3362 yyval.classFunction->loc = (yyloc);
3368 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3369 yyval.classFunction->isVirtual = 1;
3370 yyval.classFunction->loc = (yyloc);
3376 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3377 yyval.classFunction->loc = (yyloc);
3383 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3384 yyval.classFunction->loc = (yyloc);
3390 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3391 yyval.classFunction->isVirtual = 1;
3392 yyval.classFunction->loc = (yyloc);
3398 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3399 yyval.classFunction->isVirtual = 1;
3400 yyval.classFunction->loc = (yyloc);
3406 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3407 yyval.classFunction->loc = (yyloc);
3413 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3414 yyval.classFunction->loc = (yyloc);
3420 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3421 yyval.classFunction->loc = (yyloc);
3427 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3428 yyval.classFunction->loc = (yyloc);
3434 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3435 yyval.classFunction->loc = (yyloc);
3441 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3442 yyval.classFunction->loc = (yyloc);
3448 if(yyvsp[(1) - (3)].classFunction->declarator)
3450 yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0)));
3451 yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib;
3453 ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0)));
3454 yyval.classFunction->loc = (yyloc);
3460 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3461 yyval.classFunction->loc = (yyloc);
3462 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3468 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3469 yyval.classFunction->loc = (yyloc);
3470 yyval.classFunction->loc.end.charPos++;
3471 yyval.classFunction->loc.end.pos++;
3477 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3478 yyval.classFunction->loc = (yyloc);
3479 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3485 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3486 yyval.classFunction->loc = (yyloc);
3487 yyval.classFunction->loc.end.charPos++;
3488 yyval.classFunction->loc.end.pos++;
3494 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3495 yyval.classFunction->loc = (yyloc);
3496 yyval.classFunction->loc.end.charPos++;
3497 yyval.classFunction->loc.end.pos++;
3503 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3504 yyval.classFunction->loc = (yyloc);
3510 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), MkDeclaratorFunction(yyvsp[(2) - (2)].declarator, (((void *)0))), (((void *)0)));
3511 yyval.classFunction->loc = (yyloc);
3517 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3518 yyval.classFunction->loc = (yyloc);
3524 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3525 yyval.classFunction->loc = (yyloc);
3531 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3532 yyval.classFunction->loc = (yyloc);
3533 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3534 yyval.classFunction->loc.end.charPos++;
3535 yyval.classFunction->loc.end.pos++;
3541 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3542 yyval.classFunction->loc = (yyloc);
3543 yyval.classFunction->loc.end.charPos++;
3544 yyval.classFunction->loc.end.pos++;
3550 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3551 yyval.classFunction->loc = (yyloc);
3552 yyval.classFunction->loc.end.charPos++;
3553 yyval.classFunction->loc.end.pos++;
3559 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3560 yyval.memberInit->loc = (yyloc);
3561 yyval.memberInit->realLoc = (yyloc);
3562 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3568 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3569 yyval.memberInit->loc = (yyloc);
3570 yyval.memberInit->realLoc = (yyloc);
3576 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3577 yyval.memberInit->loc = (yyloc);
3578 yyval.memberInit->realLoc = (yyloc);
3579 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3585 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
3586 yyval.memberInit->loc = (yyloc);
3587 yyval.memberInit->realLoc = (yyloc);
3588 yyval.memberInit->initializer->loc.start = yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
3590 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3592 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3593 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3595 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3596 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3597 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(2) - (3)]).end.pos, 0) : (unsigned int)1;
3600 resetScannerPos(&(yylsp[(2) - (3)]).end);
3601 (yyloc.start = (yylsp[(1) - (3)]).start);
3602 (yyloc.end = (yylsp[(2) - (3)]).end);
3608 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3609 yyval.memberInit->loc = (yyloc);
3610 yyval.memberInit->realLoc = (yyloc);
3616 yyval.list = MkList();
3617 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3623 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3624 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3625 yyval.list = yyvsp[(1) - (3)].list;
3631 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3632 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3633 yyval.list = yyvsp[(1) - (3)].list;
3639 yyval.list = MkList();
3640 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3646 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3647 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3648 yyval.list = yyvsp[(1) - (3)].list;
3654 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3655 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3656 yyval.list = yyvsp[(1) - (3)].list;
3662 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3664 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3665 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3667 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3668 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3669 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3671 yyval.list = yyvsp[(1) - (3)].list;
3677 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3679 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3680 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3682 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3683 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3684 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3686 yyval.list = yyvsp[(1) - (3)].list;
3692 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3693 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3695 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).start;
3696 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).start;
3697 yyval.list = MkList();
3698 ListAdd(yyval.list, memberInit);
3699 dummy = MkInitializerAssignment(MkExpDummy());
3700 memberInit = MkMemberInit((((void *)0)), dummy);
3701 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).end;
3702 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).end;
3703 ListAdd(yyval.list, memberInit);
3709 if((*yyvsp[(1) - (2)].list).last)
3710 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3711 yyval.list = yyvsp[(1) - (2)].list;
3717 if((*yyvsp[(1) - (2)].list).last)
3718 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3719 yyval.list = yyvsp[(1) - (2)].list;
3725 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
3727 yyval.list = MkList();
3728 ListAdd(yyval.list, members);
3729 members->loc = (yylsp[(1) - (1)]);
3735 yyval.list = MkList();
3736 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3737 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3743 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3745 ListAdd(yyval.list, members);
3746 members->loc = (yylsp[(2) - (2)]);
3747 yyval.list = yyvsp[(1) - (2)].list;
3753 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3754 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3755 yyval.list = yyvsp[(1) - (2)].list;
3761 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3763 ListAdd(yyval.list, members);
3764 members->loc = (yylsp[(2) - (2)]);
3765 yyval.list = yyvsp[(1) - (2)].list;
3771 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3772 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3773 yyval.list = yyvsp[(1) - (2)].list;
3779 struct MembersInit * members = (struct MembersInit *)(*yyval.list).last;
3781 if(members->type == 0)
3782 (members->loc.end = yyloc.end);
3785 struct MembersInit * members = MkMembersInitList(MkList());
3787 ListAdd(yyval.list, members);
3788 members->loc = (yylsp[(2) - (2)]);
3790 yyval.list = yyvsp[(1) - (2)].list;
3796 struct MembersInit * members = MkMembersInitList(MkList());
3798 yyval.list = MkList();
3799 ListAdd(yyval.list, members);
3800 members->loc = (yylsp[(1) - (1)]);
3806 yyval.list = MkList();
3807 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3808 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3814 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3815 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3821 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3822 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3828 yyval.list = MkList();
3829 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3830 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3836 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3837 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3838 yyval.list = yyvsp[(1) - (2)].list;
3844 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3845 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3846 yyval.list = yyvsp[(1) - (2)].list;
3852 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3853 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3854 yyval.list = yyvsp[(1) - (2)].list;
3860 ListAdd(yyval.list, MkMembersInitList(yyvsp[(2) - (2)].list));
3861 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3862 yyval.list = yyvsp[(1) - (2)].list;
3868 yyval.list = MkList();
3869 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3870 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3876 yyval.list = MkList();
3877 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (2)].list));
3878 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3884 yyval.instance->loc = (yyloc);
3885 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3886 yyval.instance = yyvsp[(1) - (2)].instance;
3892 yyval.instance->loc = (yyloc);
3893 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3894 yyval.instance = yyvsp[(1) - (3)].instance;
3900 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3901 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3902 yyval.instance->loc = (yyloc);
3903 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3904 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3905 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3906 yyval.instance->loc.end.charPos++;
3907 yyval.instance->loc.end.pos++;
3913 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3914 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3915 yyval.instance->loc = (yyloc);
3916 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3917 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3918 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3919 yyval.instance->loc.end.charPos++;
3920 yyval.instance->loc.end.pos++;
3926 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3927 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3928 yyval.instance->loc = (yyloc);
3929 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3930 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3931 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3932 yyval.instance->loc.end.charPos++;
3933 yyval.instance->loc.end.pos++;
3939 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
3940 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
3941 yyval.instance->loc = (yyloc);
3942 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
3943 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
3944 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
3945 yyval.instance->loc.end.charPos++;
3946 yyval.instance->loc.end.pos++;
3952 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
3953 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3954 yyval.instance->loc = (yyloc);
3955 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3956 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3957 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
3958 yyval.instance->loc.end.charPos++;
3959 yyval.instance->loc.end.pos++;
3965 yyval.instance->loc = (yyloc);
3966 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3972 yyval.instance->loc = (yyloc);
3973 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3979 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3980 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3981 yyval.instance->loc = (yyloc);
3982 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3983 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3984 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3985 yyval.instance->loc.end.charPos++;
3986 yyval.instance->loc.end.pos++;
3992 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3993 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3994 yyval.instance->loc = (yyloc);
3995 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3996 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3997 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3998 yyval.instance->loc.end.charPos++;
3999 yyval.instance->loc.end.pos++;
4005 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
4006 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4007 yyval.instance->loc = (yyloc);
4008 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4009 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4010 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
4011 yyval.instance->loc.end.charPos++;
4012 yyval.instance->loc.end.pos++;
4018 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
4019 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
4020 yyval.instance->loc = (yyloc);
4021 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
4022 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
4023 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4024 yyval.instance->loc.end.charPos++;
4025 yyval.instance->loc.end.pos++;
4031 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
4032 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4033 yyval.instance->loc = (yyloc);
4034 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4035 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4036 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4037 yyval.instance->loc.end.charPos++;
4038 yyval.instance->loc.end.pos++;
4044 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4045 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4046 yyval.instance->loc = (yyloc);
4047 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4048 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4049 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4055 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4056 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4057 yyval.instance->loc = (yyloc);
4058 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4059 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4060 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4066 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
4067 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4068 yyval.instance->loc = (yyloc);
4069 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4070 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4071 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4077 yyval.instance->loc = (yyloc);
4078 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4079 yyval.instance = yyvsp[(1) - (2)].instance;
4085 yyval.instance->loc = (yyloc);
4086 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4087 yyval.instance = yyvsp[(1) - (3)].instance;
4093 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4094 yyval.instance->loc = (yyloc);
4095 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4096 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4097 yyval.instance->loc.end.charPos++;
4098 yyval.instance->loc.end.pos++;
4104 struct Location tmpLoc = yylloc;
4106 yylloc = (yylsp[(1) - (3)]);
4108 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4109 yyval.instance->loc = (yyloc);
4110 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4111 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4112 FreeIdentifier(yyvsp[(1) - (3)].id);
4118 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4119 yyval.instance->loc = (yyloc);
4120 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4121 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4122 yyval.instance->loc.end.charPos++;
4123 yyval.instance->loc.end.pos++;
4129 yyval.instance = MkInstantiation(yyvsp[(1) - (2)].specifier, (((void *)0)), (((void *)0)));
4130 yyval.instance->loc = (yyloc);
4131 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4132 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4133 yyval.instance->loc.end.charPos++;
4134 yyval.instance->loc.end.pos++;
4140 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
4141 yyval.instance->loc = (yyloc);
4142 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4143 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4144 yyval.instance->loc.end.charPos++;
4145 yyval.instance->loc.end.pos++;
4151 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), (((void *)0)));
4152 yyval.instance->loc = (yyloc);
4153 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4154 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4155 yyval.instance->loc.end.charPos++;
4156 yyval.instance->loc.end.pos++;
4162 struct Location tmpLoc = yylloc;
4164 yylloc = (yylsp[(1) - (3)]);
4166 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4167 yyval.instance->loc = (yyloc);
4168 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4169 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4170 yyval.instance->loc.end.charPos++;
4171 yyval.instance->loc.end.pos++;
4172 FreeIdentifier(yyvsp[(1) - (3)].id);
4178 struct Location tmpLoc = yylloc;
4180 yylloc = (yylsp[(1) - (2)]);
4182 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (2)].id->string), (((void *)0)), (((void *)0)));
4183 yyval.instance->loc = (yyloc);
4184 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4185 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4186 yyval.instance->loc.end.charPos++;
4187 yyval.instance->loc.end.pos++;
4188 FreeIdentifier(yyvsp[(1) - (2)].id);
4194 struct Location tmpLoc = yylloc;
4196 yylloc = (yylsp[(1) - (4)]);
4198 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
4199 yyval.instance->loc = (yyloc);
4200 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4201 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4202 yyval.instance->loc.end.charPos++;
4203 yyval.instance->loc.end.pos++;
4204 FreeIdentifier(yyvsp[(1) - (4)].id);
4210 struct Location tmpLoc = yylloc;
4212 yylloc = (yylsp[(1) - (3)]);
4214 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), (((void *)0)));
4215 yyval.instance->loc = (yyloc);
4216 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4217 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4218 yyval.instance->loc.end.charPos++;
4219 yyval.instance->loc.end.pos++;
4220 FreeIdentifier(yyvsp[(1) - (3)].id);
4226 yyval.instance->loc = (yyloc);
4227 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4233 yyval.instance->loc = (yyloc);
4234 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4240 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4241 yyval.instance->loc = (yyloc);
4242 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4243 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4244 yyval.instance->loc.end.charPos++;
4245 yyval.instance->loc.end.pos++;
4251 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
4252 yyval.instance->loc = (yyloc);
4253 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
4254 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4255 yyval.instance->loc.end.charPos++;
4256 yyval.instance->loc.end.pos++;
4262 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4263 yyval.instance->loc = (yyloc);
4264 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4265 yyval.instance->insideLoc.end = (yylsp[(1) - (2)]).end;
4266 yyval.instance->loc.end.charPos++;
4267 yyval.instance->loc.end.pos++;
4273 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4274 yyval.instance->loc = (yyloc);
4275 yyval.instance->insideLoc.start = (yylsp[(1) - (1)]).end;
4276 yyval.instance->insideLoc.end = (yylsp[(1) - (1)]).end;
4277 yyval.instance->loc.end.charPos++;
4278 yyval.instance->loc.end.pos++;
4284 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4285 yyval.instance->loc = (yyloc);
4286 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4287 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4288 yyval.instance->loc.end.charPos++;
4289 yyval.instance->loc.end.pos++;
4295 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4296 yyval.memberInit->loc = (yyloc);
4297 yyval.memberInit->realLoc = (yyloc);
4303 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4304 yyval.memberInit->loc = (yyloc);
4305 yyval.memberInit->realLoc = (yyloc);
4306 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4312 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
4313 yyval.memberInit->loc = (yyloc);
4314 yyval.memberInit->realLoc = (yyloc);
4315 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4316 yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
4322 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (2)].exp, (((void *)0)));
4323 yyval.memberInit->loc = (yyloc);
4324 yyval.memberInit->realLoc = (yyloc);
4330 yyval.list = MkList();
4331 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4332 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4338 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4339 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4340 yyval.list = yyvsp[(1) - (3)].list;
4346 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4347 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4348 yyval.list = yyvsp[(1) - (3)].list;
4354 yyval.list = MkList();
4355 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4356 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4362 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4363 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4364 yyval.list = yyvsp[(1) - (3)].list;
4370 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4371 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4372 yyval.list = yyvsp[(1) - (3)].list;
4378 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4379 yyval.prop->loc = (yyloc);
4385 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4386 yyval.prop->loc = (yyloc);
4392 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4393 yyval.prop->loc = (yyloc);
4399 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4400 yyval.prop->loc = (yyloc);
4406 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4407 yyval.prop->loc = (yyloc);
4413 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4419 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4425 yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt;
4431 yyvsp[(1) - (2)].prop->__anon1.isWatchable = 1;
4437 yyvsp[(1) - (3)].prop->category = yyvsp[(3) - (3)].exp;
4443 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4444 yyval.prop = yyvsp[(1) - (2)].prop;
4450 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4451 yyval.prop->loc = (yyloc);
4457 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4458 yyval.prop->loc = (yyloc);
4464 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4465 yyval.prop->loc = (yyloc);
4471 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4472 yyval.prop->loc = (yyloc);
4478 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4479 yyval.prop->loc = (yyloc);
4485 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4491 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4497 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4503 yyval.list = MkListOne(yyvsp[(1) - (1)].id);
4509 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].id);
4515 yyval.propertyWatch = MkPropertyWatch(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
4521 yyval.propertyWatch = MkDeleteWatch(yyvsp[(2) - (2)].stmt);
4527 yyval.list = MkListOne(yyvsp[(1) - (1)].propertyWatch);
4533 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].propertyWatch);
4539 yyval.propertyWatch = MkPropertyWatch(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
4545 yyval.stmt = MkWatchStmt((((void *)0)), yyvsp[(3) - (7)].exp, yyvsp[(6) - (7)].list);
4551 yyval.stmt = MkWatchStmt(yyvsp[(1) - (9)].exp, yyvsp[(5) - (9)].exp, yyvsp[(8) - (9)].list);
4557 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].list);
4563 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (8)].exp, yyvsp[(5) - (8)].exp, yyvsp[(7) - (8)].list);
4569 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (4)].exp, (((void *)0)));
4575 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (6)].exp, yyvsp[(5) - (6)].exp, (((void *)0)));
4581 yyval.stmt = MkFireWatchersStmt((((void *)0)), (((void *)0)));
4587 yyval.stmt = MkFireWatchersStmt((((void *)0)), yyvsp[(2) - (2)].list);
4593 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (3)].exp, (((void *)0)));
4599 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (4)].exp, yyvsp[(4) - (4)].list);
4605 yyval.classDef = yyvsp[(1) - (2)].classDef;
4606 yyval.classDef->loc.end = (yylsp[(2) - (2)]).end;
4612 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4613 if((*yyvsp[(1) - (2)].list).last)
4614 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4615 yyval.classDef->loc = (yyloc);
4621 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4622 yyval.classDef->loc = (yyloc);
4623 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4629 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4630 yyval.classDef->loc = (yyloc);
4631 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4637 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4638 yyval.classDef->loc = (yyloc);
4639 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4645 yyval.classDef = MkClassDefProperty(yyvsp[(2) - (2)].prop);
4646 yyval.classDef->loc = (yyloc);
4647 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4653 yyval.classDef = MkClassDefClassProperty(yyvsp[(1) - (1)].prop);
4654 yyval.classDef->loc = (yyloc);
4660 yyval.classDef = (((void *)0));
4661 deleteWatchable = 1;
4667 yyval.classDef = MkClassDefNoExpansion();
4673 yyval.classDef = MkClassDefFixed();
4679 yyval.classDef = MkClassDefClassPropertyValue(yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].initializer);
4680 yyval.classDef->loc = (yyloc);
4686 yyval.classDef = (((void *)0));
4692 memberAccessStack[defaultMemberAccess] = yyvsp[(1) - (2)].declMode;
4693 if(defaultMemberAccess == 0)
4695 yyval.classDef = MkClassDefMemberAccess();
4696 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4697 yyval.classDef->loc = (yyloc);
4700 yyval.classDef = (((void *)0));
4706 yyval.classDef = MkClassDefAccessOverride(yyvsp[(1) - (4)].declMode, yyvsp[(3) - (4)].id);
4707 yyval.classDef->loc = (yyloc);
4713 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4714 yyval.classDef->loc = yyvsp[(1) - (1)].classFunction->loc;
4715 yyval.classDef->loc.end.charPos++;
4716 yyval.classDef->loc.end.pos++;
4717 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4723 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0))));
4724 yyval.classDef->__anon1.decl->loc = (yyloc);
4725 yyval.classDef->loc = (yyloc);
4726 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4732 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0))));
4733 yyval.classDef->__anon1.decl->loc = (yyloc);
4734 yyval.classDef->loc = (yyloc);
4735 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4741 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4742 yyval.classDef->__anon1.decl->loc = (yyloc);
4743 yyval.classDef->loc = (yyloc);
4744 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4750 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0))));
4751 yyval.classDef->__anon1.decl->loc = (yyloc);
4752 yyval.classDef->loc = (yyloc);
4753 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4759 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4760 yyval.classDef->loc = (yyloc);
4761 yyval.classDef->__anon1.decl->loc = (yyloc);
4762 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4768 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4769 yyval.classDef->loc = (yyloc);
4770 yyval.classDef->__anon1.decl->loc = (yyloc);
4771 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4777 yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4778 yyval.classDef->__anon1.decl->loc = (yyloc);
4779 yyval.classDef->loc = (yyloc);
4785 yyval.classDef = MkClassDefPropertyWatch(yyvsp[(1) - (1)].propertyWatch);
4786 yyval.classDef->loc = (yyloc);
4792 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].id->string);
4793 FreeIdentifier(yyvsp[(2) - (2)].id);
4799 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4800 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4806 yyval.classDef = MkClassDefDesignerDefaultProperty(yyvsp[(2) - (2)].id);
4812 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4813 yyval.classDef->loc = (yyloc);
4814 yyval.classDef->__anon1.decl->loc = (yyloc);
4815 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4821 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4822 yyval.classDef->loc = (yyloc);
4823 yyval.classDef->__anon1.decl->loc = (yyloc);
4824 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4830 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4831 if((*yyvsp[(1) - (1)].list).last)
4832 ((struct MemberInit *)(*yyvsp[(1) - (1)].list).last)->loc.end = (yylsp[(1) - (1)]).end;
4833 yyval.classDef->loc = (yyloc);
4839 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4840 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4841 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4842 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4848 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4849 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4850 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4851 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4857 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4858 yyval.classDef->loc = (yyloc);
4859 yyval.classDef->loc.end.charPos++;
4860 yyval.classDef->loc.end.pos++;
4861 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4867 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4868 yyval.classDef->loc = (yyloc);
4869 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4870 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4876 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4877 yyval.classDef->loc = (yyloc);
4878 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4879 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4885 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4886 yyval.classDef->loc = (yyloc);
4887 yyval.classDef->loc.end.charPos++;
4888 yyval.classDef->loc.end.pos++;
4894 yyval.list = MkList();
4895 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4901 yyval.list = yyvsp[(1) - (2)].list;
4902 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4908 yyval.list = yyvsp[(1) - (2)].list;
4909 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4916 yyval.list = MkList();
4917 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4924 yyval.list = yyvsp[(1) - (2)].list;
4925 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4931 yyval.list = yyvsp[(1) - (2)].list;
4932 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4938 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4944 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4950 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4956 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4962 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (2)].id, (((void *)0)), (((void *)0)));
4968 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4974 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
4980 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
4986 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (2)].string), (((void *)0)), (((void *)0)));
4987 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
4993 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4999 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
5005 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (6)].string), yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
5011 yyval.templateArgument = MkTemplateIdentifierArgument(yyvsp[(1) - (1)].id);
5017 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (1)].id, 0, (((void *)0)));
5023 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (3)].id, 0, yyvsp[(3) - (3)].templateArgument);
5029 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
5035 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(2) - (4)].id, MkTemplateDatatype(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(4) - (4)].templateArgument);
5041 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(3) - (5)].id, MkTemplateDatatype(yyvsp[(1) - (5)].list, yyvsp[(2) - (5)].declarator), yyvsp[(5) - (5)].templateArgument);
5047 yyval.list = MkList();
5048 ListAdd(yyval.list, yyvsp[(1) - (1)].templateParameter);
5054 yyval.list = yyvsp[(1) - (3)].list;
5055 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateParameter);
5061 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5062 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5063 yyval.templateArgument->loc = (yyloc);
5069 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5070 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5071 yyval.templateArgument->loc = (yyloc);
5077 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5078 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5079 yyval.templateArgument->loc = (yyloc);
5085 yyval.list = MkList();
5086 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
5092 yyval.list = yyvsp[(1) - (3)].list;
5093 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
5099 if(curContext != globalContext)
5100 PopContext(curContext);
5101 yyval.context = PushContext();
5107 (void)yyvsp[(1) - (2)].context;
5108 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
5109 FreeIdentifier(yyvsp[(2) - (2)].id);
5110 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5111 memberAccessStack[++defaultMemberAccess] = 2;
5117 (void)yyvsp[(1) - (2)].context;
5118 yyval.symbol = DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
5119 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5120 FreeSpecifier(yyvsp[(2) - (2)].specifier);
5121 ++defaultMemberAccess;
5122 memberAccessStack[defaultMemberAccess] = 2;
5128 (void)yyvsp[(2) - (3)].context;
5129 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
5130 FreeIdentifier(yyvsp[(1) - (3)].id);
5131 FreeIdentifier(yyvsp[(3) - (3)].id);
5132 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5133 yyval.symbol->isRemote = 1;
5134 memberAccessStack[++defaultMemberAccess] = 2;
5140 (void)yyvsp[(2) - (3)].context;
5141 yyval.symbol = DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
5142 FreeIdentifier(yyvsp[(1) - (3)].id);
5143 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5144 yyval.symbol->isRemote = 1;
5145 FreeSpecifier(yyvsp[(3) - (3)].specifier);
5146 memberAccessStack[++defaultMemberAccess] = 2;
5152 (void)yyvsp[(1) - (5)].context;
5153 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
5154 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5155 FreeIdentifier(yyvsp[(2) - (5)].id);
5156 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5157 memberAccessStack[++defaultMemberAccess] = 2;
5163 (void)yyvsp[(1) - (5)].context;
5164 yyval.symbol = DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
5165 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5166 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5167 FreeSpecifier(yyvsp[(2) - (5)].specifier);
5168 ++defaultMemberAccess;
5169 memberAccessStack[defaultMemberAccess] = 2;
5175 (void)yyvsp[(2) - (6)].context;
5176 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
5177 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5178 FreeIdentifier(yyvsp[(1) - (6)].id);
5179 FreeIdentifier(yyvsp[(3) - (6)].id);
5180 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5181 yyval.symbol->isRemote = 1;
5182 memberAccessStack[++defaultMemberAccess] = 2;
5188 (void)yyvsp[(2) - (6)].context;
5189 yyval.symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
5190 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5191 FreeIdentifier(yyvsp[(1) - (6)].id);
5192 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5193 yyval.symbol->isRemote = 1;
5194 FreeSpecifier(yyvsp[(3) - (6)].specifier);
5195 memberAccessStack[++defaultMemberAccess] = 2;
5201 yyval._class->loc = (yyloc);
5202 yyval._class = yyvsp[(1) - (2)]._class;
5208 yyval._class = yyvsp[(1) - (2)]._class;
5209 yyval._class->definitions = MkList();
5210 yyval._class->blockStart = (yylsp[(2) - (2)]);
5211 yyval._class->loc = (yyloc);
5212 if(defaultMemberAccess > -1)
5213 defaultMemberAccess--;
5214 PopContext(curContext);
5220 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5221 yyval._class->blockStart = (yylsp[(2) - (3)]);
5222 yyval._class->loc = (yyloc);
5223 if(defaultMemberAccess > -1)
5224 defaultMemberAccess--;
5225 PopContext(curContext);
5231 yyval._class = yyvsp[(1) - (3)]._class;
5232 yyval._class->definitions = MkList();
5233 yyval._class->blockStart = (yylsp[(2) - (3)]);
5234 yyval._class->loc = (yyloc);
5235 if(defaultMemberAccess > -1)
5236 defaultMemberAccess--;
5237 PopContext(curContext);
5243 (void)yyvsp[(1) - (3)].context;
5244 yyval._class = MkClass(DeclClassAddNameSpace(yyvsp[(2) - (3)].id->_class, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
5245 FreeIdentifier(yyvsp[(2) - (3)].id);
5246 if(defaultMemberAccess > -1)
5247 defaultMemberAccess--;
5248 PopContext(curContext);
5254 (void)yyvsp[(1) - (3)].context;
5255 yyval._class = MkClass(DeclClass(yyvsp[(2) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
5256 FreeSpecifier(yyvsp[(2) - (3)].specifier);
5257 if(defaultMemberAccess > -1)
5258 defaultMemberAccess--;
5259 PopContext(curContext);
5265 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, yyvsp[(3) - (3)].list, (((void *)0)));
5271 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5272 yyval._class->deleteWatchable = deleteWatchable;
5273 deleteWatchable = 0;
5274 yyval._class->blockStart = (yylsp[(2) - (3)]);
5275 yyval._class->loc = (yyloc);
5276 yyval._class->loc.end.charPos++;
5277 yyval._class->loc.end.pos++;
5278 if(defaultMemberAccess > -1)
5279 defaultMemberAccess--;
5280 PopContext(curContext);
5286 yyval._class = yyvsp[(1) - (3)]._class;
5287 yyval._class->definitions = yyvsp[(3) - (3)].list;
5288 yyval._class->deleteWatchable = deleteWatchable;
5289 deleteWatchable = 0;
5290 yyval._class->blockStart = (yylsp[(2) - (3)]);
5291 yyval._class->loc = (yyloc);
5292 yyval._class->loc.end.charPos++;
5293 yyval._class->loc.end.pos++;
5294 if(defaultMemberAccess > -1)
5295 defaultMemberAccess--;
5296 PopContext(curContext);
5302 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5303 yyval._class->deleteWatchable = deleteWatchable;
5304 deleteWatchable = 0;
5305 yyval._class->blockStart = (yylsp[(2) - (3)]);
5306 yyval._class->loc = (yyloc);
5307 yyval._class->loc.end.charPos++;
5308 yyval._class->loc.end.pos++;
5309 if(defaultMemberAccess > -1)
5310 defaultMemberAccess--;
5311 PopContext(curContext);
5317 yyval._class = yyvsp[(1) - (3)]._class;
5318 yyval._class->definitions = yyvsp[(3) - (3)].list;
5319 yyval._class->deleteWatchable = deleteWatchable;
5320 deleteWatchable = 0;
5321 yyval._class->blockStart = (yylsp[(2) - (3)]);
5322 yyval._class->loc = (yyloc);
5323 yyval._class->loc.end.charPos++;
5324 yyval._class->loc.end.pos++;
5325 if(defaultMemberAccess > -1)
5326 defaultMemberAccess--;
5327 PopContext(curContext);
5333 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5334 yyval._class->deleteWatchable = deleteWatchable;
5335 deleteWatchable = 0;
5336 yyval._class->blockStart = (yylsp[(2) - (3)]);
5337 yyval._class->loc = (yyloc);
5338 yyval._class->loc.end.charPos++;
5339 yyval._class->loc.end.pos++;
5340 if(defaultMemberAccess > -1)
5341 defaultMemberAccess--;
5342 PopContext(curContext);
5348 yyval._class = yyvsp[(1) - (3)]._class;
5349 yyval._class->definitions = MkList();
5350 yyval._class->deleteWatchable = deleteWatchable;
5351 deleteWatchable = 0;
5352 yyval._class->blockStart = (yylsp[(2) - (3)]);
5353 yyval._class->loc = (yyloc);
5354 yyval._class->loc.end.charPos++;
5355 yyval._class->loc.end.pos++;
5356 if(defaultMemberAccess > -1)
5357 defaultMemberAccess--;
5358 PopContext(curContext);
5364 yyval.id = MkIdentifier(yytext);
5365 yyval.id->loc = (yylsp[(1) - (1)]);
5371 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
5372 yyval.exp->loc = (yyloc);
5378 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
5379 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
5380 yyval.exp->loc = (yyloc);
5386 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
5387 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
5388 yyval.exp->loc = (yyloc);
5394 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
5395 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
5396 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
5397 yyval.exp->loc = (yyloc);
5403 yyval.exp = MkExpConstant(yytext);
5404 yyval.exp->loc = (yyloc);
5410 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
5411 yyval.exp->loc = (yyloc);
5417 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5418 yyval.exp->loc = (yyloc);
5424 yyval.exp = MkExpExtensionCompound(yyvsp[(3) - (4)].stmt);
5425 yyval.exp->loc = (yyloc);
5431 yyval.exp = MkExpExtensionExpression(yyvsp[(3) - (4)].list);
5432 yyval.exp->loc = (yyloc);
5438 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (5)].typeName, yyvsp[(5) - (5)].initializer);
5439 yyval.exp->loc = (yyloc);
5445 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (8)].typeName, MkInitializerAssignment(MkExpExtensionInitializer(yyvsp[(6) - (8)].typeName, yyvsp[(8) - (8)].initializer)));
5446 yyval.exp->loc = (yyloc);
5452 char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant;
5453 int len = strlen(constant);
5455 if(constant[len - 1] == '.')
5457 constant[len - 1] = 0;
5458 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
5459 yyval.exp->loc = (yyloc);
5468 yyval.exp = yyvsp[(1) - (1)].exp;
5474 yyval.exp = MkExpWideString(yytext);
5475 yyval.exp->loc = (yyloc);
5481 struct Expression * exp = MkExpDummy();
5483 exp->loc.start = (yylsp[(1) - (2)]).end;
5484 exp->loc.end = (yylsp[(2) - (2)]).start;
5485 yyval.exp = MkExpBrackets(MkListOne(exp));
5486 yyval.exp->loc = (yyloc);
5493 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5494 yyval.exp->loc = (yyloc);
5500 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5501 yyval.exp->loc = (yyloc);
5507 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5508 yyval.exp->loc = (yyloc);
5514 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5515 yyval.exp->loc = (yyloc);
5521 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5522 yyval.exp->loc = (yyloc);
5528 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5529 yyval.exp->loc = (yyloc);
5535 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5536 yyval.exp->loc = (yyloc);
5542 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5543 yyval.exp->loc = (yyloc);
5549 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5550 yyval.exp->loc = (yyloc);
5556 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5557 yyval.exp->loc = (yyloc);
5563 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5564 yyval.exp->loc = (yyloc);
5570 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5571 yyval.exp->loc = (yyloc);
5577 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5578 yyval.exp->loc = (yyloc);
5584 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5585 yyval.exp->loc = (yyloc);
5591 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5592 yyval.exp->loc = (yyloc);
5598 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5599 yyval.exp->loc = (yyloc);
5605 yyval.exp = MkExpClass(yyvsp[(3) - (4)].list, (((void *)0)));
5606 yyval.exp->loc = (yyloc);
5612 yyval.exp = MkExpClass(yyvsp[(3) - (5)].list, yyvsp[(4) - (5)].declarator);
5613 yyval.exp->loc = (yyloc);
5619 yyval.exp = MkExpClass(MkListOne(MkSpecifierName(yyvsp[(3) - (4)].id->string)), (((void *)0)));
5620 FreeIdentifier(yyvsp[(3) - (4)].id);
5621 yyval.exp->loc = (yyloc);
5627 yyval.exp = MkExpVaArg(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].typeName);
5628 yyval.exp->loc = (yyloc);
5634 yyval.exp = MkExpClassData(yyvsp[(3) - (4)].id);
5635 yyval.exp->loc = (yyloc);
5641 yyval.exp = MkExpArray(yyvsp[(2) - (3)].list);
5642 yyval.exp->loc = (yyloc);
5648 yyval.exp = MkExpArray((((void *)0)));
5649 yyval.exp->loc = (yyloc);
5655 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5656 yyval.exp->loc = (yyloc);
5662 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
5663 yyval.exp->loc = (yyloc);
5670 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5671 yyval.exp->loc = (yyloc);
5677 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5678 yyval.exp->loc = (yyloc);
5684 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5685 yyval.exp->loc = (yyloc);
5691 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5692 yyval.exp->loc = (yyloc);
5698 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5699 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5700 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5701 yyval.exp->loc = (yyloc);
5707 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5708 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5709 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5710 yyval.exp->loc = (yyloc);
5716 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5717 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5718 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5719 yyval.exp->loc = (yyloc);
5720 if((*yyvsp[(3) - (4)].list).last)
5721 ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start;
5727 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5728 yyval.exp->loc = (yyloc);
5734 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5735 yyval.exp->loc = (yyloc);
5741 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5742 yyval.exp->loc = (yyloc);
5748 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5749 yyval.exp->loc = (yyloc);
5755 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5756 yyval.exp->loc = (yyloc);
5762 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5763 yyval.exp->loc = (yyloc);
5769 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5770 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5771 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5772 yyval.exp->loc = (yyloc);
5778 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5779 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5780 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5781 yyval.exp->loc = (yyloc);
5787 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5788 yyval.exp->loc = (yyloc);
5794 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5795 yyval.exp->loc = (yyloc);
5801 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5802 yyval.exp->loc = (yyloc);
5808 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5809 yyval.exp->loc = (yyloc);
5815 yyval.list = MkList();
5816 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5822 yyval.list = MkList();
5823 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5829 yyval.list = yyvsp[(1) - (3)].list;
5830 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5836 yyval.list = yyvsp[(1) - (3)].list;
5837 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5843 yyval.list = MkList();
5844 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5850 yyval.list = MkList();
5851 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5857 yyval.list = yyvsp[(1) - (3)].list;
5858 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5864 yyval.list = yyvsp[(1) - (3)].list;
5865 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5871 struct Expression * exp = MkExpDummy();
5874 exp->loc.start = (yylsp[(2) - (2)]).end;
5875 exp->loc.end = (yylsp[(2) - (2)]).end;
5876 yyval.list = yyvsp[(1) - (2)].list;
5877 ListAdd(yyvsp[(1) - (2)].list, exp);
5883 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
5884 yyval.exp->loc = (yyloc);
5890 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
5891 yyval.exp->loc = (yyloc);
5897 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5898 yyval.exp->loc = (yyloc);
5904 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5905 yyval.exp->loc = (yyloc);
5911 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
5912 yyval.exp->loc = (yyloc);
5918 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
5919 yyval.exp->loc = (yyloc);
5925 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5926 yyval.exp->loc = (yyloc);
5932 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5933 yyval.exp->loc = (yyloc);
5939 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
5940 yyval.exp->loc = (yyloc);
5946 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
5947 yyval.exp->loc = (yyloc);
5953 yyval.exp = MkExpOffsetOf(yyvsp[(3) - (6)].typeName, yyvsp[(5) - (6)].id);
5954 yyval.exp->loc = (yyloc);
6008 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
6009 yyval.exp->loc = (yyloc);
6015 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6016 yyval.exp->loc = (yyloc);
6022 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6023 yyval.exp->loc = (yyloc);
6029 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6030 yyval.exp->loc = (yyloc);
6036 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6037 yyval.exp->loc = (yyloc);
6043 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6044 yyval.exp->loc = (yyloc);
6050 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6051 yyval.exp->loc = (yyloc);
6057 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6058 yyval.exp->loc = (yyloc);
6064 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6065 yyval.exp->loc = (yyloc);
6071 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6072 yyval.exp->loc = (yyloc);
6078 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6079 yyval.exp->loc = (yyloc);
6085 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6086 yyval.exp->loc = (yyloc);
6092 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6093 yyval.exp->loc = (yyloc);
6099 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6100 yyval.exp->loc = (yyloc);
6106 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6107 yyval.exp->loc = (yyloc);
6113 yyval.exp = yyvsp[(1) - (2)].exp;
6121 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6122 yyval.exp->loc = (yyloc);
6128 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6129 yyval.exp->loc = (yyloc);
6135 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6136 yyval.exp->loc = (yyloc);
6142 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6143 yyval.exp->loc = (yyloc);
6149 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6150 yyval.exp->loc = (yyloc);
6156 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6157 yyval.exp->loc = (yyloc);
6163 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6164 yyval.exp->loc = (yyloc);
6170 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6171 yyval.exp->loc = (yyloc);
6177 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6178 yyval.exp->loc = (yyloc);
6184 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6185 yyval.exp->loc = (yyloc);
6191 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6192 yyval.exp->loc = (yyloc);
6198 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6199 yyval.exp->loc = (yyloc);
6205 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6206 yyval.exp->loc = (yyloc);
6212 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6213 yyval.exp->loc = (yyloc);
6219 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6220 yyval.exp->loc = (yyloc);
6226 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6227 yyval.exp->loc = (yyloc);
6233 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6234 yyval.exp->loc = (yyloc);
6240 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6241 yyval.exp->loc = (yyloc);
6247 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6248 yyval.exp->loc = (yyloc);
6254 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6255 yyval.exp->loc = (yyloc);
6261 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6262 yyval.exp->loc = (yyloc);
6268 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6269 yyval.exp->loc = (yyloc);
6275 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6276 yyval.exp->loc = (yyloc);
6282 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6283 yyval.exp->loc = (yyloc);
6289 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6290 yyval.exp->loc = (yyloc);
6296 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6297 yyval.exp->loc = (yyloc);
6303 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6304 yyval.exp->loc = (yyloc);
6310 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6311 yyval.exp->loc = (yyloc);
6317 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6318 yyval.exp->loc = (yyloc);
6324 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6325 yyval.exp->loc = (yyloc);
6331 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6332 yyval.exp->loc = (yyloc);
6338 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6339 yyval.exp->loc = (yyloc);
6345 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6346 yyval.exp->loc = (yyloc);
6352 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6353 yyval.exp->loc = (yyloc);
6359 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6360 yyval.exp->loc = (yyloc);
6366 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6367 yyval.exp->loc = (yyloc);
6373 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6374 yyval.exp->loc = (yyloc);
6380 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6381 yyval.exp->loc = (yyloc);
6387 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6388 yyval.exp->loc = (yyloc);
6394 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6395 yyval.exp->loc = (yyloc);
6401 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6402 yyval.exp->loc = (yyloc);
6408 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6409 yyval.exp->loc = (yyloc);
6415 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6416 yyval.exp->loc = (yyloc);
6422 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6423 yyval.exp->loc = (yyloc);
6429 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6430 yyval.exp->loc = (yyloc);
6436 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6437 yyval.exp->loc = (yyloc);
6443 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6444 yyval.exp->loc = (yyloc);
6450 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6451 yyval.exp->loc = (yyloc);
6457 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6458 yyval.exp->loc = (yyloc);
6464 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6465 yyval.exp->loc = (yyloc);
6471 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6472 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6473 yyval.exp->loc = (yyloc);
6479 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6480 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6481 yyval.exp->loc = (yyloc);
6487 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6488 yyval.exp->loc = (yyloc);
6494 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6495 yyval.exp->loc = (yyloc);
6501 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6502 yyval.exp->loc = (yyloc);
6508 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6509 yyval.exp->loc = (yyloc);
6521 yyval.i = MUL_ASSIGN;
6527 yyval.i = DIV_ASSIGN;
6533 yyval.i = MOD_ASSIGN;
6539 yyval.i = ADD_ASSIGN;
6545 yyval.i = SUB_ASSIGN;
6551 yyval.i = LEFT_ASSIGN;
6557 yyval.i = RIGHT_ASSIGN;
6563 yyval.i = AND_ASSIGN;
6569 yyval.i = XOR_ASSIGN;
6575 yyval.i = OR_ASSIGN;
6581 yyval.list = MkList();
6582 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6588 yyval.list = yyvsp[(1) - (3)].list;
6589 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6595 yyval.list = yyvsp[(1) - (3)].list;
6596 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6602 yyval.list = MkList();
6603 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6609 yyval.list = yyvsp[(1) - (3)].list;
6610 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6616 yyval.list = yyvsp[(1) - (3)].list;
6617 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6623 yyval.exp = MkExpDummy();
6624 yyval.exp->loc = (yyloc);
6630 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
6631 yyval.exp->loc = (yyloc);
6637 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6638 yyval.exp->loc = (yyloc);
6644 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6645 yyval.exp->loc = (yyloc);
6652 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6653 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6654 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6655 yyval.exp->loc = (yyloc);
6656 yyval.exp->__anon1.call.argLoc.end.charPos++;
6662 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6663 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6664 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6665 yyval.exp->loc = (yyloc);
6666 yyval.exp->__anon1.call.argLoc.end.charPos++;
6672 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6673 yyval.exp->loc = (yyloc);
6679 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6680 yyval.exp->loc = (yyloc);
6681 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6682 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6683 yyval.exp->__anon1.call.argLoc.end.charPos++;
6689 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6690 yyval.exp->loc = (yyloc);
6696 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
6697 yyval.exp->loc = (yyloc);
6703 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
6704 yyval.exp->loc = (yyloc);
6710 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6711 yyval.exp->loc = (yyloc);
6717 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6718 yyval.exp->loc = (yyloc);
6724 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
6725 yyval.exp->loc = (yyloc);
6731 yyval.exp = MkExpTypeSize(yyvsp[(3) - (5)].typeName);
6732 yyval.exp->loc = (yyloc);
6738 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6739 yyval.exp->loc = (yyloc);
6745 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6746 yyval.exp->loc = (yyloc);
6752 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
6753 yyval.exp->loc = (yyloc);
6759 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (5)].typeName);
6760 yyval.exp->loc = (yyloc);
6766 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
6767 yyval.exp->loc = (yyloc);
6773 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6774 yyval.exp->loc = (yyloc);
6780 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6781 yyval.exp->loc = (yyloc);
6787 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6788 yyval.exp->loc = (yyloc);
6794 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6795 yyval.exp->loc = (yyloc);
6801 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6802 yyval.exp->loc = (yyloc);
6808 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6809 yyval.exp->loc = (yyloc);
6815 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6816 yyval.exp->loc = (yyloc);
6822 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6823 yyval.exp->loc = (yyloc);
6829 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6830 yyval.exp->loc = (yyloc);
6836 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6837 yyval.exp->loc = (yyloc);
6843 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6844 yyval.exp->loc = (yyloc);
6850 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6851 yyval.exp->loc = (yyloc);
6857 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6858 yyval.exp->loc = (yyloc);
6864 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6865 yyval.exp->loc = (yyloc);
6871 if(yyvsp[(1) - (2)].exp->type == 0)
6873 _DeclClass(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
6875 FreeExpression(yyvsp[(1) - (2)].exp);
6876 FreeExpression(yyvsp[(2) - (2)].exp);
6878 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
6880 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
6881 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
6883 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
6884 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
6885 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
6887 resetScannerPos(&(yylsp[(1) - (2)]).start);
6889 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6894 yy_stack_print((yyss), (yyssp));
6896 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6901 yy_stack_print((yyss), (yyssp));
6908 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6909 yyval.exp->loc = (yyloc);
6917 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6918 yyval.exp->loc = (yyloc);
6924 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6925 yyval.exp->loc = (yyloc);
6931 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6932 yyval.exp->loc = (yyloc);
6938 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6939 yyval.exp->loc = (yyloc);
6945 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6946 yyval.exp->loc = (yyloc);
6952 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6953 yyval.exp->loc = (yyloc);
6959 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6960 yyval.exp->loc = (yyloc);
6966 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6967 yyval.exp->loc = (yyloc);
6973 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6974 yyval.exp->loc = (yyloc);
6980 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6981 yyval.exp->loc = (yyloc);
6987 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6988 yyval.exp->loc = (yyloc);
6994 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6995 yyval.exp->loc = (yyloc);
7001 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
7002 yyval.exp->loc = (yyloc);
7008 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
7009 yyval.exp->loc = (yyloc);
7015 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
7016 yyval.exp->loc = (yyloc);
7022 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7023 yyval.exp->loc = (yyloc);
7029 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7030 yyval.exp->loc = (yyloc);
7036 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7037 yyval.exp->loc = (yyloc);
7043 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7044 yyval.exp->loc = (yyloc);
7050 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7051 yyval.exp->loc = (yyloc);
7057 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7058 yyval.exp->loc = (yyloc);
7064 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7065 yyval.exp->loc = (yyloc);
7071 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7072 yyval.exp->loc = (yyloc);
7078 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7079 yyval.exp->loc = (yyloc);
7085 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7086 yyval.exp->loc = (yyloc);
7092 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7093 yyval.exp->loc = (yyloc);
7099 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7100 yyval.exp->loc = (yyloc);
7106 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7107 yyval.exp->loc = (yyloc);
7113 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7114 yyval.exp->loc = (yyloc);
7120 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7121 yyval.exp->loc = (yyloc);
7127 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7128 yyval.exp->loc = (yyloc);
7134 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7135 yyval.exp->loc = (yyloc);
7141 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7142 yyval.exp->loc = (yyloc);
7148 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7149 yyval.exp->loc = (yyloc);
7155 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7156 yyval.exp->loc = (yyloc);
7162 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7163 yyval.exp->loc = (yyloc);
7164 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7170 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7171 yyval.exp->loc = (yyloc);
7172 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7178 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7179 yyval.exp->loc = (yyloc);
7180 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7186 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7187 yyval.exp->loc = (yyloc);
7188 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7194 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7195 yyval.exp->loc = (yyloc);
7201 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7202 yyval.exp->loc = (yyloc);
7208 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7209 yyval.exp->loc = (yyloc);
7215 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7216 yyval.exp->loc = (yyloc);
7222 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7223 yyval.exp->loc = (yyloc);
7224 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7230 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7231 yyval.exp->loc = (yyloc);
7232 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7238 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7239 yyval.exp->loc = (yyloc);
7240 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7246 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7247 yyval.exp->loc = (yyloc);
7248 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7254 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7255 yyval.exp->loc = (yyloc);
7261 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7262 yyval.exp->loc = (yyloc);
7268 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7269 yyval.exp->loc = (yyloc);
7275 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7276 yyval.exp->loc = (yyloc);
7282 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7283 yyval.exp->loc = (yyloc);
7289 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7290 yyval.exp->loc = (yyloc);
7296 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7297 yyval.exp->loc = (yyloc);
7303 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7304 yyval.exp->loc = (yyloc);
7311 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7312 yyval.exp->loc = (yyloc);
7313 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7314 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7320 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7321 yyval.exp->loc = (yyloc);
7322 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7323 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7330 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7331 yyval.exp->loc = (yyloc);
7332 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7333 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7339 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7340 yyval.exp->loc = (yyloc);
7341 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7342 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7348 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7349 yyval.exp->loc = (yyloc);
7355 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7356 yyval.exp->loc = (yyloc);
7362 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7363 yyval.exp->loc = (yyloc);
7369 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7370 yyval.exp->loc = (yyloc);
7376 yyval.list = MkList();
7377 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7383 yyval.list = MkList();
7384 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7390 yyval.list = yyvsp[(1) - (3)].list;
7391 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7397 yyval.list = yyvsp[(1) - (3)].list;
7398 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7405 yyval.list = yyvsp[(1) - (2)].list;
7406 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7412 yyval.list = yyvsp[(1) - (2)].list;
7413 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7419 yyval.list = yyvsp[(1) - (2)].list;
7420 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7426 yyval.list = MkList();
7427 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7433 yyval.list = MkList();
7434 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7440 yyval.list = yyvsp[(1) - (3)].list;
7441 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7447 yyval.list = yyvsp[(1) - (3)].list;
7448 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7454 yyval.specifier = MkSpecifier(TYPEDEF);
7460 yyval.specifier = MkSpecifier(EXTERN);
7466 yyval.specifier = MkSpecifier(STATIC);
7472 yyval.specifier = MkSpecifier(THREAD);
7478 yyval.specifier = MkSpecifier(AUTO);
7484 yyval.specifier = MkSpecifier(REGISTER);
7490 yyval.specifier = MkSpecifier(RESTRICT);
7496 yyval.specifier = MkSpecifier(TYPEDEF);
7497 structDeclMode = declMode = 0;
7503 yyval.specifier = MkSpecifier(EXTERN);
7509 yyval.specifier = MkSpecifier(STATIC);
7510 structDeclMode = declMode = 3;
7516 yyval.specifier = MkSpecifier(THREAD);
7522 yyval.specifier = MkSpecifier(AUTO);
7528 yyval.specifier = MkSpecifier(REGISTER);
7534 yyval.specifier = MkSpecifier(RESTRICT);
7540 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
7546 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7552 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7558 yyval.list = MkList();
7559 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
7565 yyval.list = yyvsp[(1) - (3)].list;
7566 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
7572 memberAccessStack[++defaultMemberAccess] = 1;
7578 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
7579 if(defaultMemberAccess > -1)
7580 defaultMemberAccess--;
7586 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
7587 if(defaultMemberAccess > -1)
7588 defaultMemberAccess--;
7594 yyval.specifier->loc = (yyloc);
7595 if(defaultMemberAccess > -1)
7596 defaultMemberAccess--;
7597 yyval.specifier = yyvsp[(1) - (2)].specifier;
7603 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7604 yyval.specifier->loc = (yyloc);
7605 if(defaultMemberAccess > -1)
7606 defaultMemberAccess--;
7612 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7613 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7614 yyval.specifier->loc = (yyloc);
7615 if(defaultMemberAccess > -1)
7616 defaultMemberAccess--;
7622 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7623 yyval.specifier->loc = (yyloc);
7624 if(defaultMemberAccess > -1)
7625 defaultMemberAccess--;
7631 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7632 yyval.specifier->loc = (yyloc);
7633 if(defaultMemberAccess > -1)
7634 defaultMemberAccess--;
7640 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].list);
7641 yyval.specifier->loc = (yyloc);
7642 if(defaultMemberAccess > -1)
7643 defaultMemberAccess--;
7649 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7650 yyval.specifier->loc = (yyloc);
7651 if(defaultMemberAccess > -1)
7652 defaultMemberAccess--;
7658 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7659 yyval.specifier->loc = (yyloc);
7660 if(defaultMemberAccess > -1)
7661 defaultMemberAccess--;
7667 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7668 yyval.specifier->loc = (yyloc);
7669 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7670 if(defaultMemberAccess > -1)
7671 defaultMemberAccess--;
7677 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7678 yyval.specifier->loc = (yyloc);
7679 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7680 if(defaultMemberAccess > -1)
7681 defaultMemberAccess--;
7687 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list);
7688 yyval.specifier->loc = (yyloc);
7689 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7690 if(defaultMemberAccess > -1)
7691 defaultMemberAccess--;
7697 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7698 yyval.specifier->loc = (yyloc);
7699 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7700 if(defaultMemberAccess > -1)
7701 defaultMemberAccess--;
7707 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7708 yyval.specifier->loc = (yyloc);
7709 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7710 if(defaultMemberAccess > -1)
7711 defaultMemberAccess--;
7717 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7718 yyval.specifier->loc = (yyloc);
7719 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7720 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7721 if(defaultMemberAccess > -1)
7722 defaultMemberAccess--;
7728 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7729 yyval.specifier->loc = (yyloc);
7730 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7731 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7732 if(defaultMemberAccess > -1)
7733 defaultMemberAccess--;
7739 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7740 yyval.specifier->loc = (yyloc);
7741 if(defaultMemberAccess > -1)
7742 defaultMemberAccess--;
7748 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7749 yyval.specifier->loc = (yyloc);
7750 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7751 if(defaultMemberAccess > -1)
7752 defaultMemberAccess--;
7758 yyval.id = yyvsp[(2) - (2)].id;
7760 DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
7766 yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7768 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7769 FreeSpecifier(yyvsp[(2) - (2)].specifier);
7775 yyval.specifier = yyvsp[(1) - (2)].specifier;
7776 yyval.specifier->loc = (yyloc);
7782 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7783 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7784 yyval.specifier->loc = (yyloc);
7785 if(defaultMemberAccess > -1)
7786 defaultMemberAccess--;
7792 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7793 if(defaultMemberAccess > -1)
7794 defaultMemberAccess--;
7800 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list);
7801 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7802 yyval.specifier->loc = (yyloc);
7803 if(defaultMemberAccess > -1)
7804 defaultMemberAccess--;
7810 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7811 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7812 yyval.specifier->loc = (yyloc);
7813 if(defaultMemberAccess > -1)
7814 defaultMemberAccess--;
7820 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7821 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7822 yyval.specifier->loc = (yyloc);
7823 if(defaultMemberAccess > -1)
7824 defaultMemberAccess--;
7830 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7831 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7832 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7833 yyval.specifier->loc = (yyloc);
7834 if(defaultMemberAccess > -1)
7835 defaultMemberAccess--;
7841 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7842 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7843 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7844 yyval.specifier->loc = (yyloc);
7845 if(defaultMemberAccess > -1)
7846 defaultMemberAccess--;
7852 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7853 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7854 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7855 yyval.specifier->loc = (yyloc);
7856 if(defaultMemberAccess > -1)
7857 defaultMemberAccess--;
7863 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7864 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7865 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7866 yyval.specifier->loc = (yyloc);
7867 if(defaultMemberAccess > -1)
7868 defaultMemberAccess--;
7874 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
7875 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7876 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7877 yyval.specifier->loc = (yyloc);
7878 if(defaultMemberAccess > -1)
7879 defaultMemberAccess--;
7885 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
7886 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7887 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7888 yyval.specifier->loc = (yyloc);
7889 if(defaultMemberAccess > -1)
7890 defaultMemberAccess--;
7896 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7897 yyval.specifier->loc = (yyloc);
7898 if(defaultMemberAccess > -1)
7899 defaultMemberAccess--;
7905 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7906 yyval.specifier->loc = (yyloc);
7907 if(defaultMemberAccess > -1)
7908 defaultMemberAccess--;
7914 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].list);
7915 yyval.specifier->loc = (yyloc);
7916 if(defaultMemberAccess > -1)
7917 defaultMemberAccess--;
7923 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7924 yyval.specifier->loc = (yyloc);
7925 if(defaultMemberAccess > -1)
7926 defaultMemberAccess--;
7932 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7933 yyval.specifier->loc = (yyloc);
7934 if(defaultMemberAccess > -1)
7935 defaultMemberAccess--;
7941 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7942 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7943 yyval.specifier->loc = (yyloc);
7944 if(defaultMemberAccess > -1)
7945 defaultMemberAccess--;
7951 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7952 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7953 yyval.specifier->loc = (yyloc);
7954 if(defaultMemberAccess > -1)
7955 defaultMemberAccess--;
7961 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7962 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7963 yyval.specifier->loc = (yyloc);
7964 if(defaultMemberAccess > -1)
7965 defaultMemberAccess--;
7971 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7972 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7973 yyval.specifier->loc = (yyloc);
7974 if(defaultMemberAccess > -1)
7975 defaultMemberAccess--;
7981 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0)));
7982 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7983 yyval.specifier->loc = (yyloc);
7984 if(defaultMemberAccess > -1)
7985 defaultMemberAccess--;
7991 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7992 yyval.specifier->loc = (yyloc);
7993 if(defaultMemberAccess > -1)
7994 defaultMemberAccess--;
8000 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
8006 yyval.specifier = MkSpecifier(CONST);
8012 yyval.specifier = MkSpecifier(VOLATILE);
8018 yyval.specifier = yyvsp[(1) - (1)].specifier;
8024 yyval.list = MkList();
8025 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8031 yyval.list = yyvsp[(1) - (2)].list;
8032 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8038 yyval.specifier = MkSpecifier(VOID);
8044 yyval.specifier = MkSpecifier(CHAR);
8050 yyval.specifier = MkSpecifier(SHORT);
8056 yyval.specifier = MkSpecifier(INT);
8062 yyval.specifier = MkSpecifier(UINT);
8068 yyval.specifier = MkSpecifier(INT64);
8074 yyval.specifier = MkSpecifier(VALIST);
8080 yyval.specifier = MkSpecifier(LONG);
8086 yyval.specifier = MkSpecifier(FLOAT);
8092 yyval.specifier = MkSpecifier(DOUBLE);
8098 yyval.specifier = MkSpecifier(SIGNED);
8104 yyval.specifier = MkSpecifier(UNSIGNED);
8110 yyval.specifier = MkSpecifier(EXTENSION);
8116 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8122 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8128 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8129 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8130 FreeIdentifier(yyvsp[(3) - (4)].id);
8136 yyval.specifier = MkSpecifier(THISCLASS);
8142 yyval.specifier = MkSpecifier(TYPED_OBJECT);
8148 yyval.specifier = MkSpecifier(ANY_OBJECT);
8154 yyval.specifier = MkSpecifier(_BOOL);
8160 yyval.specifier = MkSpecifier(BOOL);
8166 yyval.specifier = MkSpecifier(_COMPLEX);
8172 yyval.specifier = MkSpecifier(_IMAGINARY);
8178 yyval.specifier = MkSpecifier(VOID);
8184 yyval.specifier = MkSpecifier(CHAR);
8190 yyval.specifier = MkSpecifier(SHORT);
8196 yyval.specifier = MkSpecifier(INT);
8202 yyval.specifier = MkSpecifier(UINT);
8208 yyval.specifier = MkSpecifier(INT64);
8214 yyval.specifier = MkSpecifier(VALIST);
8220 yyval.specifier = MkSpecifier(LONG);
8226 yyval.specifier = MkSpecifier(FLOAT);
8232 yyval.specifier = MkSpecifier(DOUBLE);
8238 yyval.specifier = MkSpecifier(SIGNED);
8244 yyval.specifier = MkSpecifier(UNSIGNED);
8250 yyval.specifier = MkSpecifier(EXTENSION);
8256 yyval.specifier = MkSpecifier(_BOOL);
8262 yyval.specifier = MkSpecifier(BOOL);
8268 yyval.specifier = MkSpecifier(_COMPLEX);
8274 yyval.specifier = MkSpecifier(_IMAGINARY);
8280 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8286 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8292 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8293 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8294 FreeIdentifier(yyvsp[(3) - (4)].id);
8300 yyval.specifier = MkSpecifier(THISCLASS);
8306 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
8307 yyval.declarator->loc = (yyloc);
8313 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
8314 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
8315 yyval.declarator->loc = (yyloc);
8321 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8322 yyval.declarator->loc = (yyloc);
8328 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8329 yyval.declarator->loc = (yyloc);
8335 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8336 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8337 yyval.declarator->loc = (yyloc);
8343 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8344 yyval.declarator->loc = (yyloc);
8350 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8351 yyval.declarator->loc = (yyloc);
8357 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8358 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8359 yyval.declarator->loc = (yyloc);
8365 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8366 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8367 yyval.declarator->loc = (yyloc);
8373 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8374 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8375 yyval.declarator->loc = (yyloc);
8381 yyval.list = MkList();
8382 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
8388 yyval.list = yyvsp[(1) - (3)].list;
8389 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
8395 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
8396 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8397 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8403 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
8404 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8405 FreeSpecifier(yyvsp[(2) - (2)].specifier);
8411 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
8412 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8413 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8414 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8420 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
8421 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8422 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8423 FreeSpecifier(yyvsp[(3) - (3)].specifier);
8429 yyval.specifier = yyvsp[(1) - (2)].specifier;
8430 yyval.specifier->loc = (yyloc);
8436 yyval.specifier = yyvsp[(1) - (3)].specifier;
8437 yyval.specifier->loc = (yyloc);
8438 if(defaultMemberAccess > -1)
8439 defaultMemberAccess--;
8440 PopContext(curContext);
8446 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8447 yyval.specifier->loc = (yyloc);
8448 if(defaultMemberAccess > -1)
8449 defaultMemberAccess--;
8455 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8456 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8457 yyval.specifier->loc = (yyloc);
8458 if(defaultMemberAccess > -1)
8459 defaultMemberAccess--;
8465 yyval.specifier = yyvsp[(1) - (3)].specifier;
8466 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8467 if(defaultMemberAccess > -1)
8468 defaultMemberAccess--;
8469 PopContext(curContext);
8475 yyval.specifier = yyvsp[(1) - (3)].specifier;
8476 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8477 if(defaultMemberAccess > -1)
8478 defaultMemberAccess--;
8479 PopContext(curContext);
8485 yyval.specifier = yyvsp[(1) - (3)].specifier;
8486 if(defaultMemberAccess > -1)
8487 defaultMemberAccess--;
8488 PopContext(curContext);
8494 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8495 if(defaultMemberAccess > -1)
8496 defaultMemberAccess--;
8502 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8503 if(defaultMemberAccess > -1)
8504 defaultMemberAccess--;
8510 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8511 if(defaultMemberAccess > -1)
8512 defaultMemberAccess--;
8518 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8519 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8520 if(defaultMemberAccess > -1)
8521 defaultMemberAccess--;
8527 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8528 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8529 if(defaultMemberAccess > -1)
8530 defaultMemberAccess--;
8536 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8537 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8538 if(defaultMemberAccess > -1)
8539 defaultMemberAccess--;
8545 yyval.specifier = yyvsp[(1) - (1)].specifier;
8546 if(defaultMemberAccess > -1)
8547 defaultMemberAccess--;
8548 PopContext(curContext);
8554 yyval.specifier = yyvsp[(1) - (1)].specifier;
8557 (yyvsp[(1) - (1)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->_class, yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->string);
8564 struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->_class, yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->string);
8566 yyval.specifier = yyvsp[(1) - (4)].specifier;
8567 symbol->templateParams = yyvsp[(3) - (4)].list;
8573 yyval.specifier = yyvsp[(1) - (3)].specifier;
8574 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list;
8575 SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list);
8581 yyval.specifier = yyvsp[(1) - (2)].specifier;
8582 yyval.specifier->loc = (yyloc);
8588 yyval.specifier = yyvsp[(1) - (3)].specifier;
8589 if(defaultMemberAccess > -1)
8590 defaultMemberAccess--;
8591 PopContext(curContext);
8597 yyval.specifier = yyvsp[(1) - (3)].specifier;
8598 if(defaultMemberAccess > -1)
8599 defaultMemberAccess--;
8600 PopContext(curContext);
8606 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8607 if(defaultMemberAccess > -1)
8608 defaultMemberAccess--;
8614 yyval.specifier = yyvsp[(1) - (3)].specifier;
8615 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8616 if(defaultMemberAccess > -1)
8617 defaultMemberAccess--;
8618 PopContext(curContext);
8624 yyval.specifier = yyvsp[(1) - (3)].specifier;
8625 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8626 if(defaultMemberAccess > -1)
8627 defaultMemberAccess--;
8628 PopContext(curContext);
8634 yyval.specifier = yyvsp[(1) - (3)].specifier;
8635 if(defaultMemberAccess > -1)
8636 defaultMemberAccess--;
8637 PopContext(curContext);
8643 PopContext(curContext);
8646 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8647 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8648 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8651 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8652 if(defaultMemberAccess > -1)
8653 defaultMemberAccess--;
8659 PopContext(curContext);
8662 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8663 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8664 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8667 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8668 if(defaultMemberAccess > -1)
8669 defaultMemberAccess--;
8675 yyval.specifier = yyvsp[(1) - (3)].specifier;
8676 if(defaultMemberAccess > -1)
8677 defaultMemberAccess--;
8678 PopContext(curContext);
8684 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8685 if(defaultMemberAccess > -1)
8686 defaultMemberAccess--;
8692 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8693 if(defaultMemberAccess > -1)
8694 defaultMemberAccess--;
8700 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8701 if(defaultMemberAccess > -1)
8702 defaultMemberAccess--;
8708 yyval.specifierType = 3;
8709 memberAccessStack[++defaultMemberAccess] = 1;
8715 yyval.specifierType = 4;
8716 memberAccessStack[++defaultMemberAccess] = 1;
8722 yyval.list = MkList();
8723 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8729 yyval.list = yyvsp[(1) - (2)].list;
8730 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8736 yyval.list = MkList();
8737 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8743 yyval.list = yyvsp[(1) - (2)].list;
8744 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8750 yyval.list = MkList();
8751 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8757 yyval.list = yyvsp[(1) - (2)].list;
8758 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8764 yyval.list = MkList();
8765 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8771 yyval.list = yyvsp[(1) - (2)].list;
8772 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8778 yyval.list = MkList();
8779 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8785 yyval.list = yyvsp[(1) - (2)].list;
8786 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8792 yyval.list = MkList();
8793 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8799 yyval.list = yyvsp[(1) - (2)].list;
8800 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8806 yyval.list = MkList();
8807 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8813 yyval.list = yyvsp[(1) - (2)].list;
8814 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8820 yyval.list = MkList();
8821 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8827 yyval.list = yyvsp[(1) - (2)].list;
8828 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8834 yyval.list = MkList();
8835 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8841 yyval.list = yyvsp[(1) - (2)].list;
8842 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8848 yyval.list = MkList();
8849 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8855 yyval.list = yyvsp[(1) - (2)].list;
8856 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8862 yyval.list = MkList();
8863 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8869 yyval.list = yyvsp[(1) - (2)].list;
8870 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8876 yyval.list = MkList();
8877 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8883 yyval.list = yyvsp[(1) - (2)].list;
8884 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8890 yyval.list = MkList();
8891 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8897 yyval.list = yyvsp[(1) - (2)].list;
8898 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8904 yyval.list = MkList();
8905 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8911 yyval.list = yyvsp[(1) - (2)].list;
8912 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8918 yyval.list = MkList();
8919 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8925 yyval.list = yyvsp[(1) - (2)].list;
8926 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8932 yyval.list = MkList();
8933 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8939 yyval.list = yyvsp[(1) - (2)].list;
8940 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8946 yyval.list = MkList();
8947 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8953 yyval.list = yyvsp[(1) - (2)].list;
8954 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8960 yyval.list = MkList();
8961 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8967 yyval.list = yyvsp[(1) - (2)].list;
8968 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8974 yyval.list = MkList();
8975 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8981 yyval.list = yyvsp[(1) - (2)].list;
8982 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8988 yyval.list = MkList();
8989 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8995 yyval.list = yyvsp[(1) - (2)].list;
8996 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9002 yyval.list = MkList();
9003 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9009 yyval.list = yyvsp[(1) - (2)].list;
9010 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9016 yyval.list = MkList();
9017 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9023 yyval.list = yyvsp[(1) - (2)].list;
9024 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9030 yyval.list = MkList();
9031 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9037 yyval.list = yyvsp[(1) - (2)].list;
9038 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9044 yyval.list = MkList();
9045 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9051 yyval.list = yyvsp[(1) - (2)].list;
9052 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9058 yyval.list = MkList();
9059 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9065 yyval.list = yyvsp[(1) - (2)].list;
9066 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9072 yyval.list = MkList();
9073 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9079 yyval.list = yyvsp[(1) - (2)].list;
9080 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9086 yyval.list = MkList();
9087 ListAdd(yyval.list, MkSpecifier(PRIVATE));
9093 yyval.list = MkList();
9094 ListAdd(yyval.list, MkSpecifier(PUBLIC));
9100 yyval.list = MkList();
9101 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9107 yyval.list = yyvsp[(1) - (2)].list;
9108 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9114 yyval.list = MkList();
9115 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9121 yyval.list = yyvsp[(1) - (2)].list;
9122 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9128 yyval.list = MkList();
9129 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9135 yyval.list = yyvsp[(1) - (2)].list;
9136 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9142 _DeclClass(yyvsp[(1) - (1)].id->_class, yyvsp[(1) - (1)].id->string);
9143 yyval.list = MkListOne(MkSpecifierName(yyvsp[(1) - (1)].id->string));
9144 FreeIdentifier(yyvsp[(1) - (1)].id);
9150 yyval.list = yyvsp[(1) - (2)].list;
9151 _DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
9152 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9153 FreeIdentifier(yyvsp[(2) - (2)].id);
9159 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9160 yyval.list = MkList();
9161 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9162 FreeIdentifier(yyvsp[(1) - (4)].id);
9168 yyval.list = yyvsp[(1) - (5)].list;
9169 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9170 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9171 FreeIdentifier(yyvsp[(2) - (5)].id);
9177 yyval.list = MkListOne(MkStructOrUnion(yyvsp[(1) - (1)].specifierType, (((void *)0)), (((void *)0))));
9178 if(defaultMemberAccess > -1)
9179 defaultMemberAccess--;
9185 yyval.list = MkList();
9186 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9192 yyval.list = yyvsp[(1) - (2)].list;
9193 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9199 yyval.list = MkList();
9200 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9206 yyval.list = yyvsp[(1) - (2)].list;
9207 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9213 yyval.list = MkList();
9214 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9220 yyval.list = yyvsp[(1) - (2)].list;
9221 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9227 yyval.list = MkList();
9228 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9229 FreeIdentifier(yyvsp[(1) - (1)].id);
9234 yyval.list = yyvsp[(1) - (2)].list;
9235 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9236 FreeIdentifier(yyvsp[(2) - (2)].id);
9241 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9242 yyval.list = MkList();
9243 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9244 FreeIdentifier(yyvsp[(1) - (4)].id);
9250 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9251 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9252 FreeIdentifier(yyvsp[(2) - (5)].id);
9258 yyval.list = MkList();
9259 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9265 yyval.list = yyvsp[(1) - (2)].list;
9266 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9272 yyval.list = MkList();
9273 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9279 yyval.list = yyvsp[(1) - (2)].list;
9280 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9286 yyval.list = MkList();
9287 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9293 yyval.list = yyvsp[(1) - (2)].list;
9294 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9300 yyval.list = MkList();
9301 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9307 yyval.list = yyvsp[(1) - (2)].list;
9308 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9314 yyval.list = MkList();
9315 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9321 yyval.list = yyvsp[(1) - (2)].list;
9322 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9328 yyval.list = MkList();
9329 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9330 FreeIdentifier(yyvsp[(1) - (1)].id);
9335 yyval.list = yyvsp[(1) - (2)].list;
9336 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9337 FreeIdentifier(yyvsp[(2) - (2)].id);
9342 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9343 yyval.list = MkList();
9344 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9345 FreeIdentifier(yyvsp[(1) - (4)].id);
9351 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9352 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9353 FreeIdentifier(yyvsp[(2) - (5)].id);
9359 yyval.list = MkList();
9360 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9366 yyval.list = yyvsp[(1) - (2)].list;
9367 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9373 yyval.list = MkList();
9374 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9380 yyval.list = yyvsp[(1) - (2)].list;
9381 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9387 yyval.list = MkList();
9388 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9394 yyval.list = yyvsp[(1) - (2)].list;
9395 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9401 yyval.list = MkList();
9402 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9408 yyval.list = yyvsp[(1) - (2)].list;
9409 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9415 yyval.list = MkList();
9416 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9422 yyval.list = yyvsp[(1) - (2)].list;
9423 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9429 yyval.list = MkList();
9430 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9431 FreeIdentifier(yyvsp[(1) - (1)].id);
9436 yyval.list = yyvsp[(1) - (2)].list;
9437 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9438 FreeIdentifier(yyvsp[(2) - (2)].id);
9443 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9444 yyval.list = MkList();
9445 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9446 FreeIdentifier(yyvsp[(1) - (4)].id);
9452 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9453 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9454 FreeIdentifier(yyvsp[(2) - (5)].id);
9460 yyval.list = yyvsp[(1) - (3)].list;
9461 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9467 yyval.list = yyvsp[(1) - (3)].list;
9468 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9474 yyval.list = MkList();
9475 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
9481 yyval.list = yyvsp[(1) - (3)].list;
9482 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9488 yyval.list = yyvsp[(1) - (3)].list;
9489 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9495 yyval.list = yyvsp[(1) - (3)].list;
9496 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9502 yyval.list = yyvsp[(1) - (3)].list;
9503 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9509 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 1, 0);
9510 char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name;
9512 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
9513 FreeSpecifier(yyvsp[(1) - (1)].specifier);
9519 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier("uint"));
9525 struct Declarator * decl;
9526 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9527 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9529 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9530 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9531 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9537 struct Declarator * decl;
9538 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9539 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9541 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9542 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9543 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9549 struct Declarator * decl;
9550 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9551 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9553 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9554 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9555 yyval.declarator = MkDeclaratorEnumArray(decl, yyvsp[(3) - (4)].specifier);
9561 struct Declarator * decl;
9562 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
9563 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
9565 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9566 FreeSpecifier(yyvsp[(1) - (3)].specifier);
9567 yyval.declarator = MkDeclaratorEnumArray(decl, (((void *)0)));
9573 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9579 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9585 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9591 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9597 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
9603 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9609 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9615 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9621 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9627 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9633 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9639 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9645 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9651 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9657 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9663 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9669 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9675 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9681 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9683 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9685 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9686 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9688 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9689 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9690 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9693 resetScannerPos(&(yylsp[(1) - (2)]).end);
9694 (yyloc.start = (yylsp[(1) - (2)]).start);
9695 (yyloc.end = (yylsp[(1) - (2)]).end);
9701 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9703 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9705 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9706 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9708 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9709 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9710 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9713 resetScannerPos(&(yylsp[(1) - (2)]).end);
9714 (yyloc.start = (yylsp[(1) - (2)]).start);
9715 (yyloc.end = (yylsp[(1) - (2)]).end);
9721 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9723 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9725 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9726 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9728 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9729 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9730 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (3)]).end.pos, 0) : (unsigned int)1;
9733 resetScannerPos(&(yylsp[(1) - (3)]).end);
9734 (yyloc.start = (yylsp[(1) - (3)]).start);
9735 (yyloc.end = (yylsp[(1) - (3)]).end);
9741 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9743 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9745 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9746 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9748 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9749 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9750 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (4)]).end.pos, 0) : (unsigned int)1;
9753 resetScannerPos(&(yylsp[(1) - (4)]).end);
9754 (yyloc.start = (yylsp[(1) - (4)]).start);
9755 (yyloc.end = (yylsp[(1) - (4)]).end);
9756 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9757 FreeIdentifier(yyvsp[(3) - (4)].id);
9763 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9769 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9775 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9781 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9787 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9793 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9795 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9797 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9798 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9800 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9801 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9802 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9805 resetScannerPos(&(yylsp[(1) - (2)]).end);
9806 (yyloc.start = (yylsp[(1) - (2)]).start);
9807 (yyloc.end = (yylsp[(1) - (2)]).end);
9813 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9815 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9817 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9818 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9820 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9821 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9822 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9825 resetScannerPos(&(yylsp[(1) - (2)]).end);
9826 (yyloc.start = (yylsp[(1) - (2)]).start);
9827 (yyloc.end = (yylsp[(1) - (2)]).end);
9833 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9835 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9837 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9838 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9840 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9841 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9842 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (3)]).end.pos, 0) : (unsigned int)1;
9845 resetScannerPos(&(yylsp[(1) - (3)]).end);
9846 (yyloc.start = (yylsp[(1) - (3)]).start);
9847 (yyloc.end = (yylsp[(1) - (3)]).end);
9853 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9855 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9857 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9858 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9860 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9861 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9862 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (4)]).end.pos, 0) : (unsigned int)1;
9865 resetScannerPos(&(yylsp[(1) - (4)]).end);
9866 (yyloc.start = (yylsp[(1) - (4)]).start);
9867 (yyloc.end = (yylsp[(1) - (4)]).end);
9868 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9869 FreeIdentifier(yyvsp[(3) - (4)].id);
9875 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9881 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9887 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
9895 strcpy(temp, "__asm__(");
9896 strcat(temp, yyvsp[(3) - (4)].string);
9898 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(temp));
9899 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(3) - (4)].string), yyvsp[(3) - (4)].string = 0);
9911 yyval.i = ATTRIB_DEP;
9923 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9929 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9935 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9941 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9947 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9953 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
9954 yyval.attribute->loc = (yyloc);
9960 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
9961 yyval.attribute->loc = (yyloc);
9967 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
9973 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
9974 yyval.list = yyvsp[(1) - (2)].list;
9980 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
9981 yyval.list = yyvsp[(1) - (3)].list;
9987 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
9988 yyval.attrib->loc = (yyloc);
9994 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
9995 yyval.attrib->loc = (yyloc);
10001 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
10007 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
10013 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
10019 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
10025 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
10031 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
10037 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
10043 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
10049 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
10055 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
10061 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
10067 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10073 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10079 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10085 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10091 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10097 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
10103 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
10109 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
10115 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10121 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10127 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10133 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10139 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10145 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
10151 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
10157 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
10163 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
10169 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10175 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10181 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10187 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10193 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10199 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10205 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10211 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10217 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10223 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10229 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10235 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10241 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10247 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10253 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10259 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10265 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10271 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10277 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10283 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10289 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10295 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10301 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10307 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10313 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10319 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10325 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10331 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10337 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10343 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10349 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10350 yyval.initializer->loc = (yyloc);
10356 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10357 yyval.initializer->loc = (yyloc);
10363 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "extra comma\n", (((void *)0))));
10364 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10365 yyval.initializer->loc = (yyloc);
10367 struct Expression * exp = MkExpDummy();
10368 struct Initializer * init = MkInitializerAssignment(exp);
10370 init->loc = (yylsp[(3) - (4)]);
10371 exp->loc = (yylsp[(3) - (4)]);
10372 ListAdd(yyvsp[(2) - (4)].list, init);
10379 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10380 yyval.initializer->loc = (yyloc);
10386 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10387 yyval.initializer->loc = (yyloc);
10394 yyval.initializer = MkInitializerList(yyvsp[(2) - (2)].list);
10395 yyval.initializer->loc = (yyloc);
10401 yyval.initializer = MkInitializerList(yyvsp[(2) - (5)].list);
10402 yyval.initializer->loc = (yyloc);
10404 struct Expression * exp = MkExpDummy();
10405 struct Initializer * init = MkInitializerAssignment(exp);
10407 init->loc = (yylsp[(3) - (5)]);
10408 exp->loc = (yylsp[(3) - (5)]);
10409 ListAdd(yyvsp[(2) - (5)].list, init);
10417 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10418 yyval.initializer->loc = (yyloc);
10420 struct Expression * exp = MkExpDummy();
10421 struct Initializer * init = MkInitializerAssignment(exp);
10423 init->loc = (yylsp[(3) - (3)]);
10424 exp->loc = (yylsp[(3) - (3)]);
10425 ListAdd(yyvsp[(2) - (3)].list, init);
10432 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10433 yyval.initializer->loc = (yyloc);
10439 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10440 yyval.initializer->loc = (yyloc);
10446 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10447 yyval.initializer->loc = (yyloc);
10453 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10454 yyval.initializer->loc = (yyloc);
10460 yyval.list = MkList();
10461 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10467 yyval.list = MkList();
10468 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10474 yyval.list = yyvsp[(1) - (3)].list;
10475 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10481 yyval.list = yyvsp[(1) - (3)].list;
10482 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10489 yyval.list = yyvsp[(1) - (2)].list;
10490 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10496 yyval.list = yyvsp[(1) - (2)].list;
10497 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10503 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10504 yyval.initDeclarator->loc = (yyloc);
10510 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10511 yyval.initDeclarator->loc = (yyloc);
10517 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10518 yyval.initDeclarator->loc = (yyloc);
10519 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10525 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
10526 yyval.initDeclarator->loc = (yyloc);
10532 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10533 yyval.initDeclarator->loc = (yyloc);
10534 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10540 yyval.list = MkList();
10541 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10547 yyval.list = yyvsp[(1) - (3)].list;
10548 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10554 yyval.list = MkList();
10555 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), (((void *)0))));
10556 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10562 yyval.list = MkList();
10563 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), (((void *)0))));
10564 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10570 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
10571 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
10573 yyval.list = MkList();
10574 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
10575 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10576 FreeSpecifier(yyvsp[(1) - (3)].specifier);
10582 yyval.list = yyvsp[(1) - (3)].list;
10583 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10589 yyval.list = MkList();
10590 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10596 yyval.list = MkList();
10597 ListAdd(yyval.list, yyvsp[(1) - (2)].initDeclarator);
10603 yyval.list = yyvsp[(1) - (3)].list;
10604 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10610 yyval.list = yyvsp[(1) - (3)].list;
10611 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10617 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10623 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10629 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10635 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10641 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10647 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10653 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
10659 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
10665 yyval.typeName = MkTypeNameGuessDecl(yyvsp[(1) - (1)].list, (((void *)0)));
10671 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
10677 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10683 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10689 yyval.list = MkList();
10690 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10696 yyval.list = yyvsp[(1) - (3)].list;
10697 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10703 yyval.list = yyvsp[(1) - (4)].list;
10704 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10710 yyval.list = yyvsp[(1) - (3)].list;
10711 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10717 yyval.list = yyvsp[(1) - (4)].list;
10718 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10724 yyval.list = MkList();
10725 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10726 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10732 yyval.list = yyvsp[(1) - (3)].list;
10733 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10739 yyval.list = yyvsp[(1) - (4)].list;
10740 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10746 yyval.list = yyvsp[(1) - (3)].list;
10747 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10753 yyval.list = yyvsp[(1) - (4)].list;
10754 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10760 yyval.list = MkList();
10761 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10767 yyval.list = yyvsp[(1) - (3)].list;
10768 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10774 yyval.list = yyvsp[(1) - (3)].list;
10775 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10781 yyval.list = yyvsp[(1) - (4)].list;
10782 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10788 yyval.list = MkList();
10789 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10790 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10796 yyval.list = yyvsp[(1) - (3)].list;
10797 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10803 yyval.list = yyvsp[(1) - (3)].list;
10804 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10810 yyval.list = yyvsp[(1) - (4)].list;
10811 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10817 yyval.list = yyvsp[(1) - (3)].list;
10818 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10824 yyval.list = yyvsp[(1) - (3)].list;
10825 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10831 yyval.list = yyvsp[(1) - (3)].list;
10832 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10838 yyval.list = yyvsp[(1) - (3)].list;
10839 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10845 yyval.list = MkList();
10846 ListAdd(yyval.list, MkTypeName((((void *)0)), (((void *)0))));
10852 yyval.list = yyvsp[(1) - (3)].list;
10853 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
10859 yyval.stmt = MkExpressionStmt((((void *)0)));
10860 FreeAttrib(yyvsp[(1) - (1)].attrib);
10866 yyval.stmt = MkExpressionStmt((((void *)0)));
10872 yyval.stmt = MkExpressionStmt((((void *)0)));
10878 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
10879 yyval.stmt->loc = (yyloc);
10885 yyval.stmt = yyvsp[(1) - (1)].stmt;
10886 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10892 yyval.stmt = yyvsp[(1) - (1)].stmt;
10893 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10899 yyval.stmt = yyvsp[(1) - (1)].stmt;
10900 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10906 yyval.stmt = yyvsp[(1) - (1)].stmt;
10907 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10913 yyval.stmt = yyvsp[(1) - (1)].stmt;
10914 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10920 yyval.stmt = yyvsp[(1) - (2)].stmt;
10921 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10927 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (1)].list);
10928 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10929 yyval.stmt->loc = (yylsp[(1) - (1)]);
10935 yyval.asmField = MkAsmField(yyvsp[(1) - (1)].string, (((void *)0)), (((void *)0)));
10936 yyval.asmField->loc = (yylsp[(1) - (1)]);
10942 yyval.asmField = MkAsmField(yyvsp[(1) - (4)].string, yyvsp[(3) - (4)].exp, (((void *)0)));
10943 yyval.asmField->loc = (yyloc);
10949 yyval.asmField = MkAsmField(yyvsp[(4) - (7)].string, yyvsp[(6) - (7)].exp, yyvsp[(2) - (7)].id);
10950 yyval.asmField->loc = (yyloc);
10956 yyval.list = MkListOne(yyvsp[(1) - (1)].asmField);
10962 ListAdd(yyval.list, yyvsp[(3) - (3)].asmField);
10968 yyval.list = (((void *)0));
10974 yyval.stmt = MkAsmStmt(yyvsp[(2) - (6)].specifier, yyvsp[(4) - (6)].string, (((void *)0)), (((void *)0)), (((void *)0)));
10975 yyval.stmt->loc = (yyloc);
10981 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, yyvsp[(6) - (8)].list, (((void *)0)), (((void *)0)));
10982 yyval.stmt->loc = (yyloc);
10988 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list, (((void *)0)));
10989 yyval.stmt->loc = (yyloc);
10995 yyval.stmt = MkAsmStmt(yyvsp[(2) - (12)].specifier, yyvsp[(4) - (12)].string, yyvsp[(6) - (12)].list, yyvsp[(8) - (12)].list, yyvsp[(10) - (12)].list);
10996 yyval.stmt->loc = (yyloc);
11002 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, (((void *)0)), yyvsp[(6) - (8)].list, (((void *)0)));
11003 yyval.stmt->loc = (yyloc);
11009 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, (((void *)0)), yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list);
11010 yyval.stmt->loc = (yyloc);
11016 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, (((void *)0)), yyvsp[(8) - (10)].list);
11017 yyval.stmt->loc = (yyloc);
11023 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (5)].string, (((void *)0)), (((void *)0)), (((void *)0)));
11024 yyval.stmt->loc = (yyloc);
11030 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, yyvsp[(5) - (7)].list, (((void *)0)), (((void *)0)));
11031 yyval.stmt->loc = (yyloc);
11037 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, (((void *)0)));
11038 yyval.stmt->loc = (yyloc);
11044 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (11)].string, yyvsp[(5) - (11)].list, yyvsp[(7) - (11)].list, yyvsp[(9) - (11)].list);
11045 yyval.stmt->loc = (yyloc);
11051 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, (((void *)0)), yyvsp[(5) - (7)].list, (((void *)0)));
11052 yyval.stmt->loc = (yyloc);
11058 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, (((void *)0)), yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list);
11059 yyval.stmt->loc = (yyloc);
11065 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, (((void *)0)), yyvsp[(7) - (9)].list);
11066 yyval.stmt->loc = (yyloc);
11072 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11073 yyval.stmt->loc = (yyloc);
11079 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11080 yyval.stmt->loc = (yyloc);
11081 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11087 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11088 yyval.stmt->loc = (yyloc);
11089 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11095 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11096 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11097 yyval.stmt->loc = (yyloc);
11098 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11104 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11105 yyval.stmt->loc = (yyloc);
11111 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11113 stmt->loc = (yylsp[(3) - (3)]);
11114 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11115 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11116 yyval.stmt->loc = (yyloc);
11122 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11124 stmt->loc = (yylsp[(4) - (4)]);
11125 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11126 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11127 yyval.stmt->loc = (yyloc);
11128 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11134 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11136 stmt->loc = (yylsp[(4) - (4)]);
11137 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11138 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11139 yyval.stmt->loc = (yyloc);
11140 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11146 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11148 stmt->loc = (yylsp[(3) - (3)]);
11149 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11150 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11151 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11152 yyval.stmt->loc = (yyloc);
11153 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11159 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11161 stmt->loc = (yylsp[(3) - (3)]);
11162 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11163 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11164 yyval.stmt->loc = (yyloc);
11170 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11171 yyval.stmt->loc = (yyloc);
11177 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11178 yyval.stmt->loc = (yyloc);
11179 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11185 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11186 yyval.stmt->loc = (yyloc);
11187 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11193 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11194 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11195 yyval.stmt->loc = (yyloc);
11196 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11202 yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0)));
11203 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]);
11204 yyval.stmt->loc = (yyloc);
11205 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
11211 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11212 yyval.stmt->loc = (yyloc);
11218 yyval.stmt = MkCaseStmt((((void *)0)), (((void *)0)));
11219 yyval.stmt->loc = (yyloc);
11225 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11227 stmt->loc = (yylsp[(3) - (3)]);
11228 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11229 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11230 yyval.stmt->loc = (yyloc);
11236 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11238 stmt->loc = (yylsp[(4) - (4)]);
11239 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11240 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11241 yyval.stmt->loc = (yyloc);
11242 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11248 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11250 stmt->loc = (yylsp[(4) - (4)]);
11251 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11252 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11253 yyval.stmt->loc = (yyloc);
11254 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11260 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11262 stmt->loc = (yylsp[(3) - (3)]);
11263 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11264 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11265 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11266 yyval.stmt->loc = (yyloc);
11267 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11273 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11275 stmt->loc = (yylsp[(3) - (3)]);
11276 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11277 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11278 yyval.stmt->loc = (yyloc);
11284 yyval.declMode = structDeclMode = declMode = 1;
11290 yyval.declMode = structDeclMode = declMode = 2;
11296 yyval.declMode = structDeclMode = declMode = 0;
11302 yyval.declMode = 1;
11308 yyval.declMode = 2;
11314 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11315 yyval.declaration->loc = (yyloc);
11316 structDeclMode = defaultDeclMode;
11322 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11323 yyval.declaration->loc = (yyloc);
11324 structDeclMode = defaultDeclMode;
11330 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11331 yyval.declaration->loc = (yyloc);
11332 structDeclMode = defaultDeclMode;
11338 yyval.declaration = yyvsp[(1) - (2)].declaration;
11339 structDeclMode = defaultDeclMode;
11345 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11346 yyval.declaration->loc = (yyloc);
11352 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11353 yyval.declaration->loc = (yyloc);
11359 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11360 yyval.declaration->loc = (yyloc);
11366 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11367 yyval.declaration->loc = (yyloc);
11373 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
11374 yyval.declaration->loc = (yyloc);
11380 structDeclMode = declMode = 3;
11381 yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp);
11382 yyval.declaration->loc = (yyloc);
11388 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11389 yyval.declaration->loc = (yyloc);
11396 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11397 yyval.declaration->loc = (yyloc);
11398 structDeclMode = defaultDeclMode;
11404 structDeclMode = defaultDeclMode;
11410 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11411 yyval.declaration->loc = (yyloc);
11412 structDeclMode = defaultDeclMode;
11418 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11419 yyval.declaration->loc = (yyloc);
11420 structDeclMode = defaultDeclMode;
11426 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11427 yyval.declaration->loc = (yyloc);
11428 structDeclMode = defaultDeclMode;
11434 yyval.list = MkList();
11435 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11441 yyval.list = yyvsp[(1) - (2)].list;
11442 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11448 yyval.list = yyvsp[(1) - (2)].list;
11449 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11455 yyval.list = yyvsp[(1) - (3)].list;
11461 yyval.list = MkList();
11462 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11468 yyval.list = yyvsp[(1) - (2)].list;
11469 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11475 yyval.list = MkList();
11476 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11482 yyval.list = yyvsp[(1) - (2)].list;
11483 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11489 yyval.list = yyvsp[(1) - (2)].list;
11490 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11496 yyval.list = MkList();
11497 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11503 yyval.list = yyvsp[(1) - (2)].list;
11504 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11510 yyval.list = yyvsp[(1) - (2)].list;
11511 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11517 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11519 stmt->loc = (yylsp[(2) - (2)]);
11520 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11521 yyval.list = yyvsp[(1) - (2)].list;
11522 ListAdd(yyvsp[(1) - (2)].list, stmt);
11528 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11530 stmt->loc = (yylsp[(2) - (2)]);
11531 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11532 yyval.list = yyvsp[(1) - (2)].list;
11533 ListAdd(yyvsp[(1) - (2)].list, stmt);
11539 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11541 stmt->loc = (yylsp[(2) - (2)]);
11542 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11543 yyval.list = yyvsp[(1) - (2)].list;
11544 ListAdd(yyvsp[(1) - (2)].list, stmt);
11550 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11552 stmt->loc = (yylsp[(2) - (2)]);
11553 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11554 yyval.list = yyvsp[(1) - (2)].list;
11555 ListAdd(yyvsp[(1) - (2)].list, stmt);
11561 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11567 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11573 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11579 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11585 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11591 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11597 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11603 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11609 yyval.context = PushContext();
11615 yyval.stmt = yyvsp[(1) - (2)].stmt;
11616 yyval.stmt->loc = (yyloc);
11622 yyval.stmt = yyvsp[(2) - (2)].stmt;
11623 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11624 PopContext(yyvsp[(1) - (2)].context);
11625 yyval.stmt->loc = (yyloc);
11626 yyval.stmt->loc.end.charPos++;
11627 yyval.stmt->loc.end.pos++;
11633 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
11634 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context;
11635 PopContext(yyvsp[(1) - (1)].context);
11636 yyval.stmt->loc = (yyloc);
11637 yyval.stmt->loc.end.charPos++;
11638 yyval.stmt->loc.end.pos++;
11644 yyval.stmt = yyvsp[(2) - (2)].stmt;
11645 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11646 PopContext(yyvsp[(1) - (2)].context);
11647 yyval.stmt->loc = (yyloc);
11648 yyval.stmt->loc.end.charPos++;
11649 yyval.stmt->loc.end.pos++;
11655 yyval.stmt = MkExpressionStmt((((void *)0)));
11656 yyval.stmt->loc = (yyloc);
11662 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11663 yyval.stmt->loc = (yyloc);
11669 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11670 yyval.stmt->loc = (yyloc);
11676 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11677 yyval.stmt->loc = (yyloc);
11683 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11684 yyval.stmt->loc = (yyloc);
11690 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11691 yyval.stmt->loc = (yyloc);
11697 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11698 yyval.stmt->loc = (yyloc);
11704 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11705 yyval.stmt->loc = (yyloc);
11711 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11712 yyval.stmt->loc = (yyloc);
11718 yyval.stmt = MkIfStmt(yyvsp[(3) - (3)].list, (((void *)0)), (((void *)0)));
11719 yyval.stmt->loc = (yyloc);
11725 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11726 yyval.stmt->loc = (yyloc);
11732 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11733 yyval.stmt->loc = (yyloc);
11740 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
11741 yyval.stmt->loc = (yyloc);
11747 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
11748 yyval.stmt->loc = (yyloc);
11754 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11755 yyval.stmt->loc = (yyloc);
11761 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11762 yyval.stmt->loc = (yyloc);
11769 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
11770 yyval.stmt->loc = (yyloc);
11776 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11777 yyval.stmt->loc = (yyloc);
11783 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11784 yyval.stmt->loc = (yyloc);
11791 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
11792 yyval.stmt->loc = (yyloc);
11798 yyval.stmt = MkForEachStmt(yyvsp[(3) - (7)].id, yyvsp[(5) - (7)].list, (((void *)0)), yyvsp[(7) - (7)].stmt);
11799 yyval.stmt->loc = (yyloc);
11805 yyval.stmt = MkForEachStmt(yyvsp[(3) - (9)].id, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, yyvsp[(9) - (9)].stmt);
11806 yyval.stmt->loc = (yyloc);
11812 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
11813 yyval.stmt->loc = (yyloc);
11819 yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0)));
11820 yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]);
11821 yyval.stmt->loc = (yyloc);
11827 yyval.stmt = MkForStmt(yyvsp[(3) - (4)].stmt, (((void *)0)), (((void *)0)), (((void *)0)));
11828 yyval.stmt->loc = (yyloc);
11834 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0)));
11835 yyval.stmt->loc = (yyloc);
11836 yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]);
11842 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, yyvsp[(4) - (5)].stmt, yyvsp[(5) - (5)].list, (((void *)0)));
11843 yyval.stmt->loc = (yyloc);
11849 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11850 yyval.stmt->loc = (yyloc);
11856 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11857 yyval.stmt->loc = (yyloc);
11863 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11864 yyval.stmt->loc = (yyloc);
11871 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11872 yyval.stmt->loc = (yyloc);
11879 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11880 yyval.stmt->loc = (yyloc);
11886 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11887 yyval.stmt->loc = (yyloc);
11893 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (4)].stmt, (((void *)0)));
11894 yyval.stmt->loc = (yyloc);
11901 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (3)].stmt, (((void *)0)));
11902 yyval.stmt->loc = (yyloc);
11909 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (2)].stmt, (((void *)0)));
11910 yyval.stmt->loc = (yyloc);
11917 yyval.stmt = MkDoWhileStmt((((void *)0)), (((void *)0)));
11918 yyval.stmt->loc = (yyloc);
11924 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11925 yyval.stmt->loc = (yyloc);
11931 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11932 yyval.stmt->loc = (yyloc);
11938 yyval.stmt = MkWhileStmt(yyvsp[(3) - (3)].list, (((void *)0)));
11939 yyval.stmt->loc = (yyloc);
11945 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11946 yyval.stmt->loc = (yyloc);
11952 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11953 yyval.stmt->loc = (yyloc);
11959 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
11960 yyval.stmt->loc = (yyloc);
11966 yyval.stmt = MkContinueStmt();
11967 yyval.stmt->loc = (yyloc);
11973 yyval.stmt = MkBreakStmt();
11974 yyval.stmt->loc = (yyloc);
11980 struct Expression * exp = MkExpDummy();
11982 yyval.stmt = MkReturnStmt(MkListOne(exp));
11983 yyval.stmt->loc = (yyloc);
11984 exp->loc = (yylsp[(2) - (2)]);
11990 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
11991 yyval.stmt->loc = (yyloc);
11997 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
11998 yyval.stmt->loc = (yyloc);
12004 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
12005 yyval.stmt->loc = (yyloc);
12011 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
12012 yyval.stmt->loc = (yyloc);
12018 yyval.stmt = MkReturnStmt(yyvsp[(2) - (2)].list);
12019 yyval.stmt->loc = (yyloc);
12025 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (2)].exp));
12026 yyval.stmt->loc = (yyloc);
12032 struct Expression * exp = MkExpDummy();
12034 yyval.stmt = MkReturnStmt(MkListOne(exp));
12035 yyval.stmt->loc = (yyloc);
12036 exp->loc.start = exp->loc.end = (yylsp[(1) - (1)]).end;
12042 yyval.stmt = MkGotoStmt((((void *)0)));
12043 yyval.stmt->loc = (yyloc);
12049 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12050 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12051 yyval.function->loc = (yyloc);
12057 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12058 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12059 yyval.function->loc = (yyloc);
12065 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12066 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12067 yyval.function->loc = (yyloc);
12073 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12074 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12075 yyval.function->loc = (yyloc);
12081 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12082 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12083 yyval.function->loc = (yyloc);
12089 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12090 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12091 yyval.function->loc = (yyloc);
12097 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12098 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12099 yyval.function->loc = (yyloc);
12100 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12106 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12107 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12108 yyval.function->loc = (yyloc);
12109 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12115 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12116 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12117 yyval.function->loc = (yyloc);
12118 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12124 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12125 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12126 yyval.function->loc = (yyloc);
12127 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12133 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12134 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12135 yyval.function->loc = (yyloc);
12136 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12142 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12143 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12144 yyval.function->loc = (yyloc);
12145 yyval.function->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
12151 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
12157 int len1 = strlen(yyvsp[(1) - (2)].string);
12158 int len2 = strlen(yytext);
12160 yyval.string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len1 - 1 + len2 - 1 + 1));
12161 memcpy(yyval.string, yyvsp[(1) - (2)].string, len1 - 1);
12162 memcpy(yyval.string + len1 - 1, yytext + 1, len2);
12163 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (2)].string), yyvsp[(1) - (2)].string = 0);
12169 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12170 yyval.external->loc = (yyloc);
12171 yyvsp[(1) - (1)].function->declMode = declMode;
12172 structDeclMode = declMode = defaultDeclMode;
12178 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12179 yyval.external->loc = (yyloc);
12180 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12181 structDeclMode = declMode = defaultDeclMode;
12187 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12188 yyval.external->loc = (yyloc);
12189 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12190 structDeclMode = declMode = defaultDeclMode;
12191 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12197 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12198 yyval.external->loc = (yyloc);
12199 yyvsp[(1) - (1)].declaration->declMode = declMode;
12200 structDeclMode = declMode = defaultDeclMode;
12206 yyval.external = MkExternalImport(yyvsp[(2) - (2)].string, 0, (declMode != 0) ? declMode : 2);
12207 yyval.external->loc = (yyloc);
12213 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 1, (declMode != 0) ? declMode : 2);
12214 yyval.external->loc = (yyloc);
12220 unsigned int isRemote = !strcmp(yyvsp[(2) - (3)].id->string, "remote");
12222 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, isRemote ? 2 : 0, (declMode != 0) ? declMode : 2);
12223 yyval.external->loc = (yyloc);
12224 FreeIdentifier(yyvsp[(2) - (3)].id);
12232 yyval.external = (((void *)0));
12238 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12239 yyval.external->loc = (yyloc);
12240 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12241 structDeclMode = declMode = defaultDeclMode;
12247 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12248 yyval.external->loc = (yyloc);
12249 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12250 structDeclMode = declMode = defaultDeclMode;
12256 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12257 yyval.external->loc = (yyloc);
12258 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12259 structDeclMode = declMode = defaultDeclMode;
12265 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2);
12266 yyval.external->loc = (yyloc);
12267 structDeclMode = declMode = defaultDeclMode;
12273 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12274 yyval.external->loc = (yyloc);
12275 structDeclMode = declMode = defaultDeclMode;
12281 unsigned int isRemote = !strcmp(yyvsp[(3) - (4)].id->string, "remote");
12283 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12284 yyval.external->loc = (yyloc);
12285 FreeIdentifier(yyvsp[(3) - (4)].id);
12286 structDeclMode = declMode = defaultDeclMode;
12294 defaultDeclMode = yyvsp[(1) - (2)].declMode;
12295 yyval.external = (((void *)0));
12301 defaultDeclMode = 3;
12302 yyval.external = (((void *)0));
12308 yyval.external = MkExternalNameSpace(yyvsp[(2) - (2)].id);
12309 yyval.external->loc = (yyloc);
12315 yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name));
12316 FreeSpecifier(yyvsp[(2) - (2)].specifier);
12317 yyval.external->loc = (yyloc);
12323 yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef);
12324 yyval.external->loc = (yyloc);
12325 yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2;
12326 structDeclMode = declMode = defaultDeclMode;
12332 yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef);
12333 yyval.external->loc = (yyloc);
12334 yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2;
12335 structDeclMode = declMode = defaultDeclMode;
12342 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12343 yyval.external->loc = yyvsp[(1) - (1)]._class->loc;
12344 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12345 structDeclMode = declMode = defaultDeclMode;
12352 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12353 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12354 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12355 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12356 structDeclMode = declMode = defaultDeclMode;
12363 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12364 yyval.external->loc = yyvsp[(1) - (1)].function->loc;
12365 yyvsp[(1) - (1)].function->declMode = declMode;
12366 structDeclMode = declMode = defaultDeclMode;
12373 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12374 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12375 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12376 structDeclMode = declMode = defaultDeclMode;
12383 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12384 yyval.external->loc = yyvsp[(2) - (2)].function->loc;
12385 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12386 structDeclMode = declMode = defaultDeclMode;
12393 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12394 yyval.external->loc = (yyloc);
12395 yyvsp[(1) - (1)].declaration->declMode = declMode;
12396 structDeclMode = declMode = defaultDeclMode;
12403 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12404 yyval.external->loc = (yyloc);
12405 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12406 structDeclMode = declMode = defaultDeclMode;
12412 yyval.list = MkList();
12413 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12420 yyval.list = yyvsp[(1) - (2)].list;
12421 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12427 yyval.list = yyvsp[(1) - (2)].list;
12428 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12434 yyval.list = MkList();
12435 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12442 yyval.list = yyvsp[(1) - (2)].list;
12443 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12449 struct External * _class = MkExternalClass(yyvsp[(2) - (2)]._class);
12451 yyval.list = yyvsp[(1) - (2)].list;
12452 ListAdd(yyvsp[(1) - (2)].list, _class);
12453 _class->loc = (yylsp[(2) - (2)]);
12454 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12455 structDeclMode = declMode = defaultDeclMode;
12461 struct External * _class = MkExternalClass(yyvsp[(3) - (3)]._class);
12463 yyval.list = yyvsp[(1) - (3)].list;
12464 ListAdd(yyvsp[(1) - (3)].list, _class);
12465 _class->loc = (yylsp[(3) - (3)]);
12466 yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2;
12467 structDeclMode = declMode = defaultDeclMode;
12479 struct Symbol * symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
12481 FreeIdentifier(yyvsp[(3) - (6)].id);
12482 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12488 struct Symbol * symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
12490 FreeSpecifier(yyvsp[(3) - (6)].specifier);
12491 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12497 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (5)].string, (((void *)0)), yyvsp[(4) - (5)].list);
12503 yyval.dbtableEntry = MkDBFieldEntry(MkTypeName(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(2) - (4)].id, yyvsp[(3) - (4)].string);
12509 yyval.dbindexItem = MkDBIndexItem(yyvsp[(1) - (1)].id, 0);
12515 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 1);
12521 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 0);
12527 yyval.list = MkList();
12528 ListAdd(yyval.list, yyvsp[(1) - (1)].dbindexItem);
12534 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].dbindexItem);
12540 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (3)].list, (((void *)0)));
12546 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].id);
12552 yyval.list = MkList();
12553 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12559 yyval.list = MkList();
12560 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12566 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12572 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12578 yyval.exp = MkExpDBOpen(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].exp);
12584 yyval.exp = MkExpDBField(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12590 yyval.exp = MkExpDBIndex(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12596 yyval.exp = MkExpDBTable(yyvsp[(3) - (4)].string);
12607 fprintf((bsl_stderr()), "%s ", "-> $$ =");
12608 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
12609 fprintf((bsl_stderr()), "\n");
12612 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12617 yy_stack_print((yyss), (yyssp));
12622 yystate = yypgoto[yyn - 145] + *yyssp;
12623 if(0 <= yystate && yystate <= 42445 && yycheck[yystate] == *yyssp)
12624 yystate = yytable[yystate];
12626 yystate = yydefgoto[yyn - 145];
12632 yyerror("syntax error");
12634 yyerror_range[0] = yylloc;
12635 if(yyerrstatus == 3)
12644 yydestruct("Error: discarding", yytoken, &yylval, &yylloc);
12652 yyerror_range[0] = yylsp[1 - yylen];
12653 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12658 yy_stack_print((yyss), (yyssp));
12666 yyn = yypact[yystate];
12670 if(0 <= yyn && yyn <= 42445 && yycheck[yyn] == 1)
12672 yyn = yytable[yyn];
12679 yyerror_range[0] = *yylsp;
12680 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
12681 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
12686 yy_stack_print((yyss), (yyssp));
12690 yyerror_range[1] = yylloc;
12691 (yyloc.start = ((yyerror_range - 1))[1].start);
12692 (yyloc.end = ((yyerror_range - 1))[2].end);
12699 fprintf((bsl_stderr()), "%s ", "Shifting");
12700 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
12701 fprintf((bsl_stderr()), "\n");
12713 yyerror("memory exhausted");
12717 yydestruct("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc);
12718 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12722 yy_stack_print((yyss), (yyssp));
12724 while(yyssp != yyss)
12726 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
12727 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));