X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=x2p%2Fa2p.c;h=b512cf94ad6271a0ea96ec51621bdeac43cbbbab;hb=5459498cf7ff8f9f094292347be22c6312edae62;hp=c6d21e3e4de93a6c243b0ba49e563b85b6c1fdb1;hpb=748a93069b3d16374a9859d1456065dd3ae11394;p=p5sagit%2Fp5-mst-13.2.git diff --git a/x2p/a2p.c b/x2p/a2p.c index c6d21e3..b512cf9 100644 --- a/x2p/a2p.c +++ b/x2p/a2p.c @@ -5,7 +5,7 @@ static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; #line 2 "a2p.y" /* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $ * - * Copyright (c) 1991, Larry Wall + * Copyright (c) 1991-1997, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -32,1053 +32,1113 @@ int ends = Nullop; #define GRGR 265 #define PRINT 266 #define PRINTF 267 -#define SPRINTF 268 -#define SPLIT 269 -#define IF 270 -#define ELSE 271 -#define WHILE 272 -#define FOR 273 -#define IN 274 -#define EXIT 275 -#define NEXT 276 -#define BREAK 277 -#define CONTINUE 278 -#define RET 279 -#define GETLINE 280 -#define DO 281 -#define SUB 282 -#define GSUB 283 -#define MATCH 284 -#define FUNCTION 285 -#define USERFUN 286 -#define DELETE 287 -#define ASGNOP 288 -#define OROR 289 -#define ANDAND 290 -#define NUMBER 291 -#define VAR 292 -#define SUBSTR 293 -#define INDEX 294 -#define MATCHOP 295 -#define RELOP 296 -#define OR 297 -#define STRING 298 -#define UMINUS 299 -#define NOT 300 -#define INCR 301 -#define DECR 302 -#define FIELD 303 -#define VFIELD 304 +#define SPRINTF_OLD 268 +#define SPRINTF_NEW 269 +#define SPLIT 270 +#define IF 271 +#define ELSE 272 +#define WHILE 273 +#define FOR 274 +#define IN 275 +#define EXIT 276 +#define NEXT 277 +#define BREAK 278 +#define CONTINUE 279 +#define RET 280 +#define GETLINE 281 +#define DO 282 +#define SUB 283 +#define GSUB 284 +#define MATCH 285 +#define FUNCTION 286 +#define USERFUN 287 +#define DELETE 288 +#define ASGNOP 289 +#define OROR 290 +#define ANDAND 291 +#define NUMBER 292 +#define VAR 293 +#define SUBSTR 294 +#define INDEX 295 +#define MATCHOP 296 +#define RELOP 297 +#define OR 298 +#define STRING 299 +#define UMINUS 300 +#define NOT 301 +#define INCR 302 +#define DECR 303 +#define FIELD 304 +#define VFIELD 305 #define YYERRCODE 256 short yylhs[] = { -1, 0, 3, 6, 6, 2, 2, 7, 7, 7, 7, 7, 7, 9, 8, 8, 11, 11, 11, 11, 11, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, - 13, 13, 12, 12, 12, 16, 16, 16, 16, 16, + 13, 13, 12, 12, 12, 12, 18, 18, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 17, 17, 17, 17, 10, 10, 10, 18, 18, - 18, 1, 1, 19, 19, 19, 19, 4, 4, 20, - 20, 21, 21, 21, 21, 5, 5, 22, 22, 22, - 22, 25, 25, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 26, 26, 26, 24, - 24, 24, 24, 24, 24, 24, 24, + 16, 16, 16, 16, 17, 17, 17, 17, 10, 10, + 10, 19, 19, 19, 1, 1, 20, 20, 20, 20, + 4, 4, 21, 21, 22, 22, 22, 22, 5, 5, + 23, 23, 23, 23, 26, 26, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 27, + 27, 27, 25, 25, 25, 25, 25, 25, 25, 25, }; short yylen[] = { 2, 2, 6, 5, 2, 3, 0, 1, 5, 10, 4, 1, 1, 1, 1, 3, 1, 1, 1, 1, 5, 3, 4, 4, 2, 3, 3, 3, 3, 3, 3, - 1, 3, 1, 2, 3, 1, 1, 1, 3, 3, - 3, 3, 3, 3, 3, 5, 2, 2, 2, 2, - 2, 2, 3, 1, 2, 3, 4, 3, 4, 1, - 3, 4, 4, 4, 2, 8, 6, 8, 8, 6, - 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, - 8, 1, 4, 1, 2, 1, 1, 0, 4, 4, - 3, 2, 0, 1, 1, 1, 1, 2, 0, 1, - 1, 2, 2, 2, 2, 2, 0, 3, 2, 2, - 1, 1, 0, 1, 4, 2, 4, 2, 1, 1, - 1, 2, 1, 1, 2, 5, 1, 1, 1, 6, - 9, 6, 7, 10, 9, 6, 5, + 1, 3, 1, 2, 5, 3, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 2, 2, 3, 1, 2, 3, 4, 3, + 4, 1, 3, 4, 4, 4, 4, 2, 8, 6, + 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, + 8, 8, 8, 8, 1, 4, 1, 2, 1, 1, + 0, 4, 4, 3, 2, 0, 1, 1, 1, 1, + 2, 0, 1, 1, 2, 2, 2, 2, 2, 0, + 3, 2, 2, 1, 1, 0, 1, 4, 2, 4, + 2, 1, 1, 1, 2, 1, 1, 2, 5, 1, + 1, 1, 6, 9, 6, 7, 10, 9, 6, 5, }; -short yydefred[] = { 93, - 0, 0, 95, 96, 97, 94, 0, 92, 0, 0, - 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, - 0, 84, 0, 99, 0, 11, 0, 93, 0, 0, - 0, 17, 18, 19, 0, 0, 99, 99, 0, 0, - 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 49, - 50, 0, 0, 0, 0, 0, 0, 4, 0, 99, - 0, 99, 99, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, - 0, 0, 61, 0, 0, 0, 0, 99, 99, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 101, 0, 98, 53, 32, 28, 21, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 62, 63, 91, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 13, 64, 83, 0, 0, 99, - 0, 0, 0, 0, 0, 0, 120, 119, 123, 0, - 99, 0, 99, 10, 99, 0, 106, 0, 111, 0, - 0, 0, 22, 59, 93, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 99, 99, 99, 99, 99, 8, 0, 0, 70, 0, - 75, 0, 74, 0, 77, 0, 76, 0, 72, 73, - 0, 67, 0, 71, 128, 127, 129, 0, 0, 0, - 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, - 0, 0, 99, 99, 99, 0, 0, 0, 99, 69, - 68, 79, 78, 81, 80, 0, 66, 0, 0, 0, - 0, 0, 0, 126, 0, 0, 0, 132, 136, 0, - 0, 0, 9, 99, 99, 0, 133, 0, 0, 99, - 131, 135, 0, 134, +short yydefred[] = { 96, + 0, 0, 98, 99, 100, 97, 0, 95, 0, 0, + 31, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, + 0, 0, 87, 0, 102, 0, 11, 0, 96, 0, + 0, 0, 17, 18, 19, 0, 0, 0, 102, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 51, + 52, 0, 0, 0, 0, 0, 0, 4, 0, 102, + 0, 102, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 0, 68, 0, 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 104, 0, 101, 55, 32, + 28, 21, 0, 0, 0, 0, 0, 0, 30, 0, + 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 102, 102, 0, 0, 64, + 65, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 66, 86, 0, 0, 102, 0, 0, 0, 0, + 0, 0, 123, 122, 126, 0, 102, 0, 102, 10, + 102, 0, 109, 0, 114, 0, 0, 0, 22, 0, + 61, 94, 0, 0, 96, 3, 0, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 102, + 102, 102, 102, 8, 0, 0, 0, 0, 0, 73, + 0, 78, 0, 77, 0, 80, 0, 79, 0, 75, + 76, 0, 70, 0, 74, 131, 130, 132, 0, 0, + 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 102, 102, 102, 0, 0, 0, 102, + 72, 71, 82, 81, 84, 83, 0, 69, 0, 0, + 0, 0, 0, 0, 129, 0, 0, 0, 135, 139, + 0, 0, 0, 9, 102, 102, 0, 136, 0, 0, + 102, 134, 138, 0, 137, }; short yydgoto[] = { 1, - 2, 7, 36, 73, 125, 37, 38, 39, 164, 52, - 53, 41, 42, 43, 44, 45, 46, 55, 8, 126, - 225, 187, 188, 189, 254, 248, + 2, 7, 37, 73, 127, 38, 39, 40, 170, 103, + 74, 192, 43, 44, 45, 46, 47, 48, 105, 8, + 128, 233, 193, 194, 195, 265, 259, }; short yysindex[] = { 0, - 0, -48, 0, 0, 0, 0, 6619, 0, -121, -110, - 0, -4, 32, 4183, 38, 30, 51, 64, 68, -260, - 70, 0, -61, 82, 83, 0, 4448, 4448, 4448, -183, - -183, 0, 4448, 0, 4448, 0, -188, 0, 3, 22, - 6884, 0, 0, 0, 34, -213, 0, 0, 2061, 4183, - 4183, 0, -49, 5612, 85, 4448, 4448, 14, 4713, 6753, - 4448, 87, 4183, 4183, 4448, 4448, -77, -77, 0, 0, - 0, 18, -192, -36, 91, 92, 95, 0, -48, 0, - 4448, 0, 0, 4448, 6980, 4448, 4448, 4448, 34, -154, - 4448, 4448, 4448, 4448, 4448, 4448, -135, 4448, 0, 0, - -192, -192, 0, 5658, 106, 5612, 11, 0, 0, 5704, - 186, 4448, 113, 5751, 115, 5805, 5885, 4183, 114, 67, - 5931, 5978, 0, 0, 4572, 0, 0, 0, 0, 0, - -192, 6032, 1964, 1964, -49, 0, 3230, 186, 186, 186, - 0, 97, 97, -77, -77, -77, -77, -183, -49, 4665, - 4765, 0, 0, 0, 1964, 1964, -131, 186, 4448, 4448, - 4448, 4448, 7026, 121, 0, 0, 0, 4448, 4448, 0, - 4183, 4183, 124, 125, 132, 4448, 0, 0, 0, 4448, - 0, -117, 0, 0, 0, 6884, 0, -44, 0, 4837, - 4448, -114, 0, 0, 0, 0, 6884, 6884, 13, 3635, - 5295, 5367, 5506, 137, 6078, 0, 5560, 6243, -192, -59, - -59, 4448, 4448, 5241, 6884, 6884, 3701, 93, -192, -192, - 0, 0, 0, 0, 0, 0, 6884, -48, 0, 7084, - 0, 4448, 0, 4448, 0, 4448, 0, 4448, 0, 0, - -119, 0, 4448, 0, 0, 0, 0, 4448, 4448, -34, - -16, 6343, 0, 123, -89, 4183, 4930, -192, -192, -192, - -192, -192, 144, 6389, 6435, 6508, 6554, 6700, 0, 6819, - 6884, 6884, 0, 0, 0, 6930, 146, 94, 0, 0, - 0, 0, 0, 0, 0, -192, 0, 3701, 3701, 3701, - 5241, -53, 4448, 0, -192, 5030, -83, 0, 0, 148, - 5241, -13, 0, 0, 0, 149, 0, 3701, 3701, 0, - 0, 0, 3701, 0, + 0, -52, 0, 0, 0, 0, 2796, 0, -90, -86, + 0, 17, 25, 0, 38, 44, -57, 45, 47, 48, + -219, 49, 0, -1, 51, 52, 0, 7708, 7708, 6350, + -238, -238, 0, 7708, 0, 6350, 0, -165, 0, -21, + -12, 5968, 0, 0, 0, -32, -253, 7759, 0, 0, + 7372, 7759, 7759, 7708, 7708, 46, 7419, 7473, 7708, 65, + 7759, 7759, 7708, 7708, 6350, -54, -228, -54, 0, 0, + 0, -5, -185, -41, 71, 76, 80, 0, -52, 0, + 7708, 0, 0, 6350, 7708, 7528, 7708, 7708, 7708, -32, + -171, 7708, 7708, 7708, 7708, 7708, 7708, -152, 6350, 0, + 0, 6397, 0, 6481, 86, -185, -185, 0, 6528, 90, + 91, 6583, 184, 7708, 89, 6630, 93, 6673, 6716, 7759, + 94, 41, 6761, 6816, 0, 0, 5228, 0, 0, 0, + 0, 0, -185, 6863, 6015, 6015, -49, 6906, 0, 184, + 184, 184, 184, 0, -8, -8, -54, -54, -54, -54, + -238, -49, 6397, 5924, 28, 0, 0, 5320, 5411, 0, + 0, 0, -154, 184, 7708, 7708, 7708, 7708, 7575, 100, + 0, 0, 0, 7708, 7708, 0, 7759, 7759, 104, 105, + 117, 7708, 0, 0, 0, 7708, 0, -151, 0, 0, + 0, 7618, 0, -43, 0, 5495, 7708, -129, 0, 7708, + 0, 0, 3816, 3816, 0, 0, 29, 6062, 6119, 6203, + 6248, 122, 6949, 0, 6295, 6994, -185, -45, -45, 6350, + 6350, 4306, 7618, 7618, 4429, 81, -185, -185, 0, 0, + 0, 0, 0, 0, 7618, 7618, 7618, 7618, -52, 0, + 7665, 0, 7708, 0, 7708, 0, 7708, 0, 7708, 0, + 0, -96, 0, 7708, 0, 0, 0, 0, 7708, 7708, + -39, -37, 7049, 0, 108, -97, 7759, 5586, -185, -185, + -185, -185, -185, 136, 7096, 7139, 7182, 7227, 7282, 0, + 7329, 7618, 7618, 0, 0, 0, 3890, 138, 88, 0, + 0, 0, 0, 0, 0, 0, -185, 0, 4429, 4429, + 4429, 4306, -51, 6350, 0, -185, 5678, -89, 0, 0, + 141, 4306, -35, 0, 0, 0, 143, 0, 4429, 4429, + 0, 0, 0, 4429, 0, }; short yyrindex[] = { 0, - 0, 2015, 0, 0, 0, 0, 192, 0, 0, 0, - 0, 56, 0, 3424, 0, 2619, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2147, 0, 2195, 1676, - 3509, 0, 0, 0, 1782, 1340, 0, 0, 0, 152, - 0, 0, 0, 3829, 111, 0, 0, 381, 0, 0, - 0, 0, 152, 101, 0, 0, 564, 834, 0, 0, - 0, 436, 5102, 0, -47, 39, 42, 0, 2245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5102, 5102, 0, 72, 0, 17, 0, 0, 0, 72, - 2718, 0, 74, 72, 74, 72, 72, 152, 0, 0, - 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, - 5102, 72, 0, 0, 1882, 0, 3464, 3057, 3097, 3145, - 0, 1468, 1734, 888, 942, 1016, 1286, 2564, 1395, 0, - 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 538, 538, 0, 0, 0, 122, 0, 0, 0, 241, - 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, - 0, 491, 0, 0, 0, 0, 3549, 3594, 0, 72, - 72, 72, 72, 74, 72, 0, 72, 72, 3866, 296, - 357, 0, 0, 136, -10, 169, 0, 0, 5102, 3970, - 0, 0, 0, 0, 0, 0, 3784, 2294, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -51, 0, 0, 0, 101, 0, 4038, 4135, 4235, - 4307, 4400, 74, 72, 72, 72, 72, 72, 0, 72, - 507, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5102, 0, 0, 0, 0, - 155, 0, 0, 0, 4500, 0, 5195, 0, 0, 0, - 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 0, 2452, 0, 0, 0, 0, 185, 0, 0, 0, + 0, 56, 0, 0, 111, 0, 2886, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2279, 0, 2328, + 2048, 4023, 0, 0, 0, 2120, 1671, 3590, 0, 0, + 0, 145, 145, 0, 0, 382, 0, 0, 0, 0, + 145, 95, 0, 0, 0, 818, 872, 946, 0, 0, + 0, 437, 5769, 0, -16, -10, 18, 0, 2511, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3951, 492, 5769, 5769, 0, 0, 0, + 0, 0, 2934, 0, 0, 0, 0, 0, 0, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5769, 0, 0, 0, 2221, 0, 0, 2982, + 3222, 3267, 3312, 0, 1781, 1854, 1217, 1271, 1325, 1400, + 2619, 1726, 0, -23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3381, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 102, 0, 0, + 0, 171, 0, 0, 0, 174, 0, 0, 0, 0, + 0, 242, 0, 0, 0, 0, 0, 763, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4508, 248, 297, 0, + 0, 128, 350, 358, 0, 0, 5769, 4604, 0, 0, + 0, 0, 0, 0, 3657, 3705, 3760, 3866, 2561, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 130, 0, 0, 0, 95, 0, 4695, 4779, + 4870, 4962, 5053, 0, 0, 0, 0, 0, 0, 0, + 0, 398, 431, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5769, 0, 0, 0, + 0, 149, 0, 0, 0, 5137, 0, 5853, 0, 0, + 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, }; short yygindex[] = { 0, - -18, 0, 0, 7251, -19, 0, 0, 0, 0, -31, - 33, 2875, -14, -12, 16, 7373, 76, 147, 0, 0, - 0, 231, -205, 0, -267, -9, + -30, 0, 0, 4250, -24, 0, 0, 0, 0, 397, + 24, 4208, -17, -15, -13, 7990, 4404, 0, -82, 0, + 0, 0, -173, -192, 0, -277, -28, }; -#define YYTABLESIZE 7645 -short yytable[] = { 114, - 82, 47, 246, 269, 127, 301, 273, 114, 253, 81, - 6, 16, 48, 81, 224, 17, 96, 114, 105, 79, - 75, 16, 76, 300, 274, 62, 81, 307, 81, 64, - 122, 119, 120, 306, 97, 49, 75, 82, 76, 40, - 82, 82, 82, 82, 82, 82, 81, 82, 122, 81, - 77, 154, 16, 229, 109, 60, 230, 16, 82, 82, - 82, 69, 82, 82, 247, 84, 77, 74, 123, 124, - 95, 50, 78, 112, 98, 93, 91, 56, 92, 16, - 94, 150, 151, 74, 81, 253, 165, 99, 100, 57, - 59, 58, 60, 82, 82, 253, 60, 60, 60, 60, - 60, 18, 60, 60, 19, 70, 71, 61, 23, 63, - 87, 190, 82, 60, 60, 60, 135, 60, 60, 32, - 33, 65, 66, 82, 82, 80, 118, 96, 109, 97, - 149, 128, 129, 95, 16, 130, 31, 141, 93, 210, - 211, 123, 124, 94, 148, 97, 153, 87, 60, 60, - 87, 87, 87, 87, 166, 87, 159, 87, 161, 167, - 199, 206, 121, 212, 213, 192, 193, 60, 87, 87, - 87, 214, 87, 87, 218, 83, 228, 239, 60, 60, - 121, 276, 277, 256, 280, 293, 294, 304, 305, 310, - 96, 1, 88, 88, 113, 113, 0, 107, 0, 257, - 0, 249, 0, 87, 87, 245, 0, 0, 97, 125, - 0, 3, 4, 5, 0, 221, 222, 223, 114, 114, - 114, 0, 87, 194, 278, 35, 0, 125, 27, 0, - 28, 16, 0, 87, 87, 82, 83, 16, 16, 82, - 83, 17, 17, 0, 250, 251, 0, 16, 16, 122, - 122, 122, 82, 83, 82, 83, 0, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 296, 0, 82, 82, - 0, 0, 82, 83, 82, 82, 83, 0, 16, 16, - 82, 124, 82, 82, 82, 82, 82, 0, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 0, 82, 124, - 82, 82, 82, 82, 82, 16, 16, 90, 292, 0, - 82, 83, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 23, 0, 60, 60, 302, 0, 18, 18, 60, - 19, 19, 32, 33, 0, 60, 116, 60, 60, 60, - 60, 60, 0, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 0, 60, 116, 60, 60, 60, 60, 60, - 16, 16, 31, 31, 0, 0, 0, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 0, 0, 87, 87, - 55, 121, 121, 121, 87, 0, 0, 0, 0, 0, - 87, 0, 87, 87, 87, 87, 87, 118, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 0, 87, 0, - 87, 87, 87, 87, 87, 118, 0, 55, 0, 0, - 55, 55, 55, 55, 55, 55, 0, 55, 125, 125, - 125, 0, 0, 0, 0, 85, 0, 0, 55, 55, - 0, 0, 55, 55, 11, 0, 0, 255, 12, 13, - 0, 0, 0, 14, 15, 0, 0, 16, 16, 0, - 0, 0, 0, 0, 0, 16, 0, 17, 18, 19, - 0, 21, 85, 55, 55, 33, 85, 85, 85, 85, - 85, 0, 85, 26, 0, 29, 30, 31, 32, 33, - 23, 0, 55, 85, 85, 33, 0, 33, 33, 0, - 124, 124, 124, 55, 55, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 23, 85, 85, - 23, 23, 23, 23, 23, 23, 0, 23, 311, 312, - 0, 0, 0, 314, 0, 0, 0, 115, 23, 23, - 23, 0, 23, 23, 0, 116, 116, 116, 85, 85, - 0, 0, 0, 52, 0, 115, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, - 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 117, 0, 0, 88, 0, 0, 88, - 52, 0, 23, 33, 52, 52, 52, 52, 52, 0, - 52, 117, 0, 23, 23, 16, 118, 118, 118, 0, - 0, 52, 52, 33, 0, 33, 33, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 0, 0, 55, 55, - 0, 0, 0, 0, 55, 0, 52, 0, 0, 0, - 55, 88, 55, 55, 55, 55, 55, 0, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 0, 55, 0, - 55, 55, 55, 55, 55, 0, 52, 52, 0, 0, - 0, 0, 85, 85, 33, 85, 85, 85, 33, 33, - 85, 0, 0, 33, 33, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 33, 0, 33, 33, 33, - 85, 33, 0, 85, 33, 33, 33, 33, 33, 33, - 33, 33, 0, 33, 0, 33, 33, 33, 33, 33, - 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 0, 0, 23, 23, - 0, 0, 0, 0, 23, 0, 115, 115, 115, 0, - 23, 0, 23, 23, 23, 23, 23, 0, 23, 23, - 0, 23, 23, 23, 23, 23, 23, 0, 23, 0, - 23, 23, 23, 23, 23, 16, 16, 88, 88, 88, - 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 117, 117, 117, 0, 0, 0, 0, 0, - 52, 52, 33, 52, 52, 52, 33, 33, 52, 0, - 0, 33, 33, 51, 0, 0, 0, 52, 0, 0, - 0, 16, 16, 33, 0, 33, 33, 33, 52, 33, - 0, 52, 33, 33, 33, 33, 33, 33, 33, 33, - 0, 33, 0, 33, 33, 33, 33, 33, 0, 0, - 51, 0, 0, 33, 51, 51, 51, 51, 51, 0, - 51, 0, 0, 0, 0, 0, 0, 41, 0, 0, - 0, 51, 51, 33, 0, 33, 33, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 41, 0, 51, 33, 41, 41, - 41, 41, 41, 0, 41, 0, 0, 0, 0, 0, - 0, 42, 0, 0, 0, 41, 41, 33, 0, 33, - 33, 0, 0, 0, 0, 0, 51, 51, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, - 41, 33, 42, 42, 42, 42, 42, 0, 42, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, - 42, 33, 0, 33, 33, 0, 0, 0, 0, 0, - 41, 41, 0, 0, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 43, 0, 0, 33, 43, 43, 43, 43, - 43, 0, 43, 0, 42, 42, 0, 0, 0, 0, - 0, 0, 0, 43, 43, 33, 0, 33, 33, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 51, 33, 51, 51, 51, 33, 33, 51, 0, - 0, 33, 33, 0, 0, 0, 0, 51, 43, 0, - 0, 0, 0, 33, 0, 33, 33, 33, 51, 33, - 0, 51, 33, 33, 33, 33, 33, 33, 33, 33, - 0, 33, 0, 33, 33, 33, 33, 33, 43, 43, - 0, 0, 0, 0, 41, 41, 33, 41, 41, 41, - 33, 33, 41, 0, 0, 33, 33, 0, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 33, 0, 33, - 33, 33, 41, 33, 0, 41, 33, 33, 33, 33, - 33, 33, 33, 33, 0, 33, 0, 33, 33, 33, - 33, 33, 0, 0, 0, 0, 0, 0, 42, 42, - 33, 42, 42, 42, 33, 33, 42, 0, 0, 33, - 33, 0, 0, 0, 0, 42, 0, 0, 0, 0, - 0, 33, 0, 33, 33, 33, 42, 33, 0, 42, - 33, 33, 33, 33, 33, 33, 33, 33, 0, 33, - 0, 33, 33, 33, 33, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 43, 43, 33, 43, 43, 43, 33, 33, - 43, 0, 0, 33, 33, 44, 0, 0, 0, 43, - 0, 0, 0, 0, 0, 33, 0, 33, 33, 33, - 43, 33, 0, 43, 33, 33, 33, 33, 33, 33, - 33, 33, 0, 33, 0, 33, 33, 33, 33, 33, - 0, 0, 44, 0, 0, 33, 44, 44, 44, 44, - 44, 0, 44, 0, 0, 0, 0, 0, 0, 36, - 0, 0, 0, 44, 44, 33, 0, 33, 33, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 0, 44, 36, - 36, 36, 36, 36, 36, 0, 36, 0, 0, 0, - 0, 0, 0, 0, 35, 0, 0, 36, 36, 36, - 0, 36, 36, 0, 0, 0, 0, 0, 44, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 35, 36, 36, 35, 35, 35, 35, 35, 35, - 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 36, 35, 35, 35, 0, 35, 0, 0, 0, - 0, 0, 36, 36, 0, 0, 0, 39, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 35, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 35, 33, 39, 0, - 39, 39, 39, 0, 0, 0, 0, 35, 35, 0, - 0, 0, 0, 0, 0, 39, 39, 33, 0, 33, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 44, 33, 44, 44, 44, 33, 33, - 44, 0, 0, 33, 33, 0, 0, 0, 0, 44, - 39, 0, 0, 0, 0, 33, 0, 33, 33, 33, - 44, 33, 0, 44, 33, 33, 33, 33, 33, 33, - 33, 33, 0, 33, 0, 33, 33, 33, 33, 33, - 39, 39, 0, 0, 0, 0, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 0, 0, 36, 36, 0, - 0, 0, 0, 36, 0, 0, 0, 0, 0, 36, - 0, 36, 36, 36, 36, 36, 0, 0, 36, 36, - 36, 36, 36, 36, 36, 36, 0, 36, 0, 36, - 0, 0, 36, 36, 0, 0, 0, 0, 0, 0, - 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 0, 0, 35, 35, 0, 0, 0, 0, 35, 0, - 0, 0, 0, 0, 35, 14, 35, 35, 35, 35, - 35, 0, 35, 0, 0, 35, 35, 35, 35, 35, - 35, 0, 35, 0, 35, 35, 35, 35, 35, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 14, 0, - 14, 0, 0, 0, 39, 39, 33, 39, 39, 39, - 33, 33, 39, 40, 14, 33, 33, 0, 0, 0, - 0, 39, 0, 0, 0, 0, 0, 33, 0, 33, - 33, 33, 39, 33, 0, 39, 33, 33, 33, 33, - 33, 33, 33, 33, 0, 33, 0, 33, 33, 33, - 33, 33, 0, 33, 40, 0, 40, 40, 40, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 40, 33, 0, 33, 33, 0, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 33, 33, 0, 0, 33, 40, 0, 0, 34, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, - 33, 33, 0, 33, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 40, 40, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, - 34, 0, 0, 34, 33, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 0, 0, 34, 34, 33, - 0, 33, 33, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 34, 0, 15, 0, 15, 0, 0, 0, - 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, - 15, 0, 0, 14, 14, 0, 0, 0, 0, 0, - 0, 0, 34, 34, 0, 14, 0, 14, 14, 14, - 14, 14, 0, 0, 0, 0, 14, 14, 14, 14, - 0, 0, 0, 14, 0, 14, 14, 14, 14, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 40, 33, 40, 40, 40, 33, 33, 40, 0, - 0, 33, 33, 35, 15, 0, 27, 40, 28, 0, - 0, 0, 0, 33, 6, 33, 33, 33, 40, 33, - 0, 40, 33, 33, 33, 33, 33, 33, 33, 33, - 0, 33, 0, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 0, 0, 33, - 33, 0, 0, 0, 6, 0, 0, 6, 0, 6, - 0, 33, 0, 33, 33, 33, 33, 33, 0, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 0, 33, - 0, 33, 33, 33, 33, 33, 34, 34, 33, 34, - 34, 34, 33, 33, 34, 0, 0, 33, 33, 0, - 35, 103, 0, 27, 0, 28, 0, 0, 0, 33, - 0, 33, 33, 33, 34, 33, 0, 34, 33, 33, - 33, 33, 33, 33, 33, 33, 0, 33, 0, 33, - 33, 33, 33, 33, 0, 0, 0, 6, 15, 15, - 15, 15, 15, 15, 15, 15, 12, 0, 0, 15, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 0, 15, 15, 15, 15, 15, 0, 0, - 0, 0, 15, 15, 15, 15, 0, 0, 0, 15, - 0, 15, 15, 15, 15, 15, 12, 0, 0, 12, - 0, 12, 0, 0, 7, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 123, 124, 12, 13, 0, 0, - 0, 14, 15, 0, 7, 0, 0, 7, 0, 7, - 0, 0, 0, 16, 5, 17, 18, 19, 0, 21, - 0, 0, 0, 7, 22, 23, 24, 25, 0, 0, - 0, 26, 0, 29, 30, 31, 32, 33, 0, 12, - 0, 6, 6, 6, 0, 0, 0, 6, 6, 0, - 0, 0, 6, 6, 5, 0, 0, 5, 0, 5, - 0, 0, 0, 2, 6, 0, 6, 6, 6, 6, - 6, 0, 0, 0, 0, 6, 6, 6, 6, 0, - 0, 0, 6, 0, 6, 6, 6, 6, 6, 11, - 0, 0, 0, 12, 13, 0, 0, 0, 14, 15, - 0, 0, 0, 2, 0, 0, 2, 0, 2, 0, - 16, 0, 17, 18, 19, 0, 21, 0, 0, 0, - 0, 22, 23, 24, 25, 0, 0, 0, 26, 0, - 29, 30, 31, 32, 33, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12, 12, 12, 12, 0, 12, 12, - 12, 0, 0, 0, 12, 12, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 0, 12, 12, - 12, 12, 12, 0, 0, 0, 0, 12, 12, 12, - 12, 0, 0, 0, 12, 0, 12, 12, 12, 12, - 12, 7, 7, 7, 7, 7, 7, 7, 7, 0, - 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 7, 7, 7, 7, - 7, 0, 0, 0, 0, 7, 7, 7, 7, 0, - 0, 0, 7, 0, 7, 7, 7, 7, 7, 0, - 0, 5, 5, 5, 0, 0, 0, 5, 5, 0, - 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 5, 5, 5, 5, - 5, 0, 0, 0, 0, 5, 5, 5, 5, 0, - 0, 0, 5, 0, 5, 5, 5, 5, 5, 0, - 2, 2, 2, 0, 0, 0, 2, 2, 0, 0, - 0, 2, 2, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, - 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, - 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, - 58, 0, 0, 58, 58, 58, 58, 58, 58, 0, - 58, 0, 0, 0, 0, 0, 0, 0, 54, 0, - 0, 58, 58, 58, 0, 58, 58, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 54, 58, 58, 54, 54, - 54, 54, 54, 54, 0, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 58, 54, 54, 0, 0, - 54, 54, 0, 0, 0, 0, 58, 58, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 54, 0, 0, 0, 0, 56, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 54, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 0, 56, 56, - 0, 56, 0, 0, 56, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 56, 56, 0, 56, - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 56, - 0, 58, 58, 0, 0, 0, 0, 58, 0, 0, - 56, 56, 0, 58, 0, 58, 58, 58, 58, 58, - 0, 58, 58, 58, 58, 0, 58, 58, 58, 58, - 0, 58, 0, 58, 58, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 0, 0, 54, 54, 54, 0, +#define YYTABLESIZE 8273 +short yytable[] = { 129, + 85, 284, 55, 285, 96, 318, 6, 312, 79, 94, + 92, 81, 93, 81, 95, 232, 257, 16, 75, 155, + 76, 81, 77, 81, 311, 81, 280, 81, 96, 264, + 41, 84, 49, 94, 317, 99, 50, 85, 95, 97, + 85, 85, 85, 85, 85, 85, 17, 85, 100, 101, + 81, 266, 18, 69, 24, 62, 51, 98, 85, 85, + 85, 97, 85, 85, 52, 33, 34, 60, 202, 240, + 155, 157, 241, 100, 101, 125, 126, 53, 258, 98, + 19, 158, 159, 54, 57, 97, 58, 59, 61, 62, + 63, 64, 62, 85, 85, 78, 62, 62, 62, 62, + 62, 80, 62, 98, 120, 114, 98, 137, 196, 264, + 37, 130, 85, 62, 62, 62, 131, 62, 62, 264, + 132, 144, 152, 85, 85, 308, 309, 310, 151, 157, + 161, 162, 165, 173, 172, 75, 167, 76, 207, 77, + 214, 226, 91, 220, 221, 322, 323, 37, 62, 62, + 325, 37, 37, 37, 37, 37, 222, 37, 198, 199, + 91, 83, 250, 91, 125, 126, 287, 62, 37, 37, + 37, 267, 37, 37, 239, 288, 291, 304, 62, 62, + 305, 316, 315, 321, 1, 91, 116, 91, 117, 116, + 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 268, 37, 37, 0, 0, 3, 4, 5, + 0, 124, 0, 0, 127, 0, 229, 230, 231, 256, + 0, 0, 37, 65, 0, 91, 28, 0, 29, 124, + 0, 0, 127, 37, 37, 24, 0, 0, 82, 83, + 82, 83, 91, 261, 262, 0, 33, 34, 82, 83, + 82, 83, 82, 83, 82, 83, 0, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 16, 16, 85, 85, + 85, 0, 307, 17, 17, 85, 0, 82, 83, 18, + 18, 85, 117, 85, 85, 85, 85, 85, 119, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, + 117, 85, 85, 85, 85, 85, 119, 19, 19, 0, + 303, 0, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 0, 0, 62, 62, 62, 0, 313, 0, 0, + 62, 0, 0, 0, 0, 0, 62, 121, 62, 62, + 62, 62, 62, 0, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 0, 62, 121, 62, 62, 62, 62, + 62, 91, 91, 91, 0, 0, 91, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 0, 0, 37, 37, + 37, 57, 0, 0, 0, 37, 0, 0, 0, 0, + 125, 37, 0, 37, 37, 37, 37, 37, 128, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 125, 37, + 0, 37, 37, 37, 37, 37, 128, 0, 57, 0, + 0, 57, 57, 57, 57, 57, 57, 0, 57, 0, + 124, 124, 124, 127, 127, 127, 88, 0, 118, 57, + 57, 0, 0, 57, 57, 0, 12, 13, 110, 111, + 0, 14, 15, 16, 0, 0, 118, 121, 122, 0, + 0, 0, 0, 0, 17, 0, 18, 19, 20, 0, + 22, 120, 0, 88, 57, 57, 88, 88, 88, 88, + 88, 88, 27, 88, 0, 31, 32, 33, 34, 120, + 0, 90, 0, 57, 88, 88, 88, 0, 88, 88, + 0, 117, 117, 117, 57, 57, 0, 119, 119, 119, + 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 90, 88, + 88, 90, 90, 90, 90, 0, 90, 0, 90, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, + 90, 90, 0, 90, 90, 0, 121, 121, 121, 88, + 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 218, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 90, 90, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 90, 0, 0, 0, 0, 0, 125, + 125, 125, 0, 0, 90, 90, 0, 128, 128, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 0, 0, 57, + 57, 57, 0, 0, 0, 0, 57, 118, 118, 118, + 0, 0, 57, 289, 57, 57, 57, 57, 57, 0, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, + 57, 0, 57, 57, 57, 57, 57, 0, 0, 0, + 120, 120, 120, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 0, 0, 88, 88, 88, 0, 0, 0, + 0, 88, 0, 0, 0, 0, 0, 88, 0, 88, + 88, 88, 88, 88, 0, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 0, 88, 0, 88, 88, 88, + 88, 88, 0, 0, 0, 0, 0, 0, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 0, 0, 90, + 90, 90, 23, 0, 0, 0, 90, 0, 0, 0, + 0, 0, 90, 0, 90, 90, 90, 90, 90, 0, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, + 90, 0, 90, 90, 90, 90, 90, 0, 0, 23, + 0, 0, 23, 23, 23, 23, 23, 23, 0, 23, + 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, + 23, 23, 23, 0, 23, 23, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 23, 23, 54, 54, 54, + 54, 54, 54, 0, 54, 0, 0, 0, 0, 0, + 0, 39, 0, 0, 23, 54, 54, 54, 0, 54, + 54, 0, 0, 0, 0, 23, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, + 54, 39, 39, 39, 39, 39, 39, 0, 39, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, + 39, 39, 0, 39, 39, 0, 0, 0, 0, 0, + 54, 54, 0, 0, 0, 53, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 39, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 53, 39, 0, 53, 53, 53, 53, 53, + 53, 0, 53, 0, 39, 39, 0, 0, 0, 0, + 0, 0, 0, 53, 53, 53, 0, 53, 53, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, + 23, 23, 23, 0, 0, 0, 0, 23, 53, 0, + 0, 0, 0, 23, 0, 23, 23, 23, 23, 23, + 0, 23, 23, 0, 23, 23, 23, 23, 23, 23, + 0, 23, 0, 23, 23, 23, 23, 23, 53, 53, + 0, 0, 0, 0, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 0, 0, 54, 54, 54, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 54, 0, 54, 54, 54, 54, 54, 0, 54, 54, 54, 54, - 0, 54, 54, 54, 54, 0, 54, 0, 54, 54, - 54, 0, 0, 104, 54, 106, 0, 0, 0, 0, - 110, 111, 0, 114, 116, 117, 0, 54, 54, 121, - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 0, 0, 0, 137, - 138, 139, 140, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 56, 0, 56, 56, 56, - 0, 0, 56, 0, 0, 0, 158, 0, 0, 0, - 0, 56, 54, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 56, 0, 0, 56, 16, 16, 56, 56, - 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 186, 0, 0, 0, 197, - 198, 0, 0, 200, 201, 202, 203, 205, 0, 0, - 0, 0, 207, 208, 0, 54, 54, 0, 0, 0, - 215, 0, 0, 0, 216, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 186, 227, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, - 0, 186, 0, 25, 0, 0, 27, 25, 25, 0, - 25, 0, 0, 25, 264, 0, 265, 0, 266, 0, - 267, 0, 268, 0, 25, 25, 25, 270, 25, 16, - 0, 0, 271, 272, 0, 0, 0, 0, 0, 0, - 54, 186, 0, 27, 0, 0, 0, 27, 27, 0, - 27, 0, 0, 27, 26, 0, 0, 0, 0, 25, - 25, 0, 0, 0, 27, 27, 27, 0, 27, 16, - 0, 0, 186, 186, 186, 186, 0, 0, 25, 0, - 186, 0, 0, 0, 0, 186, 0, 0, 0, 25, - 25, 26, 186, 186, 57, 26, 26, 186, 26, 27, - 27, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 26, 26, 26, 0, 26, 16, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, - 27, 57, 0, 0, 0, 57, 57, 0, 57, 0, - 0, 57, 0, 0, 0, 0, 0, 26, 26, 0, - 0, 0, 57, 57, 57, 0, 57, 16, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 26, 35, - 0, 0, 27, 0, 28, 0, 0, 57, 57, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 88, 0, 0, 0, 0, 57, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 57, 57, 0, - 0, 0, 0, 25, 25, 0, 25, 25, 25, 0, - 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 0, 0, 25, 16, 16, 25, 25, 25, - 25, 25, 25, 27, 27, 0, 27, 27, 27, 0, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 54, 54, 54, 54, 0, 54, 0, 54, 54, + 54, 54, 54, 0, 0, 0, 0, 0, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 0, 0, 39, + 39, 39, 0, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 39, 0, 39, 39, 39, 39, 39, 0, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, + 39, 0, 39, 0, 0, 39, 39, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 0, 0, 53, 53, 53, 44, 0, 0, 0, + 53, 0, 0, 0, 0, 0, 53, 0, 53, 53, + 53, 53, 53, 0, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 0, 53, 0, 53, 53, 53, 53, + 53, 0, 0, 44, 0, 0, 44, 44, 44, 44, + 44, 44, 0, 44, 0, 0, 0, 0, 0, 0, + 45, 0, 0, 0, 44, 44, 44, 0, 44, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 44, + 45, 45, 45, 45, 45, 45, 0, 45, 0, 0, + 0, 0, 0, 0, 46, 0, 0, 0, 45, 45, + 45, 0, 45, 45, 0, 0, 0, 0, 0, 44, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 0, 45, 46, 46, 46, 46, 46, 46, + 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 46, 46, 46, 0, 46, 46, 0, 0, + 0, 0, 0, 45, 45, 0, 0, 0, 0, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 0, 0, 47, + 47, 47, 47, 47, 47, 0, 47, 46, 46, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 47, 47, + 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, + 44, 44, 0, 0, 44, 44, 44, 0, 0, 0, + 0, 44, 47, 0, 0, 0, 0, 44, 0, 44, + 44, 44, 44, 44, 0, 44, 44, 44, 44, 44, + 44, 44, 44, 44, 0, 44, 0, 44, 44, 44, + 44, 44, 47, 47, 0, 0, 0, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 0, 0, 45, 45, + 45, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 45, 0, 45, 45, 45, 45, 45, 0, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 0, 45, + 0, 45, 45, 45, 45, 45, 0, 0, 0, 0, + 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 0, 0, 46, 46, 46, 0, 0, 0, 0, 46, + 0, 0, 0, 0, 0, 46, 0, 46, 46, 46, + 46, 46, 0, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 0, 46, 0, 46, 46, 46, 46, 46, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 0, 0, 47, 47, 47, + 39, 0, 0, 0, 47, 0, 0, 0, 0, 0, + 47, 0, 47, 47, 47, 47, 47, 0, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 0, 47, 0, + 47, 47, 47, 47, 47, 0, 0, 39, 0, 0, + 39, 39, 39, 39, 39, 39, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 36, 0, 0, 39, 39, + 39, 0, 39, 39, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 36, 39, 39, 36, 36, 36, 36, 36, + 36, 0, 36, 0, 0, 0, 0, 0, 0, 0, + 42, 0, 39, 36, 36, 36, 0, 36, 0, 0, + 0, 0, 0, 39, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, + 42, 42, 0, 42, 42, 42, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 36, 42, 42, + 42, 0, 42, 42, 0, 0, 0, 0, 36, 36, + 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 43, 0, 43, 43, 43, 0, + 0, 0, 0, 42, 42, 0, 0, 0, 0, 0, + 0, 43, 43, 43, 0, 43, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 0, 0, 39, 39, + 39, 0, 0, 0, 0, 39, 43, 0, 0, 0, + 0, 39, 0, 39, 39, 39, 39, 39, 0, 0, + 39, 39, 39, 39, 39, 39, 39, 39, 0, 39, + 0, 39, 0, 0, 39, 39, 43, 43, 0, 0, + 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 0, 0, 36, 36, 36, 0, 0, 0, 0, + 36, 0, 0, 0, 0, 0, 36, 0, 36, 36, + 36, 36, 36, 0, 36, 0, 0, 36, 36, 36, + 36, 36, 36, 0, 36, 0, 36, 36, 36, 36, + 36, 0, 0, 0, 0, 0, 0, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 0, 14, 42, 42, + 42, 0, 0, 0, 0, 42, 0, 0, 0, 0, + 0, 42, 0, 42, 42, 42, 42, 42, 0, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 0, 42, + 0, 42, 42, 42, 42, 42, 0, 14, 0, 0, + 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 33, + 0, 43, 43, 43, 0, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 43, 0, 43, 43, 43, 43, + 43, 0, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 0, 43, 0, 43, 43, 43, 43, 43, 33, + 33, 0, 0, 33, 0, 0, 0, 0, 0, 34, + 14, 0, 0, 0, 0, 0, 0, 33, 33, 33, + 0, 33, 33, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 34, 0, 33, 34, 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 0, 0, 0, 34, 34, 34, + 0, 34, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 33, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 0, 34, 15, 0, 15, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 15, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 34, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, + 14, 14, 0, 0, 0, 14, 14, 14, 12, 0, + 0, 12, 0, 12, 0, 0, 0, 7, 14, 0, + 14, 14, 14, 14, 14, 0, 0, 12, 0, 14, + 14, 14, 14, 15, 0, 0, 14, 0, 14, 14, + 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, + 7, 0, 7, 0, 0, 0, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 0, 7, 33, 33, 33, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 33, 12, 33, 33, 33, 33, 33, 0, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 0, 33, 0, + 33, 33, 33, 33, 33, 0, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 0, 0, 34, 34, 34, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 6, 34, 34, 34, 34, 34, 0, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 0, 34, 0, + 34, 34, 34, 34, 34, 0, 0, 15, 15, 15, + 15, 15, 15, 15, 15, 0, 0, 0, 15, 15, + 15, 6, 0, 0, 6, 0, 6, 0, 0, 0, + 0, 15, 0, 15, 15, 15, 15, 15, 0, 0, + 5, 0, 15, 15, 15, 15, 0, 0, 0, 15, + 0, 15, 15, 15, 15, 15, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 12, 12, 12, 12, 0, + 12, 12, 12, 0, 0, 0, 12, 12, 12, 0, + 5, 0, 0, 5, 0, 5, 0, 0, 0, 12, + 2, 12, 12, 12, 12, 12, 0, 0, 0, 0, + 12, 12, 12, 12, 6, 0, 0, 12, 0, 12, + 12, 12, 12, 12, 7, 7, 7, 7, 7, 7, + 7, 7, 0, 0, 0, 7, 7, 7, 0, 0, + 2, 0, 0, 2, 0, 2, 0, 0, 7, 0, + 7, 7, 7, 7, 7, 0, 0, 0, 60, 7, + 7, 7, 7, 0, 0, 0, 7, 0, 7, 7, + 7, 7, 7, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 60, 0, 0, 60, 60, + 60, 60, 60, 60, 0, 60, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 60, 60, 60, 0, + 60, 60, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, + 6, 60, 60, 0, 6, 6, 0, 0, 0, 6, + 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 6, 0, 6, 6, 6, 6, 6, 0, + 0, 60, 60, 6, 6, 6, 6, 0, 0, 0, + 6, 0, 6, 6, 6, 6, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, + 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 5, 5, 5, 5, 5, 0, 0, + 0, 0, 5, 5, 5, 5, 0, 0, 0, 5, + 0, 5, 5, 5, 5, 5, 0, 2, 2, 2, + 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, + 2, 0, 0, 0, 0, 36, 0, 0, 28, 0, + 29, 2, 0, 2, 2, 2, 2, 2, 0, 0, + 0, 0, 2, 2, 2, 2, 0, 0, 0, 2, + 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 0, 56, 60, 60, 60, 0, + 0, 0, 0, 60, 0, 0, 0, 0, 0, 60, + 0, 60, 60, 60, 60, 60, 0, 60, 60, 60, + 60, 0, 60, 60, 60, 60, 0, 60, 35, 60, + 60, 60, 56, 0, 0, 56, 56, 56, 56, 56, + 56, 0, 56, 58, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 56, 56, 0, 0, 56, 56, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 58, 0, 0, 0, 58, 58, 0, 58, 56, 56, + 58, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 58, 58, 58, 0, 58, 58, 56, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 29, 29, 0, 29, 58, 58, 29, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 29, 29, 0, 29, 29, 58, 0, 0, 0, 0, + 0, 0, 9, 10, 11, 0, 58, 58, 12, 13, + 0, 0, 0, 14, 15, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 29, 17, 0, 18, 19, + 20, 21, 22, 0, 0, 0, 0, 23, 24, 25, + 26, 0, 0, 29, 27, 0, 30, 31, 32, 33, + 34, 0, 0, 0, 29, 29, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 0, 0, 56, 56, 56, 0, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 56, 0, 56, 56, + 56, 56, 56, 0, 56, 56, 56, 56, 0, 56, + 56, 56, 56, 0, 56, 0, 56, 56, 56, 0, + 58, 58, 58, 58, 58, 58, 0, 0, 58, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 0, 25, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 0, 0, 0, 58, 0, 0, 0, 29, 29, + 29, 29, 29, 29, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, 25, 0, + 0, 0, 25, 25, 0, 25, 27, 29, 25, 0, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 25, + 25, 25, 29, 25, 25, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 0, 0, 0, 27, 27, 0, + 27, 26, 0, 27, 25, 25, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 27, 27, 0, 27, 27, + 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 25, 0, 0, 26, 0, + 0, 0, 26, 26, 0, 26, 0, 0, 26, 27, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 26, + 26, 26, 0, 26, 26, 0, 0, 0, 27, 0, + 59, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 0, 0, 27, 16, 16, 27, 27, 27, - 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 26, 26, 0, 26, 26, 26, 0, 0, 26, - 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 0, 88, 0, 0, 0, 0, 0, 26, - 0, 0, 26, 16, 16, 26, 26, 26, 26, 26, - 26, 57, 57, 0, 57, 57, 57, 0, 0, 57, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, - 88, 0, 0, 29, 88, 88, 0, 88, 0, 57, - 88, 0, 57, 16, 16, 57, 57, 57, 57, 57, - 57, 88, 88, 88, 0, 88, 88, 0, 11, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 0, - 29, 0, 0, 0, 29, 29, 0, 29, 16, 16, - 29, 17, 18, 19, 0, 21, 88, 88, 0, 0, - 0, 29, 29, 0, 0, 86, 16, 26, 0, 29, - 30, 31, 32, 33, 0, 88, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 88, 88, 89, 16, - 16, 0, 16, 0, 0, 16, 29, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 16, 0, 0, - 0, 16, 0, 0, 0, 29, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 89, 29, 29, 0, 89, - 89, 0, 89, 90, 0, 89, 0, 0, 0, 0, - 0, 16, 16, 0, 0, 0, 89, 89, 0, 0, - 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 90, 16, 16, 0, 90, 90, 0, 90, 0, 0, - 90, 89, 89, 0, 0, 0, 0, 0, 0, 0, - 0, 90, 90, 0, 0, 0, 16, 0, 0, 0, - 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 89, 89, 0, 35, 231, 0, 27, 232, 28, - 88, 88, 0, 88, 88, 88, 90, 90, 88, 0, - 0, 0, 0, 0, 87, 0, 88, 88, 0, 0, - 0, 0, 0, 0, 0, 90, 0, 0, 88, 0, - 0, 88, 88, 88, 0, 0, 90, 90, 88, 88, - 29, 29, 0, 29, 29, 29, 0, 0, 29, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 35, 0, 0, 27, 0, 28, 0, 0, 29, 0, - 0, 29, 16, 16, 29, 29, 29, 29, 29, 185, - 0, 0, 0, 0, 0, 16, 16, 0, 16, 16, - 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 20, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, 16, 16, 16, 0, - 0, 0, 0, 0, 0, 89, 89, 0, 89, 89, - 89, 0, 0, 89, 0, 0, 0, 0, 0, 0, - 20, 0, 89, 183, 20, 20, 0, 20, 86, 0, - 20, 0, 0, 89, 0, 0, 89, 16, 16, 0, - 0, 20, 20, 0, 0, 0, 16, 0, 0, 0, - 90, 90, 0, 90, 90, 90, 0, 0, 90, 0, - 0, 0, 0, 0, 0, 86, 0, 90, 0, 86, - 86, 0, 0, 0, 0, 86, 20, 20, 90, 0, - 0, 90, 16, 16, 0, 0, 86, 86, 0, 0, - 0, 16, 0, 11, 0, 20, 0, 12, 13, 0, - 0, 0, 14, 15, 0, 110, 20, 20, 110, 0, - 110, 0, 0, 0, 16, 0, 17, 18, 19, 0, - 21, 86, 86, 0, 110, 22, 23, 24, 25, 85, - 86, 0, 26, 0, 29, 30, 31, 32, 33, 0, - 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 86, 0, 0, 0, 0, 0, 0, 11, - 170, 123, 124, 12, 13, 0, 171, 172, 14, 15, - 173, 0, 174, 175, 0, 176, 177, 178, 179, 180, - 16, 181, 17, 18, 19, 0, 21, 182, 110, 0, - 110, 22, 23, 24, 25, 0, 0, 0, 26, 0, - 29, 30, 31, 32, 33, 0, 0, 0, 0, 109, - 0, 0, 109, 0, 109, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 20, 0, 20, 20, 20, 0, 0, 20, 0, - 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, - 0, 20, 16, 16, 0, 0, 0, 103, 0, 0, - 103, 0, 103, 0, 0, 86, 86, 0, 86, 86, - 86, 0, 109, 86, 109, 0, 103, 0, 0, 0, - 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 0, 0, 86, 16, 16, 0, - 0, 0, 0, 0, 110, 110, 0, 0, 110, 110, - 0, 110, 110, 110, 110, 110, 110, 110, 110, 0, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 0, 110, 110, 0, 0, 0, 110, 110, 110, 110, - 103, 0, 103, 110, 0, 110, 110, 110, 110, 110, - 0, 0, 0, 0, 104, 0, 0, 104, 0, 104, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 0, 0, 27, 0, 28, 109, 109, - 0, 0, 109, 109, 0, 109, 109, 109, 109, 109, - 109, 109, 109, 0, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 0, 109, 109, 104, 0, 104, - 109, 109, 109, 109, 0, 0, 0, 109, 0, 109, - 109, 109, 109, 109, 105, 0, 0, 105, 0, 105, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 105, 0, 0, 103, 103, 0, 0, - 103, 103, 0, 103, 103, 103, 103, 103, 103, 103, - 103, 0, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 0, 103, 103, 0, 0, 0, 103, 103, - 103, 103, 0, 0, 0, 103, 0, 103, 103, 103, - 103, 103, 0, 0, 0, 0, 102, 0, 0, 102, - 0, 102, 0, 0, 0, 0, 0, 105, 0, 105, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 104, 104, 0, 0, 104, 104, 0, - 104, 104, 104, 104, 104, 104, 104, 104, 0, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, - 104, 104, 0, 0, 0, 104, 104, 104, 104, 102, - 0, 102, 104, 0, 104, 104, 104, 104, 104, 108, - 0, 11, 108, 0, 108, 12, 13, 0, 0, 0, - 14, 15, 0, 0, 0, 0, 0, 0, 108, 0, - 0, 0, 16, 0, 17, 18, 19, 0, 21, 0, - 0, 0, 0, 22, 23, 24, 25, 0, 0, 0, - 26, 0, 29, 30, 31, 32, 33, 35, 0, 0, - 27, 0, 28, 105, 105, 0, 0, 105, 105, 0, - 105, 105, 105, 105, 105, 105, 105, 105, 0, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, - 105, 105, 108, 0, 108, 105, 105, 105, 105, 0, - 0, 0, 105, 0, 105, 105, 105, 105, 105, 137, - 0, 0, 137, 0, 137, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, - 0, 0, 0, 0, 0, 102, 102, 0, 0, 102, - 102, 0, 102, 102, 102, 102, 102, 102, 102, 102, - 0, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 0, 102, 102, 0, 0, 0, 102, 102, 102, - 102, 0, 0, 0, 102, 0, 102, 102, 102, 102, - 102, 35, 0, 0, 27, 0, 28, 0, 0, 0, - 0, 0, 137, 0, 137, 0, 0, 0, 0, 0, - 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 108, 108, + 0, 0, 0, 0, 26, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, + 0, 59, 59, 26, 59, 0, 0, 59, 0, 0, + 0, 0, 0, 0, 26, 26, 0, 0, 59, 59, + 59, 0, 59, 59, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 59, 59, 0, 0, 0, 25, 25, + 25, 25, 25, 25, 0, 0, 25, 0, 0, 0, + 0, 0, 59, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 59, 59, 0, 0, 25, 0, 0, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, + 0, 0, 25, 27, 27, 27, 27, 27, 27, 0, + 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 27, 0, 0, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 0, 0, 0, 27, 26, 26, + 26, 26, 26, 26, 0, 0, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 0, 0, 91, + 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, + 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, + 91, 91, 0, 91, 0, 0, 91, 59, 59, 59, + 59, 59, 59, 0, 0, 59, 0, 91, 91, 91, + 0, 91, 91, 0, 0, 59, 20, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 59, 0, 0, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, + 0, 59, 91, 91, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 20, 0, 0, 0, 20, 20, 0, + 20, 91, 0, 20, 35, 0, 0, 0, 0, 0, + 0, 0, 91, 91, 20, 20, 20, 0, 20, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 35, 35, 0, 35, 20, + 20, 35, 0, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 35, 35, 35, 0, 35, 0, 20, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 35, 35, 0, + 92, 92, 0, 92, 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 92, 92, 92, + 0, 92, 0, 0, 0, 0, 0, 35, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, + 91, 91, 92, 92, 91, 65, 0, 0, 28, 0, + 29, 0, 0, 0, 91, 93, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 91, 0, 0, 91, 91, + 91, 0, 92, 92, 0, 91, 91, 0, 0, 0, + 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 0, 93, 93, 0, 93, + 0, 0, 93, 20, 20, 20, 20, 20, 20, 0, + 0, 20, 0, 93, 93, 93, 0, 93, 0, 36, + 0, 20, 28, 0, 29, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 0, 20, 20, 20, 302, 0, + 89, 0, 20, 20, 0, 0, 0, 20, 93, 93, + 0, 35, 35, 35, 35, 35, 35, 0, 0, 35, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 35, + 0, 0, 0, 0, 0, 0, 0, 89, 93, 93, + 35, 89, 89, 35, 35, 35, 0, 89, 0, 0, + 35, 35, 0, 0, 0, 35, 0, 0, 89, 89, + 89, 0, 89, 0, 0, 0, 92, 92, 92, 92, + 92, 92, 16, 0, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 89, 89, 92, 0, 0, 92, 92, + 92, 0, 0, 0, 0, 92, 92, 0, 0, 16, + 92, 0, 89, 16, 16, 0, 16, 0, 0, 16, + 0, 0, 0, 89, 89, 0, 125, 126, 12, 13, + 16, 16, 0, 14, 15, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 17, 0, 18, 19, + 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, + 26, 0, 0, 0, 27, 16, 16, 31, 32, 33, + 34, 0, 93, 93, 93, 93, 93, 93, 0, 0, + 93, 0, 0, 0, 16, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 16, 16, 0, 11, 0, + 0, 93, 12, 13, 93, 93, 93, 14, 15, 16, + 0, 93, 93, 0, 0, 0, 93, 0, 0, 0, + 17, 0, 18, 19, 20, 0, 22, 0, 0, 0, + 0, 23, 24, 25, 26, 0, 0, 0, 27, 0, + 30, 31, 32, 33, 34, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 89, 89, 89, + 89, 89, 89, 0, 42, 89, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 89, 42, 0, 89, + 89, 89, 0, 42, 0, 0, 89, 89, 0, 0, + 0, 89, 0, 0, 0, 104, 0, 0, 109, 104, + 104, 112, 113, 0, 116, 118, 119, 0, 104, 104, + 123, 124, 42, 0, 0, 0, 0, 0, 0, 16, + 16, 16, 16, 16, 16, 0, 0, 16, 134, 0, + 0, 42, 138, 140, 141, 142, 143, 16, 106, 107, + 0, 0, 0, 0, 0, 0, 42, 0, 16, 154, + 0, 16, 16, 16, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 16, 0, 0, 0, 104, 0, 133, + 0, 135, 136, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 42, 0, 65, 0, 0, 28, 0, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 208, 209, 210, 211, 213, 0, 0, 0, + 0, 215, 216, 0, 104, 104, 0, 0, 0, 223, + 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 235, 203, 204, 236, 0, 0, + 237, 238, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 0, 0, 0, 0, 217, 0, 42, 42, 263, + 0, 67, 67, 0, 70, 71, 225, 67, 227, 0, + 228, 0, 0, 0, 0, 67, 0, 0, 275, 0, + 276, 0, 277, 0, 278, 0, 279, 0, 0, 0, + 0, 281, 0, 252, 0, 0, 282, 283, 65, 0, + 0, 28, 0, 29, 104, 0, 0, 0, 269, 270, + 271, 272, 273, 0, 0, 0, 0, 191, 0, 0, + 0, 0, 0, 0, 42, 67, 67, 67, 67, 67, + 67, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 0, 42, 67, 0, 0, 67, 67, 0, 0, 67, + 0, 67, 67, 0, 0, 0, 67, 67, 0, 297, + 0, 0, 0, 299, 300, 301, 0, 67, 0, 306, + 0, 67, 0, 67, 67, 67, 67, 113, 0, 0, + 113, 189, 113, 0, 201, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 319, 320, 113, 67, 12, 13, + 324, 177, 178, 14, 15, 16, 0, 0, 0, 0, + 0, 182, 183, 184, 185, 186, 17, 0, 18, 19, + 20, 0, 22, 188, 0, 67, 0, 23, 24, 25, + 26, 0, 0, 0, 27, 0, 0, 31, 32, 33, + 34, 67, 67, 67, 67, 0, 67, 0, 67, 67, + 0, 0, 0, 0, 0, 0, 67, 67, 0, 0, + 113, 0, 113, 0, 0, 0, 0, 0, 67, 67, + 67, 67, 0, 112, 0, 0, 112, 0, 112, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 112, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, + 67, 67, 67, 0, 67, 67, 67, 0, 176, 125, + 126, 12, 13, 0, 177, 178, 14, 15, 16, 179, + 0, 180, 181, 0, 182, 183, 184, 185, 186, 17, + 187, 18, 19, 20, 0, 22, 188, 0, 0, 0, + 23, 24, 25, 26, 0, 0, 112, 27, 112, 0, + 31, 32, 33, 34, 106, 0, 0, 106, 0, 106, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, + 113, 113, 0, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 0, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 0, 113, 113, 0, 0, 0, 113, + 113, 113, 113, 0, 0, 0, 113, 0, 0, 113, + 113, 113, 113, 0, 0, 0, 0, 106, 107, 106, + 0, 107, 0, 107, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 112, 0, 0, 112, 112, 0, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 0, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, + 112, 112, 0, 0, 0, 112, 112, 112, 112, 0, + 0, 107, 112, 107, 0, 112, 112, 112, 112, 108, + 0, 0, 108, 0, 108, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 0, 0, 106, 106, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 0, 106, 106, 0, 0, 0, 106, 106, 106, 106, + 0, 0, 108, 106, 108, 0, 106, 106, 106, 106, + 0, 105, 0, 0, 105, 0, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, + 0, 107, 107, 0, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 0, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 0, 107, 107, 0, 0, 0, + 107, 107, 107, 107, 0, 0, 0, 107, 0, 0, + 107, 107, 107, 107, 105, 0, 105, 0, 0, 0, + 0, 0, 111, 0, 0, 111, 0, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, 108, 108, 0, 108, 108, 108, 108, 108, - 108, 108, 108, 0, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 0, 108, 108, 0, 0, 0, - 108, 108, 108, 108, 183, 0, 184, 108, 0, 108, - 108, 108, 108, 108, 35, 0, 11, 27, 0, 28, - 12, 13, 0, 0, 0, 14, 15, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 0, 16, 0, 17, - 18, 19, 0, 21, 0, 0, 0, 0, 22, 23, - 24, 25, 0, 0, 0, 26, 0, 29, 30, 31, - 32, 33, 35, 0, 0, 27, 0, 28, 137, 137, - 0, 0, 137, 137, 0, 137, 137, 137, 137, 137, - 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 0, 137, 137, 183, 0, 195, - 137, 137, 137, 137, 0, 0, 0, 137, 0, 137, - 137, 137, 137, 137, 35, 0, 0, 27, 0, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, - 11, 170, 0, 0, 12, 13, 0, 171, 172, 14, - 15, 173, 0, 174, 175, 0, 176, 177, 178, 179, - 180, 16, 181, 17, 18, 19, 0, 21, 182, 0, - 0, 0, 22, 23, 24, 25, 0, 0, 0, 26, - 0, 29, 30, 31, 32, 33, 35, 0, 0, 27, - 0, 28, 0, 0, 0, 0, 0, 183, 0, 196, - 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 11, 170, 0, 0, 12, 13, 0, - 171, 172, 14, 15, 173, 0, 174, 175, 0, 176, - 177, 178, 179, 180, 16, 181, 17, 18, 19, 0, - 21, 182, 0, 0, 0, 22, 23, 24, 25, 183, - 0, 226, 26, 0, 29, 30, 31, 32, 33, 35, - 0, 113, 27, 0, 28, 12, 13, 0, 0, 0, - 14, 15, 0, 0, 0, 0, 0, 0, 185, 0, - 0, 0, 16, 0, 17, 18, 19, 0, 21, 0, - 0, 0, 0, 22, 23, 24, 25, 0, 0, 0, - 26, 0, 29, 30, 31, 32, 33, 0, 0, 0, - 0, 0, 0, 11, 170, 0, 0, 12, 13, 0, - 171, 172, 14, 15, 173, 0, 174, 175, 0, 176, - 177, 178, 179, 180, 16, 181, 17, 18, 19, 0, - 21, 182, 183, 0, 279, 22, 23, 24, 25, 0, - 0, 0, 26, 0, 29, 30, 31, 32, 33, 35, - 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, - 0, 0, 0, 0, 0, 11, 170, 0, 0, 12, - 13, 0, 171, 172, 14, 15, 173, 0, 174, 175, - 0, 176, 177, 178, 179, 180, 16, 181, 17, 18, - 19, 0, 21, 182, 0, 0, 0, 22, 23, 24, - 25, 0, 0, 0, 26, 0, 29, 30, 31, 32, - 33, 107, 0, 0, 107, 0, 107, 0, 0, 0, - 0, 0, 183, 0, 303, 0, 0, 0, 0, 0, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 11, 170, - 0, 0, 12, 13, 0, 171, 172, 14, 15, 173, - 0, 174, 175, 0, 176, 177, 178, 179, 180, 16, - 181, 17, 18, 19, 0, 21, 182, 0, 0, 0, - 22, 23, 24, 25, 107, 0, 107, 26, 0, 29, - 30, 31, 32, 33, 130, 0, 0, 130, 0, 130, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 35, 0, 0, 27, 0, 28, 0, 0, 11, 170, - 0, 0, 12, 13, 0, 171, 172, 14, 15, 173, - 0, 174, 175, 0, 176, 177, 178, 179, 180, 16, - 181, 17, 18, 19, 0, 21, 182, 130, 0, 130, - 22, 23, 24, 25, 0, 0, 0, 26, 0, 29, - 30, 31, 32, 33, 35, 233, 0, 27, 234, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 87, 0, 88, 0, 0, 0, - 107, 107, 0, 0, 107, 107, 0, 107, 107, 107, - 107, 107, 0, 107, 107, 0, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 0, 107, 107, 0, - 0, 0, 107, 107, 107, 107, 0, 0, 0, 107, - 0, 107, 107, 107, 107, 107, 35, 235, 0, 27, - 236, 28, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 87, 0, 88, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 130, 0, 0, 130, 130, 0, - 130, 130, 130, 130, 130, 0, 130, 130, 0, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, - 130, 130, 0, 0, 0, 130, 130, 130, 130, 0, - 0, 0, 130, 0, 130, 130, 130, 130, 130, 11, - 0, 0, 0, 12, 13, 0, 171, 172, 14, 15, - 0, 0, 0, 0, 0, 176, 177, 178, 179, 180, - 16, 0, 17, 18, 19, 0, 21, 182, 0, 0, - 0, 22, 23, 24, 25, 0, 0, 0, 26, 0, - 29, 30, 31, 32, 33, 35, 237, 0, 27, 238, - 28, 0, 0, 11, 0, 0, 0, 12, 13, 0, - 0, 0, 14, 15, 0, 87, 0, 88, 0, 0, - 0, 0, 0, 0, 16, 0, 17, 18, 19, 0, - 21, 0, 0, 0, 0, 22, 23, 24, 25, 85, - 86, 0, 26, 0, 29, 30, 31, 32, 33, 35, - 242, 0, 27, 243, 28, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 88, 0, 0, 0, 11, 0, 0, 0, 12, - 13, 0, 0, 0, 14, 15, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 0, 17, 18, - 19, 35, 21, 0, 27, 108, 28, 22, 23, 24, - 25, 85, 86, 0, 26, 0, 29, 30, 31, 32, - 33, 87, 0, 88, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 152, 0, - 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 35, 0, 0, 27, 157, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 87, 11, 88, 0, 0, 12, 13, - 0, 0, 0, 14, 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 0, 17, 18, 19, - 35, 21, 0, 27, 160, 28, 22, 23, 24, 25, - 85, 86, 0, 26, 0, 29, 30, 31, 32, 33, - 87, 0, 88, 0, 0, 0, 0, 0, 11, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 17, 18, 19, 35, 21, 0, 27, 162, 28, - 22, 23, 24, 25, 85, 86, 0, 26, 0, 29, - 30, 31, 32, 33, 87, 0, 88, 0, 0, 0, - 11, 0, 0, 0, 12, 13, 0, 0, 0, 14, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 17, 18, 19, 0, 21, 0, 0, - 0, 0, 22, 23, 24, 25, 85, 86, 0, 26, - 0, 29, 30, 31, 32, 33, 11, 0, 0, 0, - 12, 13, 0, 0, 35, 14, 15, 27, 163, 28, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, - 18, 19, 0, 21, 87, 0, 88, 0, 22, 23, - 24, 25, 85, 86, 0, 26, 0, 29, 30, 31, - 32, 33, 11, 0, 0, 0, 12, 13, 0, 0, - 35, 14, 15, 27, 168, 28, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 21, - 87, 0, 88, 0, 22, 23, 24, 25, 85, 86, - 0, 26, 0, 29, 30, 31, 32, 33, 0, 11, - 0, 0, 0, 12, 13, 0, 0, 35, 14, 15, - 27, 169, 28, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 17, 18, 19, 0, 21, 87, 0, 88, - 0, 22, 23, 24, 25, 85, 86, 0, 26, 0, - 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 11, 0, 0, 0, 12, 13, 0, - 0, 35, 14, 15, 27, 0, 28, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 17, 18, 19, 191, - 21, 87, 0, 88, 0, 22, 23, 24, 25, 85, - 86, 0, 26, 0, 29, 30, 31, 32, 33, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 240, 0, - 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 88, - 0, 0, 0, 11, 0, 0, 0, 12, 13, 0, - 0, 0, 14, 15, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 17, 18, 19, 0, - 21, 0, 0, 0, 0, 22, 23, 24, 25, 85, - 86, 0, 26, 0, 29, 30, 31, 32, 33, 11, - 0, 0, 0, 12, 13, 0, 0, 0, 14, 15, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 17, 18, 19, 0, 21, 0, 0, 0, - 0, 22, 23, 24, 25, 85, 86, 0, 26, 0, - 29, 30, 31, 32, 33, 0, 11, 0, 0, 0, - 12, 13, 0, 0, 0, 14, 15, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, - 18, 19, 0, 21, 0, 0, 0, 0, 22, 23, - 24, 25, 85, 86, 0, 26, 0, 29, 30, 31, - 32, 33, 35, 244, 0, 27, 0, 28, 0, 0, - 11, 0, 0, 0, 12, 13, 0, 0, 0, 14, - 15, 0, 87, 0, 88, 0, 0, 0, 0, 0, - 0, 16, 0, 17, 18, 19, 0, 21, 0, 0, - 0, 0, 22, 23, 24, 25, 85, 86, 0, 26, - 0, 29, 30, 31, 32, 33, 11, 0, 0, 0, - 12, 13, 0, 0, 0, 14, 15, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, - 18, 19, 0, 21, 0, 0, 0, 0, 22, 23, - 24, 25, 85, 86, 0, 26, 0, 29, 30, 31, - 32, 33, 35, 275, 0, 27, 0, 28, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 87, 0, 88, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 35, 281, - 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, - 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 35, 282, 0, 27, 0, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 87, 0, 88, 0, 0, 0, - 0, 11, 0, 0, 0, 12, 13, 0, 0, 0, - 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 17, 18, 19, 0, 21, 0, - 0, 0, 0, 22, 23, 24, 25, 85, 86, 0, - 26, 0, 29, 30, 31, 32, 33, 35, 283, 0, - 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 35, 284, 0, 27, 0, 28, 0, - 0, 11, 0, 0, 0, 12, 13, 0, 0, 0, - 14, 15, 0, 87, 0, 88, 0, 0, 0, 0, - 0, 0, 16, 0, 17, 18, 19, 0, 21, 0, - 0, 0, 0, 22, 23, 24, 25, 85, 86, 0, - 26, 0, 29, 30, 31, 32, 33, 11, 0, 0, - 0, 12, 13, 0, 0, 0, 14, 15, 35, 0, - 0, 27, 0, 28, 0, 0, 0, 0, 16, 0, - 17, 18, 19, 0, 21, 0, 0, 0, 0, 22, - 23, 24, 25, 85, 86, 0, 26, 0, 29, 30, - 31, 32, 33, 11, 0, 0, 0, 12, 13, 0, - 0, 0, 14, 15, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 17, 18, 19, 0, - 21, 0, 0, 0, 0, 22, 23, 24, 25, 85, - 86, 0, 26, 0, 29, 30, 31, 32, 33, 35, - 285, 34, 27, 0, 28, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 88, 0, 0, 0, 0, 11, 0, 0, 0, - 12, 13, 0, 0, 0, 14, 15, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, - 18, 19, 35, 21, 0, 27, 0, 28, 22, 23, - 24, 25, 85, 86, 0, 26, 0, 29, 30, 31, - 32, 33, 11, 0, 0, 0, 12, 13, 0, 0, - 0, 14, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 21, - 0, 0, 0, 0, 22, 23, 24, 25, 85, 86, - 0, 26, 0, 29, 30, 31, 32, 33, 35, 287, - 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 10, 11, 87, 0, - 88, 12, 13, 0, 0, 0, 14, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 17, 18, 19, 20, 21, 0, 0, 0, 0, 22, - 23, 24, 25, 0, 0, 0, 26, 0, 29, 30, - 31, 32, 33, 35, 0, 0, 27, 0, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 87, 0, 88, 0, 0, 0, 0, + 108, 108, 108, 108, 0, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 0, 108, 108, 0, 0, + 0, 108, 108, 108, 108, 0, 0, 0, 108, 0, + 0, 108, 108, 108, 108, 111, 140, 111, 0, 140, + 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 105, 0, 0, 105, 105, 0, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 0, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 0, 105, 105, + 0, 0, 0, 105, 105, 105, 105, 0, 0, 140, + 105, 140, 0, 105, 105, 105, 105, 65, 0, 0, + 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 111, 0, 0, 111, 111, 0, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 0, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 111, 0, 111, + 111, 0, 0, 0, 111, 111, 111, 111, 0, 0, + 189, 111, 190, 0, 111, 111, 111, 111, 0, 65, + 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 140, 0, 0, 140, + 140, 0, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 0, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 0, 140, 140, 0, 0, 0, 140, 140, + 140, 140, 0, 0, 0, 140, 0, 0, 140, 140, + 140, 140, 189, 0, 205, 0, 0, 0, 0, 0, + 65, 0, 0, 28, 0, 29, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 12, 13, 0, 177, 178, 14, 15, 16, 179, 0, + 180, 181, 0, 182, 183, 184, 185, 186, 17, 187, + 18, 19, 20, 0, 22, 188, 0, 0, 0, 23, + 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, + 32, 33, 34, 189, 65, 206, 0, 28, 0, 29, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 12, 13, 0, 177, 178, 14, 15, 16, + 179, 0, 180, 181, 0, 182, 183, 184, 185, 186, + 17, 187, 18, 19, 20, 0, 22, 188, 0, 0, + 0, 23, 24, 25, 26, 0, 0, 189, 27, 234, + 0, 31, 32, 33, 34, 65, 0, 0, 28, 0, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 176, 0, 0, 12, 13, 0, 177, 178, 14, 15, + 16, 179, 0, 180, 181, 0, 182, 183, 184, 185, + 186, 17, 187, 18, 19, 20, 0, 22, 188, 0, + 0, 0, 23, 24, 25, 26, 0, 0, 189, 27, + 290, 0, 31, 32, 33, 34, 0, 65, 0, 0, + 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 12, 13, 0, + 177, 178, 14, 15, 16, 179, 0, 180, 181, 0, + 182, 183, 184, 185, 186, 17, 187, 18, 19, 20, + 0, 22, 188, 0, 0, 0, 23, 24, 25, 26, + 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, + 189, 0, 314, 0, 0, 0, 0, 0, 110, 0, + 0, 110, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 176, 0, 0, 12, 13, + 0, 177, 178, 14, 15, 16, 179, 0, 180, 181, + 0, 182, 183, 184, 185, 186, 17, 187, 18, 19, + 20, 0, 22, 188, 0, 0, 0, 23, 24, 25, + 26, 0, 0, 0, 27, 0, 0, 31, 32, 33, + 34, 110, 133, 110, 0, 133, 0, 133, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, + 12, 13, 0, 177, 178, 14, 15, 16, 179, 0, + 180, 181, 0, 182, 183, 184, 185, 186, 17, 187, + 18, 19, 20, 65, 22, 188, 28, 156, 29, 23, + 24, 25, 26, 0, 0, 133, 27, 133, 0, 31, + 32, 33, 34, 88, 0, 89, 85, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, + 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 88, 110, 89, + 85, 110, 110, 0, 110, 110, 110, 110, 110, 110, + 0, 110, 110, 0, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 36, 110, 110, 28, 0, 29, + 110, 110, 110, 110, 0, 0, 0, 110, 0, 0, + 110, 110, 110, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 65, 242, 0, 28, 243, 29, 0, 0, 0, + 0, 0, 133, 0, 0, 133, 133, 0, 133, 133, + 133, 133, 133, 133, 85, 133, 133, 0, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 133, + 133, 0, 0, 0, 133, 133, 133, 133, 0, 0, + 0, 133, 0, 0, 133, 133, 133, 133, 65, 244, + 0, 28, 245, 29, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 12, 13, 0, 0, + 0, 14, 15, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, 18, 19, 20, 0, + 22, 0, 0, 0, 0, 23, 24, 25, 26, 86, + 87, 0, 27, 0, 0, 31, 32, 33, 34, 0, + 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, + 0, 0, 65, 246, 0, 28, 247, 29, 17, 0, + 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, + 24, 25, 26, 86, 87, 85, 27, 0, 0, 31, + 32, 33, 34, 11, 0, 125, 126, 12, 13, 0, + 0, 0, 14, 15, 16, 0, 0, 65, 248, 0, + 28, 249, 29, 0, 0, 17, 0, 18, 19, 20, + 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, + 85, 0, 0, 27, 0, 30, 31, 32, 33, 34, + 0, 0, 0, 0, 12, 13, 0, 0, 0, 14, + 15, 16, 0, 0, 65, 253, 0, 28, 254, 29, + 0, 0, 17, 0, 18, 19, 20, 0, 22, 0, + 0, 0, 0, 23, 24, 25, 26, 85, 0, 0, + 27, 0, 0, 31, 32, 33, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 13, 0, 0, 0, 14, 15, 16, 36, + 0, 0, 28, 0, 29, 0, 0, 0, 0, 17, + 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, + 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 153, 0, 0, 28, + 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, + 14, 15, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 18, 19, 20, 0, 22, + 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, + 0, 27, 0, 0, 31, 32, 33, 34, 0, 0, + 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, + 65, 0, 0, 28, 156, 29, 0, 0, 17, 0, + 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, + 24, 25, 26, 85, 0, 0, 27, 0, 0, 31, + 32, 33, 34, 0, 0, 0, 0, 12, 13, 0, + 0, 0, 14, 15, 16, 0, 0, 65, 160, 0, + 28, 0, 29, 0, 0, 17, 0, 18, 19, 20, + 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, + 85, 0, 0, 27, 0, 0, 31, 32, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 35, - 0, 0, 27, 0, 28, 0, 0, 0, 0, 16, - 0, 17, 18, 19, 0, 21, 0, 0, 291, 0, - 22, 23, 24, 25, 85, 86, 0, 26, 0, 29, - 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, - 0, 115, 0, 0, 0, 12, 13, 0, 0, 35, - 14, 15, 27, 0, 28, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 17, 18, 19, 0, 21, 0, - 0, 0, 0, 22, 23, 24, 25, 0, 0, 0, - 26, 0, 29, 30, 31, 32, 33, 0, 0, 0, - 0, 0, 0, 0, 0, 35, 0, 0, 27, 0, - 28, 0, 0, 0, 0, 0, 0, 11, 0, 0, - 0, 12, 13, 0, 0, 0, 14, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 17, 18, 19, 0, 21, 0, 0, 0, 0, 22, - 23, 24, 25, 85, 86, 0, 26, 0, 29, 30, - 31, 32, 33, 35, 0, 0, 27, 0, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, 12, 13, 0, 0, - 0, 14, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 21, - 0, 0, 0, 0, 22, 23, 24, 25, 85, 86, - 0, 26, 0, 29, 30, 31, 32, 33, 11, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 17, 18, 19, 0, 21, 0, 0, 0, 0, - 22, 23, 24, 25, 0, 0, 0, 26, 0, 29, - 30, 31, 32, 33, 0, 0, 0, 0, 136, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 17, 18, 19, 0, 21, 0, 0, 0, 0, - 22, 23, 24, 25, 0, 0, 0, 26, 0, 29, - 30, 31, 32, 33, 204, 0, 0, 0, 12, 13, - 0, 0, 0, 14, 15, 0, 0, 101, 102, 0, - 0, 0, 0, 0, 0, 16, 0, 17, 18, 19, - 0, 21, 0, 0, 0, 0, 22, 23, 24, 25, - 0, 0, 0, 26, 0, 29, 30, 31, 32, 33, - 131, 0, 133, 134, 0, 0, 0, 0, 0, 0, - 0, 0, 263, 0, 0, 0, 12, 13, 0, 0, - 0, 14, 15, 0, 0, 0, 0, 0, 155, 156, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 21, - 0, 0, 0, 0, 22, 23, 24, 25, 0, 0, - 0, 26, 0, 29, 30, 31, 32, 33, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 68, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, - 209, 0, 0, 0, 0, 0, 89, 0, 0, 0, - 0, 217, 0, 219, 0, 220, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, - 0, 0, 0, 142, 143, 144, 145, 146, 147, 0, - 0, 258, 259, 260, 261, 262, 89, 0, 89, 0, - 0, 0, 89, 89, 0, 0, 89, 0, 89, 89, - 0, 0, 0, 89, 89, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 0, 0, 0, 0, 89, - 89, 89, 89, 0, 0, 0, 0, 0, 0, 286, - 0, 0, 0, 288, 289, 290, 0, 0, 0, 295, - 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 308, 309, 0, 0, 89, 0, - 313, 0, 0, 0, 0, 0, 0, 0, 0, 89, - 89, 0, 89, 89, 89, 89, 0, 89, 0, 89, - 89, 0, 0, 0, 0, 0, 0, 89, 89, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 89, 89, 89, 89, - 89, 0, 89, 89, 89, + 0, 0, 12, 13, 0, 0, 0, 14, 15, 16, + 0, 0, 65, 0, 0, 28, 163, 29, 0, 0, + 17, 0, 18, 19, 20, 0, 22, 0, 0, 0, + 0, 23, 24, 25, 26, 85, 0, 0, 27, 0, + 30, 31, 32, 33, 34, 11, 0, 0, 0, 12, + 13, 0, 0, 0, 14, 15, 16, 0, 0, 65, + 0, 0, 28, 166, 29, 0, 0, 17, 0, 18, + 19, 20, 0, 22, 0, 0, 0, 0, 23, 24, + 25, 26, 85, 0, 0, 27, 0, 30, 31, 32, + 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 65, 0, 0, 28, 168, 29, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, + 0, 0, 0, 12, 13, 0, 0, 0, 14, 15, + 16, 0, 0, 0, 0, 65, 0, 0, 28, 169, + 29, 17, 0, 18, 19, 20, 0, 22, 0, 0, + 0, 0, 23, 24, 25, 26, 0, 0, 85, 27, + 0, 0, 31, 32, 33, 34, 0, 0, 0, 0, + 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, + 65, 0, 0, 28, 174, 29, 0, 0, 17, 0, + 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, + 24, 25, 26, 85, 0, 0, 27, 0, 0, 31, + 32, 33, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, + 14, 15, 16, 0, 0, 65, 0, 0, 28, 175, + 29, 0, 0, 17, 0, 18, 19, 20, 0, 22, + 0, 0, 0, 0, 23, 24, 25, 26, 85, 0, + 0, 27, 0, 0, 31, 32, 33, 34, 0, 0, + 0, 0, 12, 13, 0, 0, 0, 14, 15, 16, + 0, 0, 65, 0, 0, 28, 0, 29, 0, 0, + 17, 0, 18, 19, 20, 0, 22, 0, 0, 0, + 197, 23, 24, 25, 26, 85, 0, 0, 27, 0, + 0, 31, 32, 33, 34, 12, 13, 0, 0, 0, + 14, 15, 16, 0, 0, 65, 0, 0, 28, 0, + 29, 0, 0, 17, 0, 18, 19, 20, 0, 22, + 0, 0, 0, 200, 23, 24, 25, 26, 85, 0, + 0, 27, 0, 0, 31, 32, 33, 34, 12, 13, + 0, 0, 0, 14, 15, 16, 0, 0, 65, 251, + 0, 28, 0, 29, 0, 0, 17, 0, 18, 19, + 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, + 26, 85, 0, 0, 27, 0, 0, 31, 32, 33, + 34, 0, 0, 12, 13, 0, 0, 0, 14, 15, + 16, 0, 0, 65, 255, 0, 28, 0, 29, 0, + 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, + 0, 0, 23, 24, 25, 26, 85, 0, 0, 27, + 0, 0, 31, 32, 33, 34, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, + 0, 0, 0, 14, 15, 16, 0, 0, 65, 286, + 0, 28, 0, 29, 0, 0, 17, 0, 18, 19, + 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, + 26, 85, 0, 0, 27, 0, 0, 31, 32, 33, + 34, 0, 0, 0, 0, 12, 13, 0, 0, 0, + 14, 15, 16, 0, 0, 65, 292, 0, 28, 0, + 29, 0, 0, 17, 0, 18, 19, 20, 0, 22, + 0, 0, 0, 0, 23, 24, 25, 26, 85, 0, + 0, 27, 0, 0, 31, 32, 33, 34, 12, 13, + 0, 0, 0, 14, 15, 16, 0, 0, 65, 293, + 0, 28, 0, 29, 0, 0, 17, 0, 18, 19, + 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, + 26, 85, 0, 0, 27, 0, 0, 31, 32, 33, + 34, 12, 13, 0, 0, 0, 14, 15, 16, 0, + 0, 65, 294, 0, 28, 0, 29, 0, 0, 17, + 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, + 23, 24, 25, 26, 85, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 0, 0, 12, 13, 0, 0, + 0, 14, 15, 16, 0, 0, 65, 295, 0, 28, + 0, 29, 0, 0, 17, 0, 18, 19, 20, 0, + 22, 0, 0, 0, 0, 23, 24, 25, 26, 85, + 0, 0, 27, 0, 0, 31, 32, 33, 34, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 13, 0, 0, 0, 14, 15, 16, 0, + 0, 65, 296, 0, 28, 0, 29, 0, 0, 17, + 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, + 23, 24, 25, 26, 85, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 0, 0, 0, 0, 12, 13, + 0, 0, 0, 14, 15, 16, 0, 0, 65, 298, + 0, 28, 0, 29, 0, 0, 17, 0, 18, 19, + 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, + 26, 85, 0, 0, 27, 0, 0, 31, 32, 33, + 34, 12, 13, 0, 0, 0, 14, 15, 16, 0, + 0, 65, 108, 0, 28, 0, 29, 0, 0, 17, + 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, + 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 12, 13, 0, 0, 0, 14, + 15, 16, 0, 0, 0, 0, 0, 0, 65, 0, + 0, 28, 17, 29, 18, 19, 20, 0, 22, 0, + 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, + 27, 0, 0, 31, 32, 33, 34, 0, 0, 12, + 13, 0, 0, 0, 14, 15, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 18, + 19, 20, 65, 22, 0, 28, 0, 29, 23, 24, + 25, 26, 0, 0, 0, 27, 0, 0, 31, 32, + 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 13, 0, 0, 0, 14, + 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 17, 0, 18, 19, 20, 65, 22, 0, + 28, 0, 29, 23, 24, 25, 26, 0, 0, 0, + 27, 0, 0, 31, 32, 33, 34, 0, 0, 0, + 0, 12, 13, 0, 0, 0, 14, 15, 16, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, + 0, 18, 19, 20, 65, 22, 0, 28, 0, 29, + 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 12, 13, 0, 0, 0, 14, + 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 17, 0, 18, 19, 20, 65, 22, 0, + 28, 0, 29, 23, 24, 25, 26, 0, 0, 0, + 27, 0, 0, 31, 32, 33, 34, 115, 0, 0, + 85, 12, 13, 0, 0, 0, 14, 15, 16, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, + 0, 18, 19, 20, 65, 22, 0, 28, 0, 29, + 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 0, 0, 0, 0, 0, 0, + 0, 117, 0, 0, 0, 12, 13, 0, 0, 0, + 14, 15, 16, 0, 0, 0, 0, 65, 0, 0, + 28, 0, 29, 17, 0, 18, 19, 20, 0, 22, + 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, + 0, 27, 0, 0, 31, 32, 33, 34, 0, 0, + 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, + 12, 13, 0, 0, 0, 14, 15, 16, 102, 0, + 0, 28, 0, 29, 0, 0, 0, 0, 17, 0, + 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, + 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, + 32, 33, 34, 212, 0, 0, 0, 12, 13, 0, + 0, 0, 14, 15, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 17, 0, 18, 19, 20, + 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, + 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, + 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, + 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, + 32, 33, 34, 274, 0, 0, 0, 12, 13, 0, + 0, 0, 14, 15, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 17, 0, 18, 19, 20, + 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, + 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, + 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, + 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, + 32, 33, 34, 0, 0, 0, 0, 66, 68, 0, + 0, 12, 13, 72, 0, 0, 14, 15, 16, 0, + 0, 90, 0, 0, 0, 0, 0, 0, 0, 17, + 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, + 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 31, 32, 33, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 145, 146, 147, 148, 149, 150, 0, 0, 0, + 0, 0, 0, 90, 0, 0, 0, 0, 90, 0, + 0, 90, 90, 0, 0, 90, 0, 90, 90, 0, + 0, 0, 90, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 90, 0, 0, 0, 90, 0, 90, + 90, 90, 90, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 90, 90, 90, + 90, 0, 90, 0, 90, 90, 0, 0, 0, 0, + 0, 0, 90, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 90, 90, 90, 90, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 90, 90, 90, 90, 90, 0, + 90, 90, 90, }; short yycheck[] = { 41, - 0, 123, 62, 123, 41, 59, 41, 59, 214, 63, - 59, 63, 123, 63, 59, 63, 94, 59, 50, 38, - 35, 63, 35, 291, 41, 286, 63, 41, 63, 91, - 41, 63, 64, 301, 112, 40, 51, 37, 51, 7, - 40, 41, 42, 43, 44, 45, 63, 47, 59, 63, - 35, 41, 63, 41, 44, 0, 44, 41, 58, 59, - 60, 29, 62, 63, 124, 44, 51, 35, 261, 262, - 37, 40, 261, 60, 288, 42, 43, 40, 45, 63, - 47, 101, 102, 51, 63, 291, 118, 301, 302, 60, - 40, 16, 37, 93, 94, 301, 41, 42, 43, 44, - 45, 63, 47, 40, 63, 30, 31, 40, 292, 40, - 0, 131, 112, 58, 59, 60, 84, 62, 63, 303, - 304, 40, 40, 123, 124, 123, 40, 94, 44, 112, - 98, 41, 41, 37, 63, 41, 63, 292, 42, 171, - 172, 261, 262, 47, 280, 112, 41, 37, 93, 94, - 40, 41, 42, 43, 41, 45, 44, 47, 44, 93, - 292, 41, 41, 40, 40, 133, 134, 112, 58, 59, - 60, 40, 62, 63, 292, 290, 195, 41, 123, 124, - 59, 59, 272, 91, 41, 40, 93, 271, 41, 41, - 94, 0, 41, 93, 59, 41, -1, 51, -1, 219, - -1, 211, -1, 93, 94, 265, -1, -1, 112, 41, - -1, 260, 261, 262, -1, 260, 261, 262, 260, 261, - 262, -1, 112, 148, 256, 40, -1, 59, 43, -1, - 45, 63, -1, 123, 124, 289, 290, 289, 290, 289, - 290, 289, 290, -1, 212, 213, -1, 289, 290, 260, - 261, 262, 289, 290, 289, 290, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 286, -1, 268, 269, - -1, -1, 289, 290, 274, 289, 290, -1, 289, 290, - 280, 41, 282, 283, 284, 285, 286, -1, 288, 289, - 290, 291, 292, 293, 294, 295, 296, -1, 298, 59, - 300, 301, 302, 303, 304, 289, 290, 274, 276, -1, - 289, 290, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 292, -1, 268, 269, 293, -1, 289, 290, 274, - 289, 290, 303, 304, -1, 280, 41, 282, 283, 284, - 285, 286, -1, 288, 289, 290, 291, 292, 293, 294, - 295, 296, -1, 298, 59, 300, 301, 302, 303, 304, - 289, 290, 289, 290, -1, -1, -1, 257, 258, 259, + 0, 41, 60, 41, 37, 41, 59, 59, 39, 42, + 43, 63, 45, 63, 47, 59, 62, 41, 36, 102, + 36, 63, 36, 63, 302, 63, 123, 63, 37, 222, + 7, 44, 123, 42, 312, 289, 123, 37, 47, 94, + 40, 41, 42, 43, 44, 45, 63, 47, 302, 303, + 63, 225, 63, 30, 293, 0, 40, 112, 58, 59, + 60, 94, 62, 63, 40, 304, 305, 287, 41, 41, + 153, 44, 44, 302, 303, 261, 262, 40, 124, 112, + 63, 106, 107, 40, 40, 94, 40, 40, 40, 91, + 40, 40, 37, 93, 94, 261, 41, 42, 43, 44, + 45, 123, 47, 112, 40, 60, 112, 84, 133, 302, + 0, 41, 112, 58, 59, 60, 41, 62, 63, 312, + 41, 293, 99, 123, 124, 299, 300, 301, 281, 44, + 41, 41, 44, 93, 41, 153, 44, 153, 293, 153, + 41, 293, 41, 40, 40, 319, 320, 37, 93, 94, + 324, 41, 42, 43, 44, 45, 40, 47, 135, 136, + 59, 291, 41, 62, 261, 262, 59, 112, 58, 59, + 60, 91, 62, 63, 205, 273, 41, 40, 123, 124, + 93, 41, 272, 41, 0, 41, 59, 93, 59, 41, + 219, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 227, 93, 94, -1, -1, 260, 261, 262, + -1, 41, -1, -1, 41, -1, 260, 261, 262, 265, + -1, -1, 112, 40, -1, 124, 43, -1, 45, 59, + -1, -1, 59, 123, 124, 293, -1, -1, 290, 291, + 290, 291, 275, 220, 221, -1, 304, 305, 290, 291, + 290, 291, 290, 291, 290, 291, -1, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 290, 291, 268, 269, + 270, -1, 297, 290, 291, 275, -1, 290, 291, 290, + 291, 281, 41, 283, 284, 285, 286, 287, 41, 289, + 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, + 59, 301, 302, 303, 304, 305, 59, 290, 291, -1, + 287, -1, 257, 258, 259, 260, 261, 262, 263, 264, + 265, -1, -1, 268, 269, 270, -1, 304, -1, -1, + 275, -1, -1, -1, -1, -1, 281, 41, 283, 284, + 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, + 295, 296, 297, -1, 299, 59, 301, 302, 303, 304, + 305, 260, 261, 262, -1, -1, 265, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, - 0, 260, 261, 262, 274, -1, -1, -1, -1, -1, - 280, -1, 282, 283, 284, 285, 286, 41, 288, 289, - 290, 291, 292, 293, 294, 295, 296, -1, 298, -1, - 300, 301, 302, 303, 304, 59, -1, 37, -1, -1, - 40, 41, 42, 43, 44, 45, -1, 47, 260, 261, - 262, -1, -1, -1, -1, 0, -1, -1, 58, 59, - -1, -1, 62, 63, 259, -1, -1, 217, 263, 264, - -1, -1, -1, 268, 269, -1, -1, 289, 290, -1, - -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, - -1, 286, 37, 93, 94, 40, 41, 42, 43, 44, - 45, -1, 47, 298, -1, 300, 301, 302, 303, 304, - 0, -1, 112, 58, 59, 60, -1, 62, 63, -1, - 260, 261, 262, 123, 124, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, - 290, -1, -1, -1, -1, -1, -1, 37, 93, 94, - 40, 41, 42, 43, 44, 45, -1, 47, 308, 309, - -1, -1, -1, 313, -1, -1, -1, 41, 58, 59, - 60, -1, 62, 63, -1, 260, 261, 262, 123, 124, - -1, -1, -1, 0, -1, 59, -1, -1, -1, 63, - -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, - -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, - -1, -1, -1, 41, -1, -1, 59, -1, -1, 62, - 37, -1, 112, 40, 41, 42, 43, 44, 45, -1, - 47, 59, -1, 123, 124, 63, 260, 261, 262, -1, - -1, 58, 59, 60, -1, 62, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, - -1, -1, -1, -1, 274, -1, 93, -1, -1, -1, - 280, 124, 282, 283, 284, 285, 286, -1, 288, 289, - 290, 291, 292, 293, 294, 295, 296, -1, 298, -1, - 300, 301, 302, 303, 304, -1, 123, 124, -1, -1, - -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, -1, -1, 268, 269, -1, -1, -1, -1, 274, - -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, - 285, 286, -1, 288, 289, 290, 291, 292, 293, 294, - 295, 296, -1, 298, -1, 300, 301, 302, 303, 304, - -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, - -1, -1, -1, -1, 274, -1, 260, 261, 262, -1, - 280, -1, 282, 283, 284, 285, 286, -1, 288, 289, - -1, 291, 292, 293, 294, 295, 296, -1, 298, -1, - 300, 301, 302, 303, 304, 289, 290, 260, 261, 262, - -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 260, 261, 262, -1, -1, -1, -1, -1, - 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, - -1, 268, 269, 0, -1, -1, -1, 274, -1, -1, - -1, 289, 290, 280, -1, 282, 283, 284, 285, 286, - -1, 288, 289, 290, 291, 292, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, 303, 304, -1, -1, - 37, -1, -1, 40, 41, 42, 43, 44, 45, -1, - 47, -1, -1, -1, -1, -1, -1, 0, -1, -1, - -1, 58, 59, 60, -1, 62, 63, -1, -1, -1, + 270, 0, -1, -1, -1, 275, -1, -1, -1, -1, + 41, 281, -1, 283, 284, 285, 286, 287, 41, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 59, 299, + -1, 301, 302, 303, 304, 305, 59, -1, 37, -1, + -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, + 260, 261, 262, 260, 261, 262, 0, -1, 41, 58, + 59, -1, -1, 62, 63, -1, 263, 264, 52, 53, + -1, 268, 269, 270, -1, -1, 59, 61, 62, -1, + -1, -1, -1, -1, 281, -1, 283, 284, 285, -1, + 287, 41, -1, 37, 93, 94, 40, 41, 42, 43, + 44, 45, 299, 47, -1, 302, 303, 304, 305, 59, + -1, 0, -1, 112, 58, 59, 60, -1, 62, 63, + -1, 260, 261, 262, 123, 124, -1, 260, 261, 262, + -1, -1, -1, -1, -1, -1, 120, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 93, + 94, 40, 41, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + 59, 60, -1, 62, 63, -1, 260, 261, 262, 123, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 177, 178, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 112, -1, -1, -1, -1, -1, 260, + 261, 262, -1, -1, 123, 124, -1, 260, 261, 262, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, + 269, 270, -1, -1, -1, -1, 275, 260, 261, 262, + -1, -1, 281, 267, 283, 284, 285, 286, 287, -1, + 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, + 299, -1, 301, 302, 303, 304, 305, -1, -1, -1, + 260, 261, 262, 257, 258, 259, 260, 261, 262, 263, + 264, 265, -1, -1, 268, 269, 270, -1, -1, -1, + -1, 275, -1, -1, -1, -1, -1, 281, -1, 283, + 284, 285, 286, 287, -1, 289, 290, 291, 292, 293, + 294, 295, 296, 297, -1, 299, -1, 301, 302, 303, + 304, 305, -1, -1, -1, -1, -1, -1, 257, 258, + 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, + 269, 270, 0, -1, -1, -1, 275, -1, -1, -1, + -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, + 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, + 299, -1, 301, 302, 303, 304, 305, -1, -1, 37, + -1, -1, 40, 41, 42, 43, 44, 45, -1, 47, + -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, + 58, 59, 60, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, -1, 93, 40, 41, 42, + -1, -1, -1, -1, 37, 93, 94, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, - -1, 0, -1, -1, -1, 58, 59, 60, -1, 62, - 63, -1, -1, -1, -1, -1, 123, 124, -1, -1, + -1, 0, -1, -1, 112, 58, 59, 60, -1, 62, + 63, -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, 93, 40, 41, 42, 43, 44, 45, -1, 47, -1, @@ -1086,674 +1146,744 @@ short yycheck[] = { 41, 59, 60, -1, 62, 63, -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, -1, -1, 40, 41, 42, 43, 44, + -1, -1, 37, 112, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, -1, 62, 63, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, - -1, 268, 269, -1, -1, -1, -1, 274, 93, -1, - -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, - -1, 288, 289, 290, 291, 292, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, 303, 304, 123, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, + 258, 259, 260, 261, 262, 263, 264, 265, -1, -1, + 268, 269, 270, -1, -1, -1, -1, 275, 93, -1, + -1, -1, -1, 281, -1, 283, 284, 285, 286, 287, + -1, 289, 290, -1, 292, 293, 294, 295, 296, 297, + -1, 299, -1, 301, 302, 303, 304, 305, 123, 124, -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, - 263, 264, 265, -1, -1, 268, 269, -1, -1, -1, - -1, 274, -1, -1, -1, -1, -1, 280, -1, 282, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, 294, 295, 296, -1, 298, -1, 300, 301, 302, - 303, 304, -1, -1, -1, -1, -1, -1, 257, 258, + 263, 264, 265, -1, -1, 268, 269, 270, -1, -1, + -1, -1, 275, -1, -1, -1, -1, -1, 281, -1, + 283, 284, 285, 286, 287, -1, 289, 290, 291, 292, + 293, 294, 295, 296, 297, -1, 299, -1, 301, 302, + 303, 304, 305, -1, -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, - 269, -1, -1, -1, -1, 274, -1, -1, -1, -1, - -1, 280, -1, 282, 283, 284, 285, 286, -1, 288, - 289, 290, 291, 292, 293, 294, 295, 296, -1, 298, - -1, 300, 301, 302, 303, 304, -1, -1, -1, -1, + 269, 270, -1, -1, -1, -1, 275, -1, -1, -1, + -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, + 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, + 299, -1, 301, -1, -1, 304, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, -1, -1, 268, 269, 0, -1, -1, -1, 274, - -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, - 285, 286, -1, 288, 289, 290, 291, 292, 293, 294, - 295, 296, -1, 298, -1, 300, 301, 302, 303, 304, - -1, -1, 37, -1, -1, 40, 41, 42, 43, 44, - 45, -1, 47, -1, -1, -1, -1, -1, -1, 0, - -1, -1, -1, 58, 59, 60, -1, 62, 63, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, -1, 93, 40, - 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, 0, -1, -1, 58, 59, 60, - -1, 62, 63, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, 93, 94, 40, 41, 42, 43, 44, 45, + 265, -1, -1, 268, 269, 270, 0, -1, -1, -1, + 275, -1, -1, -1, -1, -1, 281, -1, 283, 284, + 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, + 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, + 305, -1, -1, 37, -1, -1, 40, 41, 42, 43, + 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, + 0, -1, -1, -1, 58, 59, 60, -1, 62, 63, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, -1, 93, + 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, + -1, -1, -1, -1, 0, -1, -1, -1, 58, 59, + 60, -1, 62, 63, -1, -1, -1, -1, -1, 123, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, 93, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 112, 58, 59, 60, -1, 62, -1, -1, -1, - -1, -1, 123, 124, -1, -1, -1, 0, -1, -1, + -1, -1, 58, 59, 60, -1, 62, 63, -1, -1, + -1, -1, -1, 123, 124, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, + -1, -1, -1, -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 112, 40, 41, -1, - 43, 44, 45, -1, -1, -1, -1, 123, 124, -1, - -1, -1, -1, -1, -1, 58, 59, 60, -1, 62, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, -1, -1, 268, 269, -1, -1, -1, -1, 274, - 93, -1, -1, -1, -1, 280, -1, 282, 283, 284, - 285, 286, -1, 288, 289, 290, 291, 292, 293, 294, - 295, 296, -1, 298, -1, 300, 301, 302, 303, 304, - 123, 124, -1, -1, -1, -1, 257, 258, 259, 260, - 261, 262, 263, 264, 265, -1, -1, 268, 269, -1, - -1, -1, -1, 274, -1, -1, -1, -1, -1, 280, - -1, 282, 283, 284, 285, 286, -1, -1, 289, 290, - 291, 292, 293, 294, 295, 296, -1, 298, -1, 300, - -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, 40, + 41, 42, 43, 44, 45, -1, 47, 123, 124, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, + -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, 258, 259, 260, 261, 262, 263, + 264, 265, -1, -1, 268, 269, 270, -1, -1, -1, + -1, 275, 93, -1, -1, -1, -1, 281, -1, 283, + 284, 285, 286, 287, -1, 289, 290, 291, 292, 293, + 294, 295, 296, 297, -1, 299, -1, 301, 302, 303, + 304, 305, 123, 124, -1, -1, -1, 257, 258, 259, + 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, + 270, -1, -1, -1, -1, 275, -1, -1, -1, -1, + -1, 281, -1, 283, 284, 285, 286, 287, -1, 289, + 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, + -1, 301, 302, 303, 304, 305, -1, -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, 265, - -1, -1, 268, 269, -1, -1, -1, -1, 274, -1, - -1, -1, -1, -1, 280, 0, 282, 283, 284, 285, - 286, -1, 288, -1, -1, 291, 292, 293, 294, 295, - 296, -1, 298, -1, 300, 301, 302, 303, 304, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 0, 59, 268, 269, -1, -1, -1, - -1, 274, -1, -1, -1, -1, -1, 280, -1, 282, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, 294, 295, 296, -1, 298, -1, 300, 301, 302, - 303, 304, -1, 40, 41, -1, 43, 44, 45, -1, - -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 59, 60, -1, 62, 63, -1, 123, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 40, 41, -1, -1, 44, 93, -1, -1, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - 59, 60, -1, 62, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, + -1, -1, 268, 269, 270, -1, -1, -1, -1, 275, + -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, + 286, 287, -1, 289, 290, 291, 292, 293, 294, 295, + 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 257, 258, 259, 260, + 261, 262, 263, 264, 265, -1, -1, 268, 269, 270, + 0, -1, -1, -1, 275, -1, -1, -1, -1, -1, + 281, -1, 283, 284, 285, 286, 287, -1, 289, 290, + 291, 292, 293, 294, 295, 296, 297, -1, 299, -1, + 301, 302, 303, 304, 305, -1, -1, 37, -1, -1, + 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, + -1, -1, -1, -1, -1, 0, -1, -1, 58, 59, + 60, -1, 62, 63, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 93, 94, 40, 41, 42, 43, 44, + 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, + 0, -1, 112, 58, 59, 60, -1, 62, -1, -1, + -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, + 40, 41, -1, 43, 44, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 112, 58, 59, + 60, -1, 62, 63, -1, -1, -1, -1, 123, 124, + -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 40, 41, -1, 43, 44, 45, -1, + -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, + -1, 58, 59, 60, -1, 62, 63, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, + 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, + 270, -1, -1, -1, -1, 275, 93, -1, -1, -1, + -1, 281, -1, 283, 284, 285, 286, 287, -1, -1, + 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, + -1, 301, -1, -1, 304, 305, 123, 124, -1, -1, + -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, + 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, + 275, -1, -1, -1, -1, -1, 281, -1, 283, 284, + 285, 286, 287, -1, 289, -1, -1, 292, 293, 294, + 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, + 305, -1, -1, -1, -1, -1, -1, 257, 258, 259, + 260, 261, 262, 263, 264, 265, -1, 0, 268, 269, + 270, -1, -1, -1, -1, 275, -1, -1, -1, -1, + -1, 281, -1, 283, 284, 285, 286, 287, -1, 289, + 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, + -1, 301, 302, 303, 304, 305, -1, 40, -1, -1, + 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 0, + -1, 268, 269, 270, -1, -1, -1, -1, 275, -1, + -1, -1, -1, -1, 281, -1, 283, 284, 285, 286, + 287, -1, 289, 290, 291, 292, 293, 294, 295, 296, + 297, -1, 299, -1, 301, 302, 303, 304, 305, 40, + 41, -1, -1, 44, -1, -1, -1, -1, -1, 0, + 123, -1, -1, -1, -1, -1, -1, 58, 59, 60, + -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, - 41, -1, -1, 44, 93, -1, -1, -1, -1, -1, - -1, 0, -1, -1, -1, -1, -1, 58, 59, 60, + 41, -1, 93, 44, -1, -1, -1, -1, -1, -1, + 0, -1, -1, -1, -1, -1, -1, 58, 59, 60, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, + -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 40, 93, -1, 43, -1, 45, -1, -1, -1, - -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 59, -1, -1, 268, 269, -1, -1, -1, -1, -1, - -1, -1, 123, 124, -1, 280, -1, 282, 283, 284, - 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, - -1, -1, -1, 298, -1, 300, 301, 302, 303, 304, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, - -1, 268, 269, 40, 123, -1, 43, 274, 45, -1, - -1, -1, -1, 280, 0, 282, 283, 284, 285, 286, - -1, 288, 289, 290, 291, 292, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, 303, 304, 257, 258, - 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, - 269, -1, -1, -1, 40, -1, -1, 43, -1, 45, - -1, 280, -1, 282, 283, 284, 285, 286, -1, 288, - 289, 290, 291, 292, 293, 294, 295, 296, -1, 298, - -1, 300, 301, 302, 303, 304, 257, 258, 259, 260, - 261, 262, 263, 264, 265, -1, -1, 268, 269, -1, - 40, 41, -1, 43, -1, 45, -1, -1, -1, 280, - -1, 282, 283, 284, 285, 286, -1, 288, 289, 290, - 291, 292, 293, 294, 295, 296, -1, 298, -1, 300, - 301, 302, 303, 304, -1, -1, -1, 123, 257, 258, - 259, 260, 261, 262, 263, 264, 0, -1, -1, 268, - 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, - -1, -1, 291, 292, 293, 294, -1, -1, -1, 298, - -1, 300, 301, 302, 303, 304, 40, -1, -1, 43, - -1, 45, -1, -1, 0, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, + 40, -1, 93, 43, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 0, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 259, -1, 261, 262, 263, 264, -1, -1, - -1, 268, 269, -1, 40, -1, -1, 43, -1, 45, - -1, -1, -1, 280, 0, 282, 283, 284, -1, 286, - -1, -1, -1, 59, 291, 292, 293, 294, -1, -1, - -1, 298, -1, 300, 301, 302, 303, 304, -1, 123, - -1, 257, 258, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, 40, -1, -1, 43, -1, 45, - -1, -1, -1, 0, 280, -1, 282, 283, 284, 285, - 286, -1, -1, -1, -1, 291, 292, 293, 294, -1, - -1, -1, 298, -1, 300, 301, 302, 303, 304, 259, + -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, + 263, 264, -1, -1, -1, 268, 269, 270, 40, -1, + -1, 43, -1, 45, -1, -1, -1, 0, 281, -1, + 283, 284, 285, 286, 287, -1, -1, 59, -1, 292, + 293, 294, 295, 123, -1, -1, 299, -1, 301, 302, + 303, 304, 305, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, + 43, -1, 45, -1, -1, -1, 257, 258, 259, 260, + 261, 262, 263, 264, 265, -1, 59, 268, 269, 270, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 281, 123, 283, 284, 285, 286, 287, -1, 289, 290, + 291, 292, 293, 294, 295, 296, 297, -1, 299, -1, + 301, 302, 303, 304, 305, -1, 257, 258, 259, 260, + 261, 262, 263, 264, 265, -1, -1, 268, 269, 270, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 281, 0, 283, 284, 285, 286, 287, -1, 289, 290, + 291, 292, 293, 294, 295, 296, 297, -1, 299, -1, + 301, 302, 303, 304, 305, -1, -1, 257, 258, 259, + 260, 261, 262, 263, 264, -1, -1, -1, 268, 269, + 270, 40, -1, -1, 43, -1, 45, -1, -1, -1, + -1, 281, -1, 283, 284, 285, 286, 287, -1, -1, + 0, -1, 292, 293, 294, 295, -1, -1, -1, 299, + -1, 301, 302, 303, 304, 305, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, 258, 259, 260, -1, + 262, 263, 264, -1, -1, -1, 268, 269, 270, -1, + 40, -1, -1, 43, -1, 45, -1, -1, -1, 281, + 0, 283, 284, 285, 286, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 123, -1, -1, 299, -1, 301, + 302, 303, 304, 305, 257, 258, 259, 260, 261, 262, + 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, + 40, -1, -1, 43, -1, 45, -1, -1, 281, -1, + 283, 284, 285, 286, 287, -1, -1, -1, 0, 292, + 293, 294, 295, -1, -1, -1, 299, -1, 301, 302, + 303, 304, 305, 123, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 37, -1, -1, 40, 41, + 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 58, 59, 60, -1, + 62, 63, -1, 123, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + 259, 93, 94, -1, 263, 264, -1, -1, -1, 268, + 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, + 112, -1, 281, -1, 283, 284, 285, 286, 287, -1, + -1, 123, 124, 292, 293, 294, 295, -1, -1, -1, + 299, -1, 301, 302, 303, 304, 305, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, - -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, - 280, -1, 282, 283, 284, -1, 286, -1, -1, -1, - -1, 291, 292, 293, 294, -1, -1, -1, 298, -1, - 300, 301, 302, 303, 304, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, 259, 260, -1, 262, 263, - 264, -1, -1, -1, 268, 269, 123, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 280, -1, 282, 283, - 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, - 294, -1, -1, -1, 298, -1, 300, 301, 302, 303, - 304, 257, 258, 259, 260, 261, 262, 263, 264, -1, - -1, -1, 268, 269, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, - 286, -1, -1, -1, -1, 291, 292, 293, 294, -1, - -1, -1, 298, -1, 300, 301, 302, 303, 304, -1, - -1, 257, 258, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, - 286, -1, -1, -1, -1, 291, 292, 293, 294, -1, - -1, -1, 298, -1, 300, 301, 302, 303, 304, -1, - 257, 258, 259, -1, -1, -1, 263, 264, -1, -1, - -1, 268, 269, 0, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, - -1, -1, -1, -1, 291, 292, 293, 294, -1, -1, - -1, 298, -1, 300, 301, 302, 303, 304, -1, -1, - 37, -1, -1, 40, 41, 42, 43, 44, 45, -1, - 47, -1, -1, -1, -1, -1, -1, -1, 0, -1, - -1, 58, 59, 60, -1, 62, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 281, -1, 283, 284, 285, 286, 287, -1, -1, + -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, + -1, 301, 302, 303, 304, 305, -1, 257, 258, 259, + -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, + 270, -1, -1, -1, -1, 40, -1, -1, 43, -1, + 45, 281, -1, 283, 284, 285, 286, 287, -1, -1, + -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, + -1, 301, 302, 303, 304, 305, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, 258, 259, 260, 261, + 262, 263, 264, 265, -1, 0, 268, 269, 270, -1, + -1, -1, -1, 275, -1, -1, -1, -1, -1, 281, + -1, 283, 284, 285, 286, 287, -1, 289, 290, 291, + 292, -1, 294, 295, 296, 297, -1, 299, 123, 301, + 302, 303, 37, -1, -1, 40, 41, 42, 43, 44, + 45, -1, 47, 0, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 58, 59, -1, -1, 62, 63, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, -1, 41, 42, -1, 44, 93, 94, + 47, 0, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 58, 59, 60, -1, 62, 63, 112, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, + -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, + -1, -1, 41, 42, -1, 44, 93, 94, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + 59, 60, -1, 62, 63, 112, -1, -1, -1, -1, + -1, -1, 257, 258, 259, -1, 123, 124, 263, 264, + -1, -1, -1, 268, 269, 270, -1, -1, -1, -1, + -1, -1, -1, -1, 93, 94, 281, -1, 283, 284, + 285, 286, 287, -1, -1, -1, -1, 292, 293, 294, + 295, -1, -1, 112, 299, -1, 301, 302, 303, 304, + 305, -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 37, 93, 94, 40, 41, - 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 112, 58, 59, -1, -1, - 62, 63, -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 93, 94, -1, -1, -1, -1, 0, -1, -1, + -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, + 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, + 275, -1, -1, -1, -1, -1, 281, -1, 283, 284, + 285, 286, 287, -1, 289, 290, 291, 292, -1, 294, + 295, 296, 297, -1, 299, -1, 301, 302, 303, -1, + 257, 258, 259, 260, 261, 262, -1, -1, 265, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 275, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 286, + -1, 0, 289, 290, 291, 292, 293, 294, 295, 296, + 297, -1, -1, -1, 301, -1, -1, -1, 257, 258, + 259, 260, 261, 262, -1, -1, 265, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 275, -1, 37, -1, + -1, -1, 41, 42, -1, 44, 0, 286, 47, -1, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 58, + 59, 60, 301, 62, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, -1, -1, -1, 41, 42, -1, + 44, 0, -1, 47, 93, 94, -1, -1, -1, -1, + -1, -1, -1, -1, 58, 59, 60, -1, 62, 63, + -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, 124, -1, -1, 37, -1, + -1, -1, 41, 42, -1, 44, -1, -1, 47, 93, + 94, -1, -1, -1, -1, -1, -1, -1, -1, 58, + 59, 60, -1, 62, 63, -1, -1, -1, 112, -1, + 0, -1, -1, -1, -1, -1, -1, -1, -1, 123, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, + -1, 41, 42, 112, 44, -1, -1, 47, -1, -1, + -1, -1, -1, -1, 123, 124, -1, -1, 58, 59, + 60, -1, 62, 63, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 93, 94, -1, -1, -1, 257, 258, + 259, 260, 261, 262, -1, -1, 265, -1, -1, -1, + -1, -1, 112, -1, -1, -1, 275, -1, -1, -1, + -1, -1, -1, 123, 124, -1, -1, 286, -1, -1, + 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, + -1, -1, 301, 257, 258, 259, 260, 261, 262, -1, + -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 286, -1, -1, 289, 290, 291, 292, 293, + 294, 295, 296, 297, -1, -1, -1, 301, 257, 258, + 259, 260, 261, 262, -1, -1, 265, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 275, -1, -1, 0, + -1, -1, -1, -1, -1, -1, -1, 286, -1, -1, + 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, + -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, + 41, 42, -1, 44, -1, -1, 47, 257, 258, 259, + 260, 261, 262, -1, -1, 265, -1, 58, 59, 60, + -1, 62, 63, -1, -1, 275, 0, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 286, -1, -1, 289, + 290, 291, 292, 293, 294, 295, 296, 297, -1, -1, + -1, 301, 93, 94, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37, -1, -1, -1, 41, 42, -1, + 44, 112, -1, 47, 0, -1, -1, -1, -1, -1, + -1, -1, 123, 124, 58, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, -1, -1, 41, 42, -1, 44, 93, + 94, 47, -1, -1, -1, -1, -1, -1, -1, 0, + -1, -1, 58, 59, 60, -1, 62, -1, 112, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, 93, 94, -1, + 41, 42, -1, 44, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 112, 58, 59, 60, + -1, 62, -1, -1, -1, -1, -1, 123, 124, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 257, 258, 259, 260, + 261, 262, 93, 94, 265, 40, -1, -1, 43, -1, + 45, -1, -1, -1, 275, 0, -1, -1, -1, -1, + -1, 112, -1, -1, -1, 286, -1, -1, 289, 290, + 291, -1, 123, 124, -1, 296, 297, -1, -1, -1, + 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, 41, 42, -1, 44, + -1, -1, 47, 257, 258, 259, 260, 261, 262, -1, + -1, 265, -1, 58, 59, 60, -1, 62, -1, 40, + -1, 275, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, 286, -1, -1, 289, 290, 291, 59, -1, + 0, -1, 296, 297, -1, -1, -1, 301, 93, 94, + -1, 257, 258, 259, 260, 261, 262, -1, -1, 265, + -1, -1, -1, -1, -1, -1, -1, 112, -1, 275, + -1, -1, -1, -1, -1, -1, -1, 37, 123, 124, + 286, 41, 42, 289, 290, 291, -1, 47, -1, -1, + 296, 297, -1, -1, -1, 301, -1, -1, 58, 59, + 60, -1, 62, -1, -1, -1, 257, 258, 259, 260, + 261, 262, 0, -1, 265, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 275, -1, -1, -1, -1, -1, + -1, -1, -1, 93, 94, 286, -1, -1, 289, 290, + 291, -1, -1, -1, -1, 296, 297, -1, -1, 37, + 301, -1, 112, 41, 42, -1, 44, -1, -1, 47, + -1, -1, -1, 123, 124, -1, 261, 262, 263, 264, + 58, 59, -1, 268, 269, 270, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 281, -1, 283, 284, + 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, -1, -1, -1, 299, 93, 94, 302, 303, 304, + 305, -1, 257, 258, 259, 260, 261, 262, -1, -1, + 265, -1, -1, -1, 112, -1, -1, -1, -1, -1, + 275, -1, -1, -1, -1, 123, 124, -1, 259, -1, + -1, 286, 263, 264, 289, 290, 291, 268, 269, 270, + -1, 296, 297, -1, -1, -1, 301, -1, -1, -1, + 281, -1, 283, 284, 285, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, + 301, 302, 303, 304, 305, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, + 260, 261, 262, -1, 7, 265, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 275, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 286, 30, -1, 289, + 290, 291, -1, 36, -1, -1, 296, 297, -1, -1, + -1, 301, -1, -1, -1, 48, -1, -1, 51, 52, + 53, 54, 55, -1, 57, 58, 59, -1, 61, 62, + 63, 64, 65, -1, -1, -1, -1, -1, -1, 257, + 258, 259, 260, 261, 262, -1, -1, 265, 81, -1, + -1, 84, 85, 86, 87, 88, 89, 275, 49, 50, + -1, -1, -1, -1, -1, -1, 99, -1, 286, 102, + -1, 289, 290, 291, -1, -1, -1, -1, -1, -1, + -1, 114, -1, 301, -1, -1, -1, 120, -1, 80, + -1, 82, 83, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 135, 136, -1, 40, -1, -1, 43, -1, + 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 165, 166, 167, 168, 169, -1, -1, -1, + -1, 174, 175, -1, 177, 178, -1, -1, -1, 182, + -1, -1, -1, 186, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 197, 156, 157, 200, -1, -1, + 203, 204, -1, -1, -1, -1, -1, -1, -1, -1, + 17, -1, -1, -1, -1, 176, -1, 220, 221, 222, + -1, 28, 29, -1, 31, 32, 187, 34, 189, -1, + 191, -1, -1, -1, -1, 42, -1, -1, 241, -1, + 243, -1, 245, -1, 247, -1, 249, -1, -1, -1, + -1, 254, -1, 214, -1, -1, 259, 260, 40, -1, + -1, 43, -1, 45, 267, -1, -1, -1, 229, 230, + 231, 232, 233, -1, -1, -1, -1, 59, -1, -1, + -1, -1, -1, -1, 287, 92, 93, 94, 95, 96, + 97, -1, -1, -1, -1, -1, -1, 104, -1, -1, + -1, 304, 109, -1, -1, 112, 113, -1, -1, 116, + -1, 118, 119, -1, -1, -1, 123, 124, -1, 280, + -1, -1, -1, 284, 285, 286, -1, 134, -1, 290, + -1, 138, -1, 140, 141, 142, 143, 40, -1, -1, + 43, 123, 45, -1, 151, -1, -1, 154, -1, -1, + -1, -1, -1, -1, 315, 316, 59, 164, 263, 264, + 321, 266, 267, 268, 269, 270, -1, -1, -1, -1, + -1, 276, 277, 278, 279, 280, 281, -1, 283, 284, + 285, -1, 287, 288, -1, 192, -1, 292, 293, 294, + 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, + 305, 208, 209, 210, 211, -1, 213, -1, 215, 216, + -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, + 123, -1, 125, -1, -1, -1, -1, -1, 235, 236, + 237, 238, -1, 40, -1, -1, 43, -1, 45, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, -1, -1, -1, 263, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 275, 276, + 277, 278, 279, -1, 281, 282, 283, -1, 260, 261, + 262, 263, 264, -1, 266, 267, 268, 269, 270, 271, + -1, 273, 274, -1, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, -1, 287, 288, -1, -1, -1, + 292, 293, 294, 295, -1, -1, 123, 299, 125, -1, + 302, 303, 304, 305, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, -1, -1, -1, 41, 42, - -1, 44, -1, -1, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 59, 60, -1, 62, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, + 263, 264, -1, 266, 267, 268, 269, 270, 271, 272, + 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, -1, 287, 288, -1, -1, -1, 292, + 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, + 303, 304, 305, -1, -1, -1, -1, 123, 40, 125, + -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 112, - -1, 268, 269, -1, -1, -1, -1, 274, -1, -1, - 123, 124, -1, 280, -1, 282, 283, 284, 285, 286, - -1, 288, 289, 290, 291, -1, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, 259, 260, 261, - 262, 263, 264, 265, -1, -1, 268, 269, 14, -1, - -1, -1, 274, -1, -1, -1, -1, -1, 280, -1, - 282, 283, 284, 285, 286, -1, 288, 289, 290, 291, - -1, 293, 294, 295, 296, -1, 298, -1, 300, 301, - 302, -1, -1, 49, 50, 51, -1, -1, -1, -1, - 56, 57, -1, 59, 60, 61, -1, 63, 64, 65, - 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, - 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 257, 258, -1, 260, 261, 262, - -1, -1, 265, -1, -1, -1, 112, -1, -1, -1, - -1, 274, 118, -1, -1, -1, -1, -1, -1, 125, - -1, -1, 285, -1, -1, 288, 289, 290, 291, 292, - 293, 294, 295, 296, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 150, 151, -1, -1, -1, 155, - 156, -1, -1, 159, 160, 161, 162, 163, -1, -1, - -1, -1, 168, 169, -1, 171, 172, -1, -1, -1, - 176, -1, -1, -1, 180, -1, 0, -1, -1, -1, - -1, -1, -1, -1, 190, 191, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 214, -1, - -1, 217, -1, 37, -1, -1, 0, 41, 42, -1, - 44, -1, -1, 47, 230, -1, 232, -1, 234, -1, - 236, -1, 238, -1, 58, 59, 60, 243, 62, 63, - -1, -1, 248, 249, -1, -1, -1, -1, -1, -1, - 256, 257, -1, 37, -1, -1, -1, 41, 42, -1, - 44, -1, -1, 47, 0, -1, -1, -1, -1, 93, - 94, -1, -1, -1, 58, 59, 60, -1, 62, 63, - -1, -1, 288, 289, 290, 291, -1, -1, 112, -1, - 296, -1, -1, -1, -1, 301, -1, -1, -1, 123, - 124, 37, 308, 309, 0, 41, 42, 313, 44, 93, - 94, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 58, 59, 60, -1, 62, 63, 112, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, 37, -1, -1, -1, 41, 42, -1, 44, -1, - -1, 47, -1, -1, -1, -1, -1, 93, 94, -1, - -1, -1, 58, 59, 60, -1, 62, 63, -1, -1, - -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, 40, - -1, -1, 43, -1, 45, -1, -1, 93, 94, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, - -1, 62, -1, -1, -1, -1, 112, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, - -1, -1, -1, 257, 258, -1, 260, 261, 262, -1, - -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 285, -1, -1, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 257, 258, -1, 260, 261, 262, -1, - -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 285, -1, -1, 288, 289, 290, 291, 292, 293, - 294, 295, 296, -1, -1, -1, -1, -1, -1, -1, - -1, 257, 258, -1, 260, 261, 262, -1, -1, 265, - -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, - -1, -1, -1, 0, -1, -1, -1, -1, -1, 285, - -1, -1, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 257, 258, -1, 260, 261, 262, -1, -1, 265, - -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, - 37, -1, -1, 0, 41, 42, -1, 44, -1, 285, - 47, -1, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 58, 59, 60, -1, 62, 63, -1, 259, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, -1, - 37, -1, -1, -1, 41, 42, -1, 44, 0, 280, - 47, 282, 283, 284, -1, 286, 93, 94, -1, -1, - -1, 58, 59, -1, -1, 296, 63, 298, -1, 300, - 301, 302, 303, 304, -1, 112, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 37, 123, 124, 0, 41, - 42, -1, 44, -1, -1, 47, 93, 94, -1, -1, - -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, - -1, 63, -1, -1, -1, 112, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 37, 123, 124, -1, 41, - 42, -1, 44, 0, -1, 47, -1, -1, -1, -1, - -1, 93, 94, -1, -1, -1, 58, 59, -1, -1, - -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, - 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, 123, 124, -1, 41, 42, -1, 44, -1, -1, - 47, 93, 94, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 59, -1, -1, -1, 63, -1, -1, -1, - 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, 124, -1, 40, 41, -1, 43, 44, 45, - 257, 258, -1, 260, 261, 262, 93, 94, 265, -1, - -1, -1, -1, -1, 60, -1, 62, 274, -1, -1, - -1, -1, -1, -1, -1, 112, -1, -1, 285, -1, - -1, 288, 289, 290, -1, -1, 123, 124, 295, 296, - 257, 258, -1, 260, 261, 262, -1, -1, 265, -1, - -1, -1, -1, -1, -1, -1, -1, 274, -1, -1, - 40, -1, -1, 43, -1, 45, -1, -1, 285, -1, - -1, 288, 289, 290, 291, 292, 293, 294, 295, 59, - -1, -1, -1, -1, -1, 257, 258, -1, 260, 261, - 262, -1, -1, 265, -1, -1, -1, -1, -1, -1, - -1, -1, 274, 0, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 285, -1, -1, 288, 289, 290, -1, - -1, -1, -1, -1, -1, 257, 258, -1, 260, 261, - 262, -1, -1, 265, -1, -1, -1, -1, -1, -1, - 37, -1, 274, 123, 41, 42, -1, 44, 0, -1, - 47, -1, -1, 285, -1, -1, 288, 289, 290, -1, - -1, 58, 59, -1, -1, -1, 63, -1, -1, -1, - 257, 258, -1, 260, 261, 262, -1, -1, 265, -1, - -1, -1, -1, -1, -1, 37, -1, 274, -1, 41, - 42, -1, -1, -1, -1, 47, 93, 94, 285, -1, - -1, 288, 289, 290, -1, -1, 58, 59, -1, -1, - -1, 63, -1, 259, -1, 112, -1, 263, 264, -1, - -1, -1, 268, 269, -1, 40, 123, 124, 43, -1, - 45, -1, -1, -1, 280, -1, 282, 283, 284, -1, - 286, 93, 94, -1, 59, 291, 292, 293, 294, 295, - 296, -1, 298, -1, 300, 301, 302, 303, 304, -1, - 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, 124, -1, -1, -1, -1, -1, -1, 259, - 260, 261, 262, 263, 264, -1, 266, 267, 268, 269, - 270, -1, 272, 273, -1, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, -1, 286, 287, 123, -1, - 125, 291, 292, 293, 294, -1, -1, -1, 298, -1, - 300, 301, 302, 303, 304, -1, -1, -1, -1, 40, + -1, -1, -1, 260, -1, -1, 263, 264, -1, 266, + 267, 268, 269, 270, 271, 272, 273, 274, -1, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, -1, + 287, 288, -1, -1, -1, 292, 293, 294, 295, -1, + -1, 123, 299, 125, -1, 302, 303, 304, 305, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, -1, 260, 261, 262, -1, -1, 265, -1, - -1, -1, -1, -1, -1, -1, -1, 274, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 285, -1, - -1, 288, 289, 290, -1, -1, -1, 40, -1, -1, - 43, -1, 45, -1, -1, 257, 258, -1, 260, 261, - 262, -1, 123, 265, 125, -1, 59, -1, -1, -1, - -1, -1, 274, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 285, -1, -1, 288, 289, 290, -1, - -1, -1, -1, -1, 259, 260, -1, -1, 263, 264, - -1, 266, 267, 268, 269, 270, 271, 272, 273, -1, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, -1, 291, 292, 293, 294, - 123, -1, 125, 298, -1, 300, 301, 302, 303, 304, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, + 266, 267, 268, 269, 270, 271, 272, 273, 274, -1, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + -1, 287, 288, -1, -1, -1, 292, 293, 294, 295, + -1, -1, 123, 299, 125, -1, 302, 303, 304, 305, + -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, 259, 260, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, + -1, 263, 264, -1, 266, 267, 268, 269, 270, 271, + 272, 273, 274, -1, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, -1, 287, 288, -1, -1, -1, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, 123, -1, 125, -1, -1, -1, + -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - 271, 272, 273, -1, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, -1, 286, 287, 123, -1, 125, - 291, 292, 293, 294, -1, -1, -1, 298, -1, 300, - 301, 302, 303, 304, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, 259, 260, -1, -1, - 263, 264, -1, 266, 267, 268, 269, 270, 271, 272, - 273, -1, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, -1, 291, 292, - 293, 294, -1, -1, -1, 298, -1, 300, 301, 302, - 303, 304, -1, -1, -1, -1, 40, -1, -1, 43, - -1, 45, -1, -1, -1, -1, -1, 123, -1, 125, + 271, 272, 273, 274, -1, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, -1, 287, 288, -1, -1, + -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, + -1, 302, 303, 304, 305, 123, 40, 125, -1, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 259, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, -1, 291, 292, 293, 294, 123, - -1, 125, 298, -1, 300, 301, 302, 303, 304, 40, - -1, 259, 43, -1, 45, 263, 264, -1, -1, -1, - 268, 269, -1, -1, -1, -1, -1, -1, 59, -1, - -1, -1, 280, -1, 282, 283, 284, -1, 286, -1, - -1, -1, -1, 291, 292, 293, 294, -1, -1, -1, - 298, -1, 300, 301, 302, 303, 304, 40, -1, -1, - 43, -1, 45, 259, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, - 286, 287, 123, -1, 125, 291, 292, 293, 294, -1, - -1, -1, 298, -1, 300, 301, 302, 303, 304, 40, - -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, - -1, -1, -1, -1, -1, 259, 260, -1, -1, 263, - 264, -1, 266, 267, 268, 269, 270, 271, 272, 273, - -1, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, -1, 291, 292, 293, - 294, -1, -1, -1, 298, -1, 300, 301, 302, 303, - 304, 40, -1, -1, 43, -1, 45, -1, -1, -1, - -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 259, 260, - -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - 271, 272, 273, -1, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, -1, - 291, 292, 293, 294, 123, -1, 125, 298, -1, 300, - 301, 302, 303, 304, 40, -1, 259, 43, -1, 45, - 263, 264, -1, -1, -1, 268, 269, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, 280, -1, 282, - 283, 284, -1, 286, -1, -1, -1, -1, 291, 292, - 293, 294, -1, -1, -1, 298, -1, 300, 301, 302, - 303, 304, 40, -1, -1, 43, -1, 45, 259, 260, - -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - 271, 272, 273, -1, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, -1, 286, 287, 123, -1, 125, - 291, 292, 293, 294, -1, -1, -1, 298, -1, 300, - 301, 302, 303, 304, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - 259, 260, -1, -1, 263, 264, -1, 266, 267, 268, - 269, 270, -1, 272, 273, -1, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, -1, 291, 292, 293, 294, -1, -1, -1, 298, - -1, 300, 301, 302, 303, 304, 40, -1, -1, 43, - -1, 45, -1, -1, -1, -1, -1, 123, -1, 125, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, + -1, 260, -1, -1, 263, 264, -1, 266, 267, 268, + 269, 270, 271, 272, 273, 274, -1, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, -1, 287, 288, + -1, -1, -1, 292, 293, 294, 295, -1, -1, 123, + 299, 125, -1, 302, 303, 304, 305, 40, -1, -1, + 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 259, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, -1, 272, 273, -1, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, -1, 291, 292, 293, 294, 123, - -1, 125, 298, -1, 300, 301, 302, 303, 304, 40, - -1, 259, 43, -1, 45, 263, 264, -1, -1, -1, - 268, 269, -1, -1, -1, -1, -1, -1, 59, -1, - -1, -1, 280, -1, 282, 283, 284, -1, 286, -1, - -1, -1, -1, 291, 292, 293, 294, -1, -1, -1, - 298, -1, 300, 301, 302, 303, 304, -1, -1, -1, - -1, -1, -1, 259, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, -1, 272, 273, -1, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, - 286, 287, 123, -1, 125, 291, 292, 293, 294, -1, - -1, -1, 298, -1, 300, 301, 302, 303, 304, 40, + -1, -1, 260, -1, -1, 263, 264, -1, 266, 267, + 268, 269, 270, 271, 272, 273, 274, -1, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, -1, 287, + 288, -1, -1, -1, 292, 293, 294, 295, -1, -1, + 123, 299, 125, -1, 302, 303, 304, 305, -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, - -1, -1, -1, -1, -1, 259, 260, -1, -1, 263, - 264, -1, 266, 267, 268, 269, 270, -1, 272, 273, - -1, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, -1, 291, 292, 293, - 294, -1, -1, -1, 298, -1, 300, 301, 302, 303, - 304, 40, -1, -1, 43, -1, 45, -1, -1, -1, - -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 259, 260, - -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - -1, 272, 273, -1, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, -1, - 291, 292, 293, 294, 123, -1, 125, 298, -1, 300, - 301, 302, 303, 304, 40, -1, -1, 43, -1, 45, + -1, -1, -1, -1, -1, -1, 260, -1, -1, 263, + 264, -1, 266, 267, 268, 269, 270, 271, 272, 273, + 274, -1, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, -1, 287, 288, -1, -1, -1, 292, 293, + 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, + 304, 305, 123, -1, 125, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, + 263, 264, -1, 266, 267, 268, 269, 270, 271, -1, + 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, -1, 287, 288, -1, -1, -1, 292, + 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, + 303, 304, 305, 123, 40, 125, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, 45, -1, -1, 259, 260, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - -1, 272, 273, -1, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, -1, 286, 287, 123, -1, 125, - 291, 292, 293, 294, -1, -1, -1, 298, -1, 300, - 301, 302, 303, 304, 40, 41, -1, 43, 44, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 60, -1, 62, -1, -1, -1, - 259, 260, -1, -1, 263, 264, -1, 266, 267, 268, - 269, 270, -1, 272, 273, -1, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, -1, 291, 292, 293, 294, -1, -1, -1, 298, - -1, 300, 301, 302, 303, 304, 40, 41, -1, 43, - 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 259, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, -1, 272, 273, -1, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, -1, 291, 292, 293, 294, -1, - -1, -1, 298, -1, 300, 301, 302, 303, 304, 259, - -1, -1, -1, 263, 264, -1, 266, 267, 268, 269, - -1, -1, -1, -1, -1, 275, 276, 277, 278, 279, - 280, -1, 282, 283, 284, -1, 286, 287, -1, -1, - -1, 291, 292, 293, 294, -1, -1, -1, 298, -1, - 300, 301, 302, 303, 304, 40, 41, -1, 43, 44, - 45, -1, -1, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, -1, 60, -1, 62, -1, -1, - -1, -1, -1, -1, 280, -1, 282, 283, 284, -1, - 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, - 296, -1, 298, -1, 300, 301, 302, 303, 304, 40, - 41, -1, 43, 44, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, - -1, 62, -1, -1, -1, 259, -1, -1, -1, 263, - 264, -1, -1, -1, 268, 269, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 280, -1, 282, 283, - 284, 40, 286, -1, 43, 44, 45, 291, 292, 293, - 294, 295, 296, -1, 298, -1, 300, 301, 302, 303, - 304, 60, -1, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, + 271, -1, 273, 274, -1, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, -1, 287, 288, -1, -1, + -1, 292, 293, 294, 295, -1, -1, 123, 299, 125, + -1, 302, 303, 304, 305, 40, -1, -1, 43, -1, + 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 260, -1, -1, 263, 264, -1, 266, 267, 268, 269, + 270, 271, -1, 273, 274, -1, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, -1, 287, 288, -1, + -1, -1, 292, 293, 294, 295, -1, -1, 123, 299, + 125, -1, 302, 303, 304, 305, -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, 259, 62, -1, -1, 263, 264, - -1, -1, -1, 268, 269, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, - 40, 286, -1, 43, 44, 45, 291, 292, 293, 294, - 295, 296, -1, 298, -1, 300, 301, 302, 303, 304, - 60, -1, 62, -1, -1, -1, -1, -1, 259, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 280, - -1, 282, 283, 284, 40, 286, -1, 43, 44, 45, - 291, 292, 293, 294, 295, 296, -1, 298, -1, 300, - 301, 302, 303, 304, 60, -1, 62, -1, -1, -1, - 259, -1, -1, -1, 263, 264, -1, -1, -1, 268, - 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 280, -1, 282, 283, 284, -1, 286, -1, -1, - -1, -1, 291, 292, 293, 294, 295, 296, -1, 298, - -1, 300, 301, 302, 303, 304, 259, -1, -1, -1, - 263, 264, -1, -1, 40, 268, 269, 43, 44, 45, - -1, -1, -1, -1, -1, -1, -1, 280, -1, 282, - 283, 284, -1, 286, 60, -1, 62, -1, 291, 292, - 293, 294, 295, 296, -1, 298, -1, 300, 301, 302, - 303, 304, 259, -1, -1, -1, 263, 264, -1, -1, - 40, 268, 269, 43, 44, 45, -1, -1, -1, -1, - -1, -1, -1, 280, -1, 282, 283, 284, -1, 286, - 60, -1, 62, -1, 291, 292, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, 303, 304, -1, 259, - -1, -1, -1, 263, 264, -1, -1, 40, 268, 269, - 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, - 280, -1, 282, 283, 284, -1, 286, 60, -1, 62, - -1, 291, 292, 293, 294, 295, 296, -1, 298, -1, - 300, 301, 302, 303, 304, -1, -1, -1, -1, -1, - -1, -1, -1, 259, -1, -1, -1, 263, 264, -1, - -1, 40, 268, 269, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, 280, -1, 282, 283, 284, 58, - 286, 60, -1, 62, -1, 291, 292, 293, 294, 295, - 296, -1, 298, -1, 300, 301, 302, 303, 304, -1, - -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, - -1, -1, -1, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 280, -1, 282, 283, 284, -1, - 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, - 296, -1, 298, -1, 300, 301, 302, 303, 304, 259, - -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 280, -1, 282, 283, 284, -1, 286, -1, -1, -1, - -1, 291, 292, 293, 294, 295, 296, -1, 298, -1, - 300, 301, 302, 303, 304, -1, 259, -1, -1, -1, - 263, 264, -1, -1, -1, 268, 269, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 280, -1, 282, - 283, 284, -1, 286, -1, -1, -1, -1, 291, 292, - 293, 294, 295, 296, -1, 298, -1, 300, 301, 302, - 303, 304, 40, 41, -1, 43, -1, 45, -1, -1, - 259, -1, -1, -1, 263, 264, -1, -1, -1, 268, - 269, -1, 60, -1, 62, -1, -1, -1, -1, -1, - -1, 280, -1, 282, 283, 284, -1, 286, -1, -1, - -1, -1, 291, 292, 293, 294, 295, 296, -1, 298, - -1, 300, 301, 302, 303, 304, 259, -1, -1, -1, - 263, 264, -1, -1, -1, 268, 269, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 280, -1, 282, - 283, 284, -1, 286, -1, -1, -1, -1, 291, 292, - 293, 294, 295, 296, -1, 298, -1, 300, 301, 302, - 303, 304, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 60, -1, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, + -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, + 266, 267, 268, 269, 270, 271, -1, 273, 274, -1, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + -1, 287, 288, -1, -1, -1, 292, 293, 294, 295, + -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, + 123, -1, 125, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, - 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, + -1, -1, -1, -1, -1, 260, -1, -1, 263, 264, + -1, 266, 267, 268, 269, 270, 271, -1, 273, 274, + -1, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, -1, 287, 288, -1, -1, -1, 292, 293, 294, + 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, + 305, 123, 40, 125, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 60, -1, 62, -1, -1, -1, - -1, 259, -1, -1, -1, 263, 264, -1, -1, -1, - 268, 269, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 280, -1, 282, 283, 284, -1, 286, -1, - -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, - 298, -1, 300, 301, 302, 303, 304, 40, 41, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, + 263, 264, -1, 266, 267, 268, 269, 270, 271, -1, + 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 40, 287, 288, 43, 44, 45, 292, + 293, 294, 295, -1, -1, 123, 299, 125, -1, 302, + 303, 304, 305, 60, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, 41, -1, 43, -1, 45, -1, - -1, 259, -1, -1, -1, 263, 264, -1, -1, -1, - 268, 269, -1, 60, -1, 62, -1, -1, -1, -1, - -1, -1, 280, -1, 282, 283, 284, -1, 286, -1, - -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, - 298, -1, 300, 301, 302, 303, 304, 259, -1, -1, - -1, 263, 264, -1, -1, -1, 268, 269, 40, -1, - -1, 43, -1, 45, -1, -1, -1, -1, 280, -1, - 282, 283, 284, -1, 286, -1, -1, -1, -1, 291, - 292, 293, 294, 295, 296, -1, 298, -1, 300, 301, - 302, 303, 304, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 280, -1, 282, 283, 284, -1, - 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, - 296, -1, 298, -1, 300, 301, 302, 303, 304, 40, - 41, 123, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, - -1, 62, -1, -1, -1, -1, 259, -1, -1, -1, - 263, 264, -1, -1, -1, 268, 269, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 280, -1, 282, - 283, 284, 40, 286, -1, 43, -1, 45, 291, 292, - 293, 294, 295, 296, -1, 298, -1, 300, 301, 302, - 303, 304, 259, -1, -1, -1, 263, 264, -1, -1, - -1, 268, 269, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 280, -1, 282, 283, 284, -1, 286, - -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, 303, 304, 40, 41, - -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, 259, 60, -1, - 62, 263, 264, -1, -1, -1, 268, 269, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 280, -1, - 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, - 292, 293, 294, -1, -1, -1, 298, -1, 300, 301, - 302, 303, 304, 40, -1, -1, 43, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, -1, 62, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, + 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 60, 260, 62, + 63, 263, 264, -1, 266, 267, 268, 269, 270, 271, + -1, 273, 274, -1, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 40, 287, 288, 43, -1, 45, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 40, 41, -1, 43, 44, 45, -1, -1, -1, + -1, -1, 260, -1, -1, 263, 264, -1, 266, 267, + 268, 269, 270, 271, 63, 273, 274, -1, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, -1, 287, + 288, -1, -1, -1, 292, 293, 294, 295, -1, -1, + -1, 299, -1, -1, 302, 303, 304, 305, 40, 41, + -1, 43, 44, 45, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 63, -1, -1, -1, -1, 263, 264, -1, -1, + -1, 268, 269, 270, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 281, -1, 283, 284, 285, -1, + 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, + 297, -1, 299, -1, -1, 302, 303, 304, 305, -1, + 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, + -1, -1, 40, 41, -1, 43, 44, 45, 281, -1, + 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 63, 299, -1, -1, 302, + 303, 304, 305, 259, -1, 261, 262, 263, 264, -1, + -1, -1, 268, 269, 270, -1, -1, 40, 41, -1, + 43, 44, 45, -1, -1, 281, -1, 283, 284, 285, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + 63, -1, -1, 299, -1, 301, 302, 303, 304, 305, + -1, -1, -1, -1, 263, 264, -1, -1, -1, 268, + 269, 270, -1, -1, 40, 41, -1, 43, 44, 45, + -1, -1, 281, -1, 283, 284, 285, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, 63, -1, -1, + 299, -1, -1, 302, 303, 304, 305, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 263, 264, -1, -1, -1, 268, 269, 270, 40, + -1, -1, 43, -1, 45, -1, -1, -1, -1, 281, + -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 263, 264, -1, -1, -1, + 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 281, -1, 283, 284, 285, -1, 287, + -1, -1, -1, -1, 292, 293, 294, 295, -1, -1, + -1, 299, -1, -1, 302, 303, 304, 305, -1, -1, + 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, + 40, -1, -1, 43, 44, 45, -1, -1, 281, -1, + 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 63, -1, -1, 299, -1, -1, 302, + 303, 304, 305, -1, -1, -1, -1, 263, 264, -1, + -1, -1, 268, 269, 270, -1, -1, 40, 41, -1, + 43, -1, 45, -1, -1, 281, -1, 283, 284, 285, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + 63, -1, -1, 299, -1, -1, 302, 303, 304, 305, -1, -1, -1, -1, -1, -1, -1, -1, 259, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, 40, - -1, -1, 43, -1, 45, -1, -1, -1, -1, 280, - -1, 282, 283, 284, -1, 286, -1, -1, 59, -1, - 291, 292, 293, 294, 295, 296, -1, 298, -1, 300, - 301, 302, 303, 304, -1, -1, -1, -1, -1, -1, - -1, 259, -1, -1, -1, 263, 264, -1, -1, 40, - 268, 269, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, 280, -1, 282, 283, 284, -1, 286, -1, - -1, -1, -1, 291, 292, 293, 294, -1, -1, -1, - 298, -1, 300, 301, 302, 303, 304, -1, -1, -1, - -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, -1, -1, -1, 259, -1, -1, - -1, 263, 264, -1, -1, -1, 268, 269, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 280, -1, - 282, 283, 284, -1, 286, -1, -1, -1, -1, 291, - 292, 293, 294, 295, 296, -1, 298, -1, 300, 301, - 302, 303, 304, 40, -1, -1, 43, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 259, -1, -1, -1, 263, 264, -1, -1, - -1, 268, 269, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 280, -1, 282, 283, 284, -1, 286, - -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, - -1, 298, -1, 300, 301, 302, 303, 304, 259, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 280, - -1, 282, 283, 284, -1, 286, -1, -1, -1, -1, - 291, 292, 293, 294, -1, -1, -1, 298, -1, 300, - 301, 302, 303, 304, -1, -1, -1, -1, 259, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 280, - -1, 282, 283, 284, -1, 286, -1, -1, -1, -1, - 291, 292, 293, 294, -1, -1, -1, 298, -1, 300, - 301, 302, 303, 304, 259, -1, -1, -1, 263, 264, - -1, -1, -1, 268, 269, -1, -1, 47, 48, -1, - -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, - -1, 286, -1, -1, -1, -1, 291, 292, 293, 294, - -1, -1, -1, 298, -1, 300, 301, 302, 303, 304, - 80, -1, 82, 83, -1, -1, -1, -1, -1, -1, - -1, -1, 259, -1, -1, -1, 263, 264, -1, -1, - -1, 268, 269, -1, -1, -1, -1, -1, 108, 109, - -1, -1, -1, 280, -1, 282, 283, 284, -1, 286, - -1, -1, -1, -1, 291, 292, 293, 294, -1, -1, - -1, 298, -1, 300, 301, 302, 303, 304, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, - 28, -1, -1, -1, -1, 33, -1, -1, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - 170, -1, -1, -1, -1, -1, 54, -1, -1, -1, - -1, 181, -1, 183, -1, 185, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 206, -1, -1, -1, - -1, -1, -1, 91, 92, 93, 94, 95, 96, -1, - -1, 221, 222, 223, 224, 225, 104, -1, 106, -1, - -1, -1, 110, 111, -1, -1, 114, -1, 116, 117, - -1, -1, -1, 121, 122, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 132, -1, -1, -1, -1, 137, - 138, 139, 140, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, 275, -1, -1, -1, 279, - 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 304, 305, -1, -1, 186, -1, - 310, -1, -1, -1, -1, -1, -1, -1, -1, 197, - 198, -1, 200, 201, 202, 203, -1, 205, -1, 207, - 208, -1, -1, -1, -1, -1, -1, 215, 216, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 227, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 252, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 264, 265, 266, 267, - 268, -1, 270, 271, 272, + -1, -1, 263, 264, -1, -1, -1, 268, 269, 270, + -1, -1, 40, -1, -1, 43, 44, 45, -1, -1, + 281, -1, 283, 284, 285, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, 63, -1, -1, 299, -1, + 301, 302, 303, 304, 305, 259, -1, -1, -1, 263, + 264, -1, -1, -1, 268, 269, 270, -1, -1, 40, + -1, -1, 43, 44, 45, -1, -1, 281, -1, 283, + 284, 285, -1, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 63, -1, -1, 299, -1, 301, 302, 303, + 304, 305, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 40, -1, -1, 43, 44, 45, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 63, -1, -1, -1, -1, + -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, + 270, -1, -1, -1, -1, 40, -1, -1, 43, 44, + 45, 281, -1, 283, 284, 285, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, -1, -1, 63, 299, + -1, -1, 302, 303, 304, 305, -1, -1, -1, -1, + 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, + 40, -1, -1, 43, 44, 45, -1, -1, 281, -1, + 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 63, -1, -1, 299, -1, -1, 302, + 303, 304, 305, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 263, 264, -1, -1, -1, + 268, 269, 270, -1, -1, 40, -1, -1, 43, 44, + 45, -1, -1, 281, -1, 283, 284, 285, -1, 287, + -1, -1, -1, -1, 292, 293, 294, 295, 63, -1, + -1, 299, -1, -1, 302, 303, 304, 305, -1, -1, + -1, -1, 263, 264, -1, -1, -1, 268, 269, 270, + -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, + 281, -1, 283, 284, 285, -1, 287, -1, -1, -1, + 58, 292, 293, 294, 295, 63, -1, -1, 299, -1, + -1, 302, 303, 304, 305, 263, 264, -1, -1, -1, + 268, 269, 270, -1, -1, 40, -1, -1, 43, -1, + 45, -1, -1, 281, -1, 283, 284, 285, -1, 287, + -1, -1, -1, 58, 292, 293, 294, 295, 63, -1, + -1, 299, -1, -1, 302, 303, 304, 305, 263, 264, + -1, -1, -1, 268, 269, 270, -1, -1, 40, 41, + -1, 43, -1, 45, -1, -1, 281, -1, 283, 284, + 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 63, -1, -1, 299, -1, -1, 302, 303, 304, + 305, -1, -1, 263, 264, -1, -1, -1, 268, 269, + 270, -1, -1, 40, 41, -1, 43, -1, 45, -1, + -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 63, -1, -1, 299, + -1, -1, 302, 303, 304, 305, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 263, 264, + -1, -1, -1, 268, 269, 270, -1, -1, 40, 41, + -1, 43, -1, 45, -1, -1, 281, -1, 283, 284, + 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 63, -1, -1, 299, -1, -1, 302, 303, 304, + 305, -1, -1, -1, -1, 263, 264, -1, -1, -1, + 268, 269, 270, -1, -1, 40, 41, -1, 43, -1, + 45, -1, -1, 281, -1, 283, 284, 285, -1, 287, + -1, -1, -1, -1, 292, 293, 294, 295, 63, -1, + -1, 299, -1, -1, 302, 303, 304, 305, 263, 264, + -1, -1, -1, 268, 269, 270, -1, -1, 40, 41, + -1, 43, -1, 45, -1, -1, 281, -1, 283, 284, + 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 63, -1, -1, 299, -1, -1, 302, 303, 304, + 305, 263, 264, -1, -1, -1, 268, 269, 270, -1, + -1, 40, 41, -1, 43, -1, 45, -1, -1, 281, + -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 63, -1, -1, 299, -1, -1, + 302, 303, 304, 305, -1, -1, 263, 264, -1, -1, + -1, 268, 269, 270, -1, -1, 40, 41, -1, 43, + -1, 45, -1, -1, 281, -1, 283, 284, 285, -1, + 287, -1, -1, -1, -1, 292, 293, 294, 295, 63, + -1, -1, 299, -1, -1, 302, 303, 304, 305, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 263, 264, -1, -1, -1, 268, 269, 270, -1, + -1, 40, 41, -1, 43, -1, 45, -1, -1, 281, + -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 63, -1, -1, 299, -1, -1, + 302, 303, 304, 305, -1, -1, -1, -1, 263, 264, + -1, -1, -1, 268, 269, 270, -1, -1, 40, 41, + -1, 43, -1, 45, -1, -1, 281, -1, 283, 284, + 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 63, -1, -1, 299, -1, -1, 302, 303, 304, + 305, 263, 264, -1, -1, -1, 268, 269, 270, -1, + -1, 40, 41, -1, 43, -1, 45, -1, -1, 281, + -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, 263, 264, -1, -1, -1, 268, + 269, 270, -1, -1, -1, -1, -1, -1, 40, -1, + -1, 43, 281, 45, 283, 284, 285, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, + 299, -1, -1, 302, 303, 304, 305, -1, -1, 263, + 264, -1, -1, -1, 268, 269, 270, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 281, -1, 283, + 284, 285, 40, 287, -1, 43, -1, 45, 292, 293, + 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, + 304, 305, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 263, 264, -1, -1, -1, 268, + 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 281, -1, 283, 284, 285, 40, 287, -1, + 43, -1, 45, 292, 293, 294, 295, -1, -1, -1, + 299, -1, -1, 302, 303, 304, 305, -1, -1, -1, + -1, 263, 264, -1, -1, -1, 268, 269, 270, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 281, + -1, 283, 284, 285, 40, 287, -1, 43, -1, 45, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, 263, 264, -1, -1, -1, 268, + 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 281, -1, 283, 284, 285, 40, 287, -1, + 43, -1, 45, 292, 293, 294, 295, -1, -1, -1, + 299, -1, -1, 302, 303, 304, 305, 259, -1, -1, + 63, 263, 264, -1, -1, -1, 268, 269, 270, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 281, + -1, 283, 284, 285, 40, 287, -1, 43, -1, 45, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, -1, -1, -1, -1, -1, -1, + -1, 259, -1, -1, -1, 263, 264, -1, -1, -1, + 268, 269, 270, -1, -1, -1, -1, 40, -1, -1, + 43, -1, 45, 281, -1, 283, 284, 285, -1, 287, + -1, -1, -1, -1, 292, 293, 294, 295, -1, -1, + -1, 299, -1, -1, 302, 303, 304, 305, -1, -1, + -1, -1, -1, -1, -1, -1, 259, -1, -1, -1, + 263, 264, -1, -1, -1, 268, 269, 270, 40, -1, + -1, 43, -1, 45, -1, -1, -1, -1, 281, -1, + 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, + 303, 304, 305, 259, -1, -1, -1, 263, 264, -1, + -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, + 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 281, -1, + 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, + 303, 304, 305, 259, -1, -1, -1, 263, 264, -1, + -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, + 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 281, -1, + 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, + 303, 304, 305, -1, -1, -1, -1, 28, 29, -1, + -1, 263, 264, 34, -1, -1, 268, 269, 270, -1, + -1, 42, -1, -1, -1, -1, -1, -1, -1, 281, + -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, + 302, 303, 304, 305, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 92, 93, 94, 95, 96, 97, -1, -1, -1, + -1, -1, -1, 104, -1, -1, -1, -1, 109, -1, + -1, 112, 113, -1, -1, 116, -1, 118, 119, -1, + -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 134, -1, -1, -1, 138, -1, 140, + 141, 142, 143, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 154, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 164, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 192, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 208, 209, 210, + 211, -1, 213, -1, 215, 216, -1, -1, -1, -1, + -1, -1, 223, 224, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 235, 236, 237, 238, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 275, 276, 277, 278, 279, -1, + 281, 282, 283, }; #define YYFINAL 1 #ifndef YYDEBUG #define YYDEBUG 0 #endif -#define YYMAXTOKEN 304 +#define YYMAXTOKEN 305 #if YYDEBUG char *yyname[] = { "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1764,11 +1894,11 @@ char *yyname[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW", -"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT", -"IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE", -"DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR", -"ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING", -"UMINUS","NOT","INCR","DECR","FIELD","VFIELD", +"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF_OLD", +"SPRINTF_NEW","SPLIT","IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK", +"CONTINUE","RET","GETLINE","DO","SUB","GSUB","MATCH","FUNCTION","USERFUN", +"DELETE","ASGNOP","OROR","ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP", +"RELOP","OR","STRING","UMINUS","NOT","INCR","DECR","FIELD","VFIELD", }; char *yyrule[] = { "$accept : program", @@ -1806,7 +1936,10 @@ char *yyrule[] = { "match : '(' match ')'", "expr : term", "expr : expr term", +"expr : expr '?' expr ':' expr", "expr : variable ASGNOP cond", +"sprintf : SPRINTF_NEW", +"sprintf : SPRINTF_OLD", "term : variable", "term : NUMBER", "term : STRING", @@ -1817,7 +1950,6 @@ char *yyrule[] = { "term : term '%' term", "term : term '^' term", "term : term IN VAR", -"term : cond '?' expr ':' expr", "term : variable INCR", "term : variable DECR", "term : INCR variable", @@ -1836,7 +1968,8 @@ char *yyrule[] = { "term : FUN1 '(' expr ')'", "term : FUNN '(' expr_list ')'", "term : USERFUN '(' expr_list ')'", -"term : SPRINTF expr_list", +"term : SPRINTF_NEW '(' expr_list ')'", +"term : sprintf expr_list", "term : SUBSTR '(' expr ',' expr ',' expr ')'", "term : SUBSTR '(' expr ',' expr ')'", "term : SPLIT '(' expr ',' VAR ',' expr ')'", @@ -1939,9 +2072,12 @@ YYSTYPE yylval; short yyss[YYSTACKSIZE]; YYSTYPE yyvs[YYSTACKSIZE]; #define yystacksize YYSTACKSIZE -#line 396 "a2p.y" +#line 401 "a2p.y" + +int yyparse (void); + #include "a2py.c" -#line 1945 "y.tab.c" +#line 2081 "y.tab.c" #define YYABORT goto yyabort #define YYACCEPT goto yyaccept #define YYERROR goto yyerrlab @@ -1951,8 +2087,9 @@ yyparse() register int yym, yyn, yystate; #if YYDEBUG register char *yys; +#ifndef __cplusplus extern char *getenv(); - +#endif if (yys = getenv("YYDEBUG")) { yyn = *yys; @@ -2196,6 +2333,10 @@ case 34: break; case 35: #line 137 "a2p.y" +{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); } +break; +case 36: +#line 139 "a2p.y" { yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]); if ((ops[yyvsp[-2]].ival & 255) == OFLD) lval_field = TRUE; @@ -2203,411 +2344,411 @@ case 35: lval_field = TRUE; } break; -case 36: -#line 146 "a2p.y" +case 39: +#line 151 "a2p.y" { yyval = yyvsp[0]; } break; -case 37: -#line 148 "a2p.y" +case 40: +#line 153 "a2p.y" { yyval = oper1(ONUM,yyvsp[0]); } break; -case 38: -#line 150 "a2p.y" +case 41: +#line 155 "a2p.y" { yyval = oper1(OSTR,yyvsp[0]); } break; -case 39: -#line 152 "a2p.y" +case 42: +#line 157 "a2p.y" { yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); } break; -case 40: -#line 154 "a2p.y" +case 43: +#line 159 "a2p.y" { yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); } break; -case 41: -#line 156 "a2p.y" +case 44: +#line 161 "a2p.y" { yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); } break; -case 42: -#line 158 "a2p.y" +case 45: +#line 163 "a2p.y" { yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); } break; -case 43: -#line 160 "a2p.y" +case 46: +#line 165 "a2p.y" { yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); } break; -case 44: -#line 162 "a2p.y" +case 47: +#line 167 "a2p.y" { yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); } break; -case 45: -#line 164 "a2p.y" +case 48: +#line 169 "a2p.y" { yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); } break; -case 46: -#line 166 "a2p.y" -{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); } -break; -case 47: -#line 168 "a2p.y" +case 49: +#line 171 "a2p.y" { yyval = oper1(OPOSTINCR,yyvsp[-1]); } break; -case 48: -#line 170 "a2p.y" +case 50: +#line 173 "a2p.y" { yyval = oper1(OPOSTDECR,yyvsp[-1]); } break; -case 49: -#line 172 "a2p.y" +case 51: +#line 175 "a2p.y" { yyval = oper1(OPREINCR,yyvsp[0]); } break; -case 50: -#line 174 "a2p.y" +case 52: +#line 177 "a2p.y" { yyval = oper1(OPREDECR,yyvsp[0]); } break; -case 51: -#line 176 "a2p.y" +case 53: +#line 179 "a2p.y" { yyval = oper1(OUMINUS,yyvsp[0]); } break; -case 52: -#line 178 "a2p.y" +case 54: +#line 181 "a2p.y" { yyval = oper1(OUPLUS,yyvsp[0]); } break; -case 53: -#line 180 "a2p.y" +case 55: +#line 183 "a2p.y" { yyval = oper1(OPAREN,yyvsp[-1]); } break; -case 54: -#line 182 "a2p.y" +case 56: +#line 185 "a2p.y" { yyval = oper0(OGETLINE); } break; -case 55: -#line 184 "a2p.y" +case 57: +#line 187 "a2p.y" { yyval = oper1(OGETLINE,yyvsp[0]); } break; -case 56: -#line 186 "a2p.y" +case 58: +#line 189 "a2p.y" { yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]); if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break; -case 57: -#line 189 "a2p.y" +case 59: +#line 192 "a2p.y" { yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]); if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break; -case 58: -#line 192 "a2p.y" +case 60: +#line 195 "a2p.y" { yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]); if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break; -case 59: -#line 195 "a2p.y" +case 61: +#line 198 "a2p.y" { yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]); if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break; -case 60: -#line 198 "a2p.y" +case 62: +#line 201 "a2p.y" { yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; } break; -case 61: -#line 200 "a2p.y" +case 63: +#line 203 "a2p.y" { yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; } break; -case 62: -#line 202 "a2p.y" +case 64: +#line 205 "a2p.y" { yyval = oper1(yyvsp[-3],yyvsp[-1]); } break; -case 63: -#line 204 "a2p.y" +case 65: +#line 207 "a2p.y" { yyval = oper1(yyvsp[-3],yyvsp[-1]); } break; -case 64: -#line 206 "a2p.y" +case 66: +#line 209 "a2p.y" { yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); } break; -case 65: -#line 208 "a2p.y" +case 67: +#line 211 "a2p.y" +{ yyval = oper1(OSPRINTF,yyvsp[-1]); } +break; +case 68: +#line 213 "a2p.y" { yyval = oper1(OSPRINTF,yyvsp[0]); } break; -case 66: -#line 210 "a2p.y" +case 69: +#line 215 "a2p.y" { yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); } break; -case 67: -#line 212 "a2p.y" +case 70: +#line 217 "a2p.y" { yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); } break; -case 68: -#line 214 "a2p.y" +case 71: +#line 219 "a2p.y" { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); } break; -case 69: -#line 216 "a2p.y" +case 72: +#line 221 "a2p.y" { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));} break; -case 70: -#line 218 "a2p.y" +case 73: +#line 223 "a2p.y" { yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); } break; -case 71: -#line 220 "a2p.y" +case 74: +#line 225 "a2p.y" { yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); } break; -case 72: -#line 222 "a2p.y" +case 75: +#line 227 "a2p.y" { yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); } break; -case 73: -#line 224 "a2p.y" +case 76: +#line 229 "a2p.y" { yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); } break; -case 74: -#line 226 "a2p.y" +case 77: +#line 231 "a2p.y" { yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); } break; -case 75: -#line 228 "a2p.y" +case 78: +#line 233 "a2p.y" { yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); } break; -case 76: -#line 230 "a2p.y" +case 79: +#line 235 "a2p.y" { yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); } break; -case 77: -#line 232 "a2p.y" +case 80: +#line 237 "a2p.y" { yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); } break; -case 78: -#line 234 "a2p.y" +case 81: +#line 239 "a2p.y" { yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); } break; -case 79: -#line 236 "a2p.y" +case 82: +#line 241 "a2p.y" { yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); } break; -case 80: -#line 238 "a2p.y" +case 83: +#line 243 "a2p.y" { yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); } break; -case 81: -#line 240 "a2p.y" +case 84: +#line 245 "a2p.y" { yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); } break; -case 82: -#line 244 "a2p.y" +case 85: +#line 249 "a2p.y" { yyval = oper1(OVAR,yyvsp[0]); } break; -case 83: -#line 246 "a2p.y" +case 86: +#line 251 "a2p.y" { yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); } break; -case 84: -#line 248 "a2p.y" +case 87: +#line 253 "a2p.y" { yyval = oper1(OFLD,yyvsp[0]); } break; -case 85: -#line 250 "a2p.y" +case 88: +#line 255 "a2p.y" { yyval = oper1(OVFLD,yyvsp[0]); } break; -case 88: -#line 257 "a2p.y" +case 91: +#line 262 "a2p.y" { yyval = Nullop; } break; -case 89: -#line 261 "a2p.y" +case 92: +#line 266 "a2p.y" { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); } break; -case 90: -#line 263 "a2p.y" +case 93: +#line 268 "a2p.y" { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); } break; -case 91: -#line 265 "a2p.y" +case 94: +#line 270 "a2p.y" { yyval = yyvsp[-1]; } break; -case 92: -#line 269 "a2p.y" +case 95: +#line 274 "a2p.y" { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); } break; -case 93: -#line 271 "a2p.y" +case 96: +#line 276 "a2p.y" { yyval = Nullop; } break; -case 94: -#line 275 "a2p.y" +case 97: +#line 280 "a2p.y" { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); } break; -case 95: -#line 277 "a2p.y" +case 98: +#line 282 "a2p.y" { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); } break; -case 96: -#line 279 "a2p.y" +case 99: +#line 284 "a2p.y" { yyval = oper0(ONEWLINE); } break; -case 97: -#line 281 "a2p.y" +case 100: +#line 286 "a2p.y" { yyval = oper1(OCOMMENT,yyvsp[0]); } break; -case 98: -#line 285 "a2p.y" +case 101: +#line 290 "a2p.y" { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); } break; -case 99: -#line 287 "a2p.y" +case 102: +#line 292 "a2p.y" { yyval = Nullop; } break; -case 100: -#line 291 "a2p.y" +case 103: +#line 296 "a2p.y" { yyval = oper0(ONEWLINE); } break; -case 101: -#line 293 "a2p.y" +case 104: +#line 298 "a2p.y" { yyval = oper1(OCOMMENT,yyvsp[0]); } break; -case 102: -#line 298 "a2p.y" +case 105: +#line 303 "a2p.y" { yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); } break; -case 103: -#line 300 "a2p.y" +case 106: +#line 305 "a2p.y" { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); } break; -case 104: -#line 302 "a2p.y" +case 107: +#line 307 "a2p.y" { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); } break; -case 105: -#line 304 "a2p.y" +case 108: +#line 309 "a2p.y" { yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); } break; -case 106: -#line 308 "a2p.y" +case 109: +#line 313 "a2p.y" { yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); } break; -case 107: -#line 310 "a2p.y" +case 110: +#line 315 "a2p.y" { yyval = Nullop; } break; -case 108: -#line 315 "a2p.y" +case 111: +#line 320 "a2p.y" { yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); } break; -case 109: -#line 317 "a2p.y" +case 112: +#line 322 "a2p.y" { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); } break; -case 110: -#line 319 "a2p.y" +case 113: +#line 324 "a2p.y" { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); } break; -case 113: -#line 325 "a2p.y" +case 116: +#line 330 "a2p.y" { yyval = Nullop; } break; -case 115: -#line 331 "a2p.y" +case 118: +#line 336 "a2p.y" { yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]); do_opens = TRUE; saw_ORS = saw_OFS = TRUE; if (!yyvsp[-2]) need_entire = TRUE; if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break; -case 116: -#line 337 "a2p.y" +case 119: +#line 342 "a2p.y" { yyval = oper1(OPRINT,yyvsp[0]); if (!yyvsp[0]) need_entire = TRUE; saw_ORS = saw_OFS = TRUE; } break; -case 117: -#line 342 "a2p.y" +case 120: +#line 347 "a2p.y" { yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]); do_opens = TRUE; if (!yyvsp[-2]) need_entire = TRUE; if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break; -case 118: -#line 347 "a2p.y" +case 121: +#line 352 "a2p.y" { yyval = oper1(OPRINTF,yyvsp[0]); if (!yyvsp[0]) need_entire = TRUE; } break; -case 119: -#line 351 "a2p.y" +case 122: +#line 356 "a2p.y" { yyval = oper0(OBREAK); } break; -case 120: -#line 353 "a2p.y" +case 123: +#line 358 "a2p.y" { yyval = oper0(ONEXT); } break; -case 121: -#line 355 "a2p.y" +case 124: +#line 360 "a2p.y" { yyval = oper0(OEXIT); } break; -case 122: -#line 357 "a2p.y" +case 125: +#line 362 "a2p.y" { yyval = oper1(OEXIT,yyvsp[0]); } break; -case 123: -#line 359 "a2p.y" +case 126: +#line 364 "a2p.y" { yyval = oper0(OCONTINUE); } break; -case 124: -#line 361 "a2p.y" +case 127: +#line 366 "a2p.y" { yyval = oper0(ORETURN); } break; -case 125: -#line 363 "a2p.y" +case 128: +#line 368 "a2p.y" { yyval = oper1(ORETURN,yyvsp[0]); } break; -case 126: -#line 365 "a2p.y" +case 129: +#line 370 "a2p.y" { yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); } break; -case 127: -#line 369 "a2p.y" +case 130: +#line 374 "a2p.y" { yyval = oper1(OREDIR,string(">",1)); } break; -case 128: -#line 371 "a2p.y" +case 131: +#line 376 "a2p.y" { yyval = oper1(OREDIR,string(">>",2)); } break; -case 129: -#line 373 "a2p.y" +case 132: +#line 378 "a2p.y" { yyval = oper1(OREDIR,string("|",1)); } break; -case 130: -#line 378 "a2p.y" +case 133: +#line 383 "a2p.y" { yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } break; -case 131: -#line 380 "a2p.y" +case 134: +#line 385 "a2p.y" { yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); } break; -case 132: -#line 382 "a2p.y" +case 135: +#line 387 "a2p.y" { yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } break; -case 133: -#line 384 "a2p.y" +case 136: +#line 389 "a2p.y" { yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); } break; -case 134: -#line 386 "a2p.y" +case 137: +#line 391 "a2p.y" { yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } break; -case 135: -#line 388 "a2p.y" +case 138: +#line 393 "a2p.y" { yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } break; -case 136: -#line 390 "a2p.y" +case 139: +#line 395 "a2p.y" { yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } break; -case 137: -#line 392 "a2p.y" +case 140: +#line 397 "a2p.y" { yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); } break; -#line 2611 "y.tab.c" +#line 2751 "y.tab.c" } yyssp -= yym; yystate = *yyssp;