From 51904f668a86d8f001b3e9c8018e5452f6bbee0e Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Sat, 25 Aug 2007 02:47:54 +0000 Subject: [PATCH] Replace IPV6 regexp with a much simpler (readable) one and add an extra check when it matches to make sure we have a valid address. --- toke.c | 3484 ++++++++++++++++---------------------------------------- toke.l | 42 +- 2 files changed, 1014 insertions(+), 2512 deletions(-) diff --git a/toke.c b/toke.c index 75f3b0219..cf0824968 100644 --- a/toke.c +++ b/toke.c @@ -290,7 +290,7 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); #define YY_NUM_RULES 47 #define YY_END_OF_BUFFER 48 -static yyconst short int yy_accept[1301] = +static yyconst short int yy_accept[534] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 35, 43, 42, 41, 46, 35, 36, @@ -301,140 +301,56 @@ static yyconst short int yy_accept[1301] = 7, 8, 3, 8, 4, 46, 11, 11, 11, 10, 11, 35, 0, 43, 41, 0, 0, 35, 26, 0, 25, 0, 34, 34, 0, 35, 35, 0, 35, 35, - 35, 35, 29, 31, 31, 31, 31, 31, 31, 35, - - 44, 35, 43, 0, 0, 0, 0, 0, 0, 35, - 35, 35, 35, 35, 1, 32, 32, 0, 35, 15, - 15, 13, 12, 13, 0, 2, 8, 0, 5, 6, - 8, 8, 11, 11, 11, 11, 11, 9, 0, 45, - 0, 35, 35, 35, 35, 0, 29, 35, 0, 29, - 31, 31, 31, 31, 31, 31, 31, 35, 0, 0, - 0, 0, 0, 0, 35, 35, 35, 35, 35, 0, - 35, 9, 35, 35, 35, 35, 35, 35, 0, 0, - 29, 29, 29, 29, 30, 30, 30, 0, 0, 29, - 0, 31, 31, 31, 31, 31, 31, 31, 35, 0, - + 35, 35, 0, 29, 31, 31, 31, 31, 31, 31, + + 35, 44, 35, 43, 0, 0, 0, 0, 0, 0, + 35, 35, 35, 35, 35, 1, 32, 32, 0, 35, + 15, 15, 13, 12, 13, 0, 2, 8, 0, 5, + 6, 8, 8, 11, 11, 11, 11, 11, 9, 0, + 45, 0, 35, 35, 35, 35, 35, 0, 0, 29, + 29, 31, 31, 31, 31, 31, 31, 31, 35, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, - 35, 35, 0, 0, 29, 0, 29, 0, 29, 29, - 29, 29, 0, 0, 30, 30, 30, 29, 29, 29, + 0, 35, 9, 35, 35, 35, 35, 35, 35, 0, + 30, 30, 30, 0, 0, 29, 29, 29, 29, 29, + 29, 29, 31, 31, 31, 31, 31, 31, 31, 35, + + 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, + 35, 35, 35, 0, 0, 30, 30, 30, 0, 29, + 29, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 22, 31, 31, 31, 31, 31, 35, 0, 0, 0, 0, 35, 35, 35, 35, 35, - 35, 35, 35, 0, 0, 0, 29, 29, 29, 29, - 0, 0, 0, 29, 29, 29, 29, 29, 29, 0, - 0, 29, 30, 29, 29, 0, 29, 0, 29, 29, - 29, 29, 31, 31, 31, 31, 31, 35, 0, 0, - 0, 35, 35, 35, 27, 27, 27, 0, 0, 29, - - 29, 0, 29, 29, 29, 29, 0, 0, 0, 0, - 0, 29, 0, 29, 0, 29, 29, 29, 29, 0, - 0, 0, 29, 29, 29, 29, 29, 0, 0, 0, - 0, 29, 29, 29, 29, 29, 29, 0, 21, 31, - 31, 0, 20, 0, 23, 35, 0, 0, 0, 35, - 35, 35, 35, 27, 27, 27, 27, 0, 0, 0, - 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, - 0, 0, 0, 29, 29, 29, 29, 29, 29, 0, - 0, 29, 0, 29, 0, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 0, 0, 0, 0, 0, 29, - - 29, 0, 29, 29, 29, 29, 31, 31, 33, 0, - 0, 0, 35, 17, 32, 35, 28, 28, 28, 0, - 0, 29, 29, 0, 29, 29, 0, 29, 29, 29, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 0, 29, 0, 29, 29, 29, 29, 0, - 0, 0, 29, 29, 29, 29, 0, 0, 0, 29, - 29, 29, 29, 29, 29, 29, 0, 29, 0, 29, - 29, 29, 29, 0, 0, 0, 29, 29, 29, 29, - 29, 29, 0, 19, 0, 24, 0, 17, 0, 35, - 0, 35, 35, 35, 28, 28, 28, 28, 28, 0, - + 35, 35, 35, 0, 30, 0, 29, 29, 29, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, - 0, 0, 0, 29, 29, 29, 29, 29, 29, 0, - 0, 29, 29, 0, 29, 29, 29, 29, 0, 0, - 0, 0, 0, 29, 0, 29, 0, 29, 29, 29, - 29, 0, 0, 0, 29, 29, 29, 29, 29, 29, - 0, 0, 0, 0, 0, 29, 29, 0, 29, 29, - 29, 29, 0, 0, 18, 17, 0, 17, 0, 35, - 35, 35, 28, 28, 0, 0, 29, 29, 0, 29, - 29, 0, 29, 29, 29, 29, 29, 29, 0, 29, - - 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 29, - 0, 29, 29, 29, 29, 0, 0, 0, 29, 29, - 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, - 0, 29, 29, 29, 29, 29, 29, 0, 0, 0, - 0, 0, 29, 29, 0, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 18, 0, - 16, 35, 35, 35, 35, 35, 0, 0, 0, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 31, 31, 31, 31, 31, + 35, 0, 0, 0, 35, 35, 35, 27, 27, 27, + 0, 0, 29, 29, 29, 29, 29, 29, 29, 0, - 0, 0, 0, 0, 0, 0, 29, 29, 29, 29, - 29, 29, 0, 0, 29, 29, 0, 29, 29, 0, - 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 29, 0, 29, 0, 29, 29, + 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 0, 21, + 31, 31, 0, 20, 0, 23, 35, 0, 0, 0, + 35, 35, 35, 35, 27, 27, 27, 27, 0, 29, + 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 0, 29, 29, - 29, 29, 35, 35, 35, 0, 0, 0, 0, 29, - 0, 29, 0, 29, 29, 0, 29, 29, 29, 29, - 29, 29, 0, 29, 29, 29, 29, 29, 29, 0, + 29, 29, 29, 29, 29, 29, 29, 29, 31, 31, + 33, 0, 0, 0, 35, 17, 32, 35, 28, 28, + 28, 29, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, - 29, 0, 29, 29, 29, 29, 0, 0, 0, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, - 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, - 0, 29, 29, 0, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 35, 35, 35, 35, 35, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 0, 0, 0, 0, 0, 0, 29, 29, - - 29, 0, 0, 29, 29, 0, 29, 29, 0, 29, - 29, 29, 29, 29, 29, 0, 29, 29, 29, 29, - 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 29, 0, 29, 0, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 0, 29, 29, 29, 29, 27, 27, - 27, 0, 0, 0, 0, 29, 29, 0, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 29, 0, 0, 0, 29, 29, 29, 29, - - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 0, 29, 29, 29, 29, - 29, 29, 29, 27, 27, 27, 0, 0, 0, 0, - 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 0, 0, 0, 29, 0, 0, 0, 0, 29, - 0, 29, 0, 29, 29, 0, 29, 29, 29, 29, - 29, 29, 0, 29, 29, 29, 29, 29, 29, 0, - 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, - 29, 0, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 0, 0, 0, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, - 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, - 0, 0, 29, 29, 29, 29, 29, 0, 29, 29, - 29, 29, 29, 0, 0, 0, 0, 0, 29, 29, - 29, 0, 0, 0, 0, 29, 29, 0, 29, 29, - + 29, 0, 19, 0, 24, 0, 17, 0, 35, 0, + 35, 35, 35, 28, 28, 28, 28, 28, 0, 0, + 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, - 0, 0, 29, 29, 29, 29, 29, 29, 29, 0, - 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 0, 0, 0, 0, 0, 29, 29, 0, - 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 0 + 29, 29, 29, 0, 0, 18, 17, 0, 17, 0, + 35, 35, 35, 28, 28, 0, 0, 0, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 18, 0, 16, 35, + 35, 35, 35, 35, 0, 0, 0, 0, 0, 29, + 29, 29, 29, 29, 29, 29, 29, 35, 35, 35, + 29, 29, 29, 29, 29, 29, 35, 35, 35, 35, + 35, 29, 29, 29, 29, 29, 27, 27, 27, 27, + 27, 27, 0 } ; static yyconst int yy_ec[256] = @@ -480,355 +396,147 @@ static yyconst int yy_meta[63] = 12, 12 } ; -static yyconst short int yy_base[1544] = +static yyconst short int yy_base[594] = { 0, 0, 61, 62, 63, 69, 84, 128, 189, 250, 294, - 80, 101, 3947, 3901, 3930, 9138, 3927, 120, 3885, 9138, - 9138, 3838, 9138, 109, 326, 139, 131, 3857, 9138, 9138, - 378, 3836, 425, 3843, 3836, 3831, 476, 149, 35, 192, - 490, 3806, 3810, 3788, 3746, 3721, 3778, 183, 256, 53, - 0, 9138, 3775, 0, 9138, 264, 194, 98, 0, 3627, - 9138, 82, 9138, 99, 9138, 108, 3626, 74, 75, 9138, - 226, 3596, 306, 3638, 3635, 3634, 304, 343, 3591, 512, - 3577, 521, 325, 3576, 546, 442, 557, 3596, 3605, 473, - 543, 450, 3581, 594, 0, 3528, 89, 3502, 3500, 283, - - 9138, 174, 597, 3483, 3487, 3464, 3459, 3433, 161, 152, - 60, 212, 163, 176, 3490, 592, 3446, 645, 228, 0, - 3486, 256, 9138, 9138, 277, 0, 3429, 627, 9138, 9138, - 3428, 290, 3426, 272, 292, 307, 495, 3435, 3433, 9138, - 653, 665, 697, 729, 761, 3411, 799, 3409, 836, 266, - 873, 3392, 3377, 3392, 3363, 3343, 3349, 246, 3295, 3288, - 3265, 3267, 3253, 67, 291, 3250, 242, 322, 224, 697, - 323, 3276, 708, 339, 912, 944, 718, 358, 3253, 3252, - 976, 673, 574, 748, 3250, 778, 434, 3249, 3235, 502, - 1013, 3234, 314, 3225, 3217, 3201, 3152, 3157, 335, 3141, - - 3143, 3115, 3128, 3066, 229, 459, 557, 327, 477, 1052, - 1084, 1116, 3098, 3082, 1147, 738, 517, 1184, 606, 1223, - 0, 818, 3081, 3056, 853, 3026, 2998, 0, 519, 1234, - 890, 898, 922, 533, 9138, 2991, 2981, 2987, 2971, 2933, - 436, 2928, 2911, 2893, 480, 511, 595, 553, 930, 537, - 1273, 1305, 964, 2911, 2908, 2892, 1337, 994, 952, 1032, - 1062, 1072, 1094, 643, 1376, 1102, 1124, 1132, 648, 2891, - 2872, 1413, 2871, 2870, 649, 1164, 683, 1450, 962, 1489, - 0, 1203, 632, 2850, 2842, 678, 699, 621, 2848, 2775, - 658, 731, 454, 934, 1499, 1530, 1561, 2805, 2804, 2786, - - 1023, 1591, 1043, 1630, 0, 1253, 1281, 2784, 1291, 1315, - 1325, 1072, 1354, 1264, 1639, 1387, 1678, 0, 1398, 2773, - 2742, 2741, 1689, 1430, 1172, 1469, 2724, 1726, 1509, 1519, - 1540, 1132, 1765, 1548, 1362, 1571, 1460, 783, 9138, 2706, - 2692, 801, 9138, 802, 9138, 508, 2661, 2653, 516, 1261, - 523, 615, 1579, 659, 1803, 1834, 1659, 2679, 2661, 2657, - 1325, 1519, 1866, 1609, 1438, 1708, 1649, 1745, 1784, 1813, - 1823, 1844, 1854, 1657, 1905, 1883, 1891, 1924, 1736, 2656, - 2642, 1942, 1959, 913, 1979, 1085, 2018, 0, 683, 2641, - 2029, 1996, 1967, 2048, 2066, 2650, 2076, 2086, 2096, 1699, - - 2009, 2102, 2112, 2141, 0, 2123, 821, 838, 2570, 2559, - 2552, 738, 796, 2142, 2551, 2174, 2206, 2238, 2270, 2571, - 2544, 2526, 1775, 2300, 1823, 2156, 2337, 2158, 2376, 0, - 2184, 2193, 2526, 2216, 2226, 2248, 2254, 2525, 2280, 2290, - 2319, 1854, 2354, 2160, 2385, 2162, 2424, 0, 2404, 2426, - 2407, 2406, 2435, 2452, 2325, 2474, 2484, 2494, 2504, 2405, - 2514, 2531, 2362, 2553, 1306, 2403, 2561, 1396, 2569, 1591, - 2608, 0, 750, 2588, 2619, 2629, 1915, 2639, 2656, 2460, - 2678, 2310, 876, 9138, 1016, 9138, 2379, 2678, 1156, 837, - 2367, 2366, 2690, 942, 2722, 2754, 2786, 2818, 2701, 2386, - - 2385, 2340, 2039, 2226, 2850, 2704, 2539, 2733, 2290, 2889, - 2741, 2712, 2764, 2579, 2773, 2795, 2804, 2828, 2838, 2869, - 2908, 2928, 2938, 2599, 2948, 2965, 2973, 2987, 2669, 2339, - 2338, 0, 2077, 2995, 2121, 3034, 0, 765, 3012, 2347, - 3045, 3055, 3065, 2303, 3071, 2165, 3079, 2193, 3118, 0, - 783, 3098, 3129, 3139, 2302, 3149, 3166, 3020, 3188, 2207, - 3196, 2268, 3206, 3216, 3226, 2838, 2919, 3232, 3089, 3271, - 0, 3251, 2221, 2277, 2234, 2233, 3294, 2173, 3303, 3316, - 3348, 3380, 3327, 2444, 2182, 2161, 2168, 2860, 3410, 2899, - 3109, 3447, 3179, 3486, 0, 3339, 3284, 3299, 3495, 3302, - - 3534, 0, 3359, 2166, 3369, 3389, 3398, 3427, 2164, 3466, - 3514, 3545, 3551, 2153, 3561, 3571, 3581, 3286, 3587, 3307, - 3595, 3327, 3634, 0, 3614, 2124, 2105, 2104, 2087, 2051, - 3645, 3662, 3435, 3684, 2239, 3694, 3704, 3714, 3724, 3734, - 3744, 2050, 3754, 3771, 3670, 3793, 2271, 3801, 2059, 3811, - 3821, 3831, 2048, 2485, 3837, 2505, 3876, 0, 857, 3855, - 3886, 3895, 3457, 3905, 3922, 3779, 3944, 3505, 9138, 2053, - 9138, 3952, 1112, 3984, 4016, 3963, 2031, 2020, 4046, 3867, - 3935, 4085, 3969, 3993, 4001, 4001, 4124, 4024, 4032, 4065, - 4096, 4056, 4163, 4105, 4038, 4143, 4174, 4184, 4201, 4210, - - 4220, 4230, 4240, 4250, 4260, 4270, 4134, 4280, 4297, 4305, - 4319, 4329, 2001, 1998, 0, 1997, 4338, 1996, 2620, 4375, - 2755, 4414, 0, 876, 4329, 1992, 4357, 4394, 4425, 4431, - 1991, 4441, 4451, 4461, 1980, 4467, 2819, 4475, 3046, 4514, - 0, 932, 4494, 4525, 4535, 1979, 4545, 4562, 4570, 4584, - 3130, 1954, 4593, 4602, 4611, 4348, 4385, 4617, 4405, 4656, - 0, 4636, 4667, 4699, 4731, 1944, 4763, 4675, 4683, 1952, - 4709, 4485, 0, 4505, 4719, 0, 4722, 4802, 0, 4741, - 4690, 4749, 0, 4754, 4813, 0, 4782, 4751, 4824, 0, - 4826, 4837, 0, 4848, 1951, 4858, 4867, 4876, 4882, 1937, - - 4892, 4902, 4912, 4918, 1936, 4928, 4938, 4948, 4948, 4957, - 4967, 0, 4969, 4980, 0, 4991, 1925, 1924, 1908, 1907, - 1869, 5002, 5019, 4690, 5041, 1868, 5051, 5068, 4826, 5090, - 3150, 5098, 5106, 5114, 5124, 5134, 5144, 5154, 5164, 5174, - 1867, 5184, 5201, 4969, 5223, 3207, 5231, 1845, 5241, 5251, - 5261, 1804, 3410, 5267, 3562, 5306, 0, 979, 5032, 5317, - 5284, 5076, 5336, 5214, 5354, 1214, 5386, 5418, 5365, 1787, - 5371, 3646, 1786, 3685, 5450, 0, 997, 1794, 5297, 1793, - 5327, 1777, 5397, 5398, 1776, 5400, 5401, 1757, 5403, 5427, - 5436, 5460, 5470, 5480, 5490, 5500, 5510, 5520, 5404, 1756, - - 5530, 1746, 1745, 0, 1729, 5539, 1728, 3705, 5576, 3725, - 5615, 0, 999, 1711, 3745, 5624, 3812, 5663, 0, 1105, - 9138, 5530, 5556, 5564, 5593, 1720, 5643, 5674, 5684, 5690, - 1719, 5700, 5710, 5720, 1708, 5726, 4105, 5734, 4221, 5773, - 0, 1150, 5751, 5782, 5790, 1692, 5800, 5817, 5601, 5839, - 4241, 5405, 5634, 0, 5654, 5849, 0, 5860, 5869, 5877, - 5885, 5915, 5925, 5935, 1691, 1670, 1669, 4261, 1668, 5764, - 1667, 5830, 1651, 5894, 1650, 5895, 1622, 1621, 5944, 5953, - 5962, 5968, 1621, 5978, 5988, 5907, 5996, 1620, 6006, 6016, - 6026, 5896, 1618, 1594, 1593, 6032, 1592, 1580, 6071, 6049, - - 6057, 6090, 1579, 6110, 6127, 6135, 6149, 4442, 1562, 6159, - 6176, 6184, 6198, 4526, 6206, 6214, 6222, 6232, 6242, 6252, - 6262, 6272, 6282, 1550, 6292, 6309, 6317, 6331, 4546, 9138, - 6339, 6347, 6355, 1549, 4893, 6361, 4929, 6400, 0, 1186, - 6081, 1557, 6101, 1510, 6380, 6410, 6416, 1510, 6426, 6440, - 6450, 1472, 1480, 1479, 1478, 1462, 1461, 1425, 6457, 6466, - 6475, 6485, 6495, 6505, 1424, 1414, 6515, 6532, 6540, 0, - 6554, 1413, 0, 1397, 5003, 0, 5052, 6564, 0, 1188, - 1385, 5125, 0, 5145, 6575, 0, 1203, 1379, 5165, 0, - 5185, 6586, 0, 1207, 9138, 6595, 6603, 6611, 6617, 1350, - - 6627, 6637, 6647, 6653, 1349, 6663, 6673, 6683, 1338, 6689, - 5242, 0, 5409, 6699, 0, 1238, 1324, 6710, 6727, 6735, - 6749, 5471, 6370, 1332, 6759, 6769, 6779, 1265, 1159, 1145, - 1116, 1062, 1044, 1041, 6788, 6797, 6806, 6812, 1025, 6822, - 6832, 6842, 988, 950, 6848, 5491, 935, 5511, 6858, 0, - 1253, 0, 857, 0, 839, 0, 5675, 837, 0, 5701, - 820, 0, 5801, 6867, 6875, 6883, 6893, 6903, 6913, 6923, - 6933, 6943, 800, 0, 5926, 720, 5979, 0, 6007, 6953, - 0, 1294, 718, 6962, 698, 6972, 6982, 6992, 6999, 7008, - 7017, 7027, 7037, 7047, 676, 0, 9138, 6150, 0, 644, - - 0, 624, 0, 612, 0, 573, 0, 9138, 7055, 7063, - 7071, 7077, 570, 7087, 7097, 7107, 7113, 535, 7123, 7133, - 7143, 380, 0, 366, 0, 6233, 298, 7150, 7159, 7168, - 287, 7177, 7186, 7195, 7201, 211, 7211, 7221, 7231, 174, - 0, 0, 0, 0, 0, 0, 7237, 7245, 7253, 7263, - 7273, 7283, 0, 129, 0, 130, 7292, 7301, 7310, 7318, - 7328, 7338, 0, 9138, 9138, 9138, 9138, 9138, 9138, 7346, - 7354, 7362, 7368, 75, 7378, 7388, 7398, 9138, 0, 7404, - 52, 7414, 7424, 7434, 7440, 7448, 7456, 9138, 7464, 7472, - 7480, 9138, 7488, 7496, 7504, 9138, 7510, 7518, 7526, 9138, - - 7547, 7560, 7573, 7586, 7599, 7612, 7625, 7638, 7651, 7664, - 7677, 7679, 7692, 7705, 7718, 7731, 7744, 7749, 7755, 7768, - 7773, 7779, 7784, 7789, 7794, 7800, 7805, 7810, 7817, 7822, - 7827, 7832, 7838, 7843, 7848, 7854, 7859, 7864, 7869, 7876, - 7881, 7886, 7892, 7899, 7906, 7911, 7916, 7921, 7927, 7932, - 7937, 7943, 7949, 7955, 7960, 7965, 7972, 7977, 7984, 7989, - 7994, 8000, 8006, 8013, 8020, 8025, 8030, 8035, 8042, 8048, - 8061, 8074, 8087, 8100, 8105, 8110, 8116, 8122, 8128, 8134, - 8139, 8144, 8149, 8156, 8163, 8168, 8175, 8188, 8201, 8214, - 8227, 8232, 8237, 8243, 8249, 8256, 8263, 8270, 8275, 8280, - - 8285, 8290, 8295, 8302, 8308, 8321, 8334, 8339, 8345, 8351, - 8357, 8363, 8369, 8374, 8379, 8384, 8389, 8396, 8403, 8408, - 8415, 8428, 8433, 8439, 8445, 8450, 8457, 8462, 8469, 8474, - 8481, 8486, 8493, 8498, 8503, 8508, 8513, 8518, 8523, 8528, - 8535, 8541, 8554, 8561, 8566, 8572, 8578, 8584, 8590, 8596, - 8602, 8608, 8614, 8620, 8626, 8632, 8637, 8642, 8647, 8652, - 8659, 8666, 8673, 8678, 8685, 8690, 8703, 8708, 8714, 8720, - 8726, 8732, 8738, 8744, 8750, 8755, 8760, 8765, 8770, 8775, - 8780, 8787, 8793, 8799, 8812, 8818, 8824, 8830, 8836, 8842, - 8848, 8854, 8859, 8864, 8869, 8874, 8881, 8886, 8893, 8898, - - 8905, 8910, 8917, 8922, 8927, 8933, 8939, 8946, 8951, 8956, - 8961, 8966, 8971, 8976, 8981, 8986, 8991, 8996, 9001, 9006, - 9013, 9018, 9024, 9029, 9034, 9039, 9044, 9049, 9054, 9059, - 9064, 9069, 9074, 9079, 9084, 9089, 9094, 9099, 9104, 9109, - 9114, 9119, 9124 + 80, 101, 2177, 2129, 2171, 3367, 2168, 120, 2118, 3367, + 3367, 2100, 3367, 109, 326, 139, 131, 2102, 3367, 3367, + 378, 2081, 425, 2088, 2095, 2090, 476, 149, 35, 192, + 490, 2051, 2055, 2047, 2027, 2028, 2085, 183, 256, 53, + 0, 3367, 2079, 0, 3367, 264, 194, 98, 0, 2034, + 3367, 82, 3367, 99, 3367, 108, 2032, 74, 75, 3367, + 226, 2031, 306, 2068, 2065, 2065, 304, 343, 2002, 512, + 1999, 521, 325, 1998, 546, 442, 557, 2018, 2021, 473, + 543, 450, 1988, 97, 594, 0, 1978, 188, 1944, 1940, + + 283, 3367, 174, 597, 1922, 1900, 1890, 1885, 1886, 71, + 152, 112, 212, 224, 228, 1899, 592, 1852, 645, 233, + 0, 1866, 256, 3367, 3367, 288, 0, 1822, 627, 3367, + 3367, 1794, 290, 1793, 272, 292, 307, 495, 1835, 1833, + 3367, 653, 665, 697, 729, 761, 1806, 1795, 798, 289, + 836, 873, 1753, 1738, 1732, 1724, 1687, 1658, 163, 1632, + 1636, 1627, 1614, 1619, 67, 291, 1605, 242, 322, 173, + 697, 323, 1649, 708, 339, 912, 944, 718, 358, 1626, + 1625, 673, 434, 1609, 1608, 502, 738, 976, 748, 574, + 1014, 780, 1559, 278, 1550, 1542, 1525, 1521, 1528, 335, + + 1512, 1514, 1485, 1498, 1472, 335, 459, 557, 327, 477, + 1053, 1085, 1117, 1505, 1476, 815, 1476, 1474, 1457, 1436, + 517, 853, 606, 890, 648, 1149, 0, 922, 1160, 931, + 861, 1198, 954, 529, 3367, 1402, 1392, 1382, 1344, 1300, + 436, 1280, 1263, 1264, 480, 506, 494, 553, 964, 622, + 1237, 1269, 996, 1260, 1257, 1220, 1217, 1299, 649, 1033, + 1063, 1073, 651, 771, 903, 1093, 964, 1338, 0, 1103, + 1349, 1125, 1133, 1387, 1179, 533, 1197, 1204, 632, 656, + 653, 1197, 1169, 658, 595, 454, 957, 1425, 1456, 1487, + 1199, 1182, 1181, 1215, 1519, 1245, 1139, 1556, 1255, 1277, + + 1190, 1287, 1318, 1368, 1024, 1044, 1228, 1398, 1407, 1435, + 1595, 0, 1437, 1606, 1446, 1374, 1644, 1466, 699, 3367, + 1172, 1145, 738, 3367, 838, 3367, 522, 1131, 1100, 773, + 1043, 524, 615, 1474, 659, 1682, 1713, 1507, 1108, 1105, + 1495, 688, 1537, 931, 1745, 0, 683, 1756, 1573, 1581, + 1793, 1625, 1663, 1692, 1702, 1170, 1255, 1506, 1654, 1721, + 1731, 1832, 0, 1733, 1843, 1773, 1781, 1812, 839, 895, + 1083, 1006, 943, 770, 759, 1872, 956, 1904, 1936, 1968, + 2000, 932, 1863, 1886, 1914, 920, 945, 1288, 1922, 1319, + 2032, 0, 765, 2043, 1944, 1894, 2080, 1954, 1976, 902, + + 1986, 2010, 2020, 1359, 1616, 1854, 828, 884, 2119, 0, + 892, 1016, 3367, 1076, 3367, 853, 2054, 1418, 537, 816, + 799, 2098, 1266, 2130, 2162, 2194, 2226, 2068, 2138, 811, + 2148, 2172, 2182, 799, 783, 1520, 1693, 2202, 1757, 2258, + 0, 997, 2269, 2210, 2234, 2306, 2242, 2287, 2324, 2344, + 1803, 790, 1007, 684, 738, 688, 655, 2366, 623, 2375, + 2388, 2420, 2452, 2399, 1871, 2409, 2431, 2441, 624, 544, + 1905, 1955, 2460, 1987, 2484, 0, 1035, 2495, 2468, 2377, + 2514, 541, 2533, 2542, 2551, 528, 3367, 516, 3367, 2557, + 1299, 2589, 2621, 2568, 2574, 390, 2600, 2610, 2631, 292, + + 260, 2001, 184, 139, 2639, 0, 1103, 2653, 2685, 2717, + 2661, 2669, 2693, 121, 0, 75, 2701, 1331, 2749, 2781, + 2731, 3367, 2737, 2761, 2769, 3367, 2789, 2797, 2827, 21, + 2835, 2819, 3367, 2880, 2893, 2906, 2919, 2932, 2945, 2958, + 2971, 2984, 2989, 3002, 3015, 3017, 3030, 3043, 3056, 3069, + 3082, 3087, 3093, 3106, 3111, 3117, 3122, 3127, 3132, 3138, + 3143, 3148, 3153, 3159, 3166, 3171, 3176, 3181, 3187, 3194, + 3199, 3204, 3210, 3217, 3222, 3229, 3235, 3242, 3247, 3254, + 3260, 3267, 3280, 3293, 3298, 3305, 3311, 3324, 3329, 3336, + 3341, 3348, 3353 + } ; -static yyconst short int yy_def[1544] = +static yyconst short int yy_def[594] = { 0, - 1300, 1, 1, 1, 1301, 1301, 1302, 1302, 1303, 1303, - 1304, 1304, 1300, 1305, 1300, 1300, 1300, 1306, 1307, 1300, - 1300, 1308, 1300, 1309, 1305, 25, 25, 1300, 1300, 1300, - 1300, 31, 31, 33, 33, 33, 1305, 25, 1305, 1300, - 1306, 31, 31, 33, 33, 33, 1300, 1300, 1310, 1305, - 1311, 1300, 1311, 1311, 1300, 1300, 1306, 1300, 1312, 1313, - 1300, 1313, 1300, 1313, 1300, 1314, 1315, 1315, 1315, 1300, - 1315, 1305, 1305, 1300, 1300, 1316, 1300, 1300, 1307, 1307, - 1308, 1308, 1309, 1317, 1305, 1305, 25, 1318, 87, 87, - 87, 87, 1319, 31, 33, 33, 33, 33, 33, 1305, - - 1300, 1305, 1300, 1300, 1300, 1300, 1300, 1300, 1316, 1305, - 87, 1305, 1305, 1305, 1300, 1310, 1320, 1305, 1305, 1311, - 1311, 1300, 1300, 1300, 1300, 1312, 1313, 1313, 1300, 1300, - 1313, 1313, 1315, 1315, 1315, 1315, 1315, 1300, 1316, 1300, - 1300, 1305, 1305, 1305, 87, 1321, 1300, 145, 1300, 1322, - 31, 33, 33, 33, 33, 33, 33, 1305, 1300, 1300, - 1300, 1300, 1300, 1316, 1305, 145, 1305, 1305, 1305, 1300, - 1305, 1300, 1305, 1305, 1305, 1305, 1305, 1305, 1323, 1324, - 1300, 181, 181, 181, 1325, 1325, 186, 1300, 1325, 1326, - 1300, 33, 33, 33, 33, 33, 33, 33, 1305, 1300, - - 1300, 1300, 1300, 1300, 1316, 1305, 1305, 1305, 1305, 1305, - 1305, 1305, 1327, 1328, 1300, 1300, 1329, 1300, 1329, 1329, - 220, 1329, 1330, 1331, 1330, 225, 1330, 1332, 1333, 1300, - 230, 230, 230, 1300, 1300, 33, 33, 33, 33, 33, - 1305, 1300, 1300, 1300, 1316, 1305, 1305, 1305, 1305, 1305, - 1305, 1305, 1305, 1300, 1334, 1335, 1300, 257, 257, 257, - 1300, 1300, 1300, 1336, 1300, 265, 265, 265, 1336, 1337, - 1338, 1300, 1337, 1339, 1300, 1300, 1340, 1300, 1340, 1340, - 280, 1340, 33, 33, 33, 33, 33, 1305, 1300, 1300, - 1316, 1305, 1305, 1305, 1305, 1305, 1305, 1341, 1342, 1343, - - 1344, 1300, 1344, 1344, 304, 1344, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1345, 1300, 1345, 1345, 317, 1345, 1300, - 1346, 1347, 1300, 323, 323, 323, 1348, 1300, 1300, 1300, - 1300, 1349, 1300, 333, 333, 333, 1349, 1300, 1300, 33, - 33, 1300, 1300, 1300, 1300, 1305, 1300, 1300, 1316, 1305, - 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1300, 1350, 1351, - 1352, 1353, 1300, 363, 363, 363, 1353, 1300, 1300, 1300, - 1300, 1300, 1300, 1354, 1300, 375, 375, 375, 1354, 1355, - 1356, 1300, 1300, 1357, 1300, 1357, 1357, 387, 387, 1358, - 1300, 391, 391, 391, 1300, 1300, 1300, 1300, 1300, 1300, - - 1359, 1300, 1359, 1359, 404, 1359, 33, 33, 1305, 1300, - 1300, 1316, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1360, - 1361, 1362, 1363, 1300, 1300, 1364, 1300, 1364, 1364, 429, - 1364, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1365, 1300, 1365, 1365, 447, 1365, 1300, - 1366, 1367, 1300, 453, 453, 453, 1300, 1300, 1300, 1368, - 1300, 461, 461, 461, 1368, 1300, 1300, 1369, 1300, 1369, - 1369, 471, 471, 1300, 1300, 1300, 1370, 1300, 478, 478, - 478, 1370, 1300, 1300, 1300, 1300, 1300, 1300, 1371, 1372, - 1373, 1374, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1300, - - 1375, 1376, 1377, 1378, 1300, 505, 505, 505, 1379, 1300, - 510, 510, 510, 1379, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1380, 1300, 525, 525, 525, 1380, 1381, - 1382, 1383, 1384, 1300, 1384, 1384, 536, 536, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1385, 1300, 1385, 1385, 549, - 549, 1300, 1300, 1300, 1386, 1300, 556, 556, 556, 1386, - 1300, 1300, 1300, 1300, 1300, 1300, 1387, 1300, 1387, 1387, - 570, 1387, 1300, 1388, 1389, 1390, 1390, 1391, 1391, 1389, - 1389, 1389, 1389, 1389, 1392, 1393, 1394, 1395, 1300, 1300, - 1396, 1300, 1396, 1396, 594, 1396, 1300, 1397, 1300, 1397, - - 1397, 601, 1397, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1398, - 1300, 1398, 1398, 623, 1398, 1300, 1399, 1400, 1401, 1402, - 1300, 631, 631, 631, 1402, 1300, 1300, 1300, 1300, 1300, - 1300, 1403, 1300, 643, 643, 643, 1403, 1300, 1300, 1300, - 1300, 1300, 1300, 1404, 1300, 1404, 1404, 657, 657, 1300, - 1300, 1300, 1405, 1300, 664, 664, 664, 1405, 1300, 1406, - 1300, 1407, 1407, 1407, 1407, 1407, 1300, 1408, 1300, 1409, - 1410, 1300, 682, 682, 682, 1411, 1300, 687, 687, 687, - 1411, 1412, 1300, 693, 693, 693, 1412, 1300, 1300, 1300, - - 1300, 1300, 1300, 1300, 1300, 1300, 1413, 1300, 708, 708, - 708, 1413, 1414, 1415, 1416, 1417, 1300, 1300, 1418, 1300, - 1418, 1418, 722, 722, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1419, 1300, 1419, 1419, - 740, 740, 1300, 1300, 1300, 1420, 1300, 747, 747, 747, - 1420, 1300, 1300, 1300, 1300, 1300, 1421, 1300, 1421, 1421, - 760, 1421, 1422, 1422, 1422, 1423, 1300, 767, 767, 1424, - 767, 1425, 1426, 1300, 1427, 1428, 1427, 1427, 778, 1427, - 1300, 1429, 1430, 1429, 1429, 785, 1429, 1300, 1431, 1432, - 1431, 1431, 792, 1431, 1300, 1300, 1300, 1300, 1300, 1300, - - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1433, 1434, 1433, 1433, 814, 1433, 1300, 1435, 1436, 1437, - 1438, 1300, 822, 822, 822, 1439, 1300, 827, 827, 827, - 1439, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1440, 1300, 842, 842, 842, 1440, 1300, 1300, 1300, 1300, - 1300, 1300, 1441, 1300, 1441, 1441, 856, 856, 1442, 1300, - 860, 860, 860, 1442, 1443, 1443, 1443, 1443, 1443, 1300, - 1300, 1444, 1445, 1444, 1444, 875, 875, 1446, 1447, 1448, - 1449, 1450, 1449, 1451, 1452, 1451, 1453, 1454, 1453, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1455, 1456, - - 1455, 1457, 1458, 1459, 1460, 1300, 1300, 1461, 1300, 1461, - 1461, 911, 911, 1300, 1462, 1300, 1462, 1462, 918, 918, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1463, 1300, 1463, 1463, - 940, 940, 1300, 1300, 1300, 1464, 1300, 947, 947, 947, - 1464, 1300, 1465, 1466, 1465, 1465, 956, 1465, 1467, 1467, - 1467, 1300, 1300, 1300, 1468, 1469, 1300, 1468, 1470, 1300, - 1471, 1300, 1472, 1300, 1473, 1300, 1474, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1475, 1300, 1476, 1300, 1477, 1478, 1300, 999, - - 999, 999, 1479, 1300, 1004, 1004, 1004, 1479, 1480, 1300, - 1010, 1010, 1010, 1480, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1481, 1300, 1025, 1025, 1025, 1481, 1300, - 1300, 1300, 1300, 1300, 1482, 1300, 1482, 1482, 1038, 1038, - 1483, 1484, 1483, 1485, 1485, 1485, 1300, 1300, 1300, 1300, - 1300, 1300, 1486, 1487, 1488, 1489, 1490, 1491, 1300, 1300, - 1300, 1300, 1300, 1300, 1492, 1493, 1300, 1067, 1067, 1494, - 1067, 1495, 1496, 1300, 1497, 1498, 1497, 1497, 1078, 1078, - 1300, 1499, 1500, 1499, 1499, 1085, 1085, 1300, 1501, 1502, - 1501, 1501, 1092, 1092, 1300, 1300, 1300, 1300, 1300, 1300, - - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1503, 1504, 1503, 1503, 1114, 1114, 1505, 1300, 1118, 1118, - 1118, 1505, 1300, 1506, 1300, 1300, 1300, 1507, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1508, 1509, 1508, 1508, 1149, - 1149, 1510, 1511, 1512, 1513, 1514, 1513, 1515, 1516, 1515, - 1517, 1518, 1517, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1519, 1520, 1519, 1300, 1521, 1522, 1521, 1521, - 1180, 1180, 1523, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1524, 1525, 1300, 1524, 1526, 1300, - - 1527, 1300, 1528, 1300, 1529, 1300, 1530, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1531, 1532, 1533, 1532, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1534, 1535, 1536, 1537, 1538, 1539, 1300, 1300, 1300, 1300, - 1300, 1300, 1540, 1300, 1541, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1542, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1543, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 0, - - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300 + 533, 1, 1, 1, 534, 534, 535, 535, 536, 536, + 537, 537, 533, 538, 533, 533, 533, 539, 540, 533, + 533, 541, 533, 542, 538, 25, 25, 543, 533, 533, + 533, 31, 31, 33, 33, 33, 538, 25, 538, 533, + 539, 31, 31, 33, 33, 33, 533, 533, 544, 538, + 545, 533, 545, 545, 533, 533, 539, 533, 546, 547, + 533, 547, 533, 547, 533, 548, 549, 549, 549, 533, + 549, 538, 538, 533, 533, 550, 533, 533, 540, 540, + 541, 541, 542, 551, 538, 538, 25, 543, 87, 87, + 87, 87, 552, 553, 31, 33, 33, 33, 33, 33, + + 538, 533, 538, 533, 533, 533, 533, 533, 533, 550, + 538, 87, 538, 538, 538, 533, 544, 554, 538, 538, + 545, 545, 533, 533, 533, 533, 546, 547, 547, 533, + 533, 547, 547, 549, 549, 549, 549, 549, 533, 550, + 533, 533, 538, 538, 538, 87, 146, 555, 533, 556, + 533, 31, 33, 33, 33, 33, 33, 33, 538, 533, + 533, 533, 533, 533, 550, 538, 146, 538, 538, 538, + 533, 538, 533, 538, 538, 538, 538, 538, 538, 557, + 558, 558, 182, 559, 558, 560, 151, 533, 188, 188, + 533, 188, 33, 33, 33, 33, 33, 33, 33, 538, + + 533, 533, 533, 533, 533, 550, 538, 538, 538, 538, + 538, 538, 538, 533, 561, 561, 216, 561, 562, 563, + 564, 533, 565, 191, 565, 565, 226, 565, 533, 229, + 229, 533, 229, 533, 533, 33, 33, 33, 33, 33, + 538, 533, 533, 533, 550, 538, 538, 538, 538, 538, + 538, 538, 538, 566, 566, 567, 568, 533, 533, 533, + 533, 533, 569, 569, 570, 232, 570, 570, 268, 570, + 533, 271, 271, 533, 271, 33, 33, 33, 33, 33, + 538, 533, 533, 550, 538, 538, 538, 538, 538, 538, + 533, 571, 572, 258, 533, 295, 295, 533, 295, 533, + + 533, 533, 533, 533, 533, 573, 573, 574, 274, 574, + 574, 311, 574, 533, 314, 314, 533, 314, 533, 533, + 33, 33, 533, 533, 533, 533, 538, 533, 533, 550, + 538, 538, 538, 538, 538, 538, 538, 538, 533, 575, + 533, 576, 298, 576, 576, 345, 345, 533, 348, 348, + 533, 348, 533, 533, 533, 533, 577, 577, 578, 317, + 578, 578, 362, 578, 533, 365, 365, 365, 33, 33, + 538, 533, 533, 550, 538, 538, 538, 538, 538, 538, + 538, 533, 533, 533, 533, 579, 579, 580, 351, 580, + 580, 391, 391, 533, 394, 394, 533, 394, 533, 533, + + 533, 533, 533, 533, 581, 581, 582, 582, 582, 409, + 409, 533, 533, 533, 533, 533, 533, 550, 538, 583, + 584, 538, 538, 538, 538, 538, 538, 538, 533, 533, + 533, 533, 533, 533, 585, 585, 586, 397, 586, 586, + 440, 440, 533, 443, 443, 533, 443, 533, 533, 533, + 533, 587, 587, 533, 588, 538, 583, 583, 584, 584, + 538, 538, 538, 538, 538, 533, 533, 533, 533, 589, + 589, 590, 446, 590, 590, 475, 475, 533, 478, 478, + 478, 533, 533, 533, 533, 533, 533, 588, 533, 538, + 538, 538, 538, 538, 533, 533, 533, 533, 533, 533, + + 591, 591, 592, 592, 592, 505, 505, 538, 538, 538, + 533, 533, 533, 533, 593, 593, 538, 538, 538, 538, + 538, 533, 533, 533, 533, 533, 538, 538, 538, 538, + 538, 538, 0, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533 + } ; -static yyconst short int yy_nxt[9201] = +static yyconst short int yy_nxt[3430] = { 0, 14, 15, 16, 17, 14, 18, 19, 20, 21, 14, 22, 23, 14, 14, 24, 25, 26, 27, 25, 25, @@ -836,1015 +544,380 @@ static yyconst short int yy_nxt[9201] = 31, 32, 33, 33, 34, 33, 35, 33, 36, 33, 33, 33, 33, 33, 37, 14, 38, 38, 38, 38, 38, 38, 14, 14, 14, 14, 14, 14, 14, 39, - 14, 14, 40, 47, 47, 1280, 41, 48, 48, 140, - 15, 52, 53, 72, 54, 135, 49, 49, 136, 73, - 55, 68, 16, 69, 70, 15, 52, 53, 1273, 54, - 42, 43, 55, 54, 44, 55, 102, 73, 45, 125, - - 101, 46, 68, 16, 69, 70, 129, 55, 54, 132, - 101, 166, 84, 56, 119, 205, 84, 84, 134, 134, - 153, 50, 50, 130, 71, 154, 128, 155, 56, 15, + 14, 14, 40, 47, 47, 73, 41, 48, 48, 141, + 15, 52, 53, 141, 54, 136, 49, 49, 137, 73, + 55, 68, 16, 69, 70, 15, 52, 53, 341, 54, + 42, 43, 55, 54, 44, 55, 103, 73, 45, 126, + + 102, 46, 68, 16, 69, 70, 130, 55, 54, 133, + 102, 149, 84, 56, 120, 206, 84, 84, 135, 135, + 151, 50, 50, 131, 71, 72, 129, 165, 56, 15, 16, 17, 77, 57, 84, 78, 78, 78, 78, 78, - 78, 78, 78, 128, 149, 71, 91, 91, 91, 91, - 91, 92, 1178, 85, 90, 90, 90, 90, 90, 90, - 90, 90, 72, 140, 89, 89, 89, 89, 89, 89, + 78, 78, 78, 129, 473, 71, 91, 91, 91, 91, + 91, 92, 533, 85, 90, 90, 90, 90, 90, 90, + 90, 90, 72, 167, 89, 89, 89, 89, 89, 89, 89, 89, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 15, 16, 17, 103, 57, 77, 73, 1147, 78, 78, + 15, 16, 17, 104, 57, 77, 73, 341, 78, 78, - 78, 78, 78, 78, 78, 78, 1300, 73, 165, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 164, 73, 168, - 73, 104, 105, 158, 1235, 106, 169, 137, 138, 107, - 133, 140, 108, 58, 59, 59, 59, 59, 59, 59, + 78, 78, 78, 78, 78, 78, 533, 73, 166, 533, + 533, 533, 533, 533, 533, 533, 533, 73, 73, 154, + 200, 105, 106, 159, 155, 107, 156, 138, 139, 108, + 134, 207, 109, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 15, 16, 17, 61, 57, 73, 125, 101, 117, - 62, 63, 64, 117, 117, 122, 101, 123, 73, 124, - 134, 167, 73, 123, 65, 124, 133, 171, 125, 101, - 149, 117, 206, 245, 125, 101, 73, 124, 124, 191, - 73, 125, 101, 135, 66, 15, 16, 17, 61, 57, - - 118, 149, 206, 199, 62, 63, 64, 72, 124, 72, - 136, 72, 149, 72, 72, 234, 134, 72, 65, 78, + 59, 15, 16, 17, 61, 57, 73, 126, 102, 118, + 62, 63, 64, 118, 118, 123, 102, 124, 73, 125, + 135, 168, 73, 124, 65, 125, 134, 73, 170, 234, + 169, 118, 172, 473, 126, 102, 73, 125, 125, 126, + 102, 126, 102, 136, 66, 15, 16, 17, 61, 57, + + 119, 235, 207, 149, 62, 63, 64, 72, 125, 72, + 137, 72, 187, 72, 72, 438, 135, 72, 65, 78, 78, 78, 78, 78, 78, 78, 78, 73, 84, 72, - 72, 72, 84, 84, 128, 73, 134, 235, 66, 86, - 206, 87, 87, 87, 87, 87, 87, 87, 87, 88, - 84, 134, 173, 89, 89, 89, 89, 89, 78, 78, - 78, 78, 78, 78, 78, 78, 73, 73, 208, 85, + 72, 72, 84, 84, 129, 73, 135, 141, 66, 86, + 207, 87, 87, 87, 87, 87, 87, 87, 87, 88, + 84, 135, 174, 89, 89, 89, 89, 89, 78, 78, + 78, 78, 78, 78, 78, 78, 73, 73, 209, 85, 73, 73, 89, 89, 89, 89, 89, 89, 72, 73, - 209, 88, 72, 73, 72, 241, 206, 72, 72, 1178, - 72, 72, 72, 94, 94, 94, 94, 94, 94, 94, + 210, 88, 72, 73, 72, 241, 207, 72, 72, 245, + 72, 72, 72, 95, 95, 95, 95, 95, 95, 95, - 94, 88, 73, 1112, 72, 94, 94, 94, 94, 94, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 73, 95, 89, 89, 89, 89, 89, 89, + 95, 88, 73, 495, 72, 95, 95, 95, 95, 95, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 73, 96, 89, 89, 89, 89, 89, 89, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 95, 95, 95, 95, 95, 95, 95, 95, 1300, 227, - 227, 227, 95, 95, 95, 95, 95, 142, 143, 144, - 142, 142, 142, 142, 142, 148, 148, 148, 148, 148, - 148, 72, 72, 72, 72, 72, 72, 100, 101, 72, - 73, 72, 140, 72, 72, 288, 73, 72, 148, 148, - 148, 148, 148, 148, 148, 148, 137, 101, 73, 72, + 96, 96, 96, 96, 96, 96, 96, 96, 533, 218, + 218, 218, 96, 96, 96, 96, 96, 143, 144, 145, + 143, 143, 143, 143, 143, 147, 147, 147, 147, 147, + 147, 72, 72, 72, 72, 72, 72, 101, 102, 72, + 73, 72, 141, 72, 72, 281, 73, 72, 147, 147, + 147, 147, 147, 147, 147, 147, 138, 102, 73, 72, 72, 72, 77, 73, 246, 78, 78, 78, 78, 78, - 78, 78, 78, 79, 351, 79, 149, 79, 140, 79, - 79, 73, 81, 79, 81, 191, 81, 248, 81, 81, - 216, 149, 81, 149, 234, 79, 79, 79, 292, 134, - 218, 291, 191, 109, 81, 81, 81, 83, 1217, 72, - 249, 83, 73, 72, 72, 73, 235, 83, 148, 148, - 148, 148, 148, 148, 148, 148, 412, 73, 409, 83, - 83, 72, 145, 145, 145, 145, 145, 145, 145, 145, - 88, 73, 414, 1212, 145, 145, 145, 145, 145, 221, - 221, 221, 221, 221, 222, 117, 1090, 73, 103, 117, - - 117, 73, 294, 145, 145, 145, 145, 145, 145, 151, - 151, 151, 151, 151, 151, 151, 151, 117, 247, 1300, - 149, 151, 151, 151, 151, 151, 104, 105, 127, 218, - 106, 127, 127, 338, 107, 1083, 118, 108, 127, 73, - 145, 145, 145, 145, 145, 145, 116, 1076, 72, 293, - 116, 127, 72, 72, 84, 339, 116, 149, 84, 73, - 140, 216, 149, 149, 84, 73, 218, 1073, 116, 116, - 72, 218, 191, 353, 346, 415, 84, 84, 173, 342, - 174, 174, 174, 174, 174, 174, 174, 174, 220, 220, - 220, 220, 220, 220, 220, 220, 276, 149, 117, 1147, - - 344, 343, 117, 73, 460, 460, 278, 349, 117, 73, - 173, 1184, 175, 175, 175, 175, 175, 175, 175, 175, - 117, 117, 345, 210, 211, 212, 210, 210, 210, 210, - 210, 173, 149, 174, 174, 174, 174, 174, 174, 489, - 140, 73, 173, 1036, 176, 176, 176, 176, 176, 177, - 174, 174, 73, 261, 262, 263, 261, 261, 261, 261, - 261, 1300, 73, 219, 219, 219, 219, 219, 219, 219, - 219, 555, 555, 73, 72, 73, 178, 178, 178, 178, - 178, 178, 178, 178, 338, 350, 630, 630, 178, 178, - 178, 178, 178, 225, 225, 226, 227, 227, 227, 227, - - 227, 224, 342, 344, 642, 642, 339, 178, 178, 178, - 178, 178, 178, 149, 181, 182, 183, 181, 181, 181, - 181, 181, 483, 1112, 343, 345, 184, 184, 184, 184, - 184, 216, 149, 269, 269, 269, 269, 269, 269, 485, - 73, 218, 490, 1090, 484, 184, 184, 184, 184, 184, - 184, 185, 186, 187, 187, 187, 187, 187, 187, 188, - 1083, 486, 1076, 189, 189, 189, 189, 189, 273, 273, - 273, 273, 273, 273, 273, 273, 224, 483, 746, 746, - 1073, 73, 189, 189, 189, 189, 189, 189, 192, 192, - 192, 192, 192, 192, 192, 192, 575, 826, 826, 484, - - 192, 192, 192, 192, 192, 280, 280, 280, 280, 280, - 280, 280, 280, 281, 281, 281, 281, 281, 282, 178, - 178, 178, 178, 178, 178, 173, 383, 174, 174, 174, - 174, 174, 174, 174, 174, 1300, 385, 279, 279, 279, - 279, 279, 279, 279, 279, 295, 296, 297, 295, 295, - 295, 295, 295, 841, 841, 493, 73, 173, 1197, 174, - 174, 174, 174, 174, 174, 174, 174, 305, 305, 305, - 305, 305, 306, 996, 73, 1300, 149, 249, 73, 250, - 250, 250, 250, 250, 250, 278, 73, 352, 73, 216, - 149, 217, 217, 217, 217, 217, 217, 217, 217, 218, - - 946, 946, 149, 219, 219, 219, 219, 219, 73, 304, - 304, 304, 304, 304, 304, 304, 304, 485, 965, 965, - 1003, 1003, 219, 219, 219, 219, 219, 219, 230, 231, - 232, 230, 230, 230, 230, 230, 216, 149, 1138, 486, - 233, 233, 233, 233, 233, 1300, 302, 303, 303, 303, - 303, 303, 303, 303, 303, 149, 1300, 149, 149, 233, - 233, 233, 233, 233, 233, 249, 302, 250, 250, 250, - 250, 250, 250, 250, 250, 307, 149, 308, 308, 308, - 308, 308, 308, 308, 308, 307, 149, 309, 309, 309, - 309, 309, 309, 309, 309, 218, 73, 249, 1300, 251, - - 251, 251, 251, 251, 251, 251, 251, 307, 385, 310, - 310, 310, 310, 310, 311, 308, 308, 317, 317, 317, - 317, 317, 317, 317, 317, 672, 1009, 1009, 73, 249, - 149, 252, 252, 252, 252, 252, 253, 250, 250, 318, - 318, 318, 318, 318, 319, 1300, 149, 316, 316, 316, - 316, 316, 316, 316, 316, 278, 73, 489, 140, 149, - 73, 149, 257, 258, 259, 257, 257, 257, 257, 257, - 574, 1024, 1024, 149, 260, 260, 260, 260, 260, 329, - 330, 331, 329, 329, 329, 329, 329, 388, 388, 388, - 388, 388, 389, 260, 260, 260, 260, 260, 260, 265, - - 266, 267, 265, 265, 265, 265, 265, 1117, 1117, 1155, - 1155, 268, 268, 268, 268, 268, 276, 149, 337, 337, - 337, 337, 337, 337, 1158, 1158, 278, 865, 1161, 1161, - 268, 268, 268, 268, 268, 268, 216, 149, 269, 269, - 269, 269, 269, 269, 269, 269, 218, 276, 149, 277, - 277, 277, 277, 277, 277, 277, 277, 278, 73, 1173, - 1173, 279, 279, 279, 279, 279, 216, 149, 367, 367, - 367, 367, 367, 367, 1195, 1195, 302, 313, 149, 149, - 279, 279, 279, 279, 279, 279, 249, 315, 250, 250, - 250, 250, 250, 250, 250, 250, 368, 369, 370, 368, - - 368, 368, 368, 368, 307, 73, 308, 308, 308, 308, - 308, 308, 308, 308, 413, 1224, 1224, 73, 249, 383, - 250, 250, 250, 250, 250, 250, 250, 250, 307, 385, - 308, 308, 308, 308, 308, 308, 308, 308, 307, 149, - 308, 308, 308, 308, 308, 308, 149, 1036, 424, 73, - 216, 149, 301, 301, 301, 301, 301, 301, 301, 301, - 302, 938, 1104, 1099, 303, 303, 303, 303, 303, 371, - 372, 373, 371, 371, 371, 371, 371, 405, 405, 405, - 405, 405, 406, 303, 303, 303, 303, 303, 303, 313, - 149, 314, 314, 314, 314, 314, 314, 314, 314, 315, - - 1300, 149, 916, 316, 316, 316, 316, 316, 909, 467, - 315, 313, 149, 379, 379, 379, 379, 379, 379, 469, - 906, 315, 316, 316, 316, 316, 316, 316, 323, 324, - 325, 323, 323, 323, 323, 323, 1073, 996, 149, 149, - 326, 326, 326, 326, 326, 387, 387, 387, 387, 387, - 387, 387, 387, 430, 430, 430, 430, 430, 431, 326, - 326, 326, 326, 326, 326, 333, 334, 335, 333, 333, - 333, 333, 333, 276, 149, 149, 149, 336, 336, 336, - 336, 336, 1300, 278, 386, 386, 386, 386, 386, 386, - 386, 386, 149, 149, 149, 873, 336, 336, 336, 336, - - 336, 336, 276, 149, 337, 337, 337, 337, 337, 337, - 337, 337, 278, 353, 354, 354, 354, 354, 354, 354, - 354, 354, 395, 1047, 396, 396, 396, 396, 396, 396, - 396, 396, 395, 149, 397, 397, 397, 397, 397, 397, - 397, 397, 302, 73, 353, 355, 355, 355, 355, 355, - 355, 355, 355, 395, 73, 398, 398, 398, 398, 398, - 399, 396, 396, 404, 404, 404, 404, 404, 404, 404, - 404, 149, 854, 938, 73, 353, 356, 356, 356, 356, - 356, 357, 354, 354, 1300, 916, 403, 403, 403, 403, - 403, 403, 403, 403, 416, 417, 418, 419, 416, 416, - - 416, 416, 909, 906, 1300, 73, 363, 364, 365, 363, - 363, 363, 363, 363, 469, 1073, 996, 819, 366, 366, - 366, 366, 366, 73, 429, 429, 429, 429, 429, 429, - 429, 429, 149, 987, 982, 149, 149, 366, 366, 366, - 366, 366, 366, 216, 149, 367, 367, 367, 367, 367, - 367, 367, 367, 302, 375, 376, 377, 375, 375, 375, - 375, 375, 216, 149, 149, 149, 378, 378, 378, 378, - 378, 149, 302, 353, 354, 354, 354, 354, 354, 354, - 315, 149, 149, 149, 149, 378, 378, 378, 378, 378, - 378, 313, 149, 379, 379, 379, 379, 379, 379, 379, - - 379, 315, 383, 73, 384, 384, 384, 384, 384, 384, - 384, 384, 385, 149, 873, 854, 386, 386, 386, 386, - 386, 1300, 278, 428, 428, 428, 428, 428, 428, 428, - 428, 738, 930, 925, 720, 386, 386, 386, 386, 386, - 386, 391, 392, 393, 391, 391, 391, 391, 391, 313, - 149, 717, 906, 394, 394, 394, 394, 394, 432, 315, - 433, 433, 433, 433, 433, 433, 433, 433, 996, 819, - 149, 149, 394, 394, 394, 394, 394, 394, 276, 149, - 401, 401, 401, 401, 401, 401, 401, 401, 402, 149, - 149, 149, 403, 403, 403, 403, 403, 432, 424, 434, - - 434, 434, 434, 434, 434, 434, 434, 149, 149, 967, - 679, 403, 403, 403, 403, 403, 403, 353, 354, 354, - 354, 354, 354, 354, 354, 354, 432, 655, 435, 435, - 435, 435, 435, 436, 433, 433, 437, 149, 438, 438, - 438, 438, 438, 438, 438, 438, 302, 73, 353, 354, - 354, 354, 354, 354, 354, 354, 354, 437, 847, 439, - 439, 439, 439, 439, 439, 439, 439, 437, 149, 440, - 440, 440, 440, 440, 441, 438, 438, 315, 73, 313, - 149, 426, 426, 426, 426, 426, 426, 426, 426, 427, - 738, 720, 717, 428, 428, 428, 428, 428, 447, 447, - - 447, 447, 447, 447, 447, 447, 448, 448, 448, 448, - 448, 449, 428, 428, 428, 428, 428, 428, 443, 149, - 444, 444, 444, 444, 444, 444, 444, 444, 445, 149, - 906, 904, 446, 446, 446, 446, 446, 1300, 402, 446, - 446, 446, 446, 446, 446, 446, 446, 819, 628, 804, - 799, 446, 446, 446, 446, 446, 446, 453, 454, 455, - 453, 453, 453, 453, 453, 149, 149, 679, 149, 456, - 456, 456, 456, 456, 457, 458, 459, 457, 457, 457, - 457, 457, 472, 472, 472, 472, 472, 473, 456, 456, - 456, 456, 456, 456, 461, 462, 463, 461, 461, 461, - - 461, 461, 655, 547, 730, 725, 464, 464, 464, 464, - 464, 471, 471, 471, 471, 471, 471, 471, 471, 534, - 717, 819, 276, 149, 628, 464, 464, 464, 464, 464, - 464, 383, 402, 465, 465, 465, 465, 465, 465, 465, - 465, 385, 467, 679, 468, 468, 468, 468, 468, 468, - 468, 468, 469, 149, 502, 671, 470, 470, 470, 470, - 470, 1300, 589, 470, 470, 470, 470, 470, 470, 470, - 470, 469, 648, 547, 534, 470, 470, 470, 470, 470, - 470, 474, 475, 476, 474, 474, 474, 474, 474, 395, - 383, 396, 396, 396, 396, 396, 396, 396, 396, 395, - - 534, 396, 396, 396, 396, 396, 396, 396, 396, 395, - 717, 396, 396, 396, 396, 396, 396, 478, 479, 480, - 478, 478, 478, 478, 478, 1300, 149, 715, 628, 481, - 481, 481, 481, 481, 1300, 402, 276, 149, 482, 482, - 482, 482, 482, 482, 534, 491, 402, 452, 481, 481, - 481, 481, 481, 481, 276, 149, 482, 482, 482, 482, - 482, 482, 482, 482, 402, 491, 613, 491, 492, 313, - 149, 1300, 149, 443, 149, 1300, 149, 608, 545, 427, - 149, 427, 149, 445, 679, 445, 73, 493, 547, 494, - 494, 494, 494, 494, 494, 494, 494, 313, 149, 514, - - 514, 514, 514, 514, 514, 502, 1300, 427, 515, 516, - 517, 515, 515, 515, 515, 515, 547, 579, 73, 493, - 467, 495, 495, 495, 495, 495, 495, 495, 495, 432, - 469, 433, 433, 433, 433, 433, 433, 433, 433, 432, - 149, 433, 433, 433, 433, 433, 433, 433, 433, 424, - 73, 493, 383, 496, 496, 496, 496, 496, 497, 498, - 498, 432, 534, 433, 433, 433, 433, 433, 433, 518, - 519, 520, 518, 518, 518, 518, 518, 577, 73, 671, - 669, 561, 73, 493, 545, 499, 499, 499, 494, 494, - 494, 494, 494, 437, 547, 438, 438, 438, 438, 438, - - 438, 438, 438, 437, 149, 438, 438, 438, 438, 438, - 438, 438, 438, 427, 73, 505, 506, 507, 505, 505, - 505, 505, 505, 276, 149, 469, 385, 508, 508, 508, - 508, 508, 437, 402, 438, 438, 438, 438, 438, 438, - 537, 537, 537, 537, 537, 538, 508, 508, 508, 508, - 508, 508, 510, 511, 512, 510, 510, 510, 510, 510, - 539, 628, 452, 587, 513, 513, 513, 513, 513, 521, - 522, 523, 521, 521, 521, 521, 521, 550, 550, 550, - 550, 550, 551, 513, 513, 513, 513, 513, 513, 313, - 149, 514, 514, 514, 514, 514, 514, 514, 514, 427, - - 525, 526, 527, 525, 525, 525, 525, 525, 502, 360, - 579, 577, 528, 528, 528, 528, 528, 443, 149, 529, - 529, 529, 529, 529, 529, 573, 328, 445, 385, 532, - 452, 528, 528, 528, 528, 528, 528, 443, 149, 529, - 529, 529, 529, 529, 529, 529, 529, 445, 383, 322, - 533, 533, 533, 533, 533, 533, 533, 533, 534, 584, - 584, 584, 535, 535, 535, 535, 535, 536, 536, 536, - 536, 536, 536, 536, 536, 571, 571, 571, 571, 571, - 572, 535, 535, 535, 535, 535, 535, 1300, 73, 535, - 535, 535, 535, 535, 535, 535, 535, 539, 467, 540, - - 540, 540, 540, 540, 540, 540, 540, 539, 655, 541, - 541, 541, 541, 541, 541, 541, 541, 539, 1300, 542, - 542, 542, 542, 542, 543, 540, 540, 545, 655, 546, - 546, 546, 546, 546, 546, 546, 546, 547, 437, 432, - 149, 548, 548, 548, 548, 548, 549, 549, 549, 549, - 549, 549, 549, 549, 595, 595, 595, 595, 595, 596, - 548, 548, 548, 548, 548, 548, 1300, 502, 548, 548, - 548, 548, 548, 548, 548, 548, 552, 553, 554, 552, - 552, 552, 552, 552, 556, 557, 558, 556, 556, 556, - 556, 556, 313, 149, 360, 73, 559, 559, 559, 559, - - 559, 561, 427, 562, 562, 562, 562, 562, 562, 562, - 562, 488, 487, 149, 73, 559, 559, 559, 559, 559, - 559, 467, 445, 560, 560, 560, 560, 560, 560, 560, - 560, 469, 561, 545, 563, 563, 563, 563, 563, 563, - 563, 563, 561, 720, 564, 564, 564, 564, 564, 565, - 562, 562, 276, 149, 567, 567, 567, 567, 567, 567, - 567, 567, 568, 395, 328, 452, 569, 569, 569, 569, - 569, 570, 570, 570, 570, 570, 570, 570, 570, 322, - 422, 491, 443, 149, 360, 569, 569, 569, 569, 569, - 569, 1300, 445, 569, 569, 569, 569, 569, 569, 569, - - 569, 491, 256, 491, 491, 580, 581, 582, 580, 580, - 580, 580, 580, 411, 493, 410, 584, 584, 584, 594, - 594, 594, 594, 594, 594, 594, 594, 602, 602, 602, - 602, 602, 603, 408, 73, 493, 407, 498, 498, 498, - 498, 498, 498, 498, 498, 73, 1300, 328, 593, 593, - 593, 593, 593, 593, 593, 593, 601, 601, 601, 601, - 601, 601, 601, 601, 382, 322, 73, 493, 1300, 498, - 498, 498, 498, 498, 498, 498, 498, 1300, 720, 600, - 600, 600, 600, 600, 600, 600, 600, 149, 604, 604, - 604, 604, 604, 604, 604, 604, 224, 307, 73, 493, - - 149, 498, 498, 498, 498, 498, 498, 583, 583, 149, - 605, 605, 605, 605, 605, 605, 605, 605, 149, 606, - 606, 606, 606, 606, 607, 604, 604, 360, 256, 348, - 73, 493, 736, 583, 583, 583, 583, 583, 583, 583, - 583, 608, 738, 609, 609, 609, 609, 609, 609, 609, - 609, 608, 149, 610, 610, 610, 610, 610, 610, 610, - 610, 402, 73, 313, 149, 591, 591, 591, 591, 591, - 591, 591, 591, 592, 149, 347, 341, 593, 593, 593, - 593, 593, 608, 589, 611, 611, 611, 611, 611, 612, - 609, 609, 340, 328, 224, 322, 593, 593, 593, 593, - - 593, 593, 443, 149, 598, 598, 598, 598, 598, 598, - 598, 598, 599, 149, 224, 300, 600, 600, 600, 600, - 600, 613, 424, 614, 614, 614, 614, 614, 614, 614, - 614, 256, 276, 149, 180, 600, 600, 600, 600, 600, - 600, 613, 568, 615, 615, 615, 615, 615, 615, 615, - 615, 613, 242, 616, 616, 616, 616, 616, 617, 614, - 614, 619, 149, 620, 620, 620, 620, 620, 620, 620, - 620, 621, 290, 289, 287, 622, 622, 622, 622, 622, - 623, 623, 623, 623, 623, 623, 623, 623, 624, 624, - 624, 624, 624, 625, 622, 622, 622, 622, 622, 622, - - 1300, 286, 622, 622, 622, 622, 622, 622, 622, 622, - 631, 632, 633, 631, 631, 631, 631, 631, 285, 284, - 283, 224, 634, 634, 634, 634, 634, 636, 637, 638, - 636, 636, 636, 636, 636, 658, 658, 658, 658, 658, - 659, 634, 634, 634, 634, 634, 634, 383, 270, 635, - 635, 635, 635, 635, 635, 635, 635, 534, 539, 1300, - 540, 540, 540, 540, 540, 540, 540, 540, 539, 738, - 540, 540, 540, 540, 540, 540, 540, 540, 539, 272, - 540, 540, 540, 540, 540, 540, 639, 640, 641, 639, - 639, 639, 639, 639, 643, 644, 645, 643, 643, 643, - - 643, 643, 1300, 149, 224, 256, 646, 646, 646, 646, - 646, 648, 568, 649, 649, 649, 649, 649, 649, 649, - 649, 180, 313, 149, 242, 646, 646, 646, 646, 646, - 646, 545, 592, 647, 647, 647, 647, 647, 647, 647, - 647, 547, 648, 467, 650, 650, 650, 650, 650, 650, - 650, 650, 648, 655, 651, 651, 651, 651, 651, 652, - 649, 649, 467, 545, 654, 654, 654, 654, 654, 654, - 654, 654, 655, 720, 244, 242, 656, 656, 656, 656, - 656, 657, 657, 657, 657, 657, 657, 657, 657, 243, - 242, 240, 1300, 149, 239, 656, 656, 656, 656, 656, - - 656, 1300, 592, 656, 656, 656, 656, 656, 656, 656, - 656, 660, 661, 662, 660, 660, 660, 660, 660, 561, - 736, 562, 562, 562, 562, 562, 562, 562, 562, 561, - 738, 562, 562, 562, 562, 562, 562, 562, 562, 561, - 238, 562, 562, 562, 562, 562, 562, 664, 665, 666, - 664, 664, 664, 664, 664, 237, 236, 88, 224, 667, - 667, 667, 667, 667, 276, 149, 668, 668, 668, 668, - 668, 668, 228, 224, 568, 215, 180, 172, 667, 667, - 667, 667, 667, 667, 276, 149, 668, 668, 668, 668, - 668, 668, 668, 668, 568, 576, 207, 576, 149, 576, - - 149, 576, 576, 204, 578, 576, 578, 427, 578, 445, - 578, 578, 443, 149, 578, 1300, 149, 576, 576, 576, - 619, 149, 599, 203, 202, 599, 578, 578, 578, 672, - 621, 673, 673, 673, 673, 673, 673, 673, 673, 201, - 1300, 149, 583, 583, 583, 583, 583, 583, 583, 583, - 621, 200, 313, 149, 691, 691, 691, 691, 691, 691, - 73, 672, 592, 674, 674, 674, 674, 674, 674, 674, - 674, 73, 443, 149, 697, 697, 697, 697, 697, 697, - 198, 197, 599, 149, 604, 604, 604, 604, 604, 604, - 604, 604, 73, 672, 196, 675, 675, 675, 675, 675, - - 676, 673, 673, 149, 604, 604, 604, 604, 604, 604, - 604, 604, 149, 604, 604, 604, 604, 604, 604, 195, - 194, 193, 86, 467, 73, 682, 683, 684, 682, 682, - 682, 682, 682, 854, 180, 140, 172, 685, 685, 685, - 685, 685, 698, 699, 700, 698, 698, 698, 698, 698, - 723, 723, 723, 723, 723, 724, 685, 685, 685, 685, - 685, 685, 687, 688, 689, 687, 687, 687, 687, 687, - 134, 149, 128, 128, 690, 690, 690, 690, 690, 608, - 568, 609, 609, 609, 609, 609, 609, 609, 609, 121, - 170, 115, 163, 690, 690, 690, 690, 690, 690, 313, - - 149, 691, 691, 691, 691, 691, 691, 691, 691, 592, - 693, 694, 695, 693, 693, 693, 693, 693, 276, 149, - 162, 161, 696, 696, 696, 696, 696, 608, 568, 609, - 609, 609, 609, 609, 609, 609, 609, 160, 159, 157, - 156, 696, 696, 696, 696, 696, 696, 443, 149, 697, - 697, 697, 697, 697, 697, 697, 697, 599, 608, 152, - 609, 609, 609, 609, 609, 609, 701, 702, 703, 701, - 701, 701, 701, 701, 613, 1300, 614, 614, 614, 614, - 614, 614, 614, 614, 613, 854, 614, 614, 614, 614, - 614, 614, 614, 614, 613, 149, 614, 614, 614, 614, - - 614, 614, 704, 705, 706, 704, 704, 704, 704, 704, - 708, 709, 710, 708, 708, 708, 708, 708, 72, 147, - 141, 82, 711, 711, 711, 711, 711, 619, 149, 712, - 712, 712, 712, 712, 712, 80, 140, 621, 75, 74, - 73, 711, 711, 711, 711, 711, 711, 619, 149, 712, - 712, 712, 712, 712, 712, 712, 712, 621, 545, 871, - 719, 719, 719, 719, 719, 719, 719, 719, 720, 873, - 134, 128, 721, 721, 721, 721, 721, 722, 722, 722, - 722, 722, 722, 722, 722, 741, 741, 741, 741, 741, - 742, 721, 721, 721, 721, 721, 721, 1300, 1300, 721, - - 721, 721, 721, 721, 721, 721, 721, 725, 873, 726, - 726, 726, 726, 726, 726, 726, 726, 725, 545, 727, - 727, 727, 727, 727, 727, 727, 727, 725, 909, 728, - 728, 728, 728, 728, 729, 726, 726, 730, 1300, 731, - 731, 731, 731, 731, 731, 731, 731, 730, 909, 732, - 732, 732, 732, 732, 732, 732, 732, 730, 736, 733, - 733, 733, 733, 733, 734, 731, 731, 736, 916, 737, - 737, 737, 737, 737, 737, 737, 737, 738, 121, 115, - 114, 739, 739, 739, 739, 739, 740, 740, 740, 740, - 740, 740, 740, 740, 761, 761, 761, 761, 761, 762, - - 739, 739, 739, 739, 739, 739, 1300, 113, 739, 739, - 739, 739, 739, 739, 739, 739, 743, 744, 745, 743, - 743, 743, 743, 743, 648, 1300, 649, 649, 649, 649, - 649, 649, 649, 649, 648, 916, 649, 649, 649, 649, - 649, 649, 649, 649, 648, 112, 649, 649, 649, 649, - 649, 649, 747, 748, 749, 747, 747, 747, 747, 747, - 111, 110, 99, 98, 750, 750, 750, 750, 750, 149, - 752, 752, 752, 752, 752, 752, 752, 752, 97, 96, - 93, 149, 82, 750, 750, 750, 750, 750, 750, 467, - 773, 751, 751, 751, 751, 751, 751, 751, 751, 655, - - 149, 753, 753, 753, 753, 753, 753, 753, 753, 149, - 754, 754, 754, 754, 754, 755, 752, 752, 276, 149, - 757, 757, 757, 757, 757, 757, 757, 757, 758, 80, - 75, 74, 759, 759, 759, 759, 759, 760, 760, 760, - 760, 760, 760, 760, 760, 73, 1300, 1300, 1300, 149, - 1300, 759, 759, 759, 759, 759, 759, 1300, 589, 759, - 759, 759, 759, 759, 759, 759, 759, 763, 764, 765, - 763, 763, 763, 763, 763, 1300, 672, 1300, 673, 673, - 673, 673, 673, 673, 778, 778, 778, 778, 778, 778, - 778, 778, 1300, 1300, 1300, 1300, 73, 672, 1300, 673, - - 673, 673, 673, 673, 673, 673, 673, 73, 779, 779, - 779, 779, 779, 780, 1300, 149, 777, 777, 777, 777, - 777, 777, 777, 777, 592, 1300, 1300, 1300, 73, 672, - 1300, 673, 673, 673, 673, 673, 673, 673, 673, 785, - 785, 785, 785, 785, 785, 785, 785, 786, 786, 786, - 786, 786, 787, 793, 793, 793, 793, 793, 794, 1300, - 73, 767, 768, 769, 767, 767, 767, 767, 767, 770, - 149, 1300, 1300, 771, 771, 771, 771, 771, 1300, 599, - 784, 784, 784, 784, 784, 784, 784, 784, 1300, 1300, - 1300, 1300, 771, 771, 771, 771, 771, 771, 313, 149, - - 775, 775, 775, 775, 775, 775, 775, 775, 776, 313, - 149, 1300, 777, 777, 777, 777, 777, 1300, 936, 592, - 792, 792, 792, 792, 792, 792, 792, 792, 938, 1300, - 1300, 777, 777, 777, 777, 777, 777, 443, 149, 782, - 782, 782, 782, 782, 782, 782, 782, 783, 149, 1300, - 1300, 784, 784, 784, 784, 784, 1300, 621, 791, 791, - 791, 791, 791, 791, 791, 791, 1300, 1300, 1300, 1300, - 784, 784, 784, 784, 784, 784, 619, 149, 789, 789, - 789, 789, 789, 789, 789, 789, 790, 443, 149, 1300, - 791, 791, 791, 791, 791, 1300, 1300, 599, 149, 795, - - 795, 795, 795, 795, 795, 795, 795, 1300, 1300, 791, - 791, 791, 791, 791, 791, 149, 796, 796, 796, 796, - 796, 796, 796, 796, 149, 797, 797, 797, 797, 797, - 798, 795, 795, 799, 1300, 800, 800, 800, 800, 800, - 800, 800, 800, 799, 938, 801, 801, 801, 801, 801, - 801, 801, 801, 799, 467, 802, 802, 802, 802, 802, - 803, 800, 800, 804, 854, 805, 805, 805, 805, 805, - 805, 805, 805, 804, 871, 806, 806, 806, 806, 806, - 806, 806, 806, 804, 873, 807, 807, 807, 807, 807, - 808, 805, 805, 810, 149, 811, 811, 811, 811, 811, - - 811, 811, 811, 812, 1300, 1300, 1300, 813, 813, 813, - 813, 813, 814, 814, 814, 814, 814, 814, 814, 814, - 815, 815, 815, 815, 815, 816, 813, 813, 813, 813, - 813, 813, 1300, 1300, 813, 813, 813, 813, 813, 813, - 813, 813, 619, 149, 832, 833, 834, 832, 832, 832, - 832, 832, 621, 822, 823, 824, 822, 822, 822, 822, - 822, 1300, 149, 1300, 1300, 825, 825, 825, 825, 825, - 725, 568, 726, 726, 726, 726, 726, 726, 726, 726, - 1300, 1300, 1300, 1300, 825, 825, 825, 825, 825, 825, - 827, 828, 829, 827, 827, 827, 827, 827, 276, 149, - - 1300, 1300, 830, 830, 830, 830, 830, 725, 758, 726, - 726, 726, 726, 726, 726, 726, 726, 1300, 1300, 149, - 1300, 830, 830, 830, 830, 830, 830, 545, 758, 831, - 831, 831, 831, 831, 831, 831, 831, 720, 725, 1300, - 726, 726, 726, 726, 726, 726, 835, 836, 837, 835, - 835, 835, 835, 835, 730, 545, 731, 731, 731, 731, - 731, 731, 731, 731, 730, 909, 731, 731, 731, 731, - 731, 731, 731, 731, 730, 1300, 731, 731, 731, 731, - 731, 731, 838, 839, 840, 838, 838, 838, 838, 838, - 842, 843, 844, 842, 842, 842, 842, 842, 1300, 149, - - 1300, 1300, 845, 845, 845, 845, 845, 847, 773, 848, - 848, 848, 848, 848, 848, 848, 848, 1300, 1300, 149, - 1300, 845, 845, 845, 845, 845, 845, 736, 589, 846, - 846, 846, 846, 846, 846, 846, 846, 738, 847, 736, - 849, 849, 849, 849, 849, 849, 849, 849, 847, 916, - 850, 850, 850, 850, 850, 851, 848, 848, 467, 936, - 853, 853, 853, 853, 853, 853, 853, 853, 854, 938, - 1300, 1300, 855, 855, 855, 855, 855, 856, 856, 856, - 856, 856, 856, 856, 856, 857, 857, 857, 857, 857, - 858, 855, 855, 855, 855, 855, 855, 1300, 1300, 855, - - 855, 855, 855, 855, 855, 855, 855, 149, 752, 752, - 752, 752, 752, 752, 752, 752, 149, 752, 752, 752, - 752, 752, 752, 752, 752, 149, 752, 752, 752, 752, - 752, 752, 860, 861, 862, 860, 860, 860, 860, 860, - 1300, 1300, 1300, 1300, 863, 863, 863, 863, 863, 276, - 149, 864, 864, 864, 864, 864, 864, 1300, 1300, 758, - 1300, 1300, 1300, 863, 863, 863, 863, 863, 863, 276, - 149, 864, 864, 864, 864, 864, 864, 864, 864, 758, - 865, 1300, 866, 866, 866, 866, 866, 866, 866, 866, - 875, 875, 875, 875, 875, 875, 875, 875, 876, 876, - - 876, 876, 876, 877, 149, 912, 912, 912, 912, 912, - 913, 73, 865, 592, 867, 867, 867, 867, 867, 867, - 867, 867, 1300, 1300, 874, 874, 874, 874, 874, 874, - 874, 874, 313, 149, 1300, 1300, 149, 1300, 1300, 1300, - 1300, 1300, 776, 73, 865, 776, 868, 868, 868, 868, - 868, 869, 866, 866, 313, 149, 883, 883, 883, 883, - 883, 883, 443, 149, 776, 149, 1300, 1300, 149, 1300, - 1300, 1300, 783, 1300, 599, 73, 871, 783, 872, 872, - 872, 872, 872, 872, 872, 872, 873, 1300, 1300, 1300, - 874, 874, 874, 874, 874, 443, 149, 886, 886, 886, - - 886, 886, 886, 1300, 1300, 783, 1300, 1300, 1300, 874, - 874, 874, 874, 874, 874, 313, 149, 883, 883, 883, - 883, 883, 883, 883, 883, 776, 443, 149, 886, 886, - 886, 886, 886, 886, 886, 886, 783, 619, 149, 1300, - 149, 919, 919, 919, 919, 919, 920, 790, 1300, 790, - 619, 149, 889, 889, 889, 889, 889, 889, 889, 889, - 790, 619, 149, 889, 889, 889, 889, 889, 889, 1300, - 1300, 790, 149, 795, 795, 795, 795, 795, 795, 795, - 795, 149, 795, 795, 795, 795, 795, 795, 795, 795, - 149, 795, 795, 795, 795, 795, 795, 890, 891, 892, - - 890, 890, 890, 890, 890, 799, 467, 800, 800, 800, - 800, 800, 800, 800, 800, 799, 1036, 800, 800, 800, - 800, 800, 800, 800, 800, 799, 1300, 800, 800, 800, - 800, 800, 800, 893, 894, 895, 893, 893, 893, 893, - 893, 804, 1300, 805, 805, 805, 805, 805, 805, 805, - 805, 804, 1036, 805, 805, 805, 805, 805, 805, 805, - 805, 804, 149, 805, 805, 805, 805, 805, 805, 1300, - 1300, 621, 896, 897, 898, 896, 896, 896, 896, 896, - 810, 149, 1300, 149, 941, 941, 941, 941, 941, 942, - 812, 1300, 812, 810, 149, 901, 901, 901, 901, 901, - - 901, 901, 901, 812, 810, 149, 901, 901, 901, 901, - 901, 901, 1300, 1300, 812, 545, 545, 908, 908, 908, - 908, 908, 908, 908, 908, 909, 1076, 1300, 1300, 910, - 910, 910, 910, 910, 911, 911, 911, 911, 911, 911, - 911, 911, 1300, 1300, 1300, 1300, 149, 1300, 910, 910, - 910, 910, 910, 910, 1300, 758, 910, 910, 910, 910, - 910, 910, 910, 910, 736, 1300, 915, 915, 915, 915, - 915, 915, 915, 915, 916, 1076, 1300, 1300, 917, 917, - 917, 917, 917, 918, 918, 918, 918, 918, 918, 918, - 918, 957, 957, 957, 957, 957, 958, 917, 917, 917, - - 917, 917, 917, 1300, 1300, 917, 917, 917, 917, 917, - 917, 917, 917, 921, 921, 921, 921, 921, 921, 921, - 921, 922, 922, 922, 922, 922, 922, 922, 922, 923, - 923, 923, 923, 923, 924, 921, 921, 925, 736, 926, - 926, 926, 926, 926, 926, 926, 926, 925, 1083, 927, - 927, 927, 927, 927, 927, 927, 927, 925, 1300, 928, - 928, 928, 928, 928, 929, 926, 926, 930, 1083, 931, - 931, 931, 931, 931, 931, 931, 931, 930, 936, 932, - 932, 932, 932, 932, 932, 932, 932, 930, 1090, 933, - 933, 933, 933, 933, 934, 931, 931, 936, 1300, 937, - - 937, 937, 937, 937, 937, 937, 937, 938, 1090, 1300, - 1300, 939, 939, 939, 939, 939, 940, 940, 940, 940, - 940, 940, 940, 940, 1300, 1300, 1300, 276, 149, 1300, - 939, 939, 939, 939, 939, 939, 1300, 758, 939, 939, - 939, 939, 939, 939, 939, 939, 943, 944, 945, 943, - 943, 943, 943, 943, 847, 1110, 848, 848, 848, 848, - 848, 848, 848, 848, 847, 1112, 848, 848, 848, 848, - 848, 848, 848, 848, 847, 1300, 848, 848, 848, 848, - 848, 848, 947, 948, 949, 947, 947, 947, 947, 947, - 1300, 1300, 1300, 1300, 950, 950, 950, 950, 950, 956, - - 956, 956, 956, 956, 956, 956, 956, 1300, 1300, 1300, - 1300, 149, 1300, 950, 950, 950, 950, 950, 950, 467, - 773, 951, 951, 951, 951, 951, 951, 951, 951, 854, - 276, 149, 953, 953, 953, 953, 953, 953, 953, 953, - 954, 149, 1300, 1300, 955, 955, 955, 955, 955, 1300, - 776, 955, 955, 955, 955, 955, 955, 955, 955, 1300, - 1300, 1300, 1300, 955, 955, 955, 955, 955, 955, 959, - 960, 961, 959, 959, 959, 959, 959, 1300, 865, 1300, - 866, 866, 866, 866, 866, 866, 962, 963, 964, 962, - 962, 962, 962, 962, 1300, 1300, 1300, 1300, 73, 865, - - 1300, 866, 866, 866, 866, 866, 866, 866, 866, 73, - 313, 149, 149, 443, 149, 149, 619, 149, 149, 149, - 776, 783, 1300, 783, 790, 1300, 790, 812, 758, 1300, - 73, 865, 1112, 866, 866, 866, 866, 866, 866, 866, - 866, 149, 978, 978, 978, 978, 978, 978, 978, 978, - 149, 979, 979, 979, 979, 979, 979, 979, 979, 1300, - 1300, 1300, 73, 871, 1300, 968, 968, 968, 968, 968, - 968, 968, 968, 873, 149, 980, 980, 980, 980, 980, - 981, 978, 978, 982, 467, 983, 983, 983, 983, 983, - 983, 983, 983, 982, 1036, 984, 984, 984, 984, 984, - - 984, 984, 984, 982, 1145, 985, 985, 985, 985, 985, - 986, 983, 983, 987, 1147, 988, 988, 988, 988, 988, - 988, 988, 988, 987, 1300, 989, 989, 989, 989, 989, - 989, 989, 989, 987, 1147, 990, 990, 990, 990, 990, - 991, 988, 988, 810, 149, 921, 921, 921, 921, 921, - 921, 921, 921, 812, 999, 1000, 1001, 999, 999, 999, - 999, 999, 1300, 1300, 1300, 1300, 1002, 1002, 1002, 1002, - 1002, 921, 921, 921, 921, 921, 921, 921, 921, 921, - 921, 921, 921, 921, 921, 1002, 1002, 1002, 1002, 1002, - 1002, 1004, 1005, 1006, 1004, 1004, 1004, 1004, 1004, 1300, - - 1300, 1300, 1300, 1007, 1007, 1007, 1007, 1007, 1015, 1016, - 1017, 1015, 1015, 1015, 1015, 1015, 1039, 1039, 1039, 1039, - 1039, 1040, 1007, 1007, 1007, 1007, 1007, 1007, 545, 1300, - 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 909, 1010, - 1011, 1012, 1010, 1010, 1010, 1010, 1010, 276, 149, 1300, - 1300, 1013, 1013, 1013, 1013, 1013, 925, 954, 926, 926, - 926, 926, 926, 926, 926, 926, 1300, 1300, 149, 1300, - 1013, 1013, 1013, 1013, 1013, 1013, 736, 954, 1014, 1014, - 1014, 1014, 1014, 1014, 1014, 1014, 916, 925, 545, 926, - 926, 926, 926, 926, 926, 926, 926, 925, 1076, 926, - - 926, 926, 926, 926, 926, 1018, 1019, 1020, 1018, 1018, - 1018, 1018, 1018, 930, 736, 931, 931, 931, 931, 931, - 931, 931, 931, 930, 1083, 931, 931, 931, 931, 931, - 931, 931, 931, 930, 1300, 931, 931, 931, 931, 931, - 931, 1021, 1022, 1023, 1021, 1021, 1021, 1021, 1021, 1025, - 1026, 1027, 1025, 1025, 1025, 1025, 1025, 1300, 1300, 1300, - 1300, 1028, 1028, 1028, 1028, 1028, 1030, 1030, 1030, 1030, - 1030, 1030, 1030, 1030, 1300, 1300, 1300, 1300, 149, 1300, - 1028, 1028, 1028, 1028, 1028, 1028, 936, 773, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 938, 1031, 1031, 1031, - - 1031, 1031, 1031, 1031, 1031, 1032, 1032, 1032, 1032, 1032, - 1033, 1030, 1030, 467, 936, 1035, 1035, 1035, 1035, 1035, - 1035, 1035, 1035, 1036, 1090, 1300, 1300, 1037, 1037, 1037, - 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1300, 1300, 1300, 1300, 149, 1300, 1037, 1037, 1037, 1037, - 1037, 1037, 1300, 776, 1037, 1037, 1037, 1037, 1037, 1037, - 1037, 1037, 276, 149, 1043, 1043, 1043, 1043, 1043, 1043, - 1043, 1043, 954, 276, 149, 1043, 1043, 1043, 1043, 1043, - 1043, 1300, 1300, 954, 1044, 1044, 1044, 1044, 1044, 1044, - 1044, 1044, 959, 959, 959, 959, 959, 959, 959, 959, - - 1045, 1045, 1045, 1045, 1045, 1046, 1044, 1044, 149, 149, - 149, 1300, 1300, 73, 1300, 1300, 1300, 783, 790, 812, - 982, 73, 983, 983, 983, 983, 983, 983, 1047, 73, - 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1047, 1110, - 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1047, 1112, - 1050, 1050, 1050, 1050, 1050, 1051, 1048, 1048, 149, 978, - 978, 978, 978, 978, 978, 978, 978, 149, 978, 978, - 978, 978, 978, 978, 978, 978, 149, 978, 978, 978, - 978, 978, 978, 1059, 1060, 1061, 1059, 1059, 1059, 1059, - 1059, 982, 467, 983, 983, 983, 983, 983, 983, 983, - - 983, 982, 1178, 983, 983, 983, 983, 983, 983, 983, - 983, 1062, 1063, 1064, 1062, 1062, 1062, 1062, 1062, 987, - 1300, 988, 988, 988, 988, 988, 988, 988, 988, 987, - 1178, 988, 988, 988, 988, 988, 988, 988, 988, 987, - 1300, 988, 988, 988, 988, 988, 988, 1067, 1068, 1069, - 1067, 1067, 1067, 1067, 1067, 1070, 1300, 1300, 1300, 1071, - 1071, 1071, 1071, 1071, 1078, 1078, 1078, 1078, 1078, 1078, - 1078, 1078, 1079, 1079, 1079, 1079, 1079, 1080, 1071, 1071, - 1071, 1071, 1071, 1071, 545, 1300, 1075, 1075, 1075, 1075, - 1075, 1075, 1075, 1075, 1076, 149, 1300, 1300, 1077, 1077, - - 1077, 1077, 1077, 1300, 954, 1077, 1077, 1077, 1077, 1077, - 1077, 1077, 1077, 1300, 276, 149, 1300, 1077, 1077, 1077, - 1077, 1077, 1077, 736, 954, 1082, 1082, 1082, 1082, 1082, - 1082, 1082, 1082, 1083, 1300, 1300, 1300, 1084, 1084, 1084, - 1084, 1084, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, - 1086, 1086, 1086, 1086, 1086, 1087, 1084, 1084, 1084, 1084, - 1084, 1084, 1300, 1145, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 936, 1147, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1090, 1300, 1300, 1300, 1091, 1091, 1091, 1091, - 1091, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1093, - - 1093, 1093, 1093, 1093, 1094, 1091, 1091, 1091, 1091, 1091, - 1091, 1300, 1300, 1091, 1091, 1091, 1091, 1091, 1091, 1091, - 1091, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1096, - 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1097, 1097, 1097, - 1097, 1097, 1098, 1095, 1095, 1099, 467, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1099, 1178, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1099, 1300, 1102, 1102, 1102, - 1102, 1102, 1103, 1100, 1100, 1104, 1300, 1105, 1105, 1105, - 1105, 1105, 1105, 1105, 1105, 1104, 1300, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1104, 1300, 1107, 1107, 1107, - - 1107, 1107, 1108, 1105, 1105, 1110, 1300, 1111, 1111, 1111, - 1111, 1111, 1111, 1111, 1111, 1112, 1300, 1300, 1300, 1113, - 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114, - 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1116, 1113, 1113, - 1113, 1113, 1113, 1113, 1300, 1300, 1113, 1113, 1113, 1113, - 1113, 1113, 1113, 1113, 1030, 1030, 1030, 1030, 1030, 1030, - 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, - 1030, 1030, 1030, 1030, 1030, 1030, 1118, 1119, 1120, 1118, - 1118, 1118, 1118, 1118, 149, 1300, 1300, 1300, 1121, 1121, - 1121, 1121, 1121, 954, 1300, 1044, 1044, 1044, 1044, 1044, - - 1044, 1044, 1044, 1300, 1300, 1300, 1300, 1121, 1121, 1121, - 1121, 1121, 1121, 467, 1300, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1036, 73, 1044, 1044, 1044, 1044, 1044, - 1044, 1125, 1126, 1127, 1125, 1125, 1125, 1125, 1125, 1047, - 1300, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1300, - 1300, 1300, 1300, 1047, 73, 1048, 1048, 1048, 1048, 1048, - 1048, 1048, 1048, 1047, 1300, 1048, 1048, 1048, 1048, 1048, - 1048, 149, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, - 149, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 149, - 1136, 1136, 1136, 1136, 1136, 1137, 1134, 1134, 1138, 1300, - - 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1138, 1300, - 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1138, 1300, - 1141, 1141, 1141, 1141, 1141, 1142, 1139, 1139, 1145, 1300, - 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 1300, - 1300, 1300, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1150, 1150, 1150, 1150, 1150, - 1151, 1148, 1148, 1148, 1148, 1148, 1148, 1300, 1300, 1148, - 1148, 1148, 1148, 1148, 1148, 1148, 1148, 545, 1300, 1157, - 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1076, 736, 1300, - 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1083, 936, - - 1300, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1090, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1164, 1165, 1166, 1164, 1164, 1164, 1164, 1164, - 1099, 1300, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1099, 1300, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1099, 1300, 1100, 1100, 1100, 1100, 1100, 1100, 1167, 1168, - 1169, 1167, 1167, 1167, 1167, 1167, 1104, 1300, 1105, 1105, - 1105, 1105, 1105, 1105, 1105, 1105, 1104, 1300, 1105, 1105, - 1105, 1105, 1105, 1105, 1105, 1105, 1104, 1300, 1105, 1105, - - 1105, 1105, 1105, 1105, 1170, 1171, 1172, 1170, 1170, 1170, - 1170, 1170, 1110, 1300, 1175, 1175, 1175, 1175, 1175, 1175, - 1175, 1175, 1112, 467, 1300, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1178, 1300, 1300, 1300, 1179, 1179, 1179, - 1179, 1179, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, - 1181, 1181, 1181, 1181, 1181, 1182, 1179, 1179, 1179, 1179, - 1179, 1179, 1300, 1300, 1179, 1179, 1179, 1179, 1179, 1179, - 1179, 1179, 1184, 1300, 1185, 1185, 1185, 1185, 1185, 1185, - 1185, 1185, 1184, 1300, 1186, 1186, 1186, 1186, 1186, 1186, - 1186, 1186, 1184, 1300, 1187, 1187, 1187, 1187, 1187, 1188, - - 1185, 1185, 149, 1134, 1134, 1134, 1134, 1134, 1134, 1134, - 1134, 149, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, - 149, 1134, 1134, 1134, 1134, 1134, 1134, 1189, 1190, 1191, - 1189, 1189, 1189, 1189, 1189, 1138, 1300, 1139, 1139, 1139, - 1139, 1139, 1139, 1139, 1139, 1138, 1300, 1139, 1139, 1139, - 1139, 1139, 1139, 1139, 1139, 1138, 1300, 1139, 1139, 1139, - 1139, 1139, 1139, 1192, 1193, 1194, 1192, 1192, 1192, 1192, - 1192, 1145, 1300, 1198, 1198, 1198, 1198, 1198, 1198, 1198, - 1198, 1147, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, - 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 1210, - - 1210, 1210, 1210, 1211, 1208, 1208, 1212, 1300, 1213, 1213, - 1213, 1213, 1213, 1213, 1213, 1213, 1212, 1300, 1214, 1214, - 1214, 1214, 1214, 1214, 1214, 1214, 1212, 1300, 1215, 1215, - 1215, 1215, 1215, 1216, 1213, 1213, 1217, 1300, 1218, 1218, - 1218, 1218, 1218, 1218, 1218, 1218, 1217, 1300, 1219, 1219, - 1219, 1219, 1219, 1219, 1219, 1219, 1217, 1300, 1220, 1220, - 1220, 1220, 1220, 1221, 1218, 1218, 467, 1300, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1178, 1228, 1229, 1230, - 1228, 1228, 1228, 1228, 1228, 1184, 1300, 1185, 1185, 1185, - 1185, 1185, 1185, 1185, 1185, 1184, 1300, 1185, 1185, 1185, - - 1185, 1185, 1185, 1185, 1185, 1184, 1300, 1185, 1185, 1185, - 1185, 1185, 1185, 149, 1231, 1231, 1231, 1231, 1231, 1231, - 1231, 1231, 149, 1232, 1232, 1232, 1232, 1232, 1232, 1232, - 1232, 149, 1233, 1233, 1233, 1233, 1233, 1234, 1231, 1231, - 1235, 1300, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, - 1235, 1300, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, - 1235, 1300, 1238, 1238, 1238, 1238, 1238, 1239, 1236, 1236, - 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, - 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, - 1208, 1208, 1247, 1248, 1249, 1247, 1247, 1247, 1247, 1247, - - 1212, 1300, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, - 1212, 1300, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, - 1212, 1300, 1213, 1213, 1213, 1213, 1213, 1213, 1250, 1251, - 1252, 1250, 1250, 1250, 1250, 1250, 1217, 1300, 1218, 1218, - 1218, 1218, 1218, 1218, 1218, 1218, 1217, 1300, 1218, 1218, - 1218, 1218, 1218, 1218, 1218, 1218, 1217, 1300, 1218, 1218, - 1218, 1218, 1218, 1218, 149, 1256, 1256, 1256, 1256, 1256, - 1256, 1256, 1256, 149, 1257, 1257, 1257, 1257, 1257, 1257, - 1257, 1257, 149, 1258, 1258, 1258, 1258, 1258, 1259, 1256, - 1256, 149, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, - - 149, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 149, - 1231, 1231, 1231, 1231, 1231, 1231, 1260, 1261, 1262, 1260, - 1260, 1260, 1260, 1260, 1235, 1300, 1236, 1236, 1236, 1236, - 1236, 1236, 1236, 1236, 1235, 1300, 1236, 1236, 1236, 1236, - 1236, 1236, 1236, 1236, 1235, 1300, 1236, 1236, 1236, 1236, - 1236, 1236, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, - 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1271, 1271, - 1271, 1271, 1271, 1272, 1269, 1269, 1273, 1300, 1274, 1274, - 1274, 1274, 1274, 1274, 1274, 1274, 1273, 1300, 1275, 1275, - 1275, 1275, 1275, 1275, 1275, 1275, 1273, 1300, 1276, 1276, - - 1276, 1276, 1276, 1277, 1274, 1274, 149, 1256, 1256, 1256, - 1256, 1256, 1256, 1256, 1256, 149, 1256, 1256, 1256, 1256, - 1256, 1256, 1256, 1256, 149, 1256, 1256, 1256, 1256, 1256, - 1256, 1280, 1300, 1281, 1281, 1281, 1281, 1281, 1281, 1281, - 1281, 1280, 1300, 1282, 1282, 1282, 1282, 1282, 1282, 1282, - 1282, 1280, 1300, 1283, 1283, 1283, 1283, 1283, 1284, 1281, - 1281, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, - 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, - 1269, 1269, 1269, 1285, 1286, 1287, 1285, 1285, 1285, 1285, - 1285, 1273, 1300, 1274, 1274, 1274, 1274, 1274, 1274, 1274, - - 1274, 1273, 1300, 1274, 1274, 1274, 1274, 1274, 1274, 1274, - 1274, 1273, 1300, 1274, 1274, 1274, 1274, 1274, 1274, 1289, - 1290, 1291, 1289, 1289, 1289, 1289, 1289, 1280, 1300, 1281, - 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1280, 1300, 1281, - 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1280, 1300, 1281, - 1281, 1281, 1281, 1281, 1281, 1292, 1292, 1292, 1292, 1292, - 1292, 1292, 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1293, - 1293, 1294, 1294, 1294, 1294, 1294, 1295, 1292, 1292, 1296, - 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1297, 1297, 1297, - 1297, 1297, 1297, 1297, 1297, 1298, 1298, 1298, 1298, 1298, - - 1299, 1296, 1296, 1292, 1292, 1292, 1292, 1292, 1292, 1292, - 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, - 1292, 1292, 1292, 1292, 1292, 1296, 1296, 1296, 1296, 1296, - 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, - 1296, 1296, 1296, 1296, 1296, 1296, 1296, 51, 51, 51, + 78, 78, 78, 79, 332, 79, 149, 79, 489, 79, + 79, 73, 81, 79, 81, 187, 81, 248, 81, 81, + 234, 149, 81, 285, 319, 79, 79, 79, 73, 135, + 187, 284, 149, 110, 81, 81, 81, 83, 286, 72, + 73, 83, 235, 72, 72, 149, 320, 83, 147, 147, + 147, 147, 147, 147, 147, 147, 73, 438, 73, 83, + 83, 72, 146, 146, 146, 146, 146, 146, 146, 146, + 88, 73, 371, 376, 146, 146, 146, 146, 146, 227, + 227, 227, 227, 227, 228, 118, 456, 73, 104, 118, + + 118, 73, 287, 146, 146, 146, 146, 146, 146, 152, + 152, 152, 152, 152, 152, 152, 152, 118, 247, 222, + 149, 152, 152, 152, 152, 152, 105, 106, 128, 224, + 107, 128, 128, 323, 108, 249, 119, 109, 128, 73, + 146, 146, 146, 146, 146, 146, 117, 389, 72, 331, + 117, 128, 72, 72, 84, 324, 117, 325, 84, 73, + 141, 533, 149, 149, 84, 149, 73, 460, 117, 117, + 72, 224, 187, 334, 224, 377, 84, 84, 174, 326, + 175, 175, 175, 175, 175, 175, 175, 175, 216, 216, + 217, 218, 218, 218, 218, 218, 184, 73, 118, 458, + + 319, 341, 118, 73, 386, 386, 327, 330, 118, 73, + 174, 343, 176, 176, 176, 176, 176, 176, 176, 176, + 118, 118, 320, 211, 212, 213, 211, 211, 211, 211, + 211, 174, 73, 175, 175, 175, 175, 175, 175, 323, + 489, 73, 174, 487, 177, 177, 177, 177, 177, 178, + 175, 175, 73, 192, 192, 192, 192, 192, 192, 192, + 192, 324, 73, 226, 226, 226, 226, 226, 226, 226, + 226, 418, 141, 73, 72, 141, 179, 179, 179, 179, + 179, 179, 179, 179, 222, 149, 435, 435, 179, 179, + 179, 179, 179, 533, 224, 225, 225, 225, 225, 225, + + 225, 225, 225, 73, 149, 419, 389, 179, 179, 179, + 179, 179, 179, 181, 182, 183, 183, 183, 183, 183, + 183, 184, 343, 374, 429, 185, 185, 185, 185, 185, + 255, 255, 255, 255, 255, 255, 255, 255, 184, 325, + 412, 222, 149, 460, 185, 185, 185, 185, 185, 185, + 149, 188, 189, 190, 188, 188, 188, 188, 188, 191, + 458, 326, 413, 192, 192, 192, 192, 192, 260, 261, + 262, 260, 260, 260, 260, 260, 269, 269, 269, 269, + 269, 270, 192, 192, 192, 192, 192, 192, 193, 193, + 193, 193, 193, 193, 193, 193, 414, 533, 149, 454, + + 193, 193, 193, 193, 193, 233, 233, 233, 233, 233, + 233, 233, 233, 452, 452, 399, 222, 149, 415, 179, + 179, 179, 179, 179, 179, 174, 266, 175, 175, 175, + 175, 175, 175, 175, 175, 222, 149, 264, 264, 264, + 264, 264, 264, 343, 533, 224, 268, 268, 268, 268, + 268, 268, 268, 268, 343, 294, 73, 174, 341, 175, + 175, 175, 175, 175, 175, 175, 175, 533, 343, 267, + 267, 267, 267, 267, 267, 267, 267, 533, 149, 288, + 289, 290, 288, 288, 288, 288, 288, 266, 73, 222, + 149, 223, 223, 223, 223, 223, 223, 223, 223, 224, + + 73, 73, 417, 225, 225, 225, 225, 225, 73, 249, + 333, 250, 250, 250, 250, 250, 250, 412, 470, 470, + 222, 149, 225, 225, 225, 225, 225, 225, 149, 229, + 230, 231, 229, 229, 229, 229, 229, 232, 149, 413, + 73, 233, 233, 233, 233, 233, 300, 224, 301, 301, + 301, 301, 301, 301, 301, 301, 501, 501, 149, 416, + 233, 233, 233, 233, 233, 233, 249, 266, 250, 250, + 250, 250, 250, 250, 250, 250, 300, 414, 302, 302, + 302, 302, 302, 302, 302, 302, 300, 73, 303, 303, + 303, 303, 303, 304, 301, 301, 375, 73, 249, 415, + + 251, 251, 251, 251, 251, 251, 251, 251, 275, 275, + 275, 275, 275, 275, 275, 275, 222, 149, 307, 307, + 307, 307, 307, 307, 515, 515, 266, 73, 294, 73, + 249, 220, 252, 252, 252, 252, 252, 253, 250, 250, + 311, 311, 311, 311, 311, 311, 311, 311, 312, 312, + 312, 312, 312, 313, 346, 346, 346, 346, 346, 347, + 373, 73, 222, 149, 264, 264, 264, 264, 264, 264, + 264, 264, 224, 222, 149, 265, 265, 265, 265, 265, + 265, 265, 265, 266, 149, 372, 370, 267, 267, 267, + 267, 267, 533, 266, 310, 310, 310, 310, 310, 310, + + 310, 310, 369, 300, 294, 220, 267, 267, 267, 267, + 267, 267, 149, 271, 272, 273, 271, 271, 271, 271, + 271, 274, 184, 329, 328, 275, 275, 275, 275, 275, + 299, 299, 299, 299, 299, 299, 299, 299, 322, 321, + 294, 222, 149, 220, 275, 275, 275, 275, 275, 275, + 249, 266, 250, 250, 250, 250, 250, 250, 250, 250, + 345, 345, 345, 345, 345, 345, 345, 345, 533, 149, + 344, 344, 344, 344, 344, 344, 344, 344, 309, 422, + 184, 73, 249, 184, 250, 250, 250, 250, 250, 250, + 250, 250, 353, 354, 355, 353, 353, 353, 353, 353, + + 300, 341, 301, 301, 301, 301, 301, 301, 301, 301, + 73, 389, 490, 73, 295, 296, 297, 295, 295, 295, + 295, 295, 298, 242, 283, 282, 299, 299, 299, 299, + 299, 300, 533, 301, 301, 301, 301, 301, 301, 301, + 301, 280, 389, 73, 517, 299, 299, 299, 299, 299, + 299, 222, 149, 307, 307, 307, 307, 307, 307, 307, + 307, 266, 222, 149, 308, 308, 308, 308, 308, 308, + 308, 308, 309, 149, 279, 73, 310, 310, 310, 310, + 310, 300, 309, 301, 301, 301, 301, 301, 301, 363, + 363, 363, 363, 363, 364, 310, 310, 310, 310, 310, + + 310, 149, 314, 315, 316, 314, 314, 314, 314, 314, + 317, 222, 149, 278, 318, 318, 318, 318, 318, 418, + 141, 309, 318, 318, 318, 318, 318, 318, 318, 318, + 277, 276, 455, 318, 318, 318, 318, 318, 318, 334, + 335, 335, 335, 335, 335, 335, 335, 335, 533, 149, + 222, 149, 358, 358, 358, 358, 358, 358, 309, 258, + 309, 362, 362, 362, 362, 362, 362, 362, 362, 73, + 334, 336, 336, 336, 336, 336, 336, 336, 336, 533, + 220, 361, 361, 361, 361, 361, 361, 361, 361, 378, + 379, 380, 381, 378, 378, 378, 378, 184, 254, 184, + + 73, 334, 337, 337, 337, 337, 337, 338, 335, 335, + 383, 384, 385, 383, 383, 383, 383, 383, 73, 222, + 149, 334, 335, 335, 335, 335, 335, 335, 94, 309, + 242, 73, 341, 341, 342, 342, 342, 342, 342, 342, + 342, 342, 343, 389, 244, 242, 344, 344, 344, 344, + 344, 73, 352, 352, 352, 352, 352, 352, 352, 352, + 243, 242, 240, 239, 238, 344, 344, 344, 344, 344, + 344, 348, 349, 350, 348, 348, 348, 348, 348, 351, + 237, 236, 88, 352, 352, 352, 352, 352, 391, 391, + 391, 391, 391, 391, 391, 391, 392, 392, 392, 392, + + 392, 393, 352, 352, 352, 352, 352, 352, 222, 149, + 358, 358, 358, 358, 358, 358, 358, 358, 309, 222, + 149, 359, 359, 359, 359, 359, 359, 359, 359, 360, + 149, 184, 220, 361, 361, 361, 361, 361, 533, 360, + 390, 390, 390, 390, 390, 390, 390, 390, 184, 94, + 173, 208, 361, 361, 361, 361, 361, 361, 149, 365, + 366, 367, 365, 365, 365, 365, 365, 222, 149, 205, + 204, 368, 368, 368, 368, 368, 399, 360, 400, 400, + 400, 400, 400, 400, 400, 400, 203, 202, 201, 199, + 368, 368, 368, 368, 368, 368, 334, 335, 335, 335, + + 335, 335, 335, 335, 335, 399, 341, 401, 401, 401, + 401, 401, 401, 401, 401, 399, 438, 402, 402, 402, + 402, 402, 403, 400, 400, 198, 73, 334, 335, 335, + 335, 335, 335, 335, 335, 335, 368, 368, 368, 368, + 368, 368, 368, 368, 533, 149, 222, 149, 406, 406, + 406, 406, 406, 406, 360, 197, 360, 73, 341, 196, + 387, 387, 387, 387, 387, 387, 387, 387, 343, 341, + 533, 388, 388, 388, 388, 388, 388, 388, 388, 389, + 438, 195, 194, 390, 390, 390, 390, 390, 409, 409, + 409, 409, 409, 409, 409, 409, 410, 410, 410, 410, + + 410, 411, 390, 390, 390, 390, 390, 390, 394, 395, + 396, 394, 394, 394, 394, 394, 397, 149, 94, 86, + 398, 398, 398, 398, 398, 533, 360, 408, 408, 408, + 408, 408, 408, 408, 408, 141, 173, 135, 129, 398, + 398, 398, 398, 398, 398, 222, 149, 406, 406, 406, + 406, 406, 406, 406, 406, 360, 222, 149, 407, 407, + 407, 407, 407, 407, 407, 407, 129, 222, 149, 122, + 408, 408, 408, 408, 408, 420, 429, 360, 430, 430, + 430, 430, 430, 430, 430, 430, 465, 465, 465, 408, + 408, 408, 408, 408, 408, 420, 171, 420, 421, 429, + + 116, 431, 431, 431, 431, 431, 431, 431, 431, 441, + 441, 441, 441, 441, 442, 73, 73, 422, 341, 423, + 423, 423, 423, 423, 423, 423, 423, 429, 438, 432, + 432, 432, 432, 432, 433, 430, 430, 398, 398, 398, + 398, 398, 398, 398, 398, 164, 163, 162, 73, 422, + 161, 424, 424, 424, 424, 424, 424, 424, 424, 440, + 440, 440, 440, 440, 440, 440, 440, 533, 341, 439, + 439, 439, 439, 439, 439, 439, 439, 160, 473, 158, + 73, 422, 157, 425, 425, 425, 425, 425, 426, 427, + 427, 448, 449, 450, 448, 448, 448, 448, 448, 399, + + 533, 400, 400, 400, 400, 400, 400, 400, 400, 153, + 473, 94, 73, 422, 341, 428, 428, 428, 423, 423, + 423, 423, 423, 399, 473, 400, 400, 400, 400, 400, + 400, 400, 400, 399, 72, 400, 400, 400, 400, 400, + 400, 94, 142, 82, 73, 341, 80, 436, 436, 436, + 436, 436, 436, 436, 436, 389, 341, 420, 437, 437, + 437, 437, 437, 437, 437, 437, 438, 141, 75, 74, + 439, 439, 439, 439, 439, 73, 135, 420, 129, 420, + 420, 422, 122, 465, 465, 465, 116, 115, 114, 439, + 439, 439, 439, 439, 439, 443, 444, 445, 443, 443, + + 443, 443, 443, 446, 113, 112, 111, 447, 447, 447, + 447, 447, 73, 461, 462, 463, 461, 461, 461, 461, + 461, 100, 99, 98, 97, 94, 447, 447, 447, 447, + 447, 447, 222, 149, 453, 453, 453, 453, 453, 453, + 453, 453, 73, 422, 82, 427, 427, 427, 427, 427, + 427, 427, 427, 466, 467, 468, 466, 466, 466, 466, + 466, 429, 80, 430, 430, 430, 430, 430, 430, 430, + 430, 75, 74, 73, 73, 422, 533, 427, 427, 427, + 427, 427, 427, 427, 427, 429, 533, 430, 430, 430, + 430, 430, 430, 430, 430, 429, 533, 430, 430, 430, + + 430, 430, 430, 533, 533, 533, 73, 422, 533, 427, + 427, 427, 427, 427, 427, 464, 464, 447, 447, 447, + 447, 447, 447, 447, 447, 475, 475, 475, 475, 475, + 475, 475, 475, 533, 533, 533, 533, 533, 73, 422, + 533, 464, 464, 464, 464, 464, 464, 464, 464, 476, + 476, 476, 476, 476, 477, 533, 533, 474, 474, 474, + 474, 474, 474, 474, 474, 533, 533, 533, 533, 533, + 73, 341, 533, 471, 471, 471, 471, 471, 471, 471, + 471, 438, 341, 533, 472, 472, 472, 472, 472, 472, + 472, 472, 473, 533, 533, 533, 474, 474, 474, 474, + + 474, 149, 482, 482, 482, 482, 482, 482, 482, 482, + 533, 533, 533, 533, 533, 474, 474, 474, 474, 474, + 474, 478, 479, 480, 478, 478, 478, 478, 478, 533, + 533, 533, 533, 481, 481, 481, 481, 481, 149, 483, + 483, 483, 483, 483, 483, 483, 483, 533, 533, 533, + 533, 533, 481, 481, 481, 481, 481, 481, 149, 484, + 484, 484, 484, 484, 485, 482, 482, 457, 533, 457, + 533, 457, 533, 457, 457, 533, 459, 457, 459, 533, + 459, 533, 459, 459, 533, 533, 459, 533, 533, 457, + 457, 457, 506, 506, 506, 506, 506, 507, 459, 459, + + 459, 490, 533, 491, 491, 491, 491, 491, 491, 491, + 491, 533, 533, 533, 464, 464, 464, 464, 464, 464, + 464, 464, 495, 533, 496, 496, 496, 496, 496, 496, + 496, 496, 73, 490, 533, 492, 492, 492, 492, 492, + 492, 492, 492, 73, 495, 533, 497, 497, 497, 497, + 497, 497, 497, 497, 495, 533, 498, 498, 498, 498, + 498, 499, 496, 496, 73, 490, 533, 493, 493, 493, + 493, 493, 494, 491, 491, 481, 481, 481, 481, 481, + 481, 481, 481, 505, 505, 505, 505, 505, 505, 505, + 505, 533, 533, 533, 533, 533, 73, 341, 533, 502, + + 502, 502, 502, 502, 502, 502, 502, 473, 341, 533, + 503, 503, 503, 503, 503, 503, 503, 503, 533, 533, + 533, 533, 504, 504, 504, 504, 504, 533, 533, 504, + 504, 504, 504, 504, 504, 504, 504, 533, 533, 533, + 533, 504, 504, 504, 504, 504, 504, 149, 482, 482, + 482, 482, 482, 482, 482, 482, 149, 482, 482, 482, + 482, 482, 482, 482, 482, 149, 482, 482, 482, 482, + 482, 482, 508, 509, 510, 508, 508, 508, 508, 508, + 533, 490, 533, 491, 491, 491, 491, 491, 491, 511, + 512, 513, 511, 511, 511, 511, 511, 533, 533, 533, + + 533, 73, 490, 533, 491, 491, 491, 491, 491, 491, + 491, 491, 73, 495, 533, 496, 496, 496, 496, 496, + 496, 496, 496, 495, 533, 496, 496, 496, 496, 496, + 496, 496, 496, 73, 490, 533, 491, 491, 491, 491, + 491, 491, 491, 491, 495, 533, 496, 496, 496, 496, + 496, 496, 341, 533, 516, 516, 516, 516, 516, 516, + 516, 516, 533, 533, 533, 73, 517, 533, 518, 518, + 518, 518, 518, 518, 518, 518, 522, 522, 522, 522, + 522, 522, 522, 522, 523, 523, 523, 523, 523, 523, + 523, 523, 533, 533, 533, 533, 533, 73, 517, 533, + + 519, 519, 519, 519, 519, 519, 519, 519, 524, 524, + 524, 524, 524, 525, 522, 522, 527, 528, 529, 527, + 527, 527, 527, 527, 533, 533, 533, 533, 533, 73, + 517, 533, 520, 520, 520, 520, 520, 521, 518, 518, + 533, 533, 533, 533, 517, 73, 518, 518, 518, 518, + 518, 518, 522, 522, 522, 522, 522, 522, 522, 522, + 533, 73, 517, 533, 518, 518, 518, 518, 518, 518, + 518, 518, 533, 533, 533, 73, 522, 522, 522, 522, + 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, + 533, 533, 533, 73, 517, 533, 518, 518, 518, 518, + + 518, 518, 518, 518, 530, 530, 530, 530, 530, 530, + 530, 530, 527, 527, 527, 527, 527, 527, 527, 527, + 533, 533, 533, 533, 533, 73, 533, 533, 533, 533, + 533, 533, 533, 73, 530, 530, 530, 530, 530, 530, + 533, 73, 531, 531, 531, 531, 531, 532, 530, 530, + 530, 530, 530, 530, 530, 530, 530, 530, 533, 533, + 533, 533, 533, 73, 533, 533, 533, 533, 533, 533, + 533, 73, 533, 533, 533, 533, 533, 533, 533, 73, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 72, - - 1300, 1300, 1300, 72, 1300, 72, 72, 72, 1300, 72, - 72, 72, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 79, 1300, 1300, 1300, 79, - 1300, 79, 79, 79, 1300, 79, 79, 79, 81, 1300, - 1300, 1300, 81, 1300, 81, 81, 81, 1300, 81, 81, - 81, 83, 1300, 1300, 83, 83, 1300, 83, 83, 83, - 1300, 83, 83, 83, 116, 1300, 1300, 116, 116, 1300, - 116, 116, 116, 1300, 116, 116, 116, 120, 1300, 1300, - 120, 120, 120, 120, 120, 120, 1300, 1300, 120, 120, - 126, 126, 127, 1300, 1300, 127, 1300, 1300, 127, 127, - - 127, 127, 127, 127, 127, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 133, 133, - 1300, 133, 1300, 133, 133, 133, 133, 133, 133, 133, - 133, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 84, 1300, 1300, 84, 84, 1300, - 84, 84, 84, 1300, 84, 84, 84, 146, 146, 1300, - 1300, 146, 150, 150, 1300, 1300, 1300, 150, 117, 1300, - 1300, 117, 117, 1300, 117, 117, 117, 1300, 117, 117, - 117, 179, 179, 1300, 1300, 179, 190, 190, 190, 1300, - 1300, 190, 213, 213, 1300, 1300, 213, 214, 214, 1300, - - 1300, 214, 223, 223, 1300, 1300, 223, 229, 229, 229, - 1300, 1300, 229, 254, 254, 1300, 1300, 254, 255, 255, - 1300, 1300, 255, 264, 264, 264, 264, 1300, 1300, 264, - 270, 270, 1300, 1300, 270, 271, 271, 1300, 1300, 271, - 274, 1300, 1300, 1300, 274, 275, 275, 275, 1300, 1300, - 275, 298, 298, 1300, 1300, 298, 299, 299, 1300, 1300, - 299, 312, 312, 312, 1300, 1300, 312, 320, 320, 1300, - 1300, 320, 321, 321, 1300, 1300, 321, 327, 327, 1300, - 1300, 327, 332, 332, 332, 332, 1300, 1300, 332, 358, - 358, 1300, 1300, 358, 359, 359, 1300, 1300, 359, 361, - - 361, 1300, 1300, 1300, 361, 362, 362, 362, 362, 1300, - 1300, 362, 374, 374, 374, 374, 1300, 1300, 374, 380, - 380, 1300, 1300, 380, 381, 381, 1300, 1300, 381, 390, - 390, 1300, 1300, 390, 400, 400, 400, 1300, 1300, 400, - 420, 420, 1300, 1300, 420, 421, 421, 1300, 1300, 421, - 423, 423, 423, 1300, 1300, 423, 425, 425, 425, 1300, - 1300, 425, 442, 442, 442, 1300, 1300, 442, 450, 450, - 1300, 1300, 450, 451, 451, 1300, 1300, 451, 460, 1300, - 460, 460, 1300, 1300, 460, 466, 466, 1300, 1300, 466, - 477, 477, 477, 477, 1300, 1300, 477, 500, 500, 1300, - - 1300, 500, 501, 501, 1300, 1300, 501, 503, 503, 1300, - 1300, 1300, 503, 504, 504, 504, 1300, 1300, 504, 509, - 509, 509, 509, 1300, 1300, 509, 524, 524, 524, 524, - 1300, 1300, 524, 530, 530, 1300, 1300, 530, 531, 531, - 1300, 1300, 531, 544, 544, 1300, 1300, 544, 555, 1300, - 555, 555, 1300, 1300, 555, 566, 566, 566, 1300, 1300, - 566, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 72, 1300, 1300, 1300, 72, 1300, - 72, 72, 72, 1300, 72, 72, 72, 576, 1300, 1300, - 1300, 576, 1300, 576, 576, 576, 1300, 576, 576, 576, - - 578, 1300, 1300, 1300, 578, 1300, 578, 578, 578, 1300, - 578, 578, 578, 585, 585, 1300, 1300, 585, 586, 586, - 1300, 1300, 586, 588, 588, 588, 1300, 1300, 588, 590, - 590, 590, 1300, 1300, 590, 597, 597, 597, 1300, 1300, - 597, 618, 618, 618, 1300, 1300, 618, 626, 626, 1300, - 1300, 626, 627, 627, 1300, 1300, 627, 629, 1300, 1300, - 1300, 629, 630, 1300, 630, 630, 1300, 1300, 630, 642, - 1300, 642, 642, 1300, 1300, 642, 653, 653, 1300, 1300, - 653, 663, 663, 663, 663, 1300, 1300, 663, 670, 670, - 670, 670, 670, 670, 670, 670, 670, 670, 670, 670, - - 670, 72, 1300, 1300, 1300, 72, 1300, 72, 72, 72, - 1300, 72, 72, 72, 576, 1300, 1300, 1300, 576, 1300, - 576, 576, 576, 1300, 576, 576, 576, 578, 1300, 1300, - 1300, 578, 1300, 578, 578, 578, 1300, 578, 578, 578, - 677, 677, 1300, 1300, 677, 678, 678, 1300, 1300, 678, - 680, 680, 1300, 1300, 1300, 680, 681, 681, 681, 1300, - 1300, 681, 686, 686, 686, 686, 1300, 1300, 686, 692, - 692, 692, 692, 1300, 1300, 692, 707, 707, 707, 707, - 1300, 1300, 707, 713, 713, 1300, 1300, 713, 714, 714, - 1300, 1300, 714, 716, 716, 1300, 1300, 716, 718, 718, - - 1300, 1300, 718, 735, 735, 1300, 1300, 735, 746, 1300, - 746, 746, 1300, 1300, 746, 756, 756, 756, 1300, 1300, - 756, 670, 670, 670, 670, 670, 670, 670, 670, 670, - 670, 670, 670, 670, 72, 1300, 1300, 1300, 72, 1300, - 72, 72, 72, 1300, 72, 72, 72, 766, 766, 1300, - 1300, 766, 772, 772, 772, 1300, 1300, 772, 774, 774, - 774, 1300, 1300, 774, 781, 781, 781, 1300, 1300, 781, - 788, 788, 788, 1300, 1300, 788, 809, 809, 809, 1300, - 1300, 809, 817, 817, 1300, 1300, 817, 818, 818, 1300, - 1300, 818, 820, 1300, 1300, 1300, 820, 821, 821, 1300, - - 1300, 821, 826, 1300, 826, 826, 1300, 1300, 826, 841, - 1300, 841, 841, 1300, 1300, 841, 852, 852, 1300, 1300, - 852, 859, 859, 859, 859, 1300, 1300, 859, 72, 1300, - 1300, 1300, 72, 1300, 72, 72, 72, 1300, 72, 72, - 72, 870, 870, 1300, 1300, 870, 878, 878, 1300, 1300, - 1300, 878, 879, 879, 879, 1300, 1300, 879, 880, 1300, - 1300, 1300, 880, 881, 881, 881, 881, 1300, 1300, 881, - 882, 1300, 1300, 1300, 882, 884, 884, 884, 884, 1300, - 1300, 884, 885, 1300, 1300, 1300, 885, 887, 887, 887, - 887, 1300, 1300, 887, 888, 1300, 1300, 1300, 888, 899, - - 899, 899, 899, 1300, 1300, 899, 900, 1300, 1300, 1300, - 900, 902, 902, 1300, 1300, 902, 903, 903, 1300, 1300, - 903, 905, 905, 1300, 1300, 905, 907, 907, 1300, 1300, - 907, 914, 914, 1300, 1300, 914, 935, 935, 1300, 1300, - 935, 946, 1300, 946, 946, 1300, 1300, 946, 952, 952, - 952, 1300, 1300, 952, 72, 1300, 1300, 1300, 72, 1300, - 72, 72, 72, 1300, 72, 72, 72, 965, 1300, 965, - 965, 1300, 1300, 965, 966, 966, 1300, 1300, 966, 969, - 969, 1300, 1300, 1300, 969, 970, 970, 970, 1300, 1300, - 970, 971, 971, 1300, 1300, 1300, 971, 972, 972, 972, - - 1300, 1300, 972, 973, 973, 1300, 1300, 1300, 973, 974, - 974, 974, 1300, 1300, 974, 975, 975, 1300, 1300, 1300, - 975, 976, 976, 976, 1300, 1300, 976, 977, 977, 1300, - 1300, 1300, 977, 992, 992, 992, 1300, 1300, 992, 993, - 993, 1300, 1300, 1300, 993, 994, 994, 1300, 1300, 994, - 995, 995, 1300, 1300, 995, 997, 1300, 1300, 1300, 997, - 998, 998, 1300, 1300, 998, 1003, 1300, 1003, 1003, 1300, - 1300, 1003, 1009, 1300, 1009, 1009, 1300, 1300, 1009, 1024, - 1300, 1024, 1024, 1300, 1300, 1024, 1034, 1034, 1300, 1300, - 1034, 1041, 1041, 1041, 1041, 1300, 1300, 1041, 1042, 1300, - - 1300, 1300, 1042, 72, 1300, 1300, 1300, 72, 1300, 72, - 72, 72, 1300, 72, 72, 72, 1052, 1052, 1300, 1300, - 1052, 1053, 1053, 1300, 1300, 1300, 1053, 1054, 1054, 1300, - 1300, 1300, 1054, 1055, 1055, 1300, 1300, 1300, 1055, 1056, - 1056, 1300, 1300, 1300, 1056, 1057, 1057, 1300, 1300, 1300, - 1057, 1058, 1058, 1300, 1300, 1300, 1058, 1065, 1065, 1300, - 1300, 1300, 1065, 1066, 1066, 1300, 1300, 1066, 1072, 1072, - 1300, 1300, 1072, 1074, 1074, 1300, 1300, 1074, 1081, 1081, - 1300, 1300, 1081, 1088, 1088, 1300, 1300, 1088, 1109, 1109, - 1300, 1300, 1109, 1117, 1300, 1117, 1117, 1300, 1300, 1117, - - 1123, 1123, 1123, 1300, 1300, 1123, 1124, 1124, 1300, 1300, - 1300, 1124, 72, 1300, 1300, 1300, 72, 1300, 72, 72, - 72, 1300, 72, 72, 72, 1128, 1128, 1300, 1300, 1300, - 1128, 1129, 1129, 1300, 1300, 1300, 1129, 1130, 1130, 1300, - 1300, 1300, 1130, 1131, 1131, 1300, 1300, 1300, 1131, 1132, - 1132, 1300, 1300, 1300, 1132, 1133, 1133, 1300, 1300, 1300, - 1133, 1143, 1143, 1300, 1300, 1300, 1143, 1144, 1144, 1300, - 1300, 1144, 1152, 1300, 1300, 1300, 1152, 1153, 1153, 1300, - 1300, 1153, 1154, 1300, 1300, 1300, 1154, 1155, 1300, 1155, - 1155, 1300, 1300, 1155, 1156, 1300, 1300, 1300, 1156, 1158, - - 1300, 1158, 1158, 1300, 1300, 1158, 1159, 1300, 1300, 1300, - 1159, 1161, 1300, 1161, 1161, 1300, 1300, 1161, 1162, 1300, - 1300, 1300, 1162, 1173, 1300, 1173, 1173, 1300, 1300, 1173, - 1174, 1300, 1300, 1300, 1174, 1176, 1176, 1300, 1300, 1176, - 1183, 1183, 1300, 1300, 1300, 1183, 967, 967, 1300, 1300, - 1300, 967, 1195, 1300, 1195, 1195, 1300, 1300, 1195, 1196, - 1196, 1300, 1300, 1196, 1199, 1300, 1300, 1300, 1199, 1200, - 1200, 1300, 1300, 1200, 1201, 1300, 1300, 1300, 1201, 1202, - 1202, 1300, 1300, 1202, 1203, 1300, 1300, 1300, 1203, 1204, - 1204, 1300, 1300, 1204, 1205, 1300, 1300, 1300, 1205, 1206, - - 1206, 1300, 1300, 1206, 1207, 1300, 1300, 1300, 1207, 1222, - 1222, 1300, 1300, 1222, 1223, 1300, 1300, 1300, 1223, 1224, - 1300, 1224, 1224, 1300, 1300, 1224, 1225, 1300, 1300, 1300, - 1225, 1227, 1227, 1300, 1300, 1300, 1227, 1240, 1240, 1300, - 1300, 1240, 1241, 1300, 1300, 1300, 1241, 1242, 1300, 1300, - 1300, 1242, 1243, 1300, 1300, 1300, 1243, 1244, 1300, 1300, - 1300, 1244, 1245, 1300, 1300, 1300, 1245, 1246, 1300, 1300, - 1300, 1246, 1253, 1300, 1300, 1300, 1253, 1254, 1254, 1300, - 1300, 1254, 1255, 1300, 1300, 1300, 1255, 1263, 1300, 1300, - 1300, 1263, 1264, 1300, 1300, 1300, 1264, 1265, 1300, 1300, - - 1300, 1265, 1266, 1300, 1300, 1300, 1266, 1267, 1300, 1300, - 1300, 1267, 1268, 1300, 1300, 1300, 1268, 1278, 1300, 1300, - 1300, 1278, 1279, 1300, 1300, 1300, 1279, 1197, 1300, 1300, - 1300, 1197, 1288, 1300, 1300, 1300, 1288, 13, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300 - + 51, 51, 51, 30, 30, 30, 30, 30, 30, 30, + + 30, 30, 30, 30, 30, 30, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 72, 533, 533, 533, 72, 533, 72, 72, + 72, 533, 72, 72, 72, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 79, 533, + 533, 533, 79, 533, 79, 79, 79, 533, 79, 79, + 79, 81, 533, 533, 533, 81, 533, 81, 81, 81, + 533, 81, 81, 81, 83, 533, 533, 83, 83, 533, + 83, 83, 83, 533, 83, 83, 83, 93, 93, 533, + + 533, 93, 117, 533, 533, 117, 117, 533, 117, 117, + 117, 533, 117, 117, 117, 121, 533, 533, 121, 121, + 121, 121, 121, 121, 533, 533, 121, 121, 127, 127, + 128, 533, 533, 128, 533, 533, 128, 128, 128, 128, + 128, 128, 128, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 134, 134, 533, 134, + 533, 134, 134, 134, 134, 134, 134, 134, 134, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 84, 533, 533, 84, 84, 533, 84, 84, + 84, 533, 84, 84, 84, 148, 148, 533, 533, 148, + + 150, 150, 150, 533, 533, 150, 118, 533, 533, 118, + 118, 533, 118, 118, 118, 533, 118, 118, 118, 180, + 180, 533, 533, 180, 186, 186, 186, 533, 533, 186, + 214, 214, 533, 533, 214, 215, 215, 533, 533, 215, + 219, 219, 533, 533, 219, 221, 221, 221, 533, 533, + 221, 254, 254, 533, 533, 254, 256, 256, 533, 533, + 256, 257, 257, 533, 533, 257, 259, 259, 259, 533, + 533, 259, 263, 263, 263, 263, 533, 533, 263, 291, + 291, 533, 533, 291, 292, 292, 533, 533, 292, 293, + 293, 533, 533, 293, 305, 305, 305, 533, 533, 305, + + 306, 306, 306, 306, 533, 533, 306, 339, 339, 533, + 533, 339, 340, 340, 533, 533, 340, 356, 356, 356, + 533, 533, 356, 357, 357, 357, 357, 533, 533, 357, + 382, 382, 533, 533, 382, 386, 533, 386, 386, 533, + 533, 386, 404, 404, 404, 533, 533, 404, 405, 405, + 405, 405, 533, 533, 405, 434, 434, 533, 533, 434, + 435, 533, 435, 435, 533, 533, 435, 451, 451, 451, + 533, 533, 451, 452, 452, 452, 533, 533, 533, 452, + 457, 533, 533, 533, 457, 533, 457, 457, 457, 533, + 457, 457, 457, 459, 533, 533, 533, 459, 533, 459, + + 459, 459, 533, 459, 459, 459, 469, 469, 533, 533, + 469, 470, 533, 470, 470, 533, 533, 470, 486, 486, + 533, 533, 533, 486, 488, 488, 488, 488, 488, 488, + 488, 488, 488, 488, 488, 488, 488, 500, 500, 533, + 533, 500, 501, 533, 501, 501, 533, 533, 501, 514, + 514, 533, 533, 514, 515, 533, 515, 533, 533, 533, + 515, 526, 533, 533, 533, 526, 13, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533 } ; -static yyconst short int yy_chk[9201] = +static yyconst short int yy_chk[3430] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1852,1012 +925,377 @@ static yyconst short int yy_chk[9201] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 3, 4, 1281, 2, 3, 4, 164, - 5, 5, 5, 111, 5, 68, 3, 4, 69, 39, - 5, 11, 11, 11, 11, 6, 6, 6, 1274, 6, + 1, 1, 2, 3, 4, 530, 2, 3, 4, 165, + 5, 5, 5, 110, 5, 68, 3, 4, 69, 39, + 5, 11, 11, 11, 11, 6, 6, 6, 516, 6, 2, 2, 5, 5, 2, 6, 39, 50, 2, 58, 58, 2, 12, 12, 12, 12, 62, 6, 6, 66, - 66, 111, 24, 5, 50, 164, 24, 24, 68, 69, - 97, 3, 4, 64, 11, 97, 62, 97, 6, 7, + 66, 94, 24, 5, 50, 165, 24, 24, 68, 69, + 94, 3, 4, 64, 11, 112, 62, 110, 6, 7, 7, 7, 18, 7, 24, 18, 18, 18, 18, 18, - 18, 18, 18, 64, 1256, 12, 27, 27, 27, 27, - 27, 27, 1254, 24, 26, 26, 26, 26, 26, 26, - 26, 26, 38, 109, 38, 38, 38, 38, 38, 38, + 18, 18, 18, 64, 514, 12, 27, 27, 27, 27, + 27, 27, 504, 24, 26, 26, 26, 26, 26, 26, + 26, 26, 38, 112, 38, 38, 38, 38, 38, 38, 38, 38, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 40, 8, 48, 110, 1240, 48, 48, + 8, 8, 8, 40, 8, 48, 111, 503, 48, 48, - 48, 48, 48, 48, 48, 48, 57, 113, 110, 57, - 57, 57, 57, 57, 57, 57, 57, 109, 102, 113, - 114, 40, 40, 102, 1236, 40, 114, 71, 71, 40, - 71, 205, 40, 8, 8, 8, 8, 8, 8, 8, + 48, 48, 48, 48, 48, 48, 57, 159, 111, 57, + 57, 57, 57, 57, 57, 57, 57, 170, 103, 98, + 159, 40, 40, 103, 98, 40, 98, 71, 71, 40, + 71, 170, 40, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 9, 9, 9, 9, 9, 112, 122, 122, 49, - 9, 9, 9, 49, 49, 56, 56, 56, 169, 56, - 71, 112, 119, 56, 9, 56, 134, 119, 125, 125, - 150, 49, 169, 205, 100, 100, 167, 56, 56, 150, - 158, 132, 132, 135, 9, 10, 10, 10, 10, 10, - - 49, 1231, 167, 158, 10, 10, 10, 73, 56, 73, - 136, 73, 1227, 73, 73, 193, 134, 73, 10, 77, - 77, 77, 77, 77, 77, 77, 77, 100, 83, 73, - 73, 73, 83, 83, 132, 165, 135, 193, 10, 25, - 165, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 83, 136, 174, 25, 25, 25, 25, 25, 78, 78, - 78, 78, 78, 78, 78, 78, 168, 171, 168, 83, - 25, 208, 25, 25, 25, 25, 25, 25, 31, 199, - 171, 178, 31, 174, 31, 199, 208, 31, 31, 1224, + 8, 9, 9, 9, 9, 9, 113, 123, 123, 49, + 9, 9, 9, 49, 49, 56, 56, 56, 114, 56, + 71, 113, 115, 56, 9, 56, 135, 120, 115, 194, + 114, 49, 120, 501, 101, 101, 168, 56, 56, 126, + 126, 133, 133, 136, 9, 10, 10, 10, 10, 10, + + 49, 194, 168, 150, 10, 10, 10, 73, 56, 73, + 137, 73, 150, 73, 73, 500, 135, 73, 10, 77, + 77, 77, 77, 77, 77, 77, 77, 101, 83, 73, + 73, 73, 83, 83, 133, 166, 136, 206, 10, 25, + 166, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 83, 137, 175, 25, 25, 25, 25, 25, 78, 78, + 78, 78, 78, 78, 78, 78, 169, 172, 169, 83, + 25, 209, 25, 25, 25, 25, 25, 25, 31, 200, + 172, 179, 31, 175, 31, 200, 209, 31, 31, 206, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 178, 1222, 31, 31, 31, 31, 31, 31, + 31, 31, 179, 496, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 187, - 187, 187, 33, 33, 33, 33, 33, 86, 86, 86, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 183, + 183, 183, 33, 33, 33, 33, 33, 86, 86, 86, 86, 86, 86, 86, 86, 92, 92, 92, 92, 92, 92, 33, 33, 33, 33, 33, 33, 37, 37, 37, 241, 37, 245, 37, 37, 241, 86, 37, 90, 90, - 90, 90, 90, 90, 90, 90, 137, 137, 293, 37, - - 37, 37, 41, 206, 206, 41, 41, 41, 41, 41, - 41, 41, 41, 80, 293, 80, 190, 80, 349, 80, - 80, 209, 82, 80, 82, 190, 82, 209, 82, 82, - 217, 217, 82, 229, 234, 80, 80, 80, 246, 137, - 217, 245, 229, 41, 82, 82, 82, 85, 1218, 85, - 250, 85, 346, 85, 85, 246, 234, 85, 91, 91, - 91, 91, 91, 91, 91, 91, 349, 351, 346, 85, + 90, 90, 90, 90, 90, 90, 138, 138, 286, 37, + + 37, 37, 41, 207, 207, 41, 41, 41, 41, 41, + 41, 41, 41, 80, 286, 80, 186, 80, 488, 80, + 80, 210, 82, 80, 82, 186, 82, 210, 82, 82, + 234, 221, 82, 246, 276, 80, 80, 80, 247, 138, + 221, 245, 486, 41, 82, 82, 82, 85, 247, 85, + 246, 85, 234, 85, 85, 482, 276, 85, 91, 91, + 91, 91, 91, 91, 91, 91, 327, 470, 332, 85, 85, 85, 87, 87, 87, 87, 87, 87, 87, 87, - 207, 250, 351, 1213, 87, 87, 87, 87, 87, 183, - 183, 183, 183, 183, 183, 116, 1206, 248, 103, 116, - - 116, 207, 248, 87, 87, 87, 87, 87, 87, 94, - 94, 94, 94, 94, 94, 94, 94, 116, 207, 219, - 219, 94, 94, 94, 94, 94, 103, 103, 128, 219, - 103, 128, 128, 283, 103, 1204, 116, 103, 128, 247, - 94, 94, 94, 94, 94, 94, 118, 1202, 118, 247, - 118, 128, 118, 118, 141, 283, 118, 264, 141, 352, - 291, 269, 269, 275, 141, 288, 264, 1200, 118, 118, - 118, 269, 275, 354, 288, 352, 141, 141, 142, 286, - 142, 142, 142, 142, 142, 142, 142, 142, 182, 182, - 182, 182, 182, 182, 182, 182, 277, 277, 170, 1195, - - 287, 286, 170, 354, 389, 389, 277, 291, 170, 142, - 143, 1185, 143, 143, 143, 143, 143, 143, 143, 143, - 170, 170, 287, 173, 173, 173, 173, 173, 173, 173, - 173, 177, 1183, 177, 177, 177, 177, 177, 177, 412, - 412, 143, 144, 1176, 144, 144, 144, 144, 144, 144, - 144, 144, 173, 216, 216, 216, 216, 216, 216, 216, - 216, 184, 177, 184, 184, 184, 184, 184, 184, 184, - 184, 473, 473, 144, 145, 292, 145, 145, 145, 145, - 145, 145, 145, 145, 338, 292, 538, 538, 145, 145, - 145, 145, 145, 186, 186, 186, 186, 186, 186, 186, - - 186, 186, 342, 344, 551, 551, 338, 145, 145, 145, - 145, 145, 145, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 407, 1173, 342, 344, 147, 147, 147, 147, - 147, 222, 222, 222, 222, 222, 222, 222, 222, 408, - 413, 222, 413, 1161, 407, 147, 147, 147, 147, 147, - 147, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 1158, 408, 1155, 149, 149, 149, 149, 149, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 483, 659, 659, - 1153, 490, 149, 149, 149, 149, 149, 149, 151, 151, - 151, 151, 151, 151, 151, 151, 490, 724, 724, 483, - - 151, 151, 151, 151, 151, 231, 231, 231, 231, 231, - 231, 231, 231, 232, 232, 232, 232, 232, 232, 151, - 151, 151, 151, 151, 151, 175, 384, 175, 175, 175, - 175, 175, 175, 175, 175, 233, 384, 233, 233, 233, - 233, 233, 233, 233, 233, 249, 249, 249, 249, 249, - 249, 249, 249, 742, 742, 494, 175, 176, 1147, 176, - 176, 176, 176, 176, 176, 176, 176, 259, 259, 259, - 259, 259, 259, 1144, 249, 279, 279, 253, 294, 253, - 253, 253, 253, 253, 253, 279, 494, 294, 176, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - - 858, 858, 1143, 181, 181, 181, 181, 181, 253, 258, - 258, 258, 258, 258, 258, 258, 258, 485, 877, 877, - 913, 913, 181, 181, 181, 181, 181, 181, 191, 191, - 191, 191, 191, 191, 191, 191, 301, 301, 1139, 485, - 191, 191, 191, 191, 191, 260, 301, 260, 260, 260, - 260, 260, 260, 260, 260, 1134, 303, 303, 1133, 191, - 191, 191, 191, 191, 191, 210, 303, 210, 210, 210, - 210, 210, 210, 210, 210, 261, 1132, 261, 261, 261, - 261, 261, 261, 261, 261, 262, 312, 262, 262, 262, - 262, 262, 262, 262, 262, 312, 210, 211, 386, 211, - - 211, 211, 211, 211, 211, 211, 211, 263, 386, 263, - 263, 263, 263, 263, 263, 263, 263, 266, 266, 266, - 266, 266, 266, 266, 266, 673, 920, 920, 211, 212, - 1131, 212, 212, 212, 212, 212, 212, 212, 212, 267, - 267, 267, 267, 267, 267, 268, 332, 268, 268, 268, - 268, 268, 268, 268, 268, 332, 673, 489, 489, 1130, - 212, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 489, 942, 942, 1129, 215, 215, 215, 215, 215, 276, - 276, 276, 276, 276, 276, 276, 276, 325, 325, 325, - 325, 325, 325, 215, 215, 215, 215, 215, 215, 218, - - 218, 218, 218, 218, 218, 218, 218, 1040, 1040, 1080, - 1080, 218, 218, 218, 218, 218, 282, 282, 282, 282, - 282, 282, 282, 282, 1087, 1087, 282, 866, 1094, 1094, - 218, 218, 218, 218, 218, 218, 220, 220, 220, 220, - 220, 220, 220, 220, 220, 220, 220, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 866, 1116, - 1116, 230, 230, 230, 230, 230, 306, 306, 306, 306, - 306, 306, 306, 306, 1151, 1151, 306, 314, 314, 1128, - 230, 230, 230, 230, 230, 230, 251, 314, 251, 251, - 251, 251, 251, 251, 251, 251, 307, 307, 307, 307, - - 307, 307, 307, 307, 309, 350, 309, 309, 309, 309, - 309, 309, 309, 309, 350, 1182, 1182, 251, 252, 465, - 252, 252, 252, 252, 252, 252, 252, 252, 310, 465, - 310, 310, 310, 310, 310, 310, 310, 310, 311, 361, - 311, 311, 311, 311, 311, 311, 1124, 1117, 361, 252, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - 257, 1109, 1105, 1100, 257, 257, 257, 257, 257, 313, - 313, 313, 313, 313, 313, 313, 313, 335, 335, 335, - 335, 335, 335, 257, 257, 257, 257, 257, 257, 265, - 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, - - 316, 316, 1088, 265, 265, 265, 265, 265, 1081, 468, - 316, 319, 319, 319, 319, 319, 319, 319, 319, 468, - 1074, 319, 265, 265, 265, 265, 265, 265, 272, 272, - 272, 272, 272, 272, 272, 272, 1072, 1066, 1065, 1058, - 272, 272, 272, 272, 272, 324, 324, 324, 324, 324, - 324, 324, 324, 365, 365, 365, 365, 365, 365, 272, - 272, 272, 272, 272, 272, 278, 278, 278, 278, 278, - 278, 278, 278, 337, 337, 1057, 1056, 278, 278, 278, - 278, 278, 326, 337, 326, 326, 326, 326, 326, 326, - 326, 326, 1055, 1054, 1053, 1052, 278, 278, 278, 278, - - 278, 278, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 295, 295, 295, 295, 295, 295, 295, - 295, 295, 329, 1048, 329, 329, 329, 329, 329, 329, - 329, 329, 330, 362, 330, 330, 330, 330, 330, 330, - 330, 330, 362, 295, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 331, 1044, 331, 331, 331, 331, 331, - 331, 331, 331, 334, 334, 334, 334, 334, 334, 334, - 334, 1042, 1034, 1024, 296, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 336, 1009, 336, 336, 336, 336, - 336, 336, 336, 336, 353, 353, 353, 353, 353, 353, - - 353, 353, 1003, 998, 470, 297, 302, 302, 302, 302, - 302, 302, 302, 302, 470, 997, 995, 994, 302, 302, - 302, 302, 302, 353, 364, 364, 364, 364, 364, 364, - 364, 364, 993, 988, 983, 978, 977, 302, 302, 302, - 302, 302, 302, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 315, 315, 315, 315, 315, 315, - 315, 315, 367, 367, 975, 973, 315, 315, 315, 315, - 315, 374, 367, 357, 357, 357, 357, 357, 357, 357, - 374, 971, 969, 967, 966, 315, 315, 315, 315, 315, - 315, 317, 317, 317, 317, 317, 317, 317, 317, 317, - - 317, 317, 323, 357, 323, 323, 323, 323, 323, 323, - 323, 323, 323, 400, 965, 946, 323, 323, 323, 323, - 323, 366, 400, 366, 366, 366, 366, 366, 366, 366, - 366, 935, 931, 926, 914, 323, 323, 323, 323, 323, - 323, 328, 328, 328, 328, 328, 328, 328, 328, 379, - 379, 907, 905, 328, 328, 328, 328, 328, 368, 379, - 368, 368, 368, 368, 368, 368, 368, 368, 903, 902, - 900, 888, 328, 328, 328, 328, 328, 328, 333, 333, - 333, 333, 333, 333, 333, 333, 333, 333, 333, 423, - 885, 882, 333, 333, 333, 333, 333, 369, 423, 369, - - 369, 369, 369, 369, 369, 369, 369, 880, 878, 873, - 870, 333, 333, 333, 333, 333, 333, 355, 355, 355, - 355, 355, 355, 355, 355, 355, 370, 852, 370, 370, - 370, 370, 370, 370, 370, 370, 371, 425, 371, 371, - 371, 371, 371, 371, 371, 371, 425, 355, 356, 356, - 356, 356, 356, 356, 356, 356, 356, 372, 848, 372, - 372, 372, 372, 372, 372, 372, 372, 373, 442, 373, - 373, 373, 373, 373, 373, 373, 373, 442, 356, 363, - 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, - 841, 826, 821, 363, 363, 363, 363, 363, 376, 376, - - 376, 376, 376, 376, 376, 376, 377, 377, 377, 377, - 377, 377, 363, 363, 363, 363, 363, 363, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 477, - 820, 819, 375, 375, 375, 375, 375, 378, 477, 378, - 378, 378, 378, 378, 378, 378, 378, 818, 817, 805, - 800, 375, 375, 375, 375, 375, 375, 382, 382, 382, - 382, 382, 382, 382, 382, 795, 770, 766, 752, 382, - 382, 382, 382, 382, 383, 383, 383, 383, 383, 383, - 383, 383, 393, 393, 393, 393, 393, 393, 382, 382, - 382, 382, 382, 382, 385, 385, 385, 385, 385, 385, - - 385, 385, 746, 735, 731, 726, 385, 385, 385, 385, - 385, 392, 392, 392, 392, 392, 392, 392, 392, 718, - 716, 714, 401, 401, 713, 385, 385, 385, 385, 385, - 385, 387, 401, 387, 387, 387, 387, 387, 387, 387, - 387, 387, 391, 678, 391, 391, 391, 391, 391, 391, - 391, 391, 391, 503, 677, 670, 391, 391, 391, 391, - 391, 394, 503, 394, 394, 394, 394, 394, 394, 394, - 394, 653, 649, 642, 630, 391, 391, 391, 391, 391, - 391, 395, 395, 395, 395, 395, 395, 395, 395, 397, - 533, 397, 397, 397, 397, 397, 397, 397, 397, 398, - - 533, 398, 398, 398, 398, 398, 398, 398, 398, 399, - 629, 399, 399, 399, 399, 399, 399, 402, 402, 402, - 402, 402, 402, 402, 402, 403, 403, 628, 627, 402, - 402, 402, 402, 402, 535, 403, 406, 406, 406, 406, - 406, 406, 406, 406, 535, 414, 406, 626, 402, 402, - 402, 402, 402, 402, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 414, 614, 414, 414, 426, - 426, 428, 428, 444, 444, 446, 446, 609, 546, 426, - 604, 428, 587, 444, 586, 446, 414, 416, 546, 416, - 416, 416, 416, 416, 416, 416, 416, 431, 431, 431, - - 431, 431, 431, 431, 431, 585, 548, 431, 432, 432, - 432, 432, 432, 432, 432, 432, 548, 578, 416, 417, - 560, 417, 417, 417, 417, 417, 417, 417, 417, 434, - 560, 434, 434, 434, 434, 434, 434, 434, 434, 435, - 504, 435, 435, 435, 435, 435, 435, 435, 435, 504, - 417, 418, 635, 418, 418, 418, 418, 418, 418, 418, - 418, 436, 635, 436, 436, 436, 436, 436, 436, 437, - 437, 437, 437, 437, 437, 437, 437, 576, 575, 574, - 573, 562, 418, 419, 647, 419, 419, 419, 419, 419, - 419, 419, 419, 439, 647, 439, 439, 439, 439, 439, - - 439, 439, 439, 440, 509, 440, 440, 440, 440, 440, - 440, 440, 440, 509, 419, 424, 424, 424, 424, 424, - 424, 424, 424, 482, 482, 555, 544, 424, 424, 424, - 424, 424, 441, 482, 441, 441, 441, 441, 441, 441, - 455, 455, 455, 455, 455, 455, 424, 424, 424, 424, - 424, 424, 427, 427, 427, 427, 427, 427, 427, 427, - 540, 531, 530, 502, 427, 427, 427, 427, 427, 443, - 443, 443, 443, 443, 443, 443, 443, 463, 463, 463, - 463, 463, 463, 427, 427, 427, 427, 427, 427, 429, - 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, - - 445, 445, 445, 445, 445, 445, 445, 445, 501, 500, - 492, 491, 445, 445, 445, 445, 445, 449, 449, 449, - 449, 449, 449, 449, 449, 487, 466, 449, 460, 452, - 451, 445, 445, 445, 445, 445, 445, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 453, 450, - 453, 453, 453, 453, 453, 453, 453, 453, 453, 584, - 584, 584, 453, 453, 453, 453, 453, 454, 454, 454, - 454, 454, 454, 454, 454, 480, 480, 480, 480, 480, - 480, 453, 453, 453, 453, 453, 453, 456, 584, 456, - 456, 456, 456, 456, 456, 456, 456, 457, 654, 457, - - 457, 457, 457, 457, 457, 457, 457, 458, 654, 458, - 458, 458, 458, 458, 458, 458, 458, 459, 656, 459, - 459, 459, 459, 459, 459, 459, 459, 461, 656, 461, - 461, 461, 461, 461, 461, 461, 461, 461, 438, 433, - 422, 461, 461, 461, 461, 461, 462, 462, 462, 462, - 462, 462, 462, 462, 507, 507, 507, 507, 507, 507, - 461, 461, 461, 461, 461, 461, 464, 421, 464, 464, - 464, 464, 464, 464, 464, 464, 467, 467, 467, 467, - 467, 467, 467, 467, 469, 469, 469, 469, 469, 469, - 469, 469, 514, 514, 420, 415, 469, 469, 469, 469, - - 469, 474, 514, 474, 474, 474, 474, 474, 474, 474, - 474, 411, 410, 524, 409, 469, 469, 469, 469, 469, - 469, 471, 524, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 475, 719, 475, 475, 475, 475, 475, 475, - 475, 475, 476, 719, 476, 476, 476, 476, 476, 476, - 476, 476, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 396, 390, 381, 478, 478, 478, 478, - 478, 479, 479, 479, 479, 479, 479, 479, 479, 380, - 360, 488, 529, 529, 359, 478, 478, 478, 478, 478, - 478, 481, 529, 481, 481, 481, 481, 481, 481, 481, - - 481, 488, 358, 488, 488, 493, 493, 493, 493, 493, - 493, 493, 493, 348, 499, 347, 499, 499, 499, 506, - 506, 506, 506, 506, 506, 506, 506, 512, 512, 512, - 512, 512, 512, 341, 493, 495, 340, 495, 495, 495, - 495, 495, 495, 495, 495, 499, 508, 327, 508, 508, + 208, 419, 327, 332, 87, 87, 87, 87, 87, 190, + 190, 190, 190, 190, 190, 117, 419, 248, 104, 117, + + 117, 208, 248, 87, 87, 87, 87, 87, 87, 95, + 95, 95, 95, 95, 95, 95, 95, 117, 208, 223, + 223, 95, 95, 95, 95, 95, 104, 104, 129, 223, + 104, 129, 129, 279, 104, 250, 117, 104, 129, 285, + 95, 95, 95, 95, 95, 95, 119, 469, 119, 285, + 119, 129, 119, 119, 142, 279, 119, 280, 142, 333, + 284, 225, 225, 259, 142, 263, 250, 459, 119, 119, + 119, 225, 259, 335, 263, 333, 142, 142, 143, 280, + 143, 143, 143, 143, 143, 143, 143, 143, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 281, 171, 457, + + 319, 342, 171, 335, 347, 347, 281, 284, 171, 143, + 144, 342, 144, 144, 144, 144, 144, 144, 144, 144, + 171, 171, 319, 174, 174, 174, 174, 174, 174, 174, + 174, 178, 456, 178, 178, 178, 178, 178, 178, 323, + 455, 144, 145, 454, 145, 145, 145, 145, 145, 145, + 145, 145, 174, 187, 187, 187, 187, 187, 187, 187, + 187, 323, 178, 189, 189, 189, 189, 189, 189, 189, + 189, 374, 374, 145, 146, 330, 146, 146, 146, 146, + 146, 146, 146, 146, 264, 264, 393, 393, 146, 146, + 146, 146, 146, 192, 264, 192, 192, 192, 192, 192, + + 192, 192, 192, 375, 452, 375, 435, 146, 146, 146, + 146, 146, 146, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 434, 330, 430, 149, 149, 149, 149, 149, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 325, + 369, 407, 407, 421, 149, 149, 149, 149, 149, 149, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 420, 325, 369, 151, 151, 151, 151, 151, 222, 222, + 222, 222, 222, 222, 222, 222, 231, 231, 231, 231, + 231, 231, 151, 151, 151, 151, 151, 151, 152, 152, + 152, 152, 152, 152, 152, 152, 370, 408, 408, 416, + + 152, 152, 152, 152, 152, 224, 224, 224, 224, 224, + 224, 224, 224, 411, 411, 400, 265, 265, 370, 152, + 152, 152, 152, 152, 152, 176, 265, 176, 176, 176, + 176, 176, 176, 176, 176, 228, 228, 228, 228, 228, + 228, 228, 228, 386, 344, 228, 230, 230, 230, 230, + 230, 230, 230, 230, 344, 382, 176, 177, 387, 177, + 177, 177, 177, 177, 177, 177, 177, 233, 387, 233, + 233, 233, 233, 233, 233, 233, 233, 267, 267, 249, + 249, 249, 249, 249, 249, 249, 249, 267, 177, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + + 377, 287, 373, 188, 188, 188, 188, 188, 249, 253, + 287, 253, 253, 253, 253, 253, 253, 412, 442, 442, + 453, 453, 188, 188, 188, 188, 188, 188, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 305, 412, + 253, 191, 191, 191, 191, 191, 260, 305, 260, 260, + 260, 260, 260, 260, 260, 260, 477, 477, 306, 372, + 191, 191, 191, 191, 191, 191, 211, 306, 211, 211, + 211, 211, 211, 211, 211, 211, 261, 414, 261, 261, + 261, 261, 261, 261, 261, 261, 262, 331, 262, 262, + 262, 262, 262, 262, 262, 262, 331, 211, 212, 414, + + 212, 212, 212, 212, 212, 212, 212, 212, 266, 266, + 266, 266, 266, 266, 266, 266, 270, 270, 270, 270, + 270, 270, 270, 270, 507, 507, 270, 371, 340, 212, + 213, 339, 213, 213, 213, 213, 213, 213, 213, 213, + 272, 272, 272, 272, 272, 272, 272, 272, 273, 273, + 273, 273, 273, 273, 297, 297, 297, 297, 297, 297, + 329, 213, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 356, 328, 322, 229, 229, 229, + 229, 229, 275, 356, 275, 275, 275, 275, 275, 275, + + 275, 275, 321, 301, 293, 292, 229, 229, 229, 229, + 229, 229, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 291, 283, 282, 232, 232, 232, 232, 232, + 294, 294, 294, 294, 294, 294, 294, 294, 278, 277, + 257, 307, 307, 256, 232, 232, 232, 232, 232, 232, + 251, 307, 251, 251, 251, 251, 251, 251, 251, 251, + 296, 296, 296, 296, 296, 296, 296, 296, 299, 357, + 299, 299, 299, 299, 299, 299, 299, 299, 357, 423, + 255, 251, 252, 254, 252, 252, 252, 252, 252, 252, + 252, 252, 300, 300, 300, 300, 300, 300, 300, 300, + + 302, 388, 302, 302, 302, 302, 302, 302, 302, 302, + 423, 388, 491, 252, 258, 258, 258, 258, 258, 258, + 258, 258, 258, 244, 243, 242, 258, 258, 258, 258, + 258, 303, 390, 303, 303, 303, 303, 303, 303, 303, + 303, 240, 390, 491, 518, 258, 258, 258, 258, 258, + 258, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 271, 271, 271, 271, 271, 271, 271, 271, + 271, 271, 271, 404, 239, 518, 271, 271, 271, 271, + 271, 304, 404, 304, 304, 304, 304, 304, 304, 316, + 316, 316, 316, 316, 316, 271, 271, 271, 271, 271, + + 271, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 308, 308, 238, 274, 274, 274, 274, 274, 418, + 418, 308, 309, 309, 309, 309, 309, 309, 309, 309, + 237, 236, 418, 274, 274, 274, 274, 274, 274, 288, + 288, 288, 288, 288, 288, 288, 288, 288, 310, 310, + 313, 313, 313, 313, 313, 313, 313, 313, 310, 220, + 313, 315, 315, 315, 315, 315, 315, 315, 315, 288, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 318, + 219, 318, 318, 318, 318, 318, 318, 318, 318, 334, + 334, 334, 334, 334, 334, 334, 334, 218, 217, 215, + + 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 341, 341, 341, 341, 341, 341, 341, 341, 334, 358, + 358, 338, 338, 338, 338, 338, 338, 338, 214, 358, + 205, 290, 295, 436, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 436, 204, 203, 295, 295, 295, 295, + 295, 338, 343, 343, 343, 343, 343, 343, 343, 343, + 202, 201, 199, 198, 197, 295, 295, 295, 295, 295, + 295, 298, 298, 298, 298, 298, 298, 298, 298, 298, + 196, 195, 193, 298, 298, 298, 298, 298, 349, 349, + 349, 349, 349, 349, 349, 349, 350, 350, 350, 350, + + 350, 350, 298, 298, 298, 298, 298, 298, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 405, 185, 184, 314, 314, 314, 314, 314, 352, 405, + 352, 352, 352, 352, 352, 352, 352, 352, 181, 180, + 173, 167, 314, 314, 314, 314, 314, 314, 317, 317, + 317, 317, 317, 317, 317, 317, 317, 359, 359, 164, + 163, 317, 317, 317, 317, 317, 353, 359, 353, 353, + 353, 353, 353, 353, 353, 353, 162, 161, 160, 158, + 317, 317, 317, 317, 317, 317, 336, 336, 336, 336, + + 336, 336, 336, 336, 336, 354, 437, 354, 354, 354, + 354, 354, 354, 354, 354, 355, 437, 355, 355, 355, + 355, 355, 355, 355, 355, 157, 336, 337, 337, 337, + 337, 337, 337, 337, 337, 337, 360, 360, 360, 360, + 360, 360, 360, 360, 361, 361, 364, 364, 364, 364, + 364, 364, 364, 364, 361, 156, 364, 337, 345, 155, + 345, 345, 345, 345, 345, 345, 345, 345, 345, 348, + 439, 348, 348, 348, 348, 348, 348, 348, 348, 348, + 439, 154, 153, 348, 348, 348, 348, 348, 366, 366, + 366, 366, 366, 366, 366, 366, 367, 367, 367, 367, + + 367, 367, 348, 348, 348, 348, 348, 348, 351, 351, + 351, 351, 351, 351, 351, 351, 351, 451, 148, 147, + 351, 351, 351, 351, 351, 368, 451, 368, 368, 368, + 368, 368, 368, 368, 368, 140, 139, 134, 132, 351, + 351, 351, 351, 351, 351, 362, 362, 362, 362, 362, + 362, 362, 362, 362, 362, 362, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 128, 406, 406, 122, + 365, 365, 365, 365, 365, 376, 383, 406, 383, 383, + 383, 383, 383, 383, 383, 383, 465, 465, 465, 365, + 365, 365, 365, 365, 365, 376, 118, 376, 376, 384, + + 116, 384, 384, 384, 384, 384, 384, 384, 384, 396, + 396, 396, 396, 396, 396, 465, 376, 378, 471, 378, + 378, 378, 378, 378, 378, 378, 378, 385, 471, 385, + 385, 385, 385, 385, 385, 385, 385, 389, 389, 389, + 389, 389, 389, 389, 389, 109, 108, 107, 378, 379, + 106, 379, 379, 379, 379, 379, 379, 379, 379, 395, + 395, 395, 395, 395, 395, 395, 395, 398, 472, 398, + 398, 398, 398, 398, 398, 398, 398, 105, 472, 100, + 379, 380, 99, 380, 380, 380, 380, 380, 380, 380, + 380, 399, 399, 399, 399, 399, 399, 399, 399, 401, + + 474, 401, 401, 401, 401, 401, 401, 401, 401, 97, + 474, 93, 380, 381, 502, 381, 381, 381, 381, 381, + 381, 381, 381, 402, 502, 402, 402, 402, 402, 402, + 402, 402, 402, 403, 89, 403, 403, 403, 403, 403, + 403, 88, 84, 81, 381, 391, 79, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 394, 417, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 76, 75, 74, + 394, 394, 394, 394, 394, 72, 67, 417, 60, 417, + 417, 428, 53, 428, 428, 428, 47, 46, 45, 394, + 394, 394, 394, 394, 394, 397, 397, 397, 397, 397, + + 397, 397, 397, 397, 44, 43, 42, 397, 397, 397, + 397, 397, 428, 422, 422, 422, 422, 422, 422, 422, + 422, 36, 35, 34, 32, 28, 397, 397, 397, 397, + 397, 397, 409, 409, 409, 409, 409, 409, 409, 409, + 409, 409, 422, 424, 22, 424, 424, 424, 424, 424, + 424, 424, 424, 429, 429, 429, 429, 429, 429, 429, + 429, 431, 19, 431, 431, 431, 431, 431, 431, 431, + 431, 17, 15, 14, 424, 425, 13, 425, 425, 425, + 425, 425, 425, 425, 425, 432, 0, 432, 432, 432, + 432, 432, 432, 432, 432, 433, 0, 433, 433, 433, + + 433, 433, 433, 0, 0, 0, 425, 426, 0, 426, + 426, 426, 426, 426, 426, 426, 426, 438, 438, 438, + 438, 438, 438, 438, 438, 444, 444, 444, 444, 444, + 444, 444, 444, 0, 0, 0, 0, 0, 426, 427, + 0, 427, 427, 427, 427, 427, 427, 427, 427, 445, + 445, 445, 445, 445, 445, 447, 0, 447, 447, 447, + 447, 447, 447, 447, 447, 0, 0, 0, 0, 0, + 427, 440, 0, 440, 440, 440, 440, 440, 440, 440, + 440, 440, 443, 0, 443, 443, 443, 443, 443, 443, + 443, 443, 443, 0, 0, 0, 443, 443, 443, 443, + + 443, 448, 448, 448, 448, 448, 448, 448, 448, 448, + 0, 0, 0, 0, 0, 443, 443, 443, 443, 443, + 443, 446, 446, 446, 446, 446, 446, 446, 446, 0, + 0, 0, 0, 446, 446, 446, 446, 446, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 0, 0, 0, + 0, 0, 446, 446, 446, 446, 446, 446, 450, 450, + 450, 450, 450, 450, 450, 450, 450, 458, 0, 458, + 0, 458, 0, 458, 458, 0, 460, 458, 460, 0, + 460, 0, 460, 460, 0, 0, 460, 0, 0, 458, + 458, 458, 480, 480, 480, 480, 480, 480, 460, 460, + + 460, 461, 0, 461, 461, 461, 461, 461, 461, 461, + 461, 0, 0, 0, 464, 464, 464, 464, 464, 464, + 464, 464, 466, 0, 466, 466, 466, 466, 466, 466, + 466, 466, 461, 462, 0, 462, 462, 462, 462, 462, + 462, 462, 462, 464, 467, 0, 467, 467, 467, 467, + 467, 467, 467, 467, 468, 0, 468, 468, 468, 468, + 468, 468, 468, 468, 462, 463, 0, 463, 463, 463, + 463, 463, 463, 463, 463, 473, 473, 473, 473, 473, + 473, 473, 473, 479, 479, 479, 479, 479, 479, 479, + 479, 0, 0, 0, 0, 0, 463, 475, 0, 475, + + 475, 475, 475, 475, 475, 475, 475, 475, 478, 0, + 478, 478, 478, 478, 478, 478, 478, 478, 0, 0, + 0, 0, 478, 478, 478, 478, 478, 481, 0, 481, + 481, 481, 481, 481, 481, 481, 481, 0, 0, 0, + 0, 478, 478, 478, 478, 478, 478, 483, 483, 483, + 483, 483, 483, 483, 483, 483, 484, 484, 484, 484, + 484, 484, 484, 484, 484, 485, 485, 485, 485, 485, + 485, 485, 490, 490, 490, 490, 490, 490, 490, 490, + 0, 494, 0, 494, 494, 494, 494, 494, 494, 495, + 495, 495, 495, 495, 495, 495, 495, 0, 0, 0, + + 0, 490, 492, 0, 492, 492, 492, 492, 492, 492, + 492, 492, 494, 497, 0, 497, 497, 497, 497, 497, + 497, 497, 497, 498, 0, 498, 498, 498, 498, 498, + 498, 498, 498, 492, 493, 0, 493, 493, 493, 493, + 493, 493, 493, 493, 499, 0, 499, 499, 499, 499, + 499, 499, 505, 0, 505, 505, 505, 505, 505, 505, + 505, 505, 0, 0, 0, 493, 508, 0, 508, 508, 508, 508, 508, 508, 508, 508, 511, 511, 511, 511, - 511, 511, 511, 511, 322, 321, 495, 496, 721, 496, - 496, 496, 496, 496, 496, 496, 496, 513, 721, 513, - 513, 513, 513, 513, 513, 513, 513, 515, 515, 515, - 515, 515, 515, 515, 515, 515, 320, 308, 496, 497, - - 300, 497, 497, 497, 497, 497, 497, 497, 497, 516, - 516, 516, 516, 516, 516, 516, 516, 516, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 299, 298, 290, - 497, 498, 737, 498, 498, 498, 498, 498, 498, 498, - 498, 518, 737, 518, 518, 518, 518, 518, 518, 518, - 518, 519, 566, 519, 519, 519, 519, 519, 519, 519, - 519, 566, 498, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 588, 289, 285, 505, 505, 505, - 505, 505, 520, 588, 520, 520, 520, 520, 520, 520, - 520, 520, 284, 274, 273, 271, 505, 505, 505, 505, - - 505, 505, 510, 510, 510, 510, 510, 510, 510, 510, - 510, 510, 510, 590, 270, 256, 510, 510, 510, 510, - 510, 521, 590, 521, 521, 521, 521, 521, 521, 521, - 521, 255, 567, 567, 254, 510, 510, 510, 510, 510, - 510, 522, 567, 522, 522, 522, 522, 522, 522, 522, - 522, 523, 244, 523, 523, 523, 523, 523, 523, 523, - 523, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 243, 242, 240, 525, 525, 525, 525, 525, - 526, 526, 526, 526, 526, 526, 526, 526, 527, 527, - 527, 527, 527, 527, 525, 525, 525, 525, 525, 525, - - 528, 239, 528, 528, 528, 528, 528, 528, 528, 528, - 534, 534, 534, 534, 534, 534, 534, 534, 238, 237, - 236, 227, 534, 534, 534, 534, 534, 539, 539, 539, - 539, 539, 539, 539, 539, 558, 558, 558, 558, 558, - 558, 534, 534, 534, 534, 534, 534, 536, 226, 536, - 536, 536, 536, 536, 536, 536, 536, 536, 541, 739, - 541, 541, 541, 541, 541, 541, 541, 541, 542, 739, - 542, 542, 542, 542, 542, 542, 542, 542, 543, 224, - 543, 543, 543, 543, 543, 543, 545, 545, 545, 545, - 545, 545, 545, 545, 547, 547, 547, 547, 547, 547, - - 547, 547, 569, 569, 223, 214, 547, 547, 547, 547, - 547, 552, 569, 552, 552, 552, 552, 552, 552, 552, - 552, 213, 591, 591, 204, 547, 547, 547, 547, 547, - 547, 549, 591, 549, 549, 549, 549, 549, 549, 549, - 549, 549, 553, 751, 553, 553, 553, 553, 553, 553, - 553, 553, 554, 751, 554, 554, 554, 554, 554, 554, - 554, 554, 556, 831, 556, 556, 556, 556, 556, 556, - 556, 556, 556, 831, 203, 202, 556, 556, 556, 556, - 556, 557, 557, 557, 557, 557, 557, 557, 557, 201, - 200, 198, 593, 593, 197, 556, 556, 556, 556, 556, - - 556, 559, 593, 559, 559, 559, 559, 559, 559, 559, - 559, 561, 561, 561, 561, 561, 561, 561, 561, 563, - 846, 563, 563, 563, 563, 563, 563, 563, 563, 564, - 846, 564, 564, 564, 564, 564, 564, 564, 564, 565, - 196, 565, 565, 565, 565, 565, 565, 568, 568, 568, - 568, 568, 568, 568, 568, 195, 194, 192, 189, 568, - 568, 568, 568, 568, 572, 572, 572, 572, 572, 572, - 572, 572, 188, 185, 572, 180, 179, 172, 568, 568, - 568, 568, 568, 568, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 577, 166, 577, 597, 577, - - 618, 577, 577, 163, 579, 577, 579, 597, 579, 618, - 579, 579, 598, 598, 579, 600, 600, 577, 577, 577, - 620, 620, 598, 162, 161, 600, 579, 579, 579, 580, - 620, 580, 580, 580, 580, 580, 580, 580, 580, 160, - 622, 622, 583, 583, 583, 583, 583, 583, 583, 583, - 622, 159, 596, 596, 596, 596, 596, 596, 596, 596, - 580, 581, 596, 581, 581, 581, 581, 581, 581, 581, - 581, 583, 603, 603, 603, 603, 603, 603, 603, 603, - 157, 156, 603, 605, 605, 605, 605, 605, 605, 605, - 605, 605, 581, 582, 155, 582, 582, 582, 582, 582, - - 582, 582, 582, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 607, 607, 607, 607, 607, 607, 607, 154, - 153, 152, 148, 853, 582, 589, 589, 589, 589, 589, - 589, 589, 589, 853, 146, 139, 138, 589, 589, 589, - 589, 589, 608, 608, 608, 608, 608, 608, 608, 608, - 633, 633, 633, 633, 633, 633, 589, 589, 589, 589, - 589, 589, 592, 592, 592, 592, 592, 592, 592, 592, - 133, 663, 131, 127, 592, 592, 592, 592, 592, 610, - 663, 610, 610, 610, 610, 610, 610, 610, 610, 121, - 117, 115, 108, 592, 592, 592, 592, 592, 592, 594, - - 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, - 599, 599, 599, 599, 599, 599, 599, 599, 668, 668, - 107, 106, 599, 599, 599, 599, 599, 611, 668, 611, - 611, 611, 611, 611, 611, 611, 611, 105, 104, 99, - 98, 599, 599, 599, 599, 599, 599, 601, 601, 601, - 601, 601, 601, 601, 601, 601, 601, 601, 612, 96, - 612, 612, 612, 612, 612, 612, 613, 613, 613, 613, - 613, 613, 613, 613, 615, 855, 615, 615, 615, 615, - 615, 615, 615, 615, 616, 855, 616, 616, 616, 616, - 616, 616, 616, 616, 617, 93, 617, 617, 617, 617, - - 617, 617, 619, 619, 619, 619, 619, 619, 619, 619, - 621, 621, 621, 621, 621, 621, 621, 621, 89, 88, - 84, 81, 621, 621, 621, 621, 621, 625, 625, 625, - 625, 625, 625, 625, 625, 79, 76, 625, 75, 74, - 72, 621, 621, 621, 621, 621, 621, 623, 623, 623, - 623, 623, 623, 623, 623, 623, 623, 623, 631, 872, - 631, 631, 631, 631, 631, 631, 631, 631, 631, 872, - 67, 60, 631, 631, 631, 631, 631, 632, 632, 632, - 632, 632, 632, 632, 632, 645, 645, 645, 645, 645, - 645, 631, 631, 631, 631, 631, 631, 634, 874, 634, - - 634, 634, 634, 634, 634, 634, 634, 636, 874, 636, - 636, 636, 636, 636, 636, 636, 636, 637, 908, 637, - 637, 637, 637, 637, 637, 637, 637, 638, 908, 638, - 638, 638, 638, 638, 638, 638, 638, 639, 910, 639, - 639, 639, 639, 639, 639, 639, 639, 640, 910, 640, - 640, 640, 640, 640, 640, 640, 640, 641, 915, 641, - 641, 641, 641, 641, 641, 641, 641, 643, 915, 643, - 643, 643, 643, 643, 643, 643, 643, 643, 53, 47, - 46, 643, 643, 643, 643, 643, 644, 644, 644, 644, - 644, 644, 644, 644, 666, 666, 666, 666, 666, 666, - - 643, 643, 643, 643, 643, 643, 646, 45, 646, 646, - 646, 646, 646, 646, 646, 646, 648, 648, 648, 648, - 648, 648, 648, 648, 650, 917, 650, 650, 650, 650, - 650, 650, 650, 650, 651, 917, 651, 651, 651, 651, - 651, 651, 651, 651, 652, 44, 652, 652, 652, 652, - 652, 652, 655, 655, 655, 655, 655, 655, 655, 655, - 43, 42, 36, 35, 655, 655, 655, 655, 655, 660, - 660, 660, 660, 660, 660, 660, 660, 660, 34, 32, - 28, 680, 22, 655, 655, 655, 655, 655, 655, 657, - 680, 657, 657, 657, 657, 657, 657, 657, 657, 657, - - 661, 661, 661, 661, 661, 661, 661, 661, 661, 662, - 662, 662, 662, 662, 662, 662, 662, 662, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 19, - 17, 15, 664, 664, 664, 664, 664, 665, 665, 665, - 665, 665, 665, 665, 665, 14, 13, 0, 0, 681, - 0, 664, 664, 664, 664, 664, 664, 667, 681, 667, - 667, 667, 667, 667, 667, 667, 667, 672, 672, 672, - 672, 672, 672, 672, 672, 0, 676, 0, 676, 676, - 676, 676, 676, 676, 683, 683, 683, 683, 683, 683, - 683, 683, 0, 0, 0, 0, 672, 674, 0, 674, - - 674, 674, 674, 674, 674, 674, 674, 676, 684, 684, - 684, 684, 684, 684, 685, 686, 685, 685, 685, 685, - 685, 685, 685, 685, 686, 0, 0, 0, 674, 675, - 0, 675, 675, 675, 675, 675, 675, 675, 675, 688, - 688, 688, 688, 688, 688, 688, 688, 689, 689, 689, - 689, 689, 689, 695, 695, 695, 695, 695, 695, 0, - 675, 679, 679, 679, 679, 679, 679, 679, 679, 679, - 692, 0, 0, 679, 679, 679, 679, 679, 690, 692, - 690, 690, 690, 690, 690, 690, 690, 690, 0, 0, - 0, 0, 679, 679, 679, 679, 679, 679, 682, 682, - - 682, 682, 682, 682, 682, 682, 682, 682, 682, 691, - 691, 0, 682, 682, 682, 682, 682, 0, 937, 691, - 694, 694, 694, 694, 694, 694, 694, 694, 937, 0, - 0, 682, 682, 682, 682, 682, 682, 687, 687, 687, - 687, 687, 687, 687, 687, 687, 687, 687, 707, 0, - 0, 687, 687, 687, 687, 687, 696, 707, 696, 696, - 696, 696, 696, 696, 696, 696, 0, 0, 0, 0, - 687, 687, 687, 687, 687, 687, 693, 693, 693, 693, - 693, 693, 693, 693, 693, 693, 693, 697, 697, 0, - 693, 693, 693, 693, 693, 0, 0, 697, 698, 698, - - 698, 698, 698, 698, 698, 698, 698, 0, 0, 693, - 693, 693, 693, 693, 693, 699, 699, 699, 699, 699, - 699, 699, 699, 699, 700, 700, 700, 700, 700, 700, - 700, 700, 700, 701, 939, 701, 701, 701, 701, 701, - 701, 701, 701, 702, 939, 702, 702, 702, 702, 702, - 702, 702, 702, 703, 951, 703, 703, 703, 703, 703, - 703, 703, 703, 704, 951, 704, 704, 704, 704, 704, - 704, 704, 704, 705, 968, 705, 705, 705, 705, 705, - 705, 705, 705, 706, 968, 706, 706, 706, 706, 706, - 706, 706, 706, 708, 708, 708, 708, 708, 708, 708, - - 708, 708, 708, 708, 0, 0, 0, 708, 708, 708, - 708, 708, 709, 709, 709, 709, 709, 709, 709, 709, - 710, 710, 710, 710, 710, 710, 708, 708, 708, 708, - 708, 708, 711, 0, 711, 711, 711, 711, 711, 711, - 711, 711, 712, 712, 725, 725, 725, 725, 725, 725, - 725, 725, 712, 717, 717, 717, 717, 717, 717, 717, - 717, 0, 756, 0, 0, 717, 717, 717, 717, 717, - 727, 756, 727, 727, 727, 727, 727, 727, 727, 727, - 0, 0, 0, 0, 717, 717, 717, 717, 717, 717, - 720, 720, 720, 720, 720, 720, 720, 720, 757, 757, - - 0, 0, 720, 720, 720, 720, 720, 728, 757, 728, - 728, 728, 728, 728, 728, 728, 728, 0, 759, 759, - 0, 720, 720, 720, 720, 720, 720, 722, 759, 722, - 722, 722, 722, 722, 722, 722, 722, 722, 729, 0, - 729, 729, 729, 729, 729, 729, 730, 730, 730, 730, - 730, 730, 730, 730, 732, 1008, 732, 732, 732, 732, - 732, 732, 732, 732, 733, 1008, 733, 733, 733, 733, - 733, 733, 733, 733, 734, 0, 734, 734, 734, 734, - 734, 734, 736, 736, 736, 736, 736, 736, 736, 736, - 738, 738, 738, 738, 738, 738, 738, 738, 0, 772, - - 0, 0, 738, 738, 738, 738, 738, 743, 772, 743, - 743, 743, 743, 743, 743, 743, 743, 0, 0, 774, - 0, 738, 738, 738, 738, 738, 738, 740, 774, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 744, 1014, - 744, 744, 744, 744, 744, 744, 744, 744, 745, 1014, - 745, 745, 745, 745, 745, 745, 745, 745, 747, 1029, - 747, 747, 747, 747, 747, 747, 747, 747, 747, 1029, - 0, 0, 747, 747, 747, 747, 747, 748, 748, 748, - 748, 748, 748, 748, 748, 749, 749, 749, 749, 749, - 749, 747, 747, 747, 747, 747, 747, 750, 0, 750, - - 750, 750, 750, 750, 750, 750, 750, 753, 753, 753, - 753, 753, 753, 753, 753, 753, 754, 754, 754, 754, - 754, 754, 754, 754, 754, 755, 755, 755, 755, 755, - 755, 755, 758, 758, 758, 758, 758, 758, 758, 758, - 0, 0, 0, 0, 758, 758, 758, 758, 758, 762, - 762, 762, 762, 762, 762, 762, 762, 0, 0, 762, - 0, 0, 0, 758, 758, 758, 758, 758, 758, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 763, 0, 763, 763, 763, 763, 763, 763, 763, 763, - 768, 768, 768, 768, 768, 768, 768, 768, 769, 769, - - 769, 769, 769, 769, 781, 824, 824, 824, 824, 824, - 824, 763, 764, 781, 764, 764, 764, 764, 764, 764, - 764, 764, 771, 0, 771, 771, 771, 771, 771, 771, - 771, 771, 775, 775, 0, 777, 777, 0, 0, 0, - 0, 0, 775, 764, 765, 777, 765, 765, 765, 765, - 765, 765, 765, 765, 780, 780, 780, 780, 780, 780, - 780, 780, 782, 782, 780, 788, 0, 784, 784, 0, - 0, 0, 782, 0, 788, 765, 767, 784, 767, 767, - 767, 767, 767, 767, 767, 767, 767, 0, 0, 0, - 767, 767, 767, 767, 767, 787, 787, 787, 787, 787, - - 787, 787, 787, 0, 0, 787, 0, 0, 0, 767, - 767, 767, 767, 767, 767, 778, 778, 778, 778, 778, - 778, 778, 778, 778, 778, 778, 785, 785, 785, 785, - 785, 785, 785, 785, 785, 785, 785, 789, 789, 791, - 791, 829, 829, 829, 829, 829, 829, 789, 0, 791, - 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, - 792, 794, 794, 794, 794, 794, 794, 794, 794, 0, - 0, 794, 796, 796, 796, 796, 796, 796, 796, 796, - 796, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 798, 798, 798, 798, 798, 798, 798, 799, 799, 799, - - 799, 799, 799, 799, 799, 801, 1035, 801, 801, 801, - 801, 801, 801, 801, 801, 802, 1035, 802, 802, 802, - 802, 802, 802, 802, 802, 803, 0, 803, 803, 803, - 803, 803, 803, 804, 804, 804, 804, 804, 804, 804, - 804, 806, 1037, 806, 806, 806, 806, 806, 806, 806, - 806, 807, 1037, 807, 807, 807, 807, 807, 807, 807, - 807, 808, 809, 808, 808, 808, 808, 808, 808, 0, - 0, 809, 810, 810, 810, 810, 810, 810, 810, 810, - 811, 811, 813, 813, 844, 844, 844, 844, 844, 844, - 811, 0, 813, 814, 814, 814, 814, 814, 814, 814, - - 814, 814, 814, 814, 816, 816, 816, 816, 816, 816, - 816, 816, 0, 0, 816, 822, 1075, 822, 822, 822, - 822, 822, 822, 822, 822, 822, 1075, 0, 0, 822, - 822, 822, 822, 822, 823, 823, 823, 823, 823, 823, - 823, 823, 0, 0, 0, 0, 859, 0, 822, 822, - 822, 822, 822, 822, 825, 859, 825, 825, 825, 825, - 825, 825, 825, 825, 827, 1077, 827, 827, 827, 827, - 827, 827, 827, 827, 827, 1077, 0, 0, 827, 827, - 827, 827, 827, 828, 828, 828, 828, 828, 828, 828, - 828, 862, 862, 862, 862, 862, 862, 827, 827, 827, - - 827, 827, 827, 830, 0, 830, 830, 830, 830, 830, - 830, 830, 830, 832, 832, 832, 832, 832, 832, 832, - 832, 833, 833, 833, 833, 833, 833, 833, 833, 834, - 834, 834, 834, 834, 834, 834, 834, 835, 1082, 835, - 835, 835, 835, 835, 835, 835, 835, 836, 1082, 836, - 836, 836, 836, 836, 836, 836, 836, 837, 1084, 837, - 837, 837, 837, 837, 837, 837, 837, 838, 1084, 838, - 838, 838, 838, 838, 838, 838, 838, 839, 1089, 839, - 839, 839, 839, 839, 839, 839, 839, 840, 1089, 840, - 840, 840, 840, 840, 840, 840, 840, 842, 1091, 842, - - 842, 842, 842, 842, 842, 842, 842, 842, 1091, 0, - 0, 842, 842, 842, 842, 842, 843, 843, 843, 843, - 843, 843, 843, 843, 0, 0, 0, 864, 864, 0, - 842, 842, 842, 842, 842, 842, 845, 864, 845, 845, - 845, 845, 845, 845, 845, 845, 847, 847, 847, 847, - 847, 847, 847, 847, 849, 1111, 849, 849, 849, 849, - 849, 849, 849, 849, 850, 1111, 850, 850, 850, 850, - 850, 850, 850, 850, 851, 0, 851, 851, 851, 851, - 851, 851, 854, 854, 854, 854, 854, 854, 854, 854, - 0, 0, 0, 0, 854, 854, 854, 854, 854, 861, - - 861, 861, 861, 861, 861, 861, 861, 0, 0, 0, - 0, 879, 0, 854, 854, 854, 854, 854, 854, 856, - 879, 856, 856, 856, 856, 856, 856, 856, 856, 856, - 860, 860, 860, 860, 860, 860, 860, 860, 860, 860, - 860, 881, 0, 0, 860, 860, 860, 860, 860, 863, - 881, 863, 863, 863, 863, 863, 863, 863, 863, 0, - 0, 0, 0, 860, 860, 860, 860, 860, 860, 865, - 865, 865, 865, 865, 865, 865, 865, 0, 869, 0, - 869, 869, 869, 869, 869, 869, 871, 871, 871, 871, - 871, 871, 871, 871, 0, 0, 0, 0, 865, 867, - - 0, 867, 867, 867, 867, 867, 867, 867, 867, 869, - 883, 883, 884, 886, 886, 887, 889, 889, 899, 952, - 883, 884, 1113, 886, 887, 0, 889, 899, 952, 0, - 867, 868, 1113, 868, 868, 868, 868, 868, 868, 868, - 868, 890, 890, 890, 890, 890, 890, 890, 890, 890, - 891, 891, 891, 891, 891, 891, 891, 891, 891, 0, - 0, 0, 868, 875, 0, 875, 875, 875, 875, 875, - 875, 875, 875, 875, 892, 892, 892, 892, 892, 892, - 892, 892, 892, 893, 1122, 893, 893, 893, 893, 893, - 893, 893, 893, 894, 1122, 894, 894, 894, 894, 894, - - 894, 894, 894, 895, 1146, 895, 895, 895, 895, 895, - 895, 895, 895, 896, 1146, 896, 896, 896, 896, 896, - 896, 896, 896, 897, 1148, 897, 897, 897, 897, 897, - 897, 897, 897, 898, 1148, 898, 898, 898, 898, 898, - 898, 898, 898, 901, 901, 922, 922, 922, 922, 922, - 922, 922, 922, 901, 906, 906, 906, 906, 906, 906, - 906, 906, 0, 0, 0, 0, 906, 906, 906, 906, - 906, 923, 923, 923, 923, 923, 923, 923, 923, 924, - 924, 924, 924, 924, 924, 906, 906, 906, 906, 906, - 906, 909, 909, 909, 909, 909, 909, 909, 909, 0, - - 0, 0, 0, 909, 909, 909, 909, 909, 925, 925, - 925, 925, 925, 925, 925, 925, 949, 949, 949, 949, - 949, 949, 909, 909, 909, 909, 909, 909, 911, 0, - 911, 911, 911, 911, 911, 911, 911, 911, 911, 916, - 916, 916, 916, 916, 916, 916, 916, 953, 953, 0, - 0, 916, 916, 916, 916, 916, 927, 953, 927, 927, - 927, 927, 927, 927, 927, 927, 0, 955, 955, 0, - 916, 916, 916, 916, 916, 916, 918, 955, 918, 918, - 918, 918, 918, 918, 918, 918, 918, 928, 1157, 928, - 928, 928, 928, 928, 928, 928, 928, 929, 1157, 929, - - 929, 929, 929, 929, 929, 930, 930, 930, 930, 930, - 930, 930, 930, 932, 1160, 932, 932, 932, 932, 932, - 932, 932, 932, 933, 1160, 933, 933, 933, 933, 933, - 933, 933, 933, 934, 0, 934, 934, 934, 934, 934, - 934, 936, 936, 936, 936, 936, 936, 936, 936, 938, - 938, 938, 938, 938, 938, 938, 938, 0, 0, 0, - 0, 938, 938, 938, 938, 938, 943, 943, 943, 943, - 943, 943, 943, 943, 0, 0, 0, 0, 970, 0, - 938, 938, 938, 938, 938, 938, 940, 970, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 944, 944, 944, - - 944, 944, 944, 944, 944, 945, 945, 945, 945, 945, - 945, 945, 945, 947, 1163, 947, 947, 947, 947, 947, - 947, 947, 947, 947, 1163, 0, 0, 947, 947, 947, - 947, 947, 948, 948, 948, 948, 948, 948, 948, 948, - 0, 0, 0, 0, 972, 0, 947, 947, 947, 947, - 947, 947, 950, 972, 950, 950, 950, 950, 950, 950, - 950, 950, 956, 956, 956, 956, 956, 956, 956, 956, - 956, 956, 956, 958, 958, 958, 958, 958, 958, 958, - 958, 0, 0, 958, 959, 959, 959, 959, 959, 959, - 959, 959, 960, 960, 960, 960, 960, 960, 960, 960, - - 961, 961, 961, 961, 961, 961, 961, 961, 974, 976, - 992, 0, 0, 959, 0, 0, 0, 974, 976, 992, - 986, 960, 986, 986, 986, 986, 986, 986, 962, 961, - 962, 962, 962, 962, 962, 962, 962, 962, 963, 1175, - 963, 963, 963, 963, 963, 963, 963, 963, 964, 1175, - 964, 964, 964, 964, 964, 964, 964, 964, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 980, 980, 980, - 980, 980, 980, 980, 980, 980, 981, 981, 981, 981, - 981, 981, 981, 982, 982, 982, 982, 982, 982, 982, - 982, 984, 1177, 984, 984, 984, 984, 984, 984, 984, - - 984, 985, 1177, 985, 985, 985, 985, 985, 985, 985, - 985, 987, 987, 987, 987, 987, 987, 987, 987, 989, - 1179, 989, 989, 989, 989, 989, 989, 989, 989, 990, - 1179, 990, 990, 990, 990, 990, 990, 990, 990, 991, - 0, 991, 991, 991, 991, 991, 991, 996, 996, 996, - 996, 996, 996, 996, 996, 996, 0, 0, 0, 996, - 996, 996, 996, 996, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1001, 1001, 1001, 1001, 1001, 1001, 996, 996, - 996, 996, 996, 996, 999, 0, 999, 999, 999, 999, - 999, 999, 999, 999, 999, 1041, 0, 0, 999, 999, - - 999, 999, 999, 1002, 1041, 1002, 1002, 1002, 1002, 1002, - 1002, 1002, 1002, 0, 1043, 1043, 0, 999, 999, 999, - 999, 999, 999, 1004, 1043, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 0, 0, 0, 1004, 1004, 1004, - 1004, 1004, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - 1006, 1006, 1006, 1006, 1006, 1006, 1004, 1004, 1004, 1004, - 1004, 1004, 1007, 1198, 1007, 1007, 1007, 1007, 1007, 1007, - 1007, 1007, 1010, 1198, 1010, 1010, 1010, 1010, 1010, 1010, - 1010, 1010, 1010, 0, 0, 0, 1010, 1010, 1010, 1010, - 1010, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1012, - - 1012, 1012, 1012, 1012, 1012, 1010, 1010, 1010, 1010, 1010, - 1010, 1013, 0, 1013, 1013, 1013, 1013, 1013, 1013, 1013, - 1013, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1018, 1226, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1019, 1226, 1019, 1019, 1019, - 1019, 1019, 1019, 1019, 1019, 1020, 0, 1020, 1020, 1020, - 1020, 1020, 1020, 1020, 1020, 1021, 0, 1021, 1021, 1021, - 1021, 1021, 1021, 1021, 1021, 1022, 0, 1022, 1022, 1022, - 1022, 1022, 1022, 1022, 1022, 1023, 0, 1023, 1023, 1023, - - 1023, 1023, 1023, 1023, 1023, 1025, 0, 1025, 1025, 1025, - 1025, 1025, 1025, 1025, 1025, 1025, 0, 0, 0, 1025, - 1025, 1025, 1025, 1025, 1026, 1026, 1026, 1026, 1026, 1026, - 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1025, 1025, - 1025, 1025, 1025, 1025, 1028, 0, 1028, 1028, 1028, 1028, - 1028, 1028, 1028, 1028, 1031, 1031, 1031, 1031, 1031, 1031, - 1031, 1031, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, - 1033, 1033, 1033, 1033, 1033, 1033, 1036, 1036, 1036, 1036, - 1036, 1036, 1036, 1036, 1123, 0, 0, 0, 1036, 1036, - 1036, 1036, 1036, 1123, 0, 1045, 1045, 1045, 1045, 1045, - - 1045, 1045, 1045, 0, 0, 0, 0, 1036, 1036, 1036, - 1036, 1036, 1036, 1038, 0, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1045, 1046, 1046, 1046, 1046, 1046, - 1046, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1049, - 0, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 0, - 0, 0, 0, 1050, 1046, 1050, 1050, 1050, 1050, 1050, - 1050, 1050, 1050, 1051, 0, 1051, 1051, 1051, 1051, 1051, - 1051, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1062, 0, - - 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1063, 0, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 0, - 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1067, 0, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 0, - 0, 0, 1067, 1067, 1067, 1067, 1067, 1068, 1068, 1068, - 1068, 1068, 1068, 1068, 1068, 1069, 1069, 1069, 1069, 1069, - 1069, 1067, 1067, 1067, 1067, 1067, 1067, 1071, 0, 1071, - 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1078, 0, 1078, - 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1085, 0, - 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1092, - - 0, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, - 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1097, 1097, - 1097, 1097, 1097, 1097, 1097, 1097, 1098, 1098, 1098, 1098, - 1098, 1098, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, - 1101, 0, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1102, 0, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1103, 0, 1103, 1103, 1103, 1103, 1103, 1103, 1104, 1104, - 1104, 1104, 1104, 1104, 1104, 1104, 1106, 0, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1107, 0, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1108, 0, 1108, 1108, - - 1108, 1108, 1108, 1108, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1114, 0, 1114, 1114, 1114, 1114, 1114, 1114, - 1114, 1114, 1114, 1118, 0, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 0, 0, 0, 1118, 1118, 1118, - 1118, 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, - 1120, 1120, 1120, 1120, 1120, 1120, 1118, 1118, 1118, 1118, - 1118, 1118, 1121, 0, 1121, 1121, 1121, 1121, 1121, 1121, - 1121, 1121, 1125, 0, 1125, 1125, 1125, 1125, 1125, 1125, - 1125, 1125, 1126, 0, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1127, 0, 1127, 1127, 1127, 1127, 1127, 1127, - - 1127, 1127, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, - 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, - 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 1138, 1138, - 1138, 1138, 1138, 1138, 1138, 1140, 0, 1140, 1140, 1140, - 1140, 1140, 1140, 1140, 1140, 1141, 0, 1141, 1141, 1141, - 1141, 1141, 1141, 1141, 1141, 1142, 0, 1142, 1142, 1142, - 1142, 1142, 1142, 1145, 1145, 1145, 1145, 1145, 1145, 1145, - 1145, 1149, 0, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1149, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, - 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, - - 1166, 1166, 1166, 1166, 1166, 1166, 1167, 0, 1167, 1167, - 1167, 1167, 1167, 1167, 1167, 1167, 1168, 0, 1168, 1168, - 1168, 1168, 1168, 1168, 1168, 1168, 1169, 0, 1169, 1169, - 1169, 1169, 1169, 1169, 1169, 1169, 1170, 0, 1170, 1170, - 1170, 1170, 1170, 1170, 1170, 1170, 1171, 0, 1171, 1171, - 1171, 1171, 1171, 1171, 1171, 1171, 1172, 0, 1172, 1172, - 1172, 1172, 1172, 1172, 1172, 1172, 1180, 0, 1180, 1180, - 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1184, 1184, 1184, - 1184, 1184, 1184, 1184, 1184, 1186, 0, 1186, 1186, 1186, - 1186, 1186, 1186, 1186, 1186, 1187, 0, 1187, 1187, 1187, - - 1187, 1187, 1187, 1187, 1187, 1188, 0, 1188, 1188, 1188, - 1188, 1188, 1188, 1189, 1189, 1189, 1189, 1189, 1189, 1189, - 1189, 1189, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1192, 0, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, - 1194, 0, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 1210, - 1210, 1210, 1210, 1210, 1210, 1210, 1211, 1211, 1211, 1211, - 1211, 1211, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, - - 1214, 0, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, - 1215, 0, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, - 1216, 0, 1216, 1216, 1216, 1216, 1216, 1216, 1217, 1217, - 1217, 1217, 1217, 1217, 1217, 1217, 1219, 0, 1219, 1219, - 1219, 1219, 1219, 1219, 1219, 1219, 1220, 0, 1220, 1220, - 1220, 1220, 1220, 1220, 1220, 1220, 1221, 0, 1221, 1221, - 1221, 1221, 1221, 1221, 1228, 1228, 1228, 1228, 1228, 1228, - 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1229, - 1229, 1229, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, - 1230, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, - - 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234, - 1234, 1234, 1234, 1234, 1234, 1234, 1235, 1235, 1235, 1235, - 1235, 1235, 1235, 1235, 1237, 0, 1237, 1237, 1237, 1237, - 1237, 1237, 1237, 1237, 1238, 0, 1238, 1238, 1238, 1238, - 1238, 1238, 1238, 1238, 1239, 0, 1239, 1239, 1239, 1239, - 1239, 1239, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, - 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1250, 0, 1250, 1250, - 1250, 1250, 1250, 1250, 1250, 1250, 1251, 0, 1251, 1251, - 1251, 1251, 1251, 1251, 1251, 1251, 1252, 0, 1252, 1252, - - 1252, 1252, 1252, 1252, 1252, 1252, 1257, 1257, 1257, 1257, - 1257, 1257, 1257, 1257, 1257, 1258, 1258, 1258, 1258, 1258, - 1258, 1258, 1258, 1258, 1259, 1259, 1259, 1259, 1259, 1259, - 1259, 1260, 0, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1261, 0, 1261, 1261, 1261, 1261, 1261, 1261, 1261, - 1261, 1262, 0, 1262, 1262, 1262, 1262, 1262, 1262, 1262, - 1262, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1271, - 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1272, 1272, 1272, - 1272, 1272, 1272, 1273, 1273, 1273, 1273, 1273, 1273, 1273, - 1273, 1275, 0, 1275, 1275, 1275, 1275, 1275, 1275, 1275, - - 1275, 1276, 0, 1276, 1276, 1276, 1276, 1276, 1276, 1276, - 1276, 1277, 0, 1277, 1277, 1277, 1277, 1277, 1277, 1280, - 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1282, 0, 1282, - 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1283, 0, 1283, - 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1284, 0, 1284, - 1284, 1284, 1284, 1284, 1284, 1285, 1285, 1285, 1285, 1285, - 1285, 1285, 1285, 1286, 1286, 1286, 1286, 1286, 1286, 1286, - 1286, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1289, - 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1290, 1290, 1290, - 1290, 1290, 1290, 1290, 1290, 1291, 1291, 1291, 1291, 1291, - - 1291, 1291, 1291, 1293, 1293, 1293, 1293, 1293, 1293, 1293, - 1293, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1295, - 1295, 1295, 1295, 1295, 1295, 1297, 1297, 1297, 1297, 1297, - 1297, 1297, 1297, 1298, 1298, 1298, 1298, 1298, 1298, 1298, - 1298, 1299, 1299, 1299, 1299, 1299, 1299, 1301, 1301, 1301, - 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, - 1302, 1302, 1302, 1303, 1303, 1303, 1303, 1303, 1303, 1303, - 1303, 1303, 1303, 1303, 1303, 1303, 1304, 1304, 1304, 1304, - 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1305, - - 0, 0, 0, 1305, 0, 1305, 1305, 1305, 0, 1305, - 1305, 1305, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1307, 0, 0, 0, 1307, - 0, 1307, 1307, 1307, 0, 1307, 1307, 1307, 1308, 0, - 0, 0, 1308, 0, 1308, 1308, 1308, 0, 1308, 1308, - 1308, 1309, 0, 0, 1309, 1309, 0, 1309, 1309, 1309, - 0, 1309, 1309, 1309, 1310, 0, 0, 1310, 1310, 0, - 1310, 1310, 1310, 0, 1310, 1310, 1310, 1311, 0, 0, - 1311, 1311, 1311, 1311, 1311, 1311, 0, 0, 1311, 1311, - 1312, 1312, 1313, 0, 0, 1313, 0, 0, 1313, 1313, - - 1313, 1313, 1313, 1313, 1313, 1314, 1314, 1314, 1314, 1314, - 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1315, 1315, - 0, 1315, 0, 1315, 1315, 1315, 1315, 1315, 1315, 1315, - 1315, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, - 1316, 1316, 1316, 1316, 1317, 0, 0, 1317, 1317, 0, - 1317, 1317, 1317, 0, 1317, 1317, 1317, 1318, 1318, 0, - 0, 1318, 1319, 1319, 0, 0, 0, 1319, 1320, 0, - 0, 1320, 1320, 0, 1320, 1320, 1320, 0, 1320, 1320, - 1320, 1321, 1321, 0, 0, 1321, 1322, 1322, 1322, 0, - 0, 1322, 1323, 1323, 0, 0, 1323, 1324, 1324, 0, - - 0, 1324, 1325, 1325, 0, 0, 1325, 1326, 1326, 1326, - 0, 0, 1326, 1327, 1327, 0, 0, 1327, 1328, 1328, - 0, 0, 1328, 1329, 1329, 1329, 1329, 0, 0, 1329, - 1330, 1330, 0, 0, 1330, 1331, 1331, 0, 0, 1331, - 1332, 0, 0, 0, 1332, 1333, 1333, 1333, 0, 0, - 1333, 1334, 1334, 0, 0, 1334, 1335, 1335, 0, 0, - 1335, 1336, 1336, 1336, 0, 0, 1336, 1337, 1337, 0, - 0, 1337, 1338, 1338, 0, 0, 1338, 1339, 1339, 0, - 0, 1339, 1340, 1340, 1340, 1340, 0, 0, 1340, 1341, - 1341, 0, 0, 1341, 1342, 1342, 0, 0, 1342, 1343, - - 1343, 0, 0, 0, 1343, 1344, 1344, 1344, 1344, 0, - 0, 1344, 1345, 1345, 1345, 1345, 0, 0, 1345, 1346, - 1346, 0, 0, 1346, 1347, 1347, 0, 0, 1347, 1348, - 1348, 0, 0, 1348, 1349, 1349, 1349, 0, 0, 1349, - 1350, 1350, 0, 0, 1350, 1351, 1351, 0, 0, 1351, - 1352, 1352, 1352, 0, 0, 1352, 1353, 1353, 1353, 0, - 0, 1353, 1354, 1354, 1354, 0, 0, 1354, 1355, 1355, - 0, 0, 1355, 1356, 1356, 0, 0, 1356, 1357, 0, - 1357, 1357, 0, 0, 1357, 1358, 1358, 0, 0, 1358, - 1359, 1359, 1359, 1359, 0, 0, 1359, 1360, 1360, 0, - - 0, 1360, 1361, 1361, 0, 0, 1361, 1362, 1362, 0, - 0, 0, 1362, 1363, 1363, 1363, 0, 0, 1363, 1364, - 1364, 1364, 1364, 0, 0, 1364, 1365, 1365, 1365, 1365, - 0, 0, 1365, 1366, 1366, 0, 0, 1366, 1367, 1367, - 0, 0, 1367, 1368, 1368, 0, 0, 1368, 1369, 0, - 1369, 1369, 0, 0, 1369, 1370, 1370, 1370, 0, 0, - 1370, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, - 1371, 1371, 1371, 1371, 1372, 0, 0, 0, 1372, 0, - 1372, 1372, 1372, 0, 1372, 1372, 1372, 1373, 0, 0, - 0, 1373, 0, 1373, 1373, 1373, 0, 1373, 1373, 1373, - - 1374, 0, 0, 0, 1374, 0, 1374, 1374, 1374, 0, - 1374, 1374, 1374, 1375, 1375, 0, 0, 1375, 1376, 1376, - 0, 0, 1376, 1377, 1377, 1377, 0, 0, 1377, 1378, - 1378, 1378, 0, 0, 1378, 1379, 1379, 1379, 0, 0, - 1379, 1380, 1380, 1380, 0, 0, 1380, 1381, 1381, 0, - 0, 1381, 1382, 1382, 0, 0, 1382, 1383, 0, 0, - 0, 1383, 1384, 0, 1384, 1384, 0, 0, 1384, 1385, - 0, 1385, 1385, 0, 0, 1385, 1386, 1386, 0, 0, - 1386, 1387, 1387, 1387, 1387, 0, 0, 1387, 1388, 1388, - 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, - - 1388, 1389, 0, 0, 0, 1389, 0, 1389, 1389, 1389, - 0, 1389, 1389, 1389, 1390, 0, 0, 0, 1390, 0, - 1390, 1390, 1390, 0, 1390, 1390, 1390, 1391, 0, 0, - 0, 1391, 0, 1391, 1391, 1391, 0, 1391, 1391, 1391, - 1392, 1392, 0, 0, 1392, 1393, 1393, 0, 0, 1393, - 1394, 1394, 0, 0, 0, 1394, 1395, 1395, 1395, 0, - 0, 1395, 1396, 1396, 1396, 1396, 0, 0, 1396, 1397, - 1397, 1397, 1397, 0, 0, 1397, 1398, 1398, 1398, 1398, - 0, 0, 1398, 1399, 1399, 0, 0, 1399, 1400, 1400, - 0, 0, 1400, 1401, 1401, 0, 0, 1401, 1402, 1402, - - 0, 0, 1402, 1403, 1403, 0, 0, 1403, 1404, 0, - 1404, 1404, 0, 0, 1404, 1405, 1405, 1405, 0, 0, - 1405, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, - 1406, 1406, 1406, 1406, 1407, 0, 0, 0, 1407, 0, - 1407, 1407, 1407, 0, 1407, 1407, 1407, 1408, 1408, 0, - 0, 1408, 1409, 1409, 1409, 0, 0, 1409, 1410, 1410, - 1410, 0, 0, 1410, 1411, 1411, 1411, 0, 0, 1411, - 1412, 1412, 1412, 0, 0, 1412, 1413, 1413, 1413, 0, - 0, 1413, 1414, 1414, 0, 0, 1414, 1415, 1415, 0, - 0, 1415, 1416, 0, 0, 0, 1416, 1417, 1417, 0, - - 0, 1417, 1418, 0, 1418, 1418, 0, 0, 1418, 1419, - 0, 1419, 1419, 0, 0, 1419, 1420, 1420, 0, 0, - 1420, 1421, 1421, 1421, 1421, 0, 0, 1421, 1422, 0, - 0, 0, 1422, 0, 1422, 1422, 1422, 0, 1422, 1422, - 1422, 1423, 1423, 0, 0, 1423, 1424, 1424, 0, 0, - 0, 1424, 1425, 1425, 1425, 0, 0, 1425, 1426, 0, - 0, 0, 1426, 1427, 1427, 1427, 1427, 0, 0, 1427, - 1428, 0, 0, 0, 1428, 1429, 1429, 1429, 1429, 0, - 0, 1429, 1430, 0, 0, 0, 1430, 1431, 1431, 1431, - 1431, 0, 0, 1431, 1432, 0, 0, 0, 1432, 1433, - - 1433, 1433, 1433, 0, 0, 1433, 1434, 0, 0, 0, - 1434, 1435, 1435, 0, 0, 1435, 1436, 1436, 0, 0, - 1436, 1437, 1437, 0, 0, 1437, 1438, 1438, 0, 0, - 1438, 1439, 1439, 0, 0, 1439, 1440, 1440, 0, 0, - 1440, 1441, 0, 1441, 1441, 0, 0, 1441, 1442, 1442, - 1442, 0, 0, 1442, 1443, 0, 0, 0, 1443, 0, - 1443, 1443, 1443, 0, 1443, 1443, 1443, 1444, 0, 1444, - 1444, 0, 0, 1444, 1445, 1445, 0, 0, 1445, 1446, - 1446, 0, 0, 0, 1446, 1447, 1447, 1447, 0, 0, - 1447, 1448, 1448, 0, 0, 0, 1448, 1449, 1449, 1449, - - 0, 0, 1449, 1450, 1450, 0, 0, 0, 1450, 1451, - 1451, 1451, 0, 0, 1451, 1452, 1452, 0, 0, 0, - 1452, 1453, 1453, 1453, 0, 0, 1453, 1454, 1454, 0, - 0, 0, 1454, 1455, 1455, 1455, 0, 0, 1455, 1456, - 1456, 0, 0, 0, 1456, 1457, 1457, 0, 0, 1457, - 1458, 1458, 0, 0, 1458, 1459, 0, 0, 0, 1459, - 1460, 1460, 0, 0, 1460, 1461, 0, 1461, 1461, 0, - 0, 1461, 1462, 0, 1462, 1462, 0, 0, 1462, 1463, - 0, 1463, 1463, 0, 0, 1463, 1464, 1464, 0, 0, - 1464, 1465, 1465, 1465, 1465, 0, 0, 1465, 1466, 0, - - 0, 0, 1466, 1467, 0, 0, 0, 1467, 0, 1467, - 1467, 1467, 0, 1467, 1467, 1467, 1468, 1468, 0, 0, - 1468, 1469, 1469, 0, 0, 0, 1469, 1470, 1470, 0, - 0, 0, 1470, 1471, 1471, 0, 0, 0, 1471, 1472, - 1472, 0, 0, 0, 1472, 1473, 1473, 0, 0, 0, - 1473, 1474, 1474, 0, 0, 0, 1474, 1475, 1475, 0, - 0, 0, 1475, 1476, 1476, 0, 0, 1476, 1477, 1477, - 0, 0, 1477, 1478, 1478, 0, 0, 1478, 1479, 1479, - 0, 0, 1479, 1480, 1480, 0, 0, 1480, 1481, 1481, - 0, 0, 1481, 1482, 0, 1482, 1482, 0, 0, 1482, - - 1483, 1483, 1483, 0, 0, 1483, 1484, 1484, 0, 0, - 0, 1484, 1485, 0, 0, 0, 1485, 0, 1485, 1485, - 1485, 0, 1485, 1485, 1485, 1486, 1486, 0, 0, 0, - 1486, 1487, 1487, 0, 0, 0, 1487, 1488, 1488, 0, - 0, 0, 1488, 1489, 1489, 0, 0, 0, 1489, 1490, - 1490, 0, 0, 0, 1490, 1491, 1491, 0, 0, 0, - 1491, 1492, 1492, 0, 0, 0, 1492, 1493, 1493, 0, - 0, 1493, 1494, 0, 0, 0, 1494, 1495, 1495, 0, - 0, 1495, 1496, 0, 0, 0, 1496, 1497, 0, 1497, - 1497, 0, 0, 1497, 1498, 0, 0, 0, 1498, 1499, - - 0, 1499, 1499, 0, 0, 1499, 1500, 0, 0, 0, - 1500, 1501, 0, 1501, 1501, 0, 0, 1501, 1502, 0, - 0, 0, 1502, 1503, 0, 1503, 1503, 0, 0, 1503, - 1504, 0, 0, 0, 1504, 1505, 1505, 0, 0, 1505, - 1506, 1506, 0, 0, 0, 1506, 1507, 1507, 0, 0, - 0, 1507, 1508, 0, 1508, 1508, 0, 0, 1508, 1509, - 1509, 0, 0, 1509, 1510, 0, 0, 0, 1510, 1511, - 1511, 0, 0, 1511, 1512, 0, 0, 0, 1512, 1513, - 1513, 0, 0, 1513, 1514, 0, 0, 0, 1514, 1515, - 1515, 0, 0, 1515, 1516, 0, 0, 0, 1516, 1517, - - 1517, 0, 0, 1517, 1518, 0, 0, 0, 1518, 1519, - 1519, 0, 0, 1519, 1520, 0, 0, 0, 1520, 1521, - 0, 1521, 1521, 0, 0, 1521, 1522, 0, 0, 0, - 1522, 1523, 1523, 0, 0, 0, 1523, 1524, 1524, 0, - 0, 1524, 1525, 0, 0, 0, 1525, 1526, 0, 0, - 0, 1526, 1527, 0, 0, 0, 1527, 1528, 0, 0, - 0, 1528, 1529, 0, 0, 0, 1529, 1530, 0, 0, - 0, 1530, 1531, 0, 0, 0, 1531, 1532, 1532, 0, - 0, 1532, 1533, 0, 0, 0, 1533, 1534, 0, 0, - 0, 1534, 1535, 0, 0, 0, 1535, 1536, 0, 0, - - 0, 1536, 1537, 0, 0, 0, 1537, 1538, 0, 0, - 0, 1538, 1539, 0, 0, 0, 1539, 1540, 0, 0, - 0, 1540, 1541, 0, 0, 0, 1541, 1542, 0, 0, - 0, 1542, 1543, 0, 0, 0, 1543, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300 - + 511, 511, 511, 511, 512, 512, 512, 512, 512, 512, + 512, 512, 0, 0, 0, 0, 0, 508, 509, 0, + + 509, 509, 509, 509, 509, 509, 509, 509, 513, 513, + 513, 513, 513, 513, 513, 513, 517, 517, 517, 517, + 517, 517, 517, 517, 0, 0, 0, 0, 0, 509, + 510, 0, 510, 510, 510, 510, 510, 510, 510, 510, + 0, 0, 0, 0, 521, 517, 521, 521, 521, 521, + 521, 521, 523, 523, 523, 523, 523, 523, 523, 523, + 0, 510, 519, 0, 519, 519, 519, 519, 519, 519, + 519, 519, 0, 0, 0, 521, 524, 524, 524, 524, + 524, 524, 524, 524, 525, 525, 525, 525, 525, 525, + 0, 0, 0, 519, 520, 0, 520, 520, 520, 520, + + 520, 520, 520, 520, 527, 527, 527, 527, 527, 527, + 527, 527, 528, 528, 528, 528, 528, 528, 528, 528, + 0, 0, 0, 0, 0, 520, 0, 0, 0, 0, + 0, 0, 0, 527, 532, 532, 532, 532, 532, 532, + 0, 528, 529, 529, 529, 529, 529, 529, 529, 529, + 531, 531, 531, 531, 531, 531, 531, 531, 0, 0, + 0, 0, 0, 532, 0, 0, 0, 0, 0, 0, + 0, 529, 0, 0, 0, 0, 0, 0, 0, 531, + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 535, 535, 535, 535, 535, 535, 535, + + 535, 535, 535, 535, 535, 535, 536, 536, 536, 536, + 536, 536, 536, 536, 536, 536, 536, 536, 536, 537, + 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, + 537, 537, 538, 0, 0, 0, 538, 0, 538, 538, + 538, 0, 538, 538, 538, 539, 539, 539, 539, 539, + 539, 539, 539, 539, 539, 539, 539, 539, 540, 0, + 0, 0, 540, 0, 540, 540, 540, 0, 540, 540, + 540, 541, 0, 0, 0, 541, 0, 541, 541, 541, + 0, 541, 541, 541, 542, 0, 0, 542, 542, 0, + 542, 542, 542, 0, 542, 542, 542, 543, 543, 0, + + 0, 543, 544, 0, 0, 544, 544, 0, 544, 544, + 544, 0, 544, 544, 544, 545, 0, 0, 545, 545, + 545, 545, 545, 545, 0, 0, 545, 545, 546, 546, + 547, 0, 0, 547, 0, 0, 547, 547, 547, 547, + 547, 547, 547, 548, 548, 548, 548, 548, 548, 548, + 548, 548, 548, 548, 548, 548, 549, 549, 0, 549, + 0, 549, 549, 549, 549, 549, 549, 549, 549, 550, + 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, + 550, 550, 551, 0, 0, 551, 551, 0, 551, 551, + 551, 0, 551, 551, 551, 552, 552, 0, 0, 552, + + 553, 553, 553, 0, 0, 553, 554, 0, 0, 554, + 554, 0, 554, 554, 554, 0, 554, 554, 554, 555, + 555, 0, 0, 555, 556, 556, 556, 0, 0, 556, + 557, 557, 0, 0, 557, 558, 558, 0, 0, 558, + 559, 559, 0, 0, 559, 560, 560, 560, 0, 0, + 560, 561, 561, 0, 0, 561, 562, 562, 0, 0, + 562, 563, 563, 0, 0, 563, 564, 564, 564, 0, + 0, 564, 565, 565, 565, 565, 0, 0, 565, 566, + 566, 0, 0, 566, 567, 567, 0, 0, 567, 568, + 568, 0, 0, 568, 569, 569, 569, 0, 0, 569, + + 570, 570, 570, 570, 0, 0, 570, 571, 571, 0, + 0, 571, 572, 572, 0, 0, 572, 573, 573, 573, + 0, 0, 573, 574, 574, 574, 574, 0, 0, 574, + 575, 575, 0, 0, 575, 576, 0, 576, 576, 0, + 0, 576, 577, 577, 577, 0, 0, 577, 578, 578, + 578, 578, 0, 0, 578, 579, 579, 0, 0, 579, + 580, 0, 580, 580, 0, 0, 580, 581, 581, 581, + 0, 0, 581, 582, 582, 582, 0, 0, 0, 582, + 583, 0, 0, 0, 583, 0, 583, 583, 583, 0, + 583, 583, 583, 584, 0, 0, 0, 584, 0, 584, + + 584, 584, 0, 584, 584, 584, 585, 585, 0, 0, + 585, 586, 0, 586, 586, 0, 0, 586, 587, 587, + 0, 0, 0, 587, 588, 588, 588, 588, 588, 588, + 588, 588, 588, 588, 588, 588, 588, 589, 589, 0, + 0, 589, 590, 0, 590, 590, 0, 0, 590, 591, + 591, 0, 0, 591, 592, 0, 592, 0, 0, 0, + 592, 593, 0, 0, 0, 593, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533 } ; static yy_state_type yy_last_accepting_state; @@ -2945,6 +1383,7 @@ static int _fill __P((char *, int, int)); static int fill_cmnd __P((char *, int)); static int fill_args __P((char *, int, int)); static int switch_buffer __P((char *)); +static int ipv6_valid __P((const char *s)); static char *parse_include __P((char *)); extern void yyerror __P((const char *)); @@ -2972,7 +1411,7 @@ extern void yyerror __P((const char *)); #define INSTR 5 -#line 2976 "lex.yy.c" +#line 1415 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -3126,9 +1565,9 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 112 "toke.l" +#line 113 "toke.l" -#line 3132 "lex.yy.c" +#line 1571 "lex.yy.c" if ( yy_init ) { @@ -3180,13 +1619,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1301 ) + if ( yy_current_state >= 534 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 9138 ); + while ( yy_base[yy_current_state] != 3367 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3214,12 +1653,12 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 113 "toke.l" +#line 114 "toke.l" BEGIN STARTDEFS; YY_BREAK case 2: YY_RULE_SETUP -#line 115 "toke.l" +#line 116 "toke.l" { BEGIN INDEFS; LEXTRACE("DEFVAR "); @@ -3231,7 +1670,7 @@ YY_RULE_SETUP case 3: YY_RULE_SETUP -#line 124 "toke.l" +#line 125 "toke.l" { BEGIN STARTDEFS; LEXTRACE(", "); @@ -3240,7 +1679,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 130 "toke.l" +#line 131 "toke.l" { LEXTRACE("= "); return('='); @@ -3248,7 +1687,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 135 "toke.l" +#line 136 "toke.l" { LEXTRACE("+= "); return('+'); @@ -3256,7 +1695,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 140 "toke.l" +#line 141 "toke.l" { LEXTRACE("-= "); return('-'); @@ -3264,7 +1703,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 145 "toke.l" +#line 146 "toke.l" { LEXTRACE("BEGINSTR "); yylval.string = NULL; @@ -3273,7 +1712,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 151 "toke.l" +#line 152 "toke.l" { LEXTRACE("WORD(2) "); if (!fill(yytext, yyleng)) @@ -3285,7 +1724,7 @@ YY_RULE_SETUP case 9: YY_RULE_SETUP -#line 160 "toke.l" +#line 161 "toke.l" { /* Line continuation char followed by newline. */ ++sudolineno; @@ -3294,7 +1733,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 166 "toke.l" +#line 167 "toke.l" { LEXTRACE("ENDSTR "); BEGIN INDEFS; @@ -3303,7 +1742,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 172 "toke.l" +#line 173 "toke.l" { LEXTRACE("STRBODY "); /* Push back line continuation char if present */ @@ -3318,7 +1757,7 @@ YY_RULE_SETUP case 12: YY_RULE_SETUP -#line 184 "toke.l" +#line 185 "toke.l" { /* quoted fnmatch glob char, pass verbatim */ LEXTRACE("QUOTEDCHAR "); @@ -3329,7 +1768,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 192 "toke.l" +#line 193 "toke.l" { /* quoted sudoers special char, strip backslash */ LEXTRACE("QUOTEDCHAR "); @@ -3340,7 +1779,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 200 "toke.l" +#line 201 "toke.l" { BEGIN INITIAL; yyless(0); @@ -3349,7 +1788,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 206 "toke.l" +#line 207 "toke.l" { LEXTRACE("ARG "); if (!fill_args(yytext, yyleng, sawspace)) @@ -3360,7 +1799,7 @@ YY_RULE_SETUP case 16: YY_RULE_SETUP -#line 214 "toke.l" +#line 215 "toke.l" { char *path; @@ -3376,7 +1815,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 227 "toke.l" +#line 228 "toke.l" { int n; for (n = 0; isblank((unsigned char)yytext[n]); n++) @@ -3408,7 +1847,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 256 "toke.l" +#line 257 "toke.l" { int n; for (n = 0; isblank((unsigned char)yytext[n]); n++) @@ -3433,7 +1872,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 278 "toke.l" +#line 279 "toke.l" { /* cmnd does not require passwd for this user */ LEXTRACE("NOPASSWD "); @@ -3442,7 +1881,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 284 "toke.l" +#line 285 "toke.l" { /* cmnd requires passwd for this user */ LEXTRACE("PASSWD "); @@ -3451,7 +1890,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 290 "toke.l" +#line 291 "toke.l" { LEXTRACE("NOEXEC "); return(NOEXEC); @@ -3459,7 +1898,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 295 "toke.l" +#line 296 "toke.l" { LEXTRACE("EXEC "); return(EXEC); @@ -3467,7 +1906,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 300 "toke.l" +#line 301 "toke.l" { LEXTRACE("SETENV "); return(SETENV); @@ -3475,7 +1914,7 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 305 "toke.l" +#line 306 "toke.l" { LEXTRACE("NOSETENV "); return(NOSETENV); @@ -3483,7 +1922,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 310 "toke.l" +#line 311 "toke.l" { /* netgroup */ if (!fill(yytext, yyleng)) @@ -3494,7 +1933,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 318 "toke.l" +#line 319 "toke.l" { /* UN*X group */ if (!fill(yytext, yyleng)) @@ -3505,7 +1944,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 326 "toke.l" +#line 327 "toke.l" { if (!fill(yytext, yyleng)) yyterminate(); @@ -3515,7 +1954,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 333 "toke.l" +#line 334 "toke.l" { if (!fill(yytext, yyleng)) yyterminate(); @@ -3525,8 +1964,12 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 340 "toke.l" +#line 341 "toke.l" { + if (!ipv6_valid(yytext)) { + LEXTRACE("ERROR "); + return(ERROR); + } if (!fill(yytext, yyleng)) yyterminate(); LEXTRACE("NTWKADDR "); @@ -3535,8 +1978,12 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 347 "toke.l" +#line 352 "toke.l" { + if (!ipv6_valid(yytext)) { + LEXTRACE("ERROR "); + return(ERROR); + } if (!fill(yytext, yyleng)) yyterminate(); LEXTRACE("NTWKADDR "); @@ -3545,7 +1992,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 354 "toke.l" +#line 363 "toke.l" { if (strcmp(yytext, "ALL") == 0) { LEXTRACE("ALL "); @@ -3560,7 +2007,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 366 "toke.l" +#line 375 "toke.l" { /* no command args allowed for Defaults!/path */ if (!fill_cmnd(yytext, yyleng)) @@ -3571,7 +2018,7 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 374 "toke.l" +#line 383 "toke.l" { BEGIN GOTCMND; LEXTRACE("COMMAND "); @@ -3581,7 +2028,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 381 "toke.l" +#line 390 "toke.l" { /* directories can't have args... */ if (yytext[yyleng - 1] == '/') { @@ -3599,7 +2046,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 396 "toke.l" +#line 405 "toke.l" { /* a word */ if (!fill(yytext, yyleng)) @@ -3610,7 +2057,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 404 "toke.l" +#line 413 "toke.l" { LEXTRACE("( "); return ('('); @@ -3618,7 +2065,7 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 409 "toke.l" +#line 418 "toke.l" { LEXTRACE(") "); return(')'); @@ -3626,7 +2073,7 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 414 "toke.l" +#line 423 "toke.l" { LEXTRACE(", "); return(','); @@ -3634,7 +2081,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 419 "toke.l" +#line 428 "toke.l" { LEXTRACE("= "); return('='); @@ -3642,7 +2089,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 424 "toke.l" +#line 433 "toke.l" { LEXTRACE(": "); return(':'); @@ -3650,7 +2097,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 429 "toke.l" +#line 438 "toke.l" { if (yyleng % 2 == 1) return('!'); /* return '!' */ @@ -3658,7 +2105,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 434 "toke.l" +#line 443 "toke.l" { BEGIN INITIAL; ++sudolineno; @@ -3668,14 +2115,14 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 441 "toke.l" +#line 450 "toke.l" { /* throw away space/tabs */ sawspace = TRUE; /* but remember for fill_args */ } YY_BREAK case 44: YY_RULE_SETUP -#line 445 "toke.l" +#line 454 "toke.l" { sawspace = TRUE; /* remember for fill_args */ ++sudolineno; @@ -3684,7 +2131,7 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 451 "toke.l" +#line 460 "toke.l" { BEGIN INITIAL; ++sudolineno; @@ -3694,7 +2141,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 458 "toke.l" +#line 467 "toke.l" { LEXTRACE("ERROR "); return(ERROR); @@ -3706,7 +2153,7 @@ case YY_STATE_EOF(GOTCMND): case YY_STATE_EOF(STARTDEFS): case YY_STATE_EOF(INDEFS): case YY_STATE_EOF(INSTR): -#line 463 "toke.l" +#line 472 "toke.l" { if (YY_START != INITIAL) { BEGIN INITIAL; @@ -3719,10 +2166,10 @@ case YY_STATE_EOF(INSTR): YY_BREAK case 47: YY_RULE_SETUP -#line 473 "toke.l" +#line 482 "toke.l" ECHO; YY_BREAK -#line 3726 "lex.yy.c" +#line 2173 "lex.yy.c" case YY_END_OF_BUFFER: { @@ -4013,7 +2460,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1301 ) + if ( yy_current_state >= 534 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -4048,11 +2495,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1301 ) + if ( yy_current_state >= 534 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1300); + yy_is_jam = (yy_current_state == 533); return yy_is_jam ? 0 : yy_current_state; } @@ -4611,7 +3058,7 @@ int main() return 0; } #endif -#line 473 "toke.l" +#line 482 "toke.l" static int _fill(src, len, olen) @@ -4805,3 +3252,26 @@ parse_include(base) return(path); } + +/* + * Check to make sure an IPv6 address does not contain multiple instances + * of the string "::". Assumes strlen(s) >= 1. + * Returns TRUE if address is valid else FALSE. + */ +static int +ipv6_valid(s) + const char *s; +{ + int nmatch = 0; + + for (; *s != '\0'; s++) { + if (s[0] == ':' && s[1] == ':') { + if (++nmatch > 1) + break; + } + if (s[0] == '/') + nmatch = 0; /* reset if we hit netmask */ + } + + return (nmatch <= 1); +} diff --git a/toke.l b/toke.l index 623b0aa8e..a36c6a65e 100644 --- a/toke.l +++ b/toke.l @@ -70,6 +70,7 @@ static int _fill __P((char *, int, int)); static int fill_cmnd __P((char *, int)); static int fill_args __P((char *, int, int)); static int switch_buffer __P((char *)); +static int ipv6_valid __P((const char *s)); static char *parse_include __P((char *)); extern void yyerror __P((const char *)); @@ -88,10 +89,10 @@ extern void yyerror __P((const char *)); #endif %} -HEXDIGIT [0-9A-Fa-f]{1,4} +HEX16 [0-9A-Fa-f]{1,4} OCTET (1?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]) -DOTTEDQUAD {OCTET}(\.{OCTET}){3} -IPV6ADDR \:\:|({HEXDIGIT}\:){7}{HEXDIGIT}|({HEXDIGIT}\:){5}{HEXDIGIT}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,7}\:|({HEXDIGIT}\:){1,6}(\:{HEXDIGIT}){1}|({HEXDIGIT}\:){1,5}(\:{HEXDIGIT}){2}|({HEXDIGIT}\:){1,2}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,4}(\:{HEXDIGIT}){3}|({HEXDIGIT}\:){1,4}(\:{HEXDIGIT}){1}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,3}(\:{HEXDIGIT}){4}|({HEXDIGIT}\:){1,3}(\:{HEXDIGIT}){2}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,2}(\:{HEXDIGIT}){5}|({HEXDIGIT}\:){1,2}(\:{HEXDIGIT}){3}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1}(\:{HEXDIGIT}){6}|({HEXDIGIT}\:){1}(\:{HEXDIGIT}){4}\:{DOTTEDQUAD}|\:(\:{HEXDIGIT}){1,7}|\:(\:{HEXDIGIT}){1,5}\:{DOTTEDQUAD} +IPV4ADDR {OCTET}(\.{OCTET}){3} +IPV6ADDR ({HEX16}?:){2,7}{HEX16}?|({HEX16}?:){2,6}:{IPV4ADDR} HOSTNAME [[:alnum:]_-]+ WORD ([^#>!=:,\(\) \t\n\\]|\\[^\n])+ @@ -323,14 +324,14 @@ NOSETENV[[:blank:]]*: { return(USERGROUP); } -{DOTTEDQUAD}(\/{DOTTEDQUAD})? { +{IPV4ADDR}(\/{IPV4ADDR})? { if (!fill(yytext, yyleng)) yyterminate(); LEXTRACE("NTWKADDR "); return(NTWKADDR); } -{DOTTEDQUAD}\/([12][0-9]*|3[0-2]*) { +{IPV4ADDR}\/([12][0-9]*|3[0-2]*) { if (!fill(yytext, yyleng)) yyterminate(); LEXTRACE("NTWKADDR "); @@ -338,6 +339,10 @@ NOSETENV[[:blank:]]*: { } {IPV6ADDR}(\/{IPV6ADDR})? { + if (!ipv6_valid(yytext)) { + LEXTRACE("ERROR "); + return(ERROR); + } if (!fill(yytext, yyleng)) yyterminate(); LEXTRACE("NTWKADDR "); @@ -345,6 +350,10 @@ NOSETENV[[:blank:]]*: { } {IPV6ADDR}\/([0-9]|[1-9][0-9]|1[01][0-9]|12[0-8]) { + if (!ipv6_valid(yytext)) { + LEXTRACE("ERROR "); + return(ERROR); + } if (!fill(yytext, yyleng)) yyterminate(); LEXTRACE("NTWKADDR "); @@ -663,3 +672,26 @@ parse_include(base) return(path); } + +/* + * Check to make sure an IPv6 address does not contain multiple instances + * of the string "::". Assumes strlen(s) >= 1. + * Returns TRUE if address is valid else FALSE. + */ +static int +ipv6_valid(s) + const char *s; +{ + int nmatch = 0; + + for (; *s != '\0'; s++) { + if (s[0] == ':' && s[1] == ':') { + if (++nmatch > 1) + break; + } + if (s[0] == '/') + nmatch = 0; /* reset if we hit netmask */ + } + + return (nmatch <= 1); +} -- 2.40.0