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 needTemplateCast;
905 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
907 extern struct PropertyWatch * MkPropertyWatch(struct __ecereNameSpace__ecere__sys__OldList * properties, struct Statement * compound);
909 extern struct PropertyWatch * MkDeleteWatch(struct Statement * compound);
911 extern struct Statement * MkWatchStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
913 extern struct Statement * MkStopWatchingStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
915 extern struct Statement * MkFireWatchersStmt(struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
917 extern struct Expression * MkExpExtensionCompound(struct Statement * compound);
919 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
921 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);
923 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
925 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
927 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
929 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
931 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
933 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
935 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
937 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
939 extern struct Statement * MkForEachStmt(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * exp, struct __ecereNameSpace__ecere__sys__OldList * filter, struct Statement * statement);
941 extern struct Statement * MkGotoStmt(struct Identifier * id);
943 extern struct Statement * MkContinueStmt(void);
945 extern struct Statement * MkBreakStmt(void);
947 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
951 extern void FreeDeclaration(struct Declaration * decl);
955 struct Statement * prev;
956 struct Statement * next;
961 struct __ecereNameSpace__ecere__sys__OldList * expressions;
964 struct Identifier * id;
965 struct Statement * stmt;
966 } ecere_gcc_struct labeled;
969 struct Expression * exp;
970 struct Statement * stmt;
971 } ecere_gcc_struct caseStmt;
974 struct __ecereNameSpace__ecere__sys__OldList * declarations;
975 struct __ecereNameSpace__ecere__sys__OldList * statements;
976 struct Context * context;
977 unsigned int isSwitch;
978 } ecere_gcc_struct compound;
981 struct __ecereNameSpace__ecere__sys__OldList * exp;
982 struct Statement * stmt;
983 struct Statement * elseStmt;
984 } ecere_gcc_struct ifStmt;
987 struct __ecereNameSpace__ecere__sys__OldList * exp;
988 struct Statement * stmt;
989 } ecere_gcc_struct switchStmt;
992 struct __ecereNameSpace__ecere__sys__OldList * exp;
993 struct Statement * stmt;
994 } ecere_gcc_struct whileStmt;
997 struct __ecereNameSpace__ecere__sys__OldList * exp;
998 struct Statement * stmt;
999 } ecere_gcc_struct doWhile;
1002 struct Statement * init;
1003 struct Statement * check;
1004 struct __ecereNameSpace__ecere__sys__OldList * increment;
1005 struct Statement * stmt;
1006 } ecere_gcc_struct forStmt;
1009 struct Identifier * id;
1010 } ecere_gcc_struct gotoStmt;
1013 struct Specifier * spec;
1015 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
1016 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
1017 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
1018 } ecere_gcc_struct asmStmt;
1021 struct Expression * watcher;
1022 struct Expression * object;
1023 struct __ecereNameSpace__ecere__sys__OldList * watches;
1024 } ecere_gcc_struct _watch;
1027 struct Identifier * id;
1028 struct __ecereNameSpace__ecere__sys__OldList * exp;
1029 struct __ecereNameSpace__ecere__sys__OldList * filter;
1030 struct Statement * stmt;
1031 } ecere_gcc_struct forEachStmt;
1032 struct Declaration * decl;
1033 } ecere_gcc_struct __anon1;
1038 struct ClassDef * prev;
1039 struct ClassDef * next;
1040 struct Location loc;
1044 struct Declaration * decl;
1045 struct ClassFunction * function;
1046 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1047 struct PropertyDef * propertyDef;
1048 struct PropertyWatch * propertyWatch;
1050 struct Identifier * defaultProperty;
1053 struct Identifier * id;
1054 struct Initializer * initializer;
1055 } ecere_gcc_struct __anon1;
1056 } ecere_gcc_struct __anon1;
1061 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
1063 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
1065 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1067 extern struct ClassDef * MkClassDefClassData(struct Declaration * decl);
1069 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
1071 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
1073 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1075 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
1077 struct FunctionDefinition;
1079 extern void FreeFunction(struct FunctionDefinition * func);
1081 extern struct FunctionDefinition * MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList);
1083 extern void ProcessFunctionBody(struct FunctionDefinition * func, struct Statement * body);
1087 extern void FreeExternal(struct External * external);
1089 extern struct External * MkExternalFunction(struct FunctionDefinition * function);
1091 extern struct External * MkExternalClass(struct ClassDefinition * _class);
1093 extern struct External * MkExternalDeclaration(struct Declaration * declaration);
1095 extern struct External * MkExternalImport(char * name, int importType, int importAccess);
1097 extern struct External * MkExternalNameSpace(struct Identifier * identifier);
1101 extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name);
1105 struct Identifier * prev;
1106 struct Identifier * next;
1107 struct Location loc;
1108 struct Symbol * classSym;
1109 struct Specifier * _class;
1111 struct Identifier * badID;
1116 struct Specifier * prev;
1117 struct Specifier * next;
1118 struct Location loc;
1125 struct ExtDecl * extDecl;
1127 struct Symbol * symbol;
1128 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
1129 struct Specifier * nsSpec;
1130 } ecere_gcc_struct __anon1;
1133 struct Identifier * id;
1134 struct __ecereNameSpace__ecere__sys__OldList * list;
1135 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1136 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1137 unsigned int addNameSpace;
1138 struct Context * ctx;
1139 struct ExtDecl * extDeclStruct;
1140 } ecere_gcc_struct __anon2;
1141 struct Expression * expression;
1142 struct Specifier * _class;
1143 struct TemplateParameter * templateParameter;
1144 } ecere_gcc_struct __anon1;
1147 struct ClassFunction
1149 struct ClassFunction * prev;
1150 struct ClassFunction * next;
1151 struct Location loc;
1152 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1153 struct Declarator * declarator;
1154 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1155 struct Statement * body;
1156 struct __ecereNameSpace__ecere__com__Class * _class;
1157 struct __ecereNameSpace__ecere__sys__OldList attached;
1160 struct Symbol * propSet;
1161 unsigned int isVirtual;
1162 unsigned int isConstructor;
1163 unsigned int isDestructor;
1164 unsigned int dontMangle;
1171 struct Declarator * prev;
1172 struct Declarator * next;
1173 struct Location loc;
1175 struct Symbol * symbol;
1176 struct Declarator * declarator;
1179 struct Identifier * identifier;
1182 struct Expression * exp;
1183 struct Expression * posExp;
1184 struct Attrib * attrib;
1185 } ecere_gcc_struct structDecl;
1188 struct Expression * exp;
1189 struct Specifier * enumClass;
1190 } ecere_gcc_struct array;
1193 struct __ecereNameSpace__ecere__sys__OldList * parameters;
1194 } ecere_gcc_struct function;
1197 struct Pointer * pointer;
1198 } ecere_gcc_struct pointer;
1201 struct ExtDecl * extended;
1202 } ecere_gcc_struct extended;
1203 } ecere_gcc_struct __anon1;
1206 struct Instantiation
1208 struct Instantiation * prev;
1209 struct Instantiation * next;
1210 struct Location loc;
1211 struct Specifier * _class;
1212 struct Expression * exp;
1213 struct __ecereNameSpace__ecere__sys__OldList * members;
1214 struct Symbol * symbol;
1215 unsigned int fullSet;
1216 unsigned int isConstant;
1217 unsigned char * data;
1218 struct Location nameLoc;
1219 struct Location insideLoc;
1225 struct PropertyDef * prev;
1226 struct PropertyDef * next;
1227 struct Location loc;
1228 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1229 struct Declarator * declarator;
1230 struct Identifier * id;
1231 struct Statement * getStmt;
1232 struct Statement * setStmt;
1233 struct Statement * issetStmt;
1234 struct Symbol * symbol;
1235 struct Expression * category;
1238 unsigned int conversion : 1;
1239 unsigned int isWatchable : 1;
1240 unsigned int isDBProp : 1;
1241 } ecere_gcc_struct __anon1;
1246 struct Declaration * prev;
1247 struct Declaration * next;
1248 struct Location loc;
1254 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1255 struct __ecereNameSpace__ecere__sys__OldList * declarators;
1256 } ecere_gcc_struct __anon1;
1257 struct Instantiation * inst;
1260 struct Identifier * id;
1261 struct Expression * exp;
1262 } ecere_gcc_struct __anon2;
1263 } ecere_gcc_struct __anon1;
1264 struct Specifier * extStorage;
1265 struct Symbol * symbol;
1269 extern struct Symbol * DeclClassAddNameSpace(struct Specifier * _class, const char * className);
1271 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
1273 struct ClassDefinition
1275 struct ClassDefinition * prev;
1276 struct ClassDefinition * next;
1277 struct Location loc;
1278 struct Specifier * _class;
1279 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1280 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1281 struct Symbol * symbol;
1282 struct Location blockStart;
1283 struct Location nameLoc;
1285 unsigned int deleteWatchable;
1288 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1290 extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs);
1292 struct FunctionDefinition
1294 struct FunctionDefinition * prev;
1295 struct FunctionDefinition * next;
1296 struct Location loc;
1297 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1298 struct Declarator * declarator;
1299 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1300 struct Statement * body;
1301 struct __ecereNameSpace__ecere__com__Class * _class;
1302 struct __ecereNameSpace__ecere__sys__OldList attached;
1305 struct Symbol * propSet;
1307 unsigned int propertyNoThis;
1313 struct Symbol * symbol;
1314 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1320 struct External * prev;
1321 struct External * next;
1322 struct Location loc;
1324 struct Symbol * symbol;
1327 struct FunctionDefinition * function;
1328 struct ClassDefinition * _class;
1329 struct Declaration * declaration;
1330 char * importString;
1331 struct Identifier * id;
1332 struct DBTableDef * table;
1333 } ecere_gcc_struct __anon1;
1335 struct External * fwdDecl;
1336 struct __ecereNameSpace__ecere__com__Instance * outgoing;
1337 struct __ecereNameSpace__ecere__com__Instance * incoming;
1338 int nonBreakableIncoming;
1341 extern struct External * MkExternalDBTable(struct DBTableDef * table);
1343 extern struct DBTableDef * MkDBTableDef(char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1345 struct __ecereNameSpace__ecere__sys__BinaryTree;
1347 struct __ecereNameSpace__ecere__sys__BinaryTree
1349 struct __ecereNameSpace__ecere__sys__BTNode * root;
1351 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1352 void (* FreeKey)(void * key);
1355 struct __ecereNameSpace__ecere__com__Method;
1357 struct __ecereNameSpace__ecere__com__Method
1360 struct __ecereNameSpace__ecere__com__Method * parent;
1361 struct __ecereNameSpace__ecere__com__Method * left;
1362 struct __ecereNameSpace__ecere__com__Method * right;
1367 struct __ecereNameSpace__ecere__com__Class * _class;
1369 const char * dataTypeString;
1370 struct Type * dataType;
1377 struct Symbol * parent;
1378 struct Symbol * left;
1379 struct Symbol * right;
1384 struct __ecereNameSpace__ecere__com__Method * method;
1385 struct __ecereNameSpace__ecere__com__Property * _property;
1386 struct __ecereNameSpace__ecere__com__Class * registered;
1387 } ecere_gcc_struct __anon1;
1388 unsigned int notYetDeclared;
1393 struct External * pointerExternal;
1394 struct External * structExternal;
1395 } ecere_gcc_struct __anon1;
1398 struct External * externalGet;
1399 struct External * externalSet;
1400 struct External * externalPtr;
1401 struct External * externalIsSet;
1402 } ecere_gcc_struct __anon2;
1405 struct External * methodExternal;
1406 struct External * methodCodeExternal;
1407 } ecere_gcc_struct __anon3;
1408 } ecere_gcc_struct __anon2;
1409 unsigned int imported;
1410 unsigned int declaredStructSym;
1411 struct __ecereNameSpace__ecere__com__Class * _class;
1412 unsigned int declaredStruct;
1413 unsigned int needConstructor;
1414 unsigned int needDestructor;
1415 char * constructorName;
1418 char * destructorName;
1419 struct ModuleImport * module;
1420 struct ClassImport * _import;
1421 struct Location nameLoc;
1422 unsigned int isParam;
1423 unsigned int isRemote;
1424 unsigned int isStruct;
1425 unsigned int fireWatchersDone;
1427 unsigned int classData;
1428 unsigned int isStatic;
1430 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
1431 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
1432 struct Context * ctx;
1434 struct Expression * propCategory;
1435 unsigned int mustRegister;
1440 typedef union YYSTYPE
1445 struct Identifier * id;
1446 struct Expression * exp;
1447 struct Specifier * specifier;
1448 struct __ecereNameSpace__ecere__sys__OldList * list;
1449 struct Enumerator * enumerator;
1450 struct Declarator * declarator;
1451 struct Pointer * pointer;
1452 struct Initializer * initializer;
1453 struct InitDeclarator * initDeclarator;
1454 struct TypeName * typeName;
1455 struct Declaration * declaration;
1456 struct Statement * stmt;
1457 struct FunctionDefinition * function;
1458 struct External * external;
1459 struct Context * context;
1460 struct AsmField * asmField;
1461 struct Attrib * attrib;
1462 struct ExtDecl * extDecl;
1463 struct Attribute * attribute;
1464 struct Instantiation * instance;
1465 struct MembersInit * membersInit;
1466 struct MemberInit * memberInit;
1467 struct ClassFunction * classFunction;
1468 struct ClassDefinition * _class;
1469 struct ClassDef * classDef;
1470 struct PropertyDef * prop;
1472 struct Symbol * symbol;
1473 struct PropertyWatch * propertyWatch;
1474 struct TemplateParameter * templateParameter;
1475 struct TemplateArgument * templateArgument;
1476 struct TemplateDatatype * templateDatatype;
1477 struct DBTableEntry * dbtableEntry;
1478 struct DBIndexItem * dbindexItem;
1479 struct DBTableDef * dbtableDef;
1480 } ecere_gcc_struct YYSTYPE;
1482 extern YYSTYPE yylval;
1486 yytype_int16 yyss_alloc;
1488 struct Location yyls_alloc;
1491 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1495 ((void)(yylocationp));
1506 extern struct AsmField * MkAsmField(char * command, struct Expression * expression, struct Identifier * symbolic);
1510 struct AsmField * prev;
1511 struct AsmField * next;
1512 struct Location loc;
1514 struct Expression * expression;
1515 struct Identifier * symbolic;
1518 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1521 fprintf(yyoutput, "token %s (", yytname[yytype]);
1523 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1525 fprintf(yyoutput, ": ");
1526 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1527 fprintf(yyoutput, ")");
1530 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1532 int yynrhs = yyr2[yyrule];
1534 unsigned long int yylno = yyrline[yyrule];
1536 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1537 for(yyi = 0; yyi < yynrhs; yyi++)
1539 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1540 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1541 fprintf((bsl_stderr()), "\n");
1545 struct __ecereNameSpace__ecere__com__NameSpace;
1547 struct __ecereNameSpace__ecere__com__NameSpace
1550 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
1551 struct __ecereNameSpace__ecere__com__NameSpace * left;
1552 struct __ecereNameSpace__ecere__com__NameSpace * right;
1554 struct __ecereNameSpace__ecere__com__NameSpace * parent;
1555 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1556 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1557 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1558 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1561 struct __ecereNameSpace__ecere__com__Application
1564 const char * * argv;
1566 unsigned int isGUIApp;
1567 struct __ecereNameSpace__ecere__sys__OldList allModules;
1568 char * parsedCommand;
1569 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1572 struct __ecereNameSpace__ecere__com__DataMember;
1574 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1580 const char * dataTypeString;
1581 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1582 } ecere_gcc_struct __anon1;
1583 struct __ecereNameSpace__ecere__com__DataValue expression;
1586 const char * memberString;
1589 struct __ecereNameSpace__ecere__com__DataMember * member;
1590 struct __ecereNameSpace__ecere__com__Property * prop;
1591 struct __ecereNameSpace__ecere__com__Method * method;
1592 } ecere_gcc_struct __anon1;
1593 } ecere_gcc_struct __anon2;
1594 } ecere_gcc_struct __anon1;
1597 struct __ecereNameSpace__ecere__com__DataMember
1599 struct __ecereNameSpace__ecere__com__DataMember * prev;
1600 struct __ecereNameSpace__ecere__com__DataMember * next;
1602 unsigned int isProperty;
1605 struct __ecereNameSpace__ecere__com__Class * _class;
1606 const char * dataTypeString;
1607 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1608 struct Type * dataType;
1612 struct __ecereNameSpace__ecere__sys__OldList members;
1613 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1615 short structAlignment;
1616 short pointerAlignment;
1619 struct __ecereNameSpace__ecere__com__Module;
1621 struct __ecereNameSpace__ecere__com__Module
1623 struct __ecereNameSpace__ecere__com__Instance * application;
1624 struct __ecereNameSpace__ecere__sys__OldList classes;
1625 struct __ecereNameSpace__ecere__sys__OldList defines;
1626 struct __ecereNameSpace__ecere__sys__OldList functions;
1627 struct __ecereNameSpace__ecere__sys__OldList modules;
1628 struct __ecereNameSpace__ecere__com__Instance * prev;
1629 struct __ecereNameSpace__ecere__com__Instance * next;
1635 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1636 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1639 struct __ecereNameSpace__ecere__com__Class
1641 struct __ecereNameSpace__ecere__com__Class * prev;
1642 struct __ecereNameSpace__ecere__com__Class * next;
1648 unsigned int (* Constructor)(void * );
1649 void (* Destructor)(void * );
1652 struct __ecereNameSpace__ecere__com__Class * base;
1653 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1654 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1655 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1656 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1657 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1658 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1662 struct __ecereNameSpace__ecere__com__Instance * module;
1663 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
1664 const char * dataTypeString;
1665 struct Type * dataType;
1667 int defaultAlignment;
1668 void (* Initialize)();
1670 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1671 const char * designerClass;
1672 unsigned int noExpansion;
1673 const char * defaultProperty;
1674 unsigned int comRedefinition;
1677 unsigned int internalDecl;
1679 unsigned int computeSize;
1680 short structAlignment;
1681 short pointerAlignment;
1682 int destructionWatchOffset;
1684 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1685 int inheritanceAccess;
1686 const char * fullName;
1688 struct __ecereNameSpace__ecere__sys__OldList conversions;
1689 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1690 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1691 struct __ecereNameSpace__ecere__com__Class * templateClass;
1692 struct __ecereNameSpace__ecere__sys__OldList templatized;
1694 unsigned int isInstanceClass;
1695 unsigned int byValueSystemClass;
1698 void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1700 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1704 void __ecereUnregisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1709 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1711 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1713 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1716 ((void)(yylocationp));
1723 fprintf((bsl_stderr()), "%s ", yymsg);
1724 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1725 fprintf((bsl_stderr()), "\n");
1732 FreeSpecifier((*yyvaluep).specifier);
1738 FreeSpecifier((*yyvaluep).specifier);
1744 FreeSpecifier((*yyvaluep).specifier);
1750 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1756 FreeSpecifier((*yyvaluep).specifier);
1762 FreeClassFunction((*yyvaluep).classFunction);
1768 FreeClassFunction((*yyvaluep).classFunction);
1774 FreeClassFunction((*yyvaluep).classFunction);
1780 FreeClassFunction((*yyvaluep).classFunction);
1786 FreeClassFunction((*yyvaluep).classFunction);
1792 FreeClassFunction((*yyvaluep).classFunction);
1798 FreeClassFunction((*yyvaluep).classFunction);
1804 FreeClassFunction((*yyvaluep).classFunction);
1810 FreeClassFunction((*yyvaluep).classFunction);
1816 FreeClassFunction((*yyvaluep).classFunction);
1822 FreeClassFunction((*yyvaluep).classFunction);
1828 FreeClassFunction((*yyvaluep).classFunction);
1834 FreeMemberInit((*yyvaluep).memberInit);
1840 FreeMemberInit((*yyvaluep).memberInit);
1846 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1852 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1858 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1864 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1870 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1876 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1882 FreeInstance((*yyvaluep).instance);
1888 FreeInstance((*yyvaluep).instance);
1894 FreeInstance((*yyvaluep).instance);
1900 FreeInstance((*yyvaluep).instance);
1906 FreeMemberInit((*yyvaluep).memberInit);
1912 FreeMemberInit((*yyvaluep).memberInit);
1918 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1924 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1930 FreeProperty((*yyvaluep).prop);
1936 FreeClassDef((*yyvaluep).classDef);
1942 FreeClassDef((*yyvaluep).classDef);
1948 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1954 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1960 FreeTemplateDataType((*yyvaluep).templateDatatype);
1966 FreeTemplateArgument((*yyvaluep).templateArgument);
1972 FreeTemplateParameter((*yyvaluep).templateParameter);
1978 FreeTemplateArgument((*yyvaluep).templateArgument);
1984 FreeTemplateParameter((*yyvaluep).templateParameter);
1990 FreeTemplateArgument((*yyvaluep).templateArgument);
1996 FreeTemplateParameter((*yyvaluep).templateParameter);
2002 FreeTemplateParameter((*yyvaluep).templateParameter);
2008 FreeList((*yyvaluep).list, (void *)(FreeTemplateParameter));
2014 FreeTemplateArgument((*yyvaluep).templateArgument);
2020 FreeList((*yyvaluep).list, (void *)(FreeTemplateArgument));
2026 struct Context * ctx = curContext;
2030 ((ctx ? __extension__ ({
2031 void * __ecerePtrToDelete = (ctx);
2033 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2040 struct Context * ctx = curContext;
2044 ((ctx ? __extension__ ({
2045 void * __ecerePtrToDelete = (ctx);
2047 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2054 FreeClass((*yyvaluep)._class);
2060 FreeClass((*yyvaluep)._class);
2066 FreeClass((*yyvaluep)._class);
2072 FreeIdentifier((*yyvaluep).id);
2078 FreeExpression((*yyvaluep).exp);
2084 FreeExpression((*yyvaluep).exp);
2090 FreeExpression((*yyvaluep).exp);
2096 FreeExpression((*yyvaluep).exp);
2102 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2108 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2114 FreeExpression((*yyvaluep).exp);
2120 FreeExpression((*yyvaluep).exp);
2126 FreeExpression((*yyvaluep).exp);
2132 FreeExpression((*yyvaluep).exp);
2138 FreeExpression((*yyvaluep).exp);
2144 FreeExpression((*yyvaluep).exp);
2150 FreeExpression((*yyvaluep).exp);
2156 FreeExpression((*yyvaluep).exp);
2162 FreeExpression((*yyvaluep).exp);
2168 FreeExpression((*yyvaluep).exp);
2174 FreeExpression((*yyvaluep).exp);
2180 FreeExpression((*yyvaluep).exp);
2186 FreeExpression((*yyvaluep).exp);
2192 FreeExpression((*yyvaluep).exp);
2198 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2204 FreeExpression((*yyvaluep).exp);
2210 FreeExpression((*yyvaluep).exp);
2216 FreeExpression((*yyvaluep).exp);
2222 FreeExpression((*yyvaluep).exp);
2228 FreeExpression((*yyvaluep).exp);
2234 FreeExpression((*yyvaluep).exp);
2240 FreeExpression((*yyvaluep).exp);
2246 FreeExpression((*yyvaluep).exp);
2252 FreeExpression((*yyvaluep).exp);
2258 FreeExpression((*yyvaluep).exp);
2264 FreeExpression((*yyvaluep).exp);
2270 FreeExpression((*yyvaluep).exp);
2276 FreeExpression((*yyvaluep).exp);
2282 FreeExpression((*yyvaluep).exp);
2288 FreeExpression((*yyvaluep).exp);
2294 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2300 FreeExpression((*yyvaluep).exp);
2306 FreeExpression((*yyvaluep).exp);
2312 FreeSpecifier((*yyvaluep).specifier);
2318 FreeSpecifier((*yyvaluep).specifier);
2324 FreeEnumerator((*yyvaluep).enumerator);
2330 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
2336 FreeSpecifier((*yyvaluep).specifier);
2342 FreeSpecifier((*yyvaluep).specifier);
2348 FreeSpecifier((*yyvaluep).specifier);
2354 FreeSpecifier((*yyvaluep).specifier);
2360 FreeSpecifier((*yyvaluep).specifier);
2366 FreeSpecifier((*yyvaluep).specifier);
2372 FreeSpecifier((*yyvaluep).specifier);
2378 FreeSpecifier((*yyvaluep).specifier);
2384 FreeSpecifier((*yyvaluep).specifier);
2390 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2396 FreeSpecifier((*yyvaluep).specifier);
2402 FreeSpecifier((*yyvaluep).specifier);
2408 FreeDeclarator((*yyvaluep).declarator);
2414 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
2420 FreeSpecifier((*yyvaluep).specifier);
2426 FreeSpecifier((*yyvaluep).specifier);
2432 FreeSpecifier((*yyvaluep).specifier);
2438 FreeSpecifier((*yyvaluep).specifier);
2444 FreeSpecifier((*yyvaluep).specifier);
2450 FreeSpecifier((*yyvaluep).specifier);
2456 FreeSpecifier((*yyvaluep).specifier);
2462 FreeSpecifier((*yyvaluep).specifier);
2468 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2474 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2480 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2486 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2492 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2498 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2504 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2510 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2516 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2522 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2528 FreeDeclarator((*yyvaluep).declarator);
2534 FreeDeclarator((*yyvaluep).declarator);
2540 FreeDeclarator((*yyvaluep).declarator);
2546 FreeDeclarator((*yyvaluep).declarator);
2552 FreeDeclarator((*yyvaluep).declarator);
2558 FreeDeclarator((*yyvaluep).declarator);
2564 FreeDeclarator((*yyvaluep).declarator);
2570 FreeDeclarator((*yyvaluep).declarator);
2576 FreeDeclarator((*yyvaluep).declarator);
2582 FreeDeclarator((*yyvaluep).declarator);
2588 FreeExtDecl((*yyvaluep).extDecl);
2594 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2600 FreeAttribute((*yyvaluep).attribute);
2606 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
2612 FreeAttrib((*yyvaluep).attrib);
2618 FreeDeclarator((*yyvaluep).declarator);
2624 FreeDeclarator((*yyvaluep).declarator);
2630 FreePointer((*yyvaluep).pointer);
2636 FreeDeclarator((*yyvaluep).declarator);
2642 FreeDeclarator((*yyvaluep).declarator);
2648 FreeDeclarator((*yyvaluep).declarator);
2654 FreeDeclarator((*yyvaluep).declarator);
2660 FreeDeclarator((*yyvaluep).declarator);
2666 FreeDeclarator((*yyvaluep).declarator);
2672 FreeDeclarator((*yyvaluep).declarator);
2678 FreeDeclarator((*yyvaluep).declarator);
2684 FreeDeclarator((*yyvaluep).declarator);
2690 FreeInitializer((*yyvaluep).initializer);
2696 FreeInitializer((*yyvaluep).initializer);
2702 FreeInitializer((*yyvaluep).initializer);
2708 FreeInitializer((*yyvaluep).initializer);
2714 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
2720 FreeInitDeclarator((*yyvaluep).initDeclarator);
2726 FreeInitDeclarator((*yyvaluep).initDeclarator);
2732 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2738 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2744 FreeTypeName((*yyvaluep).typeName);
2750 FreeTypeName((*yyvaluep).typeName);
2756 FreeTypeName((*yyvaluep).typeName);
2762 FreeTypeName((*yyvaluep).typeName);
2768 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2774 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2780 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2786 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2792 FreeStatement((*yyvaluep).stmt);
2798 FreeStatement((*yyvaluep).stmt);
2804 FreeStatement((*yyvaluep).stmt);
2810 FreeStatement((*yyvaluep).stmt);
2821 FreeDeclaration((*yyvaluep).declaration);
2827 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2833 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2839 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2845 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2851 FreeStatement((*yyvaluep).stmt);
2857 FreeStatement((*yyvaluep).stmt);
2863 PopContext((*yyvaluep).context);
2864 FreeContext((*yyvaluep).context);
2865 (((*yyvaluep).context ? __extension__ ({
2866 void * __ecerePtrToDelete = ((*yyvaluep).context);
2868 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2869 }) : 0), (*yyvaluep).context = 0);
2875 FreeStatement((*yyvaluep).stmt);
2881 FreeStatement((*yyvaluep).stmt);
2887 FreeStatement((*yyvaluep).stmt);
2893 FreeStatement((*yyvaluep).stmt);
2899 FreeStatement((*yyvaluep).stmt);
2905 FreeStatement((*yyvaluep).stmt);
2911 FreeStatement((*yyvaluep).stmt);
2917 FreeStatement((*yyvaluep).stmt);
2923 FreeStatement((*yyvaluep).stmt);
2929 FreeFunction((*yyvaluep).function);
2935 FreeFunction((*yyvaluep).function);
2941 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2947 FreeExternal((*yyvaluep).external);
2953 FreeExternal((*yyvaluep).external);
2959 if((*yyvaluep).list != ast)
2960 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2966 if((*yyvaluep).list != ast)
2967 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2980 yytype_int16 yyssa[200];
2981 yytype_int16 * yyss;
2982 yytype_int16 * yyssp;
2986 struct Location yylsa[200];
2987 struct Location * yyls;
2988 struct Location * yylsp;
2989 struct Location yyerror_range[2];
2995 struct Location yyloc;
3006 fprintf((bsl_stderr()), "Starting parse\n");
3020 if(yyss + yystacksize - 1 <= yyssp)
3022 size_t yysize = yyssp - yyss + 1;
3024 if(10000 <= yystacksize)
3025 goto yyexhaustedlab;
3027 if(10000 < yystacksize)
3028 yystacksize = 10000;
3030 yytype_int16 * yyss1 = yyss;
3031 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
3034 goto yyexhaustedlab;
3039 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
3040 yyss = &(*yyptr).yyss_alloc;
3041 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
3042 yyptr += yynewbytes / sizeof (*yyptr);
3048 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
3049 yyvs = &(*yyptr).yyvs_alloc;
3050 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
3051 yyptr += yynewbytes / sizeof (*yyptr);
3057 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
3058 yyls = &(*yyptr).yyls_alloc;
3059 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
3060 yyptr += yynewbytes / sizeof (*yyptr);
3065 yyssp = yyss + yysize - 1;
3066 yyvsp = yyvs + yysize - 1;
3067 yylsp = yyls + yysize - 1;
3071 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
3073 if(yyss + yystacksize - 1 <= yyssp)
3079 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
3085 yyn = yypact[yystate];
3093 fprintf((bsl_stderr()), "Reading a token: ");
3099 yychar = yytoken = 0;
3103 fprintf((bsl_stderr()), "Now at end of input.\n");
3108 yytoken = ((unsigned int)(yychar) <= 374 ? yytranslate[yychar] : 2);
3113 fprintf((bsl_stderr()), "%s ", "Next token is");
3114 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3115 fprintf((bsl_stderr()), "\n");
3120 if(yyn < 0 || 42445 < yyn || yycheck[yyn] != yytoken)
3125 if(yyn == 0 || yyn == -1290)
3136 fprintf((bsl_stderr()), "%s ", "Shifting");
3137 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3138 fprintf((bsl_stderr()), "\n");
3147 yyn = yydefact[yystate];
3153 yyval = yyvsp[1 - yylen];
3154 (yyloc.start = ((yylsp - yylen))[1].start);
3155 (yyloc.end = ((yylsp - yylen))[yylen].end);
3160 yy_reduce_print(yyvsp, yylsp, yyn);
3166 yyval.specifier = (((void *)0));
3167 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3168 FreeIdentifier(yyvsp[(1) - (2)].id);
3169 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3170 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3172 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3173 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
3174 resetScannerPos(&(yylsp[(1) - (2)]).start);
3176 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3181 yy_stack_print((yyss), (yyssp));
3183 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3188 yy_stack_print((yyss), (yyssp));
3196 yyval.specifier = (((void *)0));
3197 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3198 FreeIdentifier(yyvsp[(1) - (2)].id);
3199 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3200 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3202 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3203 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
3204 resetScannerPos(&(yylsp[(1) - (2)]).start);
3206 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3211 yy_stack_print((yyss), (yyssp));
3213 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3218 yy_stack_print((yyss), (yyssp));
3226 yyval.specifier = yyvsp[(1) - (1)].specifier;
3232 if(!yyvsp[(1) - (2)].id->string[0])
3234 yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string);
3235 FreeIdentifier(yyvsp[(1) - (2)].id);
3236 FreeIdentifier(yyvsp[(2) - (2)].id);
3240 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3241 FreeIdentifier(yyvsp[(1) - (2)].id);
3242 FreeIdentifier(yyvsp[(2) - (2)].id);
3243 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3244 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3246 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3247 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
3248 resetScannerPos(&(yylsp[(1) - (2)]).start);
3250 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3255 yy_stack_print((yyss), (yyssp));
3257 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3262 yy_stack_print((yyss), (yyssp));
3271 yyval.specifier = MkSpecifierName(yytext);
3277 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3283 yyval.specifier = yyvsp[(1) - (4)].specifier;
3284 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3285 yyval.specifier->loc = (yyloc);
3291 yyval.specifier = yyvsp[(1) - (4)].specifier;
3292 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3293 yyval.specifier->loc = (yyloc);
3294 (yylsp[(4) - (4)]).end.pos--;
3295 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3296 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3298 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3299 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(4) - (4)]).end.pos, 0);
3300 resetScannerPos(&(yylsp[(4) - (4)]).end);
3307 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3308 yyval.classFunction->loc = (yyloc);
3314 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3315 yyval.classFunction->loc = (yyloc);
3321 yyval.classFunction = MkClassFunction(yyvsp[(1) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3322 yyval.classFunction->isConstructor = 1;
3323 yyval.classFunction->loc = (yyloc);
3329 yyval.classFunction = MkClassFunction(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3330 yyval.classFunction->isDestructor = 1;
3331 yyval.classFunction->loc = (yyloc);
3337 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3338 yyval.classFunction->isVirtual = 1;
3339 yyval.classFunction->loc = (yyloc);
3345 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3346 yyval.classFunction->isVirtual = 1;
3347 yyval.classFunction->loc = (yyloc);
3353 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3354 yyval.classFunction->loc = (yyloc);
3360 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3361 yyval.classFunction->loc = (yyloc);
3367 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3368 yyval.classFunction->isVirtual = 1;
3369 yyval.classFunction->loc = (yyloc);
3375 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3376 yyval.classFunction->isVirtual = 1;
3377 yyval.classFunction->loc = (yyloc);
3383 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3384 yyval.classFunction->loc = (yyloc);
3390 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3391 yyval.classFunction->loc = (yyloc);
3397 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3398 yyval.classFunction->loc = (yyloc);
3404 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3405 yyval.classFunction->loc = (yyloc);
3411 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3412 yyval.classFunction->loc = (yyloc);
3418 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3419 yyval.classFunction->loc = (yyloc);
3425 if(yyvsp[(1) - (3)].classFunction->declarator)
3427 yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0)));
3428 yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib;
3430 ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0)));
3431 yyval.classFunction->loc = (yyloc);
3437 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3438 yyval.classFunction->loc = (yyloc);
3439 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3445 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3446 yyval.classFunction->loc = (yyloc);
3447 yyval.classFunction->loc.end.charPos++;
3448 yyval.classFunction->loc.end.pos++;
3454 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3455 yyval.classFunction->loc = (yyloc);
3456 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3462 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3463 yyval.classFunction->loc = (yyloc);
3464 yyval.classFunction->loc.end.charPos++;
3465 yyval.classFunction->loc.end.pos++;
3471 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3472 yyval.classFunction->loc = (yyloc);
3473 yyval.classFunction->loc.end.charPos++;
3474 yyval.classFunction->loc.end.pos++;
3480 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3481 yyval.classFunction->loc = (yyloc);
3487 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), MkDeclaratorFunction(yyvsp[(2) - (2)].declarator, (((void *)0))), (((void *)0)));
3488 yyval.classFunction->loc = (yyloc);
3494 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3495 yyval.classFunction->loc = (yyloc);
3501 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3502 yyval.classFunction->loc = (yyloc);
3508 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3509 yyval.classFunction->loc = (yyloc);
3510 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3511 yyval.classFunction->loc.end.charPos++;
3512 yyval.classFunction->loc.end.pos++;
3518 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3519 yyval.classFunction->loc = (yyloc);
3520 yyval.classFunction->loc.end.charPos++;
3521 yyval.classFunction->loc.end.pos++;
3527 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3528 yyval.classFunction->loc = (yyloc);
3529 yyval.classFunction->loc.end.charPos++;
3530 yyval.classFunction->loc.end.pos++;
3536 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3537 yyval.memberInit->loc = (yyloc);
3538 yyval.memberInit->realLoc = (yyloc);
3539 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3545 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3546 yyval.memberInit->loc = (yyloc);
3547 yyval.memberInit->realLoc = (yyloc);
3553 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3554 yyval.memberInit->loc = (yyloc);
3555 yyval.memberInit->realLoc = (yyloc);
3556 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3562 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
3563 yyval.memberInit->loc = (yyloc);
3564 yyval.memberInit->realLoc = (yyloc);
3565 yyval.memberInit->initializer->loc.start = yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
3566 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3567 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3569 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3570 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(2) - (3)]).end.pos, 0);
3572 resetScannerPos(&(yylsp[(2) - (3)]).end);
3573 (yyloc.start = (yylsp[(1) - (3)]).start);
3574 (yyloc.end = (yylsp[(2) - (3)]).end);
3580 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3581 yyval.memberInit->loc = (yyloc);
3582 yyval.memberInit->realLoc = (yyloc);
3588 yyval.list = MkList();
3589 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3595 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3596 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3597 yyval.list = yyvsp[(1) - (3)].list;
3603 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3604 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3605 yyval.list = yyvsp[(1) - (3)].list;
3611 yyval.list = MkList();
3612 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3618 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3619 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3620 yyval.list = yyvsp[(1) - (3)].list;
3626 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3627 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3628 yyval.list = yyvsp[(1) - (3)].list;
3634 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3636 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3637 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3639 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3640 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3641 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3643 yyval.list = yyvsp[(1) - (3)].list;
3649 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3651 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3652 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3654 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3655 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3656 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3658 yyval.list = yyvsp[(1) - (3)].list;
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[(1) - (1)]).start;
3668 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).start;
3669 yyval.list = MkList();
3670 ListAdd(yyval.list, memberInit);
3671 dummy = MkInitializerAssignment(MkExpDummy());
3672 memberInit = MkMemberInit((((void *)0)), dummy);
3673 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).end;
3674 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).end;
3675 ListAdd(yyval.list, memberInit);
3681 if((*yyvsp[(1) - (2)].list).last)
3682 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3683 yyval.list = yyvsp[(1) - (2)].list;
3689 if((*yyvsp[(1) - (2)].list).last)
3690 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3691 yyval.list = yyvsp[(1) - (2)].list;
3697 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
3699 yyval.list = MkList();
3700 ListAdd(yyval.list, members);
3701 members->loc = (yylsp[(1) - (1)]);
3707 yyval.list = MkList();
3708 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3709 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3715 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3717 ListAdd(yyval.list, members);
3718 members->loc = (yylsp[(2) - (2)]);
3719 yyval.list = yyvsp[(1) - (2)].list;
3725 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3726 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3727 yyval.list = yyvsp[(1) - (2)].list;
3733 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3735 ListAdd(yyval.list, members);
3736 members->loc = (yylsp[(2) - (2)]);
3737 yyval.list = yyvsp[(1) - (2)].list;
3743 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3744 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3745 yyval.list = yyvsp[(1) - (2)].list;
3751 struct MembersInit * members = (struct MembersInit *)(*yyval.list).last;
3753 if(members->type == 0)
3754 (members->loc.end = yyloc.end);
3757 struct MembersInit * members = MkMembersInitList(MkList());
3759 ListAdd(yyval.list, members);
3760 members->loc = (yylsp[(2) - (2)]);
3762 yyval.list = yyvsp[(1) - (2)].list;
3768 struct MembersInit * members = MkMembersInitList(MkList());
3770 yyval.list = MkList();
3771 ListAdd(yyval.list, members);
3772 members->loc = (yylsp[(1) - (1)]);
3778 yyval.list = MkList();
3779 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3780 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3786 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3787 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3793 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3794 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3800 yyval.list = MkList();
3801 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3802 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3808 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3809 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3810 yyval.list = yyvsp[(1) - (2)].list;
3816 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3817 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3818 yyval.list = yyvsp[(1) - (2)].list;
3824 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3825 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3826 yyval.list = yyvsp[(1) - (2)].list;
3832 ListAdd(yyval.list, MkMembersInitList(yyvsp[(2) - (2)].list));
3833 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3834 yyval.list = yyvsp[(1) - (2)].list;
3840 yyval.list = MkList();
3841 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3842 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3848 yyval.list = MkList();
3849 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (2)].list));
3850 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3856 yyval.instance->loc = (yyloc);
3857 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3858 yyval.instance = yyvsp[(1) - (2)].instance;
3864 yyval.instance->loc = (yyloc);
3865 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3866 yyval.instance = yyvsp[(1) - (3)].instance;
3872 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3873 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3874 yyval.instance->loc = (yyloc);
3875 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3876 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3877 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3878 yyval.instance->loc.end.charPos++;
3879 yyval.instance->loc.end.pos++;
3885 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3886 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3887 yyval.instance->loc = (yyloc);
3888 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3889 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3890 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3891 yyval.instance->loc.end.charPos++;
3892 yyval.instance->loc.end.pos++;
3898 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3899 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3900 yyval.instance->loc = (yyloc);
3901 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3902 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3903 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3904 yyval.instance->loc.end.charPos++;
3905 yyval.instance->loc.end.pos++;
3911 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
3912 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
3913 yyval.instance->loc = (yyloc);
3914 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
3915 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
3916 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
3917 yyval.instance->loc.end.charPos++;
3918 yyval.instance->loc.end.pos++;
3924 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
3925 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3926 yyval.instance->loc = (yyloc);
3927 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3928 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3929 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
3930 yyval.instance->loc.end.charPos++;
3931 yyval.instance->loc.end.pos++;
3937 yyval.instance->loc = (yyloc);
3938 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3944 yyval.instance->loc = (yyloc);
3945 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3951 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3952 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3953 yyval.instance->loc = (yyloc);
3954 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3955 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3956 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3957 yyval.instance->loc.end.charPos++;
3958 yyval.instance->loc.end.pos++;
3964 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3965 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3966 yyval.instance->loc = (yyloc);
3967 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3968 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3969 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3970 yyval.instance->loc.end.charPos++;
3971 yyval.instance->loc.end.pos++;
3977 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3978 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3979 yyval.instance->loc = (yyloc);
3980 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3981 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3982 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3983 yyval.instance->loc.end.charPos++;
3984 yyval.instance->loc.end.pos++;
3990 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
3991 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
3992 yyval.instance->loc = (yyloc);
3993 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
3994 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
3995 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
3996 yyval.instance->loc.end.charPos++;
3997 yyval.instance->loc.end.pos++;
4003 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
4004 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4005 yyval.instance->loc = (yyloc);
4006 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4007 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4008 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4009 yyval.instance->loc.end.charPos++;
4010 yyval.instance->loc.end.pos++;
4016 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4017 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4018 yyval.instance->loc = (yyloc);
4019 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4020 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4021 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4027 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4028 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4029 yyval.instance->loc = (yyloc);
4030 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4031 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4032 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4038 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
4039 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4040 yyval.instance->loc = (yyloc);
4041 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4042 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4043 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4049 yyval.instance->loc = (yyloc);
4050 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4051 yyval.instance = yyvsp[(1) - (2)].instance;
4057 yyval.instance->loc = (yyloc);
4058 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4059 yyval.instance = yyvsp[(1) - (3)].instance;
4065 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4066 yyval.instance->loc = (yyloc);
4067 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4068 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4069 yyval.instance->loc.end.charPos++;
4070 yyval.instance->loc.end.pos++;
4076 struct Location tmpLoc = yylloc;
4078 yylloc = (yylsp[(1) - (3)]);
4080 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4081 yyval.instance->loc = (yyloc);
4082 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4083 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4084 FreeIdentifier(yyvsp[(1) - (3)].id);
4090 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4091 yyval.instance->loc = (yyloc);
4092 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4093 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4094 yyval.instance->loc.end.charPos++;
4095 yyval.instance->loc.end.pos++;
4101 yyval.instance = MkInstantiation(yyvsp[(1) - (2)].specifier, (((void *)0)), (((void *)0)));
4102 yyval.instance->loc = (yyloc);
4103 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4104 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4105 yyval.instance->loc.end.charPos++;
4106 yyval.instance->loc.end.pos++;
4112 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
4113 yyval.instance->loc = (yyloc);
4114 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4115 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4116 yyval.instance->loc.end.charPos++;
4117 yyval.instance->loc.end.pos++;
4123 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), (((void *)0)));
4124 yyval.instance->loc = (yyloc);
4125 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4126 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4127 yyval.instance->loc.end.charPos++;
4128 yyval.instance->loc.end.pos++;
4134 struct Location tmpLoc = yylloc;
4136 yylloc = (yylsp[(1) - (3)]);
4138 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4139 yyval.instance->loc = (yyloc);
4140 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4141 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4142 yyval.instance->loc.end.charPos++;
4143 yyval.instance->loc.end.pos++;
4144 FreeIdentifier(yyvsp[(1) - (3)].id);
4150 struct Location tmpLoc = yylloc;
4152 yylloc = (yylsp[(1) - (2)]);
4154 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (2)].id->string), (((void *)0)), (((void *)0)));
4155 yyval.instance->loc = (yyloc);
4156 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4157 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4158 yyval.instance->loc.end.charPos++;
4159 yyval.instance->loc.end.pos++;
4160 FreeIdentifier(yyvsp[(1) - (2)].id);
4166 struct Location tmpLoc = yylloc;
4168 yylloc = (yylsp[(1) - (4)]);
4170 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
4171 yyval.instance->loc = (yyloc);
4172 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4173 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4174 yyval.instance->loc.end.charPos++;
4175 yyval.instance->loc.end.pos++;
4176 FreeIdentifier(yyvsp[(1) - (4)].id);
4182 struct Location tmpLoc = yylloc;
4184 yylloc = (yylsp[(1) - (3)]);
4186 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), (((void *)0)));
4187 yyval.instance->loc = (yyloc);
4188 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4189 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4190 yyval.instance->loc.end.charPos++;
4191 yyval.instance->loc.end.pos++;
4192 FreeIdentifier(yyvsp[(1) - (3)].id);
4198 yyval.instance->loc = (yyloc);
4199 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4205 yyval.instance->loc = (yyloc);
4206 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4212 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4213 yyval.instance->loc = (yyloc);
4214 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4215 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4216 yyval.instance->loc.end.charPos++;
4217 yyval.instance->loc.end.pos++;
4223 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
4224 yyval.instance->loc = (yyloc);
4225 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
4226 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4227 yyval.instance->loc.end.charPos++;
4228 yyval.instance->loc.end.pos++;
4234 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4235 yyval.instance->loc = (yyloc);
4236 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4237 yyval.instance->insideLoc.end = (yylsp[(1) - (2)]).end;
4238 yyval.instance->loc.end.charPos++;
4239 yyval.instance->loc.end.pos++;
4245 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4246 yyval.instance->loc = (yyloc);
4247 yyval.instance->insideLoc.start = (yylsp[(1) - (1)]).end;
4248 yyval.instance->insideLoc.end = (yylsp[(1) - (1)]).end;
4249 yyval.instance->loc.end.charPos++;
4250 yyval.instance->loc.end.pos++;
4256 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4257 yyval.instance->loc = (yyloc);
4258 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4259 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4260 yyval.instance->loc.end.charPos++;
4261 yyval.instance->loc.end.pos++;
4267 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4268 yyval.memberInit->loc = (yyloc);
4269 yyval.memberInit->realLoc = (yyloc);
4275 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4276 yyval.memberInit->loc = (yyloc);
4277 yyval.memberInit->realLoc = (yyloc);
4278 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4284 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
4285 yyval.memberInit->loc = (yyloc);
4286 yyval.memberInit->realLoc = (yyloc);
4287 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4288 yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
4294 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (2)].exp, (((void *)0)));
4295 yyval.memberInit->loc = (yyloc);
4296 yyval.memberInit->realLoc = (yyloc);
4302 yyval.list = MkList();
4303 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4304 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4310 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4311 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4312 yyval.list = yyvsp[(1) - (3)].list;
4318 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4319 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4320 yyval.list = yyvsp[(1) - (3)].list;
4326 yyval.list = MkList();
4327 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4328 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4334 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4335 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4336 yyval.list = yyvsp[(1) - (3)].list;
4342 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4343 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4344 yyval.list = yyvsp[(1) - (3)].list;
4350 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4351 yyval.prop->loc = (yyloc);
4357 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4358 yyval.prop->loc = (yyloc);
4364 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4365 yyval.prop->loc = (yyloc);
4371 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4372 yyval.prop->loc = (yyloc);
4378 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4379 yyval.prop->loc = (yyloc);
4385 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4391 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4397 yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt;
4403 yyvsp[(1) - (2)].prop->__anon1.isWatchable = 1;
4409 yyvsp[(1) - (3)].prop->category = yyvsp[(3) - (3)].exp;
4415 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4416 yyval.prop = yyvsp[(1) - (2)].prop;
4422 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4423 yyval.prop->loc = (yyloc);
4429 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4430 yyval.prop->loc = (yyloc);
4436 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4437 yyval.prop->loc = (yyloc);
4443 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4444 yyval.prop->loc = (yyloc);
4450 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4451 yyval.prop->loc = (yyloc);
4457 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4463 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4469 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4475 yyval.list = MkListOne(yyvsp[(1) - (1)].id);
4481 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].id);
4487 yyval.propertyWatch = MkPropertyWatch(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
4493 yyval.propertyWatch = MkDeleteWatch(yyvsp[(2) - (2)].stmt);
4499 yyval.list = MkListOne(yyvsp[(1) - (1)].propertyWatch);
4505 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].propertyWatch);
4511 yyval.propertyWatch = MkPropertyWatch(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
4517 yyval.stmt = MkWatchStmt((((void *)0)), yyvsp[(3) - (7)].exp, yyvsp[(6) - (7)].list);
4523 yyval.stmt = MkWatchStmt(yyvsp[(1) - (9)].exp, yyvsp[(5) - (9)].exp, yyvsp[(8) - (9)].list);
4529 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].list);
4535 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (8)].exp, yyvsp[(5) - (8)].exp, yyvsp[(7) - (8)].list);
4541 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (4)].exp, (((void *)0)));
4547 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (6)].exp, yyvsp[(5) - (6)].exp, (((void *)0)));
4553 yyval.stmt = MkFireWatchersStmt((((void *)0)), (((void *)0)));
4559 yyval.stmt = MkFireWatchersStmt((((void *)0)), yyvsp[(2) - (2)].list);
4565 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (3)].exp, (((void *)0)));
4571 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (4)].exp, yyvsp[(4) - (4)].list);
4577 yyval.classDef = yyvsp[(1) - (2)].classDef;
4578 yyval.classDef->loc.end = (yylsp[(2) - (2)]).end;
4584 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4585 if((*yyvsp[(1) - (2)].list).last)
4586 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4587 yyval.classDef->loc = (yyloc);
4593 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4594 yyval.classDef->loc = (yyloc);
4595 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4601 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4602 yyval.classDef->loc = (yyloc);
4603 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4609 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4610 yyval.classDef->loc = (yyloc);
4611 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4617 yyval.classDef = MkClassDefProperty(yyvsp[(2) - (2)].prop);
4618 yyval.classDef->loc = (yyloc);
4619 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4625 yyval.classDef = MkClassDefClassProperty(yyvsp[(1) - (1)].prop);
4626 yyval.classDef->loc = (yyloc);
4632 yyval.classDef = (((void *)0));
4633 deleteWatchable = 1;
4639 yyval.classDef = MkClassDefNoExpansion();
4645 yyval.classDef = MkClassDefFixed();
4651 yyval.classDef = MkClassDefClassPropertyValue(yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].initializer);
4652 yyval.classDef->loc = (yyloc);
4658 yyval.classDef = (((void *)0));
4664 memberAccessStack[defaultMemberAccess] = yyvsp[(1) - (2)].declMode;
4665 if(defaultMemberAccess == 0)
4667 yyval.classDef = MkClassDefMemberAccess();
4668 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4669 yyval.classDef->loc = (yyloc);
4672 yyval.classDef = (((void *)0));
4678 yyval.classDef = MkClassDefAccessOverride(yyvsp[(1) - (4)].declMode, yyvsp[(3) - (4)].id);
4679 yyval.classDef->loc = (yyloc);
4685 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4686 yyval.classDef->loc = yyvsp[(1) - (1)].classFunction->loc;
4687 yyval.classDef->loc.end.charPos++;
4688 yyval.classDef->loc.end.pos++;
4689 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4695 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0))));
4696 yyval.classDef->__anon1.decl->loc = (yyloc);
4697 yyval.classDef->loc = (yyloc);
4698 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4704 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0))));
4705 yyval.classDef->__anon1.decl->loc = (yyloc);
4706 yyval.classDef->loc = (yyloc);
4707 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4713 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4714 yyval.classDef->__anon1.decl->loc = (yyloc);
4715 yyval.classDef->loc = (yyloc);
4716 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4722 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0))));
4723 yyval.classDef->__anon1.decl->loc = (yyloc);
4724 yyval.classDef->loc = (yyloc);
4725 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4731 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4732 yyval.classDef->loc = (yyloc);
4733 yyval.classDef->__anon1.decl->loc = (yyloc);
4734 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4740 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4741 yyval.classDef->loc = (yyloc);
4742 yyval.classDef->__anon1.decl->loc = (yyloc);
4743 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4749 yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4750 yyval.classDef->__anon1.decl->loc = (yyloc);
4751 yyval.classDef->loc = (yyloc);
4757 yyval.classDef = MkClassDefPropertyWatch(yyvsp[(1) - (1)].propertyWatch);
4758 yyval.classDef->loc = (yyloc);
4764 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].id->string);
4765 FreeIdentifier(yyvsp[(2) - (2)].id);
4771 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4772 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4778 yyval.classDef = MkClassDefDesignerDefaultProperty(yyvsp[(2) - (2)].id);
4784 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4785 yyval.classDef->loc = (yyloc);
4786 yyval.classDef->__anon1.decl->loc = (yyloc);
4787 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4793 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4794 yyval.classDef->loc = (yyloc);
4795 yyval.classDef->__anon1.decl->loc = (yyloc);
4796 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4802 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4803 if((*yyvsp[(1) - (1)].list).last)
4804 ((struct MemberInit *)(*yyvsp[(1) - (1)].list).last)->loc.end = (yylsp[(1) - (1)]).end;
4805 yyval.classDef->loc = (yyloc);
4811 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4812 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4813 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4814 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4820 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4821 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4822 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4823 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4829 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4830 yyval.classDef->loc = (yyloc);
4831 yyval.classDef->loc.end.charPos++;
4832 yyval.classDef->loc.end.pos++;
4833 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4839 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4840 yyval.classDef->loc = (yyloc);
4841 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4842 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4848 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4849 yyval.classDef->loc = (yyloc);
4850 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4851 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4857 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4858 yyval.classDef->loc = (yyloc);
4859 yyval.classDef->loc.end.charPos++;
4860 yyval.classDef->loc.end.pos++;
4866 yyval.list = MkList();
4867 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4873 yyval.list = yyvsp[(1) - (2)].list;
4874 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4880 yyval.list = yyvsp[(1) - (2)].list;
4881 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4888 yyval.list = MkList();
4889 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4896 yyval.list = yyvsp[(1) - (2)].list;
4897 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4903 yyval.list = yyvsp[(1) - (2)].list;
4904 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4910 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4916 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4922 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4928 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4934 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (2)].id, (((void *)0)), (((void *)0)));
4940 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4946 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
4952 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
4958 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (2)].string), (((void *)0)), (((void *)0)));
4959 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
4965 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4971 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
4977 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (6)].string), yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
4983 yyval.templateArgument = MkTemplateIdentifierArgument(yyvsp[(1) - (1)].id);
4989 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (1)].id, 0, (((void *)0)));
4995 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (3)].id, 0, yyvsp[(3) - (3)].templateArgument);
5001 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
5007 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(2) - (4)].id, MkTemplateDatatype(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(4) - (4)].templateArgument);
5013 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(3) - (5)].id, MkTemplateDatatype(yyvsp[(1) - (5)].list, yyvsp[(2) - (5)].declarator), yyvsp[(5) - (5)].templateArgument);
5019 yyval.list = MkList();
5020 ListAdd(yyval.list, yyvsp[(1) - (1)].templateParameter);
5026 yyval.list = yyvsp[(1) - (3)].list;
5027 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateParameter);
5033 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5034 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5035 yyval.templateArgument->loc = (yyloc);
5041 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5042 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5043 yyval.templateArgument->loc = (yyloc);
5049 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5050 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5051 yyval.templateArgument->loc = (yyloc);
5057 yyval.list = MkList();
5058 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
5064 yyval.list = yyvsp[(1) - (3)].list;
5065 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
5071 if(curContext != globalContext)
5072 PopContext(curContext);
5073 yyval.context = PushContext();
5079 (void)yyvsp[(1) - (2)].context;
5080 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
5081 FreeIdentifier(yyvsp[(2) - (2)].id);
5082 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5083 memberAccessStack[++defaultMemberAccess] = 2;
5089 (void)yyvsp[(1) - (2)].context;
5090 yyval.symbol = DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
5091 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5092 FreeSpecifier(yyvsp[(2) - (2)].specifier);
5093 ++defaultMemberAccess;
5094 memberAccessStack[defaultMemberAccess] = 2;
5100 (void)yyvsp[(2) - (3)].context;
5101 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
5102 FreeIdentifier(yyvsp[(1) - (3)].id);
5103 FreeIdentifier(yyvsp[(3) - (3)].id);
5104 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5105 yyval.symbol->isRemote = 1;
5106 memberAccessStack[++defaultMemberAccess] = 2;
5112 (void)yyvsp[(2) - (3)].context;
5113 yyval.symbol = DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
5114 FreeIdentifier(yyvsp[(1) - (3)].id);
5115 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5116 yyval.symbol->isRemote = 1;
5117 FreeSpecifier(yyvsp[(3) - (3)].specifier);
5118 memberAccessStack[++defaultMemberAccess] = 2;
5124 (void)yyvsp[(1) - (5)].context;
5125 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
5126 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5127 FreeIdentifier(yyvsp[(2) - (5)].id);
5128 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5129 memberAccessStack[++defaultMemberAccess] = 2;
5135 (void)yyvsp[(1) - (5)].context;
5136 yyval.symbol = DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
5137 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5138 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5139 FreeSpecifier(yyvsp[(2) - (5)].specifier);
5140 ++defaultMemberAccess;
5141 memberAccessStack[defaultMemberAccess] = 2;
5147 (void)yyvsp[(2) - (6)].context;
5148 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
5149 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5150 FreeIdentifier(yyvsp[(1) - (6)].id);
5151 FreeIdentifier(yyvsp[(3) - (6)].id);
5152 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5153 yyval.symbol->isRemote = 1;
5154 memberAccessStack[++defaultMemberAccess] = 2;
5160 (void)yyvsp[(2) - (6)].context;
5161 yyval.symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
5162 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5163 FreeIdentifier(yyvsp[(1) - (6)].id);
5164 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5165 yyval.symbol->isRemote = 1;
5166 FreeSpecifier(yyvsp[(3) - (6)].specifier);
5167 memberAccessStack[++defaultMemberAccess] = 2;
5173 yyval._class->loc = (yyloc);
5174 yyval._class = yyvsp[(1) - (2)]._class;
5180 yyval._class = yyvsp[(1) - (2)]._class;
5181 yyval._class->definitions = MkList();
5182 yyval._class->blockStart = (yylsp[(2) - (2)]);
5183 yyval._class->loc = (yyloc);
5184 if(defaultMemberAccess > -1)
5185 defaultMemberAccess--;
5186 PopContext(curContext);
5192 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5193 yyval._class->blockStart = (yylsp[(2) - (3)]);
5194 yyval._class->loc = (yyloc);
5195 if(defaultMemberAccess > -1)
5196 defaultMemberAccess--;
5197 PopContext(curContext);
5203 yyval._class = yyvsp[(1) - (3)]._class;
5204 yyval._class->definitions = MkList();
5205 yyval._class->blockStart = (yylsp[(2) - (3)]);
5206 yyval._class->loc = (yyloc);
5207 if(defaultMemberAccess > -1)
5208 defaultMemberAccess--;
5209 PopContext(curContext);
5215 (void)yyvsp[(1) - (3)].context;
5216 yyval._class = MkClass(DeclClassAddNameSpace(yyvsp[(2) - (3)].id->_class, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
5217 FreeIdentifier(yyvsp[(2) - (3)].id);
5218 if(defaultMemberAccess > -1)
5219 defaultMemberAccess--;
5220 PopContext(curContext);
5226 (void)yyvsp[(1) - (3)].context;
5227 yyval._class = MkClass(DeclClass(yyvsp[(2) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
5228 FreeSpecifier(yyvsp[(2) - (3)].specifier);
5229 if(defaultMemberAccess > -1)
5230 defaultMemberAccess--;
5231 PopContext(curContext);
5237 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, yyvsp[(3) - (3)].list, (((void *)0)));
5243 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5244 yyval._class->deleteWatchable = deleteWatchable;
5245 deleteWatchable = 0;
5246 yyval._class->blockStart = (yylsp[(2) - (3)]);
5247 yyval._class->loc = (yyloc);
5248 yyval._class->loc.end.charPos++;
5249 yyval._class->loc.end.pos++;
5250 if(defaultMemberAccess > -1)
5251 defaultMemberAccess--;
5252 PopContext(curContext);
5258 yyval._class = yyvsp[(1) - (3)]._class;
5259 yyval._class->definitions = yyvsp[(3) - (3)].list;
5260 yyval._class->deleteWatchable = deleteWatchable;
5261 deleteWatchable = 0;
5262 yyval._class->blockStart = (yylsp[(2) - (3)]);
5263 yyval._class->loc = (yyloc);
5264 yyval._class->loc.end.charPos++;
5265 yyval._class->loc.end.pos++;
5266 if(defaultMemberAccess > -1)
5267 defaultMemberAccess--;
5268 PopContext(curContext);
5274 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5275 yyval._class->deleteWatchable = deleteWatchable;
5276 deleteWatchable = 0;
5277 yyval._class->blockStart = (yylsp[(2) - (3)]);
5278 yyval._class->loc = (yyloc);
5279 yyval._class->loc.end.charPos++;
5280 yyval._class->loc.end.pos++;
5281 if(defaultMemberAccess > -1)
5282 defaultMemberAccess--;
5283 PopContext(curContext);
5289 yyval._class = yyvsp[(1) - (3)]._class;
5290 yyval._class->definitions = yyvsp[(3) - (3)].list;
5291 yyval._class->deleteWatchable = deleteWatchable;
5292 deleteWatchable = 0;
5293 yyval._class->blockStart = (yylsp[(2) - (3)]);
5294 yyval._class->loc = (yyloc);
5295 yyval._class->loc.end.charPos++;
5296 yyval._class->loc.end.pos++;
5297 if(defaultMemberAccess > -1)
5298 defaultMemberAccess--;
5299 PopContext(curContext);
5305 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5306 yyval._class->deleteWatchable = deleteWatchable;
5307 deleteWatchable = 0;
5308 yyval._class->blockStart = (yylsp[(2) - (3)]);
5309 yyval._class->loc = (yyloc);
5310 yyval._class->loc.end.charPos++;
5311 yyval._class->loc.end.pos++;
5312 if(defaultMemberAccess > -1)
5313 defaultMemberAccess--;
5314 PopContext(curContext);
5320 yyval._class = yyvsp[(1) - (3)]._class;
5321 yyval._class->definitions = MkList();
5322 yyval._class->deleteWatchable = deleteWatchable;
5323 deleteWatchable = 0;
5324 yyval._class->blockStart = (yylsp[(2) - (3)]);
5325 yyval._class->loc = (yyloc);
5326 yyval._class->loc.end.charPos++;
5327 yyval._class->loc.end.pos++;
5328 if(defaultMemberAccess > -1)
5329 defaultMemberAccess--;
5330 PopContext(curContext);
5336 yyval.id = MkIdentifier(yytext);
5337 yyval.id->loc = (yylsp[(1) - (1)]);
5343 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
5344 yyval.exp->loc = (yyloc);
5350 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
5351 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
5352 yyval.exp->loc = (yyloc);
5358 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
5359 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
5360 yyval.exp->loc = (yyloc);
5366 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
5367 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
5368 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
5369 yyval.exp->loc = (yyloc);
5375 yyval.exp = MkExpConstant(yytext);
5376 yyval.exp->loc = (yyloc);
5382 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
5383 yyval.exp->loc = (yyloc);
5389 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5390 yyval.exp->loc = (yyloc);
5396 yyval.exp = MkExpExtensionCompound(yyvsp[(3) - (4)].stmt);
5397 yyval.exp->loc = (yyloc);
5403 yyval.exp = MkExpExtensionExpression(yyvsp[(3) - (4)].list);
5404 yyval.exp->loc = (yyloc);
5410 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (5)].typeName, yyvsp[(5) - (5)].initializer);
5411 yyval.exp->loc = (yyloc);
5417 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (8)].typeName, MkInitializerAssignment(MkExpExtensionInitializer(yyvsp[(6) - (8)].typeName, yyvsp[(8) - (8)].initializer)));
5418 yyval.exp->loc = (yyloc);
5424 char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant;
5425 int len = strlen(constant);
5427 if(constant[len - 1] == '.')
5429 constant[len - 1] = 0;
5430 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
5431 yyval.exp->loc = (yyloc);
5440 yyval.exp = yyvsp[(1) - (1)].exp;
5446 yyval.exp = MkExpWideString(yytext);
5447 yyval.exp->loc = (yyloc);
5453 struct Expression * exp = MkExpDummy();
5455 exp->loc.start = (yylsp[(1) - (2)]).end;
5456 exp->loc.end = (yylsp[(2) - (2)]).start;
5457 yyval.exp = MkExpBrackets(MkListOne(exp));
5458 yyval.exp->loc = (yyloc);
5465 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5466 yyval.exp->loc = (yyloc);
5472 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5473 yyval.exp->loc = (yyloc);
5479 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5480 yyval.exp->loc = (yyloc);
5486 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5487 yyval.exp->loc = (yyloc);
5493 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5494 yyval.exp->loc = (yyloc);
5500 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5501 yyval.exp->loc = (yyloc);
5507 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5508 yyval.exp->loc = (yyloc);
5514 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5515 yyval.exp->loc = (yyloc);
5521 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5522 yyval.exp->loc = (yyloc);
5528 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5529 yyval.exp->loc = (yyloc);
5535 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5536 yyval.exp->loc = (yyloc);
5542 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5543 yyval.exp->loc = (yyloc);
5549 yyval.exp = MkExpRenew0(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 = MkExpRenew0(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 = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5564 yyval.exp->loc = (yyloc);
5570 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5571 yyval.exp->loc = (yyloc);
5577 yyval.exp = MkExpClass(yyvsp[(3) - (4)].list, (((void *)0)));
5578 yyval.exp->loc = (yyloc);
5584 yyval.exp = MkExpClass(yyvsp[(3) - (5)].list, yyvsp[(4) - (5)].declarator);
5585 yyval.exp->loc = (yyloc);
5591 yyval.exp = MkExpClass(MkListOne(MkSpecifierName(yyvsp[(3) - (4)].id->string)), (((void *)0)));
5592 FreeIdentifier(yyvsp[(3) - (4)].id);
5593 yyval.exp->loc = (yyloc);
5599 yyval.exp = MkExpVaArg(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].typeName);
5600 yyval.exp->loc = (yyloc);
5606 yyval.exp = MkExpClassData(yyvsp[(3) - (4)].id);
5607 yyval.exp->loc = (yyloc);
5613 yyval.exp = MkExpArray(yyvsp[(2) - (3)].list);
5614 yyval.exp->loc = (yyloc);
5620 yyval.exp = MkExpArray((((void *)0)));
5621 yyval.exp->loc = (yyloc);
5627 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5628 yyval.exp->loc = (yyloc);
5634 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
5635 yyval.exp->loc = (yyloc);
5642 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5643 yyval.exp->loc = (yyloc);
5649 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5650 yyval.exp->loc = (yyloc);
5656 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5657 yyval.exp->loc = (yyloc);
5663 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5664 yyval.exp->loc = (yyloc);
5670 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5671 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5672 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5673 yyval.exp->loc = (yyloc);
5679 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5680 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5681 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5682 yyval.exp->loc = (yyloc);
5688 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5689 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5690 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5691 yyval.exp->loc = (yyloc);
5692 if((*yyvsp[(3) - (4)].list).last)
5693 ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start;
5699 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5700 yyval.exp->loc = (yyloc);
5706 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5707 yyval.exp->loc = (yyloc);
5713 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5714 yyval.exp->loc = (yyloc);
5720 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5721 yyval.exp->loc = (yyloc);
5727 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5728 yyval.exp->loc = (yyloc);
5734 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5735 yyval.exp->loc = (yyloc);
5741 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5742 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5743 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5744 yyval.exp->loc = (yyloc);
5750 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5751 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5752 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5753 yyval.exp->loc = (yyloc);
5759 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5760 yyval.exp->loc = (yyloc);
5766 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5767 yyval.exp->loc = (yyloc);
5773 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5774 yyval.exp->loc = (yyloc);
5780 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5781 yyval.exp->loc = (yyloc);
5787 yyval.list = MkList();
5788 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5794 yyval.list = MkList();
5795 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5801 yyval.list = yyvsp[(1) - (3)].list;
5802 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5808 yyval.list = yyvsp[(1) - (3)].list;
5809 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
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 struct Expression * exp = MkExpDummy();
5846 exp->loc.start = (yylsp[(2) - (2)]).end;
5847 exp->loc.end = (yylsp[(2) - (2)]).end;
5848 yyval.list = yyvsp[(1) - (2)].list;
5849 ListAdd(yyvsp[(1) - (2)].list, exp);
5855 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
5856 yyval.exp->loc = (yyloc);
5862 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
5863 yyval.exp->loc = (yyloc);
5869 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5870 yyval.exp->loc = (yyloc);
5876 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5877 yyval.exp->loc = (yyloc);
5883 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
5884 yyval.exp->loc = (yyloc);
5890 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
5891 yyval.exp->loc = (yyloc);
5897 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5898 yyval.exp->loc = (yyloc);
5904 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5905 yyval.exp->loc = (yyloc);
5911 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
5912 yyval.exp->loc = (yyloc);
5918 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
5919 yyval.exp->loc = (yyloc);
5925 yyval.exp = MkExpOffsetOf(yyvsp[(3) - (6)].typeName, yyvsp[(5) - (6)].id);
5926 yyval.exp->loc = (yyloc);
5980 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
5981 yyval.exp->loc = (yyloc);
5987 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
5988 yyval.exp->loc = (yyloc);
5994 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
5995 yyval.exp->loc = (yyloc);
6001 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6002 yyval.exp->loc = (yyloc);
6008 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].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, LEFT_OP, yyvsp[(3) - (3)].exp);
6058 yyval.exp->loc = (yyloc);
6064 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6065 yyval.exp->loc = (yyloc);
6071 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6072 yyval.exp->loc = (yyloc);
6078 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6079 yyval.exp->loc = (yyloc);
6085 yyval.exp = yyvsp[(1) - (2)].exp;
6093 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6094 yyval.exp->loc = (yyloc);
6100 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6101 yyval.exp->loc = (yyloc);
6107 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6108 yyval.exp->loc = (yyloc);
6114 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6115 yyval.exp->loc = (yyloc);
6121 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].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, EQ_OP, yyvsp[(3) - (3)].exp);
6150 yyval.exp->loc = (yyloc);
6156 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6157 yyval.exp->loc = (yyloc);
6163 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6164 yyval.exp->loc = (yyloc);
6170 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_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, '&', yyvsp[(3) - (3)].exp);
6206 yyval.exp->loc = (yyloc);
6212 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6213 yyval.exp->loc = (yyloc);
6219 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6220 yyval.exp->loc = (yyloc);
6226 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', 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, AND_OP, yyvsp[(3) - (3)].exp);
6290 yyval.exp->loc = (yyloc);
6296 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6297 yyval.exp->loc = (yyloc);
6303 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6304 yyval.exp->loc = (yyloc);
6310 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6311 yyval.exp->loc = (yyloc);
6317 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6318 yyval.exp->loc = (yyloc);
6324 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6325 yyval.exp->loc = (yyloc);
6331 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6332 yyval.exp->loc = (yyloc);
6338 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].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 = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6430 yyval.exp->loc = (yyloc);
6436 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6437 yyval.exp->loc = (yyloc);
6443 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6444 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6445 yyval.exp->loc = (yyloc);
6451 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6452 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6453 yyval.exp->loc = (yyloc);
6459 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6460 yyval.exp->loc = (yyloc);
6466 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6467 yyval.exp->loc = (yyloc);
6473 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6474 yyval.exp->loc = (yyloc);
6480 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6481 yyval.exp->loc = (yyloc);
6493 yyval.i = MUL_ASSIGN;
6499 yyval.i = DIV_ASSIGN;
6505 yyval.i = MOD_ASSIGN;
6511 yyval.i = ADD_ASSIGN;
6517 yyval.i = SUB_ASSIGN;
6523 yyval.i = LEFT_ASSIGN;
6529 yyval.i = RIGHT_ASSIGN;
6535 yyval.i = AND_ASSIGN;
6541 yyval.i = XOR_ASSIGN;
6547 yyval.i = OR_ASSIGN;
6553 yyval.list = MkList();
6554 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6560 yyval.list = yyvsp[(1) - (3)].list;
6561 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6567 yyval.list = yyvsp[(1) - (3)].list;
6568 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6574 yyval.list = MkList();
6575 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6581 yyval.list = yyvsp[(1) - (3)].list;
6582 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6588 yyval.list = yyvsp[(1) - (3)].list;
6589 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6595 yyval.exp = MkExpDummy();
6596 yyval.exp->loc = (yyloc);
6602 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
6603 yyval.exp->loc = (yyloc);
6609 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6610 yyval.exp->loc = (yyloc);
6616 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6617 yyval.exp->loc = (yyloc);
6624 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6625 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6626 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6627 yyval.exp->loc = (yyloc);
6628 yyval.exp->__anon1.call.argLoc.end.charPos++;
6634 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6635 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6636 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6637 yyval.exp->loc = (yyloc);
6638 yyval.exp->__anon1.call.argLoc.end.charPos++;
6644 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6645 yyval.exp->loc = (yyloc);
6651 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6652 yyval.exp->loc = (yyloc);
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->__anon1.call.argLoc.end.charPos++;
6661 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6662 yyval.exp->loc = (yyloc);
6668 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
6669 yyval.exp->loc = (yyloc);
6675 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
6676 yyval.exp->loc = (yyloc);
6682 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6683 yyval.exp->loc = (yyloc);
6689 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6690 yyval.exp->loc = (yyloc);
6696 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
6697 yyval.exp->loc = (yyloc);
6703 yyval.exp = MkExpTypeSize(yyvsp[(3) - (5)].typeName);
6704 yyval.exp->loc = (yyloc);
6710 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6711 yyval.exp->loc = (yyloc);
6717 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6718 yyval.exp->loc = (yyloc);
6724 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
6725 yyval.exp->loc = (yyloc);
6731 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (5)].typeName);
6732 yyval.exp->loc = (yyloc);
6738 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
6739 yyval.exp->loc = (yyloc);
6745 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6746 yyval.exp->loc = (yyloc);
6752 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6753 yyval.exp->loc = (yyloc);
6759 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6760 yyval.exp->loc = (yyloc);
6766 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].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, LEFT_OP, yyvsp[(3) - (3)].exp);
6816 yyval.exp->loc = (yyloc);
6822 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6823 yyval.exp->loc = (yyloc);
6829 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6830 yyval.exp->loc = (yyloc);
6836 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6837 yyval.exp->loc = (yyloc);
6843 if(yyvsp[(1) - (2)].exp->type == 0)
6845 _DeclClass(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
6847 FreeExpression(yyvsp[(1) - (2)].exp);
6848 FreeExpression(yyvsp[(2) - (2)].exp);
6849 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
6850 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
6852 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
6853 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
6854 resetScannerPos(&(yylsp[(1) - (2)]).start);
6856 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6861 yy_stack_print((yyss), (yyssp));
6863 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6868 yy_stack_print((yyss), (yyssp));
6875 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6876 yyval.exp->loc = (yyloc);
6884 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6885 yyval.exp->loc = (yyloc);
6891 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6892 yyval.exp->loc = (yyloc);
6898 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6899 yyval.exp->loc = (yyloc);
6905 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6906 yyval.exp->loc = (yyloc);
6912 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6913 yyval.exp->loc = (yyloc);
6919 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6920 yyval.exp->loc = (yyloc);
6926 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6927 yyval.exp->loc = (yyloc);
6933 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6934 yyval.exp->loc = (yyloc);
6940 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6941 yyval.exp->loc = (yyloc);
6947 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6948 yyval.exp->loc = (yyloc);
6954 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6955 yyval.exp->loc = (yyloc);
6961 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6962 yyval.exp->loc = (yyloc);
6968 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6969 yyval.exp->loc = (yyloc);
6975 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6976 yyval.exp->loc = (yyloc);
6982 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6983 yyval.exp->loc = (yyloc);
6989 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6990 yyval.exp->loc = (yyloc);
6996 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6997 yyval.exp->loc = (yyloc);
7003 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7004 yyval.exp->loc = (yyloc);
7010 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7011 yyval.exp->loc = (yyloc);
7017 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7018 yyval.exp->loc = (yyloc);
7024 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7025 yyval.exp->loc = (yyloc);
7031 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7032 yyval.exp->loc = (yyloc);
7038 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7039 yyval.exp->loc = (yyloc);
7045 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7046 yyval.exp->loc = (yyloc);
7052 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7053 yyval.exp->loc = (yyloc);
7059 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7060 yyval.exp->loc = (yyloc);
7066 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7067 yyval.exp->loc = (yyloc);
7073 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7074 yyval.exp->loc = (yyloc);
7080 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7081 yyval.exp->loc = (yyloc);
7087 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7088 yyval.exp->loc = (yyloc);
7094 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7095 yyval.exp->loc = (yyloc);
7101 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7102 yyval.exp->loc = (yyloc);
7108 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7109 yyval.exp->loc = (yyloc);
7115 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7116 yyval.exp->loc = (yyloc);
7122 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7123 yyval.exp->loc = (yyloc);
7129 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7130 yyval.exp->loc = (yyloc);
7131 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7137 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7138 yyval.exp->loc = (yyloc);
7139 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7145 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7146 yyval.exp->loc = (yyloc);
7147 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7153 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7154 yyval.exp->loc = (yyloc);
7155 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7161 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7162 yyval.exp->loc = (yyloc);
7168 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7169 yyval.exp->loc = (yyloc);
7175 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7176 yyval.exp->loc = (yyloc);
7182 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7183 yyval.exp->loc = (yyloc);
7189 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7190 yyval.exp->loc = (yyloc);
7191 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7197 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7198 yyval.exp->loc = (yyloc);
7199 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7205 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7206 yyval.exp->loc = (yyloc);
7207 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7213 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7214 yyval.exp->loc = (yyloc);
7215 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7221 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7222 yyval.exp->loc = (yyloc);
7228 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7229 yyval.exp->loc = (yyloc);
7235 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7236 yyval.exp->loc = (yyloc);
7242 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7243 yyval.exp->loc = (yyloc);
7249 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7250 yyval.exp->loc = (yyloc);
7256 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7257 yyval.exp->loc = (yyloc);
7263 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7264 yyval.exp->loc = (yyloc);
7270 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7271 yyval.exp->loc = (yyloc);
7278 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7279 yyval.exp->loc = (yyloc);
7280 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7281 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7287 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7288 yyval.exp->loc = (yyloc);
7289 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7290 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7297 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7298 yyval.exp->loc = (yyloc);
7299 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7300 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7306 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7307 yyval.exp->loc = (yyloc);
7308 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7309 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7315 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7316 yyval.exp->loc = (yyloc);
7322 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7323 yyval.exp->loc = (yyloc);
7329 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7330 yyval.exp->loc = (yyloc);
7336 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7337 yyval.exp->loc = (yyloc);
7343 yyval.list = MkList();
7344 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7350 yyval.list = MkList();
7351 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7357 yyval.list = yyvsp[(1) - (3)].list;
7358 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7364 yyval.list = yyvsp[(1) - (3)].list;
7365 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7372 yyval.list = yyvsp[(1) - (2)].list;
7373 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7379 yyval.list = yyvsp[(1) - (2)].list;
7380 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7386 yyval.list = yyvsp[(1) - (2)].list;
7387 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7393 yyval.list = MkList();
7394 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7400 yyval.list = MkList();
7401 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7407 yyval.list = yyvsp[(1) - (3)].list;
7408 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7414 yyval.list = yyvsp[(1) - (3)].list;
7415 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7421 yyval.specifier = MkSpecifier(TYPEDEF);
7427 yyval.specifier = MkSpecifier(EXTERN);
7433 yyval.specifier = MkSpecifier(STATIC);
7439 yyval.specifier = MkSpecifier(THREAD);
7445 yyval.specifier = MkSpecifier(AUTO);
7451 yyval.specifier = MkSpecifier(REGISTER);
7457 yyval.specifier = MkSpecifier(RESTRICT);
7463 yyval.specifier = MkSpecifier(TYPEDEF);
7464 structDeclMode = declMode = 0;
7470 yyval.specifier = MkSpecifier(EXTERN);
7476 yyval.specifier = MkSpecifier(STATIC);
7477 structDeclMode = declMode = 3;
7483 yyval.specifier = MkSpecifier(THREAD);
7489 yyval.specifier = MkSpecifier(AUTO);
7495 yyval.specifier = MkSpecifier(REGISTER);
7501 yyval.specifier = MkSpecifier(RESTRICT);
7507 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
7513 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7519 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7525 yyval.list = MkList();
7526 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
7532 yyval.list = yyvsp[(1) - (3)].list;
7533 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
7539 memberAccessStack[++defaultMemberAccess] = 1;
7545 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
7546 if(defaultMemberAccess > -1)
7547 defaultMemberAccess--;
7553 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
7554 if(defaultMemberAccess > -1)
7555 defaultMemberAccess--;
7561 yyval.specifier->loc = (yyloc);
7562 if(defaultMemberAccess > -1)
7563 defaultMemberAccess--;
7564 yyval.specifier = yyvsp[(1) - (2)].specifier;
7570 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7571 yyval.specifier->loc = (yyloc);
7572 if(defaultMemberAccess > -1)
7573 defaultMemberAccess--;
7579 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7580 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7581 yyval.specifier->loc = (yyloc);
7582 if(defaultMemberAccess > -1)
7583 defaultMemberAccess--;
7589 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7590 yyval.specifier->loc = (yyloc);
7591 if(defaultMemberAccess > -1)
7592 defaultMemberAccess--;
7598 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7599 yyval.specifier->loc = (yyloc);
7600 if(defaultMemberAccess > -1)
7601 defaultMemberAccess--;
7607 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].list);
7608 yyval.specifier->loc = (yyloc);
7609 if(defaultMemberAccess > -1)
7610 defaultMemberAccess--;
7616 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7617 yyval.specifier->loc = (yyloc);
7618 if(defaultMemberAccess > -1)
7619 defaultMemberAccess--;
7625 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7626 yyval.specifier->loc = (yyloc);
7627 if(defaultMemberAccess > -1)
7628 defaultMemberAccess--;
7634 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7635 yyval.specifier->loc = (yyloc);
7636 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7637 if(defaultMemberAccess > -1)
7638 defaultMemberAccess--;
7644 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7645 yyval.specifier->loc = (yyloc);
7646 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7647 if(defaultMemberAccess > -1)
7648 defaultMemberAccess--;
7654 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list);
7655 yyval.specifier->loc = (yyloc);
7656 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7657 if(defaultMemberAccess > -1)
7658 defaultMemberAccess--;
7664 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7665 yyval.specifier->loc = (yyloc);
7666 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7667 if(defaultMemberAccess > -1)
7668 defaultMemberAccess--;
7674 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7675 yyval.specifier->loc = (yyloc);
7676 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7677 if(defaultMemberAccess > -1)
7678 defaultMemberAccess--;
7684 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7685 yyval.specifier->loc = (yyloc);
7686 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7687 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7688 if(defaultMemberAccess > -1)
7689 defaultMemberAccess--;
7695 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7696 yyval.specifier->loc = (yyloc);
7697 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7698 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7699 if(defaultMemberAccess > -1)
7700 defaultMemberAccess--;
7706 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7707 yyval.specifier->loc = (yyloc);
7708 if(defaultMemberAccess > -1)
7709 defaultMemberAccess--;
7715 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7716 yyval.specifier->loc = (yyloc);
7717 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7718 if(defaultMemberAccess > -1)
7719 defaultMemberAccess--;
7725 yyval.id = yyvsp[(2) - (2)].id;
7727 DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
7733 yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7735 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7736 FreeSpecifier(yyvsp[(2) - (2)].specifier);
7742 yyval.specifier = yyvsp[(1) - (2)].specifier;
7743 yyval.specifier->loc = (yyloc);
7749 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7750 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7751 yyval.specifier->loc = (yyloc);
7752 if(defaultMemberAccess > -1)
7753 defaultMemberAccess--;
7759 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7760 if(defaultMemberAccess > -1)
7761 defaultMemberAccess--;
7767 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list);
7768 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7769 yyval.specifier->loc = (yyloc);
7770 if(defaultMemberAccess > -1)
7771 defaultMemberAccess--;
7777 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7778 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7779 yyval.specifier->loc = (yyloc);
7780 if(defaultMemberAccess > -1)
7781 defaultMemberAccess--;
7787 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7788 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7789 yyval.specifier->loc = (yyloc);
7790 if(defaultMemberAccess > -1)
7791 defaultMemberAccess--;
7797 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7798 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7799 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7800 yyval.specifier->loc = (yyloc);
7801 if(defaultMemberAccess > -1)
7802 defaultMemberAccess--;
7808 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7809 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7810 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7811 yyval.specifier->loc = (yyloc);
7812 if(defaultMemberAccess > -1)
7813 defaultMemberAccess--;
7819 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7820 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7821 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7822 yyval.specifier->loc = (yyloc);
7823 if(defaultMemberAccess > -1)
7824 defaultMemberAccess--;
7830 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7831 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7832 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7833 yyval.specifier->loc = (yyloc);
7834 if(defaultMemberAccess > -1)
7835 defaultMemberAccess--;
7841 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
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) - (7)].id, (((void *)0)));
7853 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7854 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7855 yyval.specifier->loc = (yyloc);
7856 if(defaultMemberAccess > -1)
7857 defaultMemberAccess--;
7863 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7864 yyval.specifier->loc = (yyloc);
7865 if(defaultMemberAccess > -1)
7866 defaultMemberAccess--;
7872 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7873 yyval.specifier->loc = (yyloc);
7874 if(defaultMemberAccess > -1)
7875 defaultMemberAccess--;
7881 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].list);
7882 yyval.specifier->loc = (yyloc);
7883 if(defaultMemberAccess > -1)
7884 defaultMemberAccess--;
7890 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7891 yyval.specifier->loc = (yyloc);
7892 if(defaultMemberAccess > -1)
7893 defaultMemberAccess--;
7899 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7900 yyval.specifier->loc = (yyloc);
7901 if(defaultMemberAccess > -1)
7902 defaultMemberAccess--;
7908 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7909 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7910 yyval.specifier->loc = (yyloc);
7911 if(defaultMemberAccess > -1)
7912 defaultMemberAccess--;
7918 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7919 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7920 yyval.specifier->loc = (yyloc);
7921 if(defaultMemberAccess > -1)
7922 defaultMemberAccess--;
7928 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7929 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7930 yyval.specifier->loc = (yyloc);
7931 if(defaultMemberAccess > -1)
7932 defaultMemberAccess--;
7938 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7939 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7940 yyval.specifier->loc = (yyloc);
7941 if(defaultMemberAccess > -1)
7942 defaultMemberAccess--;
7948 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0)));
7949 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7950 yyval.specifier->loc = (yyloc);
7951 if(defaultMemberAccess > -1)
7952 defaultMemberAccess--;
7958 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7959 yyval.specifier->loc = (yyloc);
7960 if(defaultMemberAccess > -1)
7961 defaultMemberAccess--;
7967 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
7973 yyval.specifier = MkSpecifier(CONST);
7979 yyval.specifier = MkSpecifier(VOLATILE);
7985 yyval.specifier = yyvsp[(1) - (1)].specifier;
7991 yyval.list = MkList();
7992 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
7998 yyval.list = yyvsp[(1) - (2)].list;
7999 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8005 yyval.specifier = MkSpecifier(VOID);
8011 yyval.specifier = MkSpecifier(CHAR);
8017 yyval.specifier = MkSpecifier(SHORT);
8023 yyval.specifier = MkSpecifier(INT);
8029 yyval.specifier = MkSpecifier(UINT);
8035 yyval.specifier = MkSpecifier(INT64);
8041 yyval.specifier = MkSpecifier(VALIST);
8047 yyval.specifier = MkSpecifier(LONG);
8053 yyval.specifier = MkSpecifier(FLOAT);
8059 yyval.specifier = MkSpecifier(DOUBLE);
8065 yyval.specifier = MkSpecifier(SIGNED);
8071 yyval.specifier = MkSpecifier(UNSIGNED);
8077 yyval.specifier = MkSpecifier(EXTENSION);
8083 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8089 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8095 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8096 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8097 FreeIdentifier(yyvsp[(3) - (4)].id);
8103 yyval.specifier = MkSpecifier(THISCLASS);
8109 yyval.specifier = MkSpecifier(TYPED_OBJECT);
8115 yyval.specifier = MkSpecifier(ANY_OBJECT);
8121 yyval.specifier = MkSpecifier(_BOOL);
8127 yyval.specifier = MkSpecifier(BOOL);
8133 yyval.specifier = MkSpecifier(_COMPLEX);
8139 yyval.specifier = MkSpecifier(_IMAGINARY);
8145 yyval.specifier = MkSpecifier(VOID);
8151 yyval.specifier = MkSpecifier(CHAR);
8157 yyval.specifier = MkSpecifier(SHORT);
8163 yyval.specifier = MkSpecifier(INT);
8169 yyval.specifier = MkSpecifier(UINT);
8175 yyval.specifier = MkSpecifier(INT64);
8181 yyval.specifier = MkSpecifier(VALIST);
8187 yyval.specifier = MkSpecifier(LONG);
8193 yyval.specifier = MkSpecifier(FLOAT);
8199 yyval.specifier = MkSpecifier(DOUBLE);
8205 yyval.specifier = MkSpecifier(SIGNED);
8211 yyval.specifier = MkSpecifier(UNSIGNED);
8217 yyval.specifier = MkSpecifier(EXTENSION);
8223 yyval.specifier = MkSpecifier(_BOOL);
8229 yyval.specifier = MkSpecifier(BOOL);
8235 yyval.specifier = MkSpecifier(_COMPLEX);
8241 yyval.specifier = MkSpecifier(_IMAGINARY);
8247 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8253 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8259 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8260 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8261 FreeIdentifier(yyvsp[(3) - (4)].id);
8267 yyval.specifier = MkSpecifier(THISCLASS);
8273 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
8274 yyval.declarator->loc = (yyloc);
8280 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
8281 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
8282 yyval.declarator->loc = (yyloc);
8288 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8289 yyval.declarator->loc = (yyloc);
8295 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8296 yyval.declarator->loc = (yyloc);
8302 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8303 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8304 yyval.declarator->loc = (yyloc);
8310 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8311 yyval.declarator->loc = (yyloc);
8317 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8318 yyval.declarator->loc = (yyloc);
8324 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8325 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8326 yyval.declarator->loc = (yyloc);
8332 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8333 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8334 yyval.declarator->loc = (yyloc);
8340 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8341 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8342 yyval.declarator->loc = (yyloc);
8348 yyval.list = MkList();
8349 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
8355 yyval.list = yyvsp[(1) - (3)].list;
8356 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
8362 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
8363 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8364 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8370 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
8371 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8372 FreeSpecifier(yyvsp[(2) - (2)].specifier);
8378 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
8379 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8380 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8381 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8387 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
8388 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8389 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8390 FreeSpecifier(yyvsp[(3) - (3)].specifier);
8396 yyval.specifier = yyvsp[(1) - (2)].specifier;
8397 yyval.specifier->loc = (yyloc);
8403 yyval.specifier = yyvsp[(1) - (3)].specifier;
8404 yyval.specifier->loc = (yyloc);
8405 if(defaultMemberAccess > -1)
8406 defaultMemberAccess--;
8407 PopContext(curContext);
8413 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8414 yyval.specifier->loc = (yyloc);
8415 if(defaultMemberAccess > -1)
8416 defaultMemberAccess--;
8422 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8423 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8424 yyval.specifier->loc = (yyloc);
8425 if(defaultMemberAccess > -1)
8426 defaultMemberAccess--;
8432 yyval.specifier = yyvsp[(1) - (3)].specifier;
8433 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8434 if(defaultMemberAccess > -1)
8435 defaultMemberAccess--;
8436 PopContext(curContext);
8442 yyval.specifier = yyvsp[(1) - (3)].specifier;
8443 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8444 if(defaultMemberAccess > -1)
8445 defaultMemberAccess--;
8446 PopContext(curContext);
8452 yyval.specifier = yyvsp[(1) - (3)].specifier;
8453 if(defaultMemberAccess > -1)
8454 defaultMemberAccess--;
8455 PopContext(curContext);
8461 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8462 if(defaultMemberAccess > -1)
8463 defaultMemberAccess--;
8469 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8470 if(defaultMemberAccess > -1)
8471 defaultMemberAccess--;
8477 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8478 if(defaultMemberAccess > -1)
8479 defaultMemberAccess--;
8485 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8486 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8487 if(defaultMemberAccess > -1)
8488 defaultMemberAccess--;
8494 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8495 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8496 if(defaultMemberAccess > -1)
8497 defaultMemberAccess--;
8503 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8504 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8505 if(defaultMemberAccess > -1)
8506 defaultMemberAccess--;
8512 yyval.specifier = yyvsp[(1) - (1)].specifier;
8513 if(defaultMemberAccess > -1)
8514 defaultMemberAccess--;
8515 PopContext(curContext);
8521 yyval.specifier = yyvsp[(1) - (1)].specifier;
8524 (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);
8531 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);
8533 yyval.specifier = yyvsp[(1) - (4)].specifier;
8534 symbol->templateParams = yyvsp[(3) - (4)].list;
8540 yyval.specifier = yyvsp[(1) - (3)].specifier;
8541 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list;
8542 SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list);
8548 yyval.specifier = yyvsp[(1) - (2)].specifier;
8549 yyval.specifier->loc = (yyloc);
8555 yyval.specifier = yyvsp[(1) - (3)].specifier;
8556 if(defaultMemberAccess > -1)
8557 defaultMemberAccess--;
8558 PopContext(curContext);
8564 yyval.specifier = yyvsp[(1) - (3)].specifier;
8565 if(defaultMemberAccess > -1)
8566 defaultMemberAccess--;
8567 PopContext(curContext);
8573 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8574 if(defaultMemberAccess > -1)
8575 defaultMemberAccess--;
8581 yyval.specifier = yyvsp[(1) - (3)].specifier;
8582 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8583 if(defaultMemberAccess > -1)
8584 defaultMemberAccess--;
8585 PopContext(curContext);
8591 yyval.specifier = yyvsp[(1) - (3)].specifier;
8592 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8593 if(defaultMemberAccess > -1)
8594 defaultMemberAccess--;
8595 PopContext(curContext);
8601 yyval.specifier = yyvsp[(1) - (3)].specifier;
8602 if(defaultMemberAccess > -1)
8603 defaultMemberAccess--;
8604 PopContext(curContext);
8610 PopContext(curContext);
8613 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8614 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8615 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8618 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8619 if(defaultMemberAccess > -1)
8620 defaultMemberAccess--;
8626 PopContext(curContext);
8629 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8630 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8631 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8634 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8635 if(defaultMemberAccess > -1)
8636 defaultMemberAccess--;
8642 yyval.specifier = yyvsp[(1) - (3)].specifier;
8643 if(defaultMemberAccess > -1)
8644 defaultMemberAccess--;
8645 PopContext(curContext);
8651 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8652 if(defaultMemberAccess > -1)
8653 defaultMemberAccess--;
8659 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8660 if(defaultMemberAccess > -1)
8661 defaultMemberAccess--;
8667 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8668 if(defaultMemberAccess > -1)
8669 defaultMemberAccess--;
8675 yyval.specifierType = 3;
8676 memberAccessStack[++defaultMemberAccess] = 1;
8682 yyval.specifierType = 4;
8683 memberAccessStack[++defaultMemberAccess] = 1;
8689 yyval.list = MkList();
8690 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8696 yyval.list = yyvsp[(1) - (2)].list;
8697 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8703 yyval.list = MkList();
8704 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8710 yyval.list = yyvsp[(1) - (2)].list;
8711 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8717 yyval.list = MkList();
8718 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8724 yyval.list = yyvsp[(1) - (2)].list;
8725 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8731 yyval.list = MkList();
8732 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8738 yyval.list = yyvsp[(1) - (2)].list;
8739 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8745 yyval.list = MkList();
8746 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8752 yyval.list = yyvsp[(1) - (2)].list;
8753 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8759 yyval.list = MkList();
8760 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8766 yyval.list = yyvsp[(1) - (2)].list;
8767 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8773 yyval.list = MkList();
8774 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8780 yyval.list = yyvsp[(1) - (2)].list;
8781 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8787 yyval.list = MkList();
8788 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8794 yyval.list = yyvsp[(1) - (2)].list;
8795 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8801 yyval.list = MkList();
8802 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8808 yyval.list = yyvsp[(1) - (2)].list;
8809 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8815 yyval.list = MkList();
8816 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8822 yyval.list = yyvsp[(1) - (2)].list;
8823 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8829 yyval.list = MkList();
8830 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8836 yyval.list = yyvsp[(1) - (2)].list;
8837 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8843 yyval.list = MkList();
8844 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8850 yyval.list = yyvsp[(1) - (2)].list;
8851 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8857 yyval.list = MkList();
8858 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8864 yyval.list = yyvsp[(1) - (2)].list;
8865 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8871 yyval.list = MkList();
8872 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8878 yyval.list = yyvsp[(1) - (2)].list;
8879 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8885 yyval.list = MkList();
8886 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8892 yyval.list = yyvsp[(1) - (2)].list;
8893 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8899 yyval.list = MkList();
8900 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8906 yyval.list = yyvsp[(1) - (2)].list;
8907 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8913 yyval.list = MkList();
8914 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8920 yyval.list = yyvsp[(1) - (2)].list;
8921 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8927 yyval.list = MkList();
8928 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8934 yyval.list = yyvsp[(1) - (2)].list;
8935 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8941 yyval.list = MkList();
8942 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8948 yyval.list = yyvsp[(1) - (2)].list;
8949 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8955 yyval.list = MkList();
8956 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8962 yyval.list = yyvsp[(1) - (2)].list;
8963 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8969 yyval.list = MkList();
8970 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8976 yyval.list = yyvsp[(1) - (2)].list;
8977 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8983 yyval.list = MkList();
8984 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8990 yyval.list = yyvsp[(1) - (2)].list;
8991 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8997 yyval.list = MkList();
8998 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9004 yyval.list = yyvsp[(1) - (2)].list;
9005 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9011 yyval.list = MkList();
9012 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9018 yyval.list = yyvsp[(1) - (2)].list;
9019 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9025 yyval.list = MkList();
9026 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9032 yyval.list = yyvsp[(1) - (2)].list;
9033 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9039 yyval.list = MkList();
9040 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9046 yyval.list = yyvsp[(1) - (2)].list;
9047 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9053 yyval.list = MkList();
9054 ListAdd(yyval.list, MkSpecifier(PRIVATE));
9060 yyval.list = MkList();
9061 ListAdd(yyval.list, MkSpecifier(PUBLIC));
9067 yyval.list = MkList();
9068 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9074 yyval.list = yyvsp[(1) - (2)].list;
9075 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9081 yyval.list = MkList();
9082 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9088 yyval.list = yyvsp[(1) - (2)].list;
9089 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9095 yyval.list = MkList();
9096 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9102 yyval.list = yyvsp[(1) - (2)].list;
9103 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9109 _DeclClass(yyvsp[(1) - (1)].id->_class, yyvsp[(1) - (1)].id->string);
9110 yyval.list = MkListOne(MkSpecifierName(yyvsp[(1) - (1)].id->string));
9111 FreeIdentifier(yyvsp[(1) - (1)].id);
9117 yyval.list = yyvsp[(1) - (2)].list;
9118 _DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
9119 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9120 FreeIdentifier(yyvsp[(2) - (2)].id);
9126 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9127 yyval.list = MkList();
9128 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9129 FreeIdentifier(yyvsp[(1) - (4)].id);
9135 yyval.list = yyvsp[(1) - (5)].list;
9136 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9137 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9138 FreeIdentifier(yyvsp[(2) - (5)].id);
9144 yyval.list = MkListOne(MkStructOrUnion(yyvsp[(1) - (1)].specifierType, (((void *)0)), (((void *)0))));
9145 if(defaultMemberAccess > -1)
9146 defaultMemberAccess--;
9152 yyval.list = MkList();
9153 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9159 yyval.list = yyvsp[(1) - (2)].list;
9160 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9166 yyval.list = MkList();
9167 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9173 yyval.list = yyvsp[(1) - (2)].list;
9174 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9180 yyval.list = MkList();
9181 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9187 yyval.list = yyvsp[(1) - (2)].list;
9188 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9194 yyval.list = MkList();
9195 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9196 FreeIdentifier(yyvsp[(1) - (1)].id);
9201 yyval.list = yyvsp[(1) - (2)].list;
9202 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9203 FreeIdentifier(yyvsp[(2) - (2)].id);
9208 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9209 yyval.list = MkList();
9210 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9211 FreeIdentifier(yyvsp[(1) - (4)].id);
9217 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9218 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9219 FreeIdentifier(yyvsp[(2) - (5)].id);
9225 yyval.list = MkList();
9226 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9232 yyval.list = yyvsp[(1) - (2)].list;
9233 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9239 yyval.list = MkList();
9240 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9246 yyval.list = yyvsp[(1) - (2)].list;
9247 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9253 yyval.list = MkList();
9254 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9260 yyval.list = yyvsp[(1) - (2)].list;
9261 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9267 yyval.list = MkList();
9268 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9274 yyval.list = yyvsp[(1) - (2)].list;
9275 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9281 yyval.list = MkList();
9282 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9288 yyval.list = yyvsp[(1) - (2)].list;
9289 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9295 yyval.list = MkList();
9296 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9297 FreeIdentifier(yyvsp[(1) - (1)].id);
9302 yyval.list = yyvsp[(1) - (2)].list;
9303 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9304 FreeIdentifier(yyvsp[(2) - (2)].id);
9309 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9310 yyval.list = MkList();
9311 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9312 FreeIdentifier(yyvsp[(1) - (4)].id);
9318 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9319 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9320 FreeIdentifier(yyvsp[(2) - (5)].id);
9326 yyval.list = MkList();
9327 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9333 yyval.list = yyvsp[(1) - (2)].list;
9334 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9340 yyval.list = MkList();
9341 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9347 yyval.list = yyvsp[(1) - (2)].list;
9348 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9354 yyval.list = MkList();
9355 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9361 yyval.list = yyvsp[(1) - (2)].list;
9362 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9368 yyval.list = MkList();
9369 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9375 yyval.list = yyvsp[(1) - (2)].list;
9376 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9382 yyval.list = MkList();
9383 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9389 yyval.list = yyvsp[(1) - (2)].list;
9390 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9396 yyval.list = MkList();
9397 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9398 FreeIdentifier(yyvsp[(1) - (1)].id);
9403 yyval.list = yyvsp[(1) - (2)].list;
9404 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9405 FreeIdentifier(yyvsp[(2) - (2)].id);
9410 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9411 yyval.list = MkList();
9412 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9413 FreeIdentifier(yyvsp[(1) - (4)].id);
9419 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9420 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9421 FreeIdentifier(yyvsp[(2) - (5)].id);
9427 yyval.list = yyvsp[(1) - (3)].list;
9428 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9434 yyval.list = yyvsp[(1) - (3)].list;
9435 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9441 yyval.list = MkList();
9442 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
9448 yyval.list = yyvsp[(1) - (3)].list;
9449 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9455 yyval.list = yyvsp[(1) - (3)].list;
9456 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9462 yyval.list = yyvsp[(1) - (3)].list;
9463 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9469 yyval.list = yyvsp[(1) - (3)].list;
9470 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9476 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 1, 0);
9477 char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name;
9479 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
9480 FreeSpecifier(yyvsp[(1) - (1)].specifier);
9486 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier("uint"));
9492 struct Declarator * decl;
9493 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9494 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9496 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9497 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9498 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9504 struct Declarator * decl;
9505 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9506 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9508 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9509 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9510 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9516 struct Declarator * decl;
9517 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9518 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9520 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9521 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9522 yyval.declarator = MkDeclaratorEnumArray(decl, yyvsp[(3) - (4)].specifier);
9528 struct Declarator * decl;
9529 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
9530 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
9532 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9533 FreeSpecifier(yyvsp[(1) - (3)].specifier);
9534 yyval.declarator = MkDeclaratorEnumArray(decl, (((void *)0)));
9540 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9546 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9552 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9558 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9564 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
9570 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9576 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9582 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9588 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9594 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9600 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9606 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9612 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9618 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9624 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9630 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9636 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9642 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9648 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9649 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9650 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9652 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9653 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9655 resetScannerPos(&(yylsp[(1) - (2)]).end);
9656 (yyloc.start = (yylsp[(1) - (2)]).start);
9657 (yyloc.end = (yylsp[(1) - (2)]).end);
9663 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9664 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9665 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9667 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9668 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9670 resetScannerPos(&(yylsp[(1) - (2)]).end);
9671 (yyloc.start = (yylsp[(1) - (2)]).start);
9672 (yyloc.end = (yylsp[(1) - (2)]).end);
9678 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9679 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9680 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9682 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9683 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (3)]).end.pos, 0);
9685 resetScannerPos(&(yylsp[(1) - (3)]).end);
9686 (yyloc.start = (yylsp[(1) - (3)]).start);
9687 (yyloc.end = (yylsp[(1) - (3)]).end);
9693 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9694 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9695 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9697 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9698 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (4)]).end.pos, 0);
9700 resetScannerPos(&(yylsp[(1) - (4)]).end);
9701 (yyloc.start = (yylsp[(1) - (4)]).start);
9702 (yyloc.end = (yylsp[(1) - (4)]).end);
9703 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9704 FreeIdentifier(yyvsp[(3) - (4)].id);
9710 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9716 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9722 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9728 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9734 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9740 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9741 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9742 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9744 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9745 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9747 resetScannerPos(&(yylsp[(1) - (2)]).end);
9748 (yyloc.start = (yylsp[(1) - (2)]).start);
9749 (yyloc.end = (yylsp[(1) - (2)]).end);
9755 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9756 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9757 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9759 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9760 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9762 resetScannerPos(&(yylsp[(1) - (2)]).end);
9763 (yyloc.start = (yylsp[(1) - (2)]).start);
9764 (yyloc.end = (yylsp[(1) - (2)]).end);
9770 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9771 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9772 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9774 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9775 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (3)]).end.pos, 0);
9777 resetScannerPos(&(yylsp[(1) - (3)]).end);
9778 (yyloc.start = (yylsp[(1) - (3)]).start);
9779 (yyloc.end = (yylsp[(1) - (3)]).end);
9785 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9786 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9787 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9789 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9790 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (4)]).end.pos, 0);
9792 resetScannerPos(&(yylsp[(1) - (4)]).end);
9793 (yyloc.start = (yylsp[(1) - (4)]).start);
9794 (yyloc.end = (yylsp[(1) - (4)]).end);
9795 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9796 FreeIdentifier(yyvsp[(3) - (4)].id);
9802 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9808 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9814 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
9822 strcpy(temp, "__asm__(");
9823 strcat(temp, yyvsp[(3) - (4)].string);
9825 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(temp));
9826 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(3) - (4)].string), yyvsp[(3) - (4)].string = 0);
9838 yyval.i = ATTRIB_DEP;
9850 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9856 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9862 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9868 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9874 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9880 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
9881 yyval.attribute->loc = (yyloc);
9887 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
9888 yyval.attribute->loc = (yyloc);
9894 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
9900 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
9901 yyval.list = yyvsp[(1) - (2)].list;
9907 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
9908 yyval.list = yyvsp[(1) - (3)].list;
9914 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
9915 yyval.attrib->loc = (yyloc);
9921 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
9922 yyval.attrib->loc = (yyloc);
9928 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9934 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9940 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
9946 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
9952 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
9958 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
9964 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9970 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9976 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9982 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9988 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
9994 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10000 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10006 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10012 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10018 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10024 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
10030 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
10036 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
10042 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10048 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10054 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10060 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10066 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10072 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
10078 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
10084 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
10090 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
10096 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10102 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10108 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10114 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10120 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10126 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10132 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10138 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10144 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10150 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10156 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10162 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10168 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10174 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10180 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10186 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10192 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10198 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10204 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10210 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10216 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10222 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10228 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10234 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10240 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10246 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10252 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10258 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10264 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10270 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10276 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10277 yyval.initializer->loc = (yyloc);
10283 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10284 yyval.initializer->loc = (yyloc);
10290 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "extra comma\n", (((void *)0))));
10291 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10292 yyval.initializer->loc = (yyloc);
10294 struct Expression * exp = MkExpDummy();
10295 struct Initializer * init = MkInitializerAssignment(exp);
10297 init->loc = (yylsp[(3) - (4)]);
10298 exp->loc = (yylsp[(3) - (4)]);
10299 ListAdd(yyvsp[(2) - (4)].list, init);
10306 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10307 yyval.initializer->loc = (yyloc);
10313 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10314 yyval.initializer->loc = (yyloc);
10321 yyval.initializer = MkInitializerList(yyvsp[(2) - (2)].list);
10322 yyval.initializer->loc = (yyloc);
10328 yyval.initializer = MkInitializerList(yyvsp[(2) - (5)].list);
10329 yyval.initializer->loc = (yyloc);
10331 struct Expression * exp = MkExpDummy();
10332 struct Initializer * init = MkInitializerAssignment(exp);
10334 init->loc = (yylsp[(3) - (5)]);
10335 exp->loc = (yylsp[(3) - (5)]);
10336 ListAdd(yyvsp[(2) - (5)].list, init);
10344 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10345 yyval.initializer->loc = (yyloc);
10347 struct Expression * exp = MkExpDummy();
10348 struct Initializer * init = MkInitializerAssignment(exp);
10350 init->loc = (yylsp[(3) - (3)]);
10351 exp->loc = (yylsp[(3) - (3)]);
10352 ListAdd(yyvsp[(2) - (3)].list, init);
10359 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10360 yyval.initializer->loc = (yyloc);
10366 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10367 yyval.initializer->loc = (yyloc);
10373 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10374 yyval.initializer->loc = (yyloc);
10380 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10381 yyval.initializer->loc = (yyloc);
10387 yyval.list = MkList();
10388 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10394 yyval.list = MkList();
10395 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10401 yyval.list = yyvsp[(1) - (3)].list;
10402 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10408 yyval.list = yyvsp[(1) - (3)].list;
10409 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10416 yyval.list = yyvsp[(1) - (2)].list;
10417 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10423 yyval.list = yyvsp[(1) - (2)].list;
10424 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10430 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10431 yyval.initDeclarator->loc = (yyloc);
10437 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10438 yyval.initDeclarator->loc = (yyloc);
10444 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10445 yyval.initDeclarator->loc = (yyloc);
10446 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10452 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
10453 yyval.initDeclarator->loc = (yyloc);
10459 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10460 yyval.initDeclarator->loc = (yyloc);
10461 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10467 yyval.list = MkList();
10468 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10474 yyval.list = yyvsp[(1) - (3)].list;
10475 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10481 yyval.list = MkList();
10482 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), (((void *)0))));
10483 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10489 yyval.list = MkList();
10490 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), (((void *)0))));
10491 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10497 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
10498 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
10500 yyval.list = MkList();
10501 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
10502 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10503 FreeSpecifier(yyvsp[(1) - (3)].specifier);
10509 yyval.list = yyvsp[(1) - (3)].list;
10510 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10516 yyval.list = MkList();
10517 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10523 yyval.list = MkList();
10524 ListAdd(yyval.list, yyvsp[(1) - (2)].initDeclarator);
10530 yyval.list = yyvsp[(1) - (3)].list;
10531 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10537 yyval.list = yyvsp[(1) - (3)].list;
10538 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10544 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10550 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10556 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10562 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10568 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10574 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10580 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
10586 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
10592 yyval.typeName = MkTypeNameGuessDecl(yyvsp[(1) - (1)].list, (((void *)0)));
10598 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
10604 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10610 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10616 yyval.list = MkList();
10617 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10623 yyval.list = yyvsp[(1) - (3)].list;
10624 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10630 yyval.list = yyvsp[(1) - (4)].list;
10631 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10637 yyval.list = yyvsp[(1) - (3)].list;
10638 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10644 yyval.list = yyvsp[(1) - (4)].list;
10645 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10651 yyval.list = MkList();
10652 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10653 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10659 yyval.list = yyvsp[(1) - (3)].list;
10660 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10666 yyval.list = yyvsp[(1) - (4)].list;
10667 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10673 yyval.list = yyvsp[(1) - (3)].list;
10674 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10680 yyval.list = yyvsp[(1) - (4)].list;
10681 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10687 yyval.list = MkList();
10688 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10694 yyval.list = yyvsp[(1) - (3)].list;
10695 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10701 yyval.list = yyvsp[(1) - (3)].list;
10702 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10708 yyval.list = yyvsp[(1) - (4)].list;
10709 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10715 yyval.list = MkList();
10716 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10717 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10723 yyval.list = yyvsp[(1) - (3)].list;
10724 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10730 yyval.list = yyvsp[(1) - (3)].list;
10731 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10737 yyval.list = yyvsp[(1) - (4)].list;
10738 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10744 yyval.list = yyvsp[(1) - (3)].list;
10745 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10751 yyval.list = yyvsp[(1) - (3)].list;
10752 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10758 yyval.list = yyvsp[(1) - (3)].list;
10759 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10765 yyval.list = yyvsp[(1) - (3)].list;
10766 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10772 yyval.list = MkList();
10773 ListAdd(yyval.list, MkTypeName((((void *)0)), (((void *)0))));
10779 yyval.list = yyvsp[(1) - (3)].list;
10780 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
10786 yyval.stmt = MkExpressionStmt((((void *)0)));
10787 FreeAttrib(yyvsp[(1) - (1)].attrib);
10793 yyval.stmt = MkExpressionStmt((((void *)0)));
10799 yyval.stmt = MkExpressionStmt((((void *)0)));
10805 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
10806 yyval.stmt->loc = (yyloc);
10812 yyval.stmt = yyvsp[(1) - (1)].stmt;
10813 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10819 yyval.stmt = yyvsp[(1) - (1)].stmt;
10820 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10826 yyval.stmt = yyvsp[(1) - (1)].stmt;
10827 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10833 yyval.stmt = yyvsp[(1) - (1)].stmt;
10834 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10840 yyval.stmt = yyvsp[(1) - (1)].stmt;
10841 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10847 yyval.stmt = yyvsp[(1) - (2)].stmt;
10848 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10854 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (1)].list);
10855 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10856 yyval.stmt->loc = (yylsp[(1) - (1)]);
10862 yyval.asmField = MkAsmField(yyvsp[(1) - (1)].string, (((void *)0)), (((void *)0)));
10863 yyval.asmField->loc = (yylsp[(1) - (1)]);
10869 yyval.asmField = MkAsmField(yyvsp[(1) - (4)].string, yyvsp[(3) - (4)].exp, (((void *)0)));
10870 yyval.asmField->loc = (yyloc);
10876 yyval.asmField = MkAsmField(yyvsp[(4) - (7)].string, yyvsp[(6) - (7)].exp, yyvsp[(2) - (7)].id);
10877 yyval.asmField->loc = (yyloc);
10883 yyval.list = MkListOne(yyvsp[(1) - (1)].asmField);
10889 ListAdd(yyval.list, yyvsp[(3) - (3)].asmField);
10895 yyval.list = (((void *)0));
10901 yyval.stmt = MkAsmStmt(yyvsp[(2) - (6)].specifier, yyvsp[(4) - (6)].string, (((void *)0)), (((void *)0)), (((void *)0)));
10902 yyval.stmt->loc = (yyloc);
10908 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, yyvsp[(6) - (8)].list, (((void *)0)), (((void *)0)));
10909 yyval.stmt->loc = (yyloc);
10915 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list, (((void *)0)));
10916 yyval.stmt->loc = (yyloc);
10922 yyval.stmt = MkAsmStmt(yyvsp[(2) - (12)].specifier, yyvsp[(4) - (12)].string, yyvsp[(6) - (12)].list, yyvsp[(8) - (12)].list, yyvsp[(10) - (12)].list);
10923 yyval.stmt->loc = (yyloc);
10929 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, (((void *)0)), yyvsp[(6) - (8)].list, (((void *)0)));
10930 yyval.stmt->loc = (yyloc);
10936 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, (((void *)0)), yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list);
10937 yyval.stmt->loc = (yyloc);
10943 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, (((void *)0)), yyvsp[(8) - (10)].list);
10944 yyval.stmt->loc = (yyloc);
10950 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (5)].string, (((void *)0)), (((void *)0)), (((void *)0)));
10951 yyval.stmt->loc = (yyloc);
10957 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, yyvsp[(5) - (7)].list, (((void *)0)), (((void *)0)));
10958 yyval.stmt->loc = (yyloc);
10964 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, (((void *)0)));
10965 yyval.stmt->loc = (yyloc);
10971 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (11)].string, yyvsp[(5) - (11)].list, yyvsp[(7) - (11)].list, yyvsp[(9) - (11)].list);
10972 yyval.stmt->loc = (yyloc);
10978 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, (((void *)0)), yyvsp[(5) - (7)].list, (((void *)0)));
10979 yyval.stmt->loc = (yyloc);
10985 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, (((void *)0)), yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list);
10986 yyval.stmt->loc = (yyloc);
10992 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, (((void *)0)), yyvsp[(7) - (9)].list);
10993 yyval.stmt->loc = (yyloc);
10999 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11000 yyval.stmt->loc = (yyloc);
11006 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11007 yyval.stmt->loc = (yyloc);
11008 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11014 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11015 yyval.stmt->loc = (yyloc);
11016 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11022 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11023 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11024 yyval.stmt->loc = (yyloc);
11025 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11031 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11032 yyval.stmt->loc = (yyloc);
11038 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11040 stmt->loc = (yylsp[(3) - (3)]);
11041 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11042 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11043 yyval.stmt->loc = (yyloc);
11049 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11051 stmt->loc = (yylsp[(4) - (4)]);
11052 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11053 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11054 yyval.stmt->loc = (yyloc);
11055 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11061 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11063 stmt->loc = (yylsp[(4) - (4)]);
11064 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11065 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11066 yyval.stmt->loc = (yyloc);
11067 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11073 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11075 stmt->loc = (yylsp[(3) - (3)]);
11076 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11077 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11078 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11079 yyval.stmt->loc = (yyloc);
11080 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11086 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11088 stmt->loc = (yylsp[(3) - (3)]);
11089 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11090 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11091 yyval.stmt->loc = (yyloc);
11097 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11098 yyval.stmt->loc = (yyloc);
11104 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11105 yyval.stmt->loc = (yyloc);
11106 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11112 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11113 yyval.stmt->loc = (yyloc);
11114 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11120 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11121 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11122 yyval.stmt->loc = (yyloc);
11123 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11129 yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0)));
11130 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]);
11131 yyval.stmt->loc = (yyloc);
11132 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
11138 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11139 yyval.stmt->loc = (yyloc);
11145 yyval.stmt = MkCaseStmt((((void *)0)), (((void *)0)));
11146 yyval.stmt->loc = (yyloc);
11152 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11154 stmt->loc = (yylsp[(3) - (3)]);
11155 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11156 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11157 yyval.stmt->loc = (yyloc);
11163 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11165 stmt->loc = (yylsp[(4) - (4)]);
11166 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11167 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11168 yyval.stmt->loc = (yyloc);
11169 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11175 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11177 stmt->loc = (yylsp[(4) - (4)]);
11178 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11179 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11180 yyval.stmt->loc = (yyloc);
11181 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11187 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11189 stmt->loc = (yylsp[(3) - (3)]);
11190 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11191 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11192 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11193 yyval.stmt->loc = (yyloc);
11194 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11200 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11202 stmt->loc = (yylsp[(3) - (3)]);
11203 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11204 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11205 yyval.stmt->loc = (yyloc);
11211 yyval.declMode = structDeclMode = declMode = 1;
11217 yyval.declMode = structDeclMode = declMode = 2;
11223 yyval.declMode = structDeclMode = declMode = 0;
11229 yyval.declMode = 1;
11235 yyval.declMode = 2;
11241 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11242 yyval.declaration->loc = (yyloc);
11243 structDeclMode = defaultDeclMode;
11249 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11250 yyval.declaration->loc = (yyloc);
11251 structDeclMode = defaultDeclMode;
11257 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11258 yyval.declaration->loc = (yyloc);
11259 structDeclMode = defaultDeclMode;
11265 yyval.declaration = yyvsp[(1) - (2)].declaration;
11266 structDeclMode = defaultDeclMode;
11272 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11273 yyval.declaration->loc = (yyloc);
11279 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11280 yyval.declaration->loc = (yyloc);
11286 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11287 yyval.declaration->loc = (yyloc);
11293 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11294 yyval.declaration->loc = (yyloc);
11300 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
11301 yyval.declaration->loc = (yyloc);
11307 structDeclMode = declMode = 3;
11308 yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp);
11309 yyval.declaration->loc = (yyloc);
11315 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11316 yyval.declaration->loc = (yyloc);
11323 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11324 yyval.declaration->loc = (yyloc);
11325 structDeclMode = defaultDeclMode;
11331 structDeclMode = defaultDeclMode;
11337 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11338 yyval.declaration->loc = (yyloc);
11339 structDeclMode = defaultDeclMode;
11345 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11346 yyval.declaration->loc = (yyloc);
11347 structDeclMode = defaultDeclMode;
11353 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11354 yyval.declaration->loc = (yyloc);
11355 structDeclMode = defaultDeclMode;
11361 yyval.list = MkList();
11362 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11368 yyval.list = yyvsp[(1) - (2)].list;
11369 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11375 yyval.list = yyvsp[(1) - (2)].list;
11376 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11382 yyval.list = yyvsp[(1) - (3)].list;
11388 yyval.list = MkList();
11389 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11395 yyval.list = yyvsp[(1) - (2)].list;
11396 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11402 yyval.list = MkList();
11403 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11409 yyval.list = yyvsp[(1) - (2)].list;
11410 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11416 yyval.list = yyvsp[(1) - (2)].list;
11417 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11423 yyval.list = MkList();
11424 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11430 yyval.list = yyvsp[(1) - (2)].list;
11431 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11437 yyval.list = yyvsp[(1) - (2)].list;
11438 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11444 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11446 stmt->loc = (yylsp[(2) - (2)]);
11447 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11448 yyval.list = yyvsp[(1) - (2)].list;
11449 ListAdd(yyvsp[(1) - (2)].list, stmt);
11455 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11457 stmt->loc = (yylsp[(2) - (2)]);
11458 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11459 yyval.list = yyvsp[(1) - (2)].list;
11460 ListAdd(yyvsp[(1) - (2)].list, stmt);
11466 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11468 stmt->loc = (yylsp[(2) - (2)]);
11469 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11470 yyval.list = yyvsp[(1) - (2)].list;
11471 ListAdd(yyvsp[(1) - (2)].list, stmt);
11477 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11479 stmt->loc = (yylsp[(2) - (2)]);
11480 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11481 yyval.list = yyvsp[(1) - (2)].list;
11482 ListAdd(yyvsp[(1) - (2)].list, stmt);
11488 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11494 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11500 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11506 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11512 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11518 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11524 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11530 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11536 yyval.context = PushContext();
11542 yyval.stmt = yyvsp[(1) - (2)].stmt;
11543 yyval.stmt->loc = (yyloc);
11549 yyval.stmt = yyvsp[(2) - (2)].stmt;
11550 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11551 PopContext(yyvsp[(1) - (2)].context);
11552 yyval.stmt->loc = (yyloc);
11553 yyval.stmt->loc.end.charPos++;
11554 yyval.stmt->loc.end.pos++;
11560 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
11561 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context;
11562 PopContext(yyvsp[(1) - (1)].context);
11563 yyval.stmt->loc = (yyloc);
11564 yyval.stmt->loc.end.charPos++;
11565 yyval.stmt->loc.end.pos++;
11571 yyval.stmt = yyvsp[(2) - (2)].stmt;
11572 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11573 PopContext(yyvsp[(1) - (2)].context);
11574 yyval.stmt->loc = (yyloc);
11575 yyval.stmt->loc.end.charPos++;
11576 yyval.stmt->loc.end.pos++;
11582 yyval.stmt = MkExpressionStmt((((void *)0)));
11583 yyval.stmt->loc = (yyloc);
11589 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11590 yyval.stmt->loc = (yyloc);
11596 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11597 yyval.stmt->loc = (yyloc);
11603 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11604 yyval.stmt->loc = (yyloc);
11610 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11611 yyval.stmt->loc = (yyloc);
11617 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11618 yyval.stmt->loc = (yyloc);
11624 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11625 yyval.stmt->loc = (yyloc);
11631 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11632 yyval.stmt->loc = (yyloc);
11638 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11639 yyval.stmt->loc = (yyloc);
11645 yyval.stmt = MkIfStmt(yyvsp[(3) - (3)].list, (((void *)0)), (((void *)0)));
11646 yyval.stmt->loc = (yyloc);
11652 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11653 yyval.stmt->loc = (yyloc);
11659 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11660 yyval.stmt->loc = (yyloc);
11667 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
11668 yyval.stmt->loc = (yyloc);
11674 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
11675 yyval.stmt->loc = (yyloc);
11681 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11682 yyval.stmt->loc = (yyloc);
11688 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11689 yyval.stmt->loc = (yyloc);
11696 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
11697 yyval.stmt->loc = (yyloc);
11703 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11704 yyval.stmt->loc = (yyloc);
11710 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11711 yyval.stmt->loc = (yyloc);
11718 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
11719 yyval.stmt->loc = (yyloc);
11725 yyval.stmt = MkForEachStmt(yyvsp[(3) - (7)].id, yyvsp[(5) - (7)].list, (((void *)0)), yyvsp[(7) - (7)].stmt);
11726 yyval.stmt->loc = (yyloc);
11732 yyval.stmt = MkForEachStmt(yyvsp[(3) - (9)].id, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, yyvsp[(9) - (9)].stmt);
11733 yyval.stmt->loc = (yyloc);
11739 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
11740 yyval.stmt->loc = (yyloc);
11746 yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0)));
11747 yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]);
11748 yyval.stmt->loc = (yyloc);
11754 yyval.stmt = MkForStmt(yyvsp[(3) - (4)].stmt, (((void *)0)), (((void *)0)), (((void *)0)));
11755 yyval.stmt->loc = (yyloc);
11761 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0)));
11762 yyval.stmt->loc = (yyloc);
11763 yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]);
11769 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, yyvsp[(4) - (5)].stmt, yyvsp[(5) - (5)].list, (((void *)0)));
11770 yyval.stmt->loc = (yyloc);
11776 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11777 yyval.stmt->loc = (yyloc);
11783 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11784 yyval.stmt->loc = (yyloc);
11790 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11791 yyval.stmt->loc = (yyloc);
11798 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11799 yyval.stmt->loc = (yyloc);
11806 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11807 yyval.stmt->loc = (yyloc);
11813 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11814 yyval.stmt->loc = (yyloc);
11820 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (4)].stmt, (((void *)0)));
11821 yyval.stmt->loc = (yyloc);
11828 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (3)].stmt, (((void *)0)));
11829 yyval.stmt->loc = (yyloc);
11836 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (2)].stmt, (((void *)0)));
11837 yyval.stmt->loc = (yyloc);
11844 yyval.stmt = MkDoWhileStmt((((void *)0)), (((void *)0)));
11845 yyval.stmt->loc = (yyloc);
11851 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11852 yyval.stmt->loc = (yyloc);
11858 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11859 yyval.stmt->loc = (yyloc);
11865 yyval.stmt = MkWhileStmt(yyvsp[(3) - (3)].list, (((void *)0)));
11866 yyval.stmt->loc = (yyloc);
11872 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11873 yyval.stmt->loc = (yyloc);
11879 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11880 yyval.stmt->loc = (yyloc);
11886 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
11887 yyval.stmt->loc = (yyloc);
11893 yyval.stmt = MkContinueStmt();
11894 yyval.stmt->loc = (yyloc);
11900 yyval.stmt = MkBreakStmt();
11901 yyval.stmt->loc = (yyloc);
11907 struct Expression * exp = MkExpDummy();
11909 yyval.stmt = MkReturnStmt(MkListOne(exp));
11910 yyval.stmt->loc = (yyloc);
11911 exp->loc = (yylsp[(2) - (2)]);
11917 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
11918 yyval.stmt->loc = (yyloc);
11924 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
11925 yyval.stmt->loc = (yyloc);
11931 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
11932 yyval.stmt->loc = (yyloc);
11938 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
11939 yyval.stmt->loc = (yyloc);
11945 yyval.stmt = MkReturnStmt(yyvsp[(2) - (2)].list);
11946 yyval.stmt->loc = (yyloc);
11952 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (2)].exp));
11953 yyval.stmt->loc = (yyloc);
11959 struct Expression * exp = MkExpDummy();
11961 yyval.stmt = MkReturnStmt(MkListOne(exp));
11962 yyval.stmt->loc = (yyloc);
11963 exp->loc.start = exp->loc.end = (yylsp[(1) - (1)]).end;
11969 yyval.stmt = MkGotoStmt((((void *)0)));
11970 yyval.stmt->loc = (yyloc);
11976 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
11977 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
11978 yyval.function->loc = (yyloc);
11984 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
11985 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
11986 yyval.function->loc = (yyloc);
11992 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
11993 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
11994 yyval.function->loc = (yyloc);
12000 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12001 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12002 yyval.function->loc = (yyloc);
12008 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12009 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12010 yyval.function->loc = (yyloc);
12016 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12017 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12018 yyval.function->loc = (yyloc);
12024 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12025 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12026 yyval.function->loc = (yyloc);
12027 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12033 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12034 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12035 yyval.function->loc = (yyloc);
12036 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12042 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12043 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12044 yyval.function->loc = (yyloc);
12045 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12051 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12052 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12053 yyval.function->loc = (yyloc);
12054 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12060 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12061 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12062 yyval.function->loc = (yyloc);
12063 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12069 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12070 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12071 yyval.function->loc = (yyloc);
12072 yyval.function->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
12078 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
12084 int len1 = strlen(yyvsp[(1) - (2)].string);
12085 int len2 = strlen(yytext);
12087 yyval.string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len1 - 1 + len2 - 1 + 1));
12088 memcpy(yyval.string, yyvsp[(1) - (2)].string, len1 - 1);
12089 memcpy(yyval.string + len1 - 1, yytext + 1, len2);
12090 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (2)].string), yyvsp[(1) - (2)].string = 0);
12096 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12097 yyval.external->loc = (yyloc);
12098 yyvsp[(1) - (1)].function->declMode = declMode;
12099 structDeclMode = declMode = defaultDeclMode;
12105 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12106 yyval.external->loc = (yyloc);
12107 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12108 structDeclMode = declMode = defaultDeclMode;
12114 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12115 yyval.external->loc = (yyloc);
12116 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12117 structDeclMode = declMode = defaultDeclMode;
12118 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12124 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12125 yyval.external->loc = (yyloc);
12126 yyvsp[(1) - (1)].declaration->declMode = declMode;
12127 structDeclMode = declMode = defaultDeclMode;
12133 yyval.external = MkExternalImport(yyvsp[(2) - (2)].string, 0, (declMode != 0) ? declMode : 2);
12134 yyval.external->loc = (yyloc);
12140 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 1, (declMode != 0) ? declMode : 2);
12141 yyval.external->loc = (yyloc);
12147 unsigned int isRemote = !strcmp(yyvsp[(2) - (3)].id->string, "remote");
12149 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, isRemote ? 2 : 0, (declMode != 0) ? declMode : 2);
12150 yyval.external->loc = (yyloc);
12151 FreeIdentifier(yyvsp[(2) - (3)].id);
12159 yyval.external = (((void *)0));
12165 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12166 yyval.external->loc = (yyloc);
12167 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12168 structDeclMode = declMode = defaultDeclMode;
12174 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12175 yyval.external->loc = (yyloc);
12176 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12177 structDeclMode = declMode = defaultDeclMode;
12183 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12184 yyval.external->loc = (yyloc);
12185 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12186 structDeclMode = declMode = defaultDeclMode;
12192 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2);
12193 yyval.external->loc = (yyloc);
12194 structDeclMode = declMode = defaultDeclMode;
12200 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12201 yyval.external->loc = (yyloc);
12202 structDeclMode = declMode = defaultDeclMode;
12208 unsigned int isRemote = !strcmp(yyvsp[(3) - (4)].id->string, "remote");
12210 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12211 yyval.external->loc = (yyloc);
12212 FreeIdentifier(yyvsp[(3) - (4)].id);
12213 structDeclMode = declMode = defaultDeclMode;
12221 defaultDeclMode = yyvsp[(1) - (2)].declMode;
12222 yyval.external = (((void *)0));
12228 defaultDeclMode = 3;
12229 yyval.external = (((void *)0));
12235 yyval.external = MkExternalNameSpace(yyvsp[(2) - (2)].id);
12236 yyval.external->loc = (yyloc);
12242 yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name));
12243 FreeSpecifier(yyvsp[(2) - (2)].specifier);
12244 yyval.external->loc = (yyloc);
12250 yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef);
12251 yyval.external->loc = (yyloc);
12252 yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2;
12253 structDeclMode = declMode = defaultDeclMode;
12259 yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef);
12260 yyval.external->loc = (yyloc);
12261 yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2;
12262 structDeclMode = declMode = defaultDeclMode;
12269 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12270 yyval.external->loc = yyvsp[(1) - (1)]._class->loc;
12271 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12272 structDeclMode = declMode = defaultDeclMode;
12279 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12280 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12281 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12282 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12283 structDeclMode = declMode = defaultDeclMode;
12290 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12291 yyval.external->loc = yyvsp[(1) - (1)].function->loc;
12292 yyvsp[(1) - (1)].function->declMode = declMode;
12293 structDeclMode = declMode = defaultDeclMode;
12300 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12301 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12302 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12303 structDeclMode = declMode = defaultDeclMode;
12310 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12311 yyval.external->loc = yyvsp[(2) - (2)].function->loc;
12312 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12313 structDeclMode = declMode = defaultDeclMode;
12320 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12321 yyval.external->loc = (yyloc);
12322 yyvsp[(1) - (1)].declaration->declMode = declMode;
12323 structDeclMode = declMode = defaultDeclMode;
12330 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12331 yyval.external->loc = (yyloc);
12332 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12333 structDeclMode = declMode = defaultDeclMode;
12339 yyval.list = MkList();
12340 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12347 yyval.list = yyvsp[(1) - (2)].list;
12348 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12354 yyval.list = yyvsp[(1) - (2)].list;
12355 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12361 yyval.list = MkList();
12362 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12369 yyval.list = yyvsp[(1) - (2)].list;
12370 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12376 struct External * _class = MkExternalClass(yyvsp[(2) - (2)]._class);
12378 yyval.list = yyvsp[(1) - (2)].list;
12379 ListAdd(yyvsp[(1) - (2)].list, _class);
12380 _class->loc = (yylsp[(2) - (2)]);
12381 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12382 structDeclMode = declMode = defaultDeclMode;
12388 struct External * _class = MkExternalClass(yyvsp[(3) - (3)]._class);
12390 yyval.list = yyvsp[(1) - (3)].list;
12391 ListAdd(yyvsp[(1) - (3)].list, _class);
12392 _class->loc = (yylsp[(3) - (3)]);
12393 yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2;
12394 structDeclMode = declMode = defaultDeclMode;
12406 struct Symbol * symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
12408 FreeIdentifier(yyvsp[(3) - (6)].id);
12409 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12415 struct Symbol * symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
12417 FreeSpecifier(yyvsp[(3) - (6)].specifier);
12418 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12424 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (5)].string, (((void *)0)), yyvsp[(4) - (5)].list);
12430 yyval.dbtableEntry = MkDBFieldEntry(MkTypeName(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(2) - (4)].id, yyvsp[(3) - (4)].string);
12436 yyval.dbindexItem = MkDBIndexItem(yyvsp[(1) - (1)].id, 0);
12442 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 1);
12448 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 0);
12454 yyval.list = MkList();
12455 ListAdd(yyval.list, yyvsp[(1) - (1)].dbindexItem);
12461 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].dbindexItem);
12467 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (3)].list, (((void *)0)));
12473 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].id);
12479 yyval.list = MkList();
12480 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12486 yyval.list = MkList();
12487 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12493 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12499 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12505 yyval.exp = MkExpDBOpen(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].exp);
12511 yyval.exp = MkExpDBField(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12517 yyval.exp = MkExpDBIndex(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12523 yyval.exp = MkExpDBTable(yyvsp[(3) - (4)].string);
12534 fprintf((bsl_stderr()), "%s ", "-> $$ =");
12535 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
12536 fprintf((bsl_stderr()), "\n");
12539 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12544 yy_stack_print((yyss), (yyssp));
12549 yystate = yypgoto[yyn - 145] + *yyssp;
12550 if(0 <= yystate && yystate <= 42445 && yycheck[yystate] == *yyssp)
12551 yystate = yytable[yystate];
12553 yystate = yydefgoto[yyn - 145];
12559 yyerror("syntax error");
12561 yyerror_range[0] = yylloc;
12562 if(yyerrstatus == 3)
12571 yydestruct("Error: discarding", yytoken, &yylval, &yylloc);
12579 yyerror_range[0] = yylsp[1 - yylen];
12580 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12585 yy_stack_print((yyss), (yyssp));
12593 yyn = yypact[yystate];
12597 if(0 <= yyn && yyn <= 42445 && yycheck[yyn] == 1)
12599 yyn = yytable[yyn];
12606 yyerror_range[0] = *yylsp;
12607 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
12608 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
12613 yy_stack_print((yyss), (yyssp));
12617 yyerror_range[1] = yylloc;
12618 (yyloc.start = ((yyerror_range - 1))[1].start);
12619 (yyloc.end = ((yyerror_range - 1))[2].end);
12626 fprintf((bsl_stderr()), "%s ", "Shifting");
12627 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
12628 fprintf((bsl_stderr()), "\n");
12640 yyerror("memory exhausted");
12644 yydestruct("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc);
12645 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12649 yy_stack_print((yyss), (yyssp));
12651 while(yyssp != yyss)
12653 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
12654 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));