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
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, 138, 2, 2, 132, 140, 135, 2, 122, 123, 119, 136, 127, 137, 130, 139, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 131, 125, 120, 126, 121, 143, 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, 133, 2, 134, 141, 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, 129, 142, 128, 124, 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
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, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285, 1287, 1289, 1294, 1296, 1300, 1304, 1308, 1312, 1316, 1320, 1322, 1326, 1330, 1334, 1338, 1340, 1344, 1348, 1352, 1356, 1359, 1361, 1364, 1368, 1372, 1376, 1380, 1384, 1388, 1392, 1394, 1398, 1402, 1406, 1410, 1414, 1418, 1422, 1426, 1428, 1432, 1436, 1440, 1444, 1446, 1450, 1454, 1458, 1462, 1464, 1468, 1472, 1476, 1480, 1482, 1486, 1490, 1492, 1496, 1500, 1502, 1508, 1514, 1520, 1526, 1532, 1538, 1544, 1550, 1556, 1562, 1568, 1574, 1580, 1586, 1592, 1598, 1600, 1604, 1608, 1612, 1616, 1620, 1624, 1628, 1632, 1634, 1636, 1638, 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1660, 1664, 1667, 1669, 1673, 1677, 1679, 1681, 1684, 1687, 1691, 1695, 1699, 1703, 1707, 1711, 1715, 1718, 1721, 1724, 1727, 1730, 1736, 1743, 1750, 1753, 1759, 1761, 1763, 1765, 1770, 1772, 1776, 1780, 1784, 1788, 1792, 1796, 1798, 1802, 1806, 1810, 1814, 1816, 1820, 1824, 1828, 1832, 1834, 1837, 1841, 1845, 1849, 1853, 1857, 1861, 1865, 1867, 1871, 1875, 1879, 1883, 1887, 1891, 1895, 1899, 1901, 1905, 1909, 1913, 1917, 1919, 1923, 1927, 1931, 1935, 1937, 1941, 1945, 1949, 1953, 1955, 1959, 1963, 1965, 1969, 1973, 1975, 1981, 1987, 1993, 1999, 2004, 2009, 2014, 2019, 2025, 2031, 2037, 2043, 2048, 2053, 2058, 2063, 2069, 2075, 2081, 2087, 2093, 2099, 2105, 2111, 2115, 2119, 2122, 2125, 2127, 2131, 2135, 2139, 2143, 2145, 2148, 2152, 2156, 2159, 2162, 2165, 2167, 2170, 2174, 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 2210, 2212, 2216, 2220, 2222, 2226, 2229, 2231, 2234, 2237, 2240, 2245, 2250, 2254, 2258, 2263, 2269, 2274, 2281, 2288, 2293, 2299, 2304, 2311, 2318, 2324, 2330, 2333, 2336, 2339, 2345, 2349, 2355, 2362, 2368, 2376, 2384, 2393, 2402, 2410, 2418, 2422, 2426, 2430, 2435, 2439, 2445, 2451, 2458, 2466, 2473, 2478, 2480, 2482, 2484, 2486, 2488, 2490, 2492, 2494, 2496, 2499, 2501, 2503, 2505, 2507, 2509, 2511, 2513, 2515, 2517, 2519, 2521, 2523, 2525, 2527, 2529, 2531, 2536, 2541, 2546, 2548, 2550, 2552, 2554, 2556, 2558, 2560, 2562, 2564, 2566, 2568, 2570, 2572, 2574, 2576, 2578, 2580, 2582, 2584, 2586, 2588, 2590, 2592, 2594, 2596, 2598, 2600, 2605, 2610, 2615, 2617, 2619, 2622, 2625, 2629, 2635, 2638, 2642, 2648, 2654, 2660, 2662, 2666, 2669, 2672, 2676, 2680, 2683, 2687, 2691, 2696, 2700, 2704, 2708, 2712, 2716, 2720, 2725, 2730, 2735, 2737, 2739, 2744, 2748, 2751, 2755, 2759, 2763, 2767, 2771, 2775, 2779, 2783, 2787, 2791, 2795, 2799, 2801, 2803, 2805, 2808, 2810, 2813, 2815, 2818, 2820, 2823, 2825, 2828, 2830, 2833, 2835, 2838, 2840, 2843, 2845, 2848, 2850, 2853, 2855, 2858, 2860, 2863, 2865, 2868, 2870, 2873, 2875, 2878, 2880, 2883, 2885, 2888, 2890, 2893, 2895, 2898, 2900, 2903, 2905, 2908, 2910, 2913, 2915, 2918, 2920, 2923, 2925, 2928, 2930, 2933, 2935, 2937, 2939, 2942, 2944, 2947, 2949, 2952, 2954, 2957, 2962, 2968, 2970, 2972, 2974, 2977, 2979, 2982, 2984, 2987, 2989, 2992, 2997, 3003, 3005, 3008, 3010, 3013, 3015, 3018, 3020, 3023, 3025, 3028, 3030, 3033, 3038, 3044, 3046, 3049, 3051, 3054, 3056, 3059, 3061, 3064, 3066, 3069, 3071, 3074, 3079, 3085, 3089, 3093, 3095, 3099, 3103, 3107, 3111, 3113, 3115, 3117, 3122, 3127, 3132, 3136, 3141, 3146, 3151, 3155, 3157, 3161, 3166, 3170, 3175, 3180, 3185, 3190, 3194, 3197, 3201, 3205, 3209, 3213, 3216, 3219, 3222, 3226, 3231, 3233, 3235, 3238, 3242, 3246, 3250, 3254, 3257, 3260, 3263, 3267, 3272, 3274, 3276, 3278, 3280, 3282, 3287, 3289, 3291, 3293, 3295, 3297, 3299, 3301, 3303, 3305, 3310, 3312, 3315, 3319, 3326, 3332, 3336, 3341, 3344, 3348, 3352, 3356, 3360, 3365, 3370, 3375, 3378, 3382, 3386, 3390, 3395, 3400, 3404, 3409, 3412, 3416, 3420, 3424, 3429, 3434, 3436, 3439, 3442, 3446, 3448, 3450, 3453, 3456, 3460, 3462, 3464, 3467, 3470, 3474, 3476, 3479, 3483, 3486, 3489, 3491, 3494, 3498, 3501, 3503, 3506, 3510, 3514, 3516, 3519, 3523, 3527, 3529, 3532, 3536, 3540, 3542, 3545, 3549, 3553, 3555, 3558, 3562, 3566, 3568, 3572, 3577, 3579, 3584, 3587, 3593, 3597, 3599, 3601, 3603, 3605, 3607, 3609, 3613, 3617, 3620, 3623, 3625, 3627, 3631, 3634, 3638, 3640, 3644, 3648, 3652, 3656, 3660, 3662, 3665, 3669, 3673, 3675, 3678, 3680, 3683, 3686, 3689, 3692, 3696, 3698, 3700, 3704, 3708, 3710, 3714, 3719, 3723, 3728, 3732, 3736, 3741, 3745, 3750, 3752, 3756, 3760, 3765, 3769, 3773, 3777, 3782, 3784, 3788, 3792, 3796, 3800, 3804, 3806, 3810, 3813, 3815, 3817, 3819, 3821, 3823, 3826, 3828, 3830, 3832, 3834, 3837, 3840, 3843, 3845, 3847, 3849, 3851, 3853, 3856, 3858, 3860, 3865, 3873, 3875, 3879, 3880, 3887, 3896, 3907, 3920, 3929, 3940, 3951, 3957, 3965, 3975, 3987, 3995, 4005, 4015, 4019, 4024, 4029, 4033, 4037, 4041, 4046, 4051, 4055, 4059, 4063, 4068, 4073, 4077, 4080, 4084, 4087, 4091, 4096, 4101, 4105, 4109, 4111, 4113, 4115, 4117, 4119, 4122, 4126, 4129, 4132, 4135, 4139, 4143, 4146, 4152, 4159, 4162, 4165, 4168, 4171, 4174, 4177, 4179, 4182, 4185, 4189, 4191, 4194, 4196, 4199, 4202, 4204, 4207, 4210, 4213, 4216, 4219, 4222, 4224, 4226, 4229, 4232, 4234, 4236, 4239, 4242, 4244, 4247, 4250, 4252, 4255, 4257, 4260, 4263, 4269, 4275, 4283, 4291, 4297, 4303, 4307, 4310, 4316, 4321, 4326, 4334, 4341, 4348, 4354, 4362, 4369, 4374, 4382, 4392, 4396, 4401, 4406, 4412, 4418, 4425, 4433, 4440, 4447, 4453, 4459, 4464, 4468, 4471, 4473, 4476, 4481, 4485, 4491, 4496, 4500, 4503, 4506, 4509, 4513, 4517, 4521, 4525, 4528, 4531, 4533, 4535, 4540, 4544, 4549, 4553, 4557, 4560, 4565, 4569, 4574, 4578, 4582, 4585, 4587, 4590, 4592, 4594, 4597, 4599, 4602, 4606, 4610, 4612, 4615, 4618, 4621, 4625, 4630, 4635, 4638, 4641, 4644, 4647, 4649, 4652, 4654, 4657, 4659, 4662, 4665, 4667, 4670, 4672, 4675, 4678, 4681, 4684, 4686, 4689, 4692, 4696, 4698, 4700, 4701, 4708, 4715, 4721, 4726, 4728, 4731, 4734, 4736, 4740, 4744, 4749, 4751, 4753, 4756, 4759, 4766, 4773, 4780
93 static const yytype_int16 yyrhs[] =
95 390, 0, -1, 216, 119, -1, 216, 120, -1, 149, -1, 216, 216, -1, 28, -1, 28, -1, 147, -1, 147, 120, 210, 121, -1, 147, 120, 210, 11, -1, 299, 334, -1, 332, -1, 299, 122, 123, -1, 124, 299, 122, 123, -1, 78, 299, 334, -1, 78, 332, -1, 299, 335, -1, 333, -1, 78, 299, 335, -1, 78, 333, -1, 150, 374, -1, 153, 374, -1, 153, 125, -1, 151, 374, -1, 152, 374, -1, 150, 125, -1, 150, 324, 125, -1, 150, 375, -1, 154, -1, 153, 375, -1, 155, -1, 155, 125, -1, 298, 334, -1, 298, 336, -1, 298, 335, -1, 158, 374, -1, 158, 375, -1, 159, -1, 158, -1, 224, 126, 339, -1, 339, -1, 224, 126, 340, -1, 224, 126, 1, -1, 340, -1, 162, -1, 164, 127, 162, -1, 165, 127, 162, -1, 163, -1, 164, 127, 163, -1, 165, 127, 163, -1, 164, 127, 1, -1, 165, 127, 1, -1, 127, -1, 164, 125, -1, 165, 125, -1, 166, -1, 160, -1, 169, 166, -1, 169, 160, -1, 167, 166, -1, 167, 160, -1, 169, 125, -1, 167, 125, -1, 125, -1, 167, -1, 164, -1, 167, 164, -1, 169, 164, -1, 161, -1, 168, 161, -1, 169, 161, -1, 167, 161, -1, 167, 165, -1, 165, -1, 164, 1, -1, 171, 128, -1, 171, 1, 128, -1, 298, 216, 129, 169, -1, 298, 216, 129, 168, 1, -1, 298, 216, 129, 168, -1, 298, 216, 129, -1, 298, 216, 129, 1, -1, 173, 128, -1, 173, 1, 128, -1, 299, 216, 129, 169, -1, 299, 216, 129, 168, 1, -1, 299, 216, 129, 168, -1, 299, 216, 129, -1, 299, 216, 129, 1, -1, 300, 216, 129, 168, 128, -1, 300, 216, 129, 169, 128, -1, 300, 216, 129, 128, -1, 176, 128, -1, 176, 1, 128, -1, 149, 129, 168, -1, 216, 129, 168, -1, 149, 129, 169, -1, 149, 129, -1, 149, 129, 168, 1, -1, 149, 129, 1, -1, 216, 129, 169, -1, 216, 129, -1, 216, 129, 168, 1, -1, 216, 129, 1, -1, 178, 128, -1, 178, 1, 128, -1, 129, 169, -1, 129, 168, 1, -1, 129, 1, -1, 129, -1, 129, 168, -1, 224, 126, 339, -1, 224, 126, 340, -1, 224, 126, 1, -1, 224, 1, -1, 179, -1, 181, 127, 179, -1, 182, 127, 179, -1, 180, -1, 181, 127, 180, -1, 182, 127, 180, -1, 181, 1, -1, 68, 304, 216, 129, -1, 68, 304, 328, 216, 129, -1, 68, 304, 129, -1, 68, 304, 328, 129, -1, 68, 1, 129, -1, 183, -1, 184, 69, 374, -1, 184, 70, 374, -1, 184, 95, 374, -1, 184, 91, -1, 184, 97, 218, -1, 184, 128, -1, 99, 304, 216, 129, -1, 99, 304, 328, 216, 129, -1, 99, 304, 129, -1, 99, 304, 328, 129, -1, 99, 1, 129, -1, 186, -1, 187, 69, 374, -1, 187, 70, 374, -1, 187, 128, -1, 216, -1, 189, 216, -1, 189, 374, -1, 73, 374, -1, 190, -1, 191, 190, -1, 88, 122, 189, 123, 374, -1, 88, 122, 243, 123, 129, 191, 128, -1, 243, 130, 88, 122, 243, 123, 129, 191, 128, -1, 89, 122, 243, 127, 189, 123, -1, 243, 130, 89, 122, 243, 127, 189, 123, -1, 89, 122, 243, 123, -1, 243, 130, 89, 122, 243, 123, -1, 90, -1, 90, 189, -1, 224, 130, 90, -1, 243, 130, 90, 189, -1, 197, 125, -1, 181, 125, -1, 156, -1, 185, -1, 362, 156, -1, 362, 185, -1, 188, -1, 91, -1, 93, -1, 94, -1, 99, 122, 216, 123, 126, 339, 125, -1, 125, -1, 362, 131, -1, 362, 122, 216, 123, -1, 157, -1, 299, -1, 299, 286, -1, 362, 299, 286, -1, 362, 299, -1, 362, 175, -1, 362, 172, -1, 98, 299, 286, -1, 192, -1, 92, 216, -1, 92, 149, -1, 96, 216, -1, 175, -1, 172, -1, 181, -1, 173, 1, -1, 176, 1, -1, 362, 157, -1, 362, 173, 1, -1, 362, 176, 1, -1, 182, -1, 196, -1, 198, 196, -1, 199, 196, -1, 197, -1, 198, 1, -1, 199, 1, -1, 198, 197, -1, 199, 197, -1, 299, -1, 299, 328, -1, 299, -1, 299, 328, -1, 65, 216, -1, 65, 216, 126, 201, -1, 65, 216, 131, 200, -1, 65, 216, 131, 200, 126, 201, -1, 65, 148, -1, 65, 148, 126, 201, -1, 65, 148, 131, 200, -1, 65, 148, 131, 200, 126, 201, -1, 216, -1, 216, -1, 216, 126, 203, -1, 233, -1, 299, 216, 126, 205, -1, 299, 328, 216, 126, 205, -1, 202, -1, 204, -1, 206, -1, 207, -1, 208, 127, 207, -1, 205, -1, 203, -1, 201, -1, 216, 126, 205, -1, 216, 126, 203, -1, 216, 126, 201, -1, 209, -1, 210, 127, 209, -1, 65, -1, 211, 216, -1, 211, 147, -1, 216, 211, 216, -1, 216, 211, 147, -1, 211, 216, 120, 208, 121, -1, 211, 147, 120, 208, 121, -1, 216, 211, 216, 120, 208, 121, -1, 216, 211, 147, 120, 208, 121, -1, 215, 128, -1, 214, 125, -1, 212, 129, 128, -1, 214, 129, 128, -1, 211, 216, 125, -1, 211, 146, 125, -1, 212, 131, 303, -1, 212, 129, 199, -1, 214, 129, 199, -1, 212, 129, 198, -1, 214, 129, 198, -1, 212, 129, 1, -1, 214, 129, 1, -1, 3, -1, 220, -1, 122, 245, 123, -1, 385, -1, 132, 385, -1, 132, 385, 130, 385, -1, 4, -1, 216, -1, 175, -1, 85, 122, 374, 123, -1, 85, 122, 245, 123, -1, 85, 122, 346, 123, 337, -1, 85, 122, 346, 123, 122, 346, 123, 337, -1, 219, 216, -1, 219, -1, 218, -1, 118, -1, 122, 123, -1, 71, 306, 329, 133, 265, 134, -1, 71, 306, 329, 133, 266, 134, -1, 71, 306, 133, 265, 134, -1, 71, 306, 133, 266, 134, -1, 102, 306, 329, 133, 265, 134, -1, 102, 306, 329, 133, 266, 134, -1, 102, 306, 133, 265, 134, -1, 102, 306, 133, 266, 134, -1, 72, 265, 305, 329, 133, 265, 134, -1, 72, 265, 305, 329, 133, 266, 134, -1, 72, 265, 305, 133, 265, 134, -1, 72, 265, 305, 133, 266, 134, -1, 103, 265, 305, 329, 133, 265, 134, -1, 103, 265, 305, 329, 133, 266, 134, -1, 103, 265, 305, 133, 265, 134, -1, 103, 265, 305, 133, 266, 134, -1, 65, 122, 298, 123, -1, 65, 122, 298, 328, 123, -1, 65, 122, 216, 123, -1, 104, 122, 243, 127, 346, 123, -1, 98, 122, 216, 123, -1, 397, -1, 398, -1, 399, -1, 400, -1, 133, 225, 134, -1, 133, 134, -1, 177, -1, 178, 1, -1, 122, 245, -1, 122, 263, -1, 217, -1, 224, 133, 245, 134, -1, 224, 133, 263, 134, -1, 224, 122, 123, -1, 224, 122, 225, 123, -1, 224, 122, 226, 123, -1, 224, 130, 216, -1, 224, 7, 216, -1, 224, 8, -1, 224, 9, -1, 247, 133, 245, 134, -1, 247, 133, 263, 134, -1, 247, 122, 123, -1, 247, 122, 225, 123, -1, 247, 130, 216, -1, 247, 7, 216, -1, 247, 8, -1, 247, 9, -1, 243, -1, 221, -1, 225, 127, 243, -1, 225, 127, 221, -1, 262, -1, 222, -1, 225, 127, 262, -1, 225, 127, 222, -1, 225, 127, -1, 8, 228, -1, 9, 228, -1, 229, 230, -1, 229, 221, -1, 6, 228, -1, 6, 122, 347, 123, -1, 6, 122, 65, 146, 123, -1, 6, 122, 65, 145, 123, -1, 109, 228, -1, 109, 122, 347, 123, -1, 227, -1, 224, -1, 135, -1, 119, -1, 136, -1, 137, -1, 124, -1, 138, -1, 73, -1, 84, -1, 228, -1, 122, 346, 123, 230, -1, 230, -1, 231, 119, 230, -1, 231, 139, 230, -1, 231, 140, 230, -1, 251, 119, 230, -1, 251, 139, 230, -1, 251, 140, 230, -1, 231, -1, 232, 136, 231, -1, 232, 137, 231, -1, 252, 136, 231, -1, 252, 137, 231, -1, 232, -1, 233, 10, 232, -1, 233, 11, 232, -1, 253, 10, 232, -1, 253, 11, 232, -1, 235, 120, -1, 233, -1, 234, 233, -1, 235, 121, 233, -1, 235, 12, 233, -1, 235, 13, 233, -1, 254, 120, 233, -1, 254, 121, 233, -1, 254, 12, 233, -1, 254, 13, 233, -1, 235, -1, 236, 14, 235, -1, 236, 15, 235, -1, 255, 14, 235, -1, 255, 15, 235, -1, 236, 14, 221, -1, 236, 15, 221, -1, 255, 14, 221, -1, 255, 15, 221, -1, 236, -1, 237, 135, 236, -1, 256, 135, 236, -1, 237, 135, 221, -1, 256, 135, 221, -1, 237, -1, 238, 141, 237, -1, 257, 141, 237, -1, 238, 141, 221, -1, 257, 141, 221, -1, 238, -1, 239, 142, 238, -1, 258, 142, 238, -1, 239, 142, 221, -1, 258, 142, 221, -1, 239, -1, 240, 16, 239, -1, 259, 16, 239, -1, 240, -1, 241, 17, 240, -1, 260, 17, 240, -1, 241, -1, 241, 143, 245, 131, 242, -1, 241, 143, 263, 131, 242, -1, 260, 143, 245, 131, 242, -1, 260, 143, 263, 131, 242, -1, 241, 143, 246, 131, 242, -1, 241, 143, 264, 131, 242, -1, 260, 143, 246, 131, 242, -1, 260, 143, 264, 131, 242, -1, 241, 143, 245, 131, 221, -1, 241, 143, 263, 131, 221, -1, 260, 143, 245, 131, 221, -1, 260, 143, 263, 131, 221, -1, 241, 143, 246, 131, 221, -1, 241, 143, 264, 131, 221, -1, 260, 143, 246, 131, 221, -1, 260, 143, 264, 131, 221, -1, 242, -1, 228, 244, 243, -1, 249, 244, 243, -1, 242, 244, 243, -1, 261, 244, 243, -1, 228, 244, 221, -1, 249, 244, 221, -1, 242, 244, 221, -1, 261, 244, 221, -1, 126, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 243, -1, 245, 127, 243, -1, 263, 127, 243, -1, 263, 123, -1, 221, -1, 245, 127, 221, -1, 263, 127, 221, -1, 223, -1, 1, -1, 224, 1, -1, 176, 1, -1, 224, 7, 1, -1, 247, 7, 1, -1, 224, 122, 225, -1, 224, 122, 226, -1, 224, 130, 1, -1, 247, 122, 226, -1, 247, 130, 1, -1, 8, 249, -1, 9, 249, -1, 229, 250, -1, 229, 222, -1, 6, 249, -1, 6, 122, 347, 123, 1, -1, 6, 122, 65, 146, 123, 1, -1, 6, 122, 65, 145, 123, 1, -1, 109, 249, -1, 109, 122, 347, 123, 1, -1, 248, -1, 247, -1, 249, -1, 122, 346, 123, 250, -1, 250, -1, 231, 119, 250, -1, 231, 139, 250, -1, 231, 140, 250, -1, 251, 119, 250, -1, 251, 139, 250, -1, 251, 140, 250, -1, 251, -1, 232, 136, 251, -1, 232, 137, 251, -1, 252, 136, 251, -1, 252, 137, 251, -1, 252, -1, 233, 10, 252, -1, 233, 11, 252, -1, 253, 10, 252, -1, 253, 11, 252, -1, 253, -1, 234, 253, -1, 235, 121, 253, -1, 235, 12, 253, -1, 235, 13, 253, -1, 254, 120, 253, -1, 254, 121, 253, -1, 254, 12, 253, -1, 254, 13, 253, -1, 254, -1, 236, 14, 254, -1, 236, 15, 254, -1, 255, 14, 254, -1, 255, 15, 254, -1, 236, 14, 222, -1, 236, 15, 222, -1, 255, 14, 222, -1, 255, 15, 222, -1, 255, -1, 237, 135, 255, -1, 256, 135, 255, -1, 237, 135, 222, -1, 256, 135, 222, -1, 256, -1, 238, 141, 256, -1, 257, 141, 256, -1, 238, 141, 222, -1, 257, 141, 222, -1, 257, -1, 239, 142, 257, -1, 258, 142, 257, -1, 239, 142, 222, -1, 258, 142, 222, -1, 258, -1, 240, 16, 258, -1, 259, 16, 258, -1, 259, -1, 241, 17, 259, -1, 260, 17, 259, -1, 260, -1, 241, 143, 245, 131, 260, -1, 241, 143, 263, 131, 260, -1, 260, 143, 245, 131, 260, -1, 260, 143, 263, 131, 260, -1, 241, 143, 245, 131, -1, 241, 143, 263, 131, -1, 260, 143, 245, 131, -1, 260, 143, 263, 131, -1, 241, 143, 246, 131, 260, -1, 241, 143, 264, 131, 260, -1, 260, 143, 246, 131, 260, -1, 260, 143, 264, 131, 260, -1, 241, 143, 246, 131, -1, 241, 143, 264, 131, -1, 260, 143, 246, 131, -1, 260, 143, 264, 131, -1, 241, 143, 245, 131, 222, -1, 241, 143, 263, 131, 222, -1, 260, 143, 245, 131, 222, -1, 260, 143, 263, 131, 222, -1, 241, 143, 246, 131, 222, -1, 241, 143, 264, 131, 222, -1, 260, 143, 246, 131, 222, -1, 260, 143, 264, 131, 222, -1, 241, 143, 131, -1, 260, 143, 131, -1, 241, 143, -1, 260, 143, -1, 261, -1, 228, 244, 262, -1, 249, 244, 262, -1, 228, 244, 222, -1, 249, 244, 222, -1, 262, -1, 243, 1, -1, 245, 127, 262, -1, 263, 127, 262, -1, 245, 245, -1, 263, 245, -1, 245, 263, -1, 222, -1, 221, 1, -1, 245, 127, 222, -1, 263, 127, 222, -1, 242, -1, 261, -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, 216, -1, 216, 126, 265, -1, 216, 126, 266, -1, 269, -1, 270, 127, 269, -1, 270, 127, -1, 50, -1, 271, 216, -1, 271, 149, -1, 274, 128, -1, 271, 216, 129, 128, -1, 271, 149, 129, 128, -1, 271, 129, 270, -1, 271, 129, 1, -1, 271, 216, 129, 270, -1, 271, 216, 129, 270, 1, -1, 271, 216, 129, 1, -1, 271, 216, 129, 270, 125, 198, -1, 271, 216, 129, 270, 125, 199, -1, 271, 149, 129, 270, -1, 271, 149, 129, 270, 1, -1, 271, 149, 129, 1, -1, 271, 149, 129, 270, 125, 198, -1, 271, 149, 129, 270, 125, 199, -1, 271, 216, 129, 270, 125, -1, 271, 149, 129, 270, 125, -1, 271, 216, -1, 271, 149, -1, 277, 128, -1, 275, 131, 303, 129, 128, -1, 275, 129, 128, -1, 275, 131, 303, 129, 270, -1, 275, 131, 303, 129, 270, 1, -1, 275, 131, 303, 129, 1, -1, 275, 131, 303, 129, 270, 125, 198, -1, 275, 131, 303, 129, 270, 125, 199, -1, 275, 131, 303, 129, 270, 1, 125, 198, -1, 275, 131, 303, 129, 270, 1, 125, 199, -1, 275, 131, 303, 129, 1, 125, 198, -1, 275, 131, 303, 129, 1, 125, 199, -1, 271, 129, 270, -1, 271, 129, 1, -1, 275, 129, 270, -1, 275, 129, 270, 1, -1, 275, 129, 1, -1, 275, 129, 270, 125, 198, -1, 275, 129, 270, 125, 199, -1, 275, 131, 303, 129, 270, 125, -1, 275, 131, 303, 129, 270, 1, 125, -1, 275, 131, 303, 129, 1, 125, -1, 275, 129, 270, 125, -1, 276, -1, 293, -1, 277, -1, 294, -1, 319, -1, 44, -1, 45, -1, 280, -1, 281, -1, 282, 281, -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, 290, -1, 272, -1, 146, -1, 87, 122, 243, 123, -1, 100, 122, 146, 123, -1, 100, 122, 216, 123, -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, 290, -1, 272, -1, 149, -1, 113, -1, 112, -1, 114, -1, 115, -1, 87, 122, 243, 123, -1, 100, 122, 146, 123, -1, 100, 122, 216, 123, -1, 66, -1, 336, -1, 336, 324, -1, 131, 265, -1, 336, 131, 265, -1, 336, 131, 265, 131, 265, -1, 131, 266, -1, 336, 131, 266, -1, 336, 131, 265, 131, 266, -1, 336, 131, 266, 131, 266, -1, 336, 131, 266, 131, 265, -1, 285, -1, 286, 127, 285, -1, 295, 216, -1, 295, 147, -1, 295, 319, 216, -1, 295, 319, 147, -1, 289, 128, -1, 287, 129, 128, -1, 295, 129, 128, -1, 295, 319, 129, 128, -1, 287, 129, 198, -1, 287, 129, 199, -1, 287, 129, 1, -1, 295, 129, 198, -1, 295, 129, 199, -1, 295, 129, 1, -1, 295, 319, 129, 198, -1, 295, 319, 129, 199, -1, 295, 319, 129, 1, -1, 287, -1, 287, -1, 287, 120, 208, 121, -1, 291, 131, 303, -1, 294, 128, -1, 292, 129, 128, -1, 291, 129, 128, -1, 295, 129, 128, -1, 292, 129, 198, -1, 292, 129, 199, -1, 292, 129, 1, -1, 291, 129, 198, -1, 291, 129, 199, -1, 291, 129, 1, -1, 295, 129, 198, -1, 295, 129, 199, -1, 295, 129, 1, -1, 48, -1, 49, -1, 281, -1, 296, 281, -1, 283, -1, 296, 283, -1, 273, -1, 296, 273, -1, 288, -1, 296, 288, -1, 281, -1, 297, 281, -1, 283, -1, 297, 283, -1, 145, -1, 297, 145, -1, 273, -1, 297, 273, -1, 288, -1, 297, 288, -1, 267, -1, 298, 267, -1, 281, -1, 298, 281, -1, 284, -1, 298, 284, -1, 273, -1, 298, 273, -1, 288, -1, 298, 288, -1, 267, -1, 299, 267, -1, 281, -1, 299, 281, -1, 283, -1, 299, 283, -1, 145, -1, 299, 145, -1, 288, -1, 299, 288, -1, 273, -1, 299, 273, -1, 268, -1, 300, 268, -1, 281, -1, 300, 281, -1, 283, -1, 300, 283, -1, 145, -1, 300, 145, -1, 278, -1, 300, 278, -1, 279, -1, 300, 279, -1, 81, -1, 80, -1, 267, -1, 302, 267, -1, 281, -1, 302, 281, -1, 284, -1, 302, 284, -1, 216, -1, 302, 216, -1, 216, 120, 210, 121, -1, 302, 216, 120, 210, 121, -1, 302, -1, 295, -1, 267, -1, 304, 267, -1, 281, -1, 304, 281, -1, 284, -1, 304, 284, -1, 216, -1, 304, 216, -1, 216, 120, 210, 121, -1, 304, 216, 120, 210, 121, -1, 267, -1, 305, 267, -1, 281, -1, 305, 281, -1, 284, -1, 305, 284, -1, 288, -1, 305, 288, -1, 273, -1, 305, 273, -1, 216, -1, 305, 216, -1, 216, 120, 210, 121, -1, 305, 216, 120, 210, 121, -1, 267, -1, 306, 267, -1, 281, -1, 306, 281, -1, 284, -1, 306, 284, -1, 288, -1, 306, 288, -1, 273, -1, 306, 273, -1, 216, -1, 306, 216, -1, 216, 120, 210, 121, -1, 306, 216, 120, 210, 121, -1, 308, 127, 1, -1, 307, 127, 1, -1, 216, -1, 308, 127, 216, -1, 307, 127, 216, -1, 350, 127, 216, -1, 351, 127, 216, -1, 310, -1, 147, -1, 37, -1, 147, 133, 265, 134, -1, 147, 133, 266, 134, -1, 147, 133, 146, 134, -1, 147, 133, 134, -1, 309, 133, 265, 134, -1, 309, 133, 266, 134, -1, 309, 133, 146, 134, -1, 309, 133, 134, -1, 216, -1, 122, 330, 123, -1, 122, 319, 330, 123, -1, 122, 331, 123, -1, 122, 319, 331, 123, -1, 310, 133, 265, 134, -1, 310, 133, 266, 134, -1, 310, 133, 146, 134, -1, 310, 133, 134, -1, 310, 122, -1, 311, 352, 123, -1, 311, 353, 123, -1, 311, 308, 123, -1, 311, 307, 123, -1, 311, 123, -1, 311, 307, -1, 311, 1, -1, 311, 350, 122, -1, 311, 299, 216, 122, -1, 312, -1, 310, -1, 309, 122, -1, 315, 352, 123, -1, 315, 353, 123, -1, 315, 308, 123, -1, 315, 307, 123, -1, 315, 123, -1, 315, 307, -1, 315, 1, -1, 315, 350, 122, -1, 315, 299, 216, 122, -1, 316, -1, 309, -1, 74, -1, 75, -1, 324, -1, 86, 122, 385, 123, -1, 79, -1, 110, -1, 111, -1, 3, -1, 28, -1, 75, -1, 74, -1, 44, -1, 321, -1, 321, 122, 245, 123, -1, 322, -1, 323, 322, -1, 323, 127, 322, -1, 320, 122, 122, 323, 123, 123, -1, 320, 122, 122, 123, 123, -1, 122, 328, 123, -1, 122, 319, 328, 123, -1, 133, 134, -1, 133, 265, 134, -1, 133, 266, 134, -1, 133, 146, 134, -1, 325, 133, 134, -1, 325, 133, 265, 134, -1, 325, 133, 146, 134, -1, 325, 133, 266, 134, -1, 122, 123, -1, 122, 352, 123, -1, 122, 353, 123, -1, 325, 122, 123, -1, 325, 122, 352, 123, -1, 325, 122, 353, 123, -1, 122, 329, 123, -1, 122, 319, 329, 123, -1, 122, 123, -1, 122, 352, 123, -1, 122, 353, 123, -1, 326, 122, 123, -1, 326, 122, 352, 123, -1, 326, 122, 353, 123, -1, 119, -1, 119, 282, -1, 119, 327, -1, 119, 282, 327, -1, 327, -1, 325, -1, 327, 325, -1, 319, 327, -1, 319, 327, 325, -1, 327, -1, 326, -1, 327, 326, -1, 319, 327, -1, 319, 327, 326, -1, 314, -1, 327, 314, -1, 319, 327, 314, -1, 330, 319, -1, 336, 319, -1, 318, -1, 327, 318, -1, 319, 327, 318, -1, 331, 319, -1, 312, -1, 327, 312, -1, 319, 327, 312, -1, 327, 319, 312, -1, 313, -1, 327, 313, -1, 319, 327, 313, -1, 327, 319, 313, -1, 316, -1, 327, 316, -1, 319, 327, 316, -1, 327, 319, 316, -1, 317, -1, 327, 317, -1, 319, 327, 317, -1, 327, 319, 317, -1, 309, -1, 327, 309, -1, 319, 327, 309, -1, 327, 319, 309, -1, 243, -1, 129, 341, 128, -1, 129, 341, 127, 128, -1, 262, -1, 129, 341, 128, 1, -1, 129, 341, -1, 129, 341, 127, 128, 1, -1, 129, 341, 127, -1, 242, -1, 221, -1, 261, -1, 222, -1, 337, -1, 338, -1, 341, 127, 337, -1, 341, 127, 338, -1, 341, 337, -1, 341, 338, -1, 330, -1, 331, -1, 330, 126, 337, -1, 330, 1, -1, 330, 126, 338, -1, 342, -1, 344, 127, 342, -1, 37, 127, 342, -1, 38, 127, 342, -1, 147, 127, 342, -1, 345, 127, 342, -1, 343, -1, 342, 1, -1, 344, 127, 343, -1, 345, 127, 343, -1, 296, -1, 296, 328, -1, 297, -1, 297, 328, -1, 299, 331, -1, 299, 328, -1, 299, 135, -1, 299, 135, 331, -1, 299, -1, 65, -1, 299, 331, 1, -1, 299, 328, 1, -1, 348, -1, 350, 127, 348, -1, 350, 1, 127, 348, -1, 351, 127, 348, -1, 351, 1, 127, 348, -1, 1, 127, 348, -1, 308, 127, 348, -1, 308, 1, 127, 348, -1, 307, 127, 348, -1, 307, 1, 127, 348, -1, 349, -1, 350, 127, 349, -1, 351, 127, 349, -1, 351, 1, 127, 349, -1, 1, 127, 349, -1, 308, 127, 349, -1, 307, 127, 349, -1, 307, 1, 127, 349, -1, 350, -1, 350, 127, 51, -1, 351, 127, 51, -1, 308, 127, 51, -1, 307, 127, 51, -1, 1, 127, 51, -1, 351, -1, 350, 127, 1, -1, 351, 1, -1, 359, -1, 324, -1, 374, -1, 125, -1, 131, -1, 245, 125, -1, 377, -1, 379, -1, 381, -1, 358, -1, 195, 125, -1, 194, 125, -1, 193, 125, -1, 360, -1, 380, -1, 375, -1, 378, -1, 382, -1, 381, 1, -1, 263, -1, 385, -1, 385, 122, 243, 123, -1, 133, 216, 134, 385, 122, 243, 123, -1, 356, -1, 357, 127, 356, -1, -1, 86, 281, 122, 385, 123, 125, -1, 86, 281, 122, 385, 131, 357, 123, 125, -1, 86, 281, 122, 385, 131, 357, 131, 357, 123, 125, -1, 86, 281, 122, 385, 131, 357, 131, 357, 131, 357, 123, 125, -1, 86, 281, 122, 385, 3, 357, 123, 125, -1, 86, 281, 122, 385, 3, 357, 131, 357, 123, 125, -1, 86, 281, 122, 385, 131, 357, 3, 357, 123, 125, -1, 86, 122, 385, 123, 125, -1, 86, 122, 385, 131, 357, 123, 125, -1, 86, 122, 385, 131, 357, 131, 357, 123, 125, -1, 86, 122, 385, 131, 357, 131, 357, 131, 357, 123, 125, -1, 86, 122, 385, 3, 357, 123, 125, -1, 86, 122, 385, 3, 357, 131, 357, 123, 125, -1, 86, 122, 385, 131, 357, 3, 357, 123, 125, -1, 216, 131, 354, -1, 52, 265, 131, 354, -1, 52, 266, 131, 354, -1, 52, 131, 354, -1, 53, 131, 354, -1, 216, 131, 363, -1, 52, 265, 131, 363, -1, 52, 266, 131, 363, -1, 52, 131, 363, -1, 53, 131, 363, -1, 216, 131, 355, -1, 52, 265, 131, 355, -1, 52, 266, 131, 355, -1, 52, 131, 355, -1, 52, 131, -1, 53, 131, 355, -1, 53, 131, -1, 216, 131, 366, -1, 52, 265, 131, 366, -1, 52, 266, 131, 366, -1, 52, 131, 366, -1, 53, 131, 366, -1, 80, -1, 81, -1, 53, -1, 80, -1, 81, -1, 298, 125, -1, 298, 344, 125, -1, 170, 125, -1, 366, 125, -1, 300, 125, -1, 300, 344, 125, -1, 301, 344, 125, -1, 174, 125, -1, 77, 216, 126, 242, 125, -1, 31, 77, 216, 126, 242, 125, -1, 300, 1, -1, 298, 1, -1, 366, 1, -1, 171, 1, -1, 170, 1, -1, 298, 345, -1, 363, -1, 367, 363, -1, 368, 363, -1, 367, 1, 125, -1, 366, -1, 367, 366, -1, 354, -1, 369, 354, -1, 370, 354, -1, 355, -1, 369, 355, -1, 370, 355, -1, 369, 363, -1, 370, 363, -1, 369, 366, -1, 370, 366, -1, 369, -1, 367, -1, 367, 369, -1, 368, 369, -1, 370, -1, 368, -1, 367, 370, -1, 368, 370, -1, 129, -1, 375, 128, -1, 373, 372, -1, 373, -1, 373, 371, -1, 125, -1, 245, 125, -1, 263, 125, -1, 54, 122, 245, 123, 354, -1, 54, 122, 263, 123, 354, -1, 54, 122, 245, 123, 354, 64, 354, -1, 54, 122, 263, 123, 354, 64, 354, -1, 55, 122, 245, 123, 354, -1, 55, 122, 263, 123, 354, -1, 54, 122, 263, -1, 377, 1, -1, 56, 122, 245, 123, 354, -1, 56, 122, 263, 354, -1, 56, 122, 123, 354, -1, 57, 354, 56, 122, 245, 123, 125, -1, 57, 354, 56, 122, 263, 125, -1, 58, 122, 376, 376, 123, 354, -1, 58, 122, 376, 123, 354, -1, 58, 122, 376, 376, 245, 123, 354, -1, 58, 122, 376, 376, 263, 354, -1, 58, 122, 123, 354, -1, 58, 122, 216, 131, 245, 123, 354, -1, 58, 122, 216, 131, 245, 125, 245, 123, 354, -1, 58, 122, 1, -1, 58, 122, 263, 1, -1, 58, 122, 376, 1, -1, 58, 122, 376, 263, 1, -1, 58, 122, 376, 376, 263, -1, 58, 122, 376, 376, 123, 355, -1, 58, 122, 376, 376, 245, 123, 355, -1, 58, 122, 376, 376, 263, 355, -1, 57, 354, 56, 122, 245, 123, -1, 57, 354, 56, 122, 245, -1, 57, 354, 56, 122, 263, -1, 57, 354, 56, 122, -1, 57, 354, 56, -1, 57, 354, -1, 57, -1, 56, 1, -1, 56, 122, 123, 1, -1, 56, 122, 263, -1, 56, 122, 245, 123, 355, -1, 56, 122, 263, 355, -1, 59, 216, 125, -1, 60, 125, -1, 61, 125, -1, 62, 125, -1, 62, 245, 125, -1, 62, 263, 125, -1, 62, 221, 125, -1, 62, 222, 125, -1, 62, 263, -1, 62, 222, -1, 62, -1, 59, -1, 300, 332, 367, 374, -1, 300, 332, 374, -1, 300, 334, 367, 374, -1, 300, 334, 374, -1, 332, 367, 374, -1, 332, 374, -1, 300, 332, 367, 375, -1, 300, 332, 375, -1, 300, 334, 367, 375, -1, 300, 334, 375, -1, 332, 367, 375, -1, 332, 375, -1, 5, -1, 385, 5, -1, 383, -1, 213, -1, 300, 213, -1, 364, -1, 76, 385, -1, 76, 31, 385, -1, 76, 216, 385, -1, 125, -1, 361, 383, -1, 361, 213, -1, 361, 364, -1, 361, 76, 385, -1, 361, 76, 31, 385, -1, 361, 76, 216, 385, -1, 361, 131, -1, 31, 131, -1, 101, 216, -1, 101, 149, -1, 391, -1, 361, 391, -1, 215, -1, 300, 215, -1, 384, -1, 361, 215, -1, 361, 384, -1, 365, -1, 361, 365, -1, 387, -1, 389, 387, -1, 388, 387, -1, 389, 1, -1, 388, 1, -1, 386, -1, 389, 386, -1, 388, 213, -1, 388, 361, 213, -1, 389, -1, 388, -1, -1, 105, 385, 216, 129, 396, 128, -1, 105, 385, 149, 129, 396, 128, -1, 105, 385, 129, 396, 128, -1, 299, 216, 385, 125, -1, 216, -1, 121, 216, -1, 120, 216, -1, 393, -1, 394, 127, 393, -1, 107, 394, 125, -1, 107, 394, 216, 125, -1, 392, -1, 395, -1, 396, 392, -1, 396, 395, -1, 108, 122, 243, 127, 243, 123, -1, 106, 122, 385, 127, 216, 123, -1, 107, 122, 385, 127, 216, 123, -1, 105, 122, 385, 123, -1
98 static const yytype_uint16 yyrline[] =
100 0, 283, 283, 302, 341, 342, 422, 426, 429, 430, 431, 470, 472, 477, 482, 487, 489, 494, 496, 501, 503, 508, 510, 512, 514, 516, 520, 524, 537, 539, 541, 543, 545, 551, 553, 558, 563, 568, 570, 572, 577, 578, 582, 583, 594, 598, 599, 601, 606, 607, 609, 612, 624, 635, 654, 656, 661, 662, 663, 664, 665, 666, 667, 668, 681, 685, 686, 687, 688, 692, 693, 694, 695, 696, 697, 698, 702, 704, 709, 711, 713, 715, 717, 747, 749, 754, 756, 758, 760, 762, 791, 793, 795, 800, 802, 807, 809, 813, 815, 817, 819, 824, 827, 830, 833, 898, 900, 905, 907, 909, 911, 913, 944, 948, 949, 950, 954, 955, 956, 960, 961, 962, 963, 967, 970, 973, 976, 979, 984, 985, 987, 989, 991, 993, 998, 1002, 1005, 1008, 1011, 1014, 1019, 1020, 1022, 1027, 1031, 1033, 1038, 1040, 1045, 1047, 1052, 1057, 1059, 1064, 1066, 1068, 1070, 1075, 1077, 1079, 1081, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1101, 1105, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1123, 1124, 1128, 1129, 1130, 1134, 1138, 1139, 1140, 1144, 1145, 1146, 1147, 1148, 1152, 1153, 1165, 1166, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1181, 1185, 1186, 1190, 1198, 1199, 1203, 1204, 1205, 1209, 1210, 1214, 1215, 1216, 1217, 1218, 1219, 1259, 1260, 1264, 1272, 1273, 1281, 1282, 1284, 1285, 1294, 1295, 1299, 1306, 1313, 1319, 1326, 1332, 1341, 1348, 1354, 1360, 1366, 1372, 1378, 1389, 1394, 1395, 1400, 1401, 1402, 1406, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1454, 1455, 1456, 1457, 1458, 1460, 1461, 1465, 1469, 1473, 1474, 1478, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1524, 1525, 1526, 1527, 1531, 1532, 1533, 1534, 1535, 1539, 1540, 1541, 1542, 1544, 1545, 1546, 1547, 1550, 1551, 1555, 1556, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1576, 1577, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1591, 1592, 1593, 1594, 1595, 1599, 1600, 1601, 1602, 1603, 1607, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1627, 1628, 1629, 1630, 1631, 1633, 1634, 1635, 1636, 1640, 1641, 1642, 1644, 1645, 1649, 1650, 1651, 1653, 1654, 1658, 1659, 1660, 1662, 1663, 1667, 1668, 1669, 1673, 1674, 1675, 1679, 1680, 1681, 1682, 1683, 1685, 1686, 1687, 1688, 1690, 1691, 1692, 1693, 1695, 1696, 1697, 1698, 1702, 1703, 1704, 1705, 1706, 1708, 1709, 1710, 1711, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1729, 1730, 1731, 1732, 1736, 1737, 1738, 1742, 1743, 1744, 1745, 1747, 1748, 1750, 1751, 1756, 1758, 1763, 1791, 1792, 1793, 1794, 1796, 1797, 1798, 1799, 1801, 1802, 1806, 1807, 1816, 1817, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1831, 1832, 1836, 1840, 1844, 1851, 1852, 1853, 1854, 1855, 1859, 1860, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1913, 1914, 1915, 1916, 1917, 1924, 1925, 1926, 1927, 1931, 1932, 1933, 1935, 1936, 1940, 1941, 1942, 1944, 1945, 1949, 1950, 1951, 1953, 1954, 1958, 1959, 1960, 1964, 1965, 1966, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1999, 2007, 2011, 2016, 2023, 2024, 2028, 2033, 2034, 2038, 2039, 2040, 2041, 2047, 2048, 2049, 2053, 2054, 2055, 2056, 2060, 2062, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2086, 2087, 2088, 2092, 2093, 2094, 2098, 2102, 2103, 2107, 2108, 2109, 2113, 2114, 2116, 2117, 2118, 2119, 2120, 2122, 2123, 2124, 2125, 2126, 2128, 2129, 2133, 2134, 2138, 2139, 2140, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2154, 2155, 2157, 2158, 2159, 2160, 2161, 2163, 2164, 2165, 2166, 2170, 2171, 2175, 2176, 2180, 2184, 2185, 2186, 2191, 2192, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2254, 2256, 2258, 2260, 2262, 2264, 2266, 2268, 2270, 2272, 2277, 2278, 2282, 2288, 2294, 2301, 2311, 2312, 2313, 2314, 2318, 2319, 2320, 2322, 2323, 2324, 2326, 2327, 2328, 2332, 2336, 2344, 2353, 2362, 2363, 2365, 2366, 2370, 2377, 2384, 2387, 2400, 2414, 2417, 2419, 2421, 2426, 2427, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2496, 2497, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2511, 2513, 2521, 2531, 2532, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2552, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2581, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2610, 2619, 2620, 2624, 2625, 2626, 2627, 2628, 2632, 2633, 2640, 2642, 2651, 2660, 2669, 2678, 2679, 2680, 2681, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2697, 2701, 2702, 2703, 2704, 2705, 2710, 2719, 2728, 2737, 2751, 2752, 2757, 2761, 2762, 2763, 2764, 2765, 2770, 2779, 2788, 2797, 2811, 2812, 2861, 2862, 2863, 2864, 2876, 2877, 2878, 2883, 2884, 2885, 2886, 2887, 2891, 2892, 2896, 2897, 2898, 2902, 2903, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2937, 2938, 2939, 2940, 2944, 2945, 2946, 2947, 2948, 2952, 2953, 2954, 2955, 2956, 2960, 2961, 2963, 2965, 2967, 2972, 2973, 2975, 2977, 2982, 2983, 2984, 2985, 2989, 2990, 2991, 2992, 2996, 2997, 2998, 2999, 3003, 3004, 3005, 3006, 3010, 3011, 3012, 3013, 3017, 3018, 3019, 3036, 3037, 3038, 3039, 3052, 3069, 3070, 3075, 3076, 3080, 3081, 3082, 3083, 3086, 3087, 3091, 3092, 3093, 3097, 3101, 3105, 3106, 3107, 3108, 3109, 3118, 3127, 3128, 3129, 3130, 3134, 3135, 3139, 3140, 3145, 3146, 3147, 3148, 3149, 3150, 3169, 3170, 3174, 3175, 3176, 3177, 3178, 3179, 3181, 3182, 3183, 3184, 3188, 3189, 3190, 3191, 3192, 3194, 3195, 3196, 3200, 3201, 3202, 3203, 3204, 3205, 3209, 3210, 3211, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3242, 3243, 3244, 3248, 3249, 3250, 3254, 3255, 3256, 3257, 3259, 3260, 3261, 3263, 3264, 3265, 3266, 3268, 3269, 3270, 3274, 3275, 3276, 3277, 3278, 3280, 3281, 3282, 3283, 3284, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3296, 3297, 3298, 3299, 3300, 3304, 3305, 3306, 3310, 3311, 3315, 3316, 3317, 3318, 3322, 3323, 3324, 3326, 3327, 3328, 3332, 3336, 3337, 3339, 3340, 3341, 3345, 3346, 3347, 3348, 3352, 3353, 3357, 3358, 3359, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3373, 3374, 3375, 3376, 3380, 3381, 3382, 3383, 3387, 3391, 3395, 3397, 3400, 3406, 3407, 3408, 3412, 3413, 3414, 3415, 3416, 3417, 3421, 3422, 3426, 3427, 3428, 3430, 3431, 3433, 3434, 3435, 3436, 3437, 3439, 3440, 3444, 3445, 3446, 3447, 3451, 3452, 3453, 3454, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3465, 3469, 3470, 3474, 3475, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3490, 3491, 3492, 3493, 3499, 3500, 3502, 3503, 3506, 3507, 3510, 3511, 3512, 3513, 3514, 3515, 3519, 3520, 3532, 3533, 3536, 3539, 3541, 3542, 3543, 3553, 3555, 3556, 3558, 3559, 3560, 3561, 3571, 3572, 3573, 3574, 3575, 3576, 3580, 3581, 3590, 3592, 3593, 3595, 3597, 3601, 3602, 3603, 3604, 3605, 3609, 3610, 3611, 3613, 3618, 3619, 3620, 3624, 3625, 3626, 3630, 3634, 3635, 3636, 3640, 3641, 3645, 3646, 3650, 3651, 3652, 3653, 3657, 3661, 3665, 3669
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", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$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, 144, 145, 145, 146, 146, 147, 148, 149, 149, 149, 150, 150, 151, 152, 153, 153, 154, 154, 155, 155, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157, 158, 158, 159, 160, 161, 161, 161, 162, 162, 163, 163, 163, 164, 164, 164, 165, 165, 165, 165, 165, 165, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 168, 168, 168, 169, 169, 169, 169, 169, 169, 169, 170, 170, 171, 171, 171, 171, 171, 172, 172, 173, 173, 173, 173, 173, 174, 174, 174, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 177, 178, 178, 178, 178, 178, 179, 180, 180, 180, 181, 181, 181, 182, 182, 182, 182, 183, 183, 183, 183, 183, 184, 184, 184, 184, 184, 184, 185, 186, 186, 186, 186, 186, 187, 187, 187, 188, 189, 189, 190, 190, 191, 191, 192, 193, 193, 194, 194, 194, 194, 195, 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, 199, 199, 199, 199, 199, 200, 200, 201, 201, 202, 202, 202, 202, 202, 202, 202, 202, 203, 204, 204, 205, 206, 206, 207, 207, 207, 208, 208, 209, 209, 209, 209, 209, 209, 210, 210, 211, 212, 212, 212, 212, 212, 212, 212, 212, 213, 213, 213, 213, 213, 213, 214, 215, 215, 215, 215, 215, 215, 216, 217, 217, 218, 218, 218, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, 222, 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 230, 230, 231, 231, 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, 234, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 240, 240, 240, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 249, 249, 250, 250, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, 256, 257, 257, 257, 257, 257, 258, 258, 258, 258, 258, 259, 259, 259, 260, 260, 260, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263, 263, 264, 264, 264, 264, 265, 266, 267, 267, 267, 267, 267, 267, 267, 268, 268, 268, 268, 268, 268, 268, 269, 269, 269, 270, 270, 270, 271, 272, 272, 273, 273, 273, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 275, 275, 276, 276, 276, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 278, 278, 279, 279, 280, 281, 281, 281, 282, 282, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 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, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, 287, 287, 287, 287, 288, 288, 288, 288, 289, 289, 289, 289, 289, 289, 289, 289, 289, 290, 291, 291, 292, 293, 293, 293, 293, 294, 294, 294, 294, 294, 294, 294, 294, 294, 295, 295, 296, 296, 296, 296, 296, 296, 296, 296, 297, 297, 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, 299, 299, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, 305, 305, 305, 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, 308, 308, 308, 308, 308, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 310, 310, 310, 310, 310, 310, 310, 310, 310, 311, 312, 312, 312, 312, 312, 313, 313, 313, 313, 314, 314, 315, 316, 316, 316, 316, 316, 317, 317, 317, 317, 318, 318, 319, 319, 319, 319, 320, 320, 320, 321, 321, 321, 321, 321, 322, 322, 323, 323, 323, 324, 324, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 326, 326, 326, 326, 326, 326, 326, 326, 327, 327, 327, 327, 328, 328, 328, 328, 328, 329, 329, 329, 329, 329, 330, 330, 330, 330, 330, 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, 338, 338, 338, 338, 338, 339, 339, 340, 340, 341, 341, 341, 341, 341, 341, 342, 342, 342, 343, 343, 344, 344, 344, 344, 344, 344, 345, 345, 345, 345, 346, 346, 347, 347, 348, 348, 348, 348, 348, 348, 349, 349, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 351, 351, 351, 351, 351, 351, 351, 351, 352, 352, 352, 352, 352, 352, 353, 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 355, 355, 355, 355, 355, 355, 355, 356, 356, 356, 357, 357, 357, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361, 361, 362, 362, 363, 363, 363, 363, 364, 364, 364, 364, 364, 364, 365, 366, 366, 366, 366, 366, 367, 367, 367, 367, 368, 368, 369, 369, 369, 370, 370, 370, 370, 370, 370, 370, 371, 371, 371, 371, 372, 372, 372, 372, 373, 374, 375, 375, 375, 376, 376, 376, 377, 377, 377, 377, 377, 377, 378, 378, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 381, 381, 381, 381, 381, 381, 381, 381, 382, 382, 382, 382, 383, 383, 383, 383, 383, 383, 384, 384, 384, 384, 384, 384, 385, 385, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 387, 387, 387, 387, 387, 387, 387, 388, 388, 388, 388, 388, 389, 389, 389, 389, 390, 390, 390, 391, 391, 391, 392, 393, 393, 393, 394, 394, 395, 395, 396, 396, 396, 396, 397, 398, 399, 400
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, 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 1289, 257, 6, 591, 592, 593, 595, 596, 660, 661, 662, 663, 664, 666, 669, 670, 667, 668, 654, 655, 659, 665, 755, 756, 604, 1134, 235, 678, 912, 913, 0, 0, 916, 1132, 1133, 679, 680, 671, 0, 0, 0, 0, 0, 917, 918, 682, 681, 683, 684, 597, 594, 955, 0, 1258, 803, 674, 8, 4, 0, 0, 0, 1252, 0, 1271, 879, 797, 0, 673, 0, 649, 651, 805, 807, 656, 799, 801, 738, 672, 0, 0, 650, 652, 0, 0, 0, 0, 0, 978, 653, 0, 914, 0, 0, 0, 1254, 1276, 1251, 1273, 1283, 1278, 0, 0, 0, 1269, 0, 1266, 1249, 0, 0, 1255, 0, 0, 0, 0, 1268, 1267, 0, 657, 956, 653, 957, 870, 869, 879, 911, 868, 898, 969, 0, 910, 974, 0, 0, 0, 0, 0, 0, 1144, 0, 237, 236, 0, 0, 245, 0, 244, 2, 3, 0, 5, 0, 606, 605, 0, 0, 626, 0, 0, 0, 0, 742, 0, 722, 721, 0, 1147, 593, 663, 664, 1141, 804, 8, 1253, 1272, 879, 798, 806, 808, 800, 802, 978, 986, 653, 0, 0, 1017, 0, 0, 0, 1027, 0, 0, 870, 0, 869, 0, 0, 888, 0, 0, 584, 585, 586, 588, 589, 1040, 590, 587, 893, 791, 863, 785, 0, 795, 0, 787, 789, 738, 793, 0, 0, 1039, 0, 0, 1043, 1053, 0, 0, 0, 0, 0, 0, 979, 0, 686, 687, 688, 689, 690, 692, 695, 696, 693, 694, 685, 691, 708, 697, 0, 0, 702, 701, 703, 704, 1177, 700, 0, 0, 775, 699, 781, 777, 779, 783, 698, 0, 1153, 0, 0, 0, 0, 1242, 1248, 593, 0, 1265, 1260, 1274, 0, 1261, 1277, 1259, 1275, 1270, 1282, 1285, 0, 0, 0, 0, 0, 1280, 1281, 1284, 1279, 1, 0, 1256, 1257, 1250, 0, 0, 457, 263, 0, 0, 0, 0, 0, 0, 351, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 346, 0, 349, 0, 0, 345, 347, 348, 350, 0, 265, 0, 264, 306, 272, 271, 258, 456, 0, 343, 353, 0, 355, 362, 367, 373, 0, 382, 391, 396, 401, 406, 409, 412, 429, 0, 478, 477, 479, 481, 488, 493, 498, 507, 516, 521, 526, 531, 534, 537, 0, 260, 296, 297, 298, 299, 0, 0, 0, 0, 0, 658, 958, 0, 900, 0, 905, 0, 0, 0, 0, 0, 0, 0, 911, 970, 975, 0, 880, 972, 882, 977, 973, 671, 4, 229, 228, 227, 233, 0, 264, 353, 219, 479, 0, 206, 249, 0, 0, 248, 255, 0, 0, 1135, 1136, 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, 982, 653, 0, 12, 18, 0, 810, 809, 817, 811, 0, 813, 815, 738, 822, 821, 250, 256, 247, 0, 0, 239, 238, 639, 598, 601, 638, 642, 628, 0, 0, 0, 222, 223, 224, 225, 0, 217, 0, 751, 744, 0, 0, 741, 748, 743, 0, 0, 754, 745, 0, 0, 724, 723, 0, 0, 0, 0, 0, 979, 987, 0, 1019, 0, 0, 1238, 1244, 0, 1240, 1246, 1028, 1142, 0, 0, 0, 1143, 887, 0, 264, 582, 583, 0, 0, 0, 0, 606, 605, 607, 0, 725, 0, 0, 663, 0, 0, 1037, 792, 8, 879, 786, 796, 788, 790, 794, 911, 868, 653, 960, 959, 0, 0, 0, 892, 0, 0, 891, 0, 0, 0, 1069, 0, 889, 890, 980, 0, 981, 0, 0, 1151, 1139, 1150, 76, 1148, 689, 690, 1137, 879, 776, 782, 778, 780, 784, 653, 0, 1152, 1149, 1140, 0, 1154, 0, 1241, 1247, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 697, 0, 0, 0, 157, 1073, 1074, 700, 0, 0, 0, 264, 0, 353, 0, 0, 479, 566, 571, 0, 1071, 1159, 1162, 1079, 1070, 1083, 0, 0, 0, 0, 1181, 1179, 1072, 1085, 0, 1086, 1077, 1084, 0, 1087, 1178, 0, 0, 1262, 879, 0, 0, 0, 1272, 0, 868, 986, 653, 0, 0, 0, 0, 1248, 1286, 0, 0, 412, 0, 0, 915, 0, 337, 471, 0, 333, 467, 334, 468, 0, 857, 847, 855, 849, 851, 853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 475, 274, 0, 0, 0, 761, 757, 759, 763, 1031, 0, 261, 0, 301, 302, 0, 325, 0, 324, 0, 459, 93, 0, 270, 458, 0, 314, 315, 0, 0, 0, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 438, 0, 0, 336, 470, 335, 469, 0, 0, 0, 0, 0, 0, 0, 374, 499, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 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, 676, 677, 0, 0, 0, 1301, 1302, 0, 0, 0, 874, 0, 0, 0, 878, 0, 0, 0, 904, 903, 901, 902, 911, 970, 975, 881, 883, 997, 10, 9, 0, 0, 0, 653, 959, 207, 0, 0, 264, 206, 0, 0, 829, 823, 825, 827, 0, 0, 0, 16, 20, 0, 185, 184, 186, 0, 0, 0, 0, 346, 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, 879, 719, 177, 994, 0, 990, 653, 0, 11, 17, 709, 895, 1039, 0, 0, 0, 983, 0, 0, 173, 165, 192, 181, 0, 180, 0, 166, 879, 179, 0, 606, 605, 818, 812, 814, 816, 0, 0, 0, 603, 641, 0, 0, 7, 212, 208, 740, 0, 0, 0, 0, 1016, 1023, 1024, 1025, 64, 53, 92, 39, 38, 57, 69, 45, 48, 0, 74, 56, 0, 0, 0, 1007, 1009, 0, 1006, 1008, 0, 41, 44, 911, 980, 971, 988, 976, 997, 989, 0, 998, 1001, 1018, 1020, 1237, 1243, 1239, 1245, 1022, 1029, 1026, 1030, 886, 884, 885, 1066, 1048, 1057, 611, 610, 0, 0, 457, 726, 0, 0, 457, 727, 0, 0, 0, 941, 879, 0, 0, 653, 959, 0, 0, 0, 933, 0, 0, 0, 0, 0, 1038, 962, 0, 0, 961, 1042, 1041, 0, 862, 1065, 865, 1051, 1059, 0, 861, 1064, 864, 1049, 1058, 0, 1068, 1062, 866, 1044, 1054, 0, 1063, 867, 1046, 1055, 919, 920, 923, 922, 921, 0, 924, 926, 0, 0, 0, 0, 77, 0, 1138, 1156, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 1071, 1218, 1076, 1078, 0, 0, 1226, 1227, 1228, 0, 1234, 0, 0, 0, 0, 0, 0, 158, 144, 1082, 1081, 1080, 0, 0, 0, 572, 0, 1075, 0, 0, 0, 0, 452, 0, 0, 457, 0, 0, 0, 0, 1160, 1163, 1165, 0, 1161, 1164, 1166, 0, 1192, 1088, 1263, 1264, 237, 236, 0, 0, 0, 987, 0, 0, 1244, 0, 1246, 1247, 0, 0, 1145, 0, 0, 769, 264, 771, 765, 767, 773, 1033, 0, 0, 0, 0, 0, 0, 858, 848, 856, 850, 852, 854, 653, 965, 964, 0, 843, 833, 841, 835, 837, 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 762, 758, 760, 764, 1032, 0, 0, 457, 0, 0, 0, 105, 0, 300, 457, 0, 0, 94, 457, 0, 0, 460, 313, 309, 329, 462, 463, 328, 464, 312, 0, 0, 434, 430, 303, 356, 482, 357, 483, 358, 484, 363, 489, 364, 490, 368, 494, 369, 495, 376, 501, 377, 502, 375, 500, 387, 512, 383, 508, 388, 513, 384, 509, 394, 519, 392, 517, 399, 524, 397, 522, 404, 529, 402, 527, 407, 532, 410, 535, 562, 0, 578, 0, 0, 0, 0, 436, 432, 461, 321, 318, 0, 465, 466, 320, 0, 0, 435, 431, 359, 485, 360, 486, 361, 487, 365, 491, 366, 492, 370, 496, 371, 497, 380, 505, 381, 506, 378, 503, 379, 504, 389, 514, 385, 510, 390, 515, 386, 511, 395, 520, 393, 518, 400, 525, 398, 523, 405, 530, 403, 528, 408, 533, 411, 536, 563, 0, 0, 0, 0, 437, 433, 0, 0, 1294, 1297, 0, 0, 1292, 1303, 1304, 0, 0, 873, 871, 872, 877, 875, 876, 234, 232, 231, 230, 264, 653, 962, 241, 0, 207, 240, 127, 0, 125, 830, 824, 826, 828, 0, 653, 0, 15, 19, 0, 182, 994, 653, 0, 139, 0, 137, 830, 0, 264, 653, 0, 27, 84, 117, 120, 118, 121, 129, 130, 131, 133, 141, 142, 114, 112, 113, 13, 711, 714, 0, 0, 907, 1039, 0, 0, 0, 995, 991, 0, 0, 710, 879, 896, 984, 985, 879, 193, 194, 178, 0, 0, 0, 0, 599, 600, 602, 0, 0, 631, 627, 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, 689, 33, 35, 34, 1010, 1011, 0, 619, 609, 0, 614, 608, 0, 457, 728, 0, 0, 0, 959, 0, 931, 942, 943, 936, 934, 935, 0, 963, 944, 0, 0, 937, 0, 0, 0, 1052, 1060, 1039, 1050, 1045, 1047, 1056, 930, 0, 0, 0, 927, 705, 706, 707, 457, 0, 0, 1113, 1123, 1118, 0, 0, 0, 1114, 1125, 1119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 1205, 0, 1182, 264, 0, 0, 0, 1225, 1231, 1232, 1229, 1230, 0, 0, 0, 0, 145, 1110, 1120, 1115, 0, 159, 569, 567, 0, 0, 0, 450, 573, 570, 568, 451, 574, 0, 988, 1243, 1245, 1146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, 772, 766, 768, 774, 1034, 0, 293, 291, 0, 0, 949, 653, 0, 0, 0, 0, 0, 0, 967, 0, 966, 0, 0, 0, 844, 834, 842, 836, 838, 840, 0, 267, 0, 266, 295, 0, 0, 0, 0, 0, 0, 1308, 0, 0, 0, 0, 354, 480, 262, 108, 106, 327, 326, 99, 103, 310, 0, 311, 307, 308, 579, 0, 0, 0, 0, 0, 0, 319, 316, 317, 0, 0, 0, 0, 1296, 1295, 1299, 0, 0, 0, 1291, 1290, 0, 959, 218, 0, 0, 123, 126, 0, 0, 0, 0, 0, 995, 0, 135, 138, 0, 14, 457, 0, 0, 720, 0, 879, 908, 996, 992, 993, 712, 715, 897, 174, 819, 0, 243, 242, 0, 630, 0, 213, 214, 204, 209, 210, 220, 0, 0, 51, 46, 49, 52, 47, 50, 37, 43, 40, 42, 0, 0, 1014, 1015, 618, 0, 613, 0, 962, 961, 932, 945, 946, 939, 938, 940, 1036, 1035, 0, 929, 928, 79, 1111, 1121, 1116, 0, 1112, 1122, 1117, 0, 0, 0, 0, 0, 1221, 1195, 0, 0, 1194, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 1183, 1206, 1184, 1207, 0, 0, 0, 1095, 915, 1095, 0, 0, 155, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 472, 292, 859, 0, 964, 0, 947, 950, 951, 277, 278, 0, 968, 952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 281, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 331, 330, 454, 580, 421, 554, 413, 538, 425, 558, 417, 546, 455, 581, 422, 555, 414, 539, 426, 559, 418, 547, 423, 556, 415, 540, 427, 560, 419, 548, 424, 557, 416, 541, 428, 561, 420, 549, 1298, 1300, 1293, 831, 0, 124, 150, 996, 0, 136, 86, 909, 0, 0, 820, 0, 0, 0, 0, 0, 0, 205, 0, 221, 0, 0, 1012, 1013, 1002, 0, 0, 0, 0, 925, 1185, 1186, 1189, 1190, 1193, 1223, 0, 0, 0, 0, 0, 0, 0, 1199, 1208, 0, 0, 0, 0, 1093, 0, 1090, 1103, 0, 1095, 0, 1095, 0, 0, 0, 0, 474, 473, 966, 948, 860, 953, 954, 275, 276, 845, 285, 286, 0, 0, 0, 0, 279, 280, 289, 290, 0, 0, 294, 1306, 1307, 1305, 832, 0, 713, 716, 718, 717, 0, 0, 215, 211, 0, 999, 1004, 0, 0, 0, 0, 0, 0, 0, 1213, 1197, 0, 0, 1198, 1210, 0, 1201, 1212, 0, 0, 0, 1095, 0, 1095, 0, 1095, 0, 1096, 0, 0, 0, 148, 0, 153, 0, 156, 0, 846, 283, 284, 0, 287, 288, 171, 1000, 1187, 1188, 0, 0, 1196, 1203, 0, 1200, 1211, 0, 1107, 1094, 0, 0, 0, 1104, 0, 0, 1095, 1095, 0, 1095, 147, 146, 151, 149, 0, 0, 354, 480, 269, 0, 0, 0, 1091, 0, 0, 1095, 1100, 0, 0, 1097, 0, 0, 154, 1204, 0, 1108, 1109, 1105, 0, 0, 0, 0, 1095, 152, 0, 0, 1101, 1102, 1098, 0, 1092, 1106, 0, 1099
123 static const yytype_int16 yydefgoto[] =
125 -1, 209, 55, 56, 973, 332, 440, 441, 442, 443, 444, 445, 446, 447, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 256, 257, 448, 449, 58, 333, 334, 744, 773, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 2087, 2088, 2089, 462, 645, 646, 647, 463, 464, 465, 466, 1783, 408, 504, 409, 505, 410, 506, 507, 865, 411, 412, 59, 60, 61, 62, 63, 335, 336, 337, 338, 339, 999, 1000, 340, 341, 747, 1266, 342, 650, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 732, 827, 652, 1323, 359, 360, 653, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 654, 655, 1125, 1325, 553, 554, 211, 65, 497, 498, 212, 67, 213, 214, 68, 69, 70, 71, 72, 73, 215, 118, 216, 262, 930, 931, 217, 218, 219, 77, 78, 79, 80, 81, 220, 739, 1201, 265, 470, 83, 84, 487, 488, 875, 1224, 717, 1048, 1049, 124, 85, 471, 87, 472, 127, 128, 129, 934, 130, 119, 89, 1097, 1098, 1099, 90, 579, 1215, 474, 581, 1217, 133, 185, 475, 476, 187, 938, 135, 1017, 1534, 1005, 1006, 1535, 188, 189, 190, 191, 740, 1202, 224, 225, 226, 227, 228, 229, 658, 659, 2008, 2009, 660, 661, 662, 93, 477, 266, 94, 95, 267, 268, 269, 665, 666, 667, 668, 270, 669, 896, 1618, 1128, 672, 673, 674, 1129, 676, 96, 97, 374, 98, 99, 100, 101, 102, 103, 833, 1395, 1396, 834, 835, 375, 376, 377, 378
128 static const int yypact[] =
130 38035, -1980, -1980, -1980, -1980, 32, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 811, 108, -1980, -1980, -1980, -1980, -1980, -1980, 3, 16, 55, 706, 320, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 2651, 3046, -1980, -1980, -1980, 208, -1980, 262, 706, 275, -1980, 215, 294, 1026, -1980, 420, -1980, 719, -1980, 377, -1980, -1980, -1980, -1980, -1980, 272, -1980, 1066, 429, -1980, 392, 1234, 37643, 2976, 759, 38329, -1980, 462, 481, -1980, 1834, 40946, 36221, -1980, -1980, -1980, -1980, -1980, -1980, 38138, 37241, 635, -1980, 108, -1980, -1980, 320, 320, 640, 549, 320, 29147, 706, -1980, -1980, 414, -1980, 2651, -1980, -1980, -1980, 550, -1980, 847, 862, -1980, -1980, 38425, -1980, -1980, 3046, 1821, 1740, 1890, 2006, 23636, -1980, 568, 806, 797, 30225, 40570, -1980, 30351, -1980, -1980, -1980, 706, -1980, 755, 1090, 1135, 72, 40570, -1980, 40300, 30477, 40570, 30603, -1980, 30729, -1980, -1980, 706, -1980, -1980, 647, 587, -1980, -1980, 1058, -1980, 294, 494, -1980, -1980, -1980, -1980, -1980, 1159, 651, 462, 1821, 1255, 2006, 40946, 40946, 282, -1980, 1154, 613, 738, 587, 866, 462, 1213, -1980, 27747, 780, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 776, -1980, 453, -1980, 800, -1980, -1980, 809, -1980, 823, 1428, 35364, 190, 372, -1980, -1980, 600, 660, 873, 886, 357, 906, -1980, 357, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 920, 945, -1980, -1980, -1980, -1980, -1980, -1980, 123, 57, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 37839, -1980, 17397, 36533, 41149, 17536, -1980, 947, 1041, 884, -1980, -1980, 294, 37741, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 377, 392, 38905, 40946, 39190, -1980, -1980, -1980, -1980, -1980, 1002, 640, 640, -1980, 29147, 183, -1980, -1980, 29202, 29287, 29287, 1031, 40750, 29147, -1980, -1980, 1052, 1055, 40750, 29147, 1076, 1088, 1110, 1152, 1168, 29342, -1980, -1980, 23880, -1980, 320, 12020, -1980, -1980, -1980, -1980, 1093, -1980, 128, 1113, -1980, -1980, 108, -1980, -1980, 12822, -1980, 1549, 27802, -1980, 871, 948, 1089, 29147, 842, 1126, 1162, 1161, 1174, 1305, 106, 1549, 1220, 786, -1980, 1549, -1980, 933, 1030, 1375, 1012, 1240, 1216, 1259, 1212, 1345, 159, 1549, 640, -1980, -1980, -1980, -1980, 1280, 393, 40390, 1310, 1316, -1980, -1980, 27887, -1980, 27942, -1980, 688, 700, 1286, 1334, 1821, 2171, 2540, 847, -1980, -1980, 915, -1980, -1980, -1980, -1980, -1980, 1052, 1093, -1980, -1980, -1980, -1980, 639, 1359, -1980, 1089, -1980, 1375, 35479, -1980, 23758, 40300, -1980, 544, 40030, 39285, -1980, -1980, 1256, -1980, 706, -1980, -1980, 108, 39475, 39095, 6453, 40660, -1980, -1980, 1536, 1333, 1333, 1115, -1980, 1340, -1980, -1980, -1980, 133, 861, 172, -1980, -1980, 29587, 1349, -1980, 1120, -1980, -1980, 345, -1980, -1980, -1980, 1369, 29721, 29847, 343, 185, 786, 36325, 38521, -1980, 462, 1834, -1980, -1980, 11378, -1980, -1980, 1381, -1980, 706, -1980, -1980, -1980, 1964, 40750, -1980, 544, -1980, 29973, 30099, 1385, 1392, -1980, 1399, -1980, 1403, -1980, -1980, 2594, 1405, 760, -1980, -1980, -1980, -1980, 976, 804, 35479, 1009, -1980, 30855, 30981, -1980, 1009, -1980, 31107, 31233, 1009, -1980, 31359, 31485, -1980, -1980, 3046, 3046, 3046, 21842, 915, 1159, 651, 915, -1980, 28027, 36533, -1980, 947, 36533, -1980, 947, -1980, -1980, 3046, 3046, 915, -1980, -1980, 1409, 225, -1980, -1980, 1418, 1463, 40120, 1486, 1408, 1430, -1980, 31611, -1980, 31737, 503, -1980, 12663, 28082, 3046, -1980, 1219, 776, -1980, -1980, -1980, -1980, -1980, 847, 1429, 462, 893, 187, 132, 1336, 1476, -1980, 39760, 1480, -1980, 39850, 1499, 39940, 1507, 40210, -1980, -1980, -1980, 1249, -1980, 29147, 706, -1980, -1980, 1527, -1980, -1980, 647, 587, -1980, 1519, -1980, -1980, -1980, -1980, -1980, 462, 1301, 613, -1980, -1980, 1533, -1980, 17675, -1980, 947, -1980, 180, 28167, 1529, 1540, 1542, 27, 17814, 1544, 108, 1547, 1552, 17953, 1052, 2197, 1557, 1564, 108, -1980, -1980, 1093, 1563, 1570, 1572, 1379, 16002, 1549, 16146, 25428, 1549, 1549, -1980, 16285, 37937, -1980, -1980, -1980, -1980, -1980, 18092, 18231, 18370, 18509, -1980, -1980, -1980, 947, 18648, -1980, -1980, -1980, 18787, -1980, -1980, 320, 320, 640, 584, 706, 1390, 1569, -1980, 847, 759, -1980, 462, 1821, 40946, 40946, 36533, -1980, -1980, 39000, 29147, 196, 1580, 326, -1980, 24018, -1980, -1980, 28222, -1980, -1980, -1980, -1980, 40750, 1586, -1980, -1980, -1980, -1980, -1980, 35797, 40750, 24156, 108, 35903, 40750, 29147, 320, 320, 320, 29147, 23880, -1980, -1980, -1980, 12978, 13122, 13266, -1980, -1980, -1980, -1980, 8525, 1587, 66, 21980, -1980, -1980, 194, -1980, 561, -1980, 22118, 1581, -1980, 22256, -1980, -1980, 1525, -1980, -1980, 25486, 1530, 29147, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 27802, 201, -1980, -1980, -1980, -1980, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 1089, 1375, 29147, 29147, -1980, 29147, 27802, 27802, 27802, 27802, 27802, 29147, 29147, 13410, 27802, -1980, 1539, -1980, -1980, 25571, 1550, 29147, 27802, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 27802, 27802, 27802, 27802, 27802, 29147, 29147, 13554, 27802, -1980, -1980, 595, 776, 40660, -1980, -1980, 37340, 40390, 40390, -1980, 1577, 1578, 1579, -1980, 1582, 1583, 1585, -1980, -1980, -1980, -1980, 847, -1980, -1980, -1980, -1980, 1588, -1980, -1980, 23636, 23636, 35258, 462, 897, -1980, 659, 985, 1616, 35479, 999, 1591, 1595, -1980, -1980, -1980, 1964, 35585, 39380, -1980, -1980, 108, -1980, -1980, -1980, 36429, 1593, 108, 35691, 2591, 24278, 1425, 39570, -1980, 1598, -1980, 947, -1980, 947, -1980, -1980, -1980, 947, -1980, 1597, -1980, 831, -1980, -1980, 4080, 4080, 1333, 1333, -1980, 1333, 147, -1980, 1333, 1333, -1980, -1980, 138, -1980, 1369, 138, -1980, 1369, 902, 28307, 2488, 29147, 622, -1980, 1599, 847, 38617, -1980, 462, 1821, -1980, -1980, 718, 780, 35364, 29453, 585, 357, -1980, 357, 3046, -1980, -1980, -1980, -1980, 241, -1980, 263, -1980, 343, 36325, 23636, -1980, -1980, 1607, -1980, -1980, -1980, 40300, 40300, 29147, 108, -1980, 31863, 117, -1980, -28, 956, -1980, 40300, 108, 901, 108, 1526, -1980, -1980, -1980, -1980, -1980, -1980, 1333, -1980, -1980, -1980, -1980, -1980, 36635, 1438, -1980, 22394, 41048, 22532, -1980, -1980, 12215, -1980, -1980, 39665, -1980, -1980, 847, 1159, -1980, 651, -1980, 847, -1980, 28027, -1980, -1980, -1980, -1980, -1980, 947, -1980, 947, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 1403, 118, 166, 1600, -1980, 31989, 32115, 1603, -1980, 32241, 32367, 32493, -1980, 627, 398, 437, 1172, 1818, 1611, 1617, 1621, -1980, 1605, 1612, 1615, 462, 915, 2006, 187, 38713, 28362, 893, -1980, -1980, 40480, -1980, -1980, 776, -1980, -1980, 40480, -1980, -1980, 776, -1980, -1980, 40480, -1980, -1980, 776, -1980, -1980, 40480, -1980, 776, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 1630, 1634, -1980, 1386, 1635, 1637, 394, -1980, 22670, -1980, -1980, 18926, 1631, 1632, 19065, 29147, 29147, -1980, 28447, 28502, 1633, 1646, 1647, 10041, 1648, 108, 25626, 2368, 1485, 25711, -1980, 1717, -1980, -1980, 25796, 1649, -1980, -1980, -1980, 1655, 1663, 25851, 16424, 320, 1667, 29147, 29147, 108, -1980, -1980, -1980, -1980, 21566, 860, 27802, -1980, 1393, -1980, 29147, 13698, 13842, 27802, -1980, 29147, 13986, 1533, 19204, 19343, 19482, 19621, -1980, -1980, -1980, 19760, -1980, -1980, -1980, 19899, -1980, -1980, 640, 640, 1651, 1671, 35013, 35138, 915, -1980, 915, 36533, -1980, 36533, -1980, -1980, 1668, 27802, -1980, 27802, 664, -1980, 343, -1980, -1980, -1980, -1980, 8525, 1672, 1673, 40840, 23636, 38233, 29147, 1674, -1980, -1980, -1980, -1980, -1980, 462, 1675, 1678, 1669, 1681, -1980, -1980, -1980, -1980, -1980, 36009, 25936, 1680, 1683, 1686, 29147, 1679, 36115, 1677, 373, 337, 579, 1684, 1690, -1980, 108, -1980, -1980, -1980, -1980, -1980, 29147, 320, 265, 36736, 22808, 1689, -1980, 27802, -1980, 270, 36837, 22946, -1980, 274, 36938, 23084, -1980, -1980, -1980, -1980, 1244, 1697, -1980, -1980, -1980, 26021, 4957, -1980, -1980, 1689, -1980, -1980, -1980, -1980, -1980, -1980, 871, 933, 871, 933, 948, 1030, 948, 1030, 1089, 1375, 1089, 1375, 1089, 1375, -1980, -1980, 842, 1012, -1980, -1980, 842, 1012, -1980, -1980, 1126, 1240, -1980, -1980, 1162, 1216, -1980, -1980, 1161, 1259, 1174, 1212, 1305, 1345, -1980, 53, -1980, 26079, 1691, 5767, 1692, -1980, -1980, -1980, -1980, -1980, 1246, -1980, -1980, -1980, 26164, 6821, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 871, 933, 871, 933, 948, 1030, 948, 1030, 1089, 1375, 1089, 1375, 1089, 1375, 1089, 1375, -1980, -1980, 842, 1012, -1980, -1980, 842, 1012, -1980, -1980, 1126, 1240, -1980, -1980, 1162, 1216, -1980, -1980, 1161, 1259, 1174, 1212, 1305, 1345, -1980, 26222, 1694, 8377, 1696, -1980, -1980, 108, 108, -1980, -1980, 475, 929, -1980, -1980, -1980, 37441, 37542, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 683, 2432, 897, -1980, 23636, 108, -1980, -1980, 23636, -1980, 937, -1980, -1980, -1980, 508, 462, 1821, -1980, -1980, 449, 1599, 1588, 462, 1821, -1980, 1711, -1980, 949, 603, 979, 3046, 1712, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 4810, -1980, -1980, -1980, -1980, -1980, 23222, 2258, 780, 35364, 21428, 626, 915, 847, -1980, 915, 29147, -1980, 853, -1980, -1980, -1980, 1716, 1597, 1581, 1599, 1017, 23636, 1029, 1034, -1980, -1980, -1980, 32619, 32745, 1719, -1980, 3229, 40660, 40660, 40660, 40660, -1980, -1980, -1980, 29147, 1721, 28587, -1980, 947, -1980, -1980, 28642, -1980, 28727, -1980, -1980, -1980, 1493, 1438, -1980, -1980, 1333, -1980, -1980, -1980, -1980, -1980, 1493, 1438, -1980, 28782, 6990, -1980, -1980, -1980, -1980, -1980, 20038, -1980, -1980, 249, -1980, -1980, 257, 1720, -1980, 32871, 32997, 462, 1818, 1729, -1980, -1980, -1980, -1980, -1980, -1980, 915, 893, -1980, 1730, 1737, -1980, 1727, 1728, 1731, -1980, -1980, 35364, -1980, -1980, -1980, -1980, -1980, 29147, 1741, 1520, -1980, -1980, -1980, -1980, 280, 37039, 23360, -1980, -1980, -1980, 20177, 21566, 21566, -1980, -1980, -1980, 20316, 26307, 16563, 26392, 26477, 24642, 26562, 16702, 21704, 1736, 1742, 21704, 29147, 28867, 1812, 26647, 1663, 9673, 320, 21704, 1753, 8069, 10041, -1980, 1494, 26702, 10504, 26787, -1980, -1980, -1980, -1980, -1980, 200, 320, 1754, 1264, -1980, -1980, -1980, -1980, 20455, -1980, -1980, -1980, 1756, 1758, 108, -1980, -1980, -1980, -1980, -1980, -1980, 40300, -1980, -1980, -1980, -1980, 26842, 1752, 24918, 1755, 26927, 1760, 25003, 1763, 1761, 1762, -1980, -1980, -1980, -1980, -1980, -1980, 14130, -1980, -1980, 1776, 1072, -1980, 2718, 1779, 1783, 1788, 1780, 1785, 23636, 1678, 38809, 1675, 29147, 23636, 29147, 1801, -1980, -1980, -1980, -1980, -1980, 1789, -1980, 28922, -1980, -1980, 1792, 1793, 29147, 29147, 1790, 9853, -1980, 108, 108, 29147, 14274, -1980, -1980, 640, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 14418, -1980, -1980, -1980, -1980, 27802, 14562, 14706, 27802, 14850, 14994, -1980, -1980, -1980, 15138, 15282, 15426, 15570, -1980, -1980, -1980, 595, 1808, 610, -1980, -1980, 462, 897, 1923, 1114, 23636, -1980, -1980, 1807, 915, 915, 1333, 915, 1588, 1813, -1980, -1980, 1817, -1980, 300, 37140, 23498, -1980, 462, 881, -1980, 847, -1980, -1980, 1810, 1811, -1980, -1980, -1980, 1136, -1980, -1980, 33123, 1822, 33249, -1980, 1823, 35479, -1980, 1827, -1980, 29147, 28027, 2310, -1980, -1980, 2310, -1980, -1980, -1980, 2310, -1980, -1980, 20594, 20733, -1980, -1980, -1980, 33375, -1980, 33501, 187, 893, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 2006, 27012, -1980, -1980, -1980, -1980, -1980, -1980, 20872, -1980, -1980, -1980, 21011, 10041, 24366, 10041, 24366, 12520, -1980, 24780, 16841, -1980, -1980, 21704, 21704, 27097, 10041, 27182, 24504, 1826, 25088, 27267, 204, 21150, -1980, 29147, -1980, 12520, -1980, 8069, 10041, 25173, 29007, 84, 1829, 84, 226, 1828, -1980, 108, 29147, 29147, 108, 27802, 27802, 27802, 27802, 27802, 27802, 27802, 27802, 15714, 15858, -1980, -1980, -1980, 462, 1678, 1832, -1980, -1980, -1980, -1980, -1980, 1146, 1675, -1980, 1837, 1838, 1844, 1846, 1205, 1847, 1848, 23636, 29147, 23880, -1980, -1980, -1980, 1854, 1857, 1859, 1860, 29147, 1839, 1843, 1845, 1875, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 326, -1980, -1980, -1980, 326, -1980, -1980, -1980, -1980, -1980, 326, -1980, -1980, -1980, 326, -1980, -1980, -1980, 326, -1980, -1980, -1980, 326, -1980, -1980, -1980, 326, -1980, -1980, -1980, 326, -1980, -1980, -1980, -1980, 1215, -1980, -1980, 1588, 27802, -1980, -1980, -1980, 29147, 29147, -1980, 33627, 33753, 33879, 34005, 34131, 40660, -1980, 40660, -1980, 10309, 21289, -1980, -1980, -1980, 34257, 34383, 34509, 34635, -1980, 1938, 1941, -1980, -1980, -1980, -1980, 10041, 29147, 29062, 1829, 16980, 17119, 25258, -1980, 12520, 24780, 27322, 17258, 108, -1980, 1081, 177, -1980, 96, 84, 1883, 84, 92, 645, 1886, 1271, -1980, -1980, 1675, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, 1237, 1877, 1880, 1892, -1980, -1980, -1980, -1980, 1884, 1885, -1980, -1980, -1980, -1980, -1980, 1895, -1980, -1980, -1980, -1980, 34761, 34887, -1980, -1980, 27407, -1980, -1980, 10041, 10041, 27492, 25343, 10041, 27577, 24504, 1896, -1980, 10041, 29147, -1980, -1980, 24780, -1980, -1980, 1888, 1898, 84, 84, 29147, 84, 1899, 84, 1149, -1980, 240, 1333, 636, -1980, 283, -1980, 1897, -1980, 108, -1980, -1980, -1980, 28587, -1980, -1980, -1980, -1980, -1980, -1980, 1896, 10041, -1980, -1980, 27662, -1980, -1980, 320, -1980, -1980, 1272, 1902, 1285, -1980, 1184, 1903, 84, 84, 1904, 84, -1980, -1980, -1980, -1980, 92, 673, -1980, -1980, -1980, 10041, 199, 1908, -1980, 1911, 1915, 84, -1980, 1321, 1328, -1980, 1204, 696, -1980, -1980, 29147, -1980, -1980, -1980, 1347, 1916, 1917, 1919, 84, -1980, 1922, 1921, -1980, -1980, -1980, 1350, -1980, -1980, 1926, -1980
133 static const yytype_int16 yypgoto[] =
135 -1980, 2067, 112, 10144, -1980, 1990, -1980, -1980, -1980, -1980, -1980, -1980, 1584, 1589, -929, -1980, -890, -964, 145, 148, -881, -809, -799, -1980, -732, -699, -1980, -1980, 1594, 1602, -1980, 1715, 3265, -1980, -292, 608, 681, -1980, -1980, -1980, -1980, 1609, -1980, -1980, -1980, -640, -1979, -101, -1980, -1980, -1980, -1980, 2390, 3133, -22, 11, 557, -848, -1980, -834, -1980, -843, -1980, 1071, -148, 1199, -671, 1, 1774, -13, 1781, -21, 0, -1980, 1151, -1980, -1980, 7528, 3860, -1980, 5622, -146, 1266, -1980, 3771, -1980, -325, 391, 534, 1100, -1980, -458, -457, -203, -38, 10, 124, 914, 9076, 4373, -45, 8898, -781, 380, -1980, 4549, -320, 656, 856, 2026, 615, 146, 161, 191, 209, 234, 1241, 526, -421, 7106, -748, -294, 723, 10847, -56, 1109, -130, 3236, 10912, 8268, -1980, -1980, -1980, -74, -41, -70, -1980, 6550, -1980, 1022, 3315, 620, -795, 3736, 8758, -1980, 11214, -1980, -1980, -1980, -52, 4053, -1980, -1980, 2030, 6555, -37, -1980, -1980, 1141, 1659, 1373, 1784, -82, -81, 5431, 10303, 8661, 3330, -367, -114, -368, 77, -851, 74, 2858, -1980, -1980, -1062, -1980, 3595, -558, -1204, 7418, -207, -670, 264, 210, 151, 1685, -252, -764, -456, -909, -529, -917, -919, 311, 1105, 1098, -24, 1849, -716, 1374, 628, -511, -431, -1980, -89, -71, 5725, 212, 31, -391, -1980, -1980, -1980, 2004, -1980, 3316, 2016, -64, 3577, -7, 1841, 1018, 1021, -1980, -1980, -1980, -90, 1996, -1551, -69, -1980, -1980, -1980, 6, -1980, 2019, -55, 19, 2012, 1592, -1980, -1980, -1980, 2022, -759, 381, -1980, -745, 863, -1980, -1980, -1980, -1980
138 static const yytype_int16 yytable[] =
140 64, 1143, 271, 1226, 222, 223, 1018, 1459, 508, 1458, 1248, 1410, 1681, 177, 939, 718, 1412, 1255, 398, 776, 1259, 722, 1065, 501, 777, 1411, 286, 175, 1113, 280, 108, 110, 1514, 1520, 1524, 745, 692, 1575, 282, 392, 943, 115, 176, 1249, 1032, 1387, 390, 391, 287, 109, 1256, 1230, 123, 1260, 1721, 1848, 278, 393, 602, 140, 196, 116, 173, 288, 149, 148, 152, 1859, 1519, 398, 172, 299, 277, 499, 1073, 1, 1399, 1079, 1389, 1085, 276, 1090, 163, 174, 123, 1471, 210, 285, 1433, 106, 1400, 123, 840, 64, 844, 1, 537, 540, 1495, 2080, 64, 64, 933, 1496, 296, 1533, 1513, 945, 1523, 104, 2127, 1, 1431, 380, 1016, 1515, 383, 1525, 1492, 1536, 1, 1, 491, 797, 600, 111, 297, 298, 210, 750, 301, 123, 123, 1066, 902, 513, 413, 518, 112, 522, 149, 467, 480, 1500, 467, -457, -457, -457, 494, 1114, 496, 92, 106, 496, 480, 492, 509, 467, 480, 467, 181, 467, 1482, 105, 525, 2086, 2127, 1539, 514, 1, 519, 138, 523, 904, 149, 148, 825, 113, 622, 536, 539, 617, 299, 123, -453, 603, 925, 1516, 299, 1526, 1, 583, 755, 756, 757, 1250, 1246, 1517, 550, 1527, 500, 671, 1274, 1860, 299, 299, 399, 1860, 177, 299, 149, 863, 558, 797, 286, 2, 286, 2007, 937, 2081, 163, 570, 175, 2077, 121, 379, 280, 2082, 1, 2013, 123, 299, 175, 123, 186, 282, 287, 176, 287, 1432, 1531, 615, 1480, 2121, 92, 1493, 1537, 176, 601, 798, 1804, 289, 92, 696, -1036, -1036, 751, 399, 1806, -1036, 532, 903, 134, 663, 1481, 608, -109, 685, -457, 277, 648, -100, 1057, 868, 679, -104, 675, 695, 681, 326, 851, -82, 693, 542, 1520, 1524, 1, 1483, 64, 682, 64, 1520, 1524, 680, 1540, 1520, 1524, 1997, 772, 2079, 751, -89, 826, 979, 1065, 618, 701, 758, 711, 565, 549, 926, 799, 584, 711, 759, 807, 585, 760, 1519, 566, 2148, 1251, 1861, 550, 106, 1519, 1998, 136, 1251, 1519, 1862, 1108, 1297, 1301, 1862, 1305, 1267, 753, 1191, 143, 396, 299, 825, 144, 741, 1, 184, 184, 2014, 893, 895, 897, 899, 752, 181, 2086, 2015, 1052, 1523, 1, 1363, 1367, 2122, 1371, 688, 1523, 2077, 1525, 903, 1523, 2123, 1580, 586, 1805, 1525, 968, -617, 299, 1525, 149, 831, 1807, 1267, 968, -612, 550, 137, 550, 942, 223, 751, 156, -109, 123, 395, 1, 1, -100, 583, 123, -739, -104, -739, 141, 1581, 142, -1021, -82, -1021, 1651, 2126, 1655, 149, 915, 916, 1009, 1, 831, 299, 866, 509, 145, 1, 870, 570, 1034, 939, -89, 186, 881, 582, 1009, 882, 831, 870, 889, 831, 586, 691, 1526, 289, 2, 1653, 692, 1657, 1019, 1526, 2, 1021, 1527, 1526, 1, 1275, 1277, 1279, 1, 1527, 1276, 1278, 1280, 1527, 146, 147, 1703, 467, 467, 149, 852, 1193, 929, 210, 752, 917, 123, 1892, 1053, 956, 1, 52, 745, 2, 960, 1339, 1341, 1343, 163, 961, 1340, 1342, 1344, 467, 467, 1065, 1054, 587, 1702, 1, 839, 588, 843, 939, 1468, 974, 1556, 155, 1, 745, 933, 149, 978, 1, 1820, 467, 467, 745, 829, 1578, 467, 467, 160, 469, 467, 467, 469, 585, 123, 123, 123, 184, 123, 2, 1244, 123, 1670, 745, 1673, 469, 1039, 469, 1043, 469, 184, 381, 123, 123, 123, 688, 1532, 150, 149, -457, -457, -457, 1691, 831, 496, 1565, 159, 26, 467, 1700, 467, 525, 588, 1047, 550, 123, 933, 1410, 149, 1040, 1753, 1044, 1412, 1570, 877, 1477, 1471, 1478, 123, 51, 556, 1745, 299, 1071, 589, 1, 1077, 933, 1083, 1309, 1088, 1016, 671, 671, 671, 671, 1, 1102, 1737, 589, 1738, 231, 1011, 1150, 1, 1010, 1157, 1799, 1013, 1798, 1265, 146, 147, 299, 1520, 1524, 1769, 1375, 1011, 1770, 286, 529, 1430, 1, 1802, 589, -863, 1227, 1, 1124, 1045, 1131, 1461, 295, 933, 1749, 373, 1, 175, 1144, 1399, 1399, 287, 299, 134, 1782, 1, 1785, 856, 1519, -910, 1052, 399, 176, 1400, 1400, 1331, 1787, 1418, 591, 1, 648, 648, 648, 648, 1, 1427, 675, 675, 675, 675, 1487, -457, 300, 1, -457, 1056, 1441, 2022, 149, 1179, 386, 1185, 1187, 1, 972, 1252, 583, 123, 1523, 2, 419, -216, 1253, 570, 1176, 1177, 1, 1525, 586, 1196, 146, 147, 937, 1704, 1476, -1061, 1, 1203, 1101, 590, 529, 527, 1392, 1393, 1208, 1218, 550, 1228, 1208, 1218, -1061, 552, -910, -910, 590, 1196, 1635, -910, 1762, 1758, 1640, 2, 1957, 1642, -910, 1644, 1239, 545, 146, 147, 1233, 1234, 1235, 146, 147, 1767, -1061, 1746, 1463, 1530, 590, -863, 1262, 495, 1313, 1, 1269, 857, -910, -910, 1, 1763, 254, 858, 1183, 2090, 2086, 1562, 1053, 1526, 688, 526, 134, -910, 1061, -910, 1, -870, 710, 1527, -1067, 1904, 1379, 710, 592, 972, 1054, 980, 980, 980, 801, 802, 803, 2146, 32, 1520, 1524, 1, 1329, 146, 147, -216, 1334, 1315, 1, 184, 184, -216, 846, 752, 1776, 1, 585, 106, 1485, 1486, 1451, 1452, 1600, 1453, 847, 2157, 1455, 1456, 588, 43, 44, 1394, 149, 1397, 1519, 1381, 831, 831, 831, -459, -459, -459, 1494, 107, 1548, 392, 469, 469, 691, 153, 1473, 154, 1467, 391, 373, 787, 788, 1, 1556, 413, 1413, 210, 1268, 393, 1, 974, 526, 149, 978, -265, -265, -265, 469, 469, 1523, 163, 1423, 570, 1167, 1171, 1144, 1533, 197, 1525, 570, 1, 1438, 1440, 1, 1442, 106, 831, 1981, 198, 469, 469, 146, 147, 1505, 469, 469, 1769, 1770, 469, 469, 1, 1538, 1541, 555, 804, -458, -458, -458, 552, 1676, 552, 678, 805, 421, 1, 806, 1707, 1317, 422, 146, 147, 1708, 420, 123, 559, 149, 977, -8, 1, 210, 106, 1696, 123, 398, 560, 1306, 469, 1475, 469, 2, 123, 1978, 123, 1479, 1490, 1383, 1633, 561, 121, 688, 1526, 1310, 149, 929, 413, 1257, 745, -459, 789, 790, 1527, 509, 509, 1372, 496, 387, 467, 496, 146, 147, 1558, 1773, 509, 1501, 149, 1503, 388, 1491, 1, 1376, 197, 1912, 1314, -265, -899, 1809, 778, -265, 1559, 528, 1665, 198, 593, 1669, 1869, 386, 146, 147, 1885, 1966, 123, 1316, 1803, 1891, 939, 594, 779, 780, 1898, 1183, 1380, 1063, -457, -457, -457, 860, 146, 147, 75, 1544, 815, 816, 1064, 1502, 596, 1, 566, 1318, -458, 1382, 688, 496, 496, 52, 671, 467, 467, 671, 598, 467, 467, 467, 2047, 149, 146, 147, 123, 123, 808, -879, -879, 1003, 1545, 1747, -879, 1384, 123, 933, 123, 210, 550, -879, 1748, 599, 831, 1747, 1802, 149, 809, 810, 831, 677, 1959, 149, 1757, 671, 831, 688, 1497, 149, 781, 782, 831, 1498, 149, -879, -879, 26, 552, 671, 671, 671, 671, 975, 134, 783, 784, 933, 149, 976, 933, 179, 1416, 648, 752, 841, 648, 845, 976, 675, 1016, 75, 675, 1674, 104, 1124, 1419, 1131, 75, 75, 373, 399, 976, 2054, 697, 2055, 1615, -457, 817, 818, 399, 1675, 1011, 134, 1775, -457, 791, 792, -457, 1628, 858, 146, 147, 1981, 648, 1269, 1777, 582, 552, 710, 675, 1778, 976, 134, 1624, 491, -898, 976, 648, 648, 648, 648, 811, 812, 675, 675, 675, 675, 1281, 1283, 719, 1, 1561, 720, 136, 1771, 467, 467, 123, 1031, 123, 528, 1809, 2035, 2132, 909, 910, 386, 492, 1882, 831, 157, 149, 158, 723, 858, 2, 831, 1345, 1347, 2076, 413, 210, 1548, 2077, 121, 724, 911, 2078, 1072, 698, 912, 1078, 913, 1084, -625, 1089, -625, 749, 698, 1685, -869, 2017, -869, -869, 698, 2032, 1685, 725, -898, -898, 1958, 415, 1, -898, 149, 898, 858, 752, 574, 254, -898, 28, 29, 914, 373, 1556, 32, 1091, 373, 819, 820, 534, 1969, 38, 1646, 396, 1013, 2, 858, -624, 1709, -624, 2024, 1003, -898, -898, 1982, 2119, 858, 726, 1003, 2077, 1092, 1003, 543, 2120, 544, 43, 44, -898, -898, -898, 469, 469, 1058, 727, 51, -869, 1093, 565, 502, 1918, 793, 373, 515, 179, 1640, 794, -869, 1644, 566, 1659, 2138, 28, 29, 179, 2077, 75, 32, 395, 2139, 795, 1285, 1287, 1583, 38, 796, 1589, 1094, 1095, 373, 2029, 2155, -869, 28, 29, 2077, 858, 373, 32, 2156, 2046, 1067, 547, 136, 544, 38, 858, 800, 43, 44, 737, 1349, 1351, 1109, 469, 821, 386, 373, 823, -869, -869, -869, 2094, 1816, 1630, 824, 1, 161, 858, 43, 44, 1716, 1016, 1728, -216, 1717, 1096, 1717, 1167, 1171, 1167, 1171, 879, 1016, -1016, 535, -1016, 933, 933, 813, 814, 1865, 1896, 1091, 1899, 1866, 1735, 1736, 2092, 2135, 1739, 149, 2093, 2077, 822, 831, 831, 828, 1907, 1909, 1298, 1302, 2137, 848, 28, 29, 2077, 149, 1092, 32, 1740, 1413, 1503, 469, 469, 413, 38, 469, 469, 469, 1105, 1750, 544, 123, 1093, 1, 1628, 851, 1364, 1368, 123, 1282, 1284, 836, 574, 1759, 149, 123, 2153, 837, 43, 44, 2077, 785, 1803, 2154, 1003, 2129, 552, 2077, 2, 849, -1035, -1035, 1094, 1095, 254, -1035, 123, 901, 1766, 1346, 1348, 123, 2159, 2012, 123, 2166, 2077, 149, 908, 2077, 146, 147, -216, 1636, 1637, 1638, 413, 859, -216, 1033, 752, 1, 467, 467, 574, 552, 918, 831, 831, 831, 831, -879, -879, 958, 28, 29, -879, 965, 1183, 32, 752, 1573, 1148, -879, 966, 1574, 38, 1447, 1449, 671, 671, 1180, 415, 142, 1003, 1091, 1003, 967, 1261, 1982, 1, 671, 968, 1268, 574, 1, 971, -879, -879, 1035, 43, 44, 1328, 700, 1, 1027, 467, 467, 1646, 123, 1092, 1013, 700, 1333, 1028, 1, 752, 123, 700, 562, 1016, 1036, 469, 469, 198, 1510, 1093, 1511, 570, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 1976, 745, 745, 745, 745, 745, 745, 745, 745, 648, 648, 1448, 1450, 552, 1894, 675, 675, 1094, 1095, 1124, 1029, 648, 1124, 28, 29, 1124, 1068, 675, 32, 1615, 1074, 2033, 1895, 1124, 698, 38, 1124, 752, 32, 1610, 2040, 1508, 1, 1509, 852, 2083, 752, 2085, 1852, 1080, -216, 1849, 1011, 1003, 981, 982, 983, 1086, 1016, 43, 44, 1144, 1286, 1288, 552, 1024, 1026, 1863, 509, 43, 44, 1104, 1023, 1025, 1462, 1504, 396, 1791, 1103, 1794, 1792, 1106, 1795, 1110, 891, 1111, 1961, 1112, 254, 1130, 373, 373, 1350, 1352, 745, 1132, 2048, 2050, 771, 582, 1133, 413, 1141, 210, 1162, 1164, 413, 1163, 1165, 1142, 2114, 1145, 2116, 1488, 2118, 291, 294, 1009, 1146, 1564, 1147, 1181, 1401, 1402, 1239, 1567, 1913, 1914, 1192, 1205, 395, 1568, 1257, 1245, 1403, 1404, 1405, 1569, 1421, 1406, 1407, 179, 1408, 1420, 388, 1437, 1445, 1199, 1446, 1464, 1484, -731, 2141, 2142, -734, 2144, 552, 1549, 146, 147, -216, 1394, 1552, 1550, 737, 1417, -216, 1551, 752, 1553, 413, 2152, 1554, 1199, 123, 123, 1571, 123, 552, 1572, 1970, 1576, 1973, 1577, 1242, 1586, 1587, 1602, 2163, 149, 671, 1603, 1604, 1606, 1645, 2130, 1611, 1619, 1003, 1817, 2131, 373, 467, 1620, 467, 1003, 1984, 831, 1986, 1003, 1563, 1621, 1625, 1971, 421, 1974, 1649, 1678, 1666, 1667, 1680, 1823, 1827, 1206, 1683, 1682, 1693, 1701, 467, 1694, 467, 123, 1695, 1839, 1705, 1698, 1706, 28, 29, 1985, 1711, 1987, 32, 1718, 1, 1724, 1727, 1, 1732, 38, 1734, 1646, 1013, 1124, 1124, 1124, 1124, 1756, 1760, 648, 1, 1601, 1774, 1124, 1124, 675, 1124, 1779, 1124, 2, 1788, -737, 2, 43, 44, 1810, 1811, 574, 121, 450, 1124, 121, 450, 1812, 1813, 1814, 401, 1819, 1815, 1144, 1840, 1846, 1628, 469, 469, 450, 1841, 450, 1850, 450, 1864, 1867, 2010, 1868, 2010, 1011, 1871, 1878, 1879, 1873, 1289, 1291, 574, 1293, 1875, 28, 29, 1877, 28, 29, 32, 574, 1881, 32, 413, 1886, 550, 38, 574, 1887, 38, 28, 29, 737, 1888, 574, 32, 1889, 1353, 1355, 1357, 1359, 1890, 38, 1901, 1902, 1911, 469, 469, 1905, 1906, 43, 44, 1677, 43, 44, 1956, -231, 671, 1960, 671, 700, 1963, 565, 1967, 1968, 52, 43, 44, 1964, 1972, 1996, 1975, 2052, 566, 1697, 1977, 2011, 2023, 52, 2016, 415, 415, 2025, 2026, 2042, 574, 28, 29, 2043, 1, 2044, 32, 467, 467, 467, 467, 467, 831, 38, 831, 2027, 574, 2028, 2030, 2031, 2053, 467, 467, 467, 467, 2036, 1003, 57, 2037, 2, 2038, 2039, 1124, 2124, 2125, 2045, 552, 43, 44, 2059, 671, 648, 2060, 648, 2075, 2084, 2091, 675, 2095, 675, 403, 2096, 2097, 1144, 1628, 2098, 2099, 2100, 2106, 2111, 2112, 2117, 2136, 2128, 2145, 2140, 2143, 373, 114, 2010, 2149, 2010, 1003, 2150, 1003, 28, 29, 2151, 2160, 2161, 32, 2162, 2164, 2165, 1499, 1994, 57, 38, 2167, 467, 467, 1003, 1786, 151, 1409, 415, 1124, 1124, 949, 683, 1124, 1454, 1124, 950, 54, 1124, 684, 1332, 951, 648, 57, 43, 44, 57, 1489, 675, 952, 28, 29, 255, 57, 1764, 32, 955, 1628, 272, 1144, 57, 57, 38, 1144, 886, 1231, 2010, 2010, 721, 2010, 1979, 2010, 1237, 57, 290, 1124, 382, 1003, 2113, 279, 878, 664, 281, 293, 616, 283, 43, 44, 57, 1955, 0, 0, 0, 0, 0, 0, 407, 0, 1144, 1628, 2134, 407, 255, 1124, 407, 0, 0, 0, 0, 2010, 2010, 0, 2010, 0, 255, 1144, 57, 407, 255, 407, 170, 407, 0, 0, 0, 0, 0, 0, 2010, 469, 54, 469, 417, 0, 0, 0, 0, 54, 54, 0, 0, 0, 0, 0, 0, 2010, 255, 255, 0, 0, 450, 450, 538, 541, 0, 469, 0, 469, 407, 0, 0, 0, 953, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 557, 0, 0, 0, 450, 450, 552, 0, 552, 57, 0, 0, 0, 0, 2071, 0, 2074, 373, 0, 0, 0, 1663, 552, 552, 0, 0, 450, 450, 0, 373, 0, 450, 450, 0, 0, 450, 450, 0, 0, 18, 19, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 255, 0, 38, 255, 255, 644, 1, 0, 0, 623, 0, 670, 0, 57, 0, 0, 28, 29, 0, 0, 450, 32, 450, 57, 255, 57, 43, 44, 38, 2110, 694, 2, 0, 568, 1003, 0, 0, 0, 0, 853, 121, 0, 0, 255, 0, 0, 0, 0, 0, 255, 415, 0, 43, 44, 0, 0, 0, 0, 0, 407, 0, 0, -457, 0, 1139, -457, -457, -457, -457, -457, -457, -457, -457, 0, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 38, 170, 0, 0, 0, 0, 469, 469, 469, 469, 469, 170, 0, 54, 0, 0, 0, 0, 0, 0, 469, 469, 469, 469, 43, 44, 0, 57, 0, 0, 0, 786, 407, 51, 407, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 373, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 1900, 57, 0, 407, 57, 18, 19, 255, 57, 0, 0, 0, 0, 880, 1908, 1910, 0, 57, 255, 0, 57, 552, 0, -457, -457, 469, 469, 0, 0, 894, 552, 0, 900, -457, 0, 28, 29, 0, 0, 417, 32, 0, -457, -457, -457, -457, -457, 38, 407, 407, 0, 0, 0, 57, 57, 0, 0, 0, 0, 0, 407, 0, 0, 0, 0, 959, 0, 0, 0, 0, 255, 43, 44, 0, 407, 407, 0, 0, 568, 0, 0, 574, 0, 1609, 1, 0, 552, 552, 0, 0, 0, 0, 0, 57, 0, 0, 407, 407, 0, 28, 29, 407, 407, 0, 32, 407, 407, 0, 0, 2, 415, 38, 644, 0, 415, 0, 0, 0, 121, 255, 0, 0, 255, 0, 0, 1020, 0, 0, 1022, 0, 568, 0, 0, 0, 0, 43, 44, 0, 57, 0, 0, 0, 0, 407, 51, 407, 0, 860, 57, 407, 0, 0, 1004, 0, 0, 28, 29, 0, 566, 0, 32, 0, 0, 0, 0, 0, 0, 38, 57, 0, 568, 57, 0, 57, 0, 57, 0, 415, 0, 0, 0, 574, 57, 0, 0, 0, 0, 0, 969, 0, -640, 43, 44, 0, 0, 415, 0, 0, 373, 0, 51, 0, 0, 52, 1460, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, -640, 373, 0, 2034, 38, 0, -955, 0, 0, -640, -640, 0, 2041, 18, 19, 698, 698, 0, 698, 698, 0, 0, 0, 698, 698, 698, 698, 0, 43, 44, 0, 644, 644, 644, 644, 0, 0, 670, 670, 670, 670, 854, 0, 28, 29, 0, -640, -640, 32, 0, 0, -640, 373, 0, 0, 38, 0, 0, -640, 255, 255, 255, 0, 450, 57, 1186, 1188, 1189, 2049, 2051, 407, 0, 0, 18, 19, 0, 0, 0, 255, 43, 44, 0, -640, -640, 0, 255, 255, 407, 51, 255, 255, -640, 0, 0, -640, 0, 407, 970, 0, 968, -640, 737, 0, 28, 29, 0, 0, 57, 32, 0, 644, 0, 0, 0, 0, 38, 0, 644, 1204, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 450, 0, 0, 450, 450, 450, 43, 44, 170, 0, 0, 0, 0, 0, 1195, 51, 0, 1004, 0, 0, 0, 0, 0, 415, 1004, 0, 0, 1004, 415, 698, 698, 698, 698, 698, 698, 698, 698, 28, 29, 0, 1195, 0, 32, 0, 0, 0, 0, 0, 0, 38, 0, 574, 0, 0, 0, 0, 0, 0, 1290, 1292, 0, 1294, 0, 0, 0, 0, 0, 57, 0, 0, 57, 57, 57, 43, 44, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 1206, 1354, 1356, 1358, 1360, 0, 0, 415, 407, 407, 57, 0, 0, 0, 0, 920, 923, 57, 88, 0, 0, 0, 0, 0, 0, 255, 57, 0, 0, 0, 0, 0, 0, 57, 0, 0, 255, 698, 407, 0, 57, 920, 923, 0, 417, 417, 0, 0, 415, 0, 0, 0, 0, 0, 0, 450, 450, 0, 0, 568, 0, 0, 0, 920, 923, 0, 0, 0, 920, 923, 131, 0, 920, 923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 737, 0, 0, 0, 0, 0, 57, 0, 0, 568, 0, 0, 0, 0, 0, 164, 182, 195, 568, 0, 0, 0, 57, 407, 233, 568, 88, 0, 0, 0, 57, 57, 568, 88, 88, 407, 0, 0, 0, 1924, 1928, 57, 1934, 1938, 0, 0, 0, 1942, 1946, 1950, 1954, 0, 0, 0, 1, 0, 0, 0, 1506, 417, 0, 644, 255, 644, 195, 400, 402, 404, 405, 255, 0, 0, 0, 0, 473, 0, 415, 473, 0, 2, 0, 0, 0, 568, 0, 0, 0, 0, 192, 193, 473, 0, 473, 0, 473, 0, 0, 0, 0, 568, 0, 1004, 1004, 1004, 407, 407, 0, 0, 407, 407, 407, 0, 0, 0, 0, 0, 533, 402, 404, 0, 0, 0, 0, 0, 1, 28, 29, 0, 57, 407, 32, 0, 0, 57, 0, 0, 0, 38, 0, 57, 0, 0, 0, 0, 0, 57, 0, 0, 0, 2, 0, 57, 0, 563, 578, 0, 0, 0, 121, 0, 0, 43, 44, 0, 0, 0, 0, 0, 0, 644, 51, 0, 644, 52, 0, 644, 0, 0, 670, 0, 0, 670, 0, 0, 0, 0, 700, 700, 700, 700, 700, 700, 700, 700, 0, 28, 29, 0, 614, 0, 32, 0, 0, 0, 0, 0, 0, 38, 0, 1004, 0, 182, 0, 644, 0, 0, 0, 0, 0, 670, 0, 689, 0, 88, 0, 0, 0, 644, 644, 644, 644, 43, 44, 670, 670, 670, 670, 0, 0, 0, 51, 0, 0, 52, 0, 407, 407, 0, 0, 0, 255, 0, 255, 0, 0, 0, 1647, 0, 1648, 57, 0, 0, 0, 0, 0, 0, 57, 0, 0, 255, 407, 57, 0, 0, 0, 0, 0, 0, 0, 700, 450, 450, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1780, 417, -629, 0, 0, 0, 66, 0, 255, 644, 0, 0, 0, 0, 0, 255, 644, 0, 0, 255, 644, 0, 400, 402, 404, 0, 0, -629, 0, 450, 450, 1658, 0, 0, 0, 0, -629, -629, 1660, 0, 0, 0, 0, 0, 0, 0, 861, 0, 1004, 1004, 0, 0, 0, 473, 0, 1004, 1004, 0, 0, 1004, 1004, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, -629, -629, 0, 0, 0, -629, 0, 0, 0, 0, 0, 0, -629, 0, 0, 0, 66, 0, 0, 0, 473, 473, 0, 0, 0, 935, 66, 0, 0, 946, 0, 0, 473, 66, 66, 0, -629, -629, 0, 0, 0, 164, 0, 0, 0, -629, 473, 473, -629, 0, 0, 1781, 0, 968, -629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, 473, 473, 0, 0, 0, 473, 473, 482, 0, 473, 473, 126, 0, 195, 195, 195, 0, 0, 0, 482, 57, 57, 0, 482, 0, 0, 0, 0, 0, 0, 0, 195, 195, 0, 0, 451, 407, 0, 451, 0, 407, 0, 180, 126, 0, 0, 0, 473, 0, 473, 232, 451, 1050, 451, 1059, 451, 0, 0, 920, 923, 0, 0, 920, 923, 0, 0, 0, 0, 0, 404, 0, 0, 417, 0, 0, 0, 417, 0, 0, 0, 0, 0, 644, 0, 0, 57, 484, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0, 484, 407, 0, 0, 0, 0, 0, 407, 407, 0, 0, 0, 57, 57, 57, 57, 0, 0, 0, 0, 1004, 450, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 531, 66, 1796, 0, 0, 0, 0, 450, 0, 450, 0, 66, 0, 66, 0, 417, 0, 0, 0, 0, 568, 407, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1184, 0, 0, 0, 0, 0, 689, 0, 57, 0, 0, 0, 595, 0, 0, 597, 0, 0, 0, 0, 0, 0, 255, 644, 0, 0, 0, 1214, 644, 644, 0, 1214, 612, 0, 670, 670, 620, 624, 0, 0, 0, 644, 0, 0, 644, 0, 670, 126, 0, 861, 921, 924, 644, 0, 0, 0, 0, 0, 0, 0, 180, 0, 1004, 1004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 921, 924, 0, 0, 0, 715, 0, 0, 0, 568, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 921, 924, 0, 0, 0, 921, 924, 0, 0, 921, 924, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 0, 407, 0, 57, 482, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 450, 450, 450, 450, 0, 57, 0, 0, 0, 0, 0, 0, 0, 450, 450, 450, 450, 0, 417, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0, 0, 482, 126, 861, 0, 0, 0, 0, 451, 451, 164, 861, 1428, 0, 76, 407, 0, 873, 0, 1435, 954, 0, 861, 0, 1443, 0, 0, 0, 873, 0, 255, 644, 0, 0, 451, 451, 0, 0, 0, 0, 0, 0, 0, 0, 126, 450, 450, 407, 0, 407, 0, 417, 57, 0, 0, 0, 451, 451, 0, 0, 0, 451, 451, 131, 0, 451, 451, 0, 0, 0, 1004, 1004, 1472, 407, 0, 407, 0, 578, 0, 0, 964, 0, 232, 131, 0, 0, 0, 0, 0, 0, 0, 0, 417, 935, 0, 0, 0, 76, 0, 0, 0, 0, 0, 451, 0, 451, 473, 76, 644, 644, 670, 0, 0, 0, 76, 76, 402, 0, 0, 0, 0, 0, 0, 621, 625, 0, 0, 0, 0, 568, 620, 0, 0, 620, 126, 126, 126, 0, 1008, 0, 935, 597, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 0, 485, 0, 920, 923, 0, 343, 0, 0, 0, 0, 0, 0, 485, 407, 0, 407, 485, 126, 0, 473, 473, 0, 0, 473, 473, 473, 0, 0, 0, 414, 1546, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 66, 0, 920, 923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 407, 407, 407, 407, 57, 0, 57, 0, 414, 0, 0, 0, 0, 407, 407, 407, 407, 0, 620, 624, 1168, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, 670, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 232, 0, 0, 0, 76, 0, 76, 0, 0, 0, 0, 0, 1212, 1222, 0, 892, 1212, 1222, 473, 473, 0, 0, 407, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 861, 0, 0, 861, 0, 1672, 0, 0, 0, 670, 0, 0, 414, 0, 0, 0, 703, 706, 708, 0, 0, 414, 302, 1214, 1, 303, 106, 414, 0, 0, 1214, 0, 0, 729, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 482, 0, 621, 0, 414, 621, 0, 0, 0, 414, 0, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 307, 82, 0, 0, 0, 0, 308, 309, 82, 82, 0, 0, 414, 0, 414, 485, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 485, 921, 924, 0, 0, 921, 924, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 0, 1426, 414, 0, 0, 0, 486, 0, 0, 322, 0, 0, 1426, 705, 0, 775, 0, 0, 486, 0, 0, 0, 486, 326, 327, 0, 0, 0, 0, 126, 0, 0, 0, 0, 485, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 0, 0, 621, 625, 1169, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 657, 657, 657, 657, 0, 0, 0, 0, 0, 0, 0, 0, 621, 0, 1743, 0, 595, 0, 597, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 414, 195, 0, 0, 451, 451, 0, 0, 451, 451, 451, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 1765, 0, 578, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 414, 0, 0, 0, 82, 0, 82, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 923, 0, 920, 923, 0, 0, 0, 0, 343, 0, 0, 0, 0, 920, 923, 920, 923, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, 473, 473, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1584, 578, 0, 1590, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 923, 0, 451, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1631, 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 0, 874, 1168, 1172, 1168, 1172, 0, 0, 0, 358, 0, 0, 874, 0, 0, 0, 0, 0, 343, 0, 1136, 0, 343, 0, 0, 620, 0, 620, 0, 0, 0, 0, 0, 0, 0, 0, 595, 414, 597, 0, 0, 0, 0, 612, 414, 0, 0, 414, 0, 0, 0, 0, 0, 0, 1883, 0, 0, 0, 1474, 0, 0, 0, 0, 1689, 874, 0, 0, 343, 0, 0, 1689, 0, 0, 414, 414, 414, 414, 414, 414, 414, 0, 0, 414, 414, 0, 414, 414, 414, 414, 414, 414, 414, 414, 0, 343, 0, 0, 0, 0, 0, 0, 0, 343, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, 485, 921, 924, 0, 0, 0, 0, 414, 414, 0, 0, 0, 0, 0, 0, 473, 0, 473, 0, 0, 861, 651, 0, 0, 0, 0, 0, 0, 0, 1296, 1300, 1304, 1308, 1312, 0, 0, 1321, 0, 0, 361, 0, 473, 1264, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 921, 924, 1362, 1366, 1370, 1374, 1378, 1585, 416, 1321, 1591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 414, 748, 0, 657, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 0, 414, 1169, 1173, 1169, 1173, 657, 0, 0, 0, 416, 0, 82, 0, 0, 0, 0, 0, 451, 451, 657, 657, 657, 657, 0, 621, 0, 621, 0, 0, 414, 0, 414, 0, 0, 0, 126, 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, 451, 451, 0, 0, 0, 0, 0, 0, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, 473, 473, 473, 473, 473, 0, 0, 414, 0, 0, 0, 0, 0, 0, 473, 473, 473, 473, 0, 0, 0, 416, 0, 0, 0, 704, 707, 709, 0, 0, 416, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 414, 361, 126, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 416, 0, 0, 0, 1824, 1828, 0, 0, 0, 0, 1015, 0, 473, 473, 343, 343, 0, 1584, 0, 0, 1590, 0, 0, 0, 0, 0, 0, 0, 1631, 0, 874, 0, -457, -457, 0, 0, 0, 416, 0, 416, 0, 874, -457, 0, 0, 0, 0, -457, -457, -457, 0, -457, -457, -457, -457, -457, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 416, 0, 1100, 0, 0, 0, 0, 414, 0, 414, 0, 0, 0, 1607, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 651, 0, 0, 0, 0, 0, 1634, 0, 0, 0, 0, 0, 414, 1641, 0, 0, 414, 0, 307, 343, 0, 0, 0, 414, 308, 309, 310, 414, 0, 0, 0, 0, 651, 651, 651, 651, 0, 311, 312, 0, 451, 0, 451, 0, 0, 0, 0, 1321, 0, 1321, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 451, 0, 451, 0, 0, 322, 323, 0, 416, 324, 1158, 325, 0, 0, 1159, 0, 0, 0, 0, 326, 327, 1720, 328, 329, 330, 331, 1232, 0, 0, 0, 1236, 0, 0, 921, 924, 0, 921, 924, 0, 0, 0, 0, 0, 0, 0, 416, 0, 921, 924, 921, 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 1273, 0, 361, 0, 0, 0, 0, 0, 0, 0, 0, 1824, 1828, 0, 0, 0, 0, 0, 1825, 1829, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 416, 625, 748, 0, 625, 1338, 657, 657, 0, 0, 921, 924, 625, 414, 0, 0, 1126, 414, 1126, 657, 0, 0, 657, 0, 0, 1391, 0, 0, 0, 0, 657, 0, 0, 1126, 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, 414, 451, 451, 451, 451, 451, 0, 0, 0, 0, 414, 0, 416, 0, 0, 451, 451, 451, 451, 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 414, 0, 343, 361, 0, 0, 0, 414, 0, 414, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 416, 414, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 451, 0, 0, 361, 0, 0, 0, 0, 0, 416, 416, 416, 416, 416, 416, 416, 0, 0, 416, 416, 0, 416, 416, 416, 416, 416, 416, 416, 416, 0, 361, 0, 0, 0, 414, 0, 0, 0, 361, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 0, 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 416, 0, 0, 0, 0, 0, 0, 0, 0, 625, 625, 0, 0, 0, 0, 0, 0, 1126, 1126, 1126, 1126, 0, 0, 1126, 0, 0, 0, 657, 657, 0, 1126, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 1126, 414, 414, 414, 0, 0, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 414, 414, 0, 0, 0, 0, 416, 343, 416, 0, 0, 651, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, 414, 414, 0, 414, 414, 0, 0, 0, 414, 414, 414, 414, 0, 416, 0, 0, 0, 0, 0, 0, 1626, 1627, 416, 0, 414, 0, 0, 651, 0, 1273, 0, 0, 0, 1639, 0, 0, 1338, 0, 1643, 0, 414, 651, 651, 651, 651, 0, 0, 0, 0, 0, 0, 416, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1917, 0, 0, 0, 0, 1920, 1922, 1926, 1930, 1932, 1936, 0, 0, 1126, 1940, 1944, 1948, 1952, 0, 0, 0, 0, 1126, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 343, 0, 414, 414, 414, 414, 414, 414, 414, 414, 0, 0, 0, 576, 416, 1126, 1126, 0, 0, 1126, 0, 1126, 0, 0, 1126, 416, 0, 0, 1126, 0, 0, 0, 0, 414, 414, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 361, 361, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 414, 0, 0, 0, 414, 414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 416, 0, 0, 0, 0, 0, 0, 468, 0, 0, 468, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 416, 468, 0, 468, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 2, 0, 0, 416, 0, 0, 361, 0, 0, 0, 416, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, 0, 0, 0, 0, 0, 855, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 343, 314, 315, 316, 317, 318, 319, 320, 321, 1015, 0, 0, 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, 1158, 325, 649, 0, 1725, 0, 0, 0, 1726, 326, 327, 932, 328, 329, 330, 331, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 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, 651, 651, 1007, 0, 0, 1012, 0, 416, 0, 0, 651, 416, 651, 651, 0, 0, 651, 0, 1007, 0, 0, 0, 0, 0, 651, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 361, 0, 0, 0, 0, 416, 0, 416, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 1915, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 0, 1713, 0, 0, 0, 0, 1639, 0, 0, 1643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 686, 0, 0, 416, 0, 0, 0, 0, 468, 468, 0, 0, 0, 468, 468, 0, 0, 468, 468, 0, 0, 0, 0, 0, 1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 651, 651, 651, 0, 0, 651, 0, 0, 0, 651, 651, 0, 651, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 651, 416, 416, 416, 0, 0, 0, 0, 0, 0, 2018, 2019, 361, 0, 0, 0, 0, 416, 416, 0, 0, 0, 0, 649, 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 416, 0, 416, 416, 0, 0, 0, 416, 416, 416, 416, 0, 649, 649, 649, 649, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 416, 0, 1434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 1127, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 1470, 651, 0, 0, 1001, 576, 0, 1001, 0, 0, 651, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 932, 0, 1166, 1170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 361, 0, 416, 416, 416, 416, 416, 416, 416, 416, 0, 0, 1015, 0, 0, 651, 651, 0, 932, 651, 0, 651, 0, 0, 651, 0, 0, 0, 651, 0, 0, 0, 0, 416, 416, 2115, 0, 302, 0, 1, 303, 106, 304, 416, 305, 306, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, 2, 397, 0, 0, 0, 0, 0, 0, 0, 121, 576, 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, 416, 0, 0, 0, 416, 416, 307, 0, 0, 2158, 0, 0, 308, 309, 310, 28, 29, 468, 468, 0, 32, 0, 0, 0, 0, 311, 312, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 0, 322, 887, 0, 0, 888, 731, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 468, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, 686, 0, 0, 1001, 0, 1001, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 221, 261, 74, 0, 0, 361, 0, 0, 0, 74, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 0, 0, 468, 468, 468, 384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 418, 483, 0, 0, 0, 0, 361, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0, 483, 0, 0, 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 649, 0, 0, 649, 0, 0, 0, 261, 261, 0, 0, 0, 649, 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, 649, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 649, 649, 649, 649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, 261, 261, 261, 0, 302, 0, 1, 303, 106, 304, 178, 305, 306, 0, 1582, 0, 0, 1588, 0, 0, 178, 261, 74, 0, 0, 0, 1605, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 714, 0, 686, 0, 0, 0, 714, 0, 0, 1755, 0, 0, 0, 1001, 0, 1629, 736, 0, 0, 0, 1001, 0, 0, 0, 1001, 0, 0, 0, 307, 1166, 1170, 1166, 1170, 0, 308, 309, 310, 1434, 0, 576, 0, 0, 1768, 0, 0, 1012, 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, 0, 0, 0, 832, 0, 0, 322, 323, 0, 0, 324, 1158, 325, 0, 0, 1159, 0, 0, 0, 0, 326, 327, 1730, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 872, 867, 510, 0, 850, 0, 876, 0, 0, 0, 0, 872, 576, 0, 0, 883, 0, -870, 890, 0, -870, -870, -870, 576, -870, -870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 941, 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -870, 0, 0, 0, 0, 573, -870, -870, -870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -870, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 1001, 261, 0, -870, 261, 0, 0, -870, -870, -870, -870, -870, -870, -870, -870, 0, 0, 0, 0, 0, 0, 0, 0, -870, 0, 221, 0, 468, 468, -870, -870, 0, -870, -870, -870, 221, 0, -870, -870, 0, -870, -870, -870, -870, 0, 0, 1001, 0, 1001, 0, 0, 0, 0, 0, 0, 221, 0, 0, 221, 0, 221, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 686, 0, 1962, 0, 0, 1140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0, 0, 649, 649, 0, 0, 0, 261, 261, 261, 261, 0, 649, 0, 649, 649, 0, 0, 649, 0, 0, 0, 0, 0, 0, 0, 649, 0, 0, 649, 0, 0, 0, 1007, 0, 261, 261, 261, 0, 0, 178, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 1211, 1221, 736, 0, 1211, 1221, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 261, 0, 0, 0, 0, 0, 0, 261, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 1822, 1826, 0, 0, 0, 0, 0, 0, 0, 0, 1835, 0, 1838, 1582, 0, 0, 1588, 0, 0, 0, 0, 0, 0, 0, 1629, 0, 0, 1851, 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, 656, 0, 0, 0, 0, 0, 573, 0, 0, 1001, 0, 0, 0, 0, 832, 832, 832, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 418, 221, 0, 573, 91, 0, 0, 0, 0, 0, 0, 1425, 573, 468, 0, 468, 734, 0, 0, 573, 0, 0, 1425, 117, 736, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 649, 649, 649, 649, 0, 0, 649, 0, 0, 0, 649, 649, 0, 649, 0, 649, 0, 120, 132, 0, 0, 0, 0, 0, 0, 0, 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, 1466, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 132, 0, 0, 0, 230, 573, 0, 0, 0, 91, 0, 418, 0, 0, 0, 0, 91, 91, 510, 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 734, 0, 0, 0, 261, 261, 261, 394, 0, 0, 0, 0, 611, 1989, 1990, 1991, 1992, 0, 0, 1993, 0, 0, 0, 1822, 1826, 0, 1835, 0, 1838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 468, 468, 468, 0, 0, 0, 530, 0, 0, 0, 0, 0, 468, 468, 468, 468, 0, 0, 0, 546, 0, 0, 0, 649, 221, 0, 0, 0, 0, 221, 0, 0, 649, 0, 649, 1566, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 580, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 261, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1140, 468, 468, 0, 0, 0, 0, 0, 649, 649, 132, 0, 649, 0, 649, 0, 0, 649, 0, 0, 0, 649, 0, 183, 0, 261, 0, 0, 0, 0, 0, 0, 0, 690, 0, 91, 0, 0, 0, 261, 261, 261, 261, 0, 0, 0, 0, 1993, 0, 0, 0, 0, 0, 0, 649, 0, 2070, 0, 2073, 0, 0, 0, 261, 0, 261, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0, 0, 611, 649, 0, 0, 1156, 0, 418, 221, 0, 0, 0, 0, 0, 0, 0, 656, 656, 656, 656, 0, 1688, 0, 0, 0, 0, 0, 0, 1688, 0, 0, 2102, 2103, 0, 0, 2070, 0, 2073, 0, 0, 2107, 0, 0, 0, 2109, 261, 261, 0, 0, 0, 0, 0, 261, 261, 0, 734, 261, 261, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2109, 0, 0, 0, 734, 0, 862, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 746, 0, 0, 2147, 0, 0, 0, 0, 0, 0, 0, 1271, 0, 0, 0, 0, 0, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 0, 0, 944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1324, 0, 0, 0, 0, 0, 0, 0, 1336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, 0, 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 832, 0, 0, 0, 0, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 1051, 0, 1060, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 1784, 418, 1784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0, 0, 0, 0, 690, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 0, 0, -457, 1216, 261, 261, 0, 1216, -457, -457, -457, 0, 0, 0, 0, 0, 0, 261, 0, 0, 261, -457, -457, 0, 0, 862, 0, 0, 261, 0, 0, 0, 1135, 0, 0, -457, 0, 0, 0, -457, -457, -457, -457, -457, -457, -457, -457, 0, 0, 0, 0, 0, 0, 0, 0, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, 0, 0, -457, 510, -457, -457, 0, -457, -457, -457, -457, -457, -457, -457, -457, -457, 656, 0, 0, 656, 1593, 1595, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 1608, 0, 0, 0, 0, 418, 0, 221, 1617, 0, 418, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 656, 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 1156, 0, 656, 656, 656, 656, 0, 0, 0, 0, 0, 0, 862, 1415, 0, 0, 0, 0, 0, 862, 746, 0, 0, 0, 0, 0, 0, 862, 1429, 0, 0, 1652, 0, 1656, 1272, 1436, 418, 0, 862, 120, 132, 0, 0, 0, 0, 0, 261, 261, 0, 0, 0, 0, 0, 1295, 1299, 1303, 1307, 1311, 0, 0, 1320, 1326, 0, 0, 0, 1156, 746, 0, 573, 1337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 1361, 1365, 1369, 1373, 1377, 0, 1469, 1320, 1390, 0, 0, 0, 580, 260, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 1156, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 261, 261, 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, 936, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 736, 260, 260, 418, 0, 0, 0, 0, 311, 312, 0, 0, 0, 0, 0, 1547, 0, 0, 0, 0, 0, 0, 313, 0, 1555, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 572, 0, 0, 1156, 0, 0, 322, 323, 0, 0, 324, 1158, 325, 0, 0, 1725, 0, 0, 0, 1733, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 418, 0, 418, 610, 0, 0, 260, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 260, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 713, 0, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 0, 27, 735, 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, 862, 0, 0, 862, 0, 1216, 40, 0, 0, 0, 0, 0, 0, 1679, 0, 0, 43, 44, 45, 46, 47, 48, 0, 1216, 0, 51, 0, 0, 860, 0, 1216, 1135, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1272, 0, 0, 0, 0, 0, 0, 1337, 572, 0, 0, 0, 0, 0, 656, 656, 0, 0, 0, 0, 1156, 0, 1156, 0, 0, 1156, 656, 0, 0, 0, 0, 1842, 1845, 0, 1847, 86, 0, 0, 0, 0, 0, 1320, 0, 1320, 1156, 0, 1858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 86, 86, 0, 0, 0, 0, 0, 0, 86, 0, 86, 0, 1156, 0, 0, 0, 1156, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 260, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 1751, 0, 0, 0, 263, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1436, 0, 580, 0, 0, 0, 0, 0, 0, 86, 0, 0, 86, 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, 1156, 0, 86, 0, 0, 0, 0, 260, 260, 260, 260, 0, 0, 0, 0, 86, 0, 0, 656, 1156, 263, 263, 0, 0, 0, 86, 1156, 86, 0, 0, 1847, 0, 2000, 0, 0, 260, 260, 260, 0, 0, 1808, 2006, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 260, 575, 0, 0, 0, 0, 580, 1210, 1220, 735, 0, 1210, 1220, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 734, 260, 0, 0, 0, 0, 0, 0, 260, 0, 0, 260, 0, 0, 613, 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, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 716, 0, 0, 0, 0, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 1884, 0, 0, 0, 0, 0, 0, 86, 0, 0, 572, 0, 2062, 2065, 0, 1156, 0, 1156, 0, 0, 656, 1156, 656, 0, 0, 0, 0, 0, 0, 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, 572, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 735, 0, 572, 0, 0, 1415, 0, 0, 0, 0, 0, 1156, 0, 0, 1156, 0, 0, 0, 0, 0, 575, 0, 656, 0, 0, 0, 0, 1754, 0, 0, 0, 86, 86, 86, 0, 86, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, 86, 86, 86, 0, 572, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 572, 86, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 1919, 1921, 1925, 1929, 1931, 1935, 0, 0, 0, 1939, 1943, 1947, 1951, 0, 260, 260, 260, 0, 575, 0, 0, 0, 610, 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 1679, 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, 733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 260, 699, 0, 260, 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 0, 1921, 1925, 1931, 1935, 1939, 1943, 1947, 1951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 263, 263, 263, 263, 0, 0, 0, 0, 0, 260, 260, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 260, 0, 260, 0, 0, 0, 0, 1200, 0, 551, 0, 551, 0, 0, 0, 263, 1661, 0, 0, 610, 0, 0, 1213, 1223, 738, 0, 1213, 1223, 0, 0, 0, 0, 0, 1200, 0, 0, 0, 0, 0, 1687, 0, 0, 0, 0, 1243, 0, 1687, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 0, 0, 260, 260, 0, 0, 0, 0, 0, 260, 260, 0, 0, 260, 260, 0, 0, 0, 0, 0, 1137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 1155, 0, 0, 0, 1160, 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, 86, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 733, 0, 1002, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0, 575, 733, 0, 0, 0, 0, 1155, 1160, 0, 575, 0, 0, 0, 0, 0, 0, 575, 551, 0, 0, 0, 738, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 1322, 0, 0, 575, 0, 2, 551, 0, 1335, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0, 0, 0, 0, 260, 0, 0, 572, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 311, 312, 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 1190, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 733, 0, 0, 0, 0, 322, 323, 0, 0, 324, 1158, 325, 1623, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 1002, 0, 0, 0, 0, 0, 0, 1002, 0, 0, 1002, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 86, 0, 0, 260, 260, 0, 0, 0, 0, 260, 260, 1, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 260, 263, 0, 260, 0, 0, 0, 0, 0, 0, 0, 260, 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, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 263, 263, 263, 263, 0, 0, 0, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 263, 0, 263, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 1664, 0, 0, 613, 43, 44, 45, 46, 47, 48, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1690, 0, 0, 0, 0, 0, 0, 1690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1002, 0, 551, 0, 263, 263, 0, 1592, 1594, 0, 1597, 263, 263, 0, 0, 263, 263, 0, 1137, 0, 0, 1160, 0, 0, 0, 0, 1616, 0, 260, 260, 0, 0, 0, 1155, 1160, 0, 0, 0, 0, 0, 302, 551, 1, 303, 106, 304, 0, 305, 306, 0, 572, 1155, 1160, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1002, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 1654, 0, 1115, 1116, 1117, 629, 1118, 1119, 1120, 1121, 634, 635, 1122, 86, 0, 307, 0, 260, 260, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 1155, 0, 311, 312, 1123, 0, 639, 640, 641, 0, 0, 0, 0, 0, 0, 0, 313, 551, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 0, 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, 0, 325, 642, 0, 1155, 1160, 254, 735, 643, 326, 327, 0, 328, 329, 330, 331, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 263, 1160, 0, 575, 0, 162, 171, 194, 0, 0, 0, 0, 1155, 1160, 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, 122, 122, 0, 0, 0, 0, 0, 0, 551, 1155, 0, 1160, 0, 0, 0, 0, 0, 493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, 524, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 0, 0, 0, 0, 0, 575, 1002, 0, 122, 0, 0, 0, 0, 1002, 0, 0, 0, 1002, 2, 263, 263, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 263, 0, 0, 263, 0, 0, 0, 162, 569, 0, 0, 263, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 125, 125, 0, 0, 0, 0, 0, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 171, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 171, 0, 0, 0, 0, 322, 323, 0, 0, 324, 569, 325, 125, 125, 2056, 2057, 1014, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 1818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 1155, 1160, 1155, 1160, 0, 1155, 1837, 0, 0, 0, 0, 1592, 1844, 0, 1616, 1854, 1160, 1, 303, 106, 304, 0, 305, 306, 1155, 1160, 1616, 0, 0, 0, 263, 263, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 122, 1002, 0, 0, 575, 0, 122, 0, 0, 0, 1155, 551, 1160, 0, 1155, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 569, 125, 0, 0, 0, 1002, 0, 1002, 311, 312, 0, 687, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 313, 0, 1002, 0, 314, 315, 316, 317, 318, 319, 320, 321, 569, 0, 0, 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, 1158, 325, 1855, 162, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1002, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 0, 122, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 577, 0, 0, 0, 524, 0, 569, 0, 122, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 125, 1160, 0, 1155, 1837, 0, 1160, 1616, 0, 1999, 0, 2001, 0, 0, 0, 0, 0, 1160, 2005, 551, 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 551, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1923, 1927, 733, 1933, 1937, 0, 0, 0, 1941, 1945, 1949, 1953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 125, 125, 125, 0, 125, 122, 0, 687, 0, 0, 1002, 569, 0, 0, 0, 0, 0, 0, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2061, 2064, 0, 1155, 1160, 1155, 0, 0, 0, 1155, 1837, 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, 0, 0, 0, 0, 0, 0, 1923, 1927, 1933, 1937, 1941, 1945, 1949, 1953, 0, 0, 0, 0, 0, 1155, 1160, 0, 1155, 1837, 0, 0, 0, 2108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 481, 0, 0, 0, 687, 0, 0, 0, 0, 0, 687, 0, 481, 0, 0, 259, 481, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 569, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 569, 258, 258, 0, 0, 0, 0, 1002, 0, 0, 0, 551, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 571, 0, 259, 122, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 259, 259, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 0, 0, 258, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 577, 259, 259, 259, 0, 0, 0, 577, 0, 0, 0, 0, 125, 0, 0, 122, 122, 0, 0, 0, 0, 0, 259, 0, 0, 122, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 259, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 122, 0, 0, 0, 0, 0, 962, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 125, 125, 0, 264, 571, 0, 0, 0, 0, 0, 577, 0, 577, 0, 0, 264, 0, 0, 0, 264, 0, 0, 0, 258, 0, 0, 0, 0, 1, 0, 258, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 264, 264, 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, 259, 0, 0, 27, 0, 424, 0, 259, 0, 0, 259, 28, 29, 0, 0, 425, 32, 0, 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 264, 0, 0, 264, 264, 264, 687, 0, 687, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 947, 0, 437, 264, 0, 0, 0, 0, 0, 948, 258, 258, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 1209, 1219, 0, 0, 1209, 1219, 0, 0, 0, 122, 0, 259, 259, 259, 259, 0, 122, 0, 0, 0, 0, 0, 0, 122, 0, 258, 0, 0, 0, 0, 0, 0, 258, 0, 0, 258, 0, 0, 0, 259, 259, 259, 0, 0, 122, 0, 569, 0, 0, 122, 0, 0, 122, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 259, 259, 0, 0, 259, 259, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 259, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 122, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 1424, 571, 0, 0, 0, 0, 0, 0, 571, 0, 577, 1424, 0, 0, 0, 571, 0, 577, 0, 0, 0, 264, 0, 0, 125, 0, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 577, 0, 0, 577, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 571, 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, 258, 258, 258, 0, 0, 0, 0, 125, 609, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 0, 122, 0, 0, 0, 0, 0, 0, 264, 264, 264, 259, 259, 259, 0, 0, 0, 0, 0, 259, 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, 258, 122, 0, 258, 0, 264, 258, 0, 0, 0, 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, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 258, 258, 0, 0, 0, 259, 0, 0, 259, 0, 302, 259, 1, 303, 106, 304, 0, 305, 306, 0, 0, 258, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 609, 0, 0, 577, 577, 0, 577, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1686, 0, 0, 259, 259, 259, 259, 1686, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 264, 0, 308, 309, 310, 0, 258, 258, 259, 0, 259, 264, 0, 258, 258, 311, 312, 258, 258, 0, 0, 0, 125, 0, 0, 0, 0, 259, 0, 313, 0, 0, 0, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 0, 0, 0, 259, 0, 322, 323, 0, 0, 324, 259, 325, 0, 0, 0, 0, 742, 0, 0, 326, 327, 743, 328, 329, 330, 331, 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, 0, 0, 0, 264, 264, 264, 0, 0, 0, 754, 0, 264, 0, 0, 0, 755, 756, 757, -344, -344, -344, -344, -344, -344, -344, -344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -344, 0, 0, 0, 0, 0, 0, 0, -344, -344, 0, 0, 0, -344, 0, 0, 0, 0, 0, -344, -344, -344, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 571, 0, -344, 0, 0, 264, 0, 0, 264, 0, 0, 264, -344, -344, -344, -344, -344, -344, -344, -344, 0, -344, -344, -344, 758, 0, 0, -344, 1528, -344, -344, 0, 759, 0, 0, 760, 0, -344, -344, -344, 0, -344, -344, -344, -344, -344, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 0, 0, 0, 0, 258, 258, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 264, 258, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 264, 264, 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, 259, 259, 0, 0, 0, 0, 259, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 259, 0, 0, 0, 0, 0, 0, -457, 259, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, 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, -457, 0, 0, 0, 0, 0, -457, -457, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, -457, 0, 0, 0, 258, 258, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, -457, -457, -457, -457, -457, -457, -457, -457, 0, 571, 0, 0, 0, 0, 0, 0, -457, -457, -457, -457, -457, -457, -457, 0, -457, -457, 0, 0, -457, 0, -457, -457, 0, -457, -457, -457, -457, -457, -457, -457, -457, -457, 199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 259, 259, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 258, 0, 0, 2, 200, 201, 202, 203, 204, 8, 9, 10, 564, 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, 259, 259, 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, 51, 0, 0, 565, 1046, 0, 0, 0, 0, 0, 0, 0, 264, 264, 566, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, -344, 754, 264, -344, -344, -344, -344, 755, 756, 757, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, 0, -344, -344, 0, -344, 0, 0, -344, -344, -344, -344, -344, 0, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, -344, 0, -344, -344, -344, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 758, -344, -344, -344, -344, -344, -344, -344, 759, -344, -344, 760, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, -449, 1151, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, 0, -449, -449, 0, -449, 0, 0, -449, -449, -449, -449, -449, 264, 264, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, -449, 0, -449, -449, -449, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -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, -304, -304, 324, 1238, 325, -304, -304, 1154, -304, -304, -304, -304, 326, 327, -304, 328, 329, 330, 331, -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, -305, -305, 324, 1158, 325, -305, -305, 1159, -305, -305, -305, -305, 326, 327, -305, 328, 329, 330, 331, -305, -305, -305, -305, -305, -564, 302, 0, 1, 303, 106, 304, -564, 305, 306, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, 2, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, 0, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, 0, 0, 307, -564, 0, -564, 0, 0, 308, 309, 310, -564, -564, 0, 0, -564, -564, -564, -564, -564, -564, 311, 312, -564, -564, -564, -564, -564, -564, -564, -564, -564, 0, -564, 0, 313, -564, -564, 0, 314, 315, 316, 317, 318, 319, 320, 321, -564, -564, -564, -564, -564, -564, -564, -564, 322, 323, -564, -564, 324, -564, 325, -564, -564, -564, -564, 742, -564, 1319, 326, 327, -564, 328, 329, 330, 331, -564, -564, -564, -564, -564, -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, -565, -565, 324, -565, 325, -565, -565, -565, -565, 742, -565, 1385, 326, 327, -565, 328, 329, 330, 331, -565, -565, -565, -565, -565, -575, 302, 0, 1, 303, 106, 304, -575, 305, 306, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, 2, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, 0, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, -575, 0, 0, 307, -575, 0, -575, 0, 0, 308, 309, 310, -575, -575, 0, 0, -575, -575, -575, -575, -575, -575, 311, 312, -575, -575, -575, -575, -575, -575, -575, -575, -575, 0, -575, 0, 313, -575, -575, 0, 314, 315, 316, 317, 318, 319, 320, 321, -575, -575, -575, -575, -575, -575, -575, -575, 322, 323, -575, -575, 324, -575, 325, -575, -575, 1154, -575, -575, -575, -575, 326, 327, -575, 328, 329, 330, 331, -575, -575, -575, -575, -575, -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, -577, -577, 324, 1158, 325, -577, -577, 1159, -577, -577, -577, -577, 326, 327, -577, 328, 329, 330, 331, -577, -577, -577, -577, -577, -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, -576, -576, 324, -576, 325, -576, -576, 1154, -576, -576, -576, -576, 326, 327, -576, 328, 329, 330, 331, -576, -576, -576, -576, -576, -338, 1880, 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, -342, 1916, 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, -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, -332, -332, 324, -332, 325, -332, -332, -332, -332, 742, -332, -332, 326, 327, -332, 328, 329, 330, 331, -332, -332, -332, -332, -332, -542, 302, 0, 1, 303, 106, 304, -542, 305, 306, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, 2, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, 0, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, -542, 0, 0, 307, -542, 0, -542, 0, 0, 308, 309, 310, -542, -542, 0, 0, -542, -542, -542, -542, -542, -542, 311, 312, -542, -542, -542, -542, -542, -542, -542, -542, -542, 0, -542, 0, 313, -542, -542, 0, 314, 315, 316, 317, 318, 319, 320, 321, -542, -542, -542, -542, -542, -542, -542, -542, 322, 323, -542, -542, 324, -542, 325, -542, -542, -542, -542, 742, -542, -542, 326, 327, -542, 328, 329, 330, 331, -542, -542, -542, -542, -542, -550, 302, 0, 1, 303, 106, 304, -550, 305, 306, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, 2, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, 0, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, 0, 0, 307, -550, 0, -550, 0, 0, 308, 309, 310, -550, -550, 0, 0, -550, -550, -550, -550, -550, -550, 311, 312, -550, -550, -550, -550, -550, -550, -550, -550, -550, 0, -550, 0, 313, -550, -550, 0, 314, 315, 316, 317, 318, 319, 320, 321, -550, -550, -550, -550, -550, -550, -550, -550, 322, 323, -550, -550, 324, -550, 325, -550, -550, -550, -550, 742, -550, -550, 326, 327, -550, 328, 329, 330, 331, -550, -550, -550, -550, -550, -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, -543, -543, 324, -543, 325, -543, -543, -543, -543, 742, -543, -543, 326, 327, -543, 328, 329, 330, 331, -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, -551, -551, 324, -551, 325, -551, -551, -551, -551, 742, -551, -551, 326, 327, -551, 328, 329, 330, 331, -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, -544, -544, 324, -544, 325, -544, -544, -544, -544, 742, -544, -544, 326, 327, -544, 328, 329, 330, 331, -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, -552, -552, 324, -552, 325, -552, -552, -552, -552, 742, -552, -552, 326, 327, -552, 328, 329, 330, 331, -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, -545, -545, 324, -545, 325, -545, -545, -545, -545, 742, -545, -545, 326, 327, -545, 328, 329, 330, 331, -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, -553, -553, 324, -553, 325, -553, -553, -553, -553, 742, -553, -553, 326, 327, -553, 328, 329, 330, 331, -553, -553, -553, -553, -553, -340, 2020, 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, -339, 2021, 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, -344, 754, 0, -344, -344, -344, -344, 755, 756, 757, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, 0, -344, -344, 0, -344, 0, 0, -344, -344, -344, -344, -344, 0, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 0, -344, 0, -344, -344, -344, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 758, -344, -344, -344, -344, -344, -344, -344, 1149, -344, -344, 760, 0, -344, -344, -344, -344, -344, -344, -344, -344, -344, -449, 1151, 0, -449, -449, -449, -449, 0, -449, -449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, 0, -449, -449, 0, -449, 0, 0, -449, -449, -449, -449, -449, 0, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, -449, 0, -449, -449, -449, 0, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, 0, 0, -449, -449, -449, -449, 0, -449, -449, -449, 1152, -449, -449, -449, 0, -449, -449, -449, -449, -1089, 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, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, 0, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, 0, 0, 307, -1089, 0, -1089, 0, 0, 308, 309, 310, -1089, -1089, 0, 0, -1089, -1089, -1089, -1089, -1089, -1089, 311, 312, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, 0, -1089, 0, 313, -1089, -1089, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, 322, 323, 0, 0, 324, 1158, 325, -1089, 0, 1159, -1089, -1089, 0, -1089, 326, 327, 0, 328, 329, 330, 331, -1233, 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, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, 0, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, 0, 0, 307, -1233, 0, -1233, 0, 0, 308, 309, 310, -1233, -1233, 0, 0, -1233, -1233, -1233, -1233, -1233, -1233, 311, 312, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, 0, -1233, 0, 313, -1233, -1233, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, 322, 323, 0, 0, 324, 1158, 325, 1623, 0, 1159, -1233, -1233, 0, -1233, 326, 327, 0, 328, 329, 330, 331, -1191, 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, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, 0, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, 0, 0, 307, -1191, 0, -1191, 0, 0, 308, 309, 310, -1191, -1191, 0, 0, -1191, -1191, -1191, -1191, -1191, -1191, 311, 312, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, 0, -1191, 0, 313, -1191, -1191, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, 322, 323, 0, 0, 324, 1831, 325, -1191, 0, 1159, -1191, -1191, 0, -1191, 326, 327, 0, 328, 329, 330, 331, -1222, 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, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, -1222, 0, -1222, 0, 0, 308, 309, 310, -1222, -1222, 0, 0, -1222, 32, -1222, -1222, -1222, -1222, 311, 312, 1123, -1222, 639, 640, 641, -1222, -1222, -1222, -1222, 0, -1222, 0, 313, -1222, -1222, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, -1222, -1222, -1222, -1222, -1222, -1222, 322, 323, 0, 0, 324, 1158, 325, 642, 0, 1159, -1222, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -576, 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, -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, 0, 0, 324, -576, 325, 1153, 0, 1154, -576, -576, 0, -576, 326, 327, 0, 328, 329, 330, 331, -1214, 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, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 0, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 0, 0, 307, -1214, 0, -1214, 0, 0, 308, 309, 310, -1214, -1214, 0, 0, -1214, -1214, -1214, -1214, -1214, -1214, 311, 312, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 0, -1214, 0, 313, -1214, -1214, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 322, 323, 0, 0, 324, 2066, 325, -1214, 0, 1154, -1214, -1214, 0, -1214, 326, 327, 0, 328, 329, 330, 331, -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, 0, 0, 324, 1158, 325, 2067, 0, 1159, -1215, -1215, 0, -1215, 326, 327, 0, 328, 329, 330, 331, -1209, 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, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, -1209, 0, -1209, 0, 0, 308, 309, 310, -1209, -1209, 0, 0, -1209, 32, -1209, -1209, -1209, -1209, 311, 312, 1123, -1209, 639, 640, 641, -1209, -1209, -1209, -1209, 0, -1209, 0, 313, -1209, -1209, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, -1209, -1209, -1209, -1209, -1209, -1209, 322, 323, 0, 0, 324, 1158, 325, 642, 0, 1159, -1209, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1157, 617, 0, -1157, -1157, -1157, -1157, 0, -1157, -1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, 0, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, 0, 0, -1157, -1157, 0, -1157, 0, 0, -1157, -1157, -1157, -1157, -1157, 0, 0, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, 0, -1157, 0, -1157, -1157, -1157, 0, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, 0, 0, -1157, 0, -1157, 618, 0, -1157, -1157, -1157, 0, -1157, -1157, -1157, 0, -1157, -1157, -1157, -1157, -1180, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1180, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1180, 32, -1180, -1180, -1180, -1180, 311, 637, 638, 248, 639, 640, 641, -1180, -1180, -1180, -1180, 0, -1180, 0, 313, -1180, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 0, 0, 324, 0, 325, 642, 0, -1180, -1180, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1158, 617, 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, 0, 0, -1158, 0, -1158, 618, 0, -1158, -1158, -1158, 0, -1158, -1158, -1158, 0, -1158, -1158, -1158, -1158, -1219, 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, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, 1115, 1116, 1117, 629, 1118, 1119, 1120, 1121, 634, 635, 1122, 0, 0, 307, -1219, 0, -1219, 0, 0, 308, 309, 310, -1219, -1219, 0, 0, -1219, 32, -1219, -1219, -1219, -1219, 311, 312, 1123, -1219, 639, 640, 641, -1219, -1219, -1219, -1219, 0, -1219, 0, 313, -1219, -1219, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, -1219, -1219, -1219, -1219, -1219, -1219, 322, 323, 0, 0, 324, 0, 325, 642, 0, -1219, -1219, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1235, 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, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, 0, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, 0, 0, 307, -1235, 0, -1235, 0, 0, 308, 309, 310, -1235, -1235, 0, 0, -1235, -1235, -1235, -1235, -1235, -1235, 311, 312, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, 0, -1235, 0, 313, -1235, -1235, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, 322, 323, 0, 0, 324, 0, 325, 1134, 0, -1235, -1235, 742, 0, -1235, 326, 327, 0, 328, 329, 330, 331, -1170, 1161, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1170, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1170, 32, -1170, -1170, -1170, -1170, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1170, -1170, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1174, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1174, 32, -1174, -1174, -1174, -1174, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1174, -1174, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1169, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1169, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1169, 32, -1169, -1169, -1169, -1169, 311, 637, 638, 248, 639, 640, 641, -1169, -1169, -1169, -1169, 0, -1169, 0, 313, -1169, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 0, 0, 324, 0, 325, 642, 0, -1169, -1169, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1173, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1173, 32, -1173, -1173, -1173, -1173, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1173, -1173, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1076, 1174, 0, -1076, -1076, -1076, -1076, 0, -1076, -1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 0, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 0, 0, -1076, -1076, 0, -1076, 0, 0, -1076, -1076, -1076, -1076, -1076, 0, 0, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 0, -1076, 0, -1076, -1076, -1076, 0, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 0, 0, -1076, 0, -1076, -1076, 0, -1076, -1076, -1076, 0, -1076, -1076, -1076, 0, -1076, -1076, -1076, -1076, -1078, 1175, 0, -1078, -1078, -1078, -1078, 0, -1078, -1078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, 0, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, 0, 0, -1078, -1078, 0, -1078, 0, 0, -1078, -1078, -1078, -1078, -1078, 0, 0, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, 0, -1078, 0, -1078, -1078, -1078, 0, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, 0, 0, -1078, 0, -1078, -1078, 0, -1078, -1078, -1078, 0, -1078, -1078, -1078, 0, -1078, -1078, -1078, -1078, -1124, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1124, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1124, 32, -1124, -1124, -1124, -1124, 311, 637, 638, 248, 639, 640, 641, -1124, -1124, -1124, -1124, 0, -1124, 0, 313, -1124, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 0, 0, 324, 0, 325, 642, 0, -1124, -1124, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1126, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1126, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1126, 32, -1126, -1126, -1126, -1126, 311, 637, 638, 248, 639, 640, 641, -1126, -1126, -1126, -1126, 0, -1126, 0, 313, -1126, 249, 0, 314, 315, 316, 317, 318, 319, 320, 321, 43, 44, 250, 251, 252, 253, 206, 207, 322, 323, 0, 0, 324, 0, 325, 642, 0, -1126, -1126, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1171, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1171, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1171, 32, -1171, -1171, -1171, -1171, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1171, -1171, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1175, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1175, 32, -1175, -1175, -1175, -1175, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1175, -1175, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1172, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1172, 32, -1172, -1172, -1172, -1172, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1172, -1172, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, -1176, 0, 0, 308, 309, 310, 28, 29, 0, 0, -1176, 32, -1176, -1176, -1176, -1176, 311, 637, 638, 248, 639, 640, 641, -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, 0, 0, 324, 0, 325, 642, 0, -1176, -1176, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, -1167, 617, 0, -1167, -1167, -1167, -1167, 0, -1167, -1167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, 0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, 0, 0, -1167, -1167, 0, -1167, 0, 0, -1167, -1167, -1167, -1167, -1167, 0, 0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, 0, -1167, 0, -1167, -1167, -1167, 0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, 0, 0, -1167, 0, -1167, 618, 0, -1167, -1167, -1167, 0, -1167, -1167, -1167, 0, -1167, -1167, -1167, -1167, -1168, 617, 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, 0, 0, -1168, 0, -1168, 618, 0, -1168, -1168, -1168, 0, -1168, -1168, -1168, 0, -1168, -1168, -1168, -1168, -1003, 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, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, 0, 307, -1003, 0, -1003, 0, 0, 308, 309, 310, -1003, -1003, 0, 0, -1003, -1003, -1003, -1003, -1003, -1003, 311, 312, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, -1003, 0, 313, -1003, -1003, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 322, 323, 0, 0, 324, 0, 325, -1003, 0, 1800, 1801, 1014, 0, -1003, 326, 327, 0, 328, 329, 330, 331, -1130, 617, 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, 0, 0, -1130, 0, -1130, 618, 0, -1130, -1130, -1130, 0, -1130, -1130, -1130, 0, -1130, -1130, -1130, -1130, -1131, 617, 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, 0, 0, -1131, 0, -1131, 618, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1127, 617, 0, -1127, -1127, -1127, -1127, 0, -1127, -1127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, 0, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, 0, 0, -1127, -1127, 0, -1127, 0, 0, -1127, -1127, -1127, -1127, -1127, 0, 0, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, 0, -1127, 0, -1127, -1127, -1127, 0, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, 0, 0, -1127, 0, -1127, 618, 0, -1127, -1127, -1127, 0, -1127, -1127, -1127, 0, -1127, -1127, -1127, -1127, -1005, 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, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 0, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 0, 0, 307, -1005, 0, -1005, 0, 0, 308, 309, 310, -1005, -1005, 0, 0, -1005, -1005, -1005, -1005, -1005, -1005, 311, 312, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 0, -1005, 0, 313, -1005, -1005, 0, 314, 315, 316, 317, 318, 319, 320, 321, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 322, 323, 0, 0, 324, 0, 325, -1005, 0, -1005, 1980, 1014, 0, -1005, 326, 327, 0, 328, 329, 330, 331, -999, 1983, 0, -999, -999, -999, -999, 0, -999, -999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, 0, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, 0, 0, -999, -999, 0, -999, 0, 0, -999, -999, -999, -999, -999, 0, 0, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, 0, -999, 0, -999, -999, -999, 0, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, 0, 0, -999, 0, -999, -999, 0, -999, -999, -999, 0, -999, -999, -999, 0, -999, -999, -999, -999, -1128, 617, 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, 0, 0, -1128, 0, -1128, 618, 0, -1128, -1128, -1128, 0, -1128, -1128, -1128, 0, -1128, -1128, -1128, -1128, -1129, 617, 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, 0, 0, -1129, 0, -1129, 618, 0, -1129, -1129, -1129, 0, -1129, -1129, -1129, 0, -1129, -1129, -1129, -1129, -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, 0, 0, 324, 0, 325, -1216, 0, -1216, -1216, -1216, 0, -1216, 326, 327, 0, 328, 329, 330, 331, -1000, 2058, 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, 0, 0, -1000, 0, -1000, -1000, 0, -1000, -1000, -1000, 0, -1000, -1000, -1000, 0, -1000, -1000, -1000, -1000, -906, 583, 0, -906, -906, -906, -906, 0, -906, -906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, 0, 0, -906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -906, -906, 0, -906, 0, 0, -906, -906, -906, -906, -906, 0, 0, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, 0, 0, -906, -906, -906, -906, 0, -906, 0, -906, -906, -906, 0, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, -906, 0, 0, -906, 846, -906, -906, 0, 585, -906, -906, 0, 0, -906, -906, 0, -906, -906, -906, -906, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 637, 638, 248, 639, 640, 641, 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, 0, 0, 324, 0, 325, 642, 0, 0, 0, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, 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, 1115, 1116, 1117, 629, 1118, 1119, 1120, 1121, 634, 635, 1122, 0, 0, 307, 246, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 0, 0, 311, 637, 638, 248, 639, 640, 641, 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, 0, 0, 324, 0, 325, 642, 0, 0, 0, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 984, 0, 985, 986, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 1247, 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, 637, 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, 0, 0, 324, 0, 325, 984, 0, 985, -110, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 1254, 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, 637, 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, 0, 0, 324, 0, 325, 984, 0, 985, -98, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 1258, 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, 637, 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, 0, 0, 324, 0, 325, 984, 0, 985, -102, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1512, 0, 985, -65, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1521, 0, 985, 1522, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 1579, 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, 637, 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, 0, 0, 324, 0, 325, 984, 0, 985, -81, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1521, 0, 985, -107, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1521, 0, 985, -97, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1521, 0, 985, -101, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 1761, 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, 637, 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, 0, 0, 324, 0, 325, 984, 0, 985, -88, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1521, 0, 985, -78, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 637, 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, 0, 0, 324, 0, 325, 1521, 0, 985, -85, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 406, 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, 0, 0, 324, 302, 325, 1, 303, 106, 304, 0, 305, 306, 326, 327, 0, 328, 329, 330, 331, 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, 864, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 406, 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, 0, 0, 324, 302, 325, 1, 303, 106, 304, 0, 305, 306, 326, 327, 0, 328, 329, 330, 331, 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, 406, 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, 0, 0, 324, 731, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 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, 1194, 27, 0, 0, 0, 0, 308, 309, 310, 28, 29, 0, 0, 0, 32, 0, 0, 35, 36, 311, 406, 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, 0, 0, 324, 731, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 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, 406, 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, 0, 0, 324, 302, 325, 1, 303, 106, 304, 254, 305, 306, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 564, 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, 406, 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, 887, 0, 0, 888, 731, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 1115, 1116, 1117, 629, 1118, 1119, 1120, 1121, 634, 635, 1122, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1123, 0, 639, 640, 641, 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, 0, 0, 324, -452, 325, 642, 0, -452, 0, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, 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, 1115, 1116, 1117, 629, 1118, 1119, 1120, 1121, 634, 635, 1122, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1123, 0, 639, 640, 641, 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, 0, 0, 324, 1158, 325, 642, 0, 1159, 0, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, 1834, 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, 1115, 1116, 1117, 629, 1118, 1119, 1120, 1121, 634, 635, 1122, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1123, 0, 639, 640, 641, 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, 0, 0, 324, 0, 325, 642, 0, 0, 0, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, 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, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 0, 0, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 311, 312, 1123, 0, 639, 640, 641, 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, 0, 0, 324, 0, 325, 642, 0, 0, 0, 254, 0, 643, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1158, 325, 0, 0, 1725, 0, 0, 0, 1872, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1158, 325, 0, 0, 1725, 0, 0, 0, 1876, 326, 327, 0, 328, 329, 330, 331, 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, 2003, 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, 0, 0, 324, 1158, 325, 1855, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1158, 325, 1855, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 2068, 325, 2069, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1158, 325, 2067, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 307, 305, 306, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, 307, 325, 1153, 0, 1154, 0, 308, 309, 310, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1263, 325, 0, 0, 0, 0, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1330, 325, 0, 308, 309, 310, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 1134, 0, 0, 0, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 1612, 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, 0, 0, 324, 1158, 325, 0, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1613, 325, 1614, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 1622, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1692, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 307, 305, 306, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, 307, 325, 0, 0, 1154, 0, 308, 309, 310, 326, 327, 1719, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 1722, 0, 0, 0, 1723, 326, 327, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 302, 0, 1, 303, 106, 304, 307, 305, 306, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, 307, 325, 0, 0, 1154, 0, 308, 309, 310, 326, 327, 1729, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 1722, 0, 0, 0, 1731, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1830, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1832, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1833, 325, 0, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1836, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1613, 325, 1614, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 311, 312, 1856, 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, 0, 0, 324, 0, 325, 1853, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1857, 325, 1614, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 1722, 0, 0, 0, 1870, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 1722, 0, 0, 0, 1874, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1988, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1831, 325, 0, 0, 1159, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 1995, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1857, 325, 1614, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 2072, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 2101, 1014, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 2104, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 2105, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 2133, 325, 0, 0, 1154, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 548, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 838, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 842, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 1014, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 1055, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 0, 0, 1107, 326, 327, 0, 328, 329, 330, 331, 311, 312, 1457, 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, 0, 0, 324, 731, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 1560, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1596, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 1599, 326, 327, 0, 328, 329, 330, 331, 0, 0, 1790, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 1789, 0, 0, 326, 327, 0, 328, 329, 330, 331, 311, 312, 1793, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 1797, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 0, 325, 0, 0, 0, 0, 742, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 1843, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 1903, 0, 325, 0, 0, 0, 0, 1789, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 2004, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 324, 2063, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 324, 0, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, 0, 0, 702, 0, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 0, 0, 302, 0, 1, 303, 106, 304, 0, 305, 306, 307, 0, 0, 0, 0, 0, 308, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 322, 323, 307, 0, 705, 0, 325, 0, 308, 309, 310, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, 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, -894, 583, 0, -894, -894, -894, 0, 322, 323, 0, 0, 728, 0, 325, 0, 0, 0, 0, 0, 0, 0, 326, 327, 0, 328, 329, 330, 331, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, 0, 0, -894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -894, -894, 0, -894, 0, 0, -894, -894, 0, -894, -894, 0, 0, -894, -894, -894, -894, -894, -894, 0, -894, -894, -894, -894, 0, 0, -894, -894, -894, -894, 0, -894, 0, -894, -894, -894, 0, -894, -894, -894, -894, -894, -894, -894, 0, -894, -894, -894, -894, -894, -894, -894, -894, -894, -894, 0, 0, -894, 584, -894, -894, 0, 585, -894, 0, 0, 0, -894, -894, -189, 905, 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, -189, 0, 0, -189, 0, -189, 906, 0, 907, -189, 0, 0, 0, -189, -189, -253, 919, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, -251, 922, -253, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, -254, 919, -251, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, -252, 922, -254, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 423, -252, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 489, 439, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 511, 490, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 516, 512, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 520, 517, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, 521, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -749, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -750, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -746, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -747, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -752, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 1037, -753, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 1041, 1038, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 302, 1042, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -648, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -729, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -730, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -732, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 1542, -733, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, 1543, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -643, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -644, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -735, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 302, -736, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 302, -647, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 302, -645, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 302, -623, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -622, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -636, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 302, -637, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -646, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -632, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -633, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -620, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -621, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -615, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 919, -616, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 922, -634, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 0, 423, -635, 1, 303, 106, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 0, 436, 0, 437, 438, 489, 0, 1, 303, 106, 0, 326, 327, 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, 424, 0, 0, 308, 309, 0, 28, 29, 0, 0, 425, 32, 426, 427, 35, 36, 0, 406, 38, 39, 428, 0, 0, 429, 430, 431, 432, 0, 433, 0, 434, 435, 40, 0, 314, 315, 316, 317, 318, 319, 320, 0, 43, 44, 45, 46, 47, 48, 206, 207, 322, 51, 0, 199, 436, 1, 437, 438, 0, 0, 0, 0, 0, 0, 326, 327, 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, 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, 1, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 860, 1046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 2, 200, 201, 202, 203, 204, 8, 9, 10, 564, 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, 51, 0, 0, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 567, 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, 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, 1, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 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, 1, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 860, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0, 566, 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, 1, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 860, 0, 0, 0, 0, 0, 0, 1439, 0, 0, 0, 566, 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, 1, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 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, 1, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229, 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, 1, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1684, 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, 1, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1699, 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, 1, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 275, 2, 200, 201, 202, 203, 204, 8, 9, 10, 564, 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, 1, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 928, 2, 200, 201, 202, 203, 204, 8, 9, 10, 564, 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, 619, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 928, 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, 1507, 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, 254, -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, 1710, 0, 0, 0, 0, 0, 0, 0, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 1509, -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, 1714, 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, -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, 1715, 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, -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, 1821, 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, -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, 1965, 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, -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, -1287, 292, 0, 1, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 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, 51, 0, 0, 52, 0, 0, 53, 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, 1, 0, 0, 830, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 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, 1, 0, 0, 830, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 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, 165, 0, 1, 0, 0, 830, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1742, 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, 165, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 0, 0, 52, 0, 0, 169, 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, 604, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 0, 0, 52, 0, 0, 169, 2, 200, 201, 202, 203, 204, 234, 235, 236, 605, 606, 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, -914, 249, -914, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 51, 0, 0, 52, 0, 0, 607, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, -914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -914, 0, 0, 0, 0, 0, 0, 0, -914, -914, 0, 0, 0, -914, 0, 0, 0, 0, 0, -914, -914, -914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -914, 1, 0, 0, 0, 0, 0, 0, 0, 0, -914, -914, -914, -914, -914, -914, -914, -914, 0, -914, 0, 0, -914, 0, 0, -914, 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, -1288, 284, 42, 1, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 0, 0, 52, 0, 0, 53, 0, 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, 199, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 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, 199, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 1206, 1671, 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, 199, 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, 208, 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, 940, 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, 389, 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, 1465, 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, 208, 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, 199, 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, 389, 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, 199, 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, 1557, 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, 165, 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, 1893, 2, 3, 4, 166, 6, 7, 8, 9, 10, 564, 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, 165, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 0, 0, 52, 2, 3, 4, 166, 6, 7, 8, 9, 10, 564, 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, 884, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 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, 1, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 0, 0, 0, 0, 885, 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, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 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, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 51, 0, 0, 52, 2, 200, 201, 202, 203, 204, 8, 9, 10, 564, 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, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 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, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 720, 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, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 206, 207, 0, 0, 0, 0, 1444, 2, 200, 201, 202, 203, 204, 234, 235, 236, 1529, 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, 1069, 0, 1, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 250, 251, 252, 253, 206, 207, 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, 1070, 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, 1075, 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, 1076, 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, 1081, 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, 1082, 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, 869, 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, 1030, 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, 1087, 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, 503, 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, 830, 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, 478, 479, 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, 51, 0, 0, 860, 1668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 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, 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, 1518, 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, 641, 92, 719, 86, 86, 535, 926, 156, 926, 742, 859, 1216, 83, 470, 309, 859, 749, 132, 344, 752, 315, 580, 153, 344, 859, 100, 83, 1, 93, 30, 31, 996, 997, 998, 327, 288, 1099, 93, 128, 471, 41, 83, 742, 555, 826, 128, 128, 100, 30, 749, 721, 52, 752, 1, 1606, 93, 128, 1, 59, 84, 42, 83, 100, 64, 64, 66, 1618, 997, 183, 83, 5, 93, 1, 585, 3, 835, 588, 826, 590, 93, 592, 82, 83, 84, 936, 86, 100, 883, 5, 835, 91, 386, 93, 388, 3, 186, 187, 126, 3, 100, 101, 470, 131, 104, 1014, 996, 474, 998, 77, 2089, 3, 876, 113, 535, 996, 116, 998, 1, 1, 3, 3, 144, 17, 1, 122, 107, 108, 128, 1, 111, 131, 132, 1, 1, 157, 136, 159, 122, 161, 140, 141, 142, 977, 144, 7, 8, 9, 148, 122, 150, 0, 5, 153, 154, 144, 156, 157, 158, 159, 83, 161, 957, 131, 164, 73, 2145, 1, 157, 3, 159, 59, 161, 1, 174, 174, 17, 122, 268, 186, 187, 1, 5, 183, 131, 128, 1, 996, 5, 998, 3, 1, 7, 8, 9, 1, 130, 996, 198, 998, 128, 270, 1, 3, 5, 5, 132, 3, 278, 5, 210, 418, 212, 17, 288, 28, 290, 133, 470, 123, 220, 221, 278, 127, 37, 113, 290, 131, 3, 3, 230, 5, 288, 233, 83, 290, 288, 278, 290, 879, 1004, 265, 1, 3, 93, 128, 128, 288, 125, 143, 1, 100, 101, 290, 122, 123, 128, 183, 1, 127, 183, 128, 52, 270, 1, 265, 1, 288, 130, 290, 270, 1, 566, 421, 274, 1, 270, 290, 278, 132, 394, 1, 289, 1, 1248, 1249, 3, 958, 288, 288, 290, 1255, 1256, 274, 128, 1259, 1260, 1848, 343, 122, 128, 1, 143, 510, 862, 125, 123, 122, 308, 122, 198, 126, 357, 123, 314, 130, 361, 127, 133, 1248, 133, 122, 128, 123, 324, 5, 1255, 123, 120, 128, 1259, 131, 626, 791, 792, 131, 793, 758, 338, 143, 125, 131, 5, 17, 129, 326, 3, 83, 84, 123, 440, 441, 442, 443, 129, 278, 73, 131, 565, 1249, 3, 819, 820, 123, 821, 288, 1256, 127, 1249, 128, 1260, 131, 1104, 1, 125, 1256, 127, 128, 5, 1260, 380, 381, 125, 804, 127, 128, 386, 125, 388, 471, 471, 128, 120, 128, 394, 131, 3, 3, 128, 1, 400, 129, 128, 131, 129, 1104, 131, 125, 128, 127, 1191, 128, 1193, 413, 69, 70, 530, 3, 418, 5, 420, 421, 128, 3, 424, 425, 556, 883, 128, 278, 430, 221, 546, 433, 434, 435, 436, 437, 1, 288, 1249, 290, 28, 1191, 696, 1193, 536, 1256, 28, 539, 1249, 1260, 3, 778, 779, 780, 3, 1256, 778, 779, 780, 1260, 119, 120, 127, 465, 466, 467, 394, 143, 470, 471, 129, 128, 474, 1679, 565, 477, 3, 122, 772, 28, 482, 808, 809, 810, 486, 487, 808, 809, 810, 491, 492, 1051, 565, 123, 123, 3, 386, 127, 388, 957, 933, 503, 1062, 128, 3, 799, 876, 509, 510, 3, 1574, 513, 514, 807, 123, 123, 518, 519, 128, 141, 522, 523, 144, 127, 526, 527, 528, 265, 530, 28, 739, 533, 1205, 827, 1206, 157, 560, 159, 562, 161, 278, 129, 544, 545, 546, 470, 1004, 129, 550, 7, 8, 9, 1224, 555, 556, 1068, 129, 65, 560, 1231, 562, 563, 127, 565, 566, 567, 936, 1417, 570, 560, 123, 562, 1417, 1086, 425, 944, 1429, 946, 580, 119, 129, 1417, 5, 585, 1, 3, 588, 957, 590, 794, 592, 1014, 663, 664, 665, 666, 3, 599, 125, 1, 127, 122, 530, 650, 3, 530, 653, 1528, 533, 1528, 758, 119, 120, 5, 1580, 1581, 1469, 822, 546, 1472, 696, 129, 876, 3, 1535, 1, 1, 719, 3, 631, 129, 633, 928, 0, 1004, 129, 112, 3, 696, 641, 1401, 1402, 696, 5, 436, 1495, 3, 1497, 11, 1580, 1, 860, 580, 696, 1401, 1402, 804, 1502, 867, 1, 3, 663, 664, 665, 666, 3, 875, 663, 664, 665, 666, 967, 130, 126, 3, 133, 566, 886, 1884, 681, 682, 133, 691, 692, 3, 28, 127, 1, 690, 1581, 28, 125, 11, 134, 696, 678, 679, 3, 1581, 1, 702, 119, 120, 957, 127, 122, 123, 3, 710, 599, 127, 129, 127, 120, 121, 717, 718, 719, 720, 721, 722, 123, 198, 74, 75, 127, 728, 1150, 79, 1463, 129, 1154, 28, 125, 1157, 86, 1159, 739, 127, 119, 120, 724, 725, 726, 119, 120, 122, 123, 1421, 129, 1004, 127, 127, 755, 1, 795, 3, 759, 121, 110, 111, 3, 1463, 129, 127, 690, 123, 73, 1064, 860, 1581, 696, 127, 565, 125, 567, 127, 3, 133, 122, 1581, 123, 1693, 823, 122, 127, 28, 860, 526, 527, 528, 7, 8, 9, 123, 79, 1762, 1763, 3, 801, 119, 120, 121, 805, 796, 3, 544, 545, 127, 123, 129, 1484, 3, 127, 5, 965, 966, 909, 910, 1115, 912, 123, 128, 915, 916, 127, 110, 111, 830, 831, 832, 1762, 824, 835, 836, 837, 7, 8, 9, 971, 31, 1050, 933, 465, 466, 696, 129, 131, 131, 933, 933, 327, 12, 13, 3, 1415, 858, 859, 860, 1, 933, 3, 864, 127, 866, 867, 7, 8, 9, 491, 492, 1763, 874, 875, 876, 665, 666, 879, 1789, 122, 1763, 883, 3, 885, 886, 3, 888, 5, 890, 1800, 133, 513, 514, 119, 120, 987, 518, 519, 1751, 1752, 522, 523, 3, 1035, 1036, 127, 122, 7, 8, 9, 386, 1207, 388, 31, 130, 120, 3, 133, 1245, 797, 125, 119, 120, 1245, 120, 927, 128, 929, 126, 125, 3, 933, 5, 1229, 936, 1051, 129, 793, 560, 941, 562, 28, 944, 1788, 946, 947, 970, 825, 90, 128, 37, 876, 1763, 794, 956, 957, 958, 128, 1252, 130, 120, 121, 1763, 965, 966, 821, 968, 122, 970, 971, 119, 120, 1063, 122, 976, 977, 978, 979, 133, 970, 3, 822, 122, 1701, 795, 126, 126, 1547, 119, 130, 1063, 127, 1201, 133, 123, 1204, 1638, 133, 119, 120, 1672, 122, 1004, 796, 1535, 1678, 1464, 123, 139, 140, 1683, 936, 823, 122, 7, 8, 9, 122, 119, 120, 0, 1045, 12, 13, 133, 126, 122, 3, 133, 797, 130, 824, 957, 1035, 1036, 122, 1107, 1039, 1040, 1110, 122, 1043, 1044, 1045, 1963, 1047, 119, 120, 1050, 1051, 119, 74, 75, 529, 1045, 120, 79, 825, 1060, 1429, 1062, 1063, 1064, 86, 129, 122, 1068, 120, 1979, 1071, 139, 140, 1074, 128, 1747, 1077, 129, 1148, 1080, 1004, 126, 1083, 136, 137, 1086, 131, 1088, 110, 111, 65, 566, 1162, 1163, 1164, 1165, 121, 888, 10, 11, 1469, 1102, 127, 1472, 83, 121, 1107, 129, 386, 1110, 388, 127, 1107, 1535, 93, 1110, 1206, 77, 1119, 121, 1121, 100, 101, 598, 1051, 127, 1975, 126, 1977, 1130, 122, 120, 121, 1060, 1206, 1062, 927, 121, 130, 14, 15, 133, 1143, 127, 119, 120, 2056, 1148, 1149, 121, 941, 626, 122, 1148, 121, 127, 947, 1139, 1181, 1, 127, 1162, 1163, 1164, 1165, 136, 137, 1162, 1163, 1164, 1165, 781, 782, 122, 3, 1064, 122, 120, 1473, 1180, 1181, 1182, 555, 1184, 127, 1744, 1903, 2097, 69, 70, 133, 1181, 121, 1194, 129, 1196, 131, 122, 127, 28, 1201, 811, 812, 123, 1205, 1206, 1414, 127, 37, 122, 91, 131, 585, 300, 95, 588, 97, 590, 129, 592, 131, 129, 309, 1224, 6, 1866, 8, 9, 315, 1901, 1231, 122, 74, 75, 121, 136, 3, 79, 1239, 125, 127, 129, 221, 129, 86, 74, 75, 128, 723, 1808, 79, 3, 727, 14, 15, 1, 121, 86, 1182, 1050, 1184, 28, 127, 129, 1246, 131, 121, 742, 110, 111, 1800, 123, 127, 122, 749, 127, 28, 752, 125, 131, 127, 110, 111, 125, 126, 127, 907, 908, 566, 122, 119, 73, 44, 122, 154, 1717, 135, 772, 158, 278, 1722, 141, 84, 1725, 133, 1194, 123, 74, 75, 288, 127, 290, 79, 1050, 131, 142, 783, 784, 1107, 86, 16, 1110, 74, 75, 799, 121, 123, 109, 74, 75, 127, 127, 807, 79, 131, 121, 1, 125, 120, 127, 86, 127, 123, 110, 111, 324, 813, 814, 626, 970, 135, 133, 827, 142, 136, 137, 138, 121, 1566, 1148, 16, 3, 129, 127, 110, 111, 123, 1789, 123, 11, 127, 123, 127, 1162, 1163, 1164, 1165, 122, 1800, 125, 126, 127, 1751, 1752, 10, 11, 123, 1682, 3, 1684, 127, 1392, 1393, 123, 123, 1396, 1397, 127, 127, 141, 1401, 1402, 123, 1698, 1699, 791, 792, 123, 123, 74, 75, 127, 1413, 28, 79, 1397, 1417, 1418, 1039, 1040, 1421, 86, 1043, 1044, 1045, 125, 1427, 127, 1429, 44, 3, 1432, 1547, 819, 820, 1436, 781, 782, 129, 418, 1441, 1442, 1443, 123, 129, 110, 111, 127, 349, 1979, 123, 926, 2093, 928, 127, 28, 123, 122, 123, 74, 75, 129, 127, 1464, 125, 1466, 811, 812, 1469, 123, 1862, 1472, 123, 127, 1475, 127, 127, 119, 120, 121, 88, 89, 90, 1484, 126, 127, 1, 129, 3, 1490, 1491, 470, 967, 125, 1495, 1496, 1497, 1498, 74, 75, 120, 74, 75, 79, 120, 1429, 79, 129, 123, 131, 86, 120, 127, 86, 907, 908, 1586, 1587, 129, 420, 131, 996, 3, 998, 126, 1, 2056, 3, 1598, 127, 1, 510, 3, 129, 110, 111, 129, 110, 111, 1, 300, 3, 134, 1544, 1545, 1469, 1547, 28, 1472, 309, 1, 134, 3, 129, 1555, 315, 129, 1979, 129, 1180, 1181, 133, 125, 44, 127, 1566, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1784, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1586, 1587, 907, 908, 1064, 1680, 1586, 1587, 74, 75, 1596, 134, 1598, 1599, 74, 75, 1602, 127, 1598, 79, 1606, 127, 1902, 1680, 1610, 697, 86, 1613, 129, 79, 131, 1911, 125, 3, 127, 1547, 2013, 129, 2015, 131, 127, 11, 1609, 1555, 1104, 526, 527, 528, 127, 2056, 110, 111, 1638, 783, 784, 1115, 544, 545, 1625, 1645, 110, 111, 129, 544, 545, 928, 126, 1443, 1509, 128, 1511, 1509, 125, 1511, 131, 125, 122, 1753, 122, 129, 122, 1141, 1142, 813, 814, 1963, 125, 1967, 1968, 126, 1466, 125, 1678, 122, 1680, 663, 664, 1683, 663, 664, 122, 2078, 125, 2080, 967, 2082, 100, 101, 1808, 125, 1068, 125, 129, 836, 837, 1701, 1074, 1703, 1704, 125, 120, 1443, 1080, 128, 123, 134, 134, 134, 1086, 120, 134, 134, 696, 134, 129, 133, 129, 125, 702, 128, 127, 120, 128, 2120, 2121, 128, 2123, 1207, 123, 119, 120, 121, 1738, 134, 123, 719, 126, 127, 123, 129, 134, 1747, 2139, 134, 728, 1751, 1752, 123, 1754, 1229, 122, 1779, 123, 1781, 123, 739, 131, 131, 131, 2156, 1766, 1836, 122, 122, 122, 120, 2097, 56, 125, 1249, 1566, 2097, 1252, 1779, 125, 1781, 1256, 1805, 1784, 1807, 1260, 1064, 125, 122, 1779, 120, 1781, 125, 120, 123, 123, 122, 1586, 1587, 122, 120, 133, 123, 127, 1805, 123, 1807, 1808, 123, 1598, 127, 133, 123, 74, 75, 1805, 128, 1807, 79, 123, 3, 131, 131, 3, 131, 86, 131, 1751, 1752, 1830, 1831, 1832, 1833, 123, 123, 1836, 3, 1115, 123, 1840, 1841, 1836, 1843, 125, 1845, 28, 126, 128, 28, 110, 111, 123, 123, 832, 37, 141, 1857, 37, 144, 123, 134, 134, 123, 123, 134, 1866, 131, 56, 1869, 1490, 1491, 157, 131, 159, 122, 161, 123, 122, 1860, 122, 1862, 1808, 131, 123, 123, 131, 787, 788, 867, 790, 131, 74, 75, 131, 74, 75, 79, 876, 123, 79, 1901, 123, 1903, 86, 883, 123, 86, 74, 75, 888, 123, 890, 79, 134, 815, 816, 817, 818, 134, 86, 120, 133, 133, 1544, 1545, 134, 134, 110, 111, 1207, 110, 111, 125, 11, 2004, 129, 2006, 697, 126, 122, 131, 131, 122, 110, 111, 129, 125, 122, 126, 1972, 133, 1229, 126, 125, 123, 122, 129, 858, 859, 123, 123, 123, 941, 74, 75, 123, 3, 123, 79, 1970, 1971, 1972, 1973, 1974, 1975, 86, 1977, 134, 957, 134, 134, 134, 1972, 1984, 1985, 1986, 1987, 134, 1463, 0, 134, 28, 134, 134, 1995, 2086, 2087, 123, 1473, 110, 111, 64, 2072, 2004, 64, 2006, 2007, 125, 123, 2004, 134, 2006, 123, 134, 123, 2016, 2017, 134, 134, 125, 125, 134, 125, 125, 123, 129, 2128, 125, 125, 1504, 41, 2013, 125, 2015, 1509, 125, 1511, 74, 75, 125, 125, 125, 79, 125, 123, 125, 976, 1836, 59, 86, 125, 2052, 2053, 1528, 1498, 66, 858, 958, 2059, 2060, 477, 288, 2063, 913, 2065, 477, 0, 2068, 288, 804, 477, 2072, 83, 110, 111, 86, 968, 2072, 477, 74, 75, 92, 93, 1464, 79, 477, 2087, 92, 2089, 100, 101, 86, 2093, 435, 722, 2077, 2078, 314, 2080, 1789, 2082, 728, 113, 100, 2105, 116, 1581, 2077, 93, 425, 270, 93, 101, 265, 93, 110, 111, 128, 1738, -1, -1, -1, -1, -1, -1, 136, -1, 2128, 2129, 2111, 141, 142, 2133, 144, -1, -1, -1, -1, 2120, 2121, -1, 2123, -1, 154, 2145, 156, 157, 158, 159, 83, 161, -1, -1, -1, -1, -1, -1, 2139, 1779, 93, 1781, 136, -1, -1, -1, -1, 100, 101, -1, -1, -1, -1, -1, -1, 2156, 186, 187, -1, -1, 465, 466, 186, 187, -1, 1805, -1, 1807, 198, -1, -1, -1, 477, -1, -1, -1, 1473, -1, -1, -1, -1, -1, 212, -1, -1, -1, 491, 492, 1682, -1, 1684, 221, -1, -1, -1, -1, 2004, -1, 2006, 1693, -1, -1, -1, 1201, 1698, 1699, -1, -1, 513, 514, -1, 1705, -1, 518, 519, -1, -1, 522, 523, -1, -1, 44, 45, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 265, -1, 86, 268, 269, 270, 3, -1, -1, 268, -1, 270, -1, 278, -1, -1, 74, 75, -1, -1, 560, 79, 562, 288, 289, 290, 110, 111, 86, 2072, 289, 28, -1, 221, 1763, -1, -1, -1, -1, 123, 37, -1, -1, 308, -1, -1, -1, -1, -1, 314, 1205, -1, 110, 111, -1, -1, -1, -1, -1, 324, -1, -1, 7, -1, 122, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, 86, 278, -1, -1, -1, -1, 1970, 1971, 1972, 1973, 1974, 288, -1, 290, -1, -1, -1, -1, -1, -1, 1984, 1985, 1986, 1987, 110, 111, -1, 381, -1, -1, -1, 349, 386, 119, 388, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, 1867, 1868, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1682, -1, 1684, 418, -1, 420, 421, 44, 45, 424, 425, -1, -1, -1, -1, 430, 1698, 1699, -1, 434, 435, -1, 437, 1902, -1, 120, 121, 2052, 2053, -1, -1, 440, 1911, -1, 443, 130, -1, 74, 75, -1, -1, 420, 79, -1, 139, 140, 141, 142, 143, 86, 465, 466, -1, -1, -1, 470, 471, -1, -1, -1, -1, -1, 477, -1, -1, -1, -1, 482, -1, -1, -1, -1, 487, 110, 111, -1, 491, 492, -1, -1, 418, -1, -1, 1466, -1, 122, 3, -1, 1967, 1968, -1, -1, -1, -1, -1, 510, -1, -1, 513, 514, -1, 74, 75, 518, 519, -1, 79, 522, 523, -1, -1, 28, 1417, 86, 529, -1, 1421, -1, -1, -1, 37, 536, -1, -1, 539, -1, -1, 536, -1, -1, 539, -1, 470, -1, -1, -1, -1, 110, 111, -1, 555, -1, -1, -1, -1, 560, 119, 562, -1, 122, 565, 566, -1, -1, 529, -1, -1, 74, 75, -1, 133, -1, 79, -1, -1, -1, -1, -1, -1, 86, 585, -1, 510, 588, -1, 590, -1, 592, -1, 1484, -1, -1, -1, 1566, 599, -1, -1, -1, -1, -1, 1, -1, 3, 110, 111, -1, -1, 1502, -1, -1, 2079, -1, 119, -1, -1, 122, 123, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 28, 2097, -1, 1902, 86, -1, 37, -1, -1, 37, 38, -1, 1911, 44, 45, 1723, 1724, -1, 1726, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, -1, 110, 111, -1, 663, 664, 665, 666, -1, -1, 663, 664, 665, 666, 123, -1, 74, 75, -1, 74, 75, 79, -1, -1, 79, 2148, -1, -1, 86, -1, -1, 86, 691, 692, 693, -1, 970, 696, 691, 692, 693, 1967, 1968, 702, -1, -1, 44, 45, -1, -1, -1, 710, 110, 111, -1, 110, 111, -1, 717, 718, 719, 119, 721, 722, 119, -1, -1, 122, -1, 728, 125, -1, 127, 128, 1701, -1, 74, 75, -1, -1, 739, 79, -1, 742, -1, -1, -1, -1, 86, -1, 749, 710, -1, 752, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1039, 1040, -1, -1, 1043, 1044, 1045, 110, 111, 696, -1, -1, -1, -1, -1, 702, 119, -1, 742, -1, -1, -1, -1, -1, 1678, 749, -1, -1, 752, 1683, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 74, 75, -1, 728, -1, 79, -1, -1, -1, -1, -1, -1, 86, -1, 1784, -1, -1, -1, -1, -1, -1, 787, 788, -1, 790, -1, -1, -1, -1, -1, 832, -1, -1, 835, 836, 837, 110, 111, -1, -1, -1, -1, -1, -1, -1, 119, -1, -1, 122, 815, 816, 817, 818, -1, -1, 1747, 858, 859, 860, -1, -1, -1, -1, 465, 466, 867, 0, -1, -1, -1, -1, -1, -1, 875, 876, -1, -1, -1, -1, -1, -1, 883, -1, -1, 886, 1963, 888, -1, 890, 491, 492, -1, 858, 859, -1, -1, 1788, -1, -1, -1, -1, -1, -1, 1180, 1181, -1, -1, 832, -1, -1, -1, 513, 514, -1, -1, -1, 518, 519, 52, -1, 522, 523, -1, -1, -1, -1, -1, -1, -1, -1, -1, 933, -1, 1903, -1, -1, -1, -1, -1, 941, -1, -1, 867, -1, -1, -1, -1, -1, 82, 83, 84, 876, -1, -1, -1, 957, 958, 91, 883, 93, -1, -1, -1, 965, 966, 890, 100, 101, 970, -1, -1, -1, 1723, 1724, 976, 1726, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, -1, -1, -1, 3, -1, -1, -1, 987, 958, -1, 996, 997, 998, 131, 132, 133, 134, 135, 1004, -1, -1, -1, -1, 141, -1, 1901, 144, -1, 28, -1, -1, -1, 941, -1, -1, -1, -1, 37, 38, 157, -1, 159, -1, 161, -1, -1, -1, -1, 957, -1, 996, 997, 998, 1039, 1040, -1, -1, 1043, 1044, 1045, -1, -1, -1, -1, -1, 183, 184, 185, -1, -1, -1, -1, -1, 3, 74, 75, -1, 1063, 1064, 79, -1, -1, 1068, -1, -1, -1, 86, -1, 1074, -1, -1, -1, -1, -1, 1080, -1, -1, -1, 28, -1, 1086, -1, 220, 221, -1, -1, -1, 37, -1, -1, 110, 111, -1, -1, -1, -1, -1, -1, 1104, 119, -1, 1107, 122, -1, 1110, -1, -1, 1107, -1, -1, 1110, -1, -1, -1, -1, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, -1, 74, 75, -1, 265, -1, 79, -1, -1, -1, -1, -1, -1, 86, -1, 1104, -1, 278, -1, 1148, -1, -1, -1, -1, -1, 1148, -1, 288, -1, 290, -1, -1, -1, 1162, 1163, 1164, 1165, 110, 111, 1162, 1163, 1164, 1165, -1, -1, -1, 119, -1, -1, 122, -1, 1180, 1181, -1, -1, -1, 1185, -1, 1187, -1, -1, -1, 1185, -1, 1187, 1194, -1, -1, -1, -1, -1, -1, 1201, -1, -1, 1204, 1205, 1206, -1, -1, -1, -1, -1, -1, -1, 1963, 1490, 1491, -1, -1, -1, -1, -1, -1, -1, 1224, -1, -1, -1, -1, -1, -1, 1231, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1205, 3, -1, -1, -1, 0, -1, 1248, 1249, -1, -1, -1, -1, -1, 1255, 1256, -1, -1, 1259, 1260, -1, 394, 395, 396, -1, -1, 28, -1, 1544, 1545, 1194, -1, -1, -1, -1, 37, 38, 1201, -1, -1, -1, -1, -1, -1, -1, 418, -1, 1248, 1249, -1, -1, -1, 425, -1, 1255, 1256, -1, -1, 1259, 1260, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, 83, -1, -1, -1, 465, 466, -1, -1, -1, 470, 93, -1, -1, 474, -1, -1, 477, 100, 101, -1, 110, 111, -1, -1, -1, 486, -1, -1, -1, 119, 491, 492, 122, -1, -1, 125, -1, 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, -1, -1, 513, 514, -1, -1, -1, 518, 519, 142, -1, 522, 523, 52, -1, 526, 527, 528, -1, -1, -1, 154, 1401, 1402, -1, 158, -1, -1, -1, -1, -1, -1, -1, 544, 545, -1, -1, 141, 1417, -1, 144, -1, 1421, -1, 83, 84, -1, -1, -1, 560, -1, 562, 91, 157, 565, 159, 567, 161, -1, -1, 1039, 1040, -1, -1, 1043, 1044, -1, -1, -1, -1, -1, 582, -1, -1, 1417, -1, -1, -1, 1421, -1, -1, -1, -1, -1, 1463, -1, -1, 1466, 142, -1, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, 154, -1, -1, -1, 158, 1484, -1, -1, -1, -1, -1, 1490, 1491, -1, -1, -1, 1495, 1496, 1497, 1498, -1, -1, -1, -1, 1463, 1779, -1, 1781, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1484, -1, -1, 183, 278, 1519, -1, -1, -1, -1, 1805, -1, 1807, -1, 288, -1, 290, -1, 1502, -1, -1, -1, -1, 1466, 1544, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 690, -1, -1, -1, -1, -1, 696, -1, 1566, -1, -1, -1, 230, -1, -1, 233, -1, -1, -1, -1, -1, -1, 1580, 1581, -1, -1, -1, 717, 1586, 1587, -1, 721, 265, -1, 1586, 1587, 268, 269, -1, -1, -1, 1599, -1, -1, 1602, -1, 1598, 265, -1, 739, 465, 466, 1610, -1, -1, -1, -1, -1, -1, -1, 278, -1, 1580, 1581, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, 491, 492, -1, -1, -1, 314, -1, -1, -1, 1566, -1, 1645, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 513, 514, -1, -1, -1, 518, 519, -1, -1, 522, 523, -1, -1, -1, 424, -1, -1, -1, -1, -1, -1, -1, 1678, -1, 1680, 435, -1, 1683, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1970, 1971, 1972, 1973, 1974, -1, 1701, -1, -1, -1, -1, -1, -1, -1, 1984, 1985, 1986, 1987, -1, 1678, -1, -1, -1, -1, 1683, -1, -1, -1, -1, -1, -1, -1, -1, 860, -1, -1, -1, -1, 487, 394, 867, -1, -1, -1, -1, 465, 466, 874, 875, 876, -1, 0, 1747, -1, 424, -1, 883, 477, -1, 886, -1, 888, -1, -1, -1, 435, -1, 1762, 1763, -1, -1, 491, 492, -1, -1, -1, -1, -1, -1, -1, -1, 436, 2052, 2053, 1779, -1, 1781, -1, 1747, 1784, -1, -1, -1, 513, 514, -1, -1, -1, 518, 519, 927, -1, 522, 523, -1, -1, -1, 1762, 1763, 936, 1805, -1, 1807, -1, 941, -1, -1, 487, -1, 474, 947, -1, -1, -1, -1, -1, -1, -1, -1, 1788, 957, -1, -1, -1, 83, -1, -1, -1, -1, -1, 560, -1, 562, 970, 93, 1840, 1841, 1836, -1, -1, -1, 100, 101, 980, -1, -1, -1, -1, -1, -1, 268, 269, -1, -1, -1, -1, 1784, 536, -1, -1, 539, 526, 527, 528, -1, 530, -1, 1004, 533, -1, 270, -1, -1, -1, -1, -1, -1, -1, -1, 544, 545, 546, -1, 142, -1, 1490, 1491, -1, 112, -1, -1, -1, -1, -1, -1, 154, 1901, -1, 1903, 158, 565, -1, 1039, 1040, -1, -1, 1043, 1044, 1045, -1, -1, -1, 136, 1050, 1051, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1061, -1, -1, -1, -1, -1, -1, -1, 1901, -1, -1, -1, -1, 696, -1, 1544, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1970, 1971, 1972, 1973, 1974, 1975, -1, 1977, -1, 198, -1, -1, -1, -1, 1984, 1985, 1986, 1987, -1, 663, 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2004, -1, 2006, -1, -1, -1, -1, -1, -1, 693, -1, -1, -1, -1, 278, -1, -1, -1, -1, -1, 690, -1, -1, -1, 288, -1, 290, -1, -1, -1, -1, -1, 717, 718, -1, 440, 721, 722, 1180, 1181, -1, -1, 2052, 2053, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 1201, -1, -1, 1204, -1, 1206, -1, -1, -1, 2072, -1, -1, 300, -1, -1, -1, 304, 305, 306, -1, -1, 309, 1, 1224, 3, 4, 5, 315, -1, -1, 1231, -1, -1, 321, -1, -1, -1, -1, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, 875, -1, 536, -1, 344, 539, -1, -1, -1, 349, -1, 886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, 65, 93, -1, -1, -1, -1, 71, 72, 100, 101, -1, -1, 386, -1, 388, 424, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, 435, 1039, 1040, -1, -1, 1043, 1044, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, -1, 875, 420, -1, -1, -1, 142, -1, -1, 118, -1, -1, 886, 122, -1, 344, -1, -1, 154, -1, -1, -1, 158, 132, 133, -1, -1, -1, -1, 888, -1, -1, -1, -1, 487, -1, -1, 631, -1, -1, -1, -1, -1, -1, -1, -1, 970, -1, -1, -1, -1, 663, 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 927, 663, 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, -1, 693, -1, 1414, -1, 944, -1, 946, 947, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1429, -1, -1, -1, -1, -1, -1, 1436, -1, -1, -1, -1, -1, 529, 1443, -1, -1, 1039, 1040, -1, -1, 1043, 1044, 1045, -1, -1, -1, -1, -1, -1, -1, -1, 1004, -1, -1, 1464, -1, 1466, -1, -1, -1, -1, -1, -1, 278, -1, -1, -1, -1, -1, 566, -1, -1, -1, 288, -1, 290, -1, -1, -1, -1, 1490, 1491, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1970, 1971, -1, 1973, 1974, -1, -1, -1, -1, 598, -1, -1, -1, -1, 1984, 1985, 1986, 1987, -1, -1, 1050, 1051, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 626, -1, -1, -1, -1, 1544, 1545, -1, 1547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1107, 1566, -1, 1110, -1, -1, -1, -1, -1, 696, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2052, 2053, -1, 1180, 1181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1148, -1, -1, -1, 697, -1, -1, -1, -1, -1, -1, -1, -1, 424, 1162, 1163, 1164, 1165, -1, -1, -1, 112, -1, -1, 435, -1, -1, -1, -1, -1, 723, -1, 636, -1, 727, -1, -1, 1185, -1, 1187, -1, -1, -1, -1, -1, -1, -1, -1, 1182, 742, 1184, -1, -1, -1, -1, 1204, 749, -1, -1, 752, -1, -1, -1, -1, -1, -1, 1672, -1, -1, -1, 939, -1, -1, -1, -1, 1224, 487, -1, -1, 772, -1, -1, 1231, -1, -1, 778, 779, 780, 781, 782, 783, 784, -1, -1, 787, 788, -1, 790, 791, 792, 793, 794, 795, 796, 797, -1, 799, -1, -1, -1, -1, -1, -1, -1, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, -1, 827, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, 758, -1, -1, -1, 886, 1490, 1491, -1, -1, -1, -1, 858, 859, -1, -1, -1, -1, -1, -1, 1779, -1, 1781, -1, -1, 1784, 270, -1, -1, -1, -1, -1, -1, -1, 791, 792, 793, 794, 795, -1, -1, 798, -1, -1, 112, -1, 1805, 804, 1807, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1817, -1, 1544, 1545, 819, 820, 821, 822, 823, 1107, 136, 826, 1110, -1, -1, -1, -1, -1, -1, -1, -1, -1, 926, -1, 928, 327, -1, 1107, -1, -1, 1110, -1, -1, -1, -1, -1, -1, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1148, -1, -1, -1, 958, -1, -1, -1, -1, -1, -1, -1, -1, 967, 1162, 1163, 1164, 1165, 1148, -1, -1, -1, 198, -1, 696, -1, -1, -1, -1, -1, 1490, 1491, 1162, 1163, 1164, 1165, -1, 1185, -1, 1187, -1, -1, 996, -1, 998, -1, -1, -1, 1443, -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, 1544, 1545, -1, -1, -1, -1, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1970, 1971, 1972, 1973, 1974, -1, -1, 1064, -1, -1, -1, -1, -1, -1, 1984, 1985, 1986, 1987, -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, 1104, 327, 1547, -1, -1, -1, -1, -1, -1, -1, -1, 1115, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, 349, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, 535, -1, 2052, 2053, 1141, 1142, -1, 1599, -1, -1, 1602, -1, -1, -1, -1, -1, -1, -1, 1610, -1, 875, -1, 120, 121, -1, -1, -1, 386, -1, 388, -1, 886, 130, -1, -1, -1, -1, 135, 136, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 420, -1, 598, -1, -1, -1, -1, 1205, -1, 1207, -1, -1, -1, 1122, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1229, -1, -1, -1, 631, -1, -1, -1, -1, -1, 1150, -1, -1, -1, -1, -1, 1245, 1157, -1, -1, 1249, -1, 65, 1252, -1, -1, -1, 1256, 71, 72, 73, 1260, -1, -1, -1, -1, 663, 664, 665, 666, -1, 84, 85, -1, 1779, -1, 1781, -1, -1, -1, -1, 1191, -1, 1193, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 1805, -1, 1807, -1, -1, 118, 119, -1, 529, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, 723, -1, -1, -1, 727, -1, -1, 1970, 1971, -1, 1973, 1974, -1, -1, -1, -1, -1, -1, -1, 566, -1, 1984, 1985, 1986, 1987, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 758, -1, -1, -1, -1, -1, -1, 1808, -1, -1, -1, -1, -1, -1, 772, -1, 598, -1, -1, -1, -1, -1, -1, -1, -1, 1840, 1841, -1, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, -1, -1, -1, 799, -1, -1, 626, 1599, 804, -1, 1602, 807, 1586, 1587, -1, -1, 2052, 2053, 1610, 1417, -1, -1, 1596, 1421, 1598, 1599, -1, -1, 1602, -1, -1, 827, -1, -1, -1, -1, 1610, -1, -1, 1613, -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, 1463, 1970, 1971, 1972, 1973, 1974, -1, -1, -1, -1, 1473, -1, 697, -1, -1, 1984, 1985, 1986, 1987, -1, -1, 1484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 723, 1502, -1, 1504, 727, -1, -1, -1, 1509, -1, 1511, -1, -1, -1, -1, -1, -1, -1, -1, 742, -1, -1, -1, -1, -1, -1, 749, 1528, -1, 752, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2052, 2053, -1, -1, 772, -1, -1, -1, -1, -1, 778, 779, 780, 781, 782, 783, 784, -1, -1, 787, 788, -1, 790, 791, 792, 793, 794, 795, 796, 797, -1, 799, -1, -1, -1, 1581, -1, -1, -1, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, -1, 827, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1014, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 858, 859, -1, -1, -1, -1, -1, -1, -1, -1, 1840, 1841, -1, -1, -1, -1, -1, -1, 1830, 1831, 1832, 1833, -1, -1, 1836, -1, -1, -1, 1840, 1841, -1, 1843, -1, 1845, -1, -1, -1, -1, -1, -1, -1, -1, 1678, -1, -1, 1857, 1682, 1683, 1684, -1, -1, -1, -1, -1, -1, -1, -1, 1693, -1, -1, -1, -1, 1698, 1699, -1, -1, -1, -1, 926, 1705, 928, -1, -1, 1107, -1, -1, 1110, -1, -1, -1, -1, -1, -1, -1, -1, 1119, -1, 1723, 1724, -1, 1726, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, -1, 958, -1, -1, -1, -1, -1, -1, 1141, 1142, 967, -1, 1747, -1, -1, 1148, -1, 1150, -1, -1, -1, 1154, -1, -1, 1157, -1, 1159, -1, 1763, 1162, 1163, 1164, 1165, -1, -1, -1, -1, -1, -1, 996, -1, 998, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1788, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1717, -1, -1, -1, -1, 1722, 1723, 1724, 1725, 1726, 1727, -1, -1, 1995, 1731, 1732, 1733, 1734, -1, -1, -1, -1, 2004, -1, 2006, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1064, 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1867, 1868, -1, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, -1, -1, -1, 221, 1104, 2059, 2060, -1, -1, 2063, -1, 2065, -1, -1, 2068, 1115, -1, -1, 2072, -1, -1, -1, -1, 1901, 1902, -1, -1, -1, -1, -1, -1, -1, -1, 1911, -1, -1, -1, -1, -1, -1, -1, 1141, 1142, -1, -1, -1, -1, -1, -1, -1, -1, 2105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, -1, -1, -1, 2133, -1, -1, -1, -1, -1, 1963, -1, -1, -1, 1967, 1968, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1205, -1, 1207, -1, -1, -1, -1, -1, -1, 141, -1, -1, 144, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 1229, 157, -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1245, 28, -1, -1, 1249, -1, -1, 1252, -1, -1, -1, 1256, -1, -1, -1, 1260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, 400, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2079, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 2097, 102, 103, 104, 105, 106, 107, 108, 109, 1504, -1, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, 123, 124, 270, -1, 127, -1, -1, -1, 131, 132, 133, 470, 135, 136, 137, 138, -1, -1, 1535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2148, -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, 1586, 1587, 530, -1, -1, 533, -1, 1417, -1, -1, 1596, 1421, 1598, 1599, -1, -1, 1602, -1, 546, -1, -1, -1, -1, -1, 1610, -1, -1, 1613, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 567, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 580, 1463, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1502, -1, 1504, -1, -1, -1, -1, 1509, -1, 1511, -1, -1, -1, -1, -1, 1693, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1528, 1705, -1, -1, -1, -1, -1, -1, -1, -1, 465, 466, -1, 1717, -1, -1, -1, -1, 1722, -1, -1, 1725, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 491, 492, -1, -1, -1, -1, -1, -1, 690, -1, -1, -1, -1, -1, 696, -1, -1, 1581, -1, -1, -1, -1, 513, 514, -1, -1, -1, 518, 519, -1, -1, 522, 523, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1789, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1800, -1, -1, -1, -1, -1, -1, -1, -1, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1830, 1831, 1832, 1833, -1, -1, 1836, -1, -1, -1, 1840, 1841, -1, 1843, -1, 1845, -1, -1, -1, -1, -1, -1, -1, -1, 1678, -1, -1, 1857, 1682, 1683, 1684, -1, -1, -1, -1, -1, -1, 1867, 1868, 1693, -1, -1, -1, -1, 1698, 1699, -1, -1, -1, -1, 631, 1705, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1723, 1724, -1, 1726, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, -1, 663, 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, 1747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 876, -1, -1, -1, -1, 1763, -1, 883, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, 1979, -1, -1, -1, 631, -1, -1, -1, -1, -1, -1, -1, 742, -1, -1, 936, 1995, -1, -1, 749, 941, -1, 752, -1, -1, 2004, -1, 2006, -1, -1, -1, -1, -1, -1, -1, -1, 957, -1, 665, 666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1867, 1868, -1, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, -1, -1, 2056, -1, -1, 2059, 2060, -1, 1004, 2063, -1, 2065, -1, -1, 2068, -1, -1, -1, 2072, -1, -1, -1, -1, 1901, 1902, 2079, -1, 1, -1, 3, 4, 5, 6, 1911, 8, 9, -1, -1, -1, -1, -1, -1, -1, 2097, -1, -1, -1, -1, -1, -1, -1, 2105, -1, -1, 28, 1051, -1, -1, -1, -1, -1, -1, -1, 37, 1060, -1, 1062, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2133, -1, -1, -1, -1, -1, 1963, -1, -1, -1, 1967, 1968, 65, -1, -1, 2148, -1, -1, 71, 72, 73, 74, 75, 907, 908, -1, 79, -1, -1, -1, -1, 84, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 970, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1182, -1, 1184, -1, -1, 996, -1, 998, -1, -1, -1, -1, -1, -1, -1, 2079, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, 86, 92, 93, -1, -1, 2097, -1, -1, -1, 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1039, 1040, -1, -1, 1043, 1044, 1045, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, 136, 142, -1, -1, -1, -1, 2148, -1, -1, -1, -1, -1, -1, 154, -1, -1, -1, 158, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1104, -1, -1, 1107, -1, -1, 1110, -1, -1, -1, 186, 187, -1, -1, -1, 1119, -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, 1148, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1162, 1163, 1164, 1165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1180, 1181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, -1, -1, 268, 269, 270, -1, 1, -1, 3, 4, 5, 6, 278, 8, 9, -1, 1107, -1, -1, 1110, -1, -1, 288, 289, 290, -1, -1, -1, 1119, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, 1429, -1, -1, -1, 314, -1, -1, 1436, -1, -1, -1, 1249, -1, 1148, 324, -1, -1, -1, 1256, -1, -1, -1, 1260, -1, -1, -1, 65, 1162, 1163, 1164, 1165, -1, 71, 72, 73, 1464, -1, 1466, -1, -1, 1469, -1, -1, 1472, -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, -1, -1, -1, 381, -1, -1, 118, 119, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, -1, -1, -1, -1, -1, -1, 418, -1, -1, -1, -1, -1, 424, 420, 421, -1, 1547, -1, 425, -1, -1, -1, -1, 435, 1555, -1, -1, 434, -1, 1, 437, -1, 4, 5, 6, 1566, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 470, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, 477, -1, -1, -1, -1, 487, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, 510, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, 1463, 536, -1, 98, 539, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 555, -1, 1490, 1491, 124, 125, -1, 127, 128, 129, 565, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1509, -1, 1511, -1, -1, -1, -1, -1, -1, 585, -1, -1, 588, -1, 590, -1, 592, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1544, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1751, 1752, -1, 1754, -1, -1, 638, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1581, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, 663, 664, 665, 666, -1, 1596, -1, 1598, 1599, -1, -1, 1602, -1, -1, -1, -1, -1, -1, -1, 1610, -1, -1, 1613, -1, -1, -1, 1808, -1, 691, 692, 693, -1, -1, 696, -1, -1, -1, -1, -1, 702, -1, -1, -1, -1, -1, -1, -1, 710, -1, -1, -1, -1, -1, -1, 717, 718, 719, -1, 721, 722, -1, -1, -1, -1, -1, 728, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 739, -1, -1, 742, -1, -1, -1, -1, -1, -1, 749, -1, -1, 752, -1, -1, -1, -1, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, -1, -1, -1, -1, 1596, -1, 1598, 1599, -1, -1, 1602, -1, -1, -1, -1, -1, -1, -1, 1610, -1, -1, 1613, -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, 270, -1, -1, -1, -1, -1, 832, -1, -1, 1763, -1, -1, -1, -1, 835, 836, 837, -1, -1, -1, -1, -1, -1, -1, -1, 1779, -1, 1781, -1, -1, -1, -1, -1, -1, -1, -1, -1, 858, 859, 860, -1, 867, 0, -1, -1, -1, -1, -1, -1, 875, 876, 1805, -1, 1807, 324, -1, -1, 883, -1, -1, 886, 887, 888, -1, 890, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1830, 1831, 1832, 1833, -1, -1, 1836, -1, -1, -1, 1840, 1841, -1, 1843, -1, 1845, -1, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, 1857, -1, -1, -1, -1, -1, -1, -1, -1, 933, -1, -1, 941, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, 88, 957, -1, -1, -1, 93, -1, 958, -1, -1, -1, -1, 100, 101, 965, 966, -1, -1, -1, -1, -1, -1, -1, -1, -1, 976, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, 436, -1, -1, -1, 996, 997, 998, 131, -1, -1, -1, -1, 1004, 1830, 1831, 1832, 1833, -1, -1, 1836, -1, -1, -1, 1840, 1841, -1, 1843, -1, 1845, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1857, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1970, 1971, 1972, 1973, 1974, -1, -1, -1, 182, -1, -1, -1, -1, -1, 1984, 1985, 1986, 1987, -1, -1, -1, 195, -1, -1, -1, 1995, 1063, -1, -1, -1, -1, 1068, -1, -1, 2004, -1, 2006, 1074, -1, -1, -1, -1, -1, 1080, -1, -1, -1, 221, -1, 1086, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1104, -1, -1, 1107, -1, -1, 1110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1123, 2052, 2053, -1, -1, -1, -1, -1, 2059, 2060, 265, -1, 2063, -1, 2065, -1, -1, 2068, -1, -1, -1, 2072, -1, 278, -1, 1148, -1, -1, -1, -1, -1, -1, -1, 288, -1, 290, -1, -1, -1, 1162, 1163, 1164, 1165, -1, -1, -1, -1, 1995, -1, -1, -1, -1, -1, -1, 2105, -1, 2004, -1, 2006, -1, -1, -1, 1185, -1, 1187, -1, -1, -1, -1, 636, -1, -1, -1, -1, -1, -1, -1, -1, 1201, -1, -1, 1204, 2133, -1, -1, 652, -1, 1205, 1206, -1, -1, -1, -1, -1, -1, -1, 663, 664, 665, 666, -1, 1224, -1, -1, -1, -1, -1, -1, 1231, -1, -1, 2059, 2060, -1, -1, 2063, -1, 2065, -1, -1, 2068, -1, -1, -1, 2072, 1248, 1249, -1, -1, -1, -1, -1, 1255, 1256, -1, 702, 1259, 1260, 705, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2105, -1, -1, -1, 728, -1, 418, -1, -1, 733, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 436, 327, -1, -1, 2133, -1, -1, -1, -1, -1, -1, -1, 760, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 470, -1, -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 798, -1, -1, -1, -1, -1, -1, -1, 806, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, -1, -1, -1, 826, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1401, 1402, -1, -1, -1, -1, 544, 545, -1, -1, -1, -1, -1, -1, -1, -1, 1417, -1, -1, -1, 1421, -1, -1, -1, -1, -1, -1, 565, -1, 567, -1, -1, -1, -1, -1, -1, -1, -1, 888, -1, 578, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1463, -1, -1, 1466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 614, -1, -1, -1, -1, -1, -1, 1484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1495, 1496, 1497, 1498, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, -1, 696, -1, 1566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1580, 1581, -1, -1, 65, 717, 1586, 1587, -1, 721, 71, 72, 73, -1, -1, -1, -1, -1, -1, 1599, -1, -1, 1602, 84, 85, -1, -1, 739, -1, -1, 1610, -1, -1, -1, 636, -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, 121, 122, 123, 124, 125, 126, 127, -1, -1, 130, 1645, 132, 133, -1, 135, 136, 137, 138, 139, 140, 141, 142, 143, 1107, -1, -1, 1110, 1111, 1112, -1, 1114, -1, -1, -1, -1, -1, -1, -1, 1122, -1, -1, -1, -1, 1678, -1, 1680, 1130, -1, 1683, -1, -1, -1, -1, 1137, -1, -1, -1, -1, -1, -1, -1, 1701, -1, -1, 1148, -1, -1, -1, -1, -1, -1, 1155, -1, -1, -1, -1, 1160, -1, 1162, 1163, 1164, 1165, -1, -1, -1, -1, -1, -1, 860, 861, -1, -1, -1, -1, -1, 867, 758, -1, -1, -1, -1, -1, -1, 875, 876, -1, -1, 1191, -1, 1193, 772, 883, 1747, -1, 886, 887, 888, -1, -1, -1, -1, -1, 1762, 1763, -1, -1, -1, -1, -1, 791, 792, 793, 794, 795, -1, -1, 798, 799, -1, -1, -1, 1225, 804, -1, 1784, 807, -1, -1, -1, -1, -1, -1, -1, -1, -1, 927, -1, 819, 820, 821, 822, 823, -1, 935, 826, 827, -1, -1, -1, 941, 92, -1, -1, -1, -1, 947, -1, -1, -1, -1, -1, -1, -1, -1, -1, 957, 1270, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 1840, 1841, -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, 1004, -1, -1, -1, -1, -1, 1322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1335, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, 1903, 186, 187, 1901, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 1050, -1, -1, -1, -1, -1, -1, 98, -1, 1059, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, 221, -1, -1, 1386, -1, -1, 118, 119, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, 1975, -1, 1977, 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, 289, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, 66, 324, -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, 1201, -1, -1, 1204, -1, 1206, 100, -1, -1, -1, -1, -1, -1, 1214, -1, -1, 110, 111, 112, 113, 114, 115, -1, 1224, -1, 119, -1, -1, 122, -1, 1231, 1122, -1, -1, -1, -1, -1, -1, -1, 133, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1150, -1, -1, -1, -1, -1, -1, 1157, 418, -1, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, 1592, -1, 1594, -1, -1, 1597, 1598, -1, -1, -1, -1, 1603, 1604, -1, 1606, 52, -1, -1, -1, -1, -1, 1191, -1, 1193, 1616, -1, 1618, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 470, -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, -1, -1, -1, 91, -1, 93, -1, 1650, -1, -1, -1, 1654, 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, -1, 1252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, 132, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1414, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, 1428, -1, -1, -1, 92, -1, -1, 1435, -1, -1, -1, -1, -1, -1, -1, 1443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1464, -1, 1466, -1, -1, -1, -1, -1, -1, 230, -1, -1, 233, -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, 1818, -1, 265, -1, -1, -1, -1, 663, 664, 665, 666, -1, -1, -1, -1, 278, -1, -1, 1836, 1837, 186, 187, -1, -1, -1, 288, 1844, 290, -1, -1, 1848, -1, 1850, -1, -1, 691, 692, 693, -1, -1, 1546, 1859, -1, -1, -1, -1, 702, -1, -1, -1, -1, -1, -1, -1, 710, 221, -1, -1, -1, -1, 1566, 717, 718, 719, -1, 721, 722, -1, -1, -1, -1, -1, 728, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 739, -1, 1903, 742, -1, -1, -1, -1, -1, -1, 749, -1, -1, 752, -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, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, 1672, -1, -1, -1, -1, -1, -1, 436, -1, -1, 832, -1, 1996, 1997, -1, 1999, -1, 2001, -1, -1, 2004, 2005, 2006, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 867, -1, -1, -1, -1, -1, -1, -1, -1, 876, -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, -1, 888, -1, 890, -1, -1, 1743, -1, -1, -1, -1, -1, 2061, -1, -1, 2064, -1, -1, -1, -1, -1, 418, -1, 2072, -1, -1, -1, -1, 1765, -1, -1, -1, 526, 527, 528, -1, 530, -1, -1, 533, -1, -1, -1, -1, -1, -1, -1, 1784, -1, -1, 544, 545, 546, -1, 941, -1, -1, -1, -1, 2108, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, 957, 565, -1, 470, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1717, -1, -1, -1, -1, 1722, 1723, 1724, 1725, 1726, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, -1, 996, 997, 998, -1, 510, -1, -1, -1, 1004, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, 536, -1, -1, 539, -1, -1, -1, 1883, -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, 436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 690, -1, -1, -1, -1, -1, 696, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1104, -1, -1, 1107, 300, -1, 1110, -1, -1, -1, -1, -1, -1, 309, -1, -1, -1, -1, -1, 315, -1, -1, -1, -1, -1, -1, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1148, -1, -1, -1, -1, 663, 664, 665, 666, -1, -1, -1, -1, -1, 1162, 1163, 1164, 1165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 691, 692, 693, -1, 1185, -1, 1187, -1, -1, -1, -1, 702, -1, 386, -1, 388, -1, -1, -1, 710, 1201, -1, -1, 1204, -1, -1, 717, 718, 719, -1, 721, 722, -1, -1, -1, -1, -1, 728, -1, -1, -1, -1, -1, 1224, -1, -1, -1, -1, 739, -1, 1231, 742, -1, -1, -1, -1, -1, -1, 749, -1, -1, 752, -1, -1, -1, -1, -1, 1248, 1249, -1, -1, -1, -1, -1, 1255, 1256, -1, -1, 1259, 1260, -1, -1, -1, -1, -1, 636, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 888, 652, -1, -1, -1, 656, -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, 927, -1, 832, -1, -1, -1, -1, -1, -1, -1, -1, -1, 702, -1, -1, 705, -1, 529, -1, -1, 947, -1, -1, -1, -1, -1, -1, -1, -1, 719, -1, -1, -1, -1, -1, -1, -1, 867, 728, -1, -1, -1, -1, 733, 734, -1, 876, -1, -1, -1, -1, -1, -1, 883, 566, -1, -1, -1, 888, -1, 890, -1, -1, -1, -1, -1, -1, -1, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 798, -1, -1, 941, -1, 28, 626, -1, 806, -1, -1, -1, -1, -1, -1, 1050, 1051, -1, -1, 957, -1, -1, -1, -1, -1, -1, -1, -1, 826, -1, -1, -1, -1, -1, -1, 1463, -1, -1, 1466, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, 996, 997, 998, 84, 85, -1, -1, -1, 1004, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 697, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 888, -1, -1, -1, -1, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, -1, 742, -1, -1, -1, -1, -1, -1, 749, -1, -1, 752, -1, -1, -1, -1, -1, 1566, -1, -1, -1, -1, -1, -1, -1, -1, 1182, -1, 1184, -1, -1, 1580, 1581, -1, -1, -1, -1, 1586, 1587, 3, -1, -1, -1, -1, -1, 1104, -1, -1, 1107, -1, 1599, 1110, -1, 1602, -1, -1, -1, -1, -1, -1, -1, 1610, -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, 1148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 1162, 1163, 1164, 1165, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, 86, 87, -1, -1, 1185, -1, 1187, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, 1201, -1, -1, 1204, 110, 111, 112, 113, 114, 115, 1701, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224, -1, -1, -1, -1, -1, -1, 1231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 926, -1, 928, -1, 1248, 1249, -1, 1111, 1112, -1, 1114, 1255, 1256, -1, -1, 1259, 1260, -1, 1122, -1, -1, 1125, -1, -1, -1, -1, 1130, -1, 1762, 1763, -1, -1, -1, 1137, 1138, -1, -1, -1, -1, -1, 1, 967, 3, 4, 5, 6, -1, 8, 9, -1, 1784, 1155, 1156, -1, -1, -1, 1160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, 996, -1, 998, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1191, -1, 1193, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 1443, -1, 65, -1, 1840, 1841, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, 1225, -1, 84, 85, 86, -1, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, 1064, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, -1, 1270, 1271, 129, 1903, 131, 132, 133, -1, 135, 136, 137, 138, 1104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1115, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, 1547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1322, 1463, 1324, -1, 1466, -1, 82, 83, 84, -1, -1, -1, -1, 1335, 1336, -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, 131, 132, -1, -1, -1, -1, -1, -1, 1207, 1386, -1, 1388, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1229, -1, -1, 164, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, 1566, 1249, -1, 183, -1, -1, -1, -1, 1256, -1, -1, -1, 1260, 28, 1580, 1581, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, 1599, -1, -1, 1602, -1, -1, -1, 220, 221, -1, -1, 1610, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, 83, 84, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, 265, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, 278, -1, -1, -1, -1, 118, 119, -1, -1, 122, 288, 124, 131, 132, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1701, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1808, 1572, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, -1, 1592, 1593, 1594, 1595, -1, 1597, 1598, -1, -1, -1, -1, 1603, 1604, -1, 1606, 1, 1608, 3, 4, 5, 6, -1, 8, 9, 1616, 1617, 1618, -1, -1, -1, 1762, 1763, -1, -1, 221, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 394, 1463, -1, -1, 1784, -1, 400, -1, -1, -1, 1650, 1473, 1652, -1, 1654, -1, 1656, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, 436, 278, -1, -1, -1, 1509, -1, 1511, 84, 85, -1, 288, -1, -1, -1, -1, -1, -1, 1840, 1841, -1, -1, 98, -1, 1528, -1, 102, 103, 104, 105, 106, 107, 108, 109, 470, -1, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, 123, 124, 125, 486, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1581, -1, -1, -1, 1903, -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, 528, -1, 530, -1, -1, 533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 544, 545, 546, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, 400, -1, -1, -1, 563, -1, 565, -1, 567, -1, -1, -1, -1, 1818, -1, -1, -1, -1, -1, -1, -1, 580, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1837, -1, -1, -1, 436, 1842, -1, 1844, 1845, -1, 1847, 1848, -1, 1850, -1, 1852, -1, -1, -1, -1, -1, 1858, 1859, 1682, -1, 1684, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 470, 1698, 1699, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1723, 1724, 1903, 1726, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 682, -1, -1, 526, 527, 528, -1, 530, 690, -1, 533, -1, -1, 1763, 696, -1, -1, -1, -1, -1, -1, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 565, -1, 567, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 580, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1996, 1997, -1, 1999, 2000, 2001, -1, -1, -1, 2005, 2006, -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, 92, -1, -1, -1, -1, -1, -1, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, -1, -1, -1, -1, -1, 2061, 2062, -1, 2064, 2065, -1, -1, -1, 2069, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1902, -1, -1, -1, -1, -1, -1, -1, -1, 1911, -1, 142, -1, -1, -1, 690, -1, -1, -1, -1, -1, 696, -1, 154, -1, -1, 92, 158, 2108, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 874, -1, 876, -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, -1, 888, 186, 187, -1, -1, -1, -1, 1963, -1, -1, -1, 1967, 1968, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, 221, -1, 158, 927, -1, -1, -1, -1, -1, -1, -1, -1, 936, -1, -1, -1, -1, 941, -1, -1, -1, -1, -1, 947, -1, -1, -1, -1, -1, -1, 186, 187, -1, 957, -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, -1, -1, -1, 1004, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, -1, 876, 268, 269, 270, -1, -1, -1, 883, -1, -1, -1, -1, 888, -1, -1, 1050, 1051, -1, -1, -1, -1, -1, 289, -1, -1, 1060, -1, 1062, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, 927, -1, -1, -1, -1, -1, -1, -1, -1, 936, -1, -1, -1, -1, 941, -1, -1, -1, -1, -1, 947, -1, -1, -1, -1, -1, -1, -1, -1, -1, 957, -1, -1, -1, -1, 418, -1, -1, -1, -1, -1, 424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 1004, -1, -1, -1, -1, -1, -1, -1, -1, -1, 470, -1, -1, -1, -1, -1, -1, -1, -1, 1182, -1, 1184, -1, -1, -1, -1, -1, 487, -1, 424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, -1, 1050, 1051, -1, 142, 510, -1, -1, -1, -1, -1, 1060, -1, 1062, -1, -1, 154, -1, -1, -1, 158, -1, -1, -1, 529, -1, -1, -1, -1, 3, -1, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 487, 186, 187, -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, 529, -1, -1, 66, -1, 68, -1, 536, -1, -1, 539, 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, 265, -1, -1, 268, 269, 270, 1182, -1, 1184, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, 124, 289, -1, -1, -1, -1, -1, 131, 663, 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, 691, 692, 693, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 710, -1, -1, -1, -1, -1, -1, 717, 718, -1, -1, 721, 722, -1, -1, -1, 1429, -1, 663, 664, 665, 666, -1, 1436, -1, -1, -1, -1, -1, -1, 1443, -1, 742, -1, -1, -1, -1, -1, -1, 749, -1, -1, 752, -1, -1, -1, 691, 692, 693, -1, -1, 1464, -1, 1466, -1, -1, 1469, -1, -1, 1472, -1, -1, -1, -1, -1, 710, -1, -1, -1, -1, -1, -1, 717, 718, -1, -1, 721, 722, -1, -1, -1, 424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, 742, -1, -1, -1, -1, -1, -1, 749, -1, -1, 752, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 832, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1547, -1, -1, -1, -1, -1, -1, -1, 1555, -1, 487, -1, -1, -1, -1, -1, -1, -1, -1, 1566, -1, -1, -1, 867, -1, -1, -1, -1, -1, -1, -1, 875, 876, -1, -1, -1, -1, -1, -1, 883, -1, 1429, 886, -1, -1, -1, 890, -1, 1436, -1, -1, -1, 529, -1, -1, 1443, -1, -1, -1, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1464, -1, 1466, -1, -1, 1469, -1, -1, 1472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 875, 941, -1, -1, -1, -1, -1, -1, -1, -1, -1, 886, -1, -1, -1, -1, -1, 957, -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, 996, 997, 998, -1, -1, -1, -1, 1547, 1004, -1, -1, -1, -1, -1, -1, 1555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1566, -1, -1, -1, -1, -1, -1, -1, 663, 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1751, 1752, -1, 1754, -1, -1, -1, -1, -1, -1, 691, 692, 693, 996, 997, 998, -1, -1, -1, -1, -1, 1004, -1, -1, -1, -1, -1, -1, -1, 710, -1, -1, -1, -1, -1, -1, 717, 718, -1, -1, 721, 722, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1104, 1808, -1, 1107, -1, 742, 1110, -1, -1, -1, -1, -1, 749, -1, -1, 752, -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, 1148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1162, 1163, 1164, 1165, -1, -1, -1, 1104, -1, -1, 1107, -1, 1, 1110, 3, 4, 5, 6, -1, 8, 9, -1, -1, 1185, -1, 1187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, 1204, -1, -1, 1751, 1752, -1, 1754, -1, -1, 1148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224, -1, -1, 1162, 1163, 1164, 1165, 1231, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, 875, -1, 71, 72, 73, -1, 1248, 1249, 1185, -1, 1187, 886, -1, 1255, 1256, 84, 85, 1259, 1260, -1, -1, -1, 1808, -1, -1, -1, -1, 1204, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, 1224, -1, 118, 119, -1, -1, 122, 1231, 124, -1, -1, -1, -1, 129, -1, -1, 132, 133, 134, 135, 136, 137, 138, -1, 1248, 1249, -1, -1, -1, -1, -1, 1255, 1256, -1, -1, 1259, 1260, -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, 996, 997, 998, -1, -1, -1, 1, -1, 1004, -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, -1, -1, 79, -1, -1, -1, -1, -1, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 1463, -1, -1, 1466, -1, 100, -1, -1, 1104, -1, -1, 1107, -1, -1, 1110, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, 120, 121, 122, -1, -1, 125, 126, 127, 128, -1, 130, -1, -1, 133, -1, 135, 136, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1463, 1162, 1163, 1164, 1165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1185, -1, 1187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1566, -1, -1, -1, -1, 1204, -1, -1, -1, -1, -1, -1, -1, -1, 1580, 1581, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, 1224, -1, -1, -1, -1, -1, -1, 1231, 1599, -1, -1, 1602, -1, -1, -1, -1, -1, -1, -1, 1610, -1, -1, -1, -1, 1248, 1249, -1, -1, -1, -1, -1, 1255, 1256, -1, -1, 1259, 1260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1580, 1581, -1, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1599, -1, -1, 1602, -1, -1, -1, -1, -1, -1, 1, 1610, 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, -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, -1, 1762, 1763, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, -1, 1784, -1, -1, -1, -1, -1, -1, 118, 119, 120, 121, 122, 123, 124, -1, 126, 127, -1, -1, 130, -1, 132, 133, -1, 135, 136, 137, 138, 139, 140, 141, 142, 143, 1, -1, 3, -1, -1, -1, -1, -1, -1, -1, 1762, 1763, -1, 1463, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1840, 1841, -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, 1840, 1841, -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, 119, -1, -1, 122, 123, -1, -1, -1, -1, -1, -1, -1, 1580, 1581, 133, -1, -1, -1, 1586, 1587, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1599, -1, -1, 1602, -1, -1, -1, -1, -1, 0, 1, 1610, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1762, 1763, 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, 1840, 1841, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, -1, 135, 136, 137, 138, 139, 140, 141, 142, 143, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -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, -1, -1, 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, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, -1, -1, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, -1, -1, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 1, 124, 3, 4, 5, 6, -1, 8, 9, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 1, 124, 3, 4, 5, 6, -1, 8, 9, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, 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, -1, -1, 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, 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, -1, -1, 122, 1, 124, 3, 4, 5, 6, 129, 8, 9, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, 125, -1, 127, -1, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, 125, -1, 127, -1, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, -1, -1, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, -1, -1, 129, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 65, 8, 9, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 28, -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, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, 65, 124, 125, -1, 127, -1, 71, 72, 73, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, -1, -1, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, -1, 71, 72, 73, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, -1, -1, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, 125, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 65, 8, 9, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 28, -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, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, 65, 124, -1, -1, 127, -1, 71, 72, 73, 132, 133, 134, 135, 136, 137, 138, -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, -1, -1, 122, -1, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 65, 8, 9, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, 28, -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, -1, -1, -1, -1, -1, -1, 118, 119, -1, -1, 122, 65, 124, -1, -1, 127, -1, 71, 72, 73, 132, 133, 134, 135, 136, 137, 138, -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, -1, -1, 122, -1, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, 125, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, 125, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, 125, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, -1, 124, -1, -1, 127, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, 125, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, -1, 124, -1, -1, -1, 128, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -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, -1, -1, 122, 123, 124, -1, -1, 127, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, -1, 131, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, 129, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, 123, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 65, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 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, -1, -1, -1, -1, -1, -1, 118, 119, 65, -1, 122, -1, 124, -1, 71, 72, 73, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, 0, 1, -1, 3, 4, 5, -1, 118, 119, -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, 135, 136, 137, 138, 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, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, -1, -1, -1, 132, 133, 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, 119, -1, -1, 122, -1, 124, 125, -1, 127, 128, -1, -1, -1, 132, 133, 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, 119, -1, -1, 122, -1, 124, 125, 0, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, 0, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, 0, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, -1, 1, 128, 3, 4, 5, 132, 133, -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, 119, -1, -1, 122, -1, 124, 125, 1, -1, 3, 4, 5, -1, 132, 133, -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, 119, -1, 1, 122, 3, 124, 125, -1, -1, -1, -1, -1, -1, 132, 133, -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, -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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, -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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, 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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, 133, 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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 3, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 3, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, 131, 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, 3, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, 131, 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, 119, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, 131, 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, 125, -1, 127, 128, 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, 128, 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, 128, 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, 128, 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, 128, 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, 0, 1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, 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, 119, -1, -1, 122, -1, -1, 125, -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, 3, -1, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, 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, 3, -1, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, 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, 3, -1, -1, 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, 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, 119, -1, -1, 122, -1, -1, 125, 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, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, 125, 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, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, 125, 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, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, -1, -1, 125, 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, 119, -1, -1, 122, -1, -1, 125, -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, -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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 119, -1, -1, 122, 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, -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, -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, -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, -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, -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, -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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, 122, 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, 3, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, -1, 119, -1, -1, 122, 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, 119, -1, -1, 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, 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, 128, 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, 119, 122, 125, 145, 146, 147, 149, 174, 211, 212, 213, 214, 215, 216, 268, 271, 272, 275, 276, 277, 278, 279, 280, 281, 283, 287, 290, 291, 292, 293, 294, 295, 300, 301, 310, 311, 312, 319, 320, 324, 327, 332, 361, 364, 365, 383, 384, 386, 387, 388, 389, 390, 391, 77, 131, 5, 31, 216, 385, 216, 122, 122, 122, 149, 216, 385, 281, 282, 319, 327, 37, 147, 216, 309, 310, 312, 314, 315, 316, 318, 319, 327, 330, 331, 336, 120, 125, 146, 147, 216, 129, 131, 125, 129, 128, 119, 120, 211, 216, 129, 149, 216, 129, 131, 128, 120, 129, 131, 129, 128, 129, 147, 216, 319, 1, 31, 37, 38, 125, 145, 147, 213, 215, 216, 268, 278, 279, 281, 283, 312, 316, 319, 327, 330, 331, 332, 334, 342, 343, 344, 345, 37, 38, 147, 319, 344, 122, 133, 1, 29, 30, 31, 32, 33, 65, 116, 117, 123, 145, 216, 267, 271, 273, 274, 281, 283, 287, 288, 289, 295, 299, 307, 308, 348, 349, 350, 351, 352, 353, 327, 122, 312, 319, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 66, 85, 87, 100, 112, 113, 114, 115, 129, 149, 170, 171, 267, 272, 273, 281, 284, 288, 290, 298, 363, 366, 367, 368, 373, 374, 375, 31, 76, 131, 213, 215, 300, 364, 365, 383, 384, 391, 1, 213, 277, 294, 300, 332, 361, 387, 1, 386, 387, 0, 216, 385, 385, 5, 126, 385, 1, 4, 6, 8, 9, 65, 71, 72, 73, 84, 85, 98, 102, 103, 104, 105, 106, 107, 108, 109, 118, 119, 122, 124, 132, 133, 135, 136, 137, 138, 149, 175, 176, 216, 217, 218, 219, 220, 223, 224, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 385, 397, 398, 399, 400, 146, 216, 129, 149, 216, 281, 327, 133, 122, 133, 123, 307, 308, 352, 353, 327, 330, 331, 309, 314, 318, 319, 123, 319, 123, 319, 319, 85, 149, 201, 203, 205, 209, 210, 216, 228, 233, 249, 253, 299, 125, 120, 120, 125, 1, 68, 78, 80, 81, 88, 91, 92, 93, 94, 96, 98, 99, 122, 124, 125, 128, 150, 151, 152, 153, 154, 155, 156, 157, 172, 173, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 192, 196, 197, 198, 199, 216, 224, 247, 299, 311, 313, 319, 327, 332, 333, 362, 80, 81, 216, 267, 271, 281, 284, 287, 295, 302, 303, 1, 128, 198, 199, 147, 216, 1, 216, 269, 270, 1, 128, 270, 303, 65, 202, 204, 206, 207, 208, 216, 299, 1, 128, 198, 199, 303, 1, 128, 198, 199, 1, 128, 198, 199, 147, 216, 127, 127, 127, 129, 327, 312, 316, 319, 1, 126, 367, 374, 375, 367, 374, 375, 1, 125, 127, 127, 327, 125, 134, 146, 216, 242, 261, 265, 266, 127, 129, 149, 216, 128, 129, 128, 129, 319, 37, 122, 133, 135, 145, 147, 216, 267, 273, 281, 283, 288, 309, 310, 319, 325, 327, 328, 331, 1, 123, 127, 1, 123, 127, 1, 127, 1, 127, 123, 123, 312, 122, 312, 122, 122, 1, 125, 1, 128, 1, 37, 38, 125, 216, 267, 273, 281, 284, 288, 319, 344, 345, 1, 125, 1, 363, 366, 374, 375, 363, 366, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 85, 86, 88, 89, 90, 125, 131, 149, 193, 194, 195, 216, 224, 228, 243, 245, 249, 261, 262, 263, 324, 354, 355, 358, 359, 360, 367, 368, 369, 370, 371, 372, 374, 375, 377, 378, 379, 380, 381, 382, 128, 31, 216, 385, 216, 211, 212, 214, 215, 309, 310, 316, 319, 327, 332, 334, 367, 375, 213, 300, 126, 241, 242, 260, 123, 122, 228, 249, 122, 228, 249, 228, 249, 122, 216, 267, 273, 281, 284, 288, 306, 265, 122, 122, 306, 265, 122, 122, 122, 122, 122, 122, 228, 249, 123, 243, 245, 263, 273, 281, 283, 288, 296, 346, 385, 129, 134, 177, 178, 221, 225, 243, 129, 1, 128, 129, 216, 1, 7, 8, 9, 122, 130, 133, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 126, 244, 178, 221, 222, 230, 250, 119, 139, 140, 136, 137, 10, 11, 233, 253, 12, 13, 120, 121, 14, 15, 135, 141, 142, 16, 17, 143, 244, 123, 7, 8, 9, 122, 130, 133, 244, 119, 139, 140, 136, 137, 10, 11, 12, 13, 120, 121, 14, 15, 135, 141, 142, 16, 17, 143, 244, 123, 123, 107, 216, 299, 392, 395, 396, 129, 129, 134, 146, 265, 266, 134, 146, 265, 266, 123, 123, 123, 123, 309, 314, 318, 123, 123, 309, 11, 121, 127, 126, 122, 319, 327, 328, 65, 208, 216, 299, 208, 1, 216, 267, 281, 284, 295, 304, 299, 332, 333, 122, 149, 216, 216, 299, 1, 122, 304, 119, 122, 216, 299, 125, 324, 374, 375, 374, 375, 374, 125, 374, 375, 125, 1, 128, 1, 1, 125, 127, 127, 69, 70, 91, 95, 97, 128, 69, 70, 128, 125, 1, 196, 197, 1, 196, 197, 1, 126, 122, 131, 216, 285, 286, 309, 315, 317, 319, 327, 334, 335, 336, 1, 299, 307, 350, 327, 313, 319, 122, 131, 156, 157, 172, 173, 175, 176, 185, 216, 299, 120, 149, 216, 216, 267, 281, 284, 120, 120, 126, 127, 1, 125, 129, 28, 148, 216, 121, 127, 126, 216, 328, 330, 342, 342, 342, 125, 127, 128, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 221, 222, 224, 242, 261, 298, 339, 340, 309, 312, 314, 316, 318, 309, 316, 129, 243, 262, 337, 338, 374, 375, 374, 375, 342, 343, 342, 343, 134, 134, 134, 51, 348, 349, 1, 270, 129, 129, 1, 128, 198, 199, 1, 128, 198, 199, 129, 123, 216, 307, 308, 319, 327, 328, 352, 353, 134, 146, 265, 266, 319, 327, 331, 327, 122, 133, 325, 1, 1, 127, 1, 51, 216, 348, 349, 127, 1, 51, 216, 348, 349, 127, 1, 51, 216, 348, 349, 127, 51, 216, 348, 349, 3, 28, 44, 74, 75, 123, 321, 322, 323, 243, 146, 216, 128, 129, 125, 125, 131, 265, 266, 131, 122, 122, 1, 122, 52, 53, 54, 56, 57, 58, 59, 62, 86, 216, 263, 324, 354, 377, 381, 122, 216, 125, 125, 125, 221, 222, 245, 263, 122, 281, 122, 122, 189, 216, 125, 125, 125, 131, 130, 244, 1, 130, 125, 127, 245, 263, 244, 123, 127, 245, 1, 369, 370, 369, 370, 354, 355, 363, 366, 354, 355, 363, 366, 1, 1, 385, 385, 147, 216, 129, 129, 327, 316, 319, 367, 375, 367, 375, 375, 242, 143, 125, 143, 65, 145, 216, 273, 281, 283, 288, 297, 347, 216, 298, 120, 122, 133, 216, 267, 273, 281, 284, 288, 319, 326, 327, 329, 216, 267, 273, 281, 284, 288, 305, 245, 346, 374, 216, 133, 329, 305, 243, 385, 385, 385, 243, 347, 123, 216, 273, 281, 283, 288, 328, 123, 130, 1, 168, 169, 1, 128, 127, 134, 1, 168, 169, 128, 1, 168, 169, 1, 216, 123, 222, 225, 226, 262, 1, 216, 245, 263, 221, 243, 1, 230, 250, 230, 250, 230, 250, 231, 251, 231, 251, 232, 252, 232, 252, 233, 253, 233, 253, 233, 253, 221, 222, 235, 254, 221, 222, 235, 254, 221, 222, 236, 255, 221, 222, 237, 256, 221, 222, 238, 257, 239, 258, 240, 259, 131, 221, 222, 245, 246, 263, 264, 221, 243, 1, 216, 123, 225, 226, 1, 216, 245, 263, 221, 243, 230, 250, 230, 250, 230, 250, 231, 251, 231, 251, 232, 252, 232, 252, 233, 253, 233, 253, 233, 253, 233, 253, 221, 222, 235, 254, 221, 222, 235, 254, 221, 222, 236, 255, 221, 222, 237, 256, 221, 222, 238, 257, 239, 258, 240, 259, 131, 245, 246, 263, 264, 221, 243, 120, 121, 216, 393, 394, 216, 128, 392, 395, 396, 396, 134, 134, 134, 134, 134, 134, 209, 201, 203, 205, 216, 319, 327, 121, 126, 328, 121, 129, 120, 129, 216, 267, 281, 284, 328, 319, 327, 334, 335, 189, 286, 309, 319, 327, 129, 216, 129, 216, 328, 216, 319, 122, 125, 128, 179, 180, 179, 180, 374, 374, 374, 218, 374, 374, 1, 339, 340, 123, 265, 266, 129, 127, 1, 299, 307, 350, 327, 309, 317, 319, 131, 324, 216, 122, 313, 313, 216, 1, 1, 286, 210, 120, 208, 208, 265, 266, 269, 198, 199, 1, 128, 270, 126, 131, 126, 131, 207, 203, 216, 126, 216, 126, 374, 375, 1, 125, 127, 125, 127, 125, 160, 161, 164, 165, 166, 128, 158, 161, 125, 128, 160, 161, 164, 165, 166, 126, 37, 334, 335, 336, 337, 338, 341, 1, 128, 270, 1, 128, 270, 1, 128, 198, 199, 319, 327, 328, 123, 123, 123, 134, 134, 134, 327, 325, 123, 352, 353, 134, 146, 265, 266, 348, 349, 299, 348, 348, 348, 349, 123, 122, 123, 127, 322, 123, 123, 123, 1, 168, 169, 354, 355, 363, 366, 131, 131, 354, 355, 363, 366, 245, 263, 245, 263, 123, 245, 263, 131, 265, 266, 131, 122, 122, 354, 122, 222, 263, 122, 131, 56, 1, 123, 125, 216, 245, 263, 376, 125, 125, 125, 125, 125, 385, 122, 243, 243, 216, 354, 355, 363, 366, 90, 222, 262, 88, 89, 90, 243, 262, 222, 262, 243, 262, 120, 316, 375, 375, 125, 245, 246, 263, 264, 245, 246, 263, 264, 145, 146, 145, 273, 281, 283, 288, 328, 123, 123, 123, 328, 210, 123, 319, 329, 352, 353, 265, 266, 120, 327, 122, 326, 133, 120, 133, 216, 267, 273, 281, 284, 288, 329, 123, 123, 123, 123, 265, 266, 133, 133, 329, 127, 123, 127, 127, 127, 123, 230, 250, 385, 1, 128, 221, 243, 1, 1, 123, 127, 123, 134, 134, 1, 127, 131, 131, 127, 131, 131, 123, 134, 134, 131, 131, 131, 131, 216, 216, 125, 127, 216, 385, 128, 128, 319, 327, 203, 210, 120, 129, 129, 216, 327, 319, 123, 327, 309, 123, 129, 129, 216, 123, 1, 168, 169, 285, 319, 216, 122, 309, 317, 317, 265, 266, 122, 123, 121, 210, 121, 121, 125, 1, 125, 201, 200, 299, 201, 200, 205, 126, 129, 1, 162, 163, 1, 162, 163, 375, 1, 339, 340, 127, 128, 337, 338, 1, 125, 1, 125, 327, 325, 123, 123, 123, 134, 134, 134, 328, 331, 245, 123, 322, 1, 354, 355, 363, 366, 354, 355, 363, 366, 123, 123, 123, 123, 1, 354, 123, 245, 354, 355, 131, 131, 263, 123, 245, 263, 56, 263, 376, 385, 122, 354, 131, 125, 1, 125, 1, 123, 263, 376, 3, 123, 131, 385, 123, 123, 127, 122, 122, 189, 131, 131, 131, 131, 131, 131, 131, 131, 123, 123, 1, 123, 121, 319, 327, 329, 123, 123, 123, 134, 134, 210, 326, 123, 352, 353, 265, 266, 210, 265, 266, 120, 133, 122, 337, 134, 134, 265, 266, 265, 266, 133, 346, 216, 216, 243, 1, 222, 262, 221, 222, 221, 222, 242, 260, 221, 222, 242, 260, 221, 222, 221, 222, 242, 260, 221, 222, 242, 260, 221, 222, 242, 260, 221, 222, 242, 260, 221, 222, 242, 260, 221, 222, 242, 260, 393, 125, 125, 121, 210, 129, 374, 309, 126, 129, 1, 122, 131, 131, 121, 198, 199, 125, 198, 199, 126, 328, 126, 205, 341, 128, 337, 338, 1, 198, 199, 198, 199, 123, 354, 354, 354, 354, 354, 355, 123, 122, 376, 123, 245, 263, 245, 354, 1, 123, 245, 263, 133, 356, 357, 385, 125, 357, 3, 123, 131, 129, 189, 243, 243, 1, 1, 326, 123, 121, 123, 123, 134, 134, 121, 134, 134, 210, 265, 266, 346, 134, 134, 134, 134, 265, 266, 123, 123, 123, 123, 121, 339, 265, 266, 265, 266, 198, 199, 201, 201, 127, 128, 1, 64, 64, 245, 263, 123, 245, 263, 123, 125, 123, 125, 354, 355, 123, 354, 355, 216, 123, 127, 131, 122, 3, 123, 131, 357, 125, 357, 73, 189, 190, 191, 123, 123, 123, 127, 121, 134, 134, 123, 134, 134, 125, 128, 354, 354, 123, 123, 125, 354, 245, 354, 355, 134, 125, 356, 357, 243, 357, 125, 357, 123, 131, 3, 123, 131, 374, 374, 128, 190, 129, 189, 230, 250, 337, 123, 385, 123, 123, 123, 123, 131, 125, 357, 357, 125, 357, 191, 123, 354, 122, 125, 125, 125, 357, 123, 123, 123, 131, 128, 243, 123, 125, 125, 125, 357, 123, 125, 123, 125
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 * MkExpCast(struct TypeName * typeName, struct Expression * expression);
655 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
657 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
659 extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression);
661 extern struct Expression * MkExpDBOpen(struct Expression * ds, struct Expression * dbName);
663 extern struct Expression * MkExpDBField(char * table, struct Identifier * id);
665 extern struct Expression * MkExpDBIndex(char * table, struct Identifier * id);
667 extern struct Expression * MkExpDBTable(char * table);
671 extern void FreeDeclarator(struct Declarator * decl);
673 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
675 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
677 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
679 extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
681 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
683 extern struct Expression * MkExpClass(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
685 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
687 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
689 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
691 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
693 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
695 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
697 extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator);
699 extern struct TypeName * MkTypeNameGuessDecl(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
703 extern void FreeAttribute(struct Attribute * attr);
705 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
709 struct Attribute * prev;
710 struct Attribute * next;
713 struct Expression * exp;
718 extern void FreeInitializer(struct Initializer * initializer);
720 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
724 struct MemberInit * prev;
725 struct MemberInit * next;
727 struct Location realLoc;
728 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
729 struct Initializer * initializer;
731 unsigned int variable;
732 unsigned int takeOutExp;
737 struct Initializer * prev;
738 struct Initializer * next;
743 struct Expression * exp;
744 struct __ecereNameSpace__ecere__sys__OldList * list;
745 } ecere_gcc_struct __anon1;
746 unsigned int isConstant;
747 struct Identifier * id;
750 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
752 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
754 extern struct ClassDef * MkClassDefClassPropertyValue(struct Identifier * id, struct Initializer * initializer);
756 extern struct Expression * MkExpExtensionInitializer(struct TypeName * typeName, struct Initializer * initializer);
758 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
760 struct InitDeclarator;
762 extern void FreeInitDeclarator(struct InitDeclarator * decl);
764 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
766 struct InitDeclarator
768 struct InitDeclarator * prev;
769 struct InitDeclarator * next;
771 struct Declarator * declarator;
772 struct Initializer * initializer;
777 extern void FreeStatement(struct Statement * stmt);
779 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
783 struct Expression * prev;
784 struct Expression * next;
792 struct Identifier * identifier;
793 } ecere_gcc_struct __anon1;
794 struct Statement * compound;
795 struct Instantiation * instance;
799 unsigned int intlString;
800 unsigned int wideString;
801 } ecere_gcc_struct __anon2;
802 struct __ecereNameSpace__ecere__sys__OldList * list;
805 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
806 struct Declarator * decl;
807 } ecere_gcc_struct _classExp;
810 struct Identifier * id;
811 } ecere_gcc_struct classData;
814 struct Expression * exp;
815 struct __ecereNameSpace__ecere__sys__OldList * arguments;
816 struct Location argLoc;
817 } ecere_gcc_struct call;
820 struct Expression * exp;
821 struct __ecereNameSpace__ecere__sys__OldList * index;
822 } ecere_gcc_struct index;
825 struct Expression * exp;
826 struct Identifier * member;
828 unsigned int thisPtr;
829 } ecere_gcc_struct member;
833 struct Expression * exp1;
834 struct Expression * exp2;
835 } ecere_gcc_struct op;
836 struct TypeName * typeName;
837 struct Specifier * _class;
840 struct TypeName * typeName;
841 struct Expression * exp;
842 } ecere_gcc_struct cast;
845 struct Expression * cond;
846 struct __ecereNameSpace__ecere__sys__OldList * exp;
847 struct Expression * elseExp;
848 } ecere_gcc_struct cond;
851 struct TypeName * typeName;
852 struct Expression * size;
853 } ecere_gcc_struct _new;
856 struct TypeName * typeName;
857 struct Expression * size;
858 struct Expression * exp;
859 } ecere_gcc_struct _renew;
863 struct Identifier * id;
864 } ecere_gcc_struct db;
867 struct Expression * ds;
868 struct Expression * name;
869 } ecere_gcc_struct dbopen;
872 struct TypeName * typeName;
873 struct Initializer * initializer;
874 } ecere_gcc_struct initializer;
877 struct Expression * exp;
878 struct TypeName * typeName;
879 } ecere_gcc_struct vaArg;
880 } ecere_gcc_struct __anon1;
881 unsigned int debugValue;
882 struct __ecereNameSpace__ecere__com__DataValue val;
884 unsigned int hasAddress;
885 struct Type * expType;
886 struct Type * destType;
889 unsigned int byReference;
890 unsigned int isConstant;
891 unsigned int addedThis;
892 unsigned int needCast;
893 unsigned int thisPtr;
894 unsigned int opDestType;
895 unsigned int needTemplateCast;
898 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
900 extern struct PropertyWatch * MkPropertyWatch(struct __ecereNameSpace__ecere__sys__OldList * properties, struct Statement * compound);
902 extern struct PropertyWatch * MkDeleteWatch(struct Statement * compound);
904 extern struct Statement * MkWatchStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
906 extern struct Statement * MkStopWatchingStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
908 extern struct Statement * MkFireWatchersStmt(struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
910 extern struct Expression * MkExpExtensionCompound(struct Statement * compound);
912 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
914 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);
916 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
918 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
920 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
922 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
924 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
926 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
928 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
930 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
932 extern struct Statement * MkForEachStmt(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * exp, struct __ecereNameSpace__ecere__sys__OldList * filter, struct Statement * statement);
934 extern struct Statement * MkGotoStmt(struct Identifier * id);
936 extern struct Statement * MkContinueStmt(void);
938 extern struct Statement * MkBreakStmt(void);
940 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
944 extern void FreeDeclaration(struct Declaration * decl);
948 struct Statement * prev;
949 struct Statement * next;
954 struct __ecereNameSpace__ecere__sys__OldList * expressions;
957 struct Identifier * id;
958 struct Statement * stmt;
959 } ecere_gcc_struct labeled;
962 struct Expression * exp;
963 struct Statement * stmt;
964 } ecere_gcc_struct caseStmt;
967 struct __ecereNameSpace__ecere__sys__OldList * declarations;
968 struct __ecereNameSpace__ecere__sys__OldList * statements;
969 struct Context * context;
970 unsigned int isSwitch;
971 } ecere_gcc_struct compound;
974 struct __ecereNameSpace__ecere__sys__OldList * exp;
975 struct Statement * stmt;
976 struct Statement * elseStmt;
977 } ecere_gcc_struct ifStmt;
980 struct __ecereNameSpace__ecere__sys__OldList * exp;
981 struct Statement * stmt;
982 } ecere_gcc_struct switchStmt;
985 struct __ecereNameSpace__ecere__sys__OldList * exp;
986 struct Statement * stmt;
987 } ecere_gcc_struct whileStmt;
990 struct __ecereNameSpace__ecere__sys__OldList * exp;
991 struct Statement * stmt;
992 } ecere_gcc_struct doWhile;
995 struct Statement * init;
996 struct Statement * check;
997 struct __ecereNameSpace__ecere__sys__OldList * increment;
998 struct Statement * stmt;
999 } ecere_gcc_struct forStmt;
1002 struct Identifier * id;
1003 } ecere_gcc_struct gotoStmt;
1006 struct Specifier * spec;
1008 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
1009 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
1010 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
1011 } ecere_gcc_struct asmStmt;
1014 struct Expression * watcher;
1015 struct Expression * object;
1016 struct __ecereNameSpace__ecere__sys__OldList * watches;
1017 } ecere_gcc_struct _watch;
1020 struct Identifier * id;
1021 struct __ecereNameSpace__ecere__sys__OldList * exp;
1022 struct __ecereNameSpace__ecere__sys__OldList * filter;
1023 struct Statement * stmt;
1024 } ecere_gcc_struct forEachStmt;
1025 struct Declaration * decl;
1026 } ecere_gcc_struct __anon1;
1031 struct ClassDef * prev;
1032 struct ClassDef * next;
1033 struct Location loc;
1037 struct Declaration * decl;
1038 struct ClassFunction * function;
1039 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1040 struct PropertyDef * propertyDef;
1041 struct PropertyWatch * propertyWatch;
1043 struct Identifier * defaultProperty;
1046 struct Identifier * id;
1047 struct Initializer * initializer;
1048 } ecere_gcc_struct __anon1;
1049 } ecere_gcc_struct __anon1;
1054 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
1056 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
1058 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1060 extern struct ClassDef * MkClassDefClassData(struct Declaration * decl);
1062 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
1064 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
1066 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1068 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
1070 struct FunctionDefinition;
1072 extern void FreeFunction(struct FunctionDefinition * func);
1074 extern struct FunctionDefinition * MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList);
1076 extern void ProcessFunctionBody(struct FunctionDefinition * func, struct Statement * body);
1080 extern void FreeExternal(struct External * external);
1082 extern struct External * MkExternalFunction(struct FunctionDefinition * function);
1084 extern struct External * MkExternalClass(struct ClassDefinition * _class);
1086 extern struct External * MkExternalDeclaration(struct Declaration * declaration);
1088 extern struct External * MkExternalImport(char * name, int importType, int importAccess);
1090 extern struct External * MkExternalNameSpace(struct Identifier * identifier);
1094 extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name);
1098 struct Identifier * prev;
1099 struct Identifier * next;
1100 struct Location loc;
1101 struct Symbol * classSym;
1102 struct Specifier * _class;
1104 struct Identifier * badID;
1109 struct Specifier * prev;
1110 struct Specifier * next;
1111 struct Location loc;
1118 struct ExtDecl * extDecl;
1120 struct Symbol * symbol;
1121 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
1122 struct Specifier * nsSpec;
1123 } ecere_gcc_struct __anon1;
1126 struct Identifier * id;
1127 struct __ecereNameSpace__ecere__sys__OldList * list;
1128 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1129 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1130 unsigned int addNameSpace;
1131 struct Context * ctx;
1132 struct ExtDecl * extDeclStruct;
1133 } ecere_gcc_struct __anon2;
1134 struct Expression * expression;
1135 struct Specifier * _class;
1136 struct TemplateParameter * templateParameter;
1137 } ecere_gcc_struct __anon1;
1140 struct ClassFunction
1142 struct ClassFunction * prev;
1143 struct ClassFunction * next;
1144 struct Location loc;
1145 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1146 struct Declarator * declarator;
1147 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1148 struct Statement * body;
1149 struct __ecereNameSpace__ecere__com__Class * _class;
1150 struct __ecereNameSpace__ecere__sys__OldList attached;
1153 struct Symbol * propSet;
1154 unsigned int isVirtual;
1155 unsigned int isConstructor;
1156 unsigned int isDestructor;
1157 unsigned int dontMangle;
1164 struct Declarator * prev;
1165 struct Declarator * next;
1166 struct Location loc;
1168 struct Symbol * symbol;
1169 struct Declarator * declarator;
1172 struct Identifier * identifier;
1175 struct Expression * exp;
1176 struct Expression * posExp;
1177 struct Attrib * attrib;
1178 } ecere_gcc_struct structDecl;
1181 struct Expression * exp;
1182 struct Specifier * enumClass;
1183 } ecere_gcc_struct array;
1186 struct __ecereNameSpace__ecere__sys__OldList * parameters;
1187 } ecere_gcc_struct function;
1190 struct Pointer * pointer;
1191 } ecere_gcc_struct pointer;
1194 struct ExtDecl * extended;
1195 } ecere_gcc_struct extended;
1196 } ecere_gcc_struct __anon1;
1199 struct Instantiation
1201 struct Instantiation * prev;
1202 struct Instantiation * next;
1203 struct Location loc;
1204 struct Specifier * _class;
1205 struct Expression * exp;
1206 struct __ecereNameSpace__ecere__sys__OldList * members;
1207 struct Symbol * symbol;
1208 unsigned int fullSet;
1209 unsigned int isConstant;
1210 unsigned char * data;
1211 struct Location nameLoc;
1212 struct Location insideLoc;
1218 struct PropertyDef * prev;
1219 struct PropertyDef * next;
1220 struct Location loc;
1221 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1222 struct Declarator * declarator;
1223 struct Identifier * id;
1224 struct Statement * getStmt;
1225 struct Statement * setStmt;
1226 struct Statement * issetStmt;
1227 struct Symbol * symbol;
1228 struct Expression * category;
1231 unsigned int conversion : 1;
1232 unsigned int isWatchable : 1;
1233 unsigned int isDBProp : 1;
1234 } ecere_gcc_struct __anon1;
1239 struct Declaration * prev;
1240 struct Declaration * next;
1241 struct Location loc;
1247 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1248 struct __ecereNameSpace__ecere__sys__OldList * declarators;
1249 } ecere_gcc_struct __anon1;
1250 struct Instantiation * inst;
1253 struct Identifier * id;
1254 struct Expression * exp;
1255 } ecere_gcc_struct __anon2;
1256 } ecere_gcc_struct __anon1;
1257 struct Specifier * extStorage;
1258 struct Symbol * symbol;
1262 extern struct Symbol * DeclClassAddNameSpace(struct Specifier * _class, const char * className);
1264 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
1266 struct ClassDefinition
1268 struct ClassDefinition * prev;
1269 struct ClassDefinition * next;
1270 struct Location loc;
1271 struct Specifier * _class;
1272 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1273 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1274 struct Symbol * symbol;
1275 struct Location blockStart;
1276 struct Location nameLoc;
1278 unsigned int deleteWatchable;
1281 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1283 extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs);
1285 struct FunctionDefinition
1287 struct FunctionDefinition * prev;
1288 struct FunctionDefinition * next;
1289 struct Location loc;
1290 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1291 struct Declarator * declarator;
1292 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1293 struct Statement * body;
1294 struct __ecereNameSpace__ecere__com__Class * _class;
1295 struct __ecereNameSpace__ecere__sys__OldList attached;
1298 struct Symbol * propSet;
1300 unsigned int propertyNoThis;
1306 struct Symbol * symbol;
1307 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1313 struct External * prev;
1314 struct External * next;
1315 struct Location loc;
1317 struct Symbol * symbol;
1320 struct FunctionDefinition * function;
1321 struct ClassDefinition * _class;
1322 struct Declaration * declaration;
1323 char * importString;
1324 struct Identifier * id;
1325 struct DBTableDef * table;
1326 } ecere_gcc_struct __anon1;
1328 struct External * fwdDecl;
1329 struct __ecereNameSpace__ecere__com__Instance * outgoing;
1330 struct __ecereNameSpace__ecere__com__Instance * incoming;
1331 int nonBreakableIncoming;
1334 extern struct External * MkExternalDBTable(struct DBTableDef * table);
1336 extern struct DBTableDef * MkDBTableDef(char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1338 struct __ecereNameSpace__ecere__sys__BinaryTree;
1340 struct __ecereNameSpace__ecere__sys__BinaryTree
1342 struct __ecereNameSpace__ecere__sys__BTNode * root;
1344 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1345 void (* FreeKey)(void * key);
1348 struct __ecereNameSpace__ecere__com__Method;
1350 struct __ecereNameSpace__ecere__com__Method
1353 struct __ecereNameSpace__ecere__com__Method * parent;
1354 struct __ecereNameSpace__ecere__com__Method * left;
1355 struct __ecereNameSpace__ecere__com__Method * right;
1360 struct __ecereNameSpace__ecere__com__Class * _class;
1362 const char * dataTypeString;
1363 struct Type * dataType;
1370 struct Symbol * parent;
1371 struct Symbol * left;
1372 struct Symbol * right;
1377 struct __ecereNameSpace__ecere__com__Method * method;
1378 struct __ecereNameSpace__ecere__com__Property * _property;
1379 struct __ecereNameSpace__ecere__com__Class * registered;
1380 } ecere_gcc_struct __anon1;
1381 unsigned int notYetDeclared;
1386 struct External * pointerExternal;
1387 struct External * structExternal;
1388 } ecere_gcc_struct __anon1;
1391 struct External * externalGet;
1392 struct External * externalSet;
1393 struct External * externalPtr;
1394 struct External * externalIsSet;
1395 } ecere_gcc_struct __anon2;
1398 struct External * methodExternal;
1399 struct External * methodCodeExternal;
1400 } ecere_gcc_struct __anon3;
1401 } ecere_gcc_struct __anon2;
1402 unsigned int imported;
1403 unsigned int declaredStructSym;
1404 struct __ecereNameSpace__ecere__com__Class * _class;
1405 unsigned int declaredStruct;
1406 unsigned int needConstructor;
1407 unsigned int needDestructor;
1408 char * constructorName;
1411 char * destructorName;
1412 struct ModuleImport * module;
1413 struct ClassImport * _import;
1414 struct Location nameLoc;
1415 unsigned int isParam;
1416 unsigned int isRemote;
1417 unsigned int isStruct;
1418 unsigned int fireWatchersDone;
1420 unsigned int classData;
1421 unsigned int isStatic;
1423 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
1424 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
1425 struct Context * ctx;
1427 struct Expression * propCategory;
1428 unsigned int mustRegister;
1433 typedef union YYSTYPE
1438 struct Identifier * id;
1439 struct Expression * exp;
1440 struct Specifier * specifier;
1441 struct __ecereNameSpace__ecere__sys__OldList * list;
1442 struct Enumerator * enumerator;
1443 struct Declarator * declarator;
1444 struct Pointer * pointer;
1445 struct Initializer * initializer;
1446 struct InitDeclarator * initDeclarator;
1447 struct TypeName * typeName;
1448 struct Declaration * declaration;
1449 struct Statement * stmt;
1450 struct FunctionDefinition * function;
1451 struct External * external;
1452 struct Context * context;
1453 struct AsmField * asmField;
1454 struct Attrib * attrib;
1455 struct ExtDecl * extDecl;
1456 struct Attribute * attribute;
1457 struct Instantiation * instance;
1458 struct MembersInit * membersInit;
1459 struct MemberInit * memberInit;
1460 struct ClassFunction * classFunction;
1461 struct ClassDefinition * _class;
1462 struct ClassDef * classDef;
1463 struct PropertyDef * prop;
1465 struct Symbol * symbol;
1466 struct PropertyWatch * propertyWatch;
1467 struct TemplateParameter * templateParameter;
1468 struct TemplateArgument * templateArgument;
1469 struct TemplateDatatype * templateDatatype;
1470 struct DBTableEntry * dbtableEntry;
1471 struct DBIndexItem * dbindexItem;
1472 struct DBTableDef * dbtableDef;
1473 } ecere_gcc_struct YYSTYPE;
1475 extern YYSTYPE yylval;
1479 yytype_int16 yyss_alloc;
1481 struct Location yyls_alloc;
1484 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1488 ((void)(yylocationp));
1499 extern struct AsmField * MkAsmField(char * command, struct Expression * expression, struct Identifier * symbolic);
1503 struct AsmField * prev;
1504 struct AsmField * next;
1505 struct Location loc;
1507 struct Expression * expression;
1508 struct Identifier * symbolic;
1511 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1514 fprintf(yyoutput, "token %s (", yytname[yytype]);
1516 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1518 fprintf(yyoutput, ": ");
1519 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1520 fprintf(yyoutput, ")");
1523 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1525 int yynrhs = yyr2[yyrule];
1527 unsigned long int yylno = yyrline[yyrule];
1529 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1530 for(yyi = 0; yyi < yynrhs; yyi++)
1532 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1533 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1534 fprintf((bsl_stderr()), "\n");
1538 struct __ecereNameSpace__ecere__com__NameSpace;
1540 struct __ecereNameSpace__ecere__com__NameSpace
1543 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
1544 struct __ecereNameSpace__ecere__com__NameSpace * left;
1545 struct __ecereNameSpace__ecere__com__NameSpace * right;
1547 struct __ecereNameSpace__ecere__com__NameSpace * parent;
1548 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1549 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1550 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1551 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1554 struct __ecereNameSpace__ecere__com__Application
1557 const char * * argv;
1559 unsigned int isGUIApp;
1560 struct __ecereNameSpace__ecere__sys__OldList allModules;
1561 char * parsedCommand;
1562 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1565 struct __ecereNameSpace__ecere__com__DataMember;
1567 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1573 const char * dataTypeString;
1574 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1575 } ecere_gcc_struct __anon1;
1576 struct __ecereNameSpace__ecere__com__DataValue expression;
1579 const char * memberString;
1582 struct __ecereNameSpace__ecere__com__DataMember * member;
1583 struct __ecereNameSpace__ecere__com__Property * prop;
1584 struct __ecereNameSpace__ecere__com__Method * method;
1585 } ecere_gcc_struct __anon1;
1586 } ecere_gcc_struct __anon2;
1587 } ecere_gcc_struct __anon1;
1590 struct __ecereNameSpace__ecere__com__DataMember
1592 struct __ecereNameSpace__ecere__com__DataMember * prev;
1593 struct __ecereNameSpace__ecere__com__DataMember * next;
1595 unsigned int isProperty;
1598 struct __ecereNameSpace__ecere__com__Class * _class;
1599 const char * dataTypeString;
1600 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1601 struct Type * dataType;
1605 struct __ecereNameSpace__ecere__sys__OldList members;
1606 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1608 short structAlignment;
1609 short pointerAlignment;
1612 struct __ecereNameSpace__ecere__com__Module;
1614 struct __ecereNameSpace__ecere__com__Module
1616 struct __ecereNameSpace__ecere__com__Instance * application;
1617 struct __ecereNameSpace__ecere__sys__OldList classes;
1618 struct __ecereNameSpace__ecere__sys__OldList defines;
1619 struct __ecereNameSpace__ecere__sys__OldList functions;
1620 struct __ecereNameSpace__ecere__sys__OldList modules;
1621 struct __ecereNameSpace__ecere__com__Instance * prev;
1622 struct __ecereNameSpace__ecere__com__Instance * next;
1628 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1629 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1632 struct __ecereNameSpace__ecere__com__Class
1634 struct __ecereNameSpace__ecere__com__Class * prev;
1635 struct __ecereNameSpace__ecere__com__Class * next;
1641 unsigned int (* Constructor)(void * );
1642 void (* Destructor)(void * );
1645 struct __ecereNameSpace__ecere__com__Class * base;
1646 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1647 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1648 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1649 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1650 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1651 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1655 struct __ecereNameSpace__ecere__com__Instance * module;
1656 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
1657 const char * dataTypeString;
1658 struct Type * dataType;
1660 int defaultAlignment;
1661 void (* Initialize)();
1663 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1664 const char * designerClass;
1665 unsigned int noExpansion;
1666 const char * defaultProperty;
1667 unsigned int comRedefinition;
1670 unsigned int internalDecl;
1672 unsigned int computeSize;
1673 short structAlignment;
1674 short pointerAlignment;
1675 int destructionWatchOffset;
1677 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1678 int inheritanceAccess;
1679 const char * fullName;
1681 struct __ecereNameSpace__ecere__sys__OldList conversions;
1682 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1683 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1684 struct __ecereNameSpace__ecere__com__Class * templateClass;
1685 struct __ecereNameSpace__ecere__sys__OldList templatized;
1687 unsigned int isInstanceClass;
1688 unsigned int byValueSystemClass;
1691 void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1693 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1697 void __ecereUnregisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1702 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1704 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1706 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1709 ((void)(yylocationp));
1716 fprintf((bsl_stderr()), "%s ", yymsg);
1717 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1718 fprintf((bsl_stderr()), "\n");
1725 FreeSpecifier((*yyvaluep).specifier);
1731 FreeSpecifier((*yyvaluep).specifier);
1737 FreeSpecifier((*yyvaluep).specifier);
1743 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1749 FreeSpecifier((*yyvaluep).specifier);
1755 FreeClassFunction((*yyvaluep).classFunction);
1761 FreeClassFunction((*yyvaluep).classFunction);
1767 FreeClassFunction((*yyvaluep).classFunction);
1773 FreeClassFunction((*yyvaluep).classFunction);
1779 FreeClassFunction((*yyvaluep).classFunction);
1785 FreeClassFunction((*yyvaluep).classFunction);
1791 FreeClassFunction((*yyvaluep).classFunction);
1797 FreeClassFunction((*yyvaluep).classFunction);
1803 FreeClassFunction((*yyvaluep).classFunction);
1809 FreeClassFunction((*yyvaluep).classFunction);
1815 FreeClassFunction((*yyvaluep).classFunction);
1821 FreeClassFunction((*yyvaluep).classFunction);
1827 FreeMemberInit((*yyvaluep).memberInit);
1833 FreeMemberInit((*yyvaluep).memberInit);
1839 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1845 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1851 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1857 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1863 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1869 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1875 FreeInstance((*yyvaluep).instance);
1881 FreeInstance((*yyvaluep).instance);
1887 FreeInstance((*yyvaluep).instance);
1893 FreeInstance((*yyvaluep).instance);
1899 FreeMemberInit((*yyvaluep).memberInit);
1905 FreeMemberInit((*yyvaluep).memberInit);
1911 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1917 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1923 FreeProperty((*yyvaluep).prop);
1929 FreeClassDef((*yyvaluep).classDef);
1935 FreeClassDef((*yyvaluep).classDef);
1941 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1947 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1953 FreeTemplateDataType((*yyvaluep).templateDatatype);
1959 FreeTemplateArgument((*yyvaluep).templateArgument);
1965 FreeTemplateParameter((*yyvaluep).templateParameter);
1971 FreeTemplateArgument((*yyvaluep).templateArgument);
1977 FreeTemplateParameter((*yyvaluep).templateParameter);
1983 FreeTemplateArgument((*yyvaluep).templateArgument);
1989 FreeTemplateParameter((*yyvaluep).templateParameter);
1995 FreeTemplateParameter((*yyvaluep).templateParameter);
2001 FreeList((*yyvaluep).list, (void *)(FreeTemplateParameter));
2007 FreeTemplateArgument((*yyvaluep).templateArgument);
2013 FreeList((*yyvaluep).list, (void *)(FreeTemplateArgument));
2019 struct Context * ctx = curContext;
2023 ((ctx ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)ctx) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(ctx)) : 0), ctx = 0);
2029 struct Context * ctx = curContext;
2033 ((ctx ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)ctx) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(ctx)) : 0), ctx = 0);
2039 FreeClass((*yyvaluep)._class);
2045 FreeClass((*yyvaluep)._class);
2051 FreeClass((*yyvaluep)._class);
2057 FreeIdentifier((*yyvaluep).id);
2063 FreeExpression((*yyvaluep).exp);
2069 FreeExpression((*yyvaluep).exp);
2075 FreeExpression((*yyvaluep).exp);
2081 FreeExpression((*yyvaluep).exp);
2087 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2093 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2099 FreeExpression((*yyvaluep).exp);
2105 FreeExpression((*yyvaluep).exp);
2111 FreeExpression((*yyvaluep).exp);
2117 FreeExpression((*yyvaluep).exp);
2123 FreeExpression((*yyvaluep).exp);
2129 FreeExpression((*yyvaluep).exp);
2135 FreeExpression((*yyvaluep).exp);
2141 FreeExpression((*yyvaluep).exp);
2147 FreeExpression((*yyvaluep).exp);
2153 FreeExpression((*yyvaluep).exp);
2159 FreeExpression((*yyvaluep).exp);
2165 FreeExpression((*yyvaluep).exp);
2171 FreeExpression((*yyvaluep).exp);
2177 FreeExpression((*yyvaluep).exp);
2183 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2189 FreeExpression((*yyvaluep).exp);
2195 FreeExpression((*yyvaluep).exp);
2201 FreeExpression((*yyvaluep).exp);
2207 FreeExpression((*yyvaluep).exp);
2213 FreeExpression((*yyvaluep).exp);
2219 FreeExpression((*yyvaluep).exp);
2225 FreeExpression((*yyvaluep).exp);
2231 FreeExpression((*yyvaluep).exp);
2237 FreeExpression((*yyvaluep).exp);
2243 FreeExpression((*yyvaluep).exp);
2249 FreeExpression((*yyvaluep).exp);
2255 FreeExpression((*yyvaluep).exp);
2261 FreeExpression((*yyvaluep).exp);
2267 FreeExpression((*yyvaluep).exp);
2273 FreeExpression((*yyvaluep).exp);
2279 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2285 FreeExpression((*yyvaluep).exp);
2291 FreeExpression((*yyvaluep).exp);
2297 FreeSpecifier((*yyvaluep).specifier);
2303 FreeSpecifier((*yyvaluep).specifier);
2309 FreeEnumerator((*yyvaluep).enumerator);
2315 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
2321 FreeSpecifier((*yyvaluep).specifier);
2327 FreeSpecifier((*yyvaluep).specifier);
2333 FreeSpecifier((*yyvaluep).specifier);
2339 FreeSpecifier((*yyvaluep).specifier);
2345 FreeSpecifier((*yyvaluep).specifier);
2351 FreeSpecifier((*yyvaluep).specifier);
2357 FreeSpecifier((*yyvaluep).specifier);
2363 FreeSpecifier((*yyvaluep).specifier);
2369 FreeSpecifier((*yyvaluep).specifier);
2375 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2381 FreeSpecifier((*yyvaluep).specifier);
2387 FreeSpecifier((*yyvaluep).specifier);
2393 FreeDeclarator((*yyvaluep).declarator);
2399 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
2405 FreeSpecifier((*yyvaluep).specifier);
2411 FreeSpecifier((*yyvaluep).specifier);
2417 FreeSpecifier((*yyvaluep).specifier);
2423 FreeSpecifier((*yyvaluep).specifier);
2429 FreeSpecifier((*yyvaluep).specifier);
2435 FreeSpecifier((*yyvaluep).specifier);
2441 FreeSpecifier((*yyvaluep).specifier);
2447 FreeSpecifier((*yyvaluep).specifier);
2453 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2459 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2465 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2471 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2477 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2483 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2489 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2495 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2501 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2507 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2513 FreeDeclarator((*yyvaluep).declarator);
2519 FreeDeclarator((*yyvaluep).declarator);
2525 FreeDeclarator((*yyvaluep).declarator);
2531 FreeDeclarator((*yyvaluep).declarator);
2537 FreeDeclarator((*yyvaluep).declarator);
2543 FreeDeclarator((*yyvaluep).declarator);
2549 FreeDeclarator((*yyvaluep).declarator);
2555 FreeDeclarator((*yyvaluep).declarator);
2561 FreeDeclarator((*yyvaluep).declarator);
2567 FreeDeclarator((*yyvaluep).declarator);
2573 FreeExtDecl((*yyvaluep).extDecl);
2579 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2585 FreeAttribute((*yyvaluep).attribute);
2591 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
2597 FreeAttrib((*yyvaluep).attrib);
2603 FreeDeclarator((*yyvaluep).declarator);
2609 FreeDeclarator((*yyvaluep).declarator);
2615 FreePointer((*yyvaluep).pointer);
2621 FreeDeclarator((*yyvaluep).declarator);
2627 FreeDeclarator((*yyvaluep).declarator);
2633 FreeDeclarator((*yyvaluep).declarator);
2639 FreeDeclarator((*yyvaluep).declarator);
2645 FreeDeclarator((*yyvaluep).declarator);
2651 FreeDeclarator((*yyvaluep).declarator);
2657 FreeDeclarator((*yyvaluep).declarator);
2663 FreeDeclarator((*yyvaluep).declarator);
2669 FreeDeclarator((*yyvaluep).declarator);
2675 FreeInitializer((*yyvaluep).initializer);
2681 FreeInitializer((*yyvaluep).initializer);
2687 FreeInitializer((*yyvaluep).initializer);
2693 FreeInitializer((*yyvaluep).initializer);
2699 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
2705 FreeInitDeclarator((*yyvaluep).initDeclarator);
2711 FreeInitDeclarator((*yyvaluep).initDeclarator);
2717 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2723 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2729 FreeTypeName((*yyvaluep).typeName);
2735 FreeTypeName((*yyvaluep).typeName);
2741 FreeTypeName((*yyvaluep).typeName);
2747 FreeTypeName((*yyvaluep).typeName);
2753 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2759 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2765 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2771 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2777 FreeStatement((*yyvaluep).stmt);
2783 FreeStatement((*yyvaluep).stmt);
2789 FreeStatement((*yyvaluep).stmt);
2795 FreeStatement((*yyvaluep).stmt);
2806 FreeDeclaration((*yyvaluep).declaration);
2812 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2818 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2824 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2830 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2836 FreeStatement((*yyvaluep).stmt);
2842 FreeStatement((*yyvaluep).stmt);
2848 PopContext((*yyvaluep).context);
2849 FreeContext((*yyvaluep).context);
2850 (((*yyvaluep).context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)(*yyvaluep).context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).context)) : 0), (*yyvaluep).context = 0);
2856 FreeStatement((*yyvaluep).stmt);
2862 FreeStatement((*yyvaluep).stmt);
2868 FreeStatement((*yyvaluep).stmt);
2874 FreeStatement((*yyvaluep).stmt);
2880 FreeStatement((*yyvaluep).stmt);
2886 FreeStatement((*yyvaluep).stmt);
2892 FreeStatement((*yyvaluep).stmt);
2898 FreeStatement((*yyvaluep).stmt);
2904 FreeStatement((*yyvaluep).stmt);
2910 FreeFunction((*yyvaluep).function);
2916 FreeFunction((*yyvaluep).function);
2922 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2928 FreeExternal((*yyvaluep).external);
2934 FreeExternal((*yyvaluep).external);
2940 if((*yyvaluep).list != ast)
2941 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2947 if((*yyvaluep).list != ast)
2948 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2961 yytype_int16 yyssa[200];
2962 yytype_int16 * yyss;
2963 yytype_int16 * yyssp;
2967 struct Location yylsa[200];
2968 struct Location * yyls;
2969 struct Location * yylsp;
2970 struct Location yyerror_range[2];
2976 struct Location yyloc;
2987 fprintf((bsl_stderr()), "Starting parse\n");
3001 if(yyss + yystacksize - 1 <= yyssp)
3003 size_t yysize = yyssp - yyss + 1;
3005 if(10000 <= yystacksize)
3006 goto yyexhaustedlab;
3008 if(10000 < yystacksize)
3009 yystacksize = 10000;
3011 yytype_int16 * yyss1 = yyss;
3012 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
3015 goto yyexhaustedlab;
3020 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
3021 yyss = &(*yyptr).yyss_alloc;
3022 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
3023 yyptr += yynewbytes / sizeof (*yyptr);
3029 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
3030 yyvs = &(*yyptr).yyvs_alloc;
3031 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
3032 yyptr += yynewbytes / sizeof (*yyptr);
3038 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
3039 yyls = &(*yyptr).yyls_alloc;
3040 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
3041 yyptr += yynewbytes / sizeof (*yyptr);
3046 yyssp = yyss + yysize - 1;
3047 yyvsp = yyvs + yysize - 1;
3048 yylsp = yyls + yysize - 1;
3052 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
3054 if(yyss + yystacksize - 1 <= yyssp)
3060 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
3066 yyn = yypact[yystate];
3074 fprintf((bsl_stderr()), "Reading a token: ");
3080 yychar = yytoken = 0;
3084 fprintf((bsl_stderr()), "Now at end of input.\n");
3089 yytoken = ((unsigned int)(yychar) <= 373 ? yytranslate[yychar] : 2);
3094 fprintf((bsl_stderr()), "%s ", "Next token is");
3095 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3096 fprintf((bsl_stderr()), "\n");
3101 if(yyn < 0 || 41266 < yyn || yycheck[yyn] != yytoken)
3106 if(yyn == 0 || yyn == -1289)
3117 fprintf((bsl_stderr()), "%s ", "Shifting");
3118 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3119 fprintf((bsl_stderr()), "\n");
3128 yyn = yydefact[yystate];
3134 yyval = yyvsp[1 - yylen];
3135 (yyloc.start = ((yylsp - yylen))[1].start);
3136 (yyloc.end = ((yylsp - yylen))[yylen].end);
3141 yy_reduce_print(yyvsp, yylsp, yyn);
3147 yyval.specifier = (((void *)0));
3148 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3149 FreeIdentifier(yyvsp[(1) - (2)].id);
3150 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3151 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3153 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3154 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
3155 resetScannerPos(&(yylsp[(1) - (2)]).start);
3157 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3162 yy_stack_print((yyss), (yyssp));
3164 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3169 yy_stack_print((yyss), (yyssp));
3177 yyval.specifier = (((void *)0));
3178 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3179 FreeIdentifier(yyvsp[(1) - (2)].id);
3180 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3181 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3183 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3184 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
3185 resetScannerPos(&(yylsp[(1) - (2)]).start);
3187 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3192 yy_stack_print((yyss), (yyssp));
3194 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3199 yy_stack_print((yyss), (yyssp));
3207 yyval.specifier = yyvsp[(1) - (1)].specifier;
3213 if(!yyvsp[(1) - (2)].id->string[0])
3215 yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string);
3216 FreeIdentifier(yyvsp[(1) - (2)].id);
3217 FreeIdentifier(yyvsp[(2) - (2)].id);
3221 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3222 FreeIdentifier(yyvsp[(1) - (2)].id);
3223 FreeIdentifier(yyvsp[(2) - (2)].id);
3224 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3225 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3227 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3228 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
3229 resetScannerPos(&(yylsp[(1) - (2)]).start);
3231 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3236 yy_stack_print((yyss), (yyssp));
3238 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3243 yy_stack_print((yyss), (yyssp));
3252 yyval.specifier = MkSpecifierName(yytext);
3258 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3264 yyval.specifier = yyvsp[(1) - (4)].specifier;
3265 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3266 yyval.specifier->loc = (yyloc);
3272 yyval.specifier = yyvsp[(1) - (4)].specifier;
3273 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3274 yyval.specifier->loc = (yyloc);
3275 (yylsp[(4) - (4)]).end.pos--;
3276 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3277 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3279 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3280 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(4) - (4)]).end.pos, 0);
3281 resetScannerPos(&(yylsp[(4) - (4)]).end);
3288 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3289 yyval.classFunction->loc = (yyloc);
3295 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3296 yyval.classFunction->loc = (yyloc);
3302 yyval.classFunction = MkClassFunction(yyvsp[(1) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3303 yyval.classFunction->isConstructor = 1;
3304 yyval.classFunction->loc = (yyloc);
3310 yyval.classFunction = MkClassFunction(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3311 yyval.classFunction->isDestructor = 1;
3312 yyval.classFunction->loc = (yyloc);
3318 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3319 yyval.classFunction->isVirtual = 1;
3320 yyval.classFunction->loc = (yyloc);
3326 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3327 yyval.classFunction->isVirtual = 1;
3328 yyval.classFunction->loc = (yyloc);
3334 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3335 yyval.classFunction->loc = (yyloc);
3341 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3342 yyval.classFunction->loc = (yyloc);
3348 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3349 yyval.classFunction->isVirtual = 1;
3350 yyval.classFunction->loc = (yyloc);
3356 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3357 yyval.classFunction->isVirtual = 1;
3358 yyval.classFunction->loc = (yyloc);
3364 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3365 yyval.classFunction->loc = (yyloc);
3371 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3372 yyval.classFunction->loc = (yyloc);
3378 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3379 yyval.classFunction->loc = (yyloc);
3385 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3386 yyval.classFunction->loc = (yyloc);
3392 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3393 yyval.classFunction->loc = (yyloc);
3399 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3400 yyval.classFunction->loc = (yyloc);
3406 if(yyvsp[(1) - (3)].classFunction->declarator)
3408 yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0)));
3409 yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib;
3411 ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0)));
3412 yyval.classFunction->loc = (yyloc);
3418 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3419 yyval.classFunction->loc = (yyloc);
3420 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3426 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3427 yyval.classFunction->loc = (yyloc);
3428 yyval.classFunction->loc.end.charPos++;
3429 yyval.classFunction->loc.end.pos++;
3435 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3436 yyval.classFunction->loc = (yyloc);
3437 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3443 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3444 yyval.classFunction->loc = (yyloc);
3445 yyval.classFunction->loc.end.charPos++;
3446 yyval.classFunction->loc.end.pos++;
3452 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3453 yyval.classFunction->loc = (yyloc);
3454 yyval.classFunction->loc.end.charPos++;
3455 yyval.classFunction->loc.end.pos++;
3461 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3462 yyval.classFunction->loc = (yyloc);
3468 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), MkDeclaratorFunction(yyvsp[(2) - (2)].declarator, (((void *)0))), (((void *)0)));
3469 yyval.classFunction->loc = (yyloc);
3475 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3476 yyval.classFunction->loc = (yyloc);
3482 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3483 yyval.classFunction->loc = (yyloc);
3489 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3490 yyval.classFunction->loc = (yyloc);
3491 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3492 yyval.classFunction->loc.end.charPos++;
3493 yyval.classFunction->loc.end.pos++;
3499 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3500 yyval.classFunction->loc = (yyloc);
3501 yyval.classFunction->loc.end.charPos++;
3502 yyval.classFunction->loc.end.pos++;
3508 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3509 yyval.classFunction->loc = (yyloc);
3510 yyval.classFunction->loc.end.charPos++;
3511 yyval.classFunction->loc.end.pos++;
3517 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3518 yyval.memberInit->loc = (yyloc);
3519 yyval.memberInit->realLoc = (yyloc);
3520 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3526 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3527 yyval.memberInit->loc = (yyloc);
3528 yyval.memberInit->realLoc = (yyloc);
3534 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3535 yyval.memberInit->loc = (yyloc);
3536 yyval.memberInit->realLoc = (yyloc);
3537 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3543 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
3544 yyval.memberInit->loc = (yyloc);
3545 yyval.memberInit->realLoc = (yyloc);
3546 yyval.memberInit->initializer->loc.start = yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
3547 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3548 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3550 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3551 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(2) - (3)]).end.pos, 0);
3553 resetScannerPos(&(yylsp[(2) - (3)]).end);
3554 (yyloc.start = (yylsp[(1) - (3)]).start);
3555 (yyloc.end = (yylsp[(2) - (3)]).end);
3561 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3562 yyval.memberInit->loc = (yyloc);
3563 yyval.memberInit->realLoc = (yyloc);
3569 yyval.list = MkList();
3570 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3576 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3577 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3578 yyval.list = yyvsp[(1) - (3)].list;
3584 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3585 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3586 yyval.list = yyvsp[(1) - (3)].list;
3592 yyval.list = MkList();
3593 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3599 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3600 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3601 yyval.list = yyvsp[(1) - (3)].list;
3607 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3608 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3609 yyval.list = yyvsp[(1) - (3)].list;
3615 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3617 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3618 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3620 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3621 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3622 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3624 yyval.list = yyvsp[(1) - (3)].list;
3630 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3632 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3633 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3635 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3636 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3637 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3639 yyval.list = yyvsp[(1) - (3)].list;
3645 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3646 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3648 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).start;
3649 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).start;
3650 yyval.list = MkList();
3651 ListAdd(yyval.list, memberInit);
3652 dummy = MkInitializerAssignment(MkExpDummy());
3653 memberInit = MkMemberInit((((void *)0)), dummy);
3654 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).end;
3655 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).end;
3656 ListAdd(yyval.list, memberInit);
3662 if((*yyvsp[(1) - (2)].list).last)
3663 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3664 yyval.list = yyvsp[(1) - (2)].list;
3670 if((*yyvsp[(1) - (2)].list).last)
3671 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3672 yyval.list = yyvsp[(1) - (2)].list;
3678 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
3680 yyval.list = MkList();
3681 ListAdd(yyval.list, members);
3682 members->loc = (yylsp[(1) - (1)]);
3688 yyval.list = MkList();
3689 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3690 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3696 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3698 ListAdd(yyval.list, members);
3699 members->loc = (yylsp[(2) - (2)]);
3700 yyval.list = yyvsp[(1) - (2)].list;
3706 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3707 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3708 yyval.list = yyvsp[(1) - (2)].list;
3714 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3716 ListAdd(yyval.list, members);
3717 members->loc = (yylsp[(2) - (2)]);
3718 yyval.list = yyvsp[(1) - (2)].list;
3724 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3725 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3726 yyval.list = yyvsp[(1) - (2)].list;
3732 struct MembersInit * members = (struct MembersInit *)(*yyval.list).last;
3734 if(members->type == 0)
3735 (members->loc.end = yyloc.end);
3738 struct MembersInit * members = MkMembersInitList(MkList());
3740 ListAdd(yyval.list, members);
3741 members->loc = (yylsp[(2) - (2)]);
3743 yyval.list = yyvsp[(1) - (2)].list;
3749 struct MembersInit * members = MkMembersInitList(MkList());
3751 yyval.list = MkList();
3752 ListAdd(yyval.list, members);
3753 members->loc = (yylsp[(1) - (1)]);
3759 yyval.list = MkList();
3760 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3761 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3767 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3768 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3774 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3775 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3781 yyval.list = MkList();
3782 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3783 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3789 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3790 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3791 yyval.list = yyvsp[(1) - (2)].list;
3797 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3798 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3799 yyval.list = yyvsp[(1) - (2)].list;
3805 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3806 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3807 yyval.list = yyvsp[(1) - (2)].list;
3813 ListAdd(yyval.list, MkMembersInitList(yyvsp[(2) - (2)].list));
3814 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3815 yyval.list = yyvsp[(1) - (2)].list;
3821 yyval.list = MkList();
3822 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3823 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3829 yyval.list = MkList();
3830 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (2)].list));
3831 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3837 yyval.instance->loc = (yyloc);
3838 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3839 yyval.instance = yyvsp[(1) - (2)].instance;
3845 yyval.instance->loc = (yyloc);
3846 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3847 yyval.instance = yyvsp[(1) - (3)].instance;
3853 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3854 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3855 yyval.instance->loc = (yyloc);
3856 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3857 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3858 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3859 yyval.instance->loc.end.charPos++;
3860 yyval.instance->loc.end.pos++;
3866 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3867 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3868 yyval.instance->loc = (yyloc);
3869 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3870 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3871 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3872 yyval.instance->loc.end.charPos++;
3873 yyval.instance->loc.end.pos++;
3879 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3880 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3881 yyval.instance->loc = (yyloc);
3882 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3883 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3884 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3885 yyval.instance->loc.end.charPos++;
3886 yyval.instance->loc.end.pos++;
3892 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
3893 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
3894 yyval.instance->loc = (yyloc);
3895 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
3896 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
3897 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
3898 yyval.instance->loc.end.charPos++;
3899 yyval.instance->loc.end.pos++;
3905 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
3906 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3907 yyval.instance->loc = (yyloc);
3908 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3909 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3910 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
3911 yyval.instance->loc.end.charPos++;
3912 yyval.instance->loc.end.pos++;
3918 yyval.instance->loc = (yyloc);
3919 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3925 yyval.instance->loc = (yyloc);
3926 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3932 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3933 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3934 yyval.instance->loc = (yyloc);
3935 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3936 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3937 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3938 yyval.instance->loc.end.charPos++;
3939 yyval.instance->loc.end.pos++;
3945 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3946 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3947 yyval.instance->loc = (yyloc);
3948 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3949 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3950 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3951 yyval.instance->loc.end.charPos++;
3952 yyval.instance->loc.end.pos++;
3958 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3959 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3960 yyval.instance->loc = (yyloc);
3961 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3962 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3963 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3964 yyval.instance->loc.end.charPos++;
3965 yyval.instance->loc.end.pos++;
3971 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
3972 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
3973 yyval.instance->loc = (yyloc);
3974 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
3975 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
3976 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
3977 yyval.instance->loc.end.charPos++;
3978 yyval.instance->loc.end.pos++;
3984 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
3985 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3986 yyval.instance->loc = (yyloc);
3987 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3988 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3989 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
3990 yyval.instance->loc.end.charPos++;
3991 yyval.instance->loc.end.pos++;
3997 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3998 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3999 yyval.instance->loc = (yyloc);
4000 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4001 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4002 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4008 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4009 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4010 yyval.instance->loc = (yyloc);
4011 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4012 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4013 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4019 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
4020 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4021 yyval.instance->loc = (yyloc);
4022 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4023 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4024 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4030 yyval.instance->loc = (yyloc);
4031 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4032 yyval.instance = yyvsp[(1) - (2)].instance;
4038 yyval.instance->loc = (yyloc);
4039 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4040 yyval.instance = yyvsp[(1) - (3)].instance;
4046 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4047 yyval.instance->loc = (yyloc);
4048 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4049 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4050 yyval.instance->loc.end.charPos++;
4051 yyval.instance->loc.end.pos++;
4057 struct Location tmpLoc = yylloc;
4059 yylloc = (yylsp[(1) - (3)]);
4061 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4062 yyval.instance->loc = (yyloc);
4063 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4064 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4065 FreeIdentifier(yyvsp[(1) - (3)].id);
4071 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4072 yyval.instance->loc = (yyloc);
4073 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4074 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4075 yyval.instance->loc.end.charPos++;
4076 yyval.instance->loc.end.pos++;
4082 yyval.instance = MkInstantiation(yyvsp[(1) - (2)].specifier, (((void *)0)), (((void *)0)));
4083 yyval.instance->loc = (yyloc);
4084 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4085 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4086 yyval.instance->loc.end.charPos++;
4087 yyval.instance->loc.end.pos++;
4093 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
4094 yyval.instance->loc = (yyloc);
4095 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4096 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4097 yyval.instance->loc.end.charPos++;
4098 yyval.instance->loc.end.pos++;
4104 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), (((void *)0)));
4105 yyval.instance->loc = (yyloc);
4106 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4107 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4108 yyval.instance->loc.end.charPos++;
4109 yyval.instance->loc.end.pos++;
4115 struct Location tmpLoc = yylloc;
4117 yylloc = (yylsp[(1) - (3)]);
4119 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4120 yyval.instance->loc = (yyloc);
4121 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4122 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4123 yyval.instance->loc.end.charPos++;
4124 yyval.instance->loc.end.pos++;
4125 FreeIdentifier(yyvsp[(1) - (3)].id);
4131 struct Location tmpLoc = yylloc;
4133 yylloc = (yylsp[(1) - (2)]);
4135 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (2)].id->string), (((void *)0)), (((void *)0)));
4136 yyval.instance->loc = (yyloc);
4137 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4138 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4139 yyval.instance->loc.end.charPos++;
4140 yyval.instance->loc.end.pos++;
4141 FreeIdentifier(yyvsp[(1) - (2)].id);
4147 struct Location tmpLoc = yylloc;
4149 yylloc = (yylsp[(1) - (4)]);
4151 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
4152 yyval.instance->loc = (yyloc);
4153 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4154 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4155 yyval.instance->loc.end.charPos++;
4156 yyval.instance->loc.end.pos++;
4157 FreeIdentifier(yyvsp[(1) - (4)].id);
4163 struct Location tmpLoc = yylloc;
4165 yylloc = (yylsp[(1) - (3)]);
4167 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), (((void *)0)));
4168 yyval.instance->loc = (yyloc);
4169 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4170 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4171 yyval.instance->loc.end.charPos++;
4172 yyval.instance->loc.end.pos++;
4173 FreeIdentifier(yyvsp[(1) - (3)].id);
4179 yyval.instance->loc = (yyloc);
4180 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4186 yyval.instance->loc = (yyloc);
4187 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4193 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4194 yyval.instance->loc = (yyloc);
4195 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4196 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4197 yyval.instance->loc.end.charPos++;
4198 yyval.instance->loc.end.pos++;
4204 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
4205 yyval.instance->loc = (yyloc);
4206 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
4207 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4208 yyval.instance->loc.end.charPos++;
4209 yyval.instance->loc.end.pos++;
4215 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4216 yyval.instance->loc = (yyloc);
4217 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4218 yyval.instance->insideLoc.end = (yylsp[(1) - (2)]).end;
4219 yyval.instance->loc.end.charPos++;
4220 yyval.instance->loc.end.pos++;
4226 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4227 yyval.instance->loc = (yyloc);
4228 yyval.instance->insideLoc.start = (yylsp[(1) - (1)]).end;
4229 yyval.instance->insideLoc.end = (yylsp[(1) - (1)]).end;
4230 yyval.instance->loc.end.charPos++;
4231 yyval.instance->loc.end.pos++;
4237 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4238 yyval.instance->loc = (yyloc);
4239 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4240 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4241 yyval.instance->loc.end.charPos++;
4242 yyval.instance->loc.end.pos++;
4248 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4249 yyval.memberInit->loc = (yyloc);
4250 yyval.memberInit->realLoc = (yyloc);
4256 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4257 yyval.memberInit->loc = (yyloc);
4258 yyval.memberInit->realLoc = (yyloc);
4259 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4265 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
4266 yyval.memberInit->loc = (yyloc);
4267 yyval.memberInit->realLoc = (yyloc);
4268 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4269 yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
4275 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (2)].exp, (((void *)0)));
4276 yyval.memberInit->loc = (yyloc);
4277 yyval.memberInit->realLoc = (yyloc);
4283 yyval.list = MkList();
4284 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4285 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4291 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4292 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4293 yyval.list = yyvsp[(1) - (3)].list;
4299 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4300 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4301 yyval.list = yyvsp[(1) - (3)].list;
4307 yyval.list = MkList();
4308 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4309 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4315 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4316 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4317 yyval.list = yyvsp[(1) - (3)].list;
4323 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4324 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4325 yyval.list = yyvsp[(1) - (3)].list;
4331 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4332 yyval.prop->loc = (yyloc);
4338 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4339 yyval.prop->loc = (yyloc);
4345 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4346 yyval.prop->loc = (yyloc);
4352 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4353 yyval.prop->loc = (yyloc);
4359 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4360 yyval.prop->loc = (yyloc);
4366 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4372 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4378 yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt;
4384 yyvsp[(1) - (2)].prop->__anon1.isWatchable = 1;
4390 yyvsp[(1) - (3)].prop->category = yyvsp[(3) - (3)].exp;
4396 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4397 yyval.prop = yyvsp[(1) - (2)].prop;
4403 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4404 yyval.prop->loc = (yyloc);
4410 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4411 yyval.prop->loc = (yyloc);
4417 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4418 yyval.prop->loc = (yyloc);
4424 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4425 yyval.prop->loc = (yyloc);
4431 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4432 yyval.prop->loc = (yyloc);
4438 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4444 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4450 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4456 yyval.list = MkListOne(yyvsp[(1) - (1)].id);
4462 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].id);
4468 yyval.propertyWatch = MkPropertyWatch(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
4474 yyval.propertyWatch = MkDeleteWatch(yyvsp[(2) - (2)].stmt);
4480 yyval.list = MkListOne(yyvsp[(1) - (1)].propertyWatch);
4486 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].propertyWatch);
4492 yyval.propertyWatch = MkPropertyWatch(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
4498 yyval.stmt = MkWatchStmt((((void *)0)), yyvsp[(3) - (7)].exp, yyvsp[(6) - (7)].list);
4504 yyval.stmt = MkWatchStmt(yyvsp[(1) - (9)].exp, yyvsp[(5) - (9)].exp, yyvsp[(8) - (9)].list);
4510 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].list);
4516 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (8)].exp, yyvsp[(5) - (8)].exp, yyvsp[(7) - (8)].list);
4522 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (4)].exp, (((void *)0)));
4528 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (6)].exp, yyvsp[(5) - (6)].exp, (((void *)0)));
4534 yyval.stmt = MkFireWatchersStmt((((void *)0)), (((void *)0)));
4540 yyval.stmt = MkFireWatchersStmt((((void *)0)), yyvsp[(2) - (2)].list);
4546 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (3)].exp, (((void *)0)));
4552 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (4)].exp, yyvsp[(4) - (4)].list);
4558 yyval.classDef = yyvsp[(1) - (2)].classDef;
4559 yyval.classDef->loc.end = (yylsp[(2) - (2)]).end;
4565 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4566 if((*yyvsp[(1) - (2)].list).last)
4567 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4568 yyval.classDef->loc = (yyloc);
4574 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4575 yyval.classDef->loc = (yyloc);
4576 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4582 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4583 yyval.classDef->loc = (yyloc);
4584 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4590 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4591 yyval.classDef->loc = (yyloc);
4592 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4598 yyval.classDef = MkClassDefProperty(yyvsp[(2) - (2)].prop);
4599 yyval.classDef->loc = (yyloc);
4600 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4606 yyval.classDef = MkClassDefClassProperty(yyvsp[(1) - (1)].prop);
4607 yyval.classDef->loc = (yyloc);
4613 yyval.classDef = (((void *)0));
4614 deleteWatchable = 1;
4620 yyval.classDef = MkClassDefNoExpansion();
4626 yyval.classDef = MkClassDefFixed();
4632 yyval.classDef = MkClassDefClassPropertyValue(yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].initializer);
4633 yyval.classDef->loc = (yyloc);
4639 yyval.classDef = (((void *)0));
4645 memberAccessStack[defaultMemberAccess] = yyvsp[(1) - (2)].declMode;
4646 if(defaultMemberAccess == 0)
4648 yyval.classDef = MkClassDefMemberAccess();
4649 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4650 yyval.classDef->loc = (yyloc);
4653 yyval.classDef = (((void *)0));
4659 yyval.classDef = MkClassDefAccessOverride(yyvsp[(1) - (4)].declMode, yyvsp[(3) - (4)].id);
4660 yyval.classDef->loc = (yyloc);
4666 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4667 yyval.classDef->loc = yyvsp[(1) - (1)].classFunction->loc;
4668 yyval.classDef->loc.end.charPos++;
4669 yyval.classDef->loc.end.pos++;
4670 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4676 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0))));
4677 yyval.classDef->__anon1.decl->loc = (yyloc);
4678 yyval.classDef->loc = (yyloc);
4679 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4685 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0))));
4686 yyval.classDef->__anon1.decl->loc = (yyloc);
4687 yyval.classDef->loc = (yyloc);
4688 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4694 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4695 yyval.classDef->__anon1.decl->loc = (yyloc);
4696 yyval.classDef->loc = (yyloc);
4697 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4703 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0))));
4704 yyval.classDef->__anon1.decl->loc = (yyloc);
4705 yyval.classDef->loc = (yyloc);
4706 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4712 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4713 yyval.classDef->loc = (yyloc);
4714 yyval.classDef->__anon1.decl->loc = (yyloc);
4715 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4721 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4722 yyval.classDef->loc = (yyloc);
4723 yyval.classDef->__anon1.decl->loc = (yyloc);
4724 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4730 yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4731 yyval.classDef->__anon1.decl->loc = (yyloc);
4732 yyval.classDef->loc = (yyloc);
4738 yyval.classDef = MkClassDefPropertyWatch(yyvsp[(1) - (1)].propertyWatch);
4739 yyval.classDef->loc = (yyloc);
4745 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].id->string);
4746 FreeIdentifier(yyvsp[(2) - (2)].id);
4752 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4753 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4759 yyval.classDef = MkClassDefDesignerDefaultProperty(yyvsp[(2) - (2)].id);
4765 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4766 yyval.classDef->loc = (yyloc);
4767 yyval.classDef->__anon1.decl->loc = (yyloc);
4768 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4774 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4775 yyval.classDef->loc = (yyloc);
4776 yyval.classDef->__anon1.decl->loc = (yyloc);
4777 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4783 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4784 if((*yyvsp[(1) - (1)].list).last)
4785 ((struct MemberInit *)(*yyvsp[(1) - (1)].list).last)->loc.end = (yylsp[(1) - (1)]).end;
4786 yyval.classDef->loc = (yyloc);
4792 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4793 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4794 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4795 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4801 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4802 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4803 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4804 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4810 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4811 yyval.classDef->loc = (yyloc);
4812 yyval.classDef->loc.end.charPos++;
4813 yyval.classDef->loc.end.pos++;
4814 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4820 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4821 yyval.classDef->loc = (yyloc);
4822 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4823 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4829 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4830 yyval.classDef->loc = (yyloc);
4831 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4832 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4838 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4839 yyval.classDef->loc = (yyloc);
4840 yyval.classDef->loc.end.charPos++;
4841 yyval.classDef->loc.end.pos++;
4847 yyval.list = MkList();
4848 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4854 yyval.list = yyvsp[(1) - (2)].list;
4855 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4861 yyval.list = yyvsp[(1) - (2)].list;
4862 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4869 yyval.list = MkList();
4870 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4877 yyval.list = yyvsp[(1) - (2)].list;
4878 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4884 yyval.list = yyvsp[(1) - (2)].list;
4885 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4891 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4897 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4903 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4909 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4915 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (2)].id, (((void *)0)), (((void *)0)));
4921 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4927 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
4933 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
4939 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (2)].string), (((void *)0)), (((void *)0)));
4940 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
4946 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4952 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
4958 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (6)].string), yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
4964 yyval.templateArgument = MkTemplateIdentifierArgument(yyvsp[(1) - (1)].id);
4970 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (1)].id, 0, (((void *)0)));
4976 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (3)].id, 0, yyvsp[(3) - (3)].templateArgument);
4982 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
4988 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(2) - (4)].id, MkTemplateDatatype(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(4) - (4)].templateArgument);
4994 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(3) - (5)].id, MkTemplateDatatype(yyvsp[(1) - (5)].list, yyvsp[(2) - (5)].declarator), yyvsp[(5) - (5)].templateArgument);
5000 yyval.list = MkList();
5001 ListAdd(yyval.list, yyvsp[(1) - (1)].templateParameter);
5007 yyval.list = yyvsp[(1) - (3)].list;
5008 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateParameter);
5014 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5015 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5016 yyval.templateArgument->loc = (yyloc);
5022 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5023 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5024 yyval.templateArgument->loc = (yyloc);
5030 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5031 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5032 yyval.templateArgument->loc = (yyloc);
5038 yyval.list = MkList();
5039 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
5045 yyval.list = yyvsp[(1) - (3)].list;
5046 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
5052 if(curContext != globalContext)
5053 PopContext(curContext);
5054 yyval.context = PushContext();
5060 (void)yyvsp[(1) - (2)].context;
5061 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
5062 FreeIdentifier(yyvsp[(2) - (2)].id);
5063 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5064 memberAccessStack[++defaultMemberAccess] = 2;
5070 (void)yyvsp[(1) - (2)].context;
5071 yyval.symbol = DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
5072 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5073 FreeSpecifier(yyvsp[(2) - (2)].specifier);
5074 ++defaultMemberAccess;
5075 memberAccessStack[defaultMemberAccess] = 2;
5081 (void)yyvsp[(2) - (3)].context;
5082 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
5083 FreeIdentifier(yyvsp[(1) - (3)].id);
5084 FreeIdentifier(yyvsp[(3) - (3)].id);
5085 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5086 yyval.symbol->isRemote = 1;
5087 memberAccessStack[++defaultMemberAccess] = 2;
5093 (void)yyvsp[(2) - (3)].context;
5094 yyval.symbol = DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
5095 FreeIdentifier(yyvsp[(1) - (3)].id);
5096 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5097 yyval.symbol->isRemote = 1;
5098 FreeSpecifier(yyvsp[(3) - (3)].specifier);
5099 memberAccessStack[++defaultMemberAccess] = 2;
5105 (void)yyvsp[(1) - (5)].context;
5106 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
5107 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5108 FreeIdentifier(yyvsp[(2) - (5)].id);
5109 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5110 memberAccessStack[++defaultMemberAccess] = 2;
5116 (void)yyvsp[(1) - (5)].context;
5117 yyval.symbol = DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
5118 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5119 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5120 FreeSpecifier(yyvsp[(2) - (5)].specifier);
5121 ++defaultMemberAccess;
5122 memberAccessStack[defaultMemberAccess] = 2;
5128 (void)yyvsp[(2) - (6)].context;
5129 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
5130 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5131 FreeIdentifier(yyvsp[(1) - (6)].id);
5132 FreeIdentifier(yyvsp[(3) - (6)].id);
5133 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5134 yyval.symbol->isRemote = 1;
5135 memberAccessStack[++defaultMemberAccess] = 2;
5141 (void)yyvsp[(2) - (6)].context;
5142 yyval.symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
5143 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5144 FreeIdentifier(yyvsp[(1) - (6)].id);
5145 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5146 yyval.symbol->isRemote = 1;
5147 FreeSpecifier(yyvsp[(3) - (6)].specifier);
5148 memberAccessStack[++defaultMemberAccess] = 2;
5154 yyval._class->loc = (yyloc);
5155 yyval._class = yyvsp[(1) - (2)]._class;
5161 yyval._class = yyvsp[(1) - (2)]._class;
5162 yyval._class->definitions = MkList();
5163 yyval._class->blockStart = (yylsp[(2) - (2)]);
5164 yyval._class->loc = (yyloc);
5165 if(defaultMemberAccess > -1)
5166 defaultMemberAccess--;
5167 PopContext(curContext);
5173 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5174 yyval._class->blockStart = (yylsp[(2) - (3)]);
5175 yyval._class->loc = (yyloc);
5176 if(defaultMemberAccess > -1)
5177 defaultMemberAccess--;
5178 PopContext(curContext);
5184 yyval._class = yyvsp[(1) - (3)]._class;
5185 yyval._class->definitions = MkList();
5186 yyval._class->blockStart = (yylsp[(2) - (3)]);
5187 yyval._class->loc = (yyloc);
5188 if(defaultMemberAccess > -1)
5189 defaultMemberAccess--;
5190 PopContext(curContext);
5196 (void)yyvsp[(1) - (3)].context;
5197 yyval._class = MkClass(DeclClassAddNameSpace(yyvsp[(2) - (3)].id->_class, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
5198 FreeIdentifier(yyvsp[(2) - (3)].id);
5199 if(defaultMemberAccess > -1)
5200 defaultMemberAccess--;
5201 PopContext(curContext);
5207 (void)yyvsp[(1) - (3)].context;
5208 yyval._class = MkClass(DeclClass(yyvsp[(2) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
5209 FreeSpecifier(yyvsp[(2) - (3)].specifier);
5210 if(defaultMemberAccess > -1)
5211 defaultMemberAccess--;
5212 PopContext(curContext);
5218 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, yyvsp[(3) - (3)].list, (((void *)0)));
5224 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5225 yyval._class->deleteWatchable = deleteWatchable;
5226 deleteWatchable = 0;
5227 yyval._class->blockStart = (yylsp[(2) - (3)]);
5228 yyval._class->loc = (yyloc);
5229 yyval._class->loc.end.charPos++;
5230 yyval._class->loc.end.pos++;
5231 if(defaultMemberAccess > -1)
5232 defaultMemberAccess--;
5233 PopContext(curContext);
5239 yyval._class = yyvsp[(1) - (3)]._class;
5240 yyval._class->definitions = yyvsp[(3) - (3)].list;
5241 yyval._class->deleteWatchable = deleteWatchable;
5242 deleteWatchable = 0;
5243 yyval._class->blockStart = (yylsp[(2) - (3)]);
5244 yyval._class->loc = (yyloc);
5245 yyval._class->loc.end.charPos++;
5246 yyval._class->loc.end.pos++;
5247 if(defaultMemberAccess > -1)
5248 defaultMemberAccess--;
5249 PopContext(curContext);
5255 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5256 yyval._class->deleteWatchable = deleteWatchable;
5257 deleteWatchable = 0;
5258 yyval._class->blockStart = (yylsp[(2) - (3)]);
5259 yyval._class->loc = (yyloc);
5260 yyval._class->loc.end.charPos++;
5261 yyval._class->loc.end.pos++;
5262 if(defaultMemberAccess > -1)
5263 defaultMemberAccess--;
5264 PopContext(curContext);
5270 yyval._class = yyvsp[(1) - (3)]._class;
5271 yyval._class->definitions = yyvsp[(3) - (3)].list;
5272 yyval._class->deleteWatchable = deleteWatchable;
5273 deleteWatchable = 0;
5274 yyval._class->blockStart = (yylsp[(2) - (3)]);
5275 yyval._class->loc = (yyloc);
5276 yyval._class->loc.end.charPos++;
5277 yyval._class->loc.end.pos++;
5278 if(defaultMemberAccess > -1)
5279 defaultMemberAccess--;
5280 PopContext(curContext);
5286 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5287 yyval._class->deleteWatchable = deleteWatchable;
5288 deleteWatchable = 0;
5289 yyval._class->blockStart = (yylsp[(2) - (3)]);
5290 yyval._class->loc = (yyloc);
5291 yyval._class->loc.end.charPos++;
5292 yyval._class->loc.end.pos++;
5293 if(defaultMemberAccess > -1)
5294 defaultMemberAccess--;
5295 PopContext(curContext);
5301 yyval._class = yyvsp[(1) - (3)]._class;
5302 yyval._class->definitions = MkList();
5303 yyval._class->deleteWatchable = deleteWatchable;
5304 deleteWatchable = 0;
5305 yyval._class->blockStart = (yylsp[(2) - (3)]);
5306 yyval._class->loc = (yyloc);
5307 yyval._class->loc.end.charPos++;
5308 yyval._class->loc.end.pos++;
5309 if(defaultMemberAccess > -1)
5310 defaultMemberAccess--;
5311 PopContext(curContext);
5317 yyval.id = MkIdentifier(yytext);
5318 yyval.id->loc = (yylsp[(1) - (1)]);
5324 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
5325 yyval.exp->loc = (yyloc);
5331 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
5332 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
5333 yyval.exp->loc = (yyloc);
5339 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
5340 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
5341 yyval.exp->loc = (yyloc);
5347 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
5348 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
5349 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
5350 yyval.exp->loc = (yyloc);
5356 yyval.exp = MkExpConstant(yytext);
5357 yyval.exp->loc = (yyloc);
5363 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
5364 yyval.exp->loc = (yyloc);
5370 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5371 yyval.exp->loc = (yyloc);
5377 yyval.exp = MkExpExtensionCompound(yyvsp[(3) - (4)].stmt);
5378 yyval.exp->loc = (yyloc);
5384 yyval.exp = MkExpExtensionExpression(yyvsp[(3) - (4)].list);
5385 yyval.exp->loc = (yyloc);
5391 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (5)].typeName, yyvsp[(5) - (5)].initializer);
5392 yyval.exp->loc = (yyloc);
5398 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (8)].typeName, MkInitializerAssignment(MkExpExtensionInitializer(yyvsp[(6) - (8)].typeName, yyvsp[(8) - (8)].initializer)));
5399 yyval.exp->loc = (yyloc);
5405 char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant;
5406 int len = strlen(constant);
5408 if(constant[len - 1] == '.')
5410 constant[len - 1] = 0;
5411 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
5412 yyval.exp->loc = (yyloc);
5421 yyval.exp = yyvsp[(1) - (1)].exp;
5427 yyval.exp = MkExpWideString(yytext);
5428 yyval.exp->loc = (yyloc);
5434 struct Expression * exp = MkExpDummy();
5436 exp->loc.start = (yylsp[(1) - (2)]).end;
5437 exp->loc.end = (yylsp[(2) - (2)]).start;
5438 yyval.exp = MkExpBrackets(MkListOne(exp));
5439 yyval.exp->loc = (yyloc);
5446 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5447 yyval.exp->loc = (yyloc);
5453 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5454 yyval.exp->loc = (yyloc);
5460 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5461 yyval.exp->loc = (yyloc);
5467 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5468 yyval.exp->loc = (yyloc);
5474 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5475 yyval.exp->loc = (yyloc);
5481 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5482 yyval.exp->loc = (yyloc);
5488 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5489 yyval.exp->loc = (yyloc);
5495 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5496 yyval.exp->loc = (yyloc);
5502 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5503 yyval.exp->loc = (yyloc);
5509 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5510 yyval.exp->loc = (yyloc);
5516 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5517 yyval.exp->loc = (yyloc);
5523 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5524 yyval.exp->loc = (yyloc);
5530 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5531 yyval.exp->loc = (yyloc);
5537 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5538 yyval.exp->loc = (yyloc);
5544 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5545 yyval.exp->loc = (yyloc);
5551 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5552 yyval.exp->loc = (yyloc);
5558 yyval.exp = MkExpClass(yyvsp[(3) - (4)].list, (((void *)0)));
5559 yyval.exp->loc = (yyloc);
5565 yyval.exp = MkExpClass(yyvsp[(3) - (5)].list, yyvsp[(4) - (5)].declarator);
5566 yyval.exp->loc = (yyloc);
5572 yyval.exp = MkExpClass(MkListOne(MkSpecifierName(yyvsp[(3) - (4)].id->string)), (((void *)0)));
5573 FreeIdentifier(yyvsp[(3) - (4)].id);
5574 yyval.exp->loc = (yyloc);
5580 yyval.exp = MkExpVaArg(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].typeName);
5581 yyval.exp->loc = (yyloc);
5587 yyval.exp = MkExpClassData(yyvsp[(3) - (4)].id);
5588 yyval.exp->loc = (yyloc);
5594 yyval.exp = MkExpArray(yyvsp[(2) - (3)].list);
5595 yyval.exp->loc = (yyloc);
5601 yyval.exp = MkExpArray((((void *)0)));
5602 yyval.exp->loc = (yyloc);
5608 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5609 yyval.exp->loc = (yyloc);
5615 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
5616 yyval.exp->loc = (yyloc);
5623 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5624 yyval.exp->loc = (yyloc);
5630 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5631 yyval.exp->loc = (yyloc);
5637 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5638 yyval.exp->loc = (yyloc);
5644 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5645 yyval.exp->loc = (yyloc);
5651 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5652 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5653 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5654 yyval.exp->loc = (yyloc);
5660 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5661 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5662 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5663 yyval.exp->loc = (yyloc);
5669 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5670 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5671 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5672 yyval.exp->loc = (yyloc);
5673 if((*yyvsp[(3) - (4)].list).last)
5674 ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start;
5680 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5681 yyval.exp->loc = (yyloc);
5687 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5688 yyval.exp->loc = (yyloc);
5694 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5695 yyval.exp->loc = (yyloc);
5701 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5702 yyval.exp->loc = (yyloc);
5708 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5709 yyval.exp->loc = (yyloc);
5715 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5716 yyval.exp->loc = (yyloc);
5722 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5723 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5724 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5725 yyval.exp->loc = (yyloc);
5731 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5732 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5733 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5734 yyval.exp->loc = (yyloc);
5740 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5741 yyval.exp->loc = (yyloc);
5747 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5748 yyval.exp->loc = (yyloc);
5754 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5755 yyval.exp->loc = (yyloc);
5761 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5762 yyval.exp->loc = (yyloc);
5768 yyval.list = MkList();
5769 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5775 yyval.list = MkList();
5776 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5782 yyval.list = yyvsp[(1) - (3)].list;
5783 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5789 yyval.list = yyvsp[(1) - (3)].list;
5790 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5796 yyval.list = MkList();
5797 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5803 yyval.list = MkList();
5804 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5810 yyval.list = yyvsp[(1) - (3)].list;
5811 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5817 yyval.list = yyvsp[(1) - (3)].list;
5818 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5824 struct Expression * exp = MkExpDummy();
5827 exp->loc.start = (yylsp[(2) - (2)]).end;
5828 exp->loc.end = (yylsp[(2) - (2)]).end;
5829 yyval.list = yyvsp[(1) - (2)].list;
5830 ListAdd(yyvsp[(1) - (2)].list, exp);
5836 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
5837 yyval.exp->loc = (yyloc);
5843 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
5844 yyval.exp->loc = (yyloc);
5850 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5851 yyval.exp->loc = (yyloc);
5857 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5858 yyval.exp->loc = (yyloc);
5864 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
5865 yyval.exp->loc = (yyloc);
5871 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
5872 yyval.exp->loc = (yyloc);
5878 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5879 yyval.exp->loc = (yyloc);
5885 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5886 yyval.exp->loc = (yyloc);
5892 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
5893 yyval.exp->loc = (yyloc);
5899 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
5900 yyval.exp->loc = (yyloc);
5954 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
5955 yyval.exp->loc = (yyloc);
5961 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
5962 yyval.exp->loc = (yyloc);
5968 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
5969 yyval.exp->loc = (yyloc);
5975 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
5976 yyval.exp->loc = (yyloc);
5982 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
5983 yyval.exp->loc = (yyloc);
5989 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
5990 yyval.exp->loc = (yyloc);
5996 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
5997 yyval.exp->loc = (yyloc);
6003 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6004 yyval.exp->loc = (yyloc);
6010 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6011 yyval.exp->loc = (yyloc);
6017 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6018 yyval.exp->loc = (yyloc);
6024 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6025 yyval.exp->loc = (yyloc);
6031 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6032 yyval.exp->loc = (yyloc);
6038 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6039 yyval.exp->loc = (yyloc);
6045 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6046 yyval.exp->loc = (yyloc);
6052 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6053 yyval.exp->loc = (yyloc);
6059 yyval.exp = yyvsp[(1) - (2)].exp;
6067 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6068 yyval.exp->loc = (yyloc);
6074 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6075 yyval.exp->loc = (yyloc);
6081 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6082 yyval.exp->loc = (yyloc);
6088 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6089 yyval.exp->loc = (yyloc);
6095 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6096 yyval.exp->loc = (yyloc);
6102 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6103 yyval.exp->loc = (yyloc);
6109 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6110 yyval.exp->loc = (yyloc);
6116 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6117 yyval.exp->loc = (yyloc);
6123 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6124 yyval.exp->loc = (yyloc);
6130 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6131 yyval.exp->loc = (yyloc);
6137 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6138 yyval.exp->loc = (yyloc);
6144 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6145 yyval.exp->loc = (yyloc);
6151 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6152 yyval.exp->loc = (yyloc);
6158 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6159 yyval.exp->loc = (yyloc);
6165 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6166 yyval.exp->loc = (yyloc);
6172 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6173 yyval.exp->loc = (yyloc);
6179 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6180 yyval.exp->loc = (yyloc);
6186 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6187 yyval.exp->loc = (yyloc);
6193 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6194 yyval.exp->loc = (yyloc);
6200 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6201 yyval.exp->loc = (yyloc);
6207 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6208 yyval.exp->loc = (yyloc);
6214 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6215 yyval.exp->loc = (yyloc);
6221 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6222 yyval.exp->loc = (yyloc);
6228 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6229 yyval.exp->loc = (yyloc);
6235 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6236 yyval.exp->loc = (yyloc);
6242 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6243 yyval.exp->loc = (yyloc);
6249 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6250 yyval.exp->loc = (yyloc);
6256 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6257 yyval.exp->loc = (yyloc);
6263 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6264 yyval.exp->loc = (yyloc);
6270 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6271 yyval.exp->loc = (yyloc);
6277 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6278 yyval.exp->loc = (yyloc);
6284 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6285 yyval.exp->loc = (yyloc);
6291 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6292 yyval.exp->loc = (yyloc);
6298 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6299 yyval.exp->loc = (yyloc);
6305 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6306 yyval.exp->loc = (yyloc);
6312 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6313 yyval.exp->loc = (yyloc);
6319 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6320 yyval.exp->loc = (yyloc);
6326 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6327 yyval.exp->loc = (yyloc);
6333 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6334 yyval.exp->loc = (yyloc);
6340 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6341 yyval.exp->loc = (yyloc);
6347 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6348 yyval.exp->loc = (yyloc);
6354 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6355 yyval.exp->loc = (yyloc);
6361 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6362 yyval.exp->loc = (yyloc);
6368 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6369 yyval.exp->loc = (yyloc);
6375 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6376 yyval.exp->loc = (yyloc);
6382 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6383 yyval.exp->loc = (yyloc);
6389 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6390 yyval.exp->loc = (yyloc);
6396 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6397 yyval.exp->loc = (yyloc);
6403 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6404 yyval.exp->loc = (yyloc);
6410 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6411 yyval.exp->loc = (yyloc);
6417 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6418 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6419 yyval.exp->loc = (yyloc);
6425 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6426 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6427 yyval.exp->loc = (yyloc);
6433 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6434 yyval.exp->loc = (yyloc);
6440 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6441 yyval.exp->loc = (yyloc);
6447 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6448 yyval.exp->loc = (yyloc);
6454 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6455 yyval.exp->loc = (yyloc);
6467 yyval.i = MUL_ASSIGN;
6473 yyval.i = DIV_ASSIGN;
6479 yyval.i = MOD_ASSIGN;
6485 yyval.i = ADD_ASSIGN;
6491 yyval.i = SUB_ASSIGN;
6497 yyval.i = LEFT_ASSIGN;
6503 yyval.i = RIGHT_ASSIGN;
6509 yyval.i = AND_ASSIGN;
6515 yyval.i = XOR_ASSIGN;
6521 yyval.i = OR_ASSIGN;
6527 yyval.list = MkList();
6528 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6534 yyval.list = yyvsp[(1) - (3)].list;
6535 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6541 yyval.list = yyvsp[(1) - (3)].list;
6542 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6548 yyval.list = MkList();
6549 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6555 yyval.list = yyvsp[(1) - (3)].list;
6556 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6562 yyval.list = yyvsp[(1) - (3)].list;
6563 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6569 yyval.exp = MkExpDummy();
6570 yyval.exp->loc = (yyloc);
6576 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
6577 yyval.exp->loc = (yyloc);
6583 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6584 yyval.exp->loc = (yyloc);
6590 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6591 yyval.exp->loc = (yyloc);
6598 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6599 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6600 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6601 yyval.exp->loc = (yyloc);
6602 yyval.exp->__anon1.call.argLoc.end.charPos++;
6608 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6609 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6610 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6611 yyval.exp->loc = (yyloc);
6612 yyval.exp->__anon1.call.argLoc.end.charPos++;
6618 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6619 yyval.exp->loc = (yyloc);
6625 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6626 yyval.exp->loc = (yyloc);
6627 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6628 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6629 yyval.exp->__anon1.call.argLoc.end.charPos++;
6635 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6636 yyval.exp->loc = (yyloc);
6642 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
6643 yyval.exp->loc = (yyloc);
6649 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
6650 yyval.exp->loc = (yyloc);
6656 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6657 yyval.exp->loc = (yyloc);
6663 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6664 yyval.exp->loc = (yyloc);
6670 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
6671 yyval.exp->loc = (yyloc);
6677 yyval.exp = MkExpTypeSize(yyvsp[(3) - (5)].typeName);
6678 yyval.exp->loc = (yyloc);
6684 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6685 yyval.exp->loc = (yyloc);
6691 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6692 yyval.exp->loc = (yyloc);
6698 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
6699 yyval.exp->loc = (yyloc);
6705 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (5)].typeName);
6706 yyval.exp->loc = (yyloc);
6712 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
6713 yyval.exp->loc = (yyloc);
6719 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6720 yyval.exp->loc = (yyloc);
6726 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6727 yyval.exp->loc = (yyloc);
6733 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6734 yyval.exp->loc = (yyloc);
6740 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6741 yyval.exp->loc = (yyloc);
6747 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6748 yyval.exp->loc = (yyloc);
6754 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6755 yyval.exp->loc = (yyloc);
6761 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6762 yyval.exp->loc = (yyloc);
6768 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6769 yyval.exp->loc = (yyloc);
6775 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6776 yyval.exp->loc = (yyloc);
6782 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6783 yyval.exp->loc = (yyloc);
6789 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6790 yyval.exp->loc = (yyloc);
6796 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6797 yyval.exp->loc = (yyloc);
6803 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6804 yyval.exp->loc = (yyloc);
6810 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6811 yyval.exp->loc = (yyloc);
6817 if(yyvsp[(1) - (2)].exp->type == 0)
6819 _DeclClass(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
6821 FreeExpression(yyvsp[(1) - (2)].exp);
6822 FreeExpression(yyvsp[(2) - (2)].exp);
6823 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
6824 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
6826 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
6827 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
6828 resetScannerPos(&(yylsp[(1) - (2)]).start);
6830 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6835 yy_stack_print((yyss), (yyssp));
6837 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6842 yy_stack_print((yyss), (yyssp));
6849 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6850 yyval.exp->loc = (yyloc);
6858 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6859 yyval.exp->loc = (yyloc);
6865 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6866 yyval.exp->loc = (yyloc);
6872 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6873 yyval.exp->loc = (yyloc);
6879 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6880 yyval.exp->loc = (yyloc);
6886 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6887 yyval.exp->loc = (yyloc);
6893 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6894 yyval.exp->loc = (yyloc);
6900 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6901 yyval.exp->loc = (yyloc);
6907 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6908 yyval.exp->loc = (yyloc);
6914 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6915 yyval.exp->loc = (yyloc);
6921 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6922 yyval.exp->loc = (yyloc);
6928 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6929 yyval.exp->loc = (yyloc);
6935 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6936 yyval.exp->loc = (yyloc);
6942 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6943 yyval.exp->loc = (yyloc);
6949 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6950 yyval.exp->loc = (yyloc);
6956 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6957 yyval.exp->loc = (yyloc);
6963 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6964 yyval.exp->loc = (yyloc);
6970 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6971 yyval.exp->loc = (yyloc);
6977 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6978 yyval.exp->loc = (yyloc);
6984 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6985 yyval.exp->loc = (yyloc);
6991 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6992 yyval.exp->loc = (yyloc);
6998 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6999 yyval.exp->loc = (yyloc);
7005 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7006 yyval.exp->loc = (yyloc);
7012 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7013 yyval.exp->loc = (yyloc);
7019 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7020 yyval.exp->loc = (yyloc);
7026 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7027 yyval.exp->loc = (yyloc);
7033 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7034 yyval.exp->loc = (yyloc);
7040 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7041 yyval.exp->loc = (yyloc);
7047 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7048 yyval.exp->loc = (yyloc);
7054 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7055 yyval.exp->loc = (yyloc);
7061 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7062 yyval.exp->loc = (yyloc);
7068 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7069 yyval.exp->loc = (yyloc);
7075 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7076 yyval.exp->loc = (yyloc);
7082 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7083 yyval.exp->loc = (yyloc);
7089 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7090 yyval.exp->loc = (yyloc);
7096 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7097 yyval.exp->loc = (yyloc);
7103 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7104 yyval.exp->loc = (yyloc);
7105 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7111 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7112 yyval.exp->loc = (yyloc);
7113 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7119 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7120 yyval.exp->loc = (yyloc);
7121 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7127 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7128 yyval.exp->loc = (yyloc);
7129 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7135 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7136 yyval.exp->loc = (yyloc);
7142 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7143 yyval.exp->loc = (yyloc);
7149 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7150 yyval.exp->loc = (yyloc);
7156 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7157 yyval.exp->loc = (yyloc);
7163 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7164 yyval.exp->loc = (yyloc);
7165 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7171 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7172 yyval.exp->loc = (yyloc);
7173 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7179 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7180 yyval.exp->loc = (yyloc);
7181 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7187 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7188 yyval.exp->loc = (yyloc);
7189 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7195 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7196 yyval.exp->loc = (yyloc);
7202 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7203 yyval.exp->loc = (yyloc);
7209 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7210 yyval.exp->loc = (yyloc);
7216 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7217 yyval.exp->loc = (yyloc);
7223 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7224 yyval.exp->loc = (yyloc);
7230 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7231 yyval.exp->loc = (yyloc);
7237 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7238 yyval.exp->loc = (yyloc);
7244 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7245 yyval.exp->loc = (yyloc);
7252 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7253 yyval.exp->loc = (yyloc);
7254 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7255 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7261 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7262 yyval.exp->loc = (yyloc);
7263 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7264 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7271 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7272 yyval.exp->loc = (yyloc);
7273 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7274 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7280 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7281 yyval.exp->loc = (yyloc);
7282 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7283 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7289 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7290 yyval.exp->loc = (yyloc);
7296 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7297 yyval.exp->loc = (yyloc);
7303 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7304 yyval.exp->loc = (yyloc);
7310 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7311 yyval.exp->loc = (yyloc);
7317 yyval.list = MkList();
7318 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7324 yyval.list = MkList();
7325 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7331 yyval.list = yyvsp[(1) - (3)].list;
7332 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7338 yyval.list = yyvsp[(1) - (3)].list;
7339 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7346 yyval.list = yyvsp[(1) - (2)].list;
7347 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7353 yyval.list = yyvsp[(1) - (2)].list;
7354 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7360 yyval.list = yyvsp[(1) - (2)].list;
7361 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7367 yyval.list = MkList();
7368 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7374 yyval.list = MkList();
7375 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7381 yyval.list = yyvsp[(1) - (3)].list;
7382 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7388 yyval.list = yyvsp[(1) - (3)].list;
7389 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7395 yyval.specifier = MkSpecifier(TYPEDEF);
7401 yyval.specifier = MkSpecifier(EXTERN);
7407 yyval.specifier = MkSpecifier(STATIC);
7413 yyval.specifier = MkSpecifier(THREAD);
7419 yyval.specifier = MkSpecifier(AUTO);
7425 yyval.specifier = MkSpecifier(REGISTER);
7431 yyval.specifier = MkSpecifier(RESTRICT);
7437 yyval.specifier = MkSpecifier(TYPEDEF);
7438 structDeclMode = declMode = 0;
7444 yyval.specifier = MkSpecifier(EXTERN);
7450 yyval.specifier = MkSpecifier(STATIC);
7451 structDeclMode = declMode = 3;
7457 yyval.specifier = MkSpecifier(THREAD);
7463 yyval.specifier = MkSpecifier(AUTO);
7469 yyval.specifier = MkSpecifier(REGISTER);
7475 yyval.specifier = MkSpecifier(RESTRICT);
7481 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
7487 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7493 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7499 yyval.list = MkList();
7500 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
7506 yyval.list = yyvsp[(1) - (3)].list;
7507 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
7513 memberAccessStack[++defaultMemberAccess] = 1;
7519 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
7520 if(defaultMemberAccess > -1)
7521 defaultMemberAccess--;
7527 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
7528 if(defaultMemberAccess > -1)
7529 defaultMemberAccess--;
7535 yyval.specifier->loc = (yyloc);
7536 if(defaultMemberAccess > -1)
7537 defaultMemberAccess--;
7538 yyval.specifier = yyvsp[(1) - (2)].specifier;
7544 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7545 yyval.specifier->loc = (yyloc);
7546 if(defaultMemberAccess > -1)
7547 defaultMemberAccess--;
7553 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7554 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7555 yyval.specifier->loc = (yyloc);
7556 if(defaultMemberAccess > -1)
7557 defaultMemberAccess--;
7563 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7564 yyval.specifier->loc = (yyloc);
7565 if(defaultMemberAccess > -1)
7566 defaultMemberAccess--;
7572 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7573 yyval.specifier->loc = (yyloc);
7574 if(defaultMemberAccess > -1)
7575 defaultMemberAccess--;
7581 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].list);
7582 yyval.specifier->loc = (yyloc);
7583 if(defaultMemberAccess > -1)
7584 defaultMemberAccess--;
7590 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7591 yyval.specifier->loc = (yyloc);
7592 if(defaultMemberAccess > -1)
7593 defaultMemberAccess--;
7599 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7600 yyval.specifier->loc = (yyloc);
7601 if(defaultMemberAccess > -1)
7602 defaultMemberAccess--;
7608 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7609 yyval.specifier->loc = (yyloc);
7610 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7611 if(defaultMemberAccess > -1)
7612 defaultMemberAccess--;
7618 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7619 yyval.specifier->loc = (yyloc);
7620 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7621 if(defaultMemberAccess > -1)
7622 defaultMemberAccess--;
7628 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list);
7629 yyval.specifier->loc = (yyloc);
7630 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7631 if(defaultMemberAccess > -1)
7632 defaultMemberAccess--;
7638 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7639 yyval.specifier->loc = (yyloc);
7640 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7641 if(defaultMemberAccess > -1)
7642 defaultMemberAccess--;
7648 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7649 yyval.specifier->loc = (yyloc);
7650 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7651 if(defaultMemberAccess > -1)
7652 defaultMemberAccess--;
7658 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7659 yyval.specifier->loc = (yyloc);
7660 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7661 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7662 if(defaultMemberAccess > -1)
7663 defaultMemberAccess--;
7669 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7670 yyval.specifier->loc = (yyloc);
7671 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7672 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7673 if(defaultMemberAccess > -1)
7674 defaultMemberAccess--;
7680 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7681 yyval.specifier->loc = (yyloc);
7682 if(defaultMemberAccess > -1)
7683 defaultMemberAccess--;
7689 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7690 yyval.specifier->loc = (yyloc);
7691 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7692 if(defaultMemberAccess > -1)
7693 defaultMemberAccess--;
7699 yyval.id = yyvsp[(2) - (2)].id;
7701 DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
7707 yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7709 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7710 FreeSpecifier(yyvsp[(2) - (2)].specifier);
7716 yyval.specifier = yyvsp[(1) - (2)].specifier;
7717 yyval.specifier->loc = (yyloc);
7723 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7724 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7725 yyval.specifier->loc = (yyloc);
7726 if(defaultMemberAccess > -1)
7727 defaultMemberAccess--;
7733 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7734 if(defaultMemberAccess > -1)
7735 defaultMemberAccess--;
7741 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list);
7742 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7743 yyval.specifier->loc = (yyloc);
7744 if(defaultMemberAccess > -1)
7745 defaultMemberAccess--;
7751 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7752 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7753 yyval.specifier->loc = (yyloc);
7754 if(defaultMemberAccess > -1)
7755 defaultMemberAccess--;
7761 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7762 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7763 yyval.specifier->loc = (yyloc);
7764 if(defaultMemberAccess > -1)
7765 defaultMemberAccess--;
7771 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7772 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7773 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7774 yyval.specifier->loc = (yyloc);
7775 if(defaultMemberAccess > -1)
7776 defaultMemberAccess--;
7782 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7783 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7784 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7785 yyval.specifier->loc = (yyloc);
7786 if(defaultMemberAccess > -1)
7787 defaultMemberAccess--;
7793 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7794 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7795 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7796 yyval.specifier->loc = (yyloc);
7797 if(defaultMemberAccess > -1)
7798 defaultMemberAccess--;
7804 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7805 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7806 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7807 yyval.specifier->loc = (yyloc);
7808 if(defaultMemberAccess > -1)
7809 defaultMemberAccess--;
7815 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
7816 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7817 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7818 yyval.specifier->loc = (yyloc);
7819 if(defaultMemberAccess > -1)
7820 defaultMemberAccess--;
7826 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
7827 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7828 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7829 yyval.specifier->loc = (yyloc);
7830 if(defaultMemberAccess > -1)
7831 defaultMemberAccess--;
7837 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7838 yyval.specifier->loc = (yyloc);
7839 if(defaultMemberAccess > -1)
7840 defaultMemberAccess--;
7846 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7847 yyval.specifier->loc = (yyloc);
7848 if(defaultMemberAccess > -1)
7849 defaultMemberAccess--;
7855 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].list);
7856 yyval.specifier->loc = (yyloc);
7857 if(defaultMemberAccess > -1)
7858 defaultMemberAccess--;
7864 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7865 yyval.specifier->loc = (yyloc);
7866 if(defaultMemberAccess > -1)
7867 defaultMemberAccess--;
7873 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7874 yyval.specifier->loc = (yyloc);
7875 if(defaultMemberAccess > -1)
7876 defaultMemberAccess--;
7882 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7883 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7884 yyval.specifier->loc = (yyloc);
7885 if(defaultMemberAccess > -1)
7886 defaultMemberAccess--;
7892 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7893 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7894 yyval.specifier->loc = (yyloc);
7895 if(defaultMemberAccess > -1)
7896 defaultMemberAccess--;
7902 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7903 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7904 yyval.specifier->loc = (yyloc);
7905 if(defaultMemberAccess > -1)
7906 defaultMemberAccess--;
7912 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7913 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7914 yyval.specifier->loc = (yyloc);
7915 if(defaultMemberAccess > -1)
7916 defaultMemberAccess--;
7922 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0)));
7923 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7924 yyval.specifier->loc = (yyloc);
7925 if(defaultMemberAccess > -1)
7926 defaultMemberAccess--;
7932 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7933 yyval.specifier->loc = (yyloc);
7934 if(defaultMemberAccess > -1)
7935 defaultMemberAccess--;
7941 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
7947 yyval.specifier = MkSpecifier(CONST);
7953 yyval.specifier = MkSpecifier(VOLATILE);
7959 yyval.specifier = yyvsp[(1) - (1)].specifier;
7965 yyval.list = MkList();
7966 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
7972 yyval.list = yyvsp[(1) - (2)].list;
7973 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
7979 yyval.specifier = MkSpecifier(VOID);
7985 yyval.specifier = MkSpecifier(CHAR);
7991 yyval.specifier = MkSpecifier(SHORT);
7997 yyval.specifier = MkSpecifier(INT);
8003 yyval.specifier = MkSpecifier(UINT);
8009 yyval.specifier = MkSpecifier(INT64);
8015 yyval.specifier = MkSpecifier(VALIST);
8021 yyval.specifier = MkSpecifier(LONG);
8027 yyval.specifier = MkSpecifier(FLOAT);
8033 yyval.specifier = MkSpecifier(DOUBLE);
8039 yyval.specifier = MkSpecifier(SIGNED);
8045 yyval.specifier = MkSpecifier(UNSIGNED);
8051 yyval.specifier = MkSpecifier(EXTENSION);
8057 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8063 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8069 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8070 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8071 FreeIdentifier(yyvsp[(3) - (4)].id);
8077 yyval.specifier = MkSpecifier(THISCLASS);
8083 yyval.specifier = MkSpecifier(TYPED_OBJECT);
8089 yyval.specifier = MkSpecifier(ANY_OBJECT);
8095 yyval.specifier = MkSpecifier(_BOOL);
8101 yyval.specifier = MkSpecifier(BOOL);
8107 yyval.specifier = MkSpecifier(_COMPLEX);
8113 yyval.specifier = MkSpecifier(_IMAGINARY);
8119 yyval.specifier = MkSpecifier(VOID);
8125 yyval.specifier = MkSpecifier(CHAR);
8131 yyval.specifier = MkSpecifier(SHORT);
8137 yyval.specifier = MkSpecifier(INT);
8143 yyval.specifier = MkSpecifier(UINT);
8149 yyval.specifier = MkSpecifier(INT64);
8155 yyval.specifier = MkSpecifier(VALIST);
8161 yyval.specifier = MkSpecifier(LONG);
8167 yyval.specifier = MkSpecifier(FLOAT);
8173 yyval.specifier = MkSpecifier(DOUBLE);
8179 yyval.specifier = MkSpecifier(SIGNED);
8185 yyval.specifier = MkSpecifier(UNSIGNED);
8191 yyval.specifier = MkSpecifier(EXTENSION);
8197 yyval.specifier = MkSpecifier(_BOOL);
8203 yyval.specifier = MkSpecifier(BOOL);
8209 yyval.specifier = MkSpecifier(_COMPLEX);
8215 yyval.specifier = MkSpecifier(_IMAGINARY);
8221 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8227 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8233 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8234 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8235 FreeIdentifier(yyvsp[(3) - (4)].id);
8241 yyval.specifier = MkSpecifier(THISCLASS);
8247 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
8248 yyval.declarator->loc = (yyloc);
8254 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
8255 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
8256 yyval.declarator->loc = (yyloc);
8262 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8263 yyval.declarator->loc = (yyloc);
8269 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8270 yyval.declarator->loc = (yyloc);
8276 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8277 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8278 yyval.declarator->loc = (yyloc);
8284 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8285 yyval.declarator->loc = (yyloc);
8291 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8292 yyval.declarator->loc = (yyloc);
8298 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8299 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8300 yyval.declarator->loc = (yyloc);
8306 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8307 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8308 yyval.declarator->loc = (yyloc);
8314 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8315 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8316 yyval.declarator->loc = (yyloc);
8322 yyval.list = MkList();
8323 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
8329 yyval.list = yyvsp[(1) - (3)].list;
8330 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
8336 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
8337 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8338 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8344 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
8345 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8346 FreeSpecifier(yyvsp[(2) - (2)].specifier);
8352 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
8353 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8354 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8355 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8361 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
8362 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8363 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8364 FreeSpecifier(yyvsp[(3) - (3)].specifier);
8370 yyval.specifier = yyvsp[(1) - (2)].specifier;
8371 yyval.specifier->loc = (yyloc);
8377 yyval.specifier = yyvsp[(1) - (3)].specifier;
8378 yyval.specifier->loc = (yyloc);
8379 if(defaultMemberAccess > -1)
8380 defaultMemberAccess--;
8381 PopContext(curContext);
8387 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8388 yyval.specifier->loc = (yyloc);
8389 if(defaultMemberAccess > -1)
8390 defaultMemberAccess--;
8396 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8397 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8398 yyval.specifier->loc = (yyloc);
8399 if(defaultMemberAccess > -1)
8400 defaultMemberAccess--;
8406 yyval.specifier = yyvsp[(1) - (3)].specifier;
8407 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8408 if(defaultMemberAccess > -1)
8409 defaultMemberAccess--;
8410 PopContext(curContext);
8416 yyval.specifier = yyvsp[(1) - (3)].specifier;
8417 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8418 if(defaultMemberAccess > -1)
8419 defaultMemberAccess--;
8420 PopContext(curContext);
8426 yyval.specifier = yyvsp[(1) - (3)].specifier;
8427 if(defaultMemberAccess > -1)
8428 defaultMemberAccess--;
8429 PopContext(curContext);
8435 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8436 if(defaultMemberAccess > -1)
8437 defaultMemberAccess--;
8443 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8444 if(defaultMemberAccess > -1)
8445 defaultMemberAccess--;
8451 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8452 if(defaultMemberAccess > -1)
8453 defaultMemberAccess--;
8459 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8460 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8461 if(defaultMemberAccess > -1)
8462 defaultMemberAccess--;
8468 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8469 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8470 if(defaultMemberAccess > -1)
8471 defaultMemberAccess--;
8477 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8478 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8479 if(defaultMemberAccess > -1)
8480 defaultMemberAccess--;
8486 yyval.specifier = yyvsp[(1) - (1)].specifier;
8487 if(defaultMemberAccess > -1)
8488 defaultMemberAccess--;
8489 PopContext(curContext);
8495 yyval.specifier = yyvsp[(1) - (1)].specifier;
8498 (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);
8505 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);
8507 yyval.specifier = yyvsp[(1) - (4)].specifier;
8508 symbol->templateParams = yyvsp[(3) - (4)].list;
8514 yyval.specifier = yyvsp[(1) - (3)].specifier;
8515 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list;
8516 SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list);
8522 yyval.specifier = yyvsp[(1) - (2)].specifier;
8523 yyval.specifier->loc = (yyloc);
8529 yyval.specifier = yyvsp[(1) - (3)].specifier;
8530 if(defaultMemberAccess > -1)
8531 defaultMemberAccess--;
8532 PopContext(curContext);
8538 yyval.specifier = yyvsp[(1) - (3)].specifier;
8539 if(defaultMemberAccess > -1)
8540 defaultMemberAccess--;
8541 PopContext(curContext);
8547 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8548 if(defaultMemberAccess > -1)
8549 defaultMemberAccess--;
8555 yyval.specifier = yyvsp[(1) - (3)].specifier;
8556 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8557 if(defaultMemberAccess > -1)
8558 defaultMemberAccess--;
8559 PopContext(curContext);
8565 yyval.specifier = yyvsp[(1) - (3)].specifier;
8566 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8567 if(defaultMemberAccess > -1)
8568 defaultMemberAccess--;
8569 PopContext(curContext);
8575 yyval.specifier = yyvsp[(1) - (3)].specifier;
8576 if(defaultMemberAccess > -1)
8577 defaultMemberAccess--;
8578 PopContext(curContext);
8584 PopContext(curContext);
8587 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8588 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8589 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8592 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8593 if(defaultMemberAccess > -1)
8594 defaultMemberAccess--;
8600 PopContext(curContext);
8603 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8604 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8605 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8608 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8609 if(defaultMemberAccess > -1)
8610 defaultMemberAccess--;
8616 yyval.specifier = yyvsp[(1) - (3)].specifier;
8617 if(defaultMemberAccess > -1)
8618 defaultMemberAccess--;
8619 PopContext(curContext);
8625 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8626 if(defaultMemberAccess > -1)
8627 defaultMemberAccess--;
8633 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8634 if(defaultMemberAccess > -1)
8635 defaultMemberAccess--;
8641 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8642 if(defaultMemberAccess > -1)
8643 defaultMemberAccess--;
8649 yyval.specifierType = 3;
8650 memberAccessStack[++defaultMemberAccess] = 1;
8656 yyval.specifierType = 4;
8657 memberAccessStack[++defaultMemberAccess] = 1;
8663 yyval.list = MkList();
8664 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8670 yyval.list = yyvsp[(1) - (2)].list;
8671 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8677 yyval.list = MkList();
8678 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8684 yyval.list = yyvsp[(1) - (2)].list;
8685 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8691 yyval.list = MkList();
8692 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8698 yyval.list = yyvsp[(1) - (2)].list;
8699 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8705 yyval.list = MkList();
8706 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8712 yyval.list = yyvsp[(1) - (2)].list;
8713 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8719 yyval.list = MkList();
8720 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8726 yyval.list = yyvsp[(1) - (2)].list;
8727 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8733 yyval.list = MkList();
8734 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8740 yyval.list = yyvsp[(1) - (2)].list;
8741 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8747 yyval.list = MkList();
8748 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8754 yyval.list = yyvsp[(1) - (2)].list;
8755 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8761 yyval.list = MkList();
8762 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8768 yyval.list = yyvsp[(1) - (2)].list;
8769 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8775 yyval.list = MkList();
8776 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8782 yyval.list = yyvsp[(1) - (2)].list;
8783 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8789 yyval.list = MkList();
8790 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8796 yyval.list = yyvsp[(1) - (2)].list;
8797 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8803 yyval.list = MkList();
8804 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8810 yyval.list = yyvsp[(1) - (2)].list;
8811 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8817 yyval.list = MkList();
8818 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8824 yyval.list = yyvsp[(1) - (2)].list;
8825 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8831 yyval.list = MkList();
8832 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8838 yyval.list = yyvsp[(1) - (2)].list;
8839 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8845 yyval.list = MkList();
8846 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8852 yyval.list = yyvsp[(1) - (2)].list;
8853 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8859 yyval.list = MkList();
8860 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8866 yyval.list = yyvsp[(1) - (2)].list;
8867 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8873 yyval.list = MkList();
8874 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8880 yyval.list = yyvsp[(1) - (2)].list;
8881 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8887 yyval.list = MkList();
8888 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8894 yyval.list = yyvsp[(1) - (2)].list;
8895 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8901 yyval.list = MkList();
8902 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8908 yyval.list = yyvsp[(1) - (2)].list;
8909 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8915 yyval.list = MkList();
8916 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8922 yyval.list = yyvsp[(1) - (2)].list;
8923 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8929 yyval.list = MkList();
8930 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8936 yyval.list = yyvsp[(1) - (2)].list;
8937 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8943 yyval.list = MkList();
8944 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8950 yyval.list = yyvsp[(1) - (2)].list;
8951 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8957 yyval.list = MkList();
8958 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8964 yyval.list = yyvsp[(1) - (2)].list;
8965 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8971 yyval.list = MkList();
8972 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8978 yyval.list = yyvsp[(1) - (2)].list;
8979 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8985 yyval.list = MkList();
8986 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8992 yyval.list = yyvsp[(1) - (2)].list;
8993 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8999 yyval.list = MkList();
9000 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9006 yyval.list = yyvsp[(1) - (2)].list;
9007 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9013 yyval.list = MkList();
9014 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9020 yyval.list = yyvsp[(1) - (2)].list;
9021 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9027 yyval.list = MkList();
9028 ListAdd(yyval.list, MkSpecifier(PRIVATE));
9034 yyval.list = MkList();
9035 ListAdd(yyval.list, MkSpecifier(PUBLIC));
9041 yyval.list = MkList();
9042 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9048 yyval.list = yyvsp[(1) - (2)].list;
9049 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9055 yyval.list = MkList();
9056 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9062 yyval.list = yyvsp[(1) - (2)].list;
9063 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9069 yyval.list = MkList();
9070 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9076 yyval.list = yyvsp[(1) - (2)].list;
9077 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9083 _DeclClass(yyvsp[(1) - (1)].id->_class, yyvsp[(1) - (1)].id->string);
9084 yyval.list = MkListOne(MkSpecifierName(yyvsp[(1) - (1)].id->string));
9085 FreeIdentifier(yyvsp[(1) - (1)].id);
9091 yyval.list = yyvsp[(1) - (2)].list;
9092 _DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
9093 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9094 FreeIdentifier(yyvsp[(2) - (2)].id);
9100 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9101 yyval.list = MkList();
9102 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9103 FreeIdentifier(yyvsp[(1) - (4)].id);
9109 yyval.list = yyvsp[(1) - (5)].list;
9110 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9111 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9112 FreeIdentifier(yyvsp[(2) - (5)].id);
9118 yyval.list = MkListOne(MkStructOrUnion(yyvsp[(1) - (1)].specifierType, (((void *)0)), (((void *)0))));
9119 if(defaultMemberAccess > -1)
9120 defaultMemberAccess--;
9126 yyval.list = MkList();
9127 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9133 yyval.list = yyvsp[(1) - (2)].list;
9134 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9140 yyval.list = MkList();
9141 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9147 yyval.list = yyvsp[(1) - (2)].list;
9148 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9154 yyval.list = MkList();
9155 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9161 yyval.list = yyvsp[(1) - (2)].list;
9162 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9168 yyval.list = MkList();
9169 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9170 FreeIdentifier(yyvsp[(1) - (1)].id);
9175 yyval.list = yyvsp[(1) - (2)].list;
9176 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9177 FreeIdentifier(yyvsp[(2) - (2)].id);
9182 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9183 yyval.list = MkList();
9184 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9185 FreeIdentifier(yyvsp[(1) - (4)].id);
9191 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9192 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9193 FreeIdentifier(yyvsp[(2) - (5)].id);
9199 yyval.list = MkList();
9200 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9206 yyval.list = yyvsp[(1) - (2)].list;
9207 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9213 yyval.list = MkList();
9214 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9220 yyval.list = yyvsp[(1) - (2)].list;
9221 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9227 yyval.list = MkList();
9228 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9234 yyval.list = yyvsp[(1) - (2)].list;
9235 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9241 yyval.list = MkList();
9242 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9248 yyval.list = yyvsp[(1) - (2)].list;
9249 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9255 yyval.list = MkList();
9256 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9262 yyval.list = yyvsp[(1) - (2)].list;
9263 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9269 yyval.list = MkList();
9270 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9271 FreeIdentifier(yyvsp[(1) - (1)].id);
9276 yyval.list = yyvsp[(1) - (2)].list;
9277 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9278 FreeIdentifier(yyvsp[(2) - (2)].id);
9283 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9284 yyval.list = MkList();
9285 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9286 FreeIdentifier(yyvsp[(1) - (4)].id);
9292 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9293 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9294 FreeIdentifier(yyvsp[(2) - (5)].id);
9300 yyval.list = MkList();
9301 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9307 yyval.list = yyvsp[(1) - (2)].list;
9308 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9314 yyval.list = MkList();
9315 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9321 yyval.list = yyvsp[(1) - (2)].list;
9322 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9328 yyval.list = MkList();
9329 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9335 yyval.list = yyvsp[(1) - (2)].list;
9336 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9342 yyval.list = MkList();
9343 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9349 yyval.list = yyvsp[(1) - (2)].list;
9350 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9356 yyval.list = MkList();
9357 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9363 yyval.list = yyvsp[(1) - (2)].list;
9364 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9370 yyval.list = MkList();
9371 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9372 FreeIdentifier(yyvsp[(1) - (1)].id);
9377 yyval.list = yyvsp[(1) - (2)].list;
9378 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9379 FreeIdentifier(yyvsp[(2) - (2)].id);
9384 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9385 yyval.list = MkList();
9386 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9387 FreeIdentifier(yyvsp[(1) - (4)].id);
9393 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9394 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9395 FreeIdentifier(yyvsp[(2) - (5)].id);
9401 yyval.list = yyvsp[(1) - (3)].list;
9402 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9408 yyval.list = yyvsp[(1) - (3)].list;
9409 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9415 yyval.list = MkList();
9416 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
9422 yyval.list = yyvsp[(1) - (3)].list;
9423 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9429 yyval.list = yyvsp[(1) - (3)].list;
9430 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9436 yyval.list = yyvsp[(1) - (3)].list;
9437 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9443 yyval.list = yyvsp[(1) - (3)].list;
9444 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9450 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 1, 0);
9451 char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name;
9453 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
9454 FreeSpecifier(yyvsp[(1) - (1)].specifier);
9460 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier("uint"));
9466 struct Declarator * decl;
9467 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9468 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9470 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9471 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9472 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9478 struct Declarator * decl;
9479 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9480 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9482 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9483 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9484 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9490 struct Declarator * decl;
9491 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9492 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9494 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9495 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9496 yyval.declarator = MkDeclaratorEnumArray(decl, yyvsp[(3) - (4)].specifier);
9502 struct Declarator * decl;
9503 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
9504 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
9506 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9507 FreeSpecifier(yyvsp[(1) - (3)].specifier);
9508 yyval.declarator = MkDeclaratorEnumArray(decl, (((void *)0)));
9514 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9520 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9526 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9532 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9538 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
9544 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9550 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9556 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9562 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9568 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9574 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9580 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9586 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9592 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9598 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9604 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9610 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9616 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9622 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9623 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9624 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9626 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9627 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9629 resetScannerPos(&(yylsp[(1) - (2)]).end);
9630 (yyloc.start = (yylsp[(1) - (2)]).start);
9631 (yyloc.end = (yylsp[(1) - (2)]).end);
9637 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9638 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9639 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9641 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9642 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9644 resetScannerPos(&(yylsp[(1) - (2)]).end);
9645 (yyloc.start = (yylsp[(1) - (2)]).start);
9646 (yyloc.end = (yylsp[(1) - (2)]).end);
9652 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9653 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9654 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9656 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9657 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (3)]).end.pos, 0);
9659 resetScannerPos(&(yylsp[(1) - (3)]).end);
9660 (yyloc.start = (yylsp[(1) - (3)]).start);
9661 (yyloc.end = (yylsp[(1) - (3)]).end);
9667 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9668 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9669 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9671 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9672 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (4)]).end.pos, 0);
9674 resetScannerPos(&(yylsp[(1) - (4)]).end);
9675 (yyloc.start = (yylsp[(1) - (4)]).start);
9676 (yyloc.end = (yylsp[(1) - (4)]).end);
9677 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9678 FreeIdentifier(yyvsp[(3) - (4)].id);
9684 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9690 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9696 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9702 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9708 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9714 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9715 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9716 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9718 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9719 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9721 resetScannerPos(&(yylsp[(1) - (2)]).end);
9722 (yyloc.start = (yylsp[(1) - (2)]).start);
9723 (yyloc.end = (yylsp[(1) - (2)]).end);
9729 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9730 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9731 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9733 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9734 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).end.pos, 0);
9736 resetScannerPos(&(yylsp[(1) - (2)]).end);
9737 (yyloc.start = (yylsp[(1) - (2)]).start);
9738 (yyloc.end = (yylsp[(1) - (2)]).end);
9744 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9745 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9746 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9748 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9749 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (3)]).end.pos, 0);
9751 resetScannerPos(&(yylsp[(1) - (3)]).end);
9752 (yyloc.start = (yylsp[(1) - (3)]).start);
9753 (yyloc.end = (yylsp[(1) - (3)]).end);
9759 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9760 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9761 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9763 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9764 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (4)]).end.pos, 0);
9766 resetScannerPos(&(yylsp[(1) - (4)]).end);
9767 (yyloc.start = (yylsp[(1) - (4)]).start);
9768 (yyloc.end = (yylsp[(1) - (4)]).end);
9769 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9770 FreeIdentifier(yyvsp[(3) - (4)].id);
9776 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9782 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9788 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
9796 strcpy(temp, "__asm__(");
9797 strcat(temp, yyvsp[(3) - (4)].string);
9799 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(temp));
9800 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(3) - (4)].string), yyvsp[(3) - (4)].string = 0);
9812 yyval.i = ATTRIB_DEP;
9824 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9830 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9836 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9842 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9848 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9854 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
9855 yyval.attribute->loc = (yyloc);
9861 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
9862 yyval.attribute->loc = (yyloc);
9868 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
9874 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
9875 yyval.list = yyvsp[(1) - (2)].list;
9881 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
9882 yyval.list = yyvsp[(1) - (3)].list;
9888 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
9889 yyval.attrib->loc = (yyloc);
9895 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
9896 yyval.attrib->loc = (yyloc);
9902 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9908 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9914 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
9920 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
9926 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
9932 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
9938 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9944 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9950 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9956 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9962 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
9968 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
9974 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
9980 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
9986 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
9992 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
9998 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
10004 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
10010 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
10016 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10022 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10028 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10034 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10040 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10046 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
10052 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
10058 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
10064 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
10070 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10076 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10082 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10088 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10094 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10100 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10106 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10112 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10118 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10124 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10130 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10136 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10142 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10148 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10154 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10160 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10166 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10172 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10178 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10184 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10190 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10196 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10202 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10208 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10214 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10220 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10226 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10232 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10238 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10244 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10250 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10251 yyval.initializer->loc = (yyloc);
10257 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10258 yyval.initializer->loc = (yyloc);
10264 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "extra comma\n", (((void *)0))));
10265 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10266 yyval.initializer->loc = (yyloc);
10268 struct Expression * exp = MkExpDummy();
10269 struct Initializer * init = MkInitializerAssignment(exp);
10271 init->loc = (yylsp[(3) - (4)]);
10272 exp->loc = (yylsp[(3) - (4)]);
10273 ListAdd(yyvsp[(2) - (4)].list, init);
10280 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10281 yyval.initializer->loc = (yyloc);
10287 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10288 yyval.initializer->loc = (yyloc);
10295 yyval.initializer = MkInitializerList(yyvsp[(2) - (2)].list);
10296 yyval.initializer->loc = (yyloc);
10302 yyval.initializer = MkInitializerList(yyvsp[(2) - (5)].list);
10303 yyval.initializer->loc = (yyloc);
10305 struct Expression * exp = MkExpDummy();
10306 struct Initializer * init = MkInitializerAssignment(exp);
10308 init->loc = (yylsp[(3) - (5)]);
10309 exp->loc = (yylsp[(3) - (5)]);
10310 ListAdd(yyvsp[(2) - (5)].list, init);
10318 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10319 yyval.initializer->loc = (yyloc);
10321 struct Expression * exp = MkExpDummy();
10322 struct Initializer * init = MkInitializerAssignment(exp);
10324 init->loc = (yylsp[(3) - (3)]);
10325 exp->loc = (yylsp[(3) - (3)]);
10326 ListAdd(yyvsp[(2) - (3)].list, init);
10333 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10334 yyval.initializer->loc = (yyloc);
10340 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10341 yyval.initializer->loc = (yyloc);
10347 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10348 yyval.initializer->loc = (yyloc);
10354 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10355 yyval.initializer->loc = (yyloc);
10361 yyval.list = MkList();
10362 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10368 yyval.list = MkList();
10369 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10375 yyval.list = yyvsp[(1) - (3)].list;
10376 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10382 yyval.list = yyvsp[(1) - (3)].list;
10383 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10390 yyval.list = yyvsp[(1) - (2)].list;
10391 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10397 yyval.list = yyvsp[(1) - (2)].list;
10398 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10404 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10405 yyval.initDeclarator->loc = (yyloc);
10411 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10412 yyval.initDeclarator->loc = (yyloc);
10418 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10419 yyval.initDeclarator->loc = (yyloc);
10420 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10426 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
10427 yyval.initDeclarator->loc = (yyloc);
10433 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10434 yyval.initDeclarator->loc = (yyloc);
10435 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10441 yyval.list = MkList();
10442 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10448 yyval.list = yyvsp[(1) - (3)].list;
10449 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10455 yyval.list = MkList();
10456 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), (((void *)0))));
10457 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10463 yyval.list = MkList();
10464 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), (((void *)0))));
10465 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10471 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
10472 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
10474 yyval.list = MkList();
10475 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
10476 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10477 FreeSpecifier(yyvsp[(1) - (3)].specifier);
10483 yyval.list = yyvsp[(1) - (3)].list;
10484 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10490 yyval.list = MkList();
10491 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10497 yyval.list = MkList();
10498 ListAdd(yyval.list, yyvsp[(1) - (2)].initDeclarator);
10504 yyval.list = yyvsp[(1) - (3)].list;
10505 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10511 yyval.list = yyvsp[(1) - (3)].list;
10512 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10518 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10524 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10530 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10536 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10542 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10548 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10554 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
10560 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
10566 yyval.typeName = MkTypeNameGuessDecl(yyvsp[(1) - (1)].list, (((void *)0)));
10572 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
10578 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10584 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10590 yyval.list = MkList();
10591 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10597 yyval.list = yyvsp[(1) - (3)].list;
10598 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10604 yyval.list = yyvsp[(1) - (4)].list;
10605 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10611 yyval.list = yyvsp[(1) - (3)].list;
10612 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10618 yyval.list = yyvsp[(1) - (4)].list;
10619 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10625 yyval.list = MkList();
10626 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10627 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10633 yyval.list = yyvsp[(1) - (3)].list;
10634 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10640 yyval.list = yyvsp[(1) - (4)].list;
10641 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10647 yyval.list = yyvsp[(1) - (3)].list;
10648 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10654 yyval.list = yyvsp[(1) - (4)].list;
10655 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10661 yyval.list = MkList();
10662 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10668 yyval.list = yyvsp[(1) - (3)].list;
10669 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10675 yyval.list = yyvsp[(1) - (3)].list;
10676 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10682 yyval.list = yyvsp[(1) - (4)].list;
10683 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10689 yyval.list = MkList();
10690 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10691 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10697 yyval.list = yyvsp[(1) - (3)].list;
10698 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10704 yyval.list = yyvsp[(1) - (3)].list;
10705 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10711 yyval.list = yyvsp[(1) - (4)].list;
10712 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10718 yyval.list = yyvsp[(1) - (3)].list;
10719 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10725 yyval.list = yyvsp[(1) - (3)].list;
10726 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10732 yyval.list = yyvsp[(1) - (3)].list;
10733 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10739 yyval.list = yyvsp[(1) - (3)].list;
10740 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10746 yyval.list = MkList();
10747 ListAdd(yyval.list, MkTypeName((((void *)0)), (((void *)0))));
10753 yyval.list = yyvsp[(1) - (3)].list;
10754 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
10760 yyval.stmt = MkExpressionStmt((((void *)0)));
10761 FreeAttrib(yyvsp[(1) - (1)].attrib);
10767 yyval.stmt = MkExpressionStmt((((void *)0)));
10773 yyval.stmt = MkExpressionStmt((((void *)0)));
10779 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
10780 yyval.stmt->loc = (yyloc);
10786 yyval.stmt = yyvsp[(1) - (1)].stmt;
10787 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10793 yyval.stmt = yyvsp[(1) - (1)].stmt;
10794 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10800 yyval.stmt = yyvsp[(1) - (1)].stmt;
10801 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10807 yyval.stmt = yyvsp[(1) - (1)].stmt;
10808 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10814 yyval.stmt = yyvsp[(1) - (1)].stmt;
10815 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10821 yyval.stmt = yyvsp[(1) - (2)].stmt;
10822 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10828 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (1)].list);
10829 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10830 yyval.stmt->loc = (yylsp[(1) - (1)]);
10836 yyval.asmField = MkAsmField(yyvsp[(1) - (1)].string, (((void *)0)), (((void *)0)));
10837 yyval.asmField->loc = (yylsp[(1) - (1)]);
10843 yyval.asmField = MkAsmField(yyvsp[(1) - (4)].string, yyvsp[(3) - (4)].exp, (((void *)0)));
10844 yyval.asmField->loc = (yyloc);
10850 yyval.asmField = MkAsmField(yyvsp[(4) - (7)].string, yyvsp[(6) - (7)].exp, yyvsp[(2) - (7)].id);
10851 yyval.asmField->loc = (yyloc);
10857 yyval.list = MkListOne(yyvsp[(1) - (1)].asmField);
10863 ListAdd(yyval.list, yyvsp[(3) - (3)].asmField);
10869 yyval.list = (((void *)0));
10875 yyval.stmt = MkAsmStmt(yyvsp[(2) - (6)].specifier, yyvsp[(4) - (6)].string, (((void *)0)), (((void *)0)), (((void *)0)));
10876 yyval.stmt->loc = (yyloc);
10882 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, yyvsp[(6) - (8)].list, (((void *)0)), (((void *)0)));
10883 yyval.stmt->loc = (yyloc);
10889 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list, (((void *)0)));
10890 yyval.stmt->loc = (yyloc);
10896 yyval.stmt = MkAsmStmt(yyvsp[(2) - (12)].specifier, yyvsp[(4) - (12)].string, yyvsp[(6) - (12)].list, yyvsp[(8) - (12)].list, yyvsp[(10) - (12)].list);
10897 yyval.stmt->loc = (yyloc);
10903 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, (((void *)0)), yyvsp[(6) - (8)].list, (((void *)0)));
10904 yyval.stmt->loc = (yyloc);
10910 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, (((void *)0)), yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list);
10911 yyval.stmt->loc = (yyloc);
10917 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, (((void *)0)), yyvsp[(8) - (10)].list);
10918 yyval.stmt->loc = (yyloc);
10924 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (5)].string, (((void *)0)), (((void *)0)), (((void *)0)));
10925 yyval.stmt->loc = (yyloc);
10931 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, yyvsp[(5) - (7)].list, (((void *)0)), (((void *)0)));
10932 yyval.stmt->loc = (yyloc);
10938 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, (((void *)0)));
10939 yyval.stmt->loc = (yyloc);
10945 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (11)].string, yyvsp[(5) - (11)].list, yyvsp[(7) - (11)].list, yyvsp[(9) - (11)].list);
10946 yyval.stmt->loc = (yyloc);
10952 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, (((void *)0)), yyvsp[(5) - (7)].list, (((void *)0)));
10953 yyval.stmt->loc = (yyloc);
10959 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, (((void *)0)), yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list);
10960 yyval.stmt->loc = (yyloc);
10966 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, (((void *)0)), yyvsp[(7) - (9)].list);
10967 yyval.stmt->loc = (yyloc);
10973 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
10974 yyval.stmt->loc = (yyloc);
10980 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
10981 yyval.stmt->loc = (yyloc);
10982 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
10988 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
10989 yyval.stmt->loc = (yyloc);
10990 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
10996 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
10997 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
10998 yyval.stmt->loc = (yyloc);
10999 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11005 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11006 yyval.stmt->loc = (yyloc);
11012 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11014 stmt->loc = (yylsp[(3) - (3)]);
11015 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11016 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11017 yyval.stmt->loc = (yyloc);
11023 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11025 stmt->loc = (yylsp[(4) - (4)]);
11026 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11027 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11028 yyval.stmt->loc = (yyloc);
11029 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11035 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11037 stmt->loc = (yylsp[(4) - (4)]);
11038 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11039 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11040 yyval.stmt->loc = (yyloc);
11041 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11047 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11049 stmt->loc = (yylsp[(3) - (3)]);
11050 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11051 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11052 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11053 yyval.stmt->loc = (yyloc);
11054 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11060 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11062 stmt->loc = (yylsp[(3) - (3)]);
11063 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11064 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11065 yyval.stmt->loc = (yyloc);
11071 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11072 yyval.stmt->loc = (yyloc);
11078 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11079 yyval.stmt->loc = (yyloc);
11080 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11086 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11087 yyval.stmt->loc = (yyloc);
11088 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11094 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11095 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11096 yyval.stmt->loc = (yyloc);
11097 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11103 yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0)));
11104 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]);
11105 yyval.stmt->loc = (yyloc);
11106 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
11112 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11113 yyval.stmt->loc = (yyloc);
11119 yyval.stmt = MkCaseStmt((((void *)0)), (((void *)0)));
11120 yyval.stmt->loc = (yyloc);
11126 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11128 stmt->loc = (yylsp[(3) - (3)]);
11129 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11130 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11131 yyval.stmt->loc = (yyloc);
11137 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11139 stmt->loc = (yylsp[(4) - (4)]);
11140 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11141 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11142 yyval.stmt->loc = (yyloc);
11143 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11149 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11151 stmt->loc = (yylsp[(4) - (4)]);
11152 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11153 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11154 yyval.stmt->loc = (yyloc);
11155 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11161 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11163 stmt->loc = (yylsp[(3) - (3)]);
11164 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11165 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11166 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11167 yyval.stmt->loc = (yyloc);
11168 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11174 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11176 stmt->loc = (yylsp[(3) - (3)]);
11177 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11178 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11179 yyval.stmt->loc = (yyloc);
11185 yyval.declMode = structDeclMode = declMode = 1;
11191 yyval.declMode = structDeclMode = declMode = 2;
11197 yyval.declMode = structDeclMode = declMode = 0;
11203 yyval.declMode = 1;
11209 yyval.declMode = 2;
11215 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11216 yyval.declaration->loc = (yyloc);
11217 structDeclMode = defaultDeclMode;
11223 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11224 yyval.declaration->loc = (yyloc);
11225 structDeclMode = defaultDeclMode;
11231 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11232 yyval.declaration->loc = (yyloc);
11233 structDeclMode = defaultDeclMode;
11239 yyval.declaration = yyvsp[(1) - (2)].declaration;
11240 structDeclMode = defaultDeclMode;
11246 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11247 yyval.declaration->loc = (yyloc);
11253 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11254 yyval.declaration->loc = (yyloc);
11260 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11261 yyval.declaration->loc = (yyloc);
11267 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11268 yyval.declaration->loc = (yyloc);
11274 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
11275 yyval.declaration->loc = (yyloc);
11281 structDeclMode = declMode = 3;
11282 yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp);
11283 yyval.declaration->loc = (yyloc);
11289 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11290 yyval.declaration->loc = (yyloc);
11297 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11298 yyval.declaration->loc = (yyloc);
11299 structDeclMode = defaultDeclMode;
11305 structDeclMode = defaultDeclMode;
11311 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11312 yyval.declaration->loc = (yyloc);
11313 structDeclMode = defaultDeclMode;
11319 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11320 yyval.declaration->loc = (yyloc);
11321 structDeclMode = defaultDeclMode;
11327 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11328 yyval.declaration->loc = (yyloc);
11329 structDeclMode = defaultDeclMode;
11335 yyval.list = MkList();
11336 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11342 yyval.list = yyvsp[(1) - (2)].list;
11343 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11349 yyval.list = yyvsp[(1) - (2)].list;
11350 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11356 yyval.list = yyvsp[(1) - (3)].list;
11362 yyval.list = MkList();
11363 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11369 yyval.list = yyvsp[(1) - (2)].list;
11370 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11376 yyval.list = MkList();
11377 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11383 yyval.list = yyvsp[(1) - (2)].list;
11384 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11390 yyval.list = yyvsp[(1) - (2)].list;
11391 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11397 yyval.list = MkList();
11398 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11404 yyval.list = yyvsp[(1) - (2)].list;
11405 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11411 yyval.list = yyvsp[(1) - (2)].list;
11412 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11418 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11420 stmt->loc = (yylsp[(2) - (2)]);
11421 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11422 yyval.list = yyvsp[(1) - (2)].list;
11423 ListAdd(yyvsp[(1) - (2)].list, stmt);
11429 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11431 stmt->loc = (yylsp[(2) - (2)]);
11432 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11433 yyval.list = yyvsp[(1) - (2)].list;
11434 ListAdd(yyvsp[(1) - (2)].list, stmt);
11440 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11442 stmt->loc = (yylsp[(2) - (2)]);
11443 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11444 yyval.list = yyvsp[(1) - (2)].list;
11445 ListAdd(yyvsp[(1) - (2)].list, stmt);
11451 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11453 stmt->loc = (yylsp[(2) - (2)]);
11454 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11455 yyval.list = yyvsp[(1) - (2)].list;
11456 ListAdd(yyvsp[(1) - (2)].list, stmt);
11462 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11468 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11474 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11480 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11486 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11492 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11498 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11504 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11510 yyval.context = PushContext();
11516 yyval.stmt = yyvsp[(1) - (2)].stmt;
11517 yyval.stmt->loc = (yyloc);
11523 yyval.stmt = yyvsp[(2) - (2)].stmt;
11524 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11525 PopContext(yyvsp[(1) - (2)].context);
11526 yyval.stmt->loc = (yyloc);
11527 yyval.stmt->loc.end.charPos++;
11528 yyval.stmt->loc.end.pos++;
11534 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
11535 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context;
11536 PopContext(yyvsp[(1) - (1)].context);
11537 yyval.stmt->loc = (yyloc);
11538 yyval.stmt->loc.end.charPos++;
11539 yyval.stmt->loc.end.pos++;
11545 yyval.stmt = yyvsp[(2) - (2)].stmt;
11546 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11547 PopContext(yyvsp[(1) - (2)].context);
11548 yyval.stmt->loc = (yyloc);
11549 yyval.stmt->loc.end.charPos++;
11550 yyval.stmt->loc.end.pos++;
11556 yyval.stmt = MkExpressionStmt((((void *)0)));
11557 yyval.stmt->loc = (yyloc);
11563 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11564 yyval.stmt->loc = (yyloc);
11570 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11571 yyval.stmt->loc = (yyloc);
11577 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11578 yyval.stmt->loc = (yyloc);
11584 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11585 yyval.stmt->loc = (yyloc);
11591 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11592 yyval.stmt->loc = (yyloc);
11598 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11599 yyval.stmt->loc = (yyloc);
11605 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11606 yyval.stmt->loc = (yyloc);
11612 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11613 yyval.stmt->loc = (yyloc);
11619 yyval.stmt = MkIfStmt(yyvsp[(3) - (3)].list, (((void *)0)), (((void *)0)));
11620 yyval.stmt->loc = (yyloc);
11626 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11627 yyval.stmt->loc = (yyloc);
11633 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11634 yyval.stmt->loc = (yyloc);
11641 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
11642 yyval.stmt->loc = (yyloc);
11648 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
11649 yyval.stmt->loc = (yyloc);
11655 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11656 yyval.stmt->loc = (yyloc);
11662 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11663 yyval.stmt->loc = (yyloc);
11670 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
11671 yyval.stmt->loc = (yyloc);
11677 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11678 yyval.stmt->loc = (yyloc);
11684 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11685 yyval.stmt->loc = (yyloc);
11692 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
11693 yyval.stmt->loc = (yyloc);
11699 yyval.stmt = MkForEachStmt(yyvsp[(3) - (7)].id, yyvsp[(5) - (7)].list, (((void *)0)), yyvsp[(7) - (7)].stmt);
11700 yyval.stmt->loc = (yyloc);
11706 yyval.stmt = MkForEachStmt(yyvsp[(3) - (9)].id, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, yyvsp[(9) - (9)].stmt);
11707 yyval.stmt->loc = (yyloc);
11713 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
11714 yyval.stmt->loc = (yyloc);
11720 yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0)));
11721 yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]);
11722 yyval.stmt->loc = (yyloc);
11728 yyval.stmt = MkForStmt(yyvsp[(3) - (4)].stmt, (((void *)0)), (((void *)0)), (((void *)0)));
11729 yyval.stmt->loc = (yyloc);
11735 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0)));
11736 yyval.stmt->loc = (yyloc);
11737 yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]);
11743 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, yyvsp[(4) - (5)].stmt, yyvsp[(5) - (5)].list, (((void *)0)));
11744 yyval.stmt->loc = (yyloc);
11750 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11751 yyval.stmt->loc = (yyloc);
11757 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11758 yyval.stmt->loc = (yyloc);
11764 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11765 yyval.stmt->loc = (yyloc);
11772 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11773 yyval.stmt->loc = (yyloc);
11780 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11781 yyval.stmt->loc = (yyloc);
11787 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11788 yyval.stmt->loc = (yyloc);
11794 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (4)].stmt, (((void *)0)));
11795 yyval.stmt->loc = (yyloc);
11802 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (3)].stmt, (((void *)0)));
11803 yyval.stmt->loc = (yyloc);
11810 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (2)].stmt, (((void *)0)));
11811 yyval.stmt->loc = (yyloc);
11818 yyval.stmt = MkDoWhileStmt((((void *)0)), (((void *)0)));
11819 yyval.stmt->loc = (yyloc);
11825 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11826 yyval.stmt->loc = (yyloc);
11832 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11833 yyval.stmt->loc = (yyloc);
11839 yyval.stmt = MkWhileStmt(yyvsp[(3) - (3)].list, (((void *)0)));
11840 yyval.stmt->loc = (yyloc);
11846 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11847 yyval.stmt->loc = (yyloc);
11853 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11854 yyval.stmt->loc = (yyloc);
11860 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
11861 yyval.stmt->loc = (yyloc);
11867 yyval.stmt = MkContinueStmt();
11868 yyval.stmt->loc = (yyloc);
11874 yyval.stmt = MkBreakStmt();
11875 yyval.stmt->loc = (yyloc);
11881 struct Expression * exp = MkExpDummy();
11883 yyval.stmt = MkReturnStmt(MkListOne(exp));
11884 yyval.stmt->loc = (yyloc);
11885 exp->loc = (yylsp[(2) - (2)]);
11891 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
11892 yyval.stmt->loc = (yyloc);
11898 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
11899 yyval.stmt->loc = (yyloc);
11905 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
11906 yyval.stmt->loc = (yyloc);
11912 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
11913 yyval.stmt->loc = (yyloc);
11919 yyval.stmt = MkReturnStmt(yyvsp[(2) - (2)].list);
11920 yyval.stmt->loc = (yyloc);
11926 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (2)].exp));
11927 yyval.stmt->loc = (yyloc);
11933 struct Expression * exp = MkExpDummy();
11935 yyval.stmt = MkReturnStmt(MkListOne(exp));
11936 yyval.stmt->loc = (yyloc);
11937 exp->loc.start = exp->loc.end = (yylsp[(1) - (1)]).end;
11943 yyval.stmt = MkGotoStmt((((void *)0)));
11944 yyval.stmt->loc = (yyloc);
11950 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
11951 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
11952 yyval.function->loc = (yyloc);
11958 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
11959 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
11960 yyval.function->loc = (yyloc);
11966 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
11967 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
11968 yyval.function->loc = (yyloc);
11974 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
11975 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
11976 yyval.function->loc = (yyloc);
11982 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
11983 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
11984 yyval.function->loc = (yyloc);
11990 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
11991 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
11992 yyval.function->loc = (yyloc);
11998 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
11999 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12000 yyval.function->loc = (yyloc);
12001 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12007 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12008 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12009 yyval.function->loc = (yyloc);
12010 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12016 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12017 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12018 yyval.function->loc = (yyloc);
12019 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12025 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12026 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12027 yyval.function->loc = (yyloc);
12028 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12034 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12035 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12036 yyval.function->loc = (yyloc);
12037 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12043 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12044 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12045 yyval.function->loc = (yyloc);
12046 yyval.function->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
12052 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
12058 int len1 = strlen(yyvsp[(1) - (2)].string);
12059 int len2 = strlen(yytext);
12061 yyval.string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len1 - 1 + len2 - 1 + 1));
12062 memcpy(yyval.string, yyvsp[(1) - (2)].string, len1 - 1);
12063 memcpy(yyval.string + len1 - 1, yytext + 1, len2);
12064 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (2)].string), yyvsp[(1) - (2)].string = 0);
12070 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12071 yyval.external->loc = (yyloc);
12072 yyvsp[(1) - (1)].function->declMode = declMode;
12073 structDeclMode = declMode = defaultDeclMode;
12079 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12080 yyval.external->loc = (yyloc);
12081 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12082 structDeclMode = declMode = defaultDeclMode;
12088 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12089 yyval.external->loc = (yyloc);
12090 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12091 structDeclMode = declMode = defaultDeclMode;
12092 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12098 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12099 yyval.external->loc = (yyloc);
12100 yyvsp[(1) - (1)].declaration->declMode = declMode;
12101 structDeclMode = declMode = defaultDeclMode;
12107 yyval.external = MkExternalImport(yyvsp[(2) - (2)].string, 0, (declMode != 0) ? declMode : 2);
12108 yyval.external->loc = (yyloc);
12114 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 1, (declMode != 0) ? declMode : 2);
12115 yyval.external->loc = (yyloc);
12121 unsigned int isRemote = !strcmp(yyvsp[(2) - (3)].id->string, "remote");
12123 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, isRemote ? 2 : 0, (declMode != 0) ? declMode : 2);
12124 yyval.external->loc = (yyloc);
12125 FreeIdentifier(yyvsp[(2) - (3)].id);
12133 yyval.external = (((void *)0));
12139 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12140 yyval.external->loc = (yyloc);
12141 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12142 structDeclMode = declMode = defaultDeclMode;
12148 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12149 yyval.external->loc = (yyloc);
12150 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12151 structDeclMode = declMode = defaultDeclMode;
12157 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12158 yyval.external->loc = (yyloc);
12159 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12160 structDeclMode = declMode = defaultDeclMode;
12166 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2);
12167 yyval.external->loc = (yyloc);
12168 structDeclMode = declMode = defaultDeclMode;
12174 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12175 yyval.external->loc = (yyloc);
12176 structDeclMode = declMode = defaultDeclMode;
12182 unsigned int isRemote = !strcmp(yyvsp[(3) - (4)].id->string, "remote");
12184 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12185 yyval.external->loc = (yyloc);
12186 FreeIdentifier(yyvsp[(3) - (4)].id);
12187 structDeclMode = declMode = defaultDeclMode;
12195 defaultDeclMode = yyvsp[(1) - (2)].declMode;
12196 yyval.external = (((void *)0));
12202 defaultDeclMode = 3;
12203 yyval.external = (((void *)0));
12209 yyval.external = MkExternalNameSpace(yyvsp[(2) - (2)].id);
12210 yyval.external->loc = (yyloc);
12216 yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name));
12217 FreeSpecifier(yyvsp[(2) - (2)].specifier);
12218 yyval.external->loc = (yyloc);
12224 yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef);
12225 yyval.external->loc = (yyloc);
12226 yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2;
12227 structDeclMode = declMode = defaultDeclMode;
12233 yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef);
12234 yyval.external->loc = (yyloc);
12235 yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2;
12236 structDeclMode = declMode = defaultDeclMode;
12243 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12244 yyval.external->loc = yyvsp[(1) - (1)]._class->loc;
12245 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12246 structDeclMode = declMode = defaultDeclMode;
12253 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12254 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12255 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12256 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12257 structDeclMode = declMode = defaultDeclMode;
12264 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12265 yyval.external->loc = yyvsp[(1) - (1)].function->loc;
12266 yyvsp[(1) - (1)].function->declMode = declMode;
12267 structDeclMode = declMode = defaultDeclMode;
12274 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12275 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12276 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12277 structDeclMode = declMode = defaultDeclMode;
12284 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12285 yyval.external->loc = yyvsp[(2) - (2)].function->loc;
12286 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12287 structDeclMode = declMode = defaultDeclMode;
12294 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12295 yyval.external->loc = (yyloc);
12296 yyvsp[(1) - (1)].declaration->declMode = declMode;
12297 structDeclMode = declMode = defaultDeclMode;
12304 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12305 yyval.external->loc = (yyloc);
12306 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12307 structDeclMode = declMode = defaultDeclMode;
12313 yyval.list = MkList();
12314 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12321 yyval.list = yyvsp[(1) - (2)].list;
12322 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12328 yyval.list = yyvsp[(1) - (2)].list;
12329 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12335 yyval.list = MkList();
12336 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12343 yyval.list = yyvsp[(1) - (2)].list;
12344 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12350 struct External * _class = MkExternalClass(yyvsp[(2) - (2)]._class);
12352 yyval.list = yyvsp[(1) - (2)].list;
12353 ListAdd(yyvsp[(1) - (2)].list, _class);
12354 _class->loc = (yylsp[(2) - (2)]);
12355 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12356 structDeclMode = declMode = defaultDeclMode;
12362 struct External * _class = MkExternalClass(yyvsp[(3) - (3)]._class);
12364 yyval.list = yyvsp[(1) - (3)].list;
12365 ListAdd(yyvsp[(1) - (3)].list, _class);
12366 _class->loc = (yylsp[(3) - (3)]);
12367 yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2;
12368 structDeclMode = declMode = defaultDeclMode;
12380 struct Symbol * symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
12382 FreeIdentifier(yyvsp[(3) - (6)].id);
12383 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12389 struct Symbol * symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
12391 FreeSpecifier(yyvsp[(3) - (6)].specifier);
12392 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12398 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (5)].string, (((void *)0)), yyvsp[(4) - (5)].list);
12404 yyval.dbtableEntry = MkDBFieldEntry(MkTypeName(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(2) - (4)].id, yyvsp[(3) - (4)].string);
12410 yyval.dbindexItem = MkDBIndexItem(yyvsp[(1) - (1)].id, 0);
12416 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 1);
12422 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 0);
12428 yyval.list = MkList();
12429 ListAdd(yyval.list, yyvsp[(1) - (1)].dbindexItem);
12435 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].dbindexItem);
12441 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (3)].list, (((void *)0)));
12447 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].id);
12453 yyval.list = MkList();
12454 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12460 yyval.list = MkList();
12461 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12467 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12473 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12479 yyval.exp = MkExpDBOpen(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].exp);
12485 yyval.exp = MkExpDBField(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12491 yyval.exp = MkExpDBIndex(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12497 yyval.exp = MkExpDBTable(yyvsp[(3) - (4)].string);
12508 fprintf((bsl_stderr()), "%s ", "-> $$ =");
12509 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
12510 fprintf((bsl_stderr()), "\n");
12513 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12518 yy_stack_print((yyss), (yyssp));
12523 yystate = yypgoto[yyn - 144] + *yyssp;
12524 if(0 <= yystate && yystate <= 41266 && yycheck[yystate] == *yyssp)
12525 yystate = yytable[yystate];
12527 yystate = yydefgoto[yyn - 144];
12533 yyerror("syntax error");
12535 yyerror_range[0] = yylloc;
12536 if(yyerrstatus == 3)
12545 yydestruct("Error: discarding", yytoken, &yylval, &yylloc);
12553 yyerror_range[0] = yylsp[1 - yylen];
12554 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12559 yy_stack_print((yyss), (yyssp));
12567 yyn = yypact[yystate];
12571 if(0 <= yyn && yyn <= 41266 && yycheck[yyn] == 1)
12573 yyn = yytable[yyn];
12580 yyerror_range[0] = *yylsp;
12581 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
12582 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
12587 yy_stack_print((yyss), (yyssp));
12591 yyerror_range[1] = yylloc;
12592 (yyloc.start = ((yyerror_range - 1))[1].start);
12593 (yyloc.end = ((yyerror_range - 1))[2].end);
12600 fprintf((bsl_stderr()), "%s ", "Shifting");
12601 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
12602 fprintf((bsl_stderr()), "\n");
12614 yyerror("memory exhausted");
12618 yydestruct("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc);
12619 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12623 yy_stack_print((yyss), (yyssp));
12625 while(yyssp != yyss)
12627 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
12628 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));