Accept %:foo as a non-Unix group
authorTodd C. Miller <Todd.Miller@courtesan.com>
Sun, 17 May 2009 20:52:15 +0000 (20:52 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Sun, 17 May 2009 20:52:15 +0000 (20:52 +0000)
toke.c
toke.l

diff --git a/toke.c b/toke.c
index c61833ba93e51034ead287e4e82b3efa418ccf06..74a1e913001601d7d5716a0109a50710e7c4476f 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -290,7 +290,7 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
 
 #define YY_NUM_RULES 50
 #define YY_END_OF_BUFFER 51
-static yyconst short int yy_accept[551] =
+static yyconst short int yy_accept[554] =
     {   0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,   51,   38,   46,   45,   44,   38,   49,   38,
@@ -300,58 +300,59 @@ static yyconst short int yy_accept[551] =
        38,   16,   15,   16,   15,   15,   49,   49,   49,    2,
         8,    7,    8,    3,    8,    4,   49,   12,   12,   12,
        10,   11,   38,    0,   46,   44,   38,    0,    0,    0,
-       48,    0,   38,   28,    0,   27,    0,   36,   36,    0,
-       38,   38,    0,   38,   38,   38,   38,    0,   31,   33,
-
-       33,   33,   33,   33,   33,   38,   47,   38,   46,    0,
-        0,    0,    0,    0,    0,   38,   38,   38,   38,   38,
-        1,    0,   34,   34,    0,   38,   16,   16,   14,   13,
-       14,    0,    0,    2,    8,    0,    5,    6,    8,    8,
-       12,    0,   12,   12,    0,    9,   37,   37,    0,    0,
-        0,   38,   38,   38,   38,   38,    0,    0,   31,   31,
-       33,   33,   33,   33,   33,   33,   33,   38,    0,    0,
-        0,    0,    0,    0,   38,   38,   38,   38,   38,    0,
-       38,    9,    0,   38,   38,   38,   38,   38,   38,    0,
-       32,   32,   32,    0,    0,   31,   31,   31,   31,   31,
-
-       31,   31,   33,   33,   33,   33,   33,   33,   33,   38,
+       48,    0,   38,   28,    0,    0,   27,    0,   36,   36,
+        0,   38,   38,    0,   38,   38,   38,   38,    0,   31,
+
+       33,   33,   33,   33,   33,   33,   38,   47,   38,   46,
         0,    0,    0,    0,    0,    0,   38,   38,   38,   38,
-       38,   38,   38,    0,    0,   32,   32,   32,    0,   31,
-       31,    0,   31,   31,   31,   31,   31,   31,   31,   31,
-       31,   31,   31,    0,   24,   33,   33,   33,   33,   33,
-       38,    0,    0,    0,    0,   38,   38,   38,   38,   38,
-       38,   38,   38,    0,   32,    0,   31,   31,   31,    0,
-        0,    0,   31,   31,   31,   31,   31,   31,   31,   31,
+       38,    1,    0,   34,   34,    0,   38,   16,   16,   14,
+       13,   14,    0,    0,    2,    8,    0,    5,    6,    8,
+        8,   12,    0,   12,   12,    0,    9,   37,   37,    0,
+        0,   28,    0,    0,   38,   38,   38,   38,   38,    0,
+        0,   31,   31,   33,   33,   33,   33,   33,   33,   33,
+       38,    0,    0,    0,    0,    0,    0,   38,   38,   38,
+       38,   38,    0,   38,    9,    0,   38,   38,   38,   38,
+       38,   38,    0,   32,   32,   32,    0,    0,   31,   31,
+
        31,   31,   31,   31,   31,   33,   33,   33,   33,   33,
-       38,    0,    0,    0,   38,   38,   38,   29,   29,   29,
-
-        0,    0,   31,   31,   31,   31,   31,   31,   31,    0,
-        0,    0,    0,    0,   31,   31,   31,   31,   31,   31,
-       31,   31,   31,   31,   31,   31,   31,   31,    0,   23,
-       33,   33,    0,   22,    0,   25,   38,    0,    0,    0,
-       38,   38,   38,   38,   29,   29,   29,   29,    0,   31,
-        0,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       33,   33,   38,    0,    0,    0,    0,    0,    0,   38,
+       38,   38,   38,   38,   38,   38,    0,    0,   32,   32,
+       32,    0,   31,   31,    0,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,    0,   24,   33,   33,
+       33,   33,   33,   38,    0,    0,    0,    0,   38,   38,
+       38,   38,   38,   38,   38,   38,    0,   32,    0,   31,
        31,   31,    0,    0,    0,   31,   31,   31,   31,   31,
        31,   31,   31,   31,   31,   31,   31,   31,   33,   33,
-       35,    0,    0,    0,   38,   19,   34,   38,   30,   30,
-       30,   31,    0,    0,    0,   31,   31,   31,   31,   31,
+       33,   33,   33,   38,    0,    0,    0,   38,   38,   38,
 
-       31,   31,   31,   31,   31,   31,   31,   31,    0,    0,
-        0,    0,    0,   31,   31,   31,   31,   31,   31,   31,
-       31,    0,   21,    0,   26,    0,   19,    0,    0,   38,
-        0,   38,   38,   38,   30,   30,   30,   30,   30,    0,
-        0,    0,    0,    0,   31,   31,   31,   31,   31,   31,
+       29,   29,   29,    0,    0,   31,   31,   31,   31,   31,
+       31,   31,    0,    0,    0,    0,    0,   31,   31,   31,
        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
-       31,   31,   31,   31,    0,    0,    0,   20,   19,    0,
-       19,    0,   38,   38,   38,   30,   30,    0,    0,    0,
+       31,    0,   23,   33,   33,    0,   22,    0,   25,   38,
+        0,    0,    0,   38,   38,   38,   38,   29,   29,   29,
+       29,    0,   31,    0,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,    0,    0,    0,   31,   31,
        31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
-       31,   31,   31,   31,   31,   31,   31,   31,   20,    0,
+       31,   33,   33,   35,    0,    0,    0,   38,   19,   34,
+       38,   30,   30,   30,   31,    0,    0,    0,   31,   31,
 
-       17,    0,   38,   38,   38,   38,   38,    0,    0,    0,
-        0,    0,   31,   31,   31,   31,   31,   31,   31,   31,
-        0,   38,   38,   38,   31,   31,   31,   31,   31,   31,
-        0,   38,   38,   38,   38,   38,   31,   31,   31,   31,
-       31,    0,   18,   29,   29,   29,   29,   29,   29,    0
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,    0,    0,    0,    0,    0,   31,   31,   31,   31,
+       31,   31,   31,   31,    0,   21,    0,   26,    0,   19,
+        0,    0,   38,    0,   38,   38,   38,   30,   30,   30,
+       30,   30,    0,    0,    0,    0,    0,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,    0,    0,    0,
+       20,   19,    0,   19,    0,   38,   38,   38,   30,   30,
+        0,    0,    0,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+
+       31,   20,    0,   17,    0,   38,   38,   38,   38,   38,
+        0,    0,    0,    0,    0,   31,   31,   31,   31,   31,
+       31,   31,   31,    0,   38,   38,   38,   31,   31,   31,
+       31,   31,   31,    0,   38,   38,   38,   38,   38,   31,
+       31,   31,   31,   31,    0,   18,   29,   29,   29,   29,
+       29,   29,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -397,151 +398,151 @@ static yyconst int yy_meta[63] =
        12,   12
     } ;
 
-static yyconst short int yy_base[616] =
+static yyconst short int yy_base[620] =
     {   0,
         0,   61,   62,   63,   69,   84,  128,  189,  250,  294,
-       80,  101, 2330, 2282, 2324, 3469, 2321,  338,  381, 2253,
-     3469, 3469, 2250, 3469,  107,  391,  119,  137, 2270, 3469,
-     3469,  443, 2249,  490, 2248, 2238, 2231,  541,  145,   35,
-      167,  565, 2206, 2210, 2202, 2197, 2184, 2232,  193,  256,
-       55,    0, 3469, 2227,    0, 3469,  264,  617,  110,    0,
-     2177, 3469,   73, 3469,   76, 3469,  117, 2167,  105,  106,
-     3469,  142, 2157,  306, 2163, 2160,  639, 2123, 2122, 2113,
-     3469,  201,  209, 2060,  347, 2057,  550,  276, 2056,  587,
-      410,  669, 2076, 2082,  306,  358,  317, 2070,   55,  706,
-
-        0, 2061,  240, 2050, 2047,  125, 3469,   98,  355, 2030,
-     2034, 2026, 2011, 2010,  146,  115,  219,   29,  212,  149,
-     2067,  507,  361, 2016,  598,  154,    0, 2034,  256, 3469,
-     3469,  636,  284,    0, 1991,  567, 3469, 3469, 1964,  389,
-     1961, 1999,  271,  300,  288, 1975, 1905, 3469, 1946, 1945,
-      603,  745,  777,  809,  841, 1933, 1895,  878,  268,  916,
-      953, 1888, 1872, 1872, 1867, 1859, 1850,  236, 1824, 1828,
-     1819, 1806, 1811,  317,  157, 1804,  307,   79,  258,  669,
-      296, 1838, 1834,  686,  402,  992, 1024,  725,  337, 1782,
-     1746,  755,  499, 1744, 1707,  343,  764, 1056,  785,  515,
-
-     1094,  795, 1706,  393, 1694, 1686, 1684, 1670, 1647,  373,
-     1631, 1632, 1602, 1615, 1602,  543,  400,  556,  233,  506,
-     1133, 1165, 1197, 1621, 1620,  817, 1620, 1618, 1602, 1601,
-      540,  826,  546,  858,  602, 1229,    0,  897, 1240,  933,
-      694, 1278,  972,  601, 3469, 1584, 1572, 1548, 1548, 1536,
-      616, 1531, 1487, 1488,  387,  407,   21,  617, 1003,  423,
-     1317, 1349, 1013, 1523, 1522, 1521, 1469, 1379,  645, 1043,
-     1075, 1113,  653,  658,  736, 1033,  963, 1418,    0, 1143,
-     1429, 1152,  866, 1467, 1175,  672, 1449, 1440,  728,  745,
-      625, 1446, 1401,  310,  576,  687,  695, 1505, 1536, 1567,
-
-     1431, 1430, 1382, 1183, 1599, 1205,  941, 1636, 1215, 1257,
-     1390, 1297, 1327, 1337,  795,  841,  983, 1124, 1357, 1308,
-     1675,    0, 1367, 1686, 1396, 1265, 1724, 1448,  917, 3469,
-     1359, 1347,  918, 3469,  994, 3469,  805, 1309, 1300,  591,
-     1036,  503,  806, 1484,  631, 1762, 1793, 1515, 1336, 1335,
-     1521, 1152, 1545, 1166, 1825,    0,  627, 1836, 1553, 1404,
-     1873, 1577, 1587, 1618, 1655, 1104, 1215, 1697, 1705, 1741,
-     1708, 1912,    0, 1772, 1923, 1781, 1492, 1803, 1015, 1097,
-     1279, 1267, 1245,  818,  633, 1724, 1259, 1962, 1994, 2026,
-     2058, 1243, 1813, 1855, 1892, 1242, 1328, 1449, 1940, 1578,
-
-     2090,    0,  766, 2101, 1970, 1948, 2138, 1980, 2002, 1251,
-     2012, 2036, 2046, 1288, 1609, 2068,  838,  889, 2177,    0,
-      900, 1470, 3469, 1725, 3469, 1194, 2064, 1390,  629,  569,
-     1167, 1162, 2118,  563, 2187, 2219, 2251, 2283, 2081, 2155,
-     1151, 2197, 2207, 2229, 1116, 1113, 1656, 1781, 2235, 1804,
-     2315,    0,  957, 2326, 2259, 2126, 2363, 2269, 2292, 2301,
-     2344, 1846, 1105, 1021, 1042, 1025,  940,  971,  879, 2394,
-      860, 2419, 2432, 2464, 2496, 2416, 1749, 2446, 2474, 2484,
-      800,  768, 1893, 1981, 2504, 2013, 2528,    0, 1045, 2539,
-     2512, 2163, 2558,  718, 2577, 2586, 2455,  680, 3469,  594,
-
-     3469, 1080, 2594, 1163, 2626, 2658, 2605, 2611,  576, 2637,
-     2647, 2668,  547,  445, 2027,  437,  411, 2676,    0, 1078,
-     2386, 2690, 2722, 2754, 2698, 2706, 2730,  364,    0,  334,
-      308, 2738, 1195, 2786, 2818, 2768, 3469, 2774, 2798, 2806,
-     3469,  193, 3469, 2826, 2834, 2864,  126, 2872, 2856, 3469,
-     2917, 2930, 2943, 2956, 2969, 2982, 2995, 3008, 3021, 3034,
-     3039, 3052, 3065, 3067, 3080, 3093, 3106, 3119, 3132, 3145,
-     3158, 3163, 3169, 3182, 3195, 3200, 3206, 3211, 3216, 3221,
-     3227, 3232, 3237, 3242, 3248, 3255, 3260, 3265, 3270, 3276,
-     3283, 3288, 3293, 3299, 3306, 3311, 3318, 3324, 3331, 3336,
-
-     3343, 3349, 3356, 3369, 3382, 3387, 3394, 3400, 3413, 3418,
-     3425, 3430, 3437, 3442, 3455
+       80,  101, 2349, 2303, 2345, 3488, 2316,  338,  381,   52,
+     3488, 3488, 2272, 3488,  107,  391,  119,  137, 2292, 3488,
+     3488,  443, 2271,  490, 2270, 2260, 2253,  541,  145,   55,
+      167,  565, 2228, 2232, 2224, 2219, 2206, 2254,  193,  256,
+       56,    0, 3488, 2249,    0, 3488,  264,  617,   77,    0,
+     2199, 3488,   82, 3488,   99, 3488,  110, 2189,  126,  106,
+     3488,  145, 2179,  306, 2185, 2182,  639, 2145, 2144, 2135,
+     3488,  201,  209,   74, 2082,  347, 2079,  550,  276, 2078,
+      587,  410,  669, 2098, 2104,  306,  358,  317, 2092,  179,
+
+      706,    0, 2083,  240, 2075, 2071,  389, 3488,   76,  355,
+     2039, 2041, 2033, 2021, 2000,   63,  115,  219,   29,  212,
+       98, 2056,  507,  361, 1986,  598,  154,    0, 2024,  256,
+     3488, 3488,  636,  284,    0, 1982,  567, 3488, 3488, 1981,
+      532, 1979, 1994,  271,  300,  288, 1975, 1905, 3488, 1944,
+     1916, 1873,  669,  603,  745,  777,  809,  841, 1902, 1876,
+      878,  268,  916,  953, 1869, 1854, 1854, 1849, 1841, 1831,
+      236, 1805, 1788, 1746, 1748, 1719,  317,  157, 1722,  307,
+      266,  258,  777,  296, 1766, 1764,  686,  402,  992, 1024,
+      725,  337, 1727, 1726,  787,  499, 1708, 1707,  343,  755,
+
+     1056,  796,  694, 1094,  819, 1705,  393, 1681, 1673, 1671,
+     1639, 1646,  373, 1629, 1616, 1601, 1614, 1586,  543,  400,
+      556,  233,  506, 1133, 1165, 1197, 1620, 1619,  827, 1619,
+     1602, 1601, 1590,  540,  858,  546,  895,  602, 1229,    0,
+      935, 1240,  970,  731, 1278, 1002,  601, 3488, 1581, 1571,
+     1577, 1577, 1537,  486, 1532, 1515, 1470,  387,  343,  380,
+      616, 1010,  423, 1317, 1349, 1044, 1470, 1469, 1451, 1450,
+     1379,  645, 1076, 1113, 1143,  652,  983, 1035, 1151, 1042,
+     1418,    0, 1175, 1429, 1184,  866, 1467, 1207,  644, 1430,
+     1436,  648,  672,  625, 1428, 1400,  680,  576,  487,  715,
+
+     1505, 1536, 1567, 1430, 1382, 1381, 1215, 1599, 1257,  903,
+     1636, 1297, 1325, 1347, 1335, 1359, 1369,  841, 1024, 1067,
+     1124, 1396, 1308, 1675,    0, 1448, 1686, 1484, 1265, 1724,
+     1515,  955, 3488, 1329, 1282,  956, 3488,  975, 3488,  807,
+     1266, 1244,  591, 1074,  569,  917, 1523,  155, 1762, 1793,
+     1546, 1280, 1243, 1553,  768, 1576,  810, 1825,    0,  429,
+     1836, 1584, 1404, 1873, 1618, 1655, 1705, 1743, 1288, 1335,
+     1734, 1772, 1772, 1803, 1912,    0, 1805, 1923, 1781, 1492,
+     1814,  993, 1156, 1221, 1211, 1181,  730,  635, 1952, 1194,
+     1984, 2016, 2048, 2080, 1153, 1855, 1892, 1943, 1152, 1184,
+
+     1198, 1964, 1350, 2112,    0,  762, 2123, 1972, 1992, 2160,
+     2000, 2024, 1126, 2034, 2058, 2068, 1369, 1609, 1934,  772,
+      806, 2199,    0,  844, 1173, 3488, 1468, 3488, 1090, 2086,
+     1389,  142,  991, 1076, 1075, 2140, 1038, 2209, 2241, 2273,
+     2305, 2103, 2177, 1088, 2219, 2229, 2251, 1077, 1076, 1656,
+     1706, 2257, 1837, 2337,    0,  881, 2348, 2281, 2088, 2385,
+     2291, 2314, 2323, 2366, 1855,  981,  927,  934,  957,  902,
+      898,  808, 2416,  743, 2441, 2454, 2486, 2518, 2438, 1951,
+     2468, 2496, 2506,  757,  716, 1893, 2001, 2526, 2035, 2550,
+        0, 1012, 2561, 2534, 2148, 2580,  647, 2599, 2608, 2477,
+
+      634, 3488,  629, 3488, 1051, 2616, 1195, 2648, 2680, 2627,
+     2633,  594, 2659, 2669, 2690,  573,  566, 2049,  557,  549,
+     2698,    0, 1045, 1545, 2712, 2744, 2776, 2720, 2728, 2752,
+      509,    0,  455,  357, 2760, 1535, 2808, 2840, 2790, 3488,
+     2796, 2820, 2185, 3488,  345, 3488, 2828, 2848, 2858,   25,
+     2878, 2870, 3488, 2923, 2936, 2949, 2962, 2975, 2988, 3001,
+     3014, 3027, 3040, 3045, 3058, 3071, 3073, 3086, 3099, 3112,
+     3125, 3138, 3151, 3164, 3177, 3182, 3188, 3201, 3214, 3219,
+     3225, 3230, 3235, 3240, 3246, 3251, 3256, 3261, 3267, 3274,
+     3279, 3284, 3289, 3295, 3302, 3307, 3312, 3318, 3325, 3330,
+
+     3337, 3343, 3350, 3355, 3362, 3368, 3375, 3388, 3401, 3406,
+     3413, 3419, 3432, 3437, 3444, 3449, 3456, 3461, 3474
     } ;
 
-static yyconst short int yy_def[616] =
+static yyconst short int yy_def[620] =
     {   0,
-      550,    1,    1,    1,  551,  551,  552,  552,  553,  553,
-      554,  554,  550,  555,  550,  550,  550,  556,  557,  558,
-      550,  550,  559,  550,  560,  555,   26,   26,  561,  550,
-      550,  550,   32,   32,   34,   34,   34,  555,   26,  555,
-      550,  557,   32,   32,   34,   34,   34,  550,  550,  562,
-      555,  563,  550,  563,  563,  550,  550,  557,  550,  564,
-      565,  550,  565,  550,  565,  550,  566,  567,  567,  567,
-      550,  550,  555,  555,  550,  550,  556,  568,  556,  569,
-      550,  570,  550,  558,  558,  559,  559,  560,  571,  555,
-      555,   26,  561,   92,   92,   92,   92,  572,  573,   32,
-
-       34,   34,   34,   34,   34,  555,  550,  555,  550,  550,
-      550,  550,  550,  550,  569,  555,   92,  555,  555,  555,
-      550,  550,  562,  574,  555,  555,  563,  563,  550,  550,
-      550,  570,  550,  564,  565,  565,  550,  550,  565,  565,
-      567,  550,  567,  567,  550,  550,  555,  550,  569,  575,
-      550,  555,  555,  555,   92,  155,  576,  550,  577,  550,
-       32,   34,   34,   34,   34,   34,   34,  555,  550,  550,
-      550,  550,  550,  569,  555,  155,  555,  555,  555,  550,
-      555,  550,  575,  555,  555,  555,  555,  555,  555,  578,
-      579,  579,  192,  580,  579,  581,  160,  550,  198,  198,
-
-      550,  198,   34,   34,   34,   34,   34,   34,   34,  555,
-      550,  550,  550,  550,  550,  569,  555,  555,  555,  555,
-      555,  555,  555,  550,  582,  582,  226,  582,  583,  584,
-      585,  550,  586,  201,  586,  586,  236,  586,  550,  239,
-      239,  550,  239,  550,  550,   34,   34,   34,   34,   34,
-      555,  550,  550,  550,  569,  555,  555,  555,  555,  555,
-      555,  555,  555,  587,  587,  588,  589,  550,  550,  550,
-      550,  550,  590,  590,  591,  242,  591,  591,  278,  591,
-      550,  281,  281,  550,  281,   34,   34,   34,   34,   34,
-      555,  550,  550,  569,  555,  555,  555,  555,  555,  555,
-
-      550,  592,  593,  268,  550,  305,  305,  550,  305,  550,
-      550,  550,  550,  550,  550,  594,  594,  595,  284,  595,
-      595,  321,  595,  550,  324,  324,  550,  324,  550,  550,
-       34,   34,  550,  550,  550,  550,  555,  550,  550,  569,
-      555,  555,  555,  555,  555,  555,  555,  555,  550,  596,
-      550,  597,  308,  597,  597,  355,  355,  550,  358,  358,
-      550,  358,  550,  550,  550,  550,  598,  598,  599,  327,
-      599,  599,  372,  599,  550,  375,  375,  375,   34,   34,
-      555,  550,  550,  569,  555,  555,  555,  555,  555,  555,
-      555,  550,  550,  550,  550,  600,  600,  601,  361,  601,
-
-      601,  401,  401,  550,  404,  404,  550,  404,  550,  550,
-      550,  550,  550,  550,  602,  602,  603,  603,  603,  419,
-      419,  550,  550,  550,  550,  550,  550,  569,  569,  555,
-      604,  605,  555,  555,  555,  555,  555,  555,  555,  550,
-      550,  550,  550,  550,  550,  606,  606,  607,  407,  607,
-      607,  451,  451,  550,  454,  454,  550,  454,  550,  550,
-      550,  550,  608,  608,  550,  609,  569,  555,  604,  604,
-      605,  605,  555,  555,  555,  555,  555,  550,  550,  550,
-      550,  610,  610,  611,  457,  611,  611,  487,  487,  550,
-      490,  490,  490,  550,  550,  550,  550,  550,  550,  609,
-
-      550,  569,  555,  555,  555,  555,  555,  550,  550,  550,
-      550,  550,  550,  612,  612,  613,  613,  613,  518,  518,
-      569,  555,  555,  555,  550,  550,  550,  550,  614,  614,
-      615,  555,  555,  555,  555,  555,  550,  550,  550,  550,
-      550,  615,  550,  555,  555,  555,  555,  555,  555,    0,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550
+      553,    1,    1,    1,  554,  554,  555,  555,  556,  556,
+      557,  557,  553,  558,  553,  553,  553,  559,  560,  561,
+      553,  553,  562,  553,  563,  558,   26,   26,  564,  553,
+      553,  553,   32,   32,   34,   34,   34,  558,   26,  558,
+      553,  560,   32,   32,   34,   34,   34,  553,  553,  565,
+      558,  566,  553,  566,  566,  553,  553,  560,  553,  567,
+      568,  553,  568,  553,  568,  553,  569,  570,  570,  570,
+      553,  553,  558,  558,  553,  553,  559,  571,  559,  572,
+      553,  573,  553,  561,  574,  561,  562,  562,  563,  575,
+      558,  558,   26,  564,   93,   93,   93,   93,  576,  577,
+
+       32,   34,   34,   34,   34,   34,  558,  553,  558,  553,
+      553,  553,  553,  553,  553,  572,  558,   93,  558,  558,
+      558,  553,  553,  565,  578,  558,  558,  566,  566,  553,
+      553,  553,  573,  553,  567,  568,  568,  553,  553,  568,
+      568,  570,  553,  570,  570,  553,  553,  558,  553,  572,
+      579,  574,  574,  553,  558,  558,  558,   93,  158,  580,
+      553,  581,  553,   32,   34,   34,   34,   34,   34,   34,
+      558,  553,  553,  553,  553,  553,  572,  558,  158,  558,
+      558,  558,  553,  558,  553,  579,  558,  558,  558,  558,
+      558,  558,  582,  583,  583,  195,  584,  583,  585,  163,
+
+      553,  201,  201,  553,  201,   34,   34,   34,   34,   34,
+       34,   34,  558,  553,  553,  553,  553,  553,  572,  558,
+      558,  558,  558,  558,  558,  558,  553,  586,  586,  229,
+      586,  587,  588,  589,  553,  590,  204,  590,  590,  239,
+      590,  553,  242,  242,  553,  242,  553,  553,   34,   34,
+       34,   34,   34,  558,  553,  553,  553,  572,  558,  558,
+      558,  558,  558,  558,  558,  558,  591,  591,  592,  593,
+      553,  553,  553,  553,  553,  594,  594,  595,  245,  595,
+      595,  281,  595,  553,  284,  284,  553,  284,   34,   34,
+       34,   34,   34,  558,  553,  553,  572,  558,  558,  558,
+
+      558,  558,  558,  553,  596,  597,  271,  553,  308,  308,
+      553,  308,  553,  553,  553,  553,  553,  553,  598,  598,
+      599,  287,  599,  599,  324,  599,  553,  327,  327,  553,
+      327,  553,  553,   34,   34,  553,  553,  553,  553,  558,
+      553,  553,  572,  558,  558,  558,  558,  558,  558,  558,
+      558,  553,  600,  553,  601,  311,  601,  601,  358,  358,
+      553,  361,  361,  553,  361,  553,  553,  553,  553,  602,
+      602,  603,  330,  603,  603,  375,  603,  553,  378,  378,
+      378,   34,   34,  558,  553,  553,  572,  558,  558,  558,
+      558,  558,  558,  558,  553,  553,  553,  553,  604,  604,
+
+      605,  364,  605,  605,  404,  404,  553,  407,  407,  553,
+      407,  553,  553,  553,  553,  553,  553,  606,  606,  607,
+      607,  607,  422,  422,  553,  553,  553,  553,  553,  553,
+      572,  572,  558,  608,  609,  558,  558,  558,  558,  558,
+      558,  558,  553,  553,  553,  553,  553,  553,  610,  610,
+      611,  410,  611,  611,  454,  454,  553,  457,  457,  553,
+      457,  553,  553,  553,  553,  612,  612,  553,  613,  572,
+      558,  608,  608,  609,  609,  558,  558,  558,  558,  558,
+      553,  553,  553,  553,  614,  614,  615,  460,  615,  615,
+      490,  490,  553,  493,  493,  493,  553,  553,  553,  553,
+
+      553,  553,  613,  553,  572,  558,  558,  558,  558,  558,
+      553,  553,  553,  553,  553,  553,  616,  616,  617,  617,
+      617,  521,  521,  572,  558,  558,  558,  553,  553,  553,
+      553,  618,  618,  619,  558,  558,  558,  558,  558,  553,
+      553,  553,  553,  553,  619,  553,  558,  558,  558,  558,
+      558,  558,    0,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553
     } ;
 
-static yyconst short int yy_nxt[3532] =
+static yyconst short int yy_nxt[3551] =
     {   0,
        14,   15,   16,   17,   18,   19,   20,   21,   22,   14,
        23,   24,   14,   14,   25,   26,   27,   28,   26,   26,
@@ -549,392 +550,393 @@ static yyconst short int yy_nxt[3532] =
        32,   33,   34,   34,   35,   34,   36,   34,   37,   34,
        34,   34,   34,   34,   38,   14,   39,   39,   39,   39,
        39,   39,   14,   14,   14,   14,   14,   14,   14,   40,
-       14,   14,   41,   48,   48,   74,   42,   49,   49,  158,
-       15,   53,   54,   74,   55,  296,   50,   50,  160,   74,
-       56,   69,   16,   70,   71,   15,   53,   54,  177,   55,
-       43,   44,   56,   55,   45,   56,  108,  137,   46,   74,
-
-      138,   47,   69,   16,   70,   71,  143,   56,   55,  144,
-       89,  133,  107,   57,   89,   89,  126,  136,  140,  107,
-      136,   51,   51,   74,   72,  219,  133,  107,   57,   15,
-       16,   17,   89,   58,   95,   95,   95,   95,   95,   95,
-       95,   95,   74,  145,  146,   72,  141,  168,   81,  142,
-      142,   90,   96,   96,   96,   96,   96,   97,   73,   74,
-       94,   94,   94,   94,   94,   94,   94,   94,  109,   74,
-       74,  175,   59,   60,   60,   60,   60,   60,   60,   60,
+       14,   14,   41,   48,   48,   81,   42,   49,   49,   74,
+       15,   53,   54,   74,   55,   85,   50,   50,  134,  108,
+       56,   69,   16,   70,   71,   15,   53,   54,  180,   55,
+       43,   44,   56,   55,   45,   56,   86,  553,   46,   74,
+
+       74,   47,   69,   16,   70,   71,  138,   56,   55,  145,
+       90,  141,  108,   57,   90,   90,  109,  127,   86,  177,
+       74,   51,   51,  139,   72,  171,  137,  144,   57,   15,
+       16,   17,   90,   58,   96,   96,   96,   96,   96,   96,
+       96,   96,   74,  137,   81,   72,  146,  147,  182,  142,
+      143,   91,   97,   97,   97,   97,   97,   98,   73,   74,
+       95,   95,   95,   95,   95,   95,   95,   95,  110,  347,
+      143,  178,   59,   60,   60,   60,   60,   60,   60,   60,
        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
-       15,   16,   17,   74,   58,  543,  110,  111,   74,  179,
+       15,   16,   17,  161,   58,  470,  111,  112,   74,   74,
 
-      112,   74,  174,  181,  113,  122,  217,  114,   83,   83,
+      113,   74,  163,  184,  114,  123,  220,  115,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   73,   59,   60,   60,   60,   60,   60,   60,
        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
-       60,   15,   16,   17,   62,   58,   74,  133,  107,  124,
-       63,   64,   65,  124,  124,  129,  107,  130,  178,  131,
-      176,  163,  143,  130,   66,  131,  164,   74,  165,   89,
-       74,  124,  158,   89,   89,  133,  107,  131,  131,  145,
-      146,  197,  217,  210,   67,   15,   16,   17,   62,   58,
-
-      125,   89,   74,  144,   63,   64,   65,   73,  131,   73,
-      543,   73,   81,   73,   73,  142,  217,   73,   66,   81,
-       90,  156,  156,  156,  156,  156,  156,  156,  156,   73,
-       73,   73,  156,  156,  156,  156,  156,  156,   67,   78,
-       74,   78,   73,   78,  142,   78,   78,  351,   84,   78,
-       84,   74,   84,  220,   84,   84,  109,  158,   84,  340,
-       93,   78,   78,   78,  124,  216,  197,  217,  124,  124,
-       84,   84,   84,  156,  156,  156,  156,  156,  156,  156,
-      156,   74,   79,   81,  110,  111,  124,  485,  112,   81,
-      133,  107,  113,   82,  244,  114,   83,   83,   83,   83,
-
-       83,   83,   83,   83,   91,  125,   92,   92,   92,   92,
-       92,   92,   92,   92,   93,  184,  245,   74,   94,   94,
-       94,   94,   94,  251,  550,  152,  153,  154,  152,  152,
-      152,  152,  152,  136,  295,   74,  259,   94,   94,   94,
-       94,   94,   94,   73,   74,  256,   74,   73,  294,   73,
-      351,   74,   73,   73,   74,   73,   73,   73,  100,  100,
-      100,  100,  100,  100,  100,  100,   93,   74,  485,   73,
-      100,  100,  100,  100,  100,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,   74,  101,   94,
-       94,   94,   94,   94,   94,   73,   73,   73,   73,   73,
-
-       73,   73,   73,   73,   73,  101,  101,  101,  101,  101,
-      101,  101,  101,  550,  228,  228,  228,  101,  101,  101,
-      101,  101,   83,   83,   83,   83,   83,   83,   83,   83,
-      237,  237,  237,  237,  237,  238,   73,   73,   73,   73,
-       73,   73,  106,  107,   73,   81,   73,   74,   73,   73,
-       74,   86,   73,   86,  158,   86,  258,   86,   86,  232,
-      158,   86,  386,  197,   73,   73,   73,   81,  135,  234,
-      449,  135,  135,   86,   86,   86,  433,   82,  135,   93,
-       83,   83,   83,   83,   83,   83,   83,   83,   88,  508,
-       73,  135,   88,   81,   73,   73,  501,  255,   88,  123,
-
-       74,   73,  244,  123,   89,   73,   73,   74,   89,  123,
-       88,   88,   73,   74,   89,  550,  158,  257,  115,   81,
-       74,  123,  123,   73,  245,  234,   89,   89,  468,  132,
-      341,   81,  550,  550,  550,  550,  550,  550,  550,  550,
-       78,  384,   78,  147,   78,  344,   78,   78,  396,  396,
-       78,  550,  550,  550,  550,  550,  550,  550,  550,  158,
-       74,   74,   78,   78,   78,  291,  297,  158,  197,   74,
-      124,  232,  158,  329,  124,   74,  234,   74,  337,  430,
-      124,  234,  467,   79,  155,  155,  155,  155,  155,  155,
-      155,  155,  124,  124,  158,  330,  155,  155,  155,  155,
-
-      155,  221,  222,  223,  221,  221,  221,  221,  221,  279,
-      279,  279,  279,  279,  280,  155,  155,  155,  155,  155,
-      155,  161,  161,  161,  161,  161,  161,  161,  161,  333,
-       74,   74,  158,  161,  161,  161,  161,  161,  184,   74,
-      185,  185,  185,  185,  185,  185,  335,  342,  343,  232,
-      158,  334,  155,  155,  155,  155,  155,  155,  184,  276,
-      185,  185,  185,  185,  185,  185,  185,  185,  336,   74,
-      226,  226,  227,  228,  228,  228,  228,  228,  194,  202,
-      202,  202,  202,  202,  202,  202,  202,  446,  446,   74,
-      184,  449,  186,  186,  186,  186,  186,  186,  186,  186,
-
-      236,  236,  236,  236,  236,  236,  236,  236,  550,  158,
-      235,  235,  235,  235,  235,  235,  235,  235,  234,  428,
-       81,   74,  184,  399,  187,  187,  187,  187,  187,  188,
-      185,  185,  265,  265,  265,  265,  265,  265,  265,  265,
-      194,  270,  271,  272,  270,  270,  270,  270,  270,   74,
-       74,  232,  158,   74,   73,  158,  189,  189,  189,  189,
-      189,  189,  189,  189,  276,  381,  387,  429,  189,  189,
-      189,  189,  189,  243,  243,  243,  243,  243,  243,  243,
-      243,  322,  322,  322,  322,  322,  323,  189,  189,  189,
-      189,  189,  189,  191,  192,  193,  193,  193,  193,  193,
-
-      193,  194,  550,  158,  472,  195,  195,  195,  195,  195,
-      232,  158,  274,  274,  274,  274,  274,  274,  329,  333,
-      234,  463,  463,  470,  195,  195,  195,  195,  195,  195,
-      158,  198,  199,  200,  198,  198,  198,  198,  198,  201,
-      330,  334,   81,  202,  202,  202,  202,  202,  278,  278,
-      278,  278,  278,  278,  278,  278,  356,  356,  356,  356,
-      356,  357,  202,  202,  202,  202,  202,  202,  203,  203,
-      203,  203,  203,  203,  203,  203,  550,  158,  482,  482,
-      203,  203,  203,  203,  203,  550,  276,  277,  277,  277,
-      277,  277,  277,  277,  277,  335,  232,  158,  502,  189,
-
-      189,  189,  189,  189,  189,  184,  276,  185,  185,  185,
-      185,  185,  185,  185,  185,   74,  422,  336,  298,  299,
-      300,  298,  298,  298,  298,  298,  259,  501,  260,  260,
-      260,  260,  260,  260,  232,  158,   74,  184,  423,  185,
-      185,  185,  185,  185,  185,  185,  185,   74,  285,  285,
-      285,  285,  285,  285,  285,  285,  310,   74,  311,  311,
-      311,  311,  311,  311,  311,  311,  514,  514,   74,  232,
-      158,  233,  233,  233,  233,  233,  233,  233,  233,  234,
-       74,  521,   81,  235,  235,  235,  235,  235,  310,  385,
-      312,  312,  312,  312,  312,  312,  312,  312,  424,  529,
-
-      529,  499,  235,  235,  235,  235,  235,  235,  158,  239,
-      240,  241,  239,  239,  239,  239,  239,  242,  158,  158,
-      425,  243,  243,  243,  243,  243,  310,  276,  313,  313,
-      313,  313,  313,  314,  311,  311,  399,  232,  158,  353,
-      243,  243,  243,  243,  243,  243,  259,  319,  260,  260,
-      260,  260,  260,  260,  260,  260,  232,  158,  317,  317,
-      317,  317,  317,  317,  440,  351,  276,  321,  321,  321,
-      321,  321,  321,  321,  321,  353,  503,   74,  259,  550,
-      261,  261,  261,  261,  261,  261,  261,  261,  550,  353,
-      320,  320,  320,  320,  320,  320,  320,  320,  309,  309,
-
-      309,  309,  309,  309,  309,  309,  472,   74,  532,   74,
-      259,  470,  262,  262,  262,  262,  262,  263,  260,  260,
-      355,  355,  355,  355,  355,  355,  355,  355,  550,  158,
-      354,  354,  354,  354,  354,  354,  354,  354,  319,   74,
-      465,   74,  232,  158,  274,  274,  274,  274,  274,  274,
-      274,  274,  234,  232,  158,  275,  275,  275,  275,  275,
-      275,  275,  275,  276,  409,  353,  304,  277,  277,  277,
-      277,  277,  363,  364,  365,  363,  363,  363,  363,  363,
-      373,  373,  373,  373,  373,  374,  277,  277,  277,  277,
-      277,  277,  158,  281,  282,  283,  281,  281,  281,  281,
-
-      281,  284,  158,   74,  427,  285,  285,  285,  285,  285,
-      310,  319,  311,  311,  311,  311,  311,  311,  311,  311,
-      426,  550,  158,   74,  285,  285,  285,  285,  285,  285,
-      259,  319,  260,  260,  260,  260,  260,  260,  260,  260,
-      310,  351,  311,  311,  311,  311,  311,  311,  311,  311,
-      310,  353,  311,  311,  311,  311,  311,  311,  304,  230,
-      383,   74,  259,  382,  260,  260,  260,  260,  260,  260,
-      260,  260,  328,  328,  328,  328,  328,  328,  328,  328,
-      232,  158,  368,  368,  368,  368,  368,  368,  380,  379,
-      319,  428,   81,   74,  305,  306,  307,  305,  305,  305,
-
-      305,  305,  308,  310,  466,  304,  309,  309,  309,  309,
-      309,  372,  372,  372,  372,  372,  372,  372,  372,  402,
-      402,  402,  402,  402,  403,  309,  309,  309,  309,  309,
-      309,  232,  158,  317,  317,  317,  317,  317,  317,  317,
-      317,  276,  232,  158,  318,  318,  318,  318,  318,  318,
-      318,  318,  319,  230,  194,  339,  320,  320,  320,  320,
-      320,  550,  351,  371,  371,  371,  371,  371,  371,  371,
-      371,  422,  399,  338,  332,  320,  320,  320,  320,  320,
-      320,  158,  324,  325,  326,  324,  324,  324,  324,  324,
-      327,  331,  304,  423,  328,  328,  328,  328,  328,  388,
-
-      389,  390,  391,  388,  388,  388,  388,  420,  420,  420,
-      420,  420,  421,  328,  328,  328,  328,  328,  328,  344,
-      345,  345,  345,  345,  345,  345,  345,  345,   74,  344,
-      345,  345,  345,  345,  345,  345,  393,  394,  395,  393,
-      393,  393,  393,  393,  230,  194,  194,  252,  293,   74,
-      344,  346,  346,  346,  346,  346,  346,  346,  346,   74,
-      362,  362,  362,  362,  362,  362,  362,  362,  401,  401,
-      401,  401,  401,  401,  401,  401,  292,  290,  289,  288,
-       74,  344,  347,  347,  347,  347,  347,  348,  345,  345,
-      550,  550,  400,  400,  400,  400,  400,  400,  400,  400,
-
-      409,  399,  410,  410,  410,  410,  410,  410,  410,  410,
-      287,   74,  351,  286,  352,  352,  352,  352,  352,  352,
-      352,  352,  353,  158,  268,  230,  354,  354,  354,  354,
-      354,  409,  370,  411,  411,  411,  411,  411,  411,  411,
-      411,  194,  264,  194,   99,  354,  354,  354,  354,  354,
-      354,  358,  359,  360,  358,  358,  358,  358,  358,  361,
-      252,  254,  252,  362,  362,  362,  362,  362,  409,  351,
-      412,  412,  412,  412,  412,  413,  410,  410,  253,  399,
-      252,  250,  362,  362,  362,  362,  362,  362,  232,  158,
-      368,  368,  368,  368,  368,  368,  368,  368,  319,  232,
-
-      158,  369,  369,  369,  369,  369,  369,  369,  369,  370,
-      232,  158,  249,  371,  371,  371,  371,  371,  232,  158,
-      319,  550,  158,  248,  247,  246,  424,  431,  370,   93,
-      194,  370,  371,  371,  371,  371,  371,  371,  158,  375,
-      376,  377,  375,  375,  375,  375,  375,  431,  425,  431,
-      432,  378,  378,  378,  378,  378,  378,  378,  378,  378,
-      378,  378,  378,  378,  477,  477,  477,  230,   74,  194,
-      378,  378,  378,  378,  378,  378,  344,  345,  345,  345,
-      345,  345,  345,  345,  345,  232,  158,  416,  416,  416,
-      416,  416,  416,   74,  351,  370,  419,  419,  419,  419,
-
-      419,  419,  419,  419,  449,   99,   74,  344,  345,  345,
-      345,  345,  345,  345,  345,  345,  550,  550,  418,  418,
-      418,  418,  418,  418,  418,  418,  440,  449,  441,  441,
-      441,  441,  441,  441,  441,  441,   81,   74,  351,  182,
-      397,  397,  397,  397,  397,  397,  397,  397,  353,  351,
-      218,  398,  398,  398,  398,  398,  398,  398,  398,  399,
-      158,  215,  214,  400,  400,  400,  400,  400,  440,  370,
-      442,  442,  442,  442,  442,  442,  442,  442,  213,  212,
-      211,  209,  400,  400,  400,  400,  400,  400,  404,  405,
-      406,  404,  404,  404,  404,  404,  407,  208,  207,  206,
-
-      408,  408,  408,  408,  408,  440,  351,  443,  443,  443,
-      443,  443,  444,  441,  441,  205,  449,  204,   99,  408,
-      408,  408,  408,  408,  408,  232,  158,  416,  416,  416,
-      416,  416,  416,  416,  416,  370,  232,  158,  417,  417,
-      417,  417,  417,  417,  417,  417,   91,   81,   81,   74,
-      418,  418,  418,  418,  418,  408,  408,  408,  408,  408,
-      408,  408,  408,  452,  452,  452,  452,  452,  453,  418,
-      418,  418,  418,  418,  418,  433,  182,  434,  434,  434,
-      434,  434,  434,  434,  434,  451,  451,  451,  451,  451,
-      451,  451,  451,  550,  351,  450,  450,  450,  450,  450,
-
-      450,  450,  450,  141,  485,  142,   74,  433,  136,  435,
-      435,  435,  435,  435,  435,  435,  435,  459,  460,  461,
-      459,  459,  459,  459,  459,  409,  550,  410,  410,  410,
-      410,  410,  410,  410,  410,  136,  485,  128,   74,  433,
-      351,  436,  436,  436,  436,  436,  437,  438,  438,  409,
-      485,  410,  410,  410,  410,  410,  410,  410,  410,  409,
-      180,  410,  410,  410,  410,  410,  410,  431,  121,  173,
-       74,  433,  172,  439,  439,  439,  434,  434,  434,  434,
-      434,  232,  158,  171,  170,  169,  167,  431,  166,  431,
-      431,  370,  162,   99,  433,   73,  477,  477,  477,   99,
-
-      151,   87,   74,  351,   85,  447,  447,  447,  447,  447,
-      447,  447,  447,  399,  351,   81,  448,  448,  448,  448,
-      448,  448,  448,  448,  449,   74,  147,  148,  450,  450,
-      450,  450,  450,  473,  474,  475,  473,  473,  473,  473,
-      473,  488,  488,  488,  488,  488,  489,  450,  450,  450,
-      450,  450,  450,  454,  455,  456,  454,  454,  454,  454,
-      454,  457,   74,   76,   75,  458,  458,  458,  458,  458,
-      478,  479,  480,  478,  478,  478,  478,  478,  519,  519,
-      519,  519,  519,  520,  458,  458,  458,  458,  458,  458,
-      232,  158,  464,  464,  464,  464,  464,  464,  464,  464,
-
-      433,   74,  438,  438,  438,  438,  438,  438,  438,  438,
-      440,  142,  441,  441,  441,  441,  441,  441,  441,  441,
-      440,  136,  441,  441,  441,  441,  441,  441,  441,  441,
-      128,   74,  433,  121,  438,  438,  438,  438,  438,  438,
-      438,  438,  440,  120,  441,  441,  441,  441,  441,  441,
-      458,  458,  458,  458,  458,  458,  458,  458,  119,  118,
-      117,  116,  105,   74,  433,  104,  438,  438,  438,  438,
-      438,  438,  476,  476,  487,  487,  487,  487,  487,  487,
-      487,  487,  550,  103,  486,  486,  486,  486,  486,  486,
-      486,  486,  102,   99,   87,   74,  433,   85,  476,  476,
-
-      476,  476,  476,  476,  476,  476,  158,  494,  494,  494,
-      494,  494,  494,  494,  494,  158,  495,  495,  495,  495,
-      495,  495,  495,  495,   76,   75,   74,   74,  351,  550,
-      483,  483,  483,  483,  483,  483,  483,  483,  449,  351,
-      550,  484,  484,  484,  484,  484,  484,  484,  484,  485,
-      550,  550,  550,  486,  486,  486,  486,  486,  158,  496,
-      496,  496,  496,  496,  497,  494,  494,  550,  550,  550,
-      550,  550,  486,  486,  486,  486,  486,  486,  490,  491,
-      492,  490,  490,  490,  490,  490,  550,  521,   81,  550,
-      493,  493,  493,  493,  493,  469,  550,  469,  550,  469,
-
-      531,  469,  469,  550,  550,  469,  550,  550,  550,  493,
-      493,  493,  493,  493,  493,  550,  550,  469,  469,  469,
-      471,  550,  471,  550,  471,  550,  471,  471,  550,  550,
-      471,  476,  476,  476,  476,  476,  476,  476,  476,  550,
-      550,  550,  471,  471,  471,  503,  550,  504,  504,  504,
-      504,  504,  504,  504,  504,  550,  550,  550,  550,  508,
-       74,  509,  509,  509,  509,  509,  509,  509,  509,  158,
-      494,  494,  494,  494,  494,  494,   74,  503,  550,  505,
-      505,  505,  505,  505,  505,  505,  505,  508,  550,  510,
-      510,  510,  510,  510,  510,  510,  510,  508,  550,  511,
-
-      511,  511,  511,  511,  512,  509,  509,  550,   74,  503,
-      550,  506,  506,  506,  506,  506,  507,  504,  504,  493,
-      493,  493,  493,  493,  493,  493,  493,  518,  518,  518,
-      518,  518,  518,  518,  518,  550,  550,  550,  550,  550,
-       74,  351,  550,  515,  515,  515,  515,  515,  515,  515,
-      515,  485,  351,  550,  516,  516,  516,  516,  516,  516,
-      516,  516,  550,  550,  550,  550,  517,  517,  517,  517,
-      517,  550,  550,  517,  517,  517,  517,  517,  517,  517,
-      517,  550,  550,  550,  550,  517,  517,  517,  517,  517,
-      517,  158,  494,  494,  494,  494,  494,  494,  494,  494,
-
-      158,  494,  494,  494,  494,  494,  494,  494,  494,  522,
-      523,  524,  522,  522,  522,  522,  522,  550,  503,  550,
-      504,  504,  504,  504,  504,  504,  525,  526,  527,  525,
-      525,  525,  525,  525,  550,  550,  550,  550,   74,  503,
-      550,  504,  504,  504,  504,  504,  504,  504,  504,   74,
-      508,  550,  509,  509,  509,  509,  509,  509,  509,  509,
-      508,  550,  509,  509,  509,  509,  509,  509,  509,  509,
-       74,  503,  550,  504,  504,  504,  504,  504,  504,  504,
-      504,  508,  550,  509,  509,  509,  509,  509,  509,  351,
-      550,  530,  530,  530,  530,  530,  530,  530,  530,  550,
-
-      550,  550,   74,  532,  550,  533,  533,  533,  533,  533,
-      533,  533,  533,  537,  537,  537,  537,  537,  537,  537,
-      537,  538,  538,  538,  538,  538,  538,  538,  538,  550,
-      550,  550,  550,  550,   74,  532,  550,  534,  534,  534,
-      534,  534,  534,  534,  534,  539,  539,  539,  539,  539,
-      540,  537,  537,  544,  545,  546,  544,  544,  544,  544,
-      544,  550,  550,  550,  550,  550,   74,  532,  550,  535,
-      535,  535,  535,  535,  536,  533,  533,  550,  550,  550,
-      550,  532,   74,  533,  533,  533,  533,  533,  533,  537,
-      537,  537,  537,  537,  537,  537,  537,  550,   74,  532,
-
-      550,  533,  533,  533,  533,  533,  533,  533,  533,  550,
-      550,  550,   74,  537,  537,  537,  537,  537,  537,  537,
-      537,  537,  537,  537,  537,  537,  537,  550,  550,  550,
-       74,  532,  550,  533,  533,  533,  533,  533,  533,  533,
-      533,  547,  547,  547,  547,  547,  547,  547,  547,  544,
-      544,  544,  544,  544,  544,  544,  544,  550,  550,  550,
-      550,  550,   74,  550,  550,  550,  550,  550,  550,  550,
-       74,  547,  547,  547,  547,  547,  547,  550,   74,  548,
-      548,  548,  548,  548,  549,  547,  547,  547,  547,  547,
-      547,  547,  547,  547,  547,  550,  550,  550,  550,  550,
-
-       74,  550,  550,  550,  550,  550,  550,  550,   74,  550,
-      550,  550,  550,  550,  550,  550,   74,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
-       31,   31,   31,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   73,
-      550,  550,  550,   73,  550,   73,   73,   73,  550,   73,
-       73,   73,   77,   77,  550,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   80,   80,   80,   80,   80,
-
-       80,   80,   80,   80,   80,   80,   80,   80,   84,  550,
-      550,  550,   84,  550,   84,   84,   84,  550,   84,   84,
-       84,   86,  550,  550,  550,   86,  550,   86,   86,   86,
-      550,   86,   86,   86,   88,  550,  550,   88,   88,  550,
-       88,   88,   88,  550,   88,   88,   88,   98,   98,  550,
-      550,   98,  123,  550,  550,  123,  123,  550,  123,  123,
-      123,  550,  123,  123,  123,  127,  550,  550,  127,  127,
-      127,  127,  127,  127,  550,  550,  127,  127,  134,  134,
-      135,  550,  550,  135,  550,  550,  135,  135,  135,  135,
-      135,  135,  135,  139,  139,  139,  139,  139,  139,  139,
-
-      139,  139,  139,  139,  139,  139,  141,  141,  550,  141,
-      550,  141,  141,  141,  141,  141,  141,  141,  141,   78,
-       78,  550,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,  149,  149,  149,  149,  149,  149,  149,  149,
-      149,  149,  149,  149,  149,  150,  150,  550,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,   89,  550,
-      550,   89,   89,  550,   89,   89,   89,  550,   89,   89,
-       89,  157,  157,  550,  550,  157,  159,  159,  159,  550,
-      550,  159,  124,  550,  550,  124,  124,  550,  124,  124,
-      124,  550,  124,  124,  124,  183,  183,  183,  183,  183,
-
-      183,  183,  183,  183,  183,  183,  183,  183,  190,  190,
-      550,  550,  190,  196,  196,  196,  550,  550,  196,  224,
-      224,  550,  550,  224,  225,  225,  550,  550,  225,  229,
-      229,  550,  550,  229,  231,  231,  231,  550,  550,  231,
-      264,  264,  550,  550,  264,  266,  266,  550,  550,  266,
-      267,  267,  550,  550,  267,  269,  269,  269,  550,  550,
-      269,  273,  273,  273,  273,  550,  550,  273,  301,  301,
-      550,  550,  301,  302,  302,  550,  550,  302,  303,  303,
-      550,  550,  303,  315,  315,  315,  550,  550,  315,  316,
-      316,  316,  316,  550,  550,  316,  349,  349,  550,  550,
-
-      349,  350,  350,  550,  550,  350,  366,  366,  366,  550,
-      550,  366,  367,  367,  367,  367,  550,  550,  367,  392,
-      392,  550,  550,  392,  396,  550,  396,  396,  550,  550,
-      396,  414,  414,  414,  550,  550,  414,  415,  415,  415,
-      415,  550,  550,  415,  445,  445,  550,  550,  445,  446,
-      550,  446,  446,  550,  550,  446,  462,  462,  462,  550,
-      550,  462,  463,  463,  463,  550,  550,  550,  463,  469,
-      550,  550,  550,  469,  550,  469,  469,  469,  550,  469,
-      469,  469,  471,  550,  550,  550,  471,  550,  471,  471,
-      471,  550,  471,  471,  471,  481,  481,  550,  550,  481,
-
-      482,  550,  482,  482,  550,  550,  482,  498,  498,  550,
-      550,  550,  498,  500,  500,  500,  500,  500,  500,  500,
-      500,  500,  500,  500,  500,  500,  513,  513,  550,  550,
-      513,  514,  550,  514,  514,  550,  550,  514,  528,  528,
-      550,  550,  528,  529,  550,  529,  550,  550,  550,  529,
-      541,  550,  550,  550,  541,  542,  542,  542,  542,  542,
-      542,  542,  542,  542,  542,  542,  542,  542,   13,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550
+       60,   15,   16,   17,   62,   58,   74,  134,  108,  125,
+       63,   64,   65,  125,  125,  130,  108,  131,  181,  132,
+      179,  166,  144,  131,   66,  132,  167,   74,  168,   90,
+       74,  125,  161,   90,   90,  134,  108,  132,  132,  146,
+      147,  200,  220,  213,   67,   15,   16,   17,   62,   58,
+
+      126,   90,   74,  145,   63,   64,   65,   73,  132,   73,
+       74,   73,  222,   73,   73,  143,  220,   73,   66,   81,
+       91,  159,  159,  159,  159,  159,  159,  159,  159,   73,
+       73,   73,  159,  159,  159,  159,  159,  159,   67,   78,
+       74,   78,   73,   78,  143,   78,   78,  546,   84,   78,
+       84,   74,   84,  223,   84,   84,  110,  161,   84,  546,
+       94,   78,   78,   78,  125,  219,  200,  220,  125,  125,
+      298,   84,   84,  159,  159,  159,  159,  159,  159,  159,
+      159,   74,   79,   81,  111,  112,  125,   74,  113,   81,
+      134,  108,  114,   82,  247,  115,   83,   83,   83,   83,
+
+       83,   83,   83,   83,   92,  126,   93,   93,   93,   93,
+       93,   93,   93,   93,   94,  187,  248,   74,   95,   95,
+       95,   95,   95,  254,   74,  155,  156,  157,  155,  155,
+      155,  155,  155,   74,  299,   74,  262,   95,   95,   95,
+       95,   95,   95,   73,   74,  259,   74,   73,  297,   73,
+      399,  399,   73,   73,   74,   73,   73,   73,  101,  101,
+      101,  101,  101,  101,  101,  101,   94,   74,  354,   73,
+      101,  101,  101,  101,  101,  102,  102,  102,  102,  102,
+      102,  102,  102,  102,  102,  102,  102,   74,  102,   95,
+       95,   95,   95,   95,   95,   73,   73,   73,   73,   73,
+
+       73,   73,   73,   73,   73,  102,  102,  102,  102,  102,
+      102,  102,  102,  553,  231,  231,  231,  102,  102,  102,
+      102,  102,   83,   83,   83,   83,   83,   83,   83,   83,
+       74,   74,  488,  134,  108,  294,   73,   73,   73,   73,
+       73,   73,  107,  108,   73,   81,   73,  345,   73,   73,
+       74,   87,   73,   87,  161,   87,  261,   87,   87,  235,
+      161,   87,  553,  200,   73,   73,   73,   81,  136,  237,
+      354,  136,  136,   87,   87,   87,  137,   82,  136,   94,
+       83,   83,   83,   83,   83,   83,   83,   83,   89,  488,
+       73,  136,   89,   81,   73,   73,  452,  258,   89,  124,
+
+       74,   73,  247,  124,   90,   73,   73,  511,   90,  124,
+       89,   89,   73,   74,   90,  553,  161,  260,  116,   81,
+       74,  124,  124,   73,  248,  237,   90,   90,  389,  133,
+      344,  504,  553,  553,  553,  553,  553,  553,  553,  553,
+       78,  387,   78,  148,   78,  332,   78,   78,  161,  336,
+       78,  553,  553,  553,  553,  553,  553,  553,  553,  161,
+       74,  161,   78,   78,   78,  300,  161,  333,  200,   74,
+      152,  337,  152,  338,  152,  237,  152,  152,  340,   74,
+      152,  433,   81,   79,  158,  158,  158,  158,  158,  158,
+      158,  158,  152,  152,  152,  339,  158,  158,  158,  158,
+
+      158,  224,  225,  226,  224,  224,  224,  224,  224,  240,
+      240,  240,  240,  240,  241,  158,  158,  158,  158,  158,
+      158,  164,  164,  164,  164,  164,  164,  164,  164,  343,
+       74,  431,   81,  164,  164,  164,  164,  164,  187,  452,
+      188,  188,  188,  188,  188,  188,  282,  282,  282,  282,
+      282,  283,  158,  158,  158,  158,  158,  158,  187,   74,
+      188,  188,  188,  188,  188,  188,  188,  188,  346,   74,
+      205,  205,  205,  205,  205,  205,  205,  205,  125,  432,
+      402,  354,  125,  449,  449,  235,  161,  475,  125,   74,
+      187,  356,  189,  189,  189,  189,  189,  189,  189,  189,
+
+      125,  125,  229,  229,  230,  231,  231,  231,  231,  231,
+      197,  239,  239,  239,  239,  239,  239,  239,  239,  553,
+      161,   74,  187,  553,  190,  190,  190,  190,  190,  191,
+      188,  188,  553,  356,  238,  238,  238,  238,  238,  238,
+      238,  238,  268,  268,  268,  268,  268,  268,  268,  268,
+      197,   74,  473,   74,   73,  161,  192,  192,  192,  192,
+      192,  192,  192,  192,  237,  466,  466,  384,  192,  192,
+      192,  192,  192,  273,  274,  275,  273,  273,  273,  273,
+      273,  325,  325,  325,  325,  325,  326,  192,  192,  192,
+      192,  192,  192,  194,  195,  196,  196,  196,  196,  196,
+
+      196,  197,  485,  485,   81,  198,  198,  198,  198,  198,
+      246,  246,  246,  246,  246,  246,  246,  246,  359,  359,
+      359,  359,  359,  360,  198,  198,  198,  198,  198,  198,
+      161,  201,  202,  203,  201,  201,  201,  201,  201,  204,
+      235,  161,   74,  205,  205,  205,  205,  205,  235,  161,
+      277,  277,  277,  277,  277,  277,  332,  336,  237,  504,
+      505,   74,  205,  205,  205,  205,  205,  205,  206,  206,
+      206,  206,  206,  206,  206,  206,  338,  390,  333,  337,
+      206,  206,  206,  206,  206,  281,  281,  281,  281,  281,
+      281,  281,  281,  502,  425,  161,  235,  161,  339,  192,
+
+      192,  192,  192,  192,  192,  187,  237,  188,  188,  188,
+      188,  188,  188,  188,  188,  553,  426,  280,  280,  280,
+      280,  280,  280,  280,  280,  301,  302,  303,  301,  301,
+      301,  301,  301,  517,  517,   74,   74,  187,  161,  188,
+      188,  188,  188,  188,  188,  188,  188,  279,  235,  161,
+      471,  436,  524,   81,   74,  553,  161,  262,  279,  263,
+      263,  263,  263,  263,  263,  279,  532,  532,   74,  235,
+      161,  236,  236,  236,  236,  236,  236,  236,  236,  237,
+      235,  161,   74,  238,  238,  238,  238,  238,   74,  313,
+      279,  314,  314,  314,  314,  314,  314,  314,  314,  402,
+
+      356,  443,  238,  238,  238,  238,  238,  238,  161,  242,
+      243,  244,  242,  242,  242,  242,  242,  245,   74,  475,
+      473,  246,  246,  246,  246,  246,  313,  388,  315,  315,
+      315,  315,  315,  315,  315,  315,  468,  235,  161,  412,
+      246,  246,  246,  246,  246,  246,  262,  322,  263,  263,
+      263,  263,  263,  263,  263,  263,  313,  427,  316,  316,
+      316,  316,  316,  317,  314,  314,  288,  288,  288,  288,
+      288,  288,  288,  288,  425,  356,  307,   74,  262,  428,
+      264,  264,  264,  264,  264,  264,  264,  264,  235,  161,
+      320,  320,  320,  320,  320,  320,  426,  354,  279,  324,
+
+      324,  324,  324,  324,  324,  324,  324,  356,  506,   74,
+      262,  354,  265,  265,  265,  265,  265,  266,  263,  263,
+      553,  402,  323,  323,  323,  323,  323,  323,  323,  323,
+      312,  312,  312,  312,  312,  312,  312,  312,   74,   74,
+      430,   74,  235,  161,  277,  277,  277,  277,  277,  277,
+      277,  277,  237,  235,  161,  278,  278,  278,  278,  278,
+      278,  278,  278,  279,  429,   74,  307,  280,  280,  280,
+      280,  280,  358,  358,  358,  358,  358,  358,  358,  358,
+      376,  376,  376,  376,  376,  377,  280,  280,  280,  280,
+      280,  280,  161,  284,  285,  286,  284,  284,  284,  284,
+
+      284,  287,  161,  233,  386,  288,  288,  288,  288,  288,
+      553,  279,  357,  357,  357,  357,  357,  357,  357,  357,
+      385,  553,  161,  383,  288,  288,  288,  288,  288,  288,
+      262,  322,  263,  263,  263,  263,  263,  263,  263,  263,
+      366,  367,  368,  366,  366,  366,  366,  366,  313,  161,
+      314,  314,  314,  314,  314,  314,  314,  314,  322,  382,
+      313,   74,  262,  553,  263,  263,  263,  263,  263,  263,
+      263,  263,  313,  402,  314,  314,  314,  314,  314,  314,
+      314,  314,  313,  161,  314,  314,  314,  314,  314,  314,
+      431,   81,  322,   74,  308,  309,  310,  308,  308,  308,
+
+      308,  308,  311,  469,  307,  233,  312,  312,  312,  312,
+      312,  331,  331,  331,  331,  331,  331,  331,  331,  405,
+      405,  405,  405,  405,  406,  312,  312,  312,  312,  312,
+      312,  235,  161,  320,  320,  320,  320,  320,  320,  320,
+      320,  279,  235,  161,  321,  321,  321,  321,  321,  321,
+      321,  321,  322,  197,  342,  341,  323,  323,  323,  323,
+      323,  235,  161,  371,  371,  371,  371,  371,  371,  427,
+      335,  322,  334,  307,  233,  323,  323,  323,  323,  323,
+      323,  161,  327,  328,  329,  327,  327,  327,  327,  327,
+      330,  428,  197,  197,  331,  331,  331,  331,  331,  375,
+
+      375,  375,  375,  375,  375,  375,  375,  423,  423,  423,
+      423,  423,  424,  331,  331,  331,  331,  331,  331,  347,
+      348,  348,  348,  348,  348,  348,  348,  348,  553,  255,
+      374,  374,  374,  374,  374,  374,  374,  374,  391,  392,
+      393,  394,  391,  391,  391,  391,  524,   81,  535,   74,
+      347,  349,  349,  349,  349,  349,  349,  349,  349,  534,
+      347,  348,  348,  348,  348,  348,  348,   74,  396,  397,
+      398,  396,  396,  396,  396,  396,  296,  295,  293,   74,
+       74,  347,  350,  350,  350,  350,  350,  351,  348,  348,
+       74,  365,  365,  365,  365,  365,  365,  365,  365,  404,
+
+      404,  404,  404,  404,  404,  404,  404,  292,  291,  290,
+      289,   74,  354,  271,  355,  355,  355,  355,  355,  355,
+      355,  355,  356,  161,  233,  197,  357,  357,  357,  357,
+      357,  553,  373,  403,  403,  403,  403,  403,  403,  403,
+      403,  267,  197,  100,  255,  357,  357,  357,  357,  357,
+      357,  361,  362,  363,  361,  361,  361,  361,  361,  364,
+      257,  255,  256,  365,  365,  365,  365,  365,  412,  354,
+      413,  413,  413,  413,  413,  413,  413,  413,  255,  402,
+      253,  252,  365,  365,  365,  365,  365,  365,  235,  161,
+      371,  371,  371,  371,  371,  371,  371,  371,  322,  235,
+
+      161,  372,  372,  372,  372,  372,  372,  372,  372,  373,
+      251,  250,  249,  374,  374,  374,  374,  374,  412,  354,
+      414,  414,  414,  414,  414,  414,  414,  414,   94,  452,
+      197,  233,  374,  374,  374,  374,  374,  374,  161,  378,
+      379,  380,  378,  378,  378,  378,  378,  235,  161,  197,
+      100,  381,  381,  381,  381,  381,  412,  322,  415,  415,
+      415,  415,  415,  416,  413,  413,   81,  185,  221,  218,
+      381,  381,  381,  381,  381,  381,  347,  348,  348,  348,
+      348,  348,  348,  348,  348,  235,  161,  381,  381,  381,
+      381,  381,  381,  381,  381,  373,  422,  422,  422,  422,
+
+      422,  422,  422,  422,  217,  216,   74,  347,  348,  348,
+      348,  348,  348,  348,  348,  348,  553,  161,  235,  161,
+      419,  419,  419,  419,  419,  419,  373,  553,  373,  421,
+      421,  421,  421,  421,  421,  421,  421,   74,  354,  215,
+      400,  400,  400,  400,  400,  400,  400,  400,  356,  354,
+      553,  401,  401,  401,  401,  401,  401,  401,  401,  402,
+      452,  214,  212,  403,  403,  403,  403,  403,  443,  161,
+      444,  444,  444,  444,  444,  444,  444,  444,  373,  211,
+      210,  209,  403,  403,  403,  403,  403,  403,  407,  408,
+      409,  407,  407,  407,  407,  407,  410,  208,  207,  100,
+
+      411,  411,  411,  411,  411,  443,  354,  445,  445,  445,
+      445,  445,  445,  445,  445,   92,  452,  153,   81,  411,
+      411,  411,  411,  411,  411,  235,  161,  419,  419,  419,
+      419,  419,  419,  419,  419,  373,  235,  161,  420,  420,
+      420,  420,  420,  420,  420,  420,   81,  235,  161,   74,
+      421,  421,  421,  421,  421,  434,  443,  373,  446,  446,
+      446,  446,  446,  447,  444,  444,  480,  480,  480,  421,
+      421,  421,  421,  421,  421,  434,  185,  434,  435,  411,
+      411,  411,  411,  411,  411,  411,  411,  454,  454,  454,
+      454,  454,  454,  454,  454,   74,   74,  436,  142,  437,
+
+      437,  437,  437,  437,  437,  437,  437,  455,  455,  455,
+      455,  455,  456,  553,  354,  453,  453,  453,  453,  453,
+      453,  453,  453,  143,  488,  137,  137,  129,   74,  436,
+      183,  438,  438,  438,  438,  438,  438,  438,  438,  462,
+      463,  464,  462,  462,  462,  462,  462,  412,  553,  413,
+      413,  413,  413,  413,  413,  413,  413,  122,  488,  176,
+       74,  436,  354,  439,  439,  439,  439,  439,  440,  441,
+      441,  412,  488,  413,  413,  413,  413,  413,  413,  413,
+      413,  412,  175,  413,  413,  413,  413,  413,  413,  434,
+      174,  173,   74,  436,  172,  442,  442,  442,  437,  437,
+
+      437,  437,  437,  491,  491,  491,  491,  491,  492,  434,
+      170,  434,  434,  169,  165,  100,  436,   73,  480,  480,
+      480,  100,  154,   88,   74,  354,  153,  450,  450,  450,
+      450,  450,  450,  450,  450,  402,  354,   81,  451,  451,
+      451,  451,  451,  451,  451,  451,  452,   74,  148,  149,
+      453,  453,  453,  453,  453,  476,  477,  478,  476,  476,
+      476,  476,  476,  522,  522,  522,  522,  522,  523,  453,
+      453,  453,  453,  453,  453,  457,  458,  459,  457,  457,
+      457,  457,  457,  460,   74,   76,   75,  461,  461,  461,
+      461,  461,  481,  482,  483,  481,  481,  481,  481,  481,
+
+      540,  540,  540,  540,  540,  540,  461,  461,  461,  461,
+      461,  461,  235,  161,  467,  467,  467,  467,  467,  467,
+      467,  467,  436,   74,  441,  441,  441,  441,  441,  441,
+      441,  441,  443,  143,  444,  444,  444,  444,  444,  444,
+      444,  444,  443,  137,  444,  444,  444,  444,  444,  444,
+      444,  444,  129,   74,  436,  122,  441,  441,  441,  441,
+      441,  441,  441,  441,  443,  121,  444,  444,  444,  444,
+      444,  444,  461,  461,  461,  461,  461,  461,  461,  461,
+      120,  119,  118,  117,  106,   74,  436,  105,  441,  441,
+      441,  441,  441,  441,  479,  479,  490,  490,  490,  490,
+
+      490,  490,  490,  490,  553,  104,  489,  489,  489,  489,
+      489,  489,  489,  489,  103,  100,   88,   74,  436,   76,
+      479,  479,  479,  479,  479,  479,  479,  479,  161,  497,
+      497,  497,  497,  497,  497,  497,  497,  161,  498,  498,
+      498,  498,  498,  498,  498,  498,   75,   74,  553,   74,
+      354,  553,  486,  486,  486,  486,  486,  486,  486,  486,
+      452,  354,  553,  487,  487,  487,  487,  487,  487,  487,
+      487,  488,  553,  553,  553,  489,  489,  489,  489,  489,
+      161,  499,  499,  499,  499,  499,  500,  497,  497,  553,
+      553,  553,  553,  553,  489,  489,  489,  489,  489,  489,
+
+      493,  494,  495,  493,  493,  493,  493,  493,  553,  553,
+      553,  553,  496,  496,  496,  496,  496,  472,  553,  472,
+      553,  472,  553,  472,  472,  553,  553,  472,  553,  553,
+      553,  496,  496,  496,  496,  496,  496,  553,  553,  472,
+      472,  472,  474,  553,  474,  553,  474,  553,  474,  474,
+      553,  553,  474,  479,  479,  479,  479,  479,  479,  479,
+      479,  553,  553,  553,  474,  474,  474,  506,  553,  507,
+      507,  507,  507,  507,  507,  507,  507,  553,  553,  553,
+      553,  511,   74,  512,  512,  512,  512,  512,  512,  512,
+      512,  161,  497,  497,  497,  497,  497,  497,   74,  506,
+
+      553,  508,  508,  508,  508,  508,  508,  508,  508,  511,
+      553,  513,  513,  513,  513,  513,  513,  513,  513,  511,
+      553,  514,  514,  514,  514,  514,  515,  512,  512,  553,
+       74,  506,  553,  509,  509,  509,  509,  509,  510,  507,
+      507,  496,  496,  496,  496,  496,  496,  496,  496,  521,
+      521,  521,  521,  521,  521,  521,  521,  553,  553,  553,
+      553,  553,   74,  354,  553,  518,  518,  518,  518,  518,
+      518,  518,  518,  488,  354,  553,  519,  519,  519,  519,
+      519,  519,  519,  519,  553,  553,  553,  553,  520,  520,
+      520,  520,  520,  553,  553,  520,  520,  520,  520,  520,
+
+      520,  520,  520,  553,  553,  553,  553,  520,  520,  520,
+      520,  520,  520,  161,  497,  497,  497,  497,  497,  497,
+      497,  497,  161,  497,  497,  497,  497,  497,  497,  497,
+      497,  525,  526,  527,  525,  525,  525,  525,  525,  553,
+      506,  553,  507,  507,  507,  507,  507,  507,  528,  529,
+      530,  528,  528,  528,  528,  528,  553,  553,  553,  553,
+       74,  506,  553,  507,  507,  507,  507,  507,  507,  507,
+      507,   74,  511,  553,  512,  512,  512,  512,  512,  512,
+      512,  512,  511,  553,  512,  512,  512,  512,  512,  512,
+      512,  512,   74,  506,  553,  507,  507,  507,  507,  507,
+
+      507,  507,  507,  511,  553,  512,  512,  512,  512,  512,
+      512,  354,  553,  533,  533,  533,  533,  533,  533,  533,
+      533,  553,  553,  553,   74,  535,  553,  536,  536,  536,
+      536,  536,  536,  536,  536,  540,  540,  540,  540,  540,
+      540,  540,  540,  541,  541,  541,  541,  541,  541,  541,
+      541,  553,  553,  553,  553,  553,   74,  535,  553,  537,
+      537,  537,  537,  537,  537,  537,  537,  542,  542,  542,
+      542,  542,  543,  540,  540,  547,  548,  549,  547,  547,
+      547,  547,  547,  553,  553,  553,  553,  553,   74,  535,
+      553,  538,  538,  538,  538,  538,  539,  536,  536,  553,
+
+      553,  553,  553,  535,   74,  536,  536,  536,  536,  536,
+      536,  540,  540,  540,  540,  540,  540,  540,  540,  553,
+       74,  535,  553,  536,  536,  536,  536,  536,  536,  536,
+      536,  553,  553,  553,   74,  540,  540,  540,  540,  540,
+      540,  540,  540,  550,  550,  550,  550,  550,  550,  550,
+      550,  553,   74,  535,  553,  536,  536,  536,  536,  536,
+      536,  536,  536,  547,  547,  547,  547,  547,  547,  547,
+      547,  553,   74,  551,  551,  551,  551,  551,  552,  550,
+      550,  553,  553,  553,   74,  550,  550,  550,  550,  550,
+      550,  553,   74,  550,  550,  550,  550,  550,  550,  550,
+
+      550,  553,   74,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,   74,  553,  553,  553,  553,  553,
+      553,  553,   74,   52,   52,   52,   52,   52,   52,   52,
+       52,   52,   52,   52,   52,   52,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   61,
+       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
+       61,   61,   68,   68,   68,   68,   68,   68,   68,   68,
+       68,   68,   68,   68,   68,   73,  553,  553,  553,   73,
+      553,   73,   73,   73,  553,   73,   73,   73,   77,   77,
+      553,   77,   77,   77,   77,   77,   77,   77,   77,   77,
+
+       77,   80,   80,   80,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   84,  553,  553,  553,   84,  553,
+       84,   84,   84,   84,   84,   84,   84,   87,  553,  553,
+      553,   87,  553,   87,   87,   87,  553,   87,   87,   87,
+       89,  553,  553,   89,   89,  553,   89,   89,   89,  553,
+       89,   89,   89,   99,   99,  553,  553,   99,  124,  553,
+      553,  124,  124,  553,  124,  124,  124,  553,  124,  124,
+      124,  128,  553,  553,  128,  128,  128,  128,  128,  128,
+      553,  553,  128,  128,  135,  135,  136,  553,  553,  136,
+      553,  553,  136,  136,  136,  136,  136,  136,  136,  140,
+
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  142,  142,  553,  142,  553,  142,  142,  142,
+      142,  142,  142,  142,  142,   78,   78,  553,   78,   78,
+       78,   78,   78,   78,   78,   78,   78,   78,  150,  150,
+      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
+      150,  151,  151,  553,  151,  151,  151,  151,  151,  151,
+      151,  151,  151,  151,  152,  553,  553,  553,  152,  553,
+      152,  152,  152,  553,  152,  152,  152,   90,  553,  553,
+       90,   90,  553,   90,   90,   90,  553,   90,   90,   90,
+      160,  160,  553,  553,  160,  162,  162,  162,  553,  553,
+
+      162,  125,  553,  553,  125,  125,  553,  125,  125,  125,
+      553,  125,  125,  125,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  193,  193,  553,
+      553,  193,  199,  199,  199,  553,  553,  199,  227,  227,
+      553,  553,  227,  228,  228,  553,  553,  228,  232,  232,
+      553,  553,  232,  234,  234,  234,  553,  553,  234,  267,
+      267,  553,  553,  267,  269,  269,  553,  553,  269,  270,
+      270,  553,  553,  270,  272,  272,  272,  553,  553,  272,
+      276,  276,  276,  276,  553,  553,  276,  304,  304,  553,
+      553,  304,  305,  305,  553,  553,  305,  306,  306,  553,
+
+      553,  306,  318,  318,  318,  553,  553,  318,  319,  319,
+      319,  319,  553,  553,  319,  352,  352,  553,  553,  352,
+      353,  353,  553,  553,  353,  369,  369,  369,  553,  553,
+      369,  370,  370,  370,  370,  553,  553,  370,  395,  395,
+      553,  553,  395,  399,  553,  399,  399,  553,  553,  399,
+      417,  417,  417,  553,  553,  417,  418,  418,  418,  418,
+      553,  553,  418,  448,  448,  553,  553,  448,  449,  553,
+      449,  449,  553,  553,  449,  465,  465,  465,  553,  553,
+      465,  466,  466,  466,  553,  553,  553,  466,  472,  553,
+      553,  553,  472,  553,  472,  472,  472,  553,  472,  472,
+
+      472,  474,  553,  553,  553,  474,  553,  474,  474,  474,
+      553,  474,  474,  474,  484,  484,  553,  553,  484,  485,
+      553,  485,  485,  553,  553,  485,  501,  501,  553,  553,
+      553,  501,  503,  503,  503,  503,  503,  503,  503,  503,
+      503,  503,  503,  503,  503,  516,  516,  553,  553,  516,
+      517,  553,  517,  517,  553,  553,  517,  531,  531,  553,
+      553,  531,  532,  553,  532,  553,  553,  553,  532,  544,
+      553,  553,  553,  544,  545,  545,  545,  545,  545,  545,
+      545,  545,  545,  545,  545,  545,  545,   13,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553
     } ;
 
-static yyconst short int yy_chk[3532] =
+static yyconst short int yy_chk[3551] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -942,389 +944,390 @@ static yyconst short int yy_chk[3532] =
         1,    1,    1,    1,    1,    1,    1,    1,    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,  257,    2,    3,    4,   99,
-        5,    5,    5,  118,    5,  257,    3,    4,   99,   40,
-        5,   11,   11,   11,   11,    6,    6,    6,  118,    6,
-        2,    2,    5,    5,    2,    6,   40,   63,    2,   51,
-
-       65,    2,   12,   12,   12,   12,   69,    6,    6,   70,
-       25,   59,   59,    5,   25,   25,   51,   63,   67,   67,
-       65,    3,    4,  178,   11,  178,  106,  106,    6,    7,
+        1,    1,    2,    3,    4,  116,    2,    3,    4,  550,
+        5,    5,    5,  119,    5,   20,    3,    4,   59,   59,
+        5,   11,   11,   11,   11,    6,    6,    6,  119,    6,
+        2,    2,    5,    5,    2,    6,   20,   84,    2,   40,
+
+       51,    2,   12,   12,   12,   12,   63,    6,    6,   70,
+       25,   67,   67,    5,   25,   25,   40,   51,   84,  116,
+      109,    3,    4,   65,   11,  109,   63,   69,    6,    7,
         7,    7,   25,    7,   27,   27,   27,   27,   27,   27,
-       27,   27,  108,   72,   72,   12,   72,  108,  115,   69,
-       70,   25,   28,   28,   28,   28,   28,   28,   39,  116,
-       39,   39,   39,   39,   39,   39,   39,   39,   41,  106,
-      547,  116,    7,    7,    7,    7,    7,    7,    7,    7,
+       27,   27,  121,   65,  432,   12,   72,   72,  121,   72,
+       70,   25,   28,   28,   28,   28,   28,   28,   39,  117,
+       39,   39,   39,   39,   39,   39,   39,   39,   41,  348,
+       69,  117,    7,    7,    7,    7,    7,    7,    7,    7,
         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
-        8,    8,    8,  120,    8,  542,   41,   41,  126,  120,
+        8,    8,    8,  100,    8,  432,   41,   41,  127,  348,
 
-       41,  175,  115,  126,   41,   49,  175,   41,   49,   49,
+       41,  178,  100,  127,   41,   49,  178,   41,   49,   49,
        49,   49,   49,   49,   49,   49,   82,   82,   82,   82,
        82,   82,   82,   82,   83,   83,   83,   83,   83,   83,
-       83,   83,  117,    8,    8,    8,    8,    8,    8,    8,
+       83,   83,  118,    8,    8,    8,    8,    8,    8,    8,
         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    9,    9,    9,    9,    9,  119,  129,  129,   50,
-        9,    9,    9,   50,   50,   57,   57,   57,  119,   57,
-      117,  103,  143,   57,    9,   57,  103,  219,  103,   88,
-      168,   50,  159,   88,   88,  133,  133,   57,   57,  145,
-      145,  159,  219,  168,    9,   10,   10,   10,   10,   10,
-
-       50,   88,  179,  144,   10,   10,   10,   74,   57,   74,
-      531,   74,  294,   74,   74,  143,  179,   74,   10,  174,
-       88,   95,   95,   95,   95,   95,   95,   95,   95,   74,
-       74,   74,   97,   97,   97,   97,   97,   97,   10,   18,
-      181,   18,   18,   18,  144,   18,   18,  530,   85,   18,
-       85,  177,   85,  181,   85,   85,  109,  196,   85,  294,
-      189,   18,   18,   18,  123,  174,  196,  177,  123,  123,
-       85,   85,   85,   96,   96,   96,   96,   96,   96,   96,
-       96,  189,   18,   19,  109,  109,  123,  528,  109,  255,
-      140,  140,  109,   19,  204,  109,   19,   19,   19,   19,
-
-       19,   19,   19,   19,   26,  123,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,  185,  204,  210,   26,   26,
-       26,   26,   26,  210,  517,   91,   91,   91,   91,   91,
-       91,   91,   91,  140,  256,   26,  260,   26,   26,   26,
-       26,   26,   26,   32,  217,  217,  185,   32,  255,   32,
-      516,  256,   32,   32,   91,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,  260,  514,   32,
+        8,    9,    9,    9,    9,    9,  120,  130,  130,   50,
+        9,    9,    9,   50,   50,   57,   57,   57,  120,   57,
+      118,  104,  144,   57,    9,   57,  104,  222,  104,   89,
+      171,   50,  162,   89,   89,  134,  134,   57,   57,  146,
+      146,  162,  222,  171,    9,   10,   10,   10,   10,   10,
+
+       50,   89,  182,  145,   10,   10,   10,   74,   57,   74,
+      181,   74,  181,   74,   74,  144,  182,   74,   10,  177,
+       89,   96,   96,   96,   96,   96,   96,   96,   96,   74,
+       74,   74,   98,   98,   98,   98,   98,   98,   10,   18,
+      184,   18,   18,   18,  145,   18,   18,  545,   86,   18,
+       86,  180,   86,  184,   86,   86,  110,  199,   86,  534,
+      192,   18,   18,   18,  124,  177,  199,  180,  124,  124,
+      259,   86,   86,   97,   97,   97,   97,   97,   97,   97,
+       97,  192,   18,   19,  110,  110,  124,  259,  110,  258,
+      107,  107,  110,   19,  207,  110,   19,   19,   19,   19,
+
+       19,   19,   19,   19,   26,  124,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,  188,  207,  213,   26,   26,
+       26,   26,   26,  213,  260,   92,   92,   92,   92,   92,
+       92,   92,   92,  107,  260,   26,  263,   26,   26,   26,
+       26,   26,   26,   32,  220,  220,  188,   32,  258,   32,
+      360,  360,   32,   32,   92,   32,   32,   32,   32,   32,
+       32,   32,   32,   32,   32,   32,   32,  263,  533,   32,
        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
 
        32,   32,   32,   32,   32,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,  193,  193,  193,   34,   34,   34,
-       34,   34,  122,  122,  122,  122,  122,  122,  122,  122,
-      200,  200,  200,  200,  200,  200,   34,   34,   34,   34,
-       34,   34,   38,   38,   38,  216,   38,  342,   38,   38,
-      220,   87,   38,   87,  231,   87,  220,   87,   87,  233,
-      233,   87,  342,  231,   38,   38,   38,   42,  136,  233,
-      513,  136,  136,   87,   87,   87,  434,   42,  136,  218,
-       42,   42,   42,   42,   42,   42,   42,   42,   90,  509,
-       90,  136,   90,  340,   90,   90,  500,  216,   90,  125,
-
-      218,  125,  244,  125,  151,  125,  125,  434,  151,  125,
-       90,   90,   90,  430,  151,  235,  235,  218,   42,   58,
-      295,  125,  125,  125,  244,  235,  151,  151,  430,   58,
-      295,  429,   58,   58,   58,   58,   58,   58,   58,   58,
-       77,  340,   77,   77,   77,  345,   77,   77,  357,  357,
-       77,  132,  132,  132,  132,  132,  132,  132,  132,  269,
-      251,  258,   77,   77,   77,  251,  258,  273,  269,  291,
-      180,  274,  274,  286,  180,  345,  273,  385,  291,  385,
-      180,  274,  429,   77,   92,   92,   92,   92,   92,   92,
-       92,   92,  180,  180,  498,  286,   92,   92,   92,   92,
-
-       92,  184,  184,  184,  184,  184,  184,  184,  184,  241,
-      241,  241,  241,  241,  241,   92,   92,   92,   92,   92,
-       92,  100,  100,  100,  100,  100,  100,  100,  100,  289,
-      184,  296,  494,  100,  100,  100,  100,  100,  188,  297,
-      188,  188,  188,  188,  188,  188,  290,  296,  297,  275,
-      275,  289,  100,  100,  100,  100,  100,  100,  152,  275,
-      152,  152,  152,  152,  152,  152,  152,  152,  290,  188,
-      192,  192,  192,  192,  192,  192,  192,  192,  192,  197,
-      197,  197,  197,  197,  197,  197,  197,  403,  403,  152,
-      153,  482,  153,  153,  153,  153,  153,  153,  153,  153,
-
-      199,  199,  199,  199,  199,  199,  199,  199,  202,  315,
-      202,  202,  202,  202,  202,  202,  202,  202,  315,  384,
-      384,  153,  154,  481,  154,  154,  154,  154,  154,  154,
-      154,  154,  226,  226,  226,  226,  226,  226,  226,  226,
-      226,  232,  232,  232,  232,  232,  232,  232,  232,  337,
-      343,  417,  417,  154,  155,  316,  155,  155,  155,  155,
-      155,  155,  155,  155,  316,  337,  343,  384,  155,  155,
-      155,  155,  155,  234,  234,  234,  234,  234,  234,  234,
-      234,  283,  283,  283,  283,  283,  283,  155,  155,  155,
-      155,  155,  155,  158,  158,  158,  158,  158,  158,  158,
-
-      158,  158,  418,  418,  471,  158,  158,  158,  158,  158,
-      238,  238,  238,  238,  238,  238,  238,  238,  329,  333,
-      238,  421,  421,  469,  158,  158,  158,  158,  158,  158,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      329,  333,  467,  160,  160,  160,  160,  160,  240,  240,
-      240,  240,  240,  240,  240,  240,  307,  307,  307,  307,
-      307,  307,  160,  160,  160,  160,  160,  160,  161,  161,
-      161,  161,  161,  161,  161,  161,  277,  277,  453,  453,
-      161,  161,  161,  161,  161,  243,  277,  243,  243,  243,
-      243,  243,  243,  243,  243,  335,  317,  317,  467,  161,
-
-      161,  161,  161,  161,  161,  186,  317,  186,  186,  186,
-      186,  186,  186,  186,  186,  468,  379,  335,  259,  259,
-      259,  259,  259,  259,  259,  259,  263,  466,  263,  263,
-      263,  263,  263,  263,  464,  464,  186,  187,  379,  187,
-      187,  187,  187,  187,  187,  187,  187,  259,  276,  276,
-      276,  276,  276,  276,  276,  276,  270,  263,  270,  270,
-      270,  270,  270,  270,  270,  270,  489,  489,  187,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      341,  502,  502,  198,  198,  198,  198,  198,  271,  341,
-      271,  271,  271,  271,  271,  271,  271,  271,  380,  520,
-
-      520,  465,  198,  198,  198,  198,  198,  198,  201,  201,
-      201,  201,  201,  201,  201,  201,  201,  201,  366,  463,
-      380,  201,  201,  201,  201,  201,  272,  366,  272,  272,
-      272,  272,  272,  272,  272,  272,  446,  318,  318,  445,
-      201,  201,  201,  201,  201,  201,  221,  318,  221,  221,
-      221,  221,  221,  221,  221,  221,  280,  280,  280,  280,
-      280,  280,  280,  280,  441,  352,  280,  282,  282,  282,
-      282,  282,  282,  282,  282,  352,  504,  221,  222,  354,
-      222,  222,  222,  222,  222,  222,  222,  222,  285,  354,
-      285,  285,  285,  285,  285,  285,  285,  285,  304,  304,
-
-      304,  304,  304,  304,  304,  304,  432,  504,  533,  222,
-      223,  431,  223,  223,  223,  223,  223,  223,  223,  223,
-      306,  306,  306,  306,  306,  306,  306,  306,  309,  367,
-      309,  309,  309,  309,  309,  309,  309,  309,  367,  533,
-      426,  223,  236,  236,  236,  236,  236,  236,  236,  236,
-      236,  236,  236,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  410,  396,  392,  239,  239,  239,
-      239,  239,  310,  310,  310,  310,  310,  310,  310,  310,
-      326,  326,  326,  326,  326,  326,  239,  239,  239,  239,
-      239,  239,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  414,  387,  383,  242,  242,  242,  242,  242,
-      312,  414,  312,  312,  312,  312,  312,  312,  312,  312,
-      382,  320,  320,  381,  242,  242,  242,  242,  242,  242,
-      261,  320,  261,  261,  261,  261,  261,  261,  261,  261,
-      313,  397,  313,  313,  313,  313,  313,  313,  313,  313,
-      314,  397,  314,  314,  314,  314,  314,  314,  350,  349,
-      339,  261,  262,  338,  262,  262,  262,  262,  262,  262,
-      262,  262,  319,  319,  319,  319,  319,  319,  319,  319,
-      323,  323,  323,  323,  323,  323,  323,  323,  332,  331,
-      323,  428,  428,  262,  268,  268,  268,  268,  268,  268,
-
-      268,  268,  268,  311,  428,  303,  268,  268,  268,  268,
-      268,  325,  325,  325,  325,  325,  325,  325,  325,  360,
-      360,  360,  360,  360,  360,  268,  268,  268,  268,  268,
-      268,  278,  278,  278,  278,  278,  278,  278,  278,  278,
-      278,  278,  281,  281,  281,  281,  281,  281,  281,  281,
-      281,  281,  281,  302,  301,  293,  281,  281,  281,  281,
-      281,  328,  398,  328,  328,  328,  328,  328,  328,  328,
-      328,  422,  398,  292,  288,  281,  281,  281,  281,  281,
-      281,  284,  284,  284,  284,  284,  284,  284,  284,  284,
-      284,  287,  267,  422,  284,  284,  284,  284,  284,  344,
-
-      344,  344,  344,  344,  344,  344,  344,  377,  377,  377,
-      377,  377,  377,  284,  284,  284,  284,  284,  284,  298,
-      298,  298,  298,  298,  298,  298,  298,  298,  344,  348,
-      348,  348,  348,  348,  348,  348,  351,  351,  351,  351,
-      351,  351,  351,  351,  266,  265,  264,  254,  253,  298,
-      299,  299,  299,  299,  299,  299,  299,  299,  299,  348,
-      353,  353,  353,  353,  353,  353,  353,  353,  359,  359,
-      359,  359,  359,  359,  359,  359,  252,  250,  249,  248,
-      299,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      362,  400,  362,  362,  362,  362,  362,  362,  362,  362,
-
-      363,  400,  363,  363,  363,  363,  363,  363,  363,  363,
-      247,  300,  305,  246,  305,  305,  305,  305,  305,  305,
-      305,  305,  305,  415,  230,  229,  305,  305,  305,  305,
-      305,  364,  415,  364,  364,  364,  364,  364,  364,  364,
-      364,  228,  227,  225,  224,  305,  305,  305,  305,  305,
-      305,  308,  308,  308,  308,  308,  308,  308,  308,  308,
-      215,  214,  213,  308,  308,  308,  308,  308,  365,  447,
-      365,  365,  365,  365,  365,  365,  365,  365,  212,  447,
-      211,  209,  308,  308,  308,  308,  308,  308,  321,  321,
-      321,  321,  321,  321,  321,  321,  321,  321,  321,  324,
-
-      324,  324,  324,  324,  324,  324,  324,  324,  324,  324,
-      368,  368,  208,  324,  324,  324,  324,  324,  369,  369,
-      368,  371,  371,  207,  206,  205,  424,  386,  369,  203,
-      195,  371,  324,  324,  324,  324,  324,  324,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  386,  424,  386,
-      386,  327,  327,  327,  327,  327,  370,  370,  370,  370,
-      370,  370,  370,  370,  477,  477,  477,  194,  386,  191,
-      327,  327,  327,  327,  327,  327,  346,  346,  346,  346,
-      346,  346,  346,  346,  346,  374,  374,  374,  374,  374,
-      374,  374,  374,  477,  448,  374,  376,  376,  376,  376,
-
-      376,  376,  376,  376,  448,  190,  346,  347,  347,  347,
-      347,  347,  347,  347,  347,  347,  378,  450,  378,  378,
-      378,  378,  378,  378,  378,  378,  393,  450,  393,  393,
-      393,  393,  393,  393,  393,  393,  183,  347,  355,  182,
-      355,  355,  355,  355,  355,  355,  355,  355,  355,  358,
-      176,  358,  358,  358,  358,  358,  358,  358,  358,  358,
-      462,  173,  172,  358,  358,  358,  358,  358,  394,  462,
-      394,  394,  394,  394,  394,  394,  394,  394,  171,  170,
-      169,  167,  358,  358,  358,  358,  358,  358,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  166,  165,  164,
-
-      361,  361,  361,  361,  361,  395,  483,  395,  395,  395,
-      395,  395,  395,  395,  395,  163,  483,  162,  157,  361,
-      361,  361,  361,  361,  361,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  375,  375,  375,  375,
-      375,  375,  375,  375,  375,  375,  156,  150,  149,  147,
-      375,  375,  375,  375,  375,  399,  399,  399,  399,  399,
-      399,  399,  399,  406,  406,  406,  406,  406,  406,  375,
-      375,  375,  375,  375,  375,  388,  146,  388,  388,  388,
-      388,  388,  388,  388,  388,  405,  405,  405,  405,  405,
-      405,  405,  405,  408,  484,  408,  408,  408,  408,  408,
-
-      408,  408,  408,  142,  484,  141,  388,  389,  139,  389,
-      389,  389,  389,  389,  389,  389,  389,  409,  409,  409,
-      409,  409,  409,  409,  409,  411,  486,  411,  411,  411,
-      411,  411,  411,  411,  411,  135,  486,  128,  389,  390,
-      515,  390,  390,  390,  390,  390,  390,  390,  390,  412,
-      515,  412,  412,  412,  412,  412,  412,  412,  412,  413,
-      124,  413,  413,  413,  413,  413,  413,  427,  121,  114,
-      390,  391,  113,  391,  391,  391,  391,  391,  391,  391,
-      391,  416,  416,  112,  111,  110,  105,  427,  104,  427,
-      427,  416,  102,   98,  439,   94,  439,  439,  439,   93,
-
-       89,   86,  391,  401,   84,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  404,   80,  404,  404,  404,  404,
-      404,  404,  404,  404,  404,  439,   79,   78,  404,  404,
-      404,  404,  404,  433,  433,  433,  433,  433,  433,  433,
-      433,  456,  456,  456,  456,  456,  456,  404,  404,  404,
-      404,  404,  404,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  433,   76,   75,  407,  407,  407,  407,  407,
-      440,  440,  440,  440,  440,  440,  440,  440,  492,  492,
-      492,  492,  492,  492,  407,  407,  407,  407,  407,  407,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-
-      435,   73,  435,  435,  435,  435,  435,  435,  435,  435,
-      442,   68,  442,  442,  442,  442,  442,  442,  442,  442,
-      443,   61,  443,  443,  443,  443,  443,  443,  443,  443,
-       54,  435,  436,   48,  436,  436,  436,  436,  436,  436,
-      436,  436,  444,   47,  444,  444,  444,  444,  444,  444,
-      449,  449,  449,  449,  449,  449,  449,  449,   46,   45,
-       44,   43,   37,  436,  437,   36,  437,  437,  437,  437,
-      437,  437,  437,  437,  455,  455,  455,  455,  455,  455,
-      455,  455,  458,   35,  458,  458,  458,  458,  458,  458,
-      458,  458,   33,   29,   23,  437,  438,   20,  438,  438,
-
-      438,  438,  438,  438,  438,  438,  459,  459,  459,  459,
-      459,  459,  459,  459,  459,  460,  460,  460,  460,  460,
-      460,  460,  460,  460,   17,   15,   14,  438,  451,   13,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  454,
-        0,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-        0,    0,    0,  454,  454,  454,  454,  454,  461,  461,
-      461,  461,  461,  461,  461,  461,  461,    0,    0,    0,
-        0,    0,  454,  454,  454,  454,  454,  454,  457,  457,
-      457,  457,  457,  457,  457,  457,    0,  521,  521,    0,
-      457,  457,  457,  457,  457,  470,    0,  470,    0,  470,
-
-      521,  470,  470,    0,    0,  470,    0,    0,    0,  457,
-      457,  457,  457,  457,  457,    0,    0,  470,  470,  470,
-      472,    0,  472,    0,  472,    0,  472,  472,    0,    0,
-      472,  476,  476,  476,  476,  476,  476,  476,  476,    0,
-        0,    0,  472,  472,  472,  473,    0,  473,  473,  473,
-      473,  473,  473,  473,  473,    0,    0,    0,    0,  478,
-      476,  478,  478,  478,  478,  478,  478,  478,  478,  497,
-      497,  497,  497,  497,  497,  497,  473,  474,    0,  474,
-      474,  474,  474,  474,  474,  474,  474,  479,    0,  479,
-      479,  479,  479,  479,  479,  479,  479,  480,    0,  480,
-
-      480,  480,  480,  480,  480,  480,  480,    0,  474,  475,
-        0,  475,  475,  475,  475,  475,  475,  475,  475,  485,
-      485,  485,  485,  485,  485,  485,  485,  491,  491,  491,
-      491,  491,  491,  491,  491,    0,    0,    0,    0,    0,
-      475,  487,    0,  487,  487,  487,  487,  487,  487,  487,
-      487,  487,  490,    0,  490,  490,  490,  490,  490,  490,
-      490,  490,    0,    0,    0,    0,  490,  490,  490,  490,
-      490,  493,    0,  493,  493,  493,  493,  493,  493,  493,
-      493,    0,    0,    0,    0,  490,  490,  490,  490,  490,
-      490,  495,  495,  495,  495,  495,  495,  495,  495,  495,
-
-      496,  496,  496,  496,  496,  496,  496,  496,  496,  503,
-      503,  503,  503,  503,  503,  503,  503,    0,  507,    0,
-      507,  507,  507,  507,  507,  507,  508,  508,  508,  508,
-      508,  508,  508,  508,    0,    0,    0,    0,  503,  505,
-        0,  505,  505,  505,  505,  505,  505,  505,  505,  507,
-      510,    0,  510,  510,  510,  510,  510,  510,  510,  510,
-      511,    0,  511,  511,  511,  511,  511,  511,  511,  511,
-      505,  506,    0,  506,  506,  506,  506,  506,  506,  506,
-      506,  512,    0,  512,  512,  512,  512,  512,  512,  518,
-        0,  518,  518,  518,  518,  518,  518,  518,  518,    0,
-
-        0,    0,  506,  522,    0,  522,  522,  522,  522,  522,
-      522,  522,  522,  525,  525,  525,  525,  525,  525,  525,
-      525,  526,  526,  526,  526,  526,  526,  526,  526,    0,
-        0,    0,    0,    0,  522,  523,    0,  523,  523,  523,
-      523,  523,  523,  523,  523,  527,  527,  527,  527,  527,
-      527,  527,  527,  532,  532,  532,  532,  532,  532,  532,
-      532,    0,    0,    0,    0,    0,  523,  524,    0,  524,
-      524,  524,  524,  524,  524,  524,  524,    0,    0,    0,
-        0,  536,  532,  536,  536,  536,  536,  536,  536,  538,
-      538,  538,  538,  538,  538,  538,  538,    0,  524,  534,
-
-        0,  534,  534,  534,  534,  534,  534,  534,  534,    0,
-        0,    0,  536,  539,  539,  539,  539,  539,  539,  539,
-      539,  540,  540,  540,  540,  540,  540,    0,    0,    0,
-      534,  535,    0,  535,  535,  535,  535,  535,  535,  535,
-      535,  544,  544,  544,  544,  544,  544,  544,  544,  545,
-      545,  545,  545,  545,  545,  545,  545,    0,    0,    0,
-        0,    0,  535,    0,    0,    0,    0,    0,    0,    0,
-      544,  549,  549,  549,  549,  549,  549,    0,  545,  546,
-      546,  546,  546,  546,  546,  546,  546,  548,  548,  548,
-      548,  548,  548,  548,  548,    0,    0,    0,    0,    0,
-
-      549,    0,    0,    0,    0,    0,    0,    0,  546,    0,
-        0,    0,    0,    0,    0,    0,  548,  551,  551,  551,
-      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  553,  553,  553,  553,  553,  553,  553,
-      553,  553,  553,  553,  553,  553,  554,  554,  554,  554,
-      554,  554,  554,  554,  554,  554,  554,  554,  554,  555,
-        0,    0,    0,  555,    0,  555,  555,  555,    0,  555,
-      555,  555,  556,  556,    0,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  557,  557,  557,  557,  557,
-
-      557,  557,  557,  557,  557,  557,  557,  557,  558,    0,
-        0,    0,  558,    0,  558,  558,  558,    0,  558,  558,
-      558,  559,    0,    0,    0,  559,    0,  559,  559,  559,
-        0,  559,  559,  559,  560,    0,    0,  560,  560,    0,
-      560,  560,  560,    0,  560,  560,  560,  561,  561,    0,
-        0,  561,  562,    0,    0,  562,  562,    0,  562,  562,
-      562,    0,  562,  562,  562,  563,    0,    0,  563,  563,
-      563,  563,  563,  563,    0,    0,  563,  563,  564,  564,
-      565,    0,    0,  565,    0,    0,  565,  565,  565,  565,
-      565,  565,  565,  566,  566,  566,  566,  566,  566,  566,
-
-      566,  566,  566,  566,  566,  566,  567,  567,    0,  567,
-        0,  567,  567,  567,  567,  567,  567,  567,  567,  568,
-      568,    0,  568,  568,  568,  568,  568,  568,  568,  568,
-      568,  568,  569,  569,  569,  569,  569,  569,  569,  569,
-      569,  569,  569,  569,  569,  570,  570,    0,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  571,    0,
-        0,  571,  571,    0,  571,  571,  571,    0,  571,  571,
-      571,  572,  572,    0,    0,  572,  573,  573,  573,    0,
-        0,  573,  574,    0,    0,  574,  574,    0,  574,  574,
-      574,    0,  574,  574,  574,  575,  575,  575,  575,  575,
-
-      575,  575,  575,  575,  575,  575,  575,  575,  576,  576,
-        0,    0,  576,  577,  577,  577,    0,    0,  577,  578,
-      578,    0,    0,  578,  579,  579,    0,    0,  579,  580,
-      580,    0,    0,  580,  581,  581,  581,    0,    0,  581,
-      582,  582,    0,    0,  582,  583,  583,    0,    0,  583,
-      584,  584,    0,    0,  584,  585,  585,  585,    0,    0,
-      585,  586,  586,  586,  586,    0,    0,  586,  587,  587,
-        0,    0,  587,  588,  588,    0,    0,  588,  589,  589,
-        0,    0,  589,  590,  590,  590,    0,    0,  590,  591,
-      591,  591,  591,    0,    0,  591,  592,  592,    0,    0,
-
-      592,  593,  593,    0,    0,  593,  594,  594,  594,    0,
-        0,  594,  595,  595,  595,  595,    0,    0,  595,  596,
-      596,    0,    0,  596,  597,    0,  597,  597,    0,    0,
-      597,  598,  598,  598,    0,    0,  598,  599,  599,  599,
-      599,    0,    0,  599,  600,  600,    0,    0,  600,  601,
-        0,  601,  601,    0,    0,  601,  602,  602,  602,    0,
-        0,  602,  603,  603,  603,    0,    0,    0,  603,  604,
-        0,    0,    0,  604,    0,  604,  604,  604,    0,  604,
-      604,  604,  605,    0,    0,    0,  605,    0,  605,  605,
-      605,    0,  605,  605,  605,  606,  606,    0,    0,  606,
-
-      607,    0,  607,  607,    0,    0,  607,  608,  608,    0,
-        0,    0,  608,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  610,  610,    0,    0,
-      610,  611,    0,  611,  611,    0,    0,  611,  612,  612,
-        0,    0,  612,  613,    0,  613,    0,    0,    0,  613,
-      614,    0,    0,    0,  614,  615,  615,  615,  615,  615,
-      615,  615,  615,  615,  615,  615,  615,  615,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550
+       34,   34,   34,   34,  196,  196,  196,   34,   34,   34,
+       34,   34,  123,  123,  123,  123,  123,  123,  123,  123,
+      254,  299,  531,  141,  141,  254,   34,   34,   34,   34,
+       34,   34,   38,   38,   38,  219,   38,  299,   38,   38,
+      223,   88,   38,   88,  234,   88,  223,   88,   88,  236,
+      236,   88,  520,  234,   38,   38,   38,   42,  137,  236,
+      519,  137,  137,   88,   88,   88,  141,   42,  137,  221,
+       42,   42,   42,   42,   42,   42,   42,   42,   91,  517,
+       91,  137,   91,  343,   91,   91,  516,  219,   91,  126,
+
+      221,  126,  247,  126,  154,  126,  126,  512,  154,  126,
+       91,   91,   91,  345,  154,  238,  238,  221,   42,   58,
+      298,  126,  126,  126,  247,  238,  154,  154,  345,   58,
+      298,  503,   58,   58,   58,   58,   58,   58,   58,   58,
+       77,  343,   77,   77,   77,  289,   77,   77,  501,  292,
+       77,  133,  133,  133,  133,  133,  133,  133,  133,  272,
+      261,  497,   77,   77,   77,  261,  276,  289,  272,  294,
+      153,  292,  153,  293,  153,  276,  153,  153,  294,  388,
+      153,  388,  297,   77,   93,   93,   93,   93,   93,   93,
+       93,   93,  153,  153,  153,  293,   93,   93,   93,   93,
+
+       93,  187,  187,  187,  187,  187,  187,  187,  187,  203,
+      203,  203,  203,  203,  203,   93,   93,   93,   93,   93,
+       93,  101,  101,  101,  101,  101,  101,  101,  101,  297,
+      187,  387,  387,  101,  101,  101,  101,  101,  191,  485,
+      191,  191,  191,  191,  191,  191,  244,  244,  244,  244,
+      244,  244,  101,  101,  101,  101,  101,  101,  155,  300,
+      155,  155,  155,  155,  155,  155,  155,  155,  300,  191,
+      200,  200,  200,  200,  200,  200,  200,  200,  183,  387,
+      484,  355,  183,  406,  406,  420,  420,  474,  183,  155,
+      156,  355,  156,  156,  156,  156,  156,  156,  156,  156,
+
+      183,  183,  195,  195,  195,  195,  195,  195,  195,  195,
+      195,  202,  202,  202,  202,  202,  202,  202,  202,  421,
+      421,  156,  157,  357,  157,  157,  157,  157,  157,  157,
+      157,  157,  205,  357,  205,  205,  205,  205,  205,  205,
+      205,  205,  229,  229,  229,  229,  229,  229,  229,  229,
+      229,  340,  472,  157,  158,  318,  158,  158,  158,  158,
+      158,  158,  158,  158,  318,  424,  424,  340,  158,  158,
+      158,  158,  158,  235,  235,  235,  235,  235,  235,  235,
+      235,  286,  286,  286,  286,  286,  286,  158,  158,  158,
+      158,  158,  158,  161,  161,  161,  161,  161,  161,  161,
+
+      161,  161,  456,  456,  470,  161,  161,  161,  161,  161,
+      237,  237,  237,  237,  237,  237,  237,  237,  310,  310,
+      310,  310,  310,  310,  161,  161,  161,  161,  161,  161,
+      163,  163,  163,  163,  163,  163,  163,  163,  163,  163,
+      467,  467,  471,  163,  163,  163,  163,  163,  241,  241,
+      241,  241,  241,  241,  241,  241,  332,  336,  241,  469,
+      470,  346,  163,  163,  163,  163,  163,  163,  164,  164,
+      164,  164,  164,  164,  164,  164,  338,  346,  332,  336,
+      164,  164,  164,  164,  164,  243,  243,  243,  243,  243,
+      243,  243,  243,  468,  382,  466,  277,  277,  338,  164,
+
+      164,  164,  164,  164,  164,  189,  277,  189,  189,  189,
+      189,  189,  189,  189,  189,  246,  382,  246,  246,  246,
+      246,  246,  246,  246,  246,  262,  262,  262,  262,  262,
+      262,  262,  262,  492,  492,  433,  189,  190,  319,  190,
+      190,  190,  190,  190,  190,  190,  190,  319,  278,  278,
+      433,  437,  505,  505,  262,  280,  280,  266,  278,  266,
+      266,  266,  266,  266,  266,  280,  523,  523,  190,  201,
+      201,  201,  201,  201,  201,  201,  201,  201,  201,  201,
+      320,  320,  437,  201,  201,  201,  201,  201,  266,  273,
+      320,  273,  273,  273,  273,  273,  273,  273,  273,  449,
+
+      448,  444,  201,  201,  201,  201,  201,  201,  204,  204,
+      204,  204,  204,  204,  204,  204,  204,  204,  344,  435,
+      434,  204,  204,  204,  204,  204,  274,  344,  274,  274,
+      274,  274,  274,  274,  274,  274,  429,  321,  321,  413,
+      204,  204,  204,  204,  204,  204,  224,  321,  224,  224,
+      224,  224,  224,  224,  224,  224,  275,  383,  275,  275,
+      275,  275,  275,  275,  275,  275,  279,  279,  279,  279,
+      279,  279,  279,  279,  425,  399,  395,  224,  225,  383,
+      225,  225,  225,  225,  225,  225,  225,  225,  283,  283,
+      283,  283,  283,  283,  283,  283,  425,  400,  283,  285,
+
+      285,  285,  285,  285,  285,  285,  285,  400,  507,  225,
+      226,  401,  226,  226,  226,  226,  226,  226,  226,  226,
+      288,  401,  288,  288,  288,  288,  288,  288,  288,  288,
+      307,  307,  307,  307,  307,  307,  307,  307,  390,  507,
+      386,  226,  239,  239,  239,  239,  239,  239,  239,  239,
+      239,  239,  239,  242,  242,  242,  242,  242,  242,  242,
+      242,  242,  242,  242,  385,  384,  353,  242,  242,  242,
+      242,  242,  309,  309,  309,  309,  309,  309,  309,  309,
+      329,  329,  329,  329,  329,  329,  242,  242,  242,  242,
+      242,  242,  245,  245,  245,  245,  245,  245,  245,  245,
+
+      245,  245,  369,  352,  342,  245,  245,  245,  245,  245,
+      312,  369,  312,  312,  312,  312,  312,  312,  312,  312,
+      341,  323,  323,  335,  245,  245,  245,  245,  245,  245,
+      264,  323,  264,  264,  264,  264,  264,  264,  264,  264,
+      313,  313,  313,  313,  313,  313,  313,  313,  315,  370,
+      315,  315,  315,  315,  315,  315,  315,  315,  370,  334,
+      314,  264,  265,  403,  265,  265,  265,  265,  265,  265,
+      265,  265,  316,  403,  316,  316,  316,  316,  316,  316,
+      316,  316,  317,  417,  317,  317,  317,  317,  317,  317,
+      431,  431,  417,  265,  271,  271,  271,  271,  271,  271,
+
+      271,  271,  271,  431,  306,  305,  271,  271,  271,  271,
+      271,  322,  322,  322,  322,  322,  322,  322,  322,  363,
+      363,  363,  363,  363,  363,  271,  271,  271,  271,  271,
+      271,  281,  281,  281,  281,  281,  281,  281,  281,  281,
+      281,  281,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  304,  296,  295,  284,  284,  284,  284,
+      284,  326,  326,  326,  326,  326,  326,  326,  326,  427,
+      291,  326,  290,  270,  269,  284,  284,  284,  284,  284,
+      284,  287,  287,  287,  287,  287,  287,  287,  287,  287,
+      287,  427,  268,  267,  287,  287,  287,  287,  287,  328,
+
+      328,  328,  328,  328,  328,  328,  328,  380,  380,  380,
+      380,  380,  380,  287,  287,  287,  287,  287,  287,  301,
+      301,  301,  301,  301,  301,  301,  301,  301,  331,  257,
+      331,  331,  331,  331,  331,  331,  331,  331,  347,  347,
+      347,  347,  347,  347,  347,  347,  524,  524,  536,  301,
+      302,  302,  302,  302,  302,  302,  302,  302,  302,  524,
+      351,  351,  351,  351,  351,  351,  351,  347,  354,  354,
+      354,  354,  354,  354,  354,  354,  256,  255,  253,  536,
+      302,  303,  303,  303,  303,  303,  303,  303,  303,  303,
+      351,  356,  356,  356,  356,  356,  356,  356,  356,  362,
+
+      362,  362,  362,  362,  362,  362,  362,  252,  251,  250,
+      249,  303,  308,  233,  308,  308,  308,  308,  308,  308,
+      308,  308,  308,  418,  232,  231,  308,  308,  308,  308,
+      308,  365,  418,  365,  365,  365,  365,  365,  365,  365,
+      365,  230,  228,  227,  218,  308,  308,  308,  308,  308,
+      308,  311,  311,  311,  311,  311,  311,  311,  311,  311,
+      217,  216,  215,  311,  311,  311,  311,  311,  366,  450,
+      366,  366,  366,  366,  366,  366,  366,  366,  214,  450,
+      212,  211,  311,  311,  311,  311,  311,  311,  324,  324,
+      324,  324,  324,  324,  324,  324,  324,  324,  324,  327,
+
+      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
+      210,  209,  208,  327,  327,  327,  327,  327,  367,  451,
+      367,  367,  367,  367,  367,  367,  367,  367,  206,  451,
+      198,  197,  327,  327,  327,  327,  327,  327,  330,  330,
+      330,  330,  330,  330,  330,  330,  330,  371,  371,  194,
+      193,  330,  330,  330,  330,  330,  368,  371,  368,  368,
+      368,  368,  368,  368,  368,  368,  186,  185,  179,  176,
+      330,  330,  330,  330,  330,  330,  349,  349,  349,  349,
+      349,  349,  349,  349,  349,  372,  372,  373,  373,  373,
+      373,  373,  373,  373,  373,  372,  379,  379,  379,  379,
+
+      379,  379,  379,  379,  175,  174,  349,  350,  350,  350,
+      350,  350,  350,  350,  350,  350,  374,  374,  377,  377,
+      377,  377,  377,  377,  377,  377,  374,  381,  377,  381,
+      381,  381,  381,  381,  381,  381,  381,  350,  358,  173,
+      358,  358,  358,  358,  358,  358,  358,  358,  358,  361,
+      453,  361,  361,  361,  361,  361,  361,  361,  361,  361,
+      453,  172,  170,  361,  361,  361,  361,  361,  396,  465,
+      396,  396,  396,  396,  396,  396,  396,  396,  465,  169,
+      168,  167,  361,  361,  361,  361,  361,  361,  364,  364,
+      364,  364,  364,  364,  364,  364,  364,  166,  165,  160,
+
+      364,  364,  364,  364,  364,  397,  486,  397,  397,  397,
+      397,  397,  397,  397,  397,  159,  486,  152,  151,  364,
+      364,  364,  364,  364,  364,  375,  375,  375,  375,  375,
+      375,  375,  375,  375,  375,  375,  378,  378,  378,  378,
+      378,  378,  378,  378,  378,  378,  150,  419,  419,  148,
+      378,  378,  378,  378,  378,  389,  398,  419,  398,  398,
+      398,  398,  398,  398,  398,  398,  480,  480,  480,  378,
+      378,  378,  378,  378,  378,  389,  147,  389,  389,  402,
+      402,  402,  402,  402,  402,  402,  402,  408,  408,  408,
+      408,  408,  408,  408,  408,  480,  389,  391,  143,  391,
+
+      391,  391,  391,  391,  391,  391,  391,  409,  409,  409,
+      409,  409,  409,  411,  487,  411,  411,  411,  411,  411,
+      411,  411,  411,  142,  487,  140,  136,  129,  391,  392,
+      125,  392,  392,  392,  392,  392,  392,  392,  392,  412,
+      412,  412,  412,  412,  412,  412,  412,  414,  489,  414,
+      414,  414,  414,  414,  414,  414,  414,  122,  489,  115,
+      392,  393,  518,  393,  393,  393,  393,  393,  393,  393,
+      393,  415,  518,  415,  415,  415,  415,  415,  415,  415,
+      415,  416,  114,  416,  416,  416,  416,  416,  416,  430,
+      113,  112,  393,  394,  111,  394,  394,  394,  394,  394,
+
+      394,  394,  394,  459,  459,  459,  459,  459,  459,  430,
+      106,  430,  430,  105,  103,   99,  442,   95,  442,  442,
+      442,   94,   90,   87,  394,  404,   85,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  407,   80,  407,  407,
+      407,  407,  407,  407,  407,  407,  407,  442,   79,   78,
+      407,  407,  407,  407,  407,  436,  436,  436,  436,  436,
+      436,  436,  436,  495,  495,  495,  495,  495,  495,  407,
+      407,  407,  407,  407,  407,  410,  410,  410,  410,  410,
+      410,  410,  410,  410,  436,   76,   75,  410,  410,  410,
+      410,  410,  443,  443,  443,  443,  443,  443,  443,  443,
+
+      543,  543,  543,  543,  543,  543,  410,  410,  410,  410,
+      410,  410,  422,  422,  422,  422,  422,  422,  422,  422,
+      422,  422,  438,   73,  438,  438,  438,  438,  438,  438,
+      438,  438,  445,   68,  445,  445,  445,  445,  445,  445,
+      445,  445,  446,   61,  446,  446,  446,  446,  446,  446,
+      446,  446,   54,  438,  439,   48,  439,  439,  439,  439,
+      439,  439,  439,  439,  447,   47,  447,  447,  447,  447,
+      447,  447,  452,  452,  452,  452,  452,  452,  452,  452,
+       46,   45,   44,   43,   37,  439,  440,   36,  440,  440,
+      440,  440,  440,  440,  440,  440,  458,  458,  458,  458,
+
+      458,  458,  458,  458,  461,   35,  461,  461,  461,  461,
+      461,  461,  461,  461,   33,   29,   23,  440,  441,   17,
+      441,  441,  441,  441,  441,  441,  441,  441,  462,  462,
+      462,  462,  462,  462,  462,  462,  462,  463,  463,  463,
+      463,  463,  463,  463,  463,  463,   15,   14,   13,  441,
+      454,    0,  454,  454,  454,  454,  454,  454,  454,  454,
+      454,  457,    0,  457,  457,  457,  457,  457,  457,  457,
+      457,  457,    0,    0,    0,  457,  457,  457,  457,  457,
+      464,  464,  464,  464,  464,  464,  464,  464,  464,    0,
+        0,    0,    0,    0,  457,  457,  457,  457,  457,  457,
+
+      460,  460,  460,  460,  460,  460,  460,  460,    0,    0,
+        0,    0,  460,  460,  460,  460,  460,  473,    0,  473,
+        0,  473,    0,  473,  473,    0,    0,  473,    0,    0,
+        0,  460,  460,  460,  460,  460,  460,    0,    0,  473,
+      473,  473,  475,    0,  475,    0,  475,    0,  475,  475,
+        0,    0,  475,  479,  479,  479,  479,  479,  479,  479,
+      479,    0,    0,    0,  475,  475,  475,  476,    0,  476,
+      476,  476,  476,  476,  476,  476,  476,    0,    0,    0,
+        0,  481,  479,  481,  481,  481,  481,  481,  481,  481,
+      481,  500,  500,  500,  500,  500,  500,  500,  476,  477,
+
+        0,  477,  477,  477,  477,  477,  477,  477,  477,  482,
+        0,  482,  482,  482,  482,  482,  482,  482,  482,  483,
+        0,  483,  483,  483,  483,  483,  483,  483,  483,    0,
+      477,  478,    0,  478,  478,  478,  478,  478,  478,  478,
+      478,  488,  488,  488,  488,  488,  488,  488,  488,  494,
+      494,  494,  494,  494,  494,  494,  494,    0,    0,    0,
+        0,    0,  478,  490,    0,  490,  490,  490,  490,  490,
+      490,  490,  490,  490,  493,    0,  493,  493,  493,  493,
+      493,  493,  493,  493,    0,    0,    0,    0,  493,  493,
+      493,  493,  493,  496,    0,  496,  496,  496,  496,  496,
+
+      496,  496,  496,    0,    0,    0,    0,  493,  493,  493,
+      493,  493,  493,  498,  498,  498,  498,  498,  498,  498,
+      498,  498,  499,  499,  499,  499,  499,  499,  499,  499,
+      499,  506,  506,  506,  506,  506,  506,  506,  506,    0,
+      510,    0,  510,  510,  510,  510,  510,  510,  511,  511,
+      511,  511,  511,  511,  511,  511,    0,    0,    0,    0,
+      506,  508,    0,  508,  508,  508,  508,  508,  508,  508,
+      508,  510,  513,    0,  513,  513,  513,  513,  513,  513,
+      513,  513,  514,    0,  514,  514,  514,  514,  514,  514,
+      514,  514,  508,  509,    0,  509,  509,  509,  509,  509,
+
+      509,  509,  509,  515,    0,  515,  515,  515,  515,  515,
+      515,  521,    0,  521,  521,  521,  521,  521,  521,  521,
+      521,    0,    0,    0,  509,  525,    0,  525,  525,  525,
+      525,  525,  525,  525,  525,  528,  528,  528,  528,  528,
+      528,  528,  528,  529,  529,  529,  529,  529,  529,  529,
+      529,    0,    0,    0,    0,    0,  525,  526,    0,  526,
+      526,  526,  526,  526,  526,  526,  526,  530,  530,  530,
+      530,  530,  530,  530,  530,  535,  535,  535,  535,  535,
+      535,  535,  535,    0,    0,    0,    0,    0,  526,  527,
+        0,  527,  527,  527,  527,  527,  527,  527,  527,    0,
+
+        0,    0,    0,  539,  535,  539,  539,  539,  539,  539,
+      539,  541,  541,  541,  541,  541,  541,  541,  541,    0,
+      527,  537,    0,  537,  537,  537,  537,  537,  537,  537,
+      537,    0,    0,    0,  539,  542,  542,  542,  542,  542,
+      542,  542,  542,  547,  547,  547,  547,  547,  547,  547,
+      547,    0,  537,  538,    0,  538,  538,  538,  538,  538,
+      538,  538,  538,  548,  548,  548,  548,  548,  548,  548,
+      548,    0,  547,  549,  549,  549,  549,  549,  549,  549,
+      549,    0,    0,    0,  538,  552,  552,  552,  552,  552,
+      552,    0,  548,  551,  551,  551,  551,  551,  551,  551,
+
+      551,    0,  549,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,  552,    0,    0,    0,    0,    0,
+        0,    0,  551,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  556,
+      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
+      556,  556,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  558,    0,    0,    0,  558,
+        0,  558,  558,  558,    0,  558,  558,  558,  559,  559,
+        0,  559,  559,  559,  559,  559,  559,  559,  559,  559,
+
+      559,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  561,    0,    0,    0,  561,    0,
+      561,  561,  561,  561,  561,  561,  561,  562,    0,    0,
+        0,  562,    0,  562,  562,  562,    0,  562,  562,  562,
+      563,    0,    0,  563,  563,    0,  563,  563,  563,    0,
+      563,  563,  563,  564,  564,    0,    0,  564,  565,    0,
+        0,  565,  565,    0,  565,  565,  565,    0,  565,  565,
+      565,  566,    0,    0,  566,  566,  566,  566,  566,  566,
+        0,    0,  566,  566,  567,  567,  568,    0,    0,  568,
+        0,    0,  568,  568,  568,  568,  568,  568,  568,  569,
+
+      569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
+      569,  569,  570,  570,    0,  570,    0,  570,  570,  570,
+      570,  570,  570,  570,  570,  571,  571,    0,  571,  571,
+      571,  571,  571,  571,  571,  571,  571,  571,  572,  572,
+      572,  572,  572,  572,  572,  572,  572,  572,  572,  572,
+      572,  573,  573,    0,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  574,    0,    0,    0,  574,    0,
+      574,  574,  574,    0,  574,  574,  574,  575,    0,    0,
+      575,  575,    0,  575,  575,  575,    0,  575,  575,  575,
+      576,  576,    0,    0,  576,  577,  577,  577,    0,    0,
+
+      577,  578,    0,    0,  578,  578,    0,  578,  578,  578,
+        0,  578,  578,  578,  579,  579,  579,  579,  579,  579,
+      579,  579,  579,  579,  579,  579,  579,  580,  580,    0,
+        0,  580,  581,  581,  581,    0,    0,  581,  582,  582,
+        0,    0,  582,  583,  583,    0,    0,  583,  584,  584,
+        0,    0,  584,  585,  585,  585,    0,    0,  585,  586,
+      586,    0,    0,  586,  587,  587,    0,    0,  587,  588,
+      588,    0,    0,  588,  589,  589,  589,    0,    0,  589,
+      590,  590,  590,  590,    0,    0,  590,  591,  591,    0,
+        0,  591,  592,  592,    0,    0,  592,  593,  593,    0,
+
+        0,  593,  594,  594,  594,    0,    0,  594,  595,  595,
+      595,  595,    0,    0,  595,  596,  596,    0,    0,  596,
+      597,  597,    0,    0,  597,  598,  598,  598,    0,    0,
+      598,  599,  599,  599,  599,    0,    0,  599,  600,  600,
+        0,    0,  600,  601,    0,  601,  601,    0,    0,  601,
+      602,  602,  602,    0,    0,  602,  603,  603,  603,  603,
+        0,    0,  603,  604,  604,    0,    0,  604,  605,    0,
+      605,  605,    0,    0,  605,  606,  606,  606,    0,    0,
+      606,  607,  607,  607,    0,    0,    0,  607,  608,    0,
+        0,    0,  608,    0,  608,  608,  608,    0,  608,  608,
+
+      608,  609,    0,    0,    0,  609,    0,  609,  609,  609,
+        0,  609,  609,  609,  610,  610,    0,    0,  610,  611,
+        0,  611,  611,    0,    0,  611,  612,  612,    0,    0,
+        0,  612,  613,  613,  613,  613,  613,  613,  613,  613,
+      613,  613,  613,  613,  613,  614,  614,    0,    0,  614,
+      615,    0,  615,  615,    0,    0,  615,  616,  616,    0,
+        0,  616,  617,    0,  617,    0,    0,    0,  617,  618,
+        0,    0,    0,  618,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1458,7 +1461,7 @@ extern void yyerror               __P((const char *));
 
 #define INSTR 5
 
-#line 1462 "lex.yy.c"
+#line 1465 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1614,7 +1617,7 @@ YY_DECL
 
 #line 131 "toke.l"
 
-#line 1618 "lex.yy.c"
+#line 1621 "lex.yy.c"
 
        if ( yy_init )
                {
@@ -1666,13 +1669,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 >= 551 )
+                               if ( yy_current_state >= 554 )
                                        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] != 3469 );
+               while ( yy_base[yy_current_state] != 3488 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -2265,7 +2268,7 @@ YY_RULE_SETUP
 #line 540 "toke.l"
 ECHO;
        YY_BREAK
-#line 2269 "lex.yy.c"
+#line 2272 "lex.yy.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -2556,7 +2559,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 >= 551 )
+                       if ( yy_current_state >= 554 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2591,11 +2594,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 >= 551 )
+               if ( yy_current_state >= 554 )
                        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 == 550);
+       yy_is_jam = (yy_current_state == 553);
 
        return yy_is_jam ? 0 : yy_current_state;
        }
diff --git a/toke.l b/toke.l
index 4f990d6fb3ccb23f35d31ab8f170557bbd4af2f3..fee32246c76f09a7f93abd4907f1ef9a3bd87791 100644 (file)
--- a/toke.l
+++ b/toke.l
@@ -347,7 +347,7 @@ NOSETENV[[:blank:]]*:       {
                            return(NETGROUP);
                        }
 
-\%{WORD}               {
+\%:?{WORD}             {
                            /* UN*X group */
                            if (!fill(yytext, yyleng))
                                yyterminate();