From edb684b709bb4e5c0ed90acd61b1ccbbf819456e Mon Sep 17 00:00:00 2001 From: David Rose Date: Wed, 7 Jan 2009 20:52:59 +0000 Subject: [PATCH] fix floating-point parsing, error reporting --- pandatool/src/vrml/vrmlLexer.cxx.prebuilt | 4306 ++++++++++---------- pandatool/src/vrml/vrmlLexer.lxx | 43 +- pandatool/src/vrml/vrmlParser.cxx.prebuilt | 102 +- pandatool/src/vrml/vrmlParser.h.prebuilt | 2 +- 4 files changed, 2266 insertions(+), 2187 deletions(-) diff --git a/pandatool/src/vrml/vrmlLexer.cxx.prebuilt b/pandatool/src/vrml/vrmlLexer.cxx.prebuilt index a4d2f87c92..1b2e665a3a 100644 --- a/pandatool/src/vrml/vrmlLexer.cxx.prebuilt +++ b/pandatool/src/vrml/vrmlLexer.cxx.prebuilt @@ -17,7 +17,7 @@ #define yywrap vrmlyywrap #line 20 "lex.yy.c" -/* A lexical scanner generated by flex*/ +/* A lexical scanner generated by flex */ /* Scanner skeleton version: * $Header$ @@ -152,15 +152,6 @@ extern FILE *yyin, *yyout; #define unput(c) yyunput( c, yytext_ptr ) -/* Some routines like yy_flex_realloc() are emitted as static but are - not called by all lexers. This generates warnings in some compilers, - notably GCC. Arrange to suppress these. */ -#ifdef __GNUC__ -#define YY_MAY_BE_UNUSED __attribute__((unused)) -#else -#define YY_MAY_BE_UNUSED -#endif - /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). @@ -267,7 +258,7 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED; +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer @@ -311,7 +302,7 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); #define YY_NUM_RULES 48 #define YY_END_OF_BUFFER 49 -static yyconst short int yy_accept[975] = +static yyconst short int yy_accept[977] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -326,2146 +317,2238 @@ static yyconst short int yy_accept[975] = 47, 25, 47, 23, 23, 47, 47, 47, 38, 36, 38, 38, 47, 47, 47, 47, 47, 47, 40, 40, - 41, 40, 40, 42, 47, 44, 44, 45, 46, 45, - 46, 46, 45, 45, 45, 45, 14, 15, 14, 14, - 7, 14, 14, 14, 6, 14, 14, 14, 14, 0, - 16, 0, 0, 0, 0, 0, 0, 0, 24, 24, - 0, 0, 0, 0, 22, 22, 0, 0, 0, 0, + 41, 40, 40, 42, 47, 44, 44, 45, 45, 46, + 45, 45, 45, 14, 15, 14, 14, 7, 14, 14, + 14, 6, 14, 14, 14, 14, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 24, 0, 0, + 0, 0, 0, 22, 22, 0, 0, 0, 0, 0, 0, 37, 37, 37, 16, 0, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 25, 25, 23, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 25, - 0, 0, 0, 0, 38, 38, 38, 17, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, - 40, 40, 40, 40, 39, 44, 44, 46, 46, 46, - 45, 4, 14, 14, 14, 14, 5, 14, 14, 14, + 25, 0, 23, 23, 0, 0, 0, 0, 0, 0, + 38, 38, 38, 17, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 40, 40, 40, 40, + 40, 39, 44, 44, 45, 4, 14, 14, 14, 14, + 5, 14, 14, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, + 43, 43, 0, 0, 0, 0, 43, 43, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 43, 0, 0, 0, 0, - 43, 43, 0, 22, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 0, 0, 0, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 45, 14, - 9, 14, 14, 14, 14, 14, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 43, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 34, 0, 0, 26, 26, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 27, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 45, 14, - 2, 8, 14, 14, 12, 21, 0, 0, 0, 32, - 0, 0, 0, 0, 0, 32, 0, 0, 0, 32, - 0, 0, 0, 32, 0, 0, 0, 0, 0, 32, - 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 0, 28, - 0, 0, 0, 28, 0, 0, 0, 28, 0, 0, - - 0, 0, 0, 28, 0, 0, 0, 33, 0, 0, - 0, 0, 0, 33, 0, 0, 0, 33, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 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, 0, 0, 29, 0, 0, - 0, 0, 0, 29, 0, 0, 0, 29, 0, 0, - 0, 29, 0, 0, 0, 0, 0, 29, 45, 14, - 14, 14, 14, 0, 0, 32, 32, 0, 0, 0, - 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 26, 0, 0, 0, 0, + 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 26, 0, 0, 26, 0, - 0, 28, 28, 0, 0, 0, 28, 28, 28, 0, - 0, 33, 33, 0, 0, 0, 33, 33, 33, 0, + 0, 0, 0, 0, 0, 0, 0, 25, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 27, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 45, 14, 9, 14, 14, 14, 14, + 14, 0, 20, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 26, 0, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 14, 2, + 8, 14, 14, 12, 21, 0, 0, 32, 0, 0, + 0, 0, 0, 32, 0, 0, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 32, 0, + 0, 0, 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 0, 0, 27, 0, 0, 29, 29, 0, - 0, 0, 29, 29, 29, 45, 14, 10, 14, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 26, 0, 0, 26, 0, 0, + + 28, 0, 0, 0, 0, 0, 28, 0, 0, 0, + 0, 28, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 28, 0, 0, 0, 0, 0, 33, 0, 0, + 0, 0, 0, 33, 0, 0, 0, 0, 33, 0, + 0, 0, 33, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, + 27, 0, 0, 27, 0, 0, 29, 0, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 29, 0, 0, + + 0, 29, 0, 0, 0, 0, 0, 29, 0, 0, + 0, 45, 14, 14, 14, 14, 32, 0, 32, 0, + 32, 0, 32, 0, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, 28, + 0, 28, 0, 28, 0, 28, 0, 33, 0, 33, + 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 29, 0, 29, 0, 29, 0, 29, 0, 45, 14, + + 10, 14, 14, 0, 32, 0, 0, 32, 0, 0, + 32, 0, 32, 0, 0, 32, 0, 0, 30, 0, + 0, 0, 0, 0, 30, 0, 0, 0, 0, 30, + 0, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 28, 0, 0, + 28, 0, 0, 28, 0, 28, 0, 0, 28, 0, + 33, 0, 0, 33, 0, 0, 33, 0, 33, 0, + 0, 33, 0, 0, 31, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, - 0, 30, 0, 0, 0, 30, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 0, 0, 31, 0, 0, 0, - 31, 0, 0, 31, 0, 0, 0, 0, 0, 31, - 0, 0, 0, 31, 0, 0, 0, 31, 0, 0, - 0, 0, 0, 31, 0, 0, 0, 0, 31, 0, - 0, 0, 0, 0, 45, 14, 11, 14, 0, 32, - 0, 0, 32, 0, 0, 32, 0, 32, 0, 0, + 31, 0, 0, 0, 0, 31, 0, 0, 31, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 31, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 0, 31, 0, + 0, 0, 0, 29, 0, 0, 29, 0, 0, 29, + 0, 29, 0, 0, 29, 45, 14, 11, 14, 30, + 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, + 0, 30, 0, 30, 0, 30, 0, 31, 0, 31, + 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, + 0, 31, 0, 31, 0, 45, 14, 14, 0, 30, - 32, 0, 0, 30, 30, 0, 0, 0, 30, 30, - 30, 0, 0, 0, 30, 30, 30, 0, 0, 0, - 0, 0, 30, 0, 28, 0, 0, 28, 0, 0, - 28, 0, 28, 0, 0, 28, 0, 33, 0, 0, - 33, 0, 0, 33, 0, 33, 0, 0, 33, 0, - 0, 31, 31, 0, 0, 0, 31, 31, 31, 0, - 0, 0, 31, 31, 31, 0, 0, 0, 0, 0, - 31, 0, 29, 0, 0, 29, 0, 0, 29, 0, - 29, 0, 0, 29, 45, 14, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 45, 14, 14, 0, 30, 0, 0, 30, 0, 0, 30, 0, 30, 0, 0, 30, 0, 0, 30, 0, 30, 0, 0, 30, 0, 0, 30, 0, 31, 0, 0, 31, 0, 0, 31, 0, 31, 0, 0, 31, 0, 0, 31, 0, 31, - 0, 0, 31, 0, 0, 31, 45, 3, 14, 45, - 13, 45, 45, 45, 45, 45, 1, 45, 1, 1, - 1, 1, 1, 0 + 0, 0, 31, 0, 0, 31, 45, 14, 14, 45, + 3, 14, 45, 13, 45, 45, 45, 45, 1, 1, + 45, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0 } ; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 5, 6, 7, 5, 5, 5, 1, 5, - 5, 5, 8, 2, 9, 10, 5, 11, 12, 13, - 12, 12, 12, 12, 12, 14, 12, 5, 5, 5, - 5, 5, 5, 5, 15, 16, 16, 17, 18, 19, - 5, 5, 20, 5, 5, 21, 22, 23, 24, 25, - 5, 26, 27, 28, 29, 30, 5, 31, 5, 5, - 32, 33, 34, 5, 5, 5, 16, 16, 16, 35, + 1, 5, 6, 7, 8, 6, 6, 6, 1, 6, + 6, 6, 9, 2, 10, 11, 6, 12, 13, 14, + 13, 13, 13, 13, 13, 15, 13, 6, 6, 6, + 6, 6, 6, 6, 16, 17, 17, 18, 19, 20, + 6, 6, 21, 6, 6, 22, 23, 24, 25, 26, + 6, 27, 28, 29, 30, 31, 6, 32, 6, 6, + 33, 34, 35, 6, 6, 6, 17, 17, 17, 36, - 36, 37, 5, 5, 38, 5, 5, 39, 5, 40, - 41, 42, 5, 5, 43, 44, 45, 46, 5, 47, - 5, 5, 1, 5, 1, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 37, 38, 6, 6, 39, 6, 6, 40, 6, 41, + 42, 43, 6, 6, 44, 45, 46, 47, 6, 48, + 6, 6, 1, 6, 1, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6 } ; -static yyconst int yy_meta[48] = +static yyconst int yy_meta[49] = { 0, - 1, 2, 3, 2, 4, 5, 6, 1, 4, 1, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, + 1, 2, 3, 2, 2, 4, 5, 6, 1, 4, + 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 8, 1, 8, 7, 7, 7, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4 + 4, 4, 8, 1, 8, 7, 7, 7, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4 } ; -static yyconst short int yy_base[1137] = +static yyconst short int yy_base[1120] = { 0, - 0, 6, 13, 0, 59, 65, 92, 0, 104, 110, - 116, 122, 128, 134, 140, 146, 159, 165, 164, 177, - 183, 189, 195, 201, 207, 233, 259, 285, 311, 337, - 363, 389, 422, 455, 481, 507, 533, 559, 222, 228, - 256, 274, 324, 350, 672, 8258, 73, 79, 280, 0, - 247, 0, 652, 638, 633, 630, 630, 627, 625, 621, - 18, 597, 619, 600, 589, 78, 96, 592, 170, 289, - 301, 315, 605, 51, 328, 373, 341, 368, 354, 651, - 0, 8258, 386, 587, 400, 394, 405, 420, 424, 664, - 433, 437, 677, 453, 457, 690, 586, 8258, 8258, 466, + 0, 7, 15, 0, 62, 90, 118, 0, 61, 74, + 89, 102, 130, 136, 142, 148, 162, 169, 174, 181, + 187, 193, 199, 205, 211, 237, 263, 289, 315, 341, + 367, 393, 427, 461, 487, 513, 539, 565, 226, 233, + 261, 278, 328, 354, 1038, 8632, 251, 0, 231, 0, + 1019, 0, 1006, 992, 985, 981, 983, 974, 972, 968, + 21, 946, 967, 954, 944, 66, 93, 599, 123, 166, + 278, 293, 635, 77, 304, 377, 319, 346, 332, 682, + 0, 8632, 391, 941, 372, 358, 404, 425, 398, 718, + 431, 437, 754, 442, 458, 790, 940, 8632, 8632, 463, - 470, 486, 491, 517, 495, 512, 521, 703, 0, 8258, - 548, 584, 546, 563, 716, 573, 609, 729, 0, 559, - 8258, 622, 604, 8258, 619, 626, 630, 643, 302, 742, - 746, 750, 756, 762, 768, 774, 0, 0, 582, 572, - 0, 577, 573, 563, 0, 572, 553, 546, 545, 557, - 8258, 520, 771, 0, 799, 834, 847, 775, 780, 816, - 0, 860, 873, 812, 784, 0, 809, 0, 886, 921, - 934, 0, 899, 905, 0, 902, 907, 938, 946, 0, - 973, 1008, 1021, 950, 0, 1034, 1069, 1082, 954, 0, - 1095, 1130, 1143, 8258, 958, 982, 990, 986, 0, 1042, + 471, 476, 491, 497, 502, 524, 518, 826, 0, 8632, + 554, 929, 529, 551, 862, 556, 569, 898, 0, 586, + 8632, 6, 947, 8632, 607, 612, 616, 591, 935, 0, + 933, 932, 234, 0, 0, 914, 900, 0, 892, 883, + 877, 0, 886, 867, 855, 847, 857, 8632, 848, 620, + 0, 640, 934, 948, 649, 656, 661, 690, 698, 0, + 726, 962, 740, 702, 0, 737, 0, 763, 976, 990, + 770, 0, 806, 813, 0, 774, 835, 843, 873, 810, + 0, 878, 1004, 1018, 906, 882, 0, 911, 1032, 1046, + 918, 1050, 0, 1055, 1069, 1083, 1090, 8632, 1094, 1099, - 0, 1156, 1191, 1204, 0, 1056, 1117, 0, 1053, 0, - 1217, 1252, 1265, 1103, 1278, 1291, 1326, 1339, 0, 1123, - 1169, 1175, 1181, 1230, 8258, 1227, 0, 1240, 1241, 1304, - 1310, 0, 522, 517, 486, 484, 0, 448, 433, 421, - 428, 423, 1307, 1312, 1238, 1352, 1365, 1378, 0, 0, - 1382, 1395, 1392, 1396, 1400, 1404, 1446, 1459, 1472, 1485, - 1498, 191, 1417, 0, 1414, 1422, 1426, 1544, 1557, 1570, - 0, 0, 1430, 1511, 1508, 1519, 1524, 1512, 1529, 1583, - 0, 0, 0, 1587, 0, 1594, 1599, 1603, 1616, 1629, - 0, 0, 0, 1633, 1646, 1643, 1648, 1652, 1665, 1678, + 1107, 1115, 1119, 0, 1125, 0, 1134, 1148, 1162, 1169, + 0, 1183, 1190, 0, 1187, 1224, 1192, 1260, 1274, 1199, + 1207, 1288, 1233, 1324, 1338, 1240, 0, 1304, 89, 280, + 306, 8632, 1244, 0, 271, 0, 852, 847, 839, 830, + 0, 811, 794, 792, 791, 797, 1302, 1306, 1352, 1388, + 1402, 0, 0, 1360, 1416, 1364, 1452, 1368, 1372, 1413, + 1426, 1417, 1473, 1487, 0, 0, 195, 0, 1440, 0, + 1457, 1437, 1501, 1537, 1551, 0, 0, 1509, 1565, 1513, + 1601, 1517, 1521, 1563, 1567, 1574, 1615, 0, 0, 0, + 1582, 442, 1586, 1629, 1634, 1638, 1652, 1688, 0, 0, - 0, 0, 0, 1682, 1695, 1692, 0, 1699, 1704, 1708, - 1721, 1734, 0, 0, 0, 1738, 1751, 1748, 1753, 1757, - 1762, 1775, 0, 0, 0, 1779, 0, 1786, 1791, 1795, - 1808, 1821, 0, 0, 0, 1825, 1838, 0, 1844, 401, - 0, 398, 378, 350, 348, 323, 338, 8258, 1841, 1864, - 1877, 1912, 1925, 1938, 1966, 2001, 2014, 1845, 1849, 0, - 2018, 1885, 2064, 2077, 2112, 2125, 2138, 2166, 2201, 2214, - 1889, 1893, 1897, 2227, 1946, 1954, 1974, 2240, 2253, 2288, - 2301, 2314, 2342, 2377, 2390, 1980, 2403, 2416, 2451, 2464, - 2477, 2512, 2525, 2538, 1984, 2027, 2031, 2551, 2564, 2599, + 0, 1660, 1675, 1672, 1711, 1693, 1715, 1729, 1765, 0, + 0, 0, 1737, 1752, 1749, 1788, 1769, 1773, 0, 1793, + 1797, 1811, 1847, 0, 0, 0, 1819, 1834, 1831, 1870, + 1852, 1874, 1879, 1915, 0, 0, 0, 1887, 536, 1891, + 1929, 1896, 1900, 1943, 1979, 0, 0, 0, 1951, 1966, + 1963, 2002, 0, 160, 785, 0, 782, 787, 755, 755, + 760, 728, 8632, 1984, 2016, 2030, 2037, 2051, 2079, 2115, + 2129, 2059, 0, 2133, 2064, 2170, 2184, 2071, 2198, 2226, + 2262, 2276, 2290, 2087, 2095, 2326, 2362, 2376, 2412, 2426, + 2145, 2440, 2476, 2490, 2504, 2518, 2532, 2568, 2582, 2152, - 2612, 2625, 2660, 2673, 2686, 2045, 2699, 2094, 2712, 2049, - 2747, 2760, 2795, 2808, 2821, 2856, 2869, 2882, 2044, 309, - 0, 0, 50, 294, 0, 8258, 2085, 2090, 2146, 2151, - 2895, 2908, 0, 0, 2155, 0, 2921, 2934, 2175, 2188, - 2947, 2186, 2159, 2960, 2973, 0, 0, 0, 2261, 0, - 0, 2987, 205, 209, 2268, 2273, 2322, 3033, 3046, 3059, - 0, 0, 2326, 2339, 3072, 3085, 2351, 2364, 3098, 2362, - 2424, 3111, 3124, 0, 0, 0, 2428, 2441, 2485, 3137, - 2492, 2497, 2572, 2577, 3150, 3163, 0, 0, 2581, 0, - 3176, 3189, 2634, 2647, 3202, 2645, 2585, 3215, 3228, 0, + 2596, 2632, 2646, 2660, 2674, 2688, 2724, 2738, 2206, 2752, + 2788, 2802, 2816, 2830, 2210, 2218, 2844, 2880, 2894, 2930, + 2944, 2239, 2958, 2994, 3008, 3022, 3036, 119, 694, 0, + 0, 376, 652, 0, 8632, 2100, 2243, 2305, 3050, 3064, + 0, 0, 2247, 578, 2298, 3078, 3092, 3106, 3120, 3156, + 2335, 2339, 3170, 3206, 0, 0, 0, 2343, 586, 2347, + 2384, 3185, 0, 3222, 289, 560, 2389, 2393, 3269, 3305, + 3319, 0, 0, 2397, 2867, 2448, 3333, 3347, 3361, 3375, + 3411, 2453, 2457, 3425, 3461, 0, 0, 0, 2461, 3143, + 2540, 2544, 3475, 2548, 2552, 3511, 3525, 662, 2605, 2609, - 0, 0, 2720, 0, 2727, 2732, 2768, 2773, 3241, 3254, - 0, 0, 2777, 0, 3267, 3280, 2830, 2843, 3293, 2841, - 2781, 3306, 3319, 0, 0, 0, 3323, 0, 3330, 3335, - 3339, 3352, 3365, 3378, 0, 0, 3382, 3395, 3401, 3414, - 3419, 3432, 3438, 3443, 3447, 3460, 3473, 0, 0, 0, - 3477, 3490, 3487, 3500, 3507, 3512, 3516, 3521, 3534, 3547, - 0, 0, 3551, 0, 3564, 3577, 3582, 3595, 3601, 3606, - 3610, 3623, 3636, 0, 0, 0, 3640, 0, 3653, 293, - 276, 263, 257, 3650, 3682, 3654, 3695, 3730, 3743, 3667, - 3756, 3791, 3826, 3664, 3861, 3874, 3909, 3922, 3935, 3970, + 3530, 3566, 3580, 0, 0, 2613, 663, 2617, 3594, 3608, + 3622, 3636, 3672, 2697, 2701, 3686, 3722, 0, 0, 0, + 2705, 669, 2709, 2760, 3701, 2765, 2769, 3728, 3764, 3778, + 0, 0, 2773, 709, 2852, 3792, 3806, 3820, 3834, 3870, + 2865, 2902, 3884, 3920, 0, 0, 0, 2906, 716, 2910, + 2914, 3899, 2967, 2971, 3935, 3971, 3985, 0, 0, 2975, + 3398, 2979, 3999, 4013, 4027, 4041, 4077, 3129, 3140, 4091, + 4127, 0, 0, 0, 3178, 3448, 3277, 3281, 4141, 3285, + 3289, 4177, 4191, 735, 3384, 3395, 4196, 4232, 4246, 0, + 0, 3433, 744, 3445, 4260, 4274, 4288, 4302, 4338, 3484, - 3983, 3996, 4009, 4022, 3708, 4035, 4063, 4098, 4111, 4124, - 4159, 4172, 4207, 4220, 3668, 3705, 4233, 4246, 0, 3709, - 4259, 3764, 4272, 4307, 4320, 3722, 4333, 4368, 4403, 3772, - 4438, 3805, 4451, 4486, 4499, 3804, 4512, 4547, 4582, 3776, - 4617, 4630, 4665, 4678, 4691, 4726, 4739, 4752, 4765, 4778, - 3818, 4791, 4819, 4854, 4867, 4880, 4915, 4928, 4963, 4976, - 3801, 3834, 4989, 5002, 0, 3838, 5015, 3843, 5028, 5063, - 5076, 3887, 5089, 5124, 5159, 3893, 264, 0, 244, 247, - 3890, 5194, 5207, 3943, 5220, 3950, 3955, 4043, 4048, 5233, - 5246, 0, 0, 4052, 0, 5259, 5272, 4072, 4085, 4083, + 3488, 4352, 4388, 0, 0, 0, 3492, 807, 3496, 3538, + 4367, 416, 653, 601, 560, 549, 3644, 3545, 4403, 4439, + 4453, 4489, 4503, 3652, 4539, 4575, 4589, 4625, 4639, 3694, + 4653, 4689, 4703, 4717, 4731, 4745, 4781, 4795, 4809, 4823, + 4837, 4873, 3736, 4887, 4923, 4937, 4951, 3842, 3743, 4965, + 5001, 5015, 5051, 5065, 3850, 5101, 5137, 3943, 3892, 5151, + 5187, 5201, 5237, 5251, 3951, 5287, 5323, 5337, 5373, 5387, + 4049, 5401, 5437, 5451, 5465, 5479, 5493, 5529, 5543, 5557, + 5571, 5585, 5621, 4056, 5635, 5671, 5685, 5699, 4099, 4107, + 5713, 5749, 5763, 5799, 5813, 4149, 5849, 5885, 413, 530, - 4056, 5285, 5298, 5311, 0, 0, 4132, 0, 5324, 5337, - 4137, 4150, 5350, 4181, 4185, 5363, 5376, 0, 0, 0, - 4189, 0, 4280, 5389, 5402, 4285, 4298, 4341, 5415, 5428, - 4348, 5441, 4376, 5454, 5467, 4383, 5480, 4411, 4353, 4193, - 4388, 5493, 5506, 0, 0, 4415, 0, 5519, 5532, 4420, - 4464, 4462, 4424, 5545, 5558, 5571, 0, 0, 4466, 0, - 5584, 5597, 4471, 4525, 5610, 4523, 4527, 5623, 5636, 0, - 0, 0, 4531, 0, 4555, 5649, 5662, 4560, 4573, 4590, - 5675, 5688, 4597, 5701, 4643, 240, 0, 219, 4601, 4643, - 5714, 0, 0, 5727, 0, 4656, 4699, 5740, 5753, 5766, + 0, 502, 501, 3549, 3656, 5899, 5913, 814, 5927, 5941, + 4325, 3747, 5955, 5969, 5983, 816, 3855, 3955, 4518, 5997, + 6011, 0, 0, 4060, 823, 4111, 6025, 6039, 6053, 6067, + 4154, 4158, 6103, 6139, 6153, 0, 0, 4162, 824, 4204, + 4208, 5080, 6167, 6181, 6195, 6231, 4213, 4217, 6245, 6281, + 0, 0, 0, 4310, 936, 4322, 4360, 5266, 4411, 6295, + 6309, 6323, 6337, 4415, 4419, 5828, 4423, 4461, 6373, 6387, + 1098, 6401, 6415, 4476, 4473, 6429, 6443, 6457, 1104, 4511, + 4547, 6471, 6485, 1149, 6499, 6513, 4562, 4559, 6527, 6541, + 6555, 1152, 4598, 4602, 6076, 6569, 6583, 0, 0, 4606, - 0, 4703, 5779, 4708, 5792, 5827, 5840, 4804, 5853, 5888, - 5923, 5958, 5971, 4810, 5984, 6019, 6054, 4807, 6089, 6102, - 6115, 4832, 6128, 4811, 4829, 6163, 6176, 0, 6189, 6202, - 4842, 4839, 6215, 6228, 6241, 0, 4888, 4892, 6254, 6267, - 0, 6280, 6293, 4905, 4936, 6306, 6319, 6332, 0, 4940, - 6345, 4945, 6358, 6393, 6406, 5041, 6419, 6454, 6489, 6524, - 6537, 5047, 6550, 6585, 6620, 5044, 6655, 6668, 6681, 5102, - 6694, 5048, 5099, 6729, 6742, 0, 6755, 6768, 5112, 5109, - 6781, 6794, 6807, 0, 5137, 220, 201, 5138, 6820, 6833, - 5145, 6846, 6859, 5167, 6872, 6885, 5174, 6898, 5800, 5807, + 1196, 4610, 6597, 6611, 6625, 6639, 4662, 4666, 6675, 6711, + 6725, 0, 0, 4670, 1205, 4674, 4753, 6648, 6739, 6753, + 6767, 6803, 4758, 4762, 6817, 6853, 0, 0, 0, 4766, + 1232, 4845, 4849, 6832, 4853, 6868, 6882, 6896, 6910, 4857, + 4895, 6919, 4899, 4903, 6955, 6969, 1261, 6983, 6997, 5038, + 4907, 7011, 7025, 7039, 1285, 246, 482, 0, 428, 5345, + 4973, 7053, 7089, 7103, 7139, 7153, 4980, 7189, 7225, 7239, + 7275, 7289, 5023, 7325, 7361, 7375, 7411, 5409, 5035, 5501, + 5073, 4985, 5109, 5114, 5121, 5593, 5159, 5164, 5171, 5210, + 5217, 5643, 5259, 5222, 5295, 633, 404, 385, 5299, 5303, - 6911, 5861, 5868, 6924, 5896, 5187, 209, 184, 5811, 5872, - 6937, 0, 0, 6950, 0, 5909, 5906, 6963, 6976, 0, - 0, 6989, 0, 5936, 5933, 7002, 7015, 0, 0, 7028, - 0, 5946, 5943, 5992, 3, 266, 277, 5996, 6000, 6033, - 6004, 6027, 431, 444, 464, 6062, 6066, 6071, 6136, 6140, - 477, 502, 528, 6144, 6148, 6375, 6432, 0, 135, 6438, - 0, 6375, 6046, 6444, 6467, 6476, 6482, 6502, 6506, 6510, - 6514, 6563, 6567, 8258, 7042, 7050, 7058, 7066, 7074, 7079, - 7083, 7090, 7098, 7106, 7113, 7121, 7129, 7137, 7145, 7153, - 7160, 157, 7167, 7175, 7183, 7191, 104, 7199, 7207, 7215, + 449, 471, 1701, 483, 509, 7425, 5307, 7461, 607, 647, + 1860, 656, 668, 7475, 5353, 7511, 682, 715, 1930, 751, + 761, 7525, 5357, 5417, 5421, 5509, 6084, 5513, 5601, 7168, + 5605, 7561, 5651, 5655, 6111, 5721, 5725, 7304, 5729, 5733, + 5771, 5775, 6203, 5779, 5783, 7434, 315, 395, 354, 263, + 0, 327, 601, 0, 726, 782, 1476, 1490, 5829, 5867, + 1604, 5872, 5877, 6127, 6221, 6261, 6268, 6355, 6273, 6360, + 6365, 6666, 6693, 6700, 6785, 8632, 7576, 7584, 7592, 7600, + 7608, 7616, 7621, 7625, 7632, 7640, 7648, 7655, 7663, 7671, + 7679, 7687, 7694, 328, 7701, 7709, 7717, 7725, 304, 7733, - 7223, 7231, 93, 7239, 7247, 7252, 7259, 7267, 7274, 90, - 7281, 7289, 7297, 66, 7305, 7313, 7321, 7329, 7337, 7345, - 7353, 7361, 7369, 7377, 7385, 7393, 7401, 7409, 7417, 7422, - 7429, 7437, 7445, 64, 7453, 7461, 7469, 7477, 7485, 7493, - 7501, 7509, 7517, 7525, 7533, 7541, 7549, 7557, 7565, 7573, - 7581, 7589, 7594, 7601, 7609, 7617, 7625, 7633, 7641, 7649, - 7657, 7665, 7673, 7681, 7689, 7697, 7705, 7713, 7721, 7729, - 7737, 7745, 7753, 7761, 7769, 7777, 7785, 7793, 7801, 7809, - 7814, 7821, 7829, 7837, 7845, 7853, 7861, 7869, 7877, 7885, - 7893, 7901, 7909, 7917, 7925, 7933, 7941, 7949, 7957, 7965, + 7741, 7749, 7757, 7765, 7773, 238, 7781, 7786, 7793, 7801, + 7808, 168, 7815, 111, 7823, 7831, 83, 7839, 7847, 7855, + 7863, 7871, 7879, 7887, 7895, 7903, 7911, 7919, 7927, 7935, + 7943, 7951, 7959, 7967, 7972, 7979, 7987, 7995, 0, 8003, + 8011, 8019, 8027, 8035, 8043, 8051, 8059, 8067, 8075, 8083, + 8091, 8099, 8107, 8115, 8123, 8131, 8139, 8144, 8151, 8159, + 8167, 8175, 8183, 8191, 8199, 8207, 8215, 8223, 8231, 8239, + 8247, 8255, 8263, 8271, 8279, 8287, 8295, 8303, 8311, 8319, + 8327, 8335, 8343, 8348, 8355, 8363, 8371, 8379, 8387, 8395, + 8403, 8411, 8419, 8427, 8435, 8443, 8451, 8459, 8467, 8475, - 7973, 7981, 7989, 7997, 8005, 8013, 8021, 8029, 8037, 8045, - 8053, 8061, 8069, 8077, 8085, 8093, 8101, 8109, 8117, 8125, - 8133, 8141, 8149, 8157, 8165, 8173, 8181, 8186, 8193, 8201, - 8209, 8217, 8225, 8233, 8241, 8249 + 8483, 8491, 8499, 8507, 8515, 8523, 8531, 8539, 8547, 8552, + 8559, 8567, 8575, 8583, 8591, 8599, 8607, 8615, 8623 } ; -static yyconst short int yy_def[1137] = +static yyconst short int yy_def[1120] = { 0, - 975, 975, 974, 3, 975, 975, 975, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 976, 976, 7, 7, + 977, 977, 976, 3, 977, 977, 977, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 978, 978, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 977, 977, 7, 7, 7, 7, 978, 978, - 978, 978, 7, 7, 974, 974, 974, 974, 979, 980, - 979, 981, 980, 980, 980, 980, 980, 980, 980, 980, - 980, 980, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 73, 974, 974, 974, 974, 974, 974, - 982, 974, 983, 982, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, + 7, 7, 979, 979, 7, 7, 7, 7, 980, 980, + 980, 980, 7, 7, 976, 976, 976, 981, 982, 983, + 982, 984, 983, 983, 983, 983, 983, 983, 983, 983, + 983, 983, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 73, 976, 976, 976, 976, 976, 976, + 985, 976, 986, 985, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, - 974, 974, 974, 974, 974, 974, 974, 974, 984, 974, - 985, 984, 974, 974, 974, 974, 974, 974, 986, 986, - 974, 987, 986, 974, 974, 974, 974, 974, 974, 979, - 974, 988, 979, 979, 979, 979, 980, 981, 980, 980, - 980, 980, 980, 980, 980, 980, 980, 980, 980, 974, - 974, 974, 974, 68, 974, 974, 989, 974, 974, 974, - 74, 974, 990, 991, 974, 992, 974, 80, 974, 974, - 993, 982, 983, 983, 982, 974, 974, 974, 974, 90, - 974, 974, 994, 974, 93, 974, 974, 995, 974, 96, - 974, 974, 996, 974, 974, 974, 974, 974, 997, 974, + 976, 976, 976, 976, 976, 976, 976, 976, 987, 976, + 988, 987, 976, 976, 976, 976, 976, 976, 989, 989, + 976, 990, 989, 976, 976, 976, 976, 976, 982, 981, + 982, 982, 982, 983, 984, 983, 983, 983, 983, 983, + 983, 983, 983, 983, 983, 983, 976, 976, 976, 976, + 68, 68, 976, 991, 976, 976, 976, 976, 976, 74, + 74, 992, 993, 976, 994, 976, 80, 80, 976, 995, + 976, 985, 986, 986, 985, 976, 976, 976, 976, 976, + 90, 90, 976, 996, 976, 976, 93, 93, 976, 997, + 976, 976, 96, 96, 976, 998, 976, 976, 976, 976, - 108, 974, 974, 998, 984, 985, 985, 984, 974, 115, - 974, 974, 999, 974, 974, 974, 974, 1000, 1001, 1001, - 1002, 1002, 1002, 1002, 974, 974, 1003, 1004, 1004, 1004, - 1005, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, - 974, 974, 974, 974, 974, 974, 1007, 1007, 248, 248, - 248, 248, 974, 974, 974, 974, 1008, 1008, 1008, 1008, - 1008, 261, 1009, 1010, 974, 974, 974, 974, 1011, 1011, - 270, 270, 270, 270, 974, 974, 974, 974, 974, 994, - 280, 280, 280, 280, 280, 974, 974, 974, 974, 995, - 290, 290, 290, 290, 290, 974, 974, 974, 974, 996, + 976, 976, 976, 999, 976, 108, 108, 976, 1000, 976, + 987, 1001, 1001, 987, 976, 976, 216, 976, 1002, 976, + 976, 976, 222, 976, 1003, 976, 1004, 1004, 1005, 1005, + 1005, 976, 976, 1006, 1007, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 976, 976, 976, 976, 976, 1009, + 1009, 251, 251, 251, 251, 976, 976, 976, 976, 976, + 976, 976, 1010, 1010, 264, 264, 264, 264, 1011, 1012, + 976, 976, 976, 1013, 1013, 275, 275, 275, 275, 976, + 976, 976, 976, 976, 976, 976, 996, 287, 287, 287, + 287, 287, 976, 976, 976, 976, 976, 997, 298, 298, - 300, 300, 300, 300, 300, 974, 997, 974, 974, 974, - 974, 998, 312, 312, 312, 312, 312, 974, 974, 974, - 974, 999, 322, 322, 322, 322, 322, 974, 974, 974, - 974, 1000, 332, 332, 332, 332, 332, 1003, 1005, 1006, - 1006, 1006, 1006, 1006, 1006, 1006, 974, 974, 974, 974, - 974, 974, 1012, 248, 354, 974, 1013, 974, 974, 1014, - 261, 974, 974, 974, 974, 1015, 270, 367, 974, 1016, - 974, 974, 974, 974, 974, 280, 974, 974, 974, 974, - 1017, 290, 382, 974, 1018, 974, 974, 974, 974, 1019, - 1020, 1020, 974, 1021, 974, 974, 974, 974, 974, 974, + 298, 298, 298, 976, 976, 976, 976, 976, 998, 309, + 309, 309, 309, 309, 976, 976, 976, 976, 1014, 976, + 976, 976, 1000, 323, 323, 323, 323, 323, 976, 976, + 976, 976, 976, 1002, 334, 334, 334, 334, 334, 976, + 976, 976, 976, 976, 1003, 345, 345, 345, 345, 345, + 976, 976, 1006, 1007, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 976, 976, 249, 976, 1015, 976, 251, 368, 976, + 1016, 251, 1017, 264, 273, 976, 1018, 976, 275, 379, + 976, 1019, 379, 976, 976, 1020, 1020, 976, 976, 1021, + 976, 1022, 1022, 976, 1023, 1022, 976, 976, 1024, 976, - 1022, 1023, 1023, 974, 1024, 974, 974, 974, 1025, 974, - 974, 974, 974, 1026, 1027, 1027, 974, 1028, 1029, 1030, - 1030, 1030, 1030, 1030, 1030, 974, 974, 974, 974, 974, - 1031, 1031, 432, 432, 432, 432, 1032, 1032, 438, 438, - 1033, 974, 974, 974, 1033, 445, 445, 445, 445, 445, - 1034, 974, 452, 452, 974, 974, 974, 974, 1035, 1035, - 460, 460, 460, 460, 1036, 1036, 466, 466, 1037, 974, - 974, 974, 1037, 473, 473, 473, 473, 473, 974, 1038, - 974, 974, 974, 974, 1039, 1039, 486, 486, 486, 486, - 1040, 1040, 492, 492, 1041, 974, 974, 974, 1041, 499, + 1025, 1025, 976, 1026, 1025, 976, 976, 1027, 976, 1028, + 1028, 976, 1029, 1028, 976, 976, 1030, 1030, 976, 976, + 1031, 976, 1032, 1032, 976, 1033, 1032, 1034, 1035, 1035, + 1035, 1035, 1035, 1035, 976, 976, 976, 976, 1036, 1036, + 440, 440, 440, 440, 976, 976, 1037, 1037, 448, 1038, + 976, 976, 976, 1038, 454, 454, 454, 454, 454, 448, + 448, 449, 1039, 976, 464, 464, 976, 976, 976, 1040, + 1040, 471, 471, 471, 471, 976, 976, 1041, 1041, 479, + 1042, 976, 976, 976, 1042, 485, 485, 485, 485, 485, + 479, 479, 479, 976, 976, 1043, 1043, 497, 976, 976, - 499, 499, 499, 499, 974, 974, 974, 974, 1042, 1042, - 510, 510, 510, 510, 1043, 1043, 516, 516, 1044, 974, - 974, 974, 1044, 523, 523, 523, 523, 523, 974, 974, - 974, 974, 1045, 1045, 534, 534, 534, 534, 1046, 1046, - 540, 540, 1047, 974, 974, 974, 1047, 547, 547, 547, - 547, 547, 974, 1048, 974, 974, 974, 974, 1049, 1049, - 560, 560, 560, 560, 1050, 1050, 566, 566, 1051, 974, - 974, 974, 1051, 573, 573, 573, 573, 573, 1052, 1053, - 1053, 1053, 1053, 974, 974, 974, 1054, 1055, 1055, 589, - 589, 974, 1056, 974, 974, 974, 974, 1057, 1058, 1058, + 976, 1044, 1044, 503, 503, 503, 503, 976, 976, 1045, + 1045, 511, 1046, 976, 976, 976, 1046, 517, 517, 517, + 517, 517, 511, 511, 512, 976, 976, 976, 1047, 1047, + 530, 530, 530, 530, 976, 976, 1048, 1048, 538, 1049, + 976, 976, 976, 1049, 544, 544, 544, 544, 544, 538, + 538, 539, 976, 976, 976, 1050, 1050, 557, 557, 557, + 557, 976, 976, 1051, 1051, 565, 1052, 976, 976, 976, + 1052, 571, 571, 571, 571, 571, 565, 565, 565, 976, + 976, 1053, 1053, 583, 976, 976, 976, 1054, 1054, 589, + 589, 589, 589, 976, 976, 1055, 1055, 597, 1056, 976, - 974, 1059, 1060, 1060, 604, 604, 606, 974, 1061, 974, - 1059, 1062, 1062, 1061, 974, 974, 1063, 1063, 618, 974, - 974, 974, 1064, 1065, 1065, 625, 625, 974, 1066, 974, - 974, 974, 1067, 1068, 1068, 635, 635, 974, 1069, 974, - 974, 974, 974, 1070, 1071, 1071, 974, 1072, 1073, 1073, - 650, 650, 652, 974, 1074, 974, 1072, 1075, 1075, 1074, - 974, 974, 1076, 1076, 664, 974, 974, 974, 1077, 1078, - 1078, 671, 671, 974, 1079, 1080, 1081, 1081, 1081, 1081, - 974, 1082, 1083, 974, 1084, 974, 974, 974, 974, 1085, - 1085, 691, 691, 691, 691, 1086, 1086, 697, 697, 974, + 976, 976, 1056, 603, 603, 603, 603, 603, 597, 597, + 598, 1057, 1058, 1058, 1058, 1058, 976, 976, 1059, 1059, + 1060, 1060, 976, 976, 1061, 1061, 976, 976, 1062, 976, + 1063, 1063, 976, 1064, 1063, 1065, 1065, 976, 1066, 1065, + 976, 1064, 976, 1067, 1067, 1066, 1067, 976, 976, 1068, + 1068, 1069, 1069, 976, 976, 1070, 1070, 976, 976, 1071, + 1071, 1072, 1072, 976, 976, 1073, 1073, 976, 976, 1074, + 976, 1075, 1075, 976, 1076, 1075, 1077, 1077, 976, 1078, + 1077, 976, 1076, 976, 1079, 1079, 1078, 1079, 976, 976, + 1080, 1080, 1081, 1081, 976, 976, 1082, 1082, 1083, 1084, - 974, 974, 1087, 1087, 704, 704, 704, 704, 1088, 1088, - 710, 710, 1089, 974, 974, 974, 1089, 717, 717, 717, - 717, 717, 974, 1090, 1090, 725, 725, 974, 1091, 1092, - 974, 1093, 974, 1094, 1095, 974, 1096, 974, 974, 974, - 974, 1097, 1097, 743, 743, 743, 743, 1098, 1098, 749, - 749, 974, 974, 974, 1099, 1099, 756, 756, 756, 756, - 1100, 1100, 762, 762, 1101, 974, 974, 974, 1101, 769, - 769, 769, 769, 769, 974, 1102, 1102, 777, 777, 974, - 1103, 1104, 974, 1079, 1080, 1081, 1081, 1081, 974, 974, - 1082, 791, 791, 1083, 794, 794, 974, 974, 1105, 1105, + 1084, 1084, 1084, 976, 976, 1085, 1085, 707, 1086, 1086, + 710, 976, 976, 1087, 1087, 715, 976, 976, 976, 1088, + 1088, 721, 721, 721, 721, 976, 976, 1089, 1089, 729, + 976, 976, 976, 1090, 1090, 735, 735, 735, 735, 729, + 729, 730, 1091, 1091, 744, 1092, 976, 976, 976, 1092, + 750, 750, 750, 750, 750, 744, 744, 745, 976, 976, + 1093, 1093, 762, 762, 762, 763, 976, 976, 1094, 1094, + 770, 1095, 1095, 773, 976, 976, 1096, 1096, 778, 976, + 976, 1097, 1097, 783, 1098, 1098, 786, 976, 976, 1099, + 1099, 791, 976, 976, 976, 1100, 1100, 797, 797, 797, - 800, 974, 974, 974, 1106, 1107, 1107, 807, 807, 974, - 1108, 1109, 1109, 813, 813, 974, 1110, 974, 974, 1111, - 1111, 821, 821, 974, 974, 1112, 1112, 827, 1113, 1113, - 830, 974, 974, 1114, 1114, 835, 974, 974, 1115, 1115, - 840, 1116, 1116, 843, 974, 974, 1117, 1117, 848, 974, - 974, 974, 1118, 1119, 1119, 855, 855, 974, 1120, 1121, - 1121, 861, 861, 974, 1122, 974, 974, 1123, 1123, 869, - 869, 974, 974, 1124, 1124, 875, 1125, 1125, 878, 974, - 974, 1126, 1126, 883, 1127, 1128, 1128, 974, 1129, 1130, - 974, 1131, 1132, 974, 1133, 1134, 974, 1118, 855, 974, + 797, 976, 976, 1101, 1101, 805, 976, 976, 976, 1102, + 1102, 811, 811, 811, 811, 805, 805, 806, 1103, 1103, + 820, 1104, 976, 976, 976, 1104, 826, 826, 826, 826, + 826, 820, 820, 821, 976, 976, 1105, 1105, 838, 838, + 838, 839, 976, 976, 1106, 1106, 846, 1107, 1107, 849, + 976, 976, 1108, 1108, 854, 1109, 1110, 1110, 1110, 976, + 976, 1111, 1111, 1112, 1112, 976, 976, 1113, 1113, 1114, + 1114, 976, 976, 1115, 1115, 1116, 1116, 976, 976, 797, + 797, 806, 805, 809, 976, 811, 811, 821, 820, 825, + 976, 826, 826, 839, 838, 1109, 1110, 1110, 976, 976, - 1120, 861, 974, 1122, 869, 1127, 1128, 1128, 974, 974, - 1129, 911, 911, 1130, 914, 914, 974, 974, 1131, 919, - 919, 1132, 922, 922, 974, 974, 1133, 927, 927, 1134, - 930, 930, 974, 974, 898, 898, 898, 855, 855, 857, - 974, 851, 901, 901, 901, 861, 861, 863, 974, 867, - 904, 904, 904, 869, 869, 871, 1127, 1128, 1128, 1127, - 1128, 1127, 1127, 1135, 1135, 1135, 974, 1135, 974, 1136, - 1136, 1136, 1136, 0, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, + 863, 863, 863, 865, 865, 865, 976, 976, 869, 869, + 869, 871, 871, 871, 976, 976, 875, 875, 875, 877, + 877, 877, 976, 976, 797, 797, 797, 805, 805, 806, + 976, 976, 811, 811, 811, 820, 820, 821, 976, 836, + 826, 826, 826, 838, 838, 839, 1109, 1110, 1110, 1109, + 1110, 1110, 1109, 1110, 1109, 1109, 1117, 1117, 976, 1117, + 1117, 976, 976, 1118, 1117, 976, 1117, 1119, 1118, 1118, + 1118, 1119, 1119, 1119, 1119, 0, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974 + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976 } ; -static yyconst short int yy_nxt[8306] = +static yyconst short int yy_nxt[8681] = { 0, - 974, 47, 48, 47, 974, 974, 49, 47, 48, 47, - 742, 745, 49, 46, 47, 48, 47, 50, 46, 51, - 46, 46, 46, 52, 52, 52, 52, 50, 50, 53, - 54, 50, 55, 50, 50, 56, 50, 57, 58, 50, - 59, 60, 50, 50, 46, 46, 46, 50, 61, 62, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 47, 48, 47, 147, 148, 51, 47, 48, 47, 581, - 451, 51, 451, 582, 128, 129, 128, 63, 64, 130, - 131, 974, 131, 63, 64, 132, 65, 153, 154, 154, - 154, 154, 65, 47, 48, 47, 264, 974, 51, 338, - - 66, 67, 68, 68, 68, 68, 155, 155, 155, 155, - 307, 64, 69, 70, 71, 71, 71, 71, 69, 70, - 71, 71, 71, 71, 72, 46, 73, 74, 74, 74, - 72, 46, 73, 74, 74, 74, 75, 46, 76, 77, - 77, 77, 75, 46, 76, 77, 77, 77, 78, 79, - 80, 80, 80, 80, 78, 79, 80, 80, 80, 80, - 47, 48, 47, 264, 82, 83, 47, 48, 47, 961, - 82, 83, 85, 86, 87, 87, 87, 87, 84, 158, - 159, 159, 159, 159, 84, 85, 86, 87, 87, 87, - 87, 88, 89, 90, 90, 90, 90, 88, 89, 90, - - 90, 90, 90, 91, 92, 93, 93, 93, 93, 91, - 92, 93, 93, 93, 93, 94, 95, 96, 96, 96, - 96, 257, 959, 120, 48, 120, 97, 121, 122, 120, - 48, 120, 958, 121, 122, 257, 908, 257, 98, 257, - 99, 94, 95, 96, 96, 96, 96, 907, 134, 129, - 134, 257, 97, 135, 123, 257, 887, 120, 48, 120, - 123, 124, 122, 886, 98, 788, 99, 100, 101, 102, - 102, 102, 102, 742, 745, 120, 48, 120, 97, 124, - 122, 134, 129, 134, 742, 745, 135, 787, 123, 786, - 98, 680, 99, 100, 101, 102, 102, 102, 102, 160, - - 160, 160, 160, 131, 97, 131, 123, 679, 132, 136, - 158, 159, 159, 159, 159, 678, 98, 677, 99, 103, - 46, 104, 105, 105, 105, 161, 161, 161, 161, 583, - 97, 580, 125, 46, 126, 127, 127, 127, 165, 165, - 165, 165, 98, 46, 99, 103, 46, 104, 105, 105, - 105, 165, 165, 165, 165, 426, 97, 425, 125, 46, - 126, 127, 127, 127, 169, 169, 169, 169, 98, 46, - 99, 106, 107, 108, 108, 108, 108, 167, 168, 168, - 168, 168, 97, 165, 165, 165, 165, 134, 129, 134, - 424, 133, 174, 423, 98, 422, 99, 106, 107, 108, - - 108, 108, 108, 166, 178, 178, 178, 178, 97, 176, - 177, 177, 177, 177, 176, 177, 177, 177, 177, 166, - 98, 421, 99, 47, 48, 47, 420, 110, 111, 179, - 180, 180, 180, 180, 181, 181, 181, 181, 755, 758, - 348, 112, 184, 185, 185, 185, 185, 186, 186, 186, - 186, 755, 758, 98, 347, 99, 47, 48, 47, 346, - 110, 111, 189, 190, 190, 190, 190, 191, 191, 191, - 191, 755, 758, 345, 112, 195, 196, 196, 196, 196, - 197, 197, 197, 197, 769, 772, 98, 344, 99, 113, - 114, 115, 115, 115, 115, 195, 196, 196, 196, 196, - - 97, 198, 198, 198, 198, 198, 198, 198, 198, 769, - 772, 343, 98, 342, 99, 113, 114, 115, 115, 115, - 115, 200, 201, 201, 201, 201, 97, 198, 198, 198, - 198, 202, 202, 202, 202, 769, 772, 341, 98, 340, - 99, 116, 117, 118, 118, 118, 118, 199, 242, 134, - 129, 134, 97, 133, 207, 209, 210, 210, 210, 210, - 220, 129, 220, 199, 98, 221, 99, 116, 117, 118, - 118, 118, 118, 211, 211, 211, 211, 241, 97, 133, - 240, 133, 214, 215, 215, 215, 215, 239, 238, 237, - 98, 236, 99, 156, 156, 156, 235, 234, 157, 233, - - 232, 153, 154, 154, 154, 154, 162, 162, 162, 225, - 208, 163, 194, 175, 152, 161, 161, 161, 161, 216, - 216, 216, 216, 223, 129, 223, 151, 133, 224, 226, - 226, 226, 226, 150, 149, 164, 226, 226, 226, 226, - 226, 226, 226, 226, 128, 129, 128, 146, 145, 130, - 144, 164, 170, 170, 170, 143, 227, 171, 142, 141, - 167, 168, 168, 168, 168, 182, 182, 182, 140, 139, - 183, 974, 227, 179, 180, 180, 180, 180, 187, 187, - 187, 974, 974, 188, 974, 974, 184, 185, 185, 185, - 185, 192, 192, 192, 974, 974, 193, 974, 974, 189, - - 190, 190, 190, 190, 203, 203, 203, 974, 974, 204, - 974, 974, 200, 201, 201, 201, 201, 212, 212, 212, - 974, 974, 213, 974, 974, 209, 210, 210, 210, 210, - 217, 217, 217, 974, 974, 218, 974, 974, 214, 215, - 215, 215, 215, 134, 129, 134, 974, 131, 135, 131, - 974, 229, 132, 229, 974, 974, 230, 134, 129, 134, - 974, 974, 135, 134, 129, 134, 974, 974, 135, 134, - 129, 134, 974, 974, 135, 134, 129, 134, 974, 974, - 135, 155, 155, 155, 155, 160, 160, 160, 160, 158, - 159, 159, 159, 159, 165, 165, 165, 165, 974, 231, - - 156, 156, 156, 974, 974, 157, 974, 974, 974, 155, - 155, 155, 155, 162, 162, 162, 243, 974, 163, 169, - 169, 169, 169, 974, 974, 974, 160, 160, 160, 160, - 974, 974, 974, 253, 243, 156, 156, 156, 974, 974, - 157, 974, 244, 245, 246, 246, 246, 246, 248, 156, - 248, 253, 974, 249, 974, 250, 251, 252, 252, 252, - 252, 162, 162, 162, 974, 974, 163, 974, 254, 974, - 255, 256, 256, 256, 258, 162, 258, 974, 974, 259, - 974, 260, 974, 261, 262, 262, 262, 170, 170, 170, - 974, 974, 171, 974, 974, 974, 169, 169, 169, 169, - - 134, 129, 134, 265, 133, 174, 134, 129, 134, 974, - 133, 174, 178, 178, 178, 178, 176, 177, 177, 177, - 177, 265, 170, 170, 170, 974, 974, 171, 974, 266, - 267, 268, 268, 268, 268, 270, 170, 270, 974, 974, - 271, 974, 272, 273, 274, 274, 274, 274, 178, 178, - 178, 178, 974, 974, 974, 275, 181, 181, 181, 181, - 186, 186, 186, 186, 191, 191, 191, 191, 197, 197, - 197, 197, 974, 275, 182, 182, 182, 974, 974, 183, - 974, 974, 974, 181, 181, 181, 181, 974, 974, 974, - 276, 195, 196, 196, 196, 196, 198, 198, 198, 198, - - 197, 197, 197, 197, 974, 974, 974, 306, 276, 182, - 182, 182, 974, 974, 183, 974, 277, 278, 279, 279, - 279, 279, 281, 182, 281, 306, 974, 282, 974, 283, - 284, 285, 285, 285, 285, 187, 187, 187, 974, 974, - 188, 974, 974, 974, 186, 186, 186, 186, 974, 974, - 974, 286, 202, 202, 202, 202, 974, 134, 129, 134, - 974, 133, 207, 211, 211, 211, 211, 974, 974, 286, - 187, 187, 187, 974, 974, 188, 974, 287, 288, 289, - 289, 289, 289, 291, 187, 291, 974, 133, 292, 133, - 293, 294, 295, 295, 295, 295, 192, 192, 192, 974, - - 974, 193, 974, 974, 974, 191, 191, 191, 191, 974, - 974, 974, 296, 216, 216, 216, 216, 974, 134, 129, - 134, 974, 133, 207, 220, 129, 220, 974, 974, 221, - 296, 192, 192, 192, 974, 974, 193, 974, 297, 298, - 299, 299, 299, 299, 301, 192, 301, 974, 133, 302, - 133, 303, 304, 305, 305, 305, 305, 203, 203, 203, - 974, 974, 204, 974, 974, 974, 202, 202, 202, 202, - 223, 129, 223, 308, 133, 224, 223, 129, 223, 974, - 133, 224, 223, 129, 223, 974, 133, 224, 974, 974, - 974, 308, 203, 203, 203, 974, 974, 204, 974, 309, - - 310, 311, 311, 311, 311, 313, 203, 313, 974, 974, - 314, 974, 315, 316, 317, 317, 317, 317, 212, 212, - 212, 974, 974, 213, 974, 974, 974, 211, 211, 211, - 211, 223, 129, 223, 318, 133, 224, 226, 226, 226, - 226, 229, 229, 229, 229, 974, 230, 230, 351, 351, - 351, 351, 318, 212, 212, 212, 974, 974, 213, 974, - 319, 320, 321, 321, 321, 321, 323, 212, 323, 974, - 974, 324, 974, 325, 326, 327, 327, 327, 327, 217, - 217, 217, 974, 974, 218, 974, 974, 214, 215, 215, - 215, 215, 217, 217, 217, 974, 974, 218, 974, 974, - - 974, 216, 216, 216, 216, 229, 974, 229, 328, 974, - 230, 134, 129, 134, 349, 349, 135, 350, 350, 350, - 350, 245, 246, 246, 246, 246, 328, 217, 217, 217, - 974, 339, 218, 974, 329, 330, 331, 331, 331, 331, - 333, 217, 333, 974, 974, 334, 974, 335, 336, 337, - 337, 337, 337, 352, 352, 352, 974, 974, 353, 974, - 974, 245, 246, 246, 246, 246, 248, 156, 248, 974, - 974, 249, 974, 250, 251, 252, 252, 252, 252, 248, - 156, 248, 974, 974, 249, 974, 250, 251, 252, 252, - 252, 252, 354, 354, 354, 354, 355, 356, 355, 358, - - 358, 357, 359, 359, 359, 359, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 162, 162, - 162, 362, 362, 163, 363, 363, 363, 363, 974, 974, - 360, 267, 268, 268, 268, 268, 364, 364, 364, 364, - 367, 367, 367, 367, 974, 974, 360, 258, 162, 258, - 974, 974, 259, 974, 260, 974, 261, 262, 262, 262, - 258, 162, 258, 974, 974, 259, 974, 260, 974, 261, - 262, 262, 262, 258, 162, 258, 974, 974, 259, 974, - 260, 974, 261, 262, 262, 262, 258, 162, 258, 974, - 974, 259, 974, 260, 974, 261, 262, 262, 262, 258, - - 162, 258, 974, 974, 259, 974, 260, 974, 261, 262, - 262, 262, 368, 369, 368, 371, 371, 370, 372, 372, - 372, 372, 375, 375, 375, 375, 373, 373, 361, 374, - 374, 374, 374, 278, 279, 279, 279, 279, 278, 279, - 279, 279, 279, 974, 361, 365, 365, 365, 974, 974, - 366, 974, 974, 267, 268, 268, 268, 268, 270, 170, - 270, 974, 974, 271, 974, 272, 273, 274, 274, 274, - 274, 270, 170, 270, 974, 974, 271, 974, 272, 273, - 274, 274, 274, 274, 281, 182, 281, 974, 974, 282, - 974, 283, 284, 285, 285, 285, 285, 376, 376, 376, - - 376, 377, 377, 974, 378, 378, 378, 378, 288, 289, - 289, 289, 289, 379, 379, 379, 379, 380, 380, 380, - 974, 974, 381, 974, 974, 288, 289, 289, 289, 289, - 291, 187, 291, 974, 974, 292, 974, 293, 294, 295, - 295, 295, 295, 382, 382, 382, 382, 383, 384, 383, - 386, 386, 385, 387, 387, 387, 387, 298, 299, 299, - 299, 299, 388, 388, 388, 388, 389, 389, 389, 974, - 974, 390, 974, 974, 298, 299, 299, 299, 299, 301, - 192, 301, 974, 974, 302, 974, 303, 304, 305, 305, - 305, 305, 391, 391, 391, 391, 392, 393, 392, 395, - - 395, 394, 396, 396, 396, 396, 397, 397, 974, 398, - 398, 398, 398, 310, 311, 311, 311, 311, 399, 399, - 399, 399, 400, 400, 400, 974, 974, 401, 974, 974, - 310, 311, 311, 311, 311, 313, 203, 313, 974, 974, - 314, 974, 315, 316, 317, 317, 317, 317, 402, 402, - 402, 402, 403, 404, 403, 406, 406, 405, 407, 407, - 407, 407, 320, 321, 321, 321, 321, 408, 408, 408, - 408, 320, 321, 321, 321, 321, 323, 212, 323, 974, - 974, 324, 974, 325, 326, 327, 327, 327, 327, 409, - 409, 409, 409, 410, 410, 974, 411, 411, 411, 411, - - 330, 331, 331, 331, 331, 412, 412, 412, 412, 413, - 413, 413, 974, 974, 414, 974, 974, 330, 331, 331, - 331, 331, 333, 217, 333, 974, 974, 334, 974, 335, - 336, 337, 337, 337, 337, 415, 415, 415, 415, 416, - 417, 416, 974, 974, 418, 134, 129, 134, 974, 974, - 135, 350, 350, 350, 350, 359, 359, 359, 359, 359, - 359, 359, 359, 974, 419, 156, 156, 156, 974, 974, - 157, 974, 974, 974, 350, 350, 350, 350, 352, 352, - 352, 974, 974, 353, 974, 974, 974, 351, 351, 351, - 351, 974, 974, 974, 427, 363, 363, 363, 363, 372, - - 372, 372, 372, 372, 372, 372, 372, 374, 374, 374, - 374, 974, 427, 352, 352, 352, 974, 974, 353, 974, - 428, 429, 430, 430, 430, 430, 432, 352, 432, 974, - 974, 433, 974, 434, 435, 436, 436, 436, 436, 355, - 356, 355, 974, 974, 357, 974, 974, 974, 354, 354, - 354, 354, 974, 974, 974, 437, 375, 375, 375, 375, - 974, 974, 974, 479, 376, 376, 376, 376, 974, 974, - 974, 480, 974, 437, 438, 439, 440, 440, 440, 440, - 974, 479, 974, 247, 378, 378, 378, 378, 974, 480, - 387, 387, 387, 387, 396, 396, 396, 396, 974, 974, - - 974, 247, 356, 356, 356, 974, 974, 441, 974, 442, - 443, 444, 444, 444, 444, 446, 356, 446, 974, 974, - 447, 974, 448, 449, 450, 450, 450, 450, 452, 453, - 453, 453, 454, 454, 454, 454, 454, 396, 396, 396, - 396, 398, 398, 398, 398, 134, 129, 579, 257, 974, - 135, 974, 454, 454, 454, 407, 407, 407, 407, 411, - 411, 411, 411, 974, 257, 170, 170, 170, 974, 974, - 171, 974, 974, 974, 363, 363, 363, 363, 365, 365, - 365, 974, 974, 366, 974, 974, 974, 364, 364, 364, - 364, 974, 584, 584, 455, 585, 585, 585, 585, 429, - - 430, 430, 430, 430, 408, 408, 408, 408, 974, 974, - 974, 553, 455, 365, 365, 365, 974, 974, 366, 974, - 456, 457, 458, 458, 458, 458, 460, 365, 460, 553, - 974, 461, 974, 462, 463, 464, 464, 464, 464, 368, - 369, 368, 974, 974, 370, 974, 974, 974, 367, 367, - 367, 367, 974, 974, 974, 465, 586, 586, 586, 586, - 429, 430, 430, 430, 430, 587, 587, 587, 587, 592, - 592, 592, 592, 465, 466, 467, 468, 468, 468, 468, - 974, 974, 974, 269, 251, 591, 591, 591, 591, 355, - 356, 355, 974, 974, 357, 443, 444, 444, 444, 444, - - 974, 269, 369, 369, 369, 974, 974, 469, 974, 470, - 471, 472, 472, 472, 472, 474, 369, 474, 974, 974, - 475, 974, 476, 477, 478, 478, 478, 478, 182, 182, - 182, 974, 974, 183, 974, 974, 974, 374, 374, 374, - 374, 187, 187, 187, 974, 974, 188, 974, 974, 974, - 378, 378, 378, 378, 380, 380, 380, 974, 974, 381, - 974, 974, 974, 379, 379, 379, 379, 974, 974, 974, - 481, 593, 593, 593, 593, 594, 594, 974, 595, 595, - 595, 595, 457, 458, 458, 458, 458, 974, 481, 380, - 380, 380, 974, 974, 381, 974, 482, 483, 484, 484, - - 484, 484, 486, 380, 486, 974, 974, 487, 974, 488, - 489, 490, 490, 490, 490, 383, 384, 383, 974, 974, - 385, 974, 974, 974, 382, 382, 382, 382, 974, 974, - 974, 491, 596, 596, 596, 596, 599, 599, 599, 599, - 600, 601, 600, 974, 974, 602, 974, 974, 974, 491, - 492, 493, 494, 494, 494, 494, 974, 974, 974, 290, - 273, 606, 606, 606, 606, 607, 608, 607, 974, 974, - 609, 471, 472, 472, 472, 472, 974, 290, 384, 384, - 384, 974, 974, 495, 974, 496, 497, 498, 498, 498, - 498, 500, 384, 500, 974, 974, 501, 974, 502, 503, - - 504, 504, 504, 504, 192, 192, 192, 974, 974, 193, - 974, 974, 974, 387, 387, 387, 387, 389, 389, 389, - 974, 974, 390, 974, 974, 974, 388, 388, 388, 388, - 974, 974, 974, 505, 610, 610, 610, 610, 612, 612, - 612, 612, 613, 608, 613, 974, 974, 614, 974, 974, - 974, 505, 389, 389, 389, 974, 974, 390, 974, 506, - 507, 508, 508, 508, 508, 510, 389, 510, 974, 974, - 511, 974, 512, 513, 514, 514, 514, 514, 392, 393, - 392, 974, 974, 394, 974, 303, 304, 391, 391, 391, - 391, 974, 615, 615, 515, 616, 616, 616, 616, 620, - - 620, 974, 621, 621, 621, 621, 483, 484, 484, 484, - 484, 974, 515, 392, 393, 392, 974, 974, 394, 974, - 516, 517, 518, 518, 518, 518, 393, 393, 393, 974, - 974, 519, 974, 520, 521, 522, 522, 522, 522, 524, - 393, 524, 974, 974, 525, 974, 526, 527, 528, 528, - 528, 528, 203, 203, 203, 974, 974, 204, 974, 974, - 974, 398, 398, 398, 398, 400, 400, 400, 974, 974, - 401, 974, 974, 974, 399, 399, 399, 399, 974, 974, - 974, 529, 622, 622, 622, 622, 483, 484, 484, 484, - 484, 623, 623, 623, 623, 628, 628, 628, 628, 529, - - 400, 400, 400, 974, 974, 401, 974, 530, 531, 532, - 532, 532, 532, 534, 400, 534, 974, 974, 535, 974, - 536, 537, 538, 538, 538, 538, 403, 404, 403, 974, - 974, 405, 974, 315, 316, 402, 402, 402, 402, 974, - 974, 974, 539, 294, 627, 627, 627, 627, 383, 384, - 383, 974, 974, 385, 497, 498, 498, 498, 498, 974, - 539, 403, 404, 403, 974, 974, 405, 974, 540, 541, - 542, 542, 542, 542, 404, 404, 404, 974, 974, 543, - 974, 544, 545, 546, 546, 546, 546, 548, 404, 548, - 974, 974, 549, 974, 550, 551, 552, 552, 552, 552, - - 212, 212, 212, 974, 974, 213, 974, 974, 974, 407, - 407, 407, 407, 323, 212, 323, 974, 974, 324, 974, - 325, 326, 409, 409, 409, 409, 974, 974, 974, 554, - 629, 629, 629, 629, 630, 630, 974, 631, 631, 631, - 631, 507, 508, 508, 508, 508, 974, 554, 217, 217, - 217, 974, 974, 218, 974, 974, 974, 411, 411, 411, - 411, 413, 413, 413, 974, 974, 414, 974, 974, 974, - 412, 412, 412, 412, 974, 974, 974, 555, 632, 632, - 632, 632, 507, 508, 508, 508, 508, 633, 633, 633, - 633, 638, 638, 638, 638, 555, 413, 413, 413, 974, - - 974, 414, 974, 556, 557, 558, 558, 558, 558, 560, - 413, 560, 974, 974, 561, 974, 562, 563, 564, 564, - 564, 564, 416, 417, 416, 974, 974, 418, 974, 335, - 336, 415, 415, 415, 415, 974, 974, 974, 565, 304, - 637, 637, 637, 637, 392, 393, 392, 974, 974, 394, - 521, 522, 522, 522, 522, 974, 565, 416, 417, 416, - 974, 974, 418, 974, 566, 567, 568, 568, 568, 568, - 417, 417, 417, 974, 974, 569, 974, 570, 571, 572, - 572, 572, 572, 574, 417, 574, 974, 974, 575, 974, - 576, 577, 578, 578, 578, 578, 432, 352, 432, 974, - - 974, 433, 974, 434, 435, 436, 436, 436, 436, 432, - 352, 432, 974, 974, 433, 974, 434, 435, 436, 436, - 436, 436, 248, 156, 248, 974, 974, 249, 588, 589, - 251, 590, 590, 590, 590, 248, 156, 248, 974, 974, - 249, 974, 250, 439, 440, 440, 440, 440, 446, 356, - 446, 974, 974, 447, 974, 448, 449, 450, 450, 450, - 450, 352, 352, 352, 974, 974, 353, 974, 974, 443, - 444, 444, 444, 444, 446, 356, 446, 974, 974, 447, - 974, 448, 449, 450, 450, 450, 450, 257, 258, 162, - 258, 257, 257, 259, 257, 260, 257, 452, 453, 453, - - 453, 454, 454, 454, 454, 454, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 257, 361, 257, 257, - 257, 454, 454, 454, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 361, 597, 597, 597, 974, 974, 598, - 974, 974, 457, 458, 458, 458, 458, 460, 365, 460, - 974, 974, 461, 974, 462, 463, 464, 464, 464, 464, - 460, 365, 460, 974, 974, 461, 974, 462, 463, 464, - 464, 464, 464, 270, 170, 270, 974, 974, 271, 603, - 604, 273, 605, 605, 605, 605, 270, 170, 270, 974, - 974, 271, 974, 272, 467, 468, 468, 468, 468, 474, - - 369, 474, 974, 974, 475, 974, 476, 477, 478, 478, - 478, 478, 601, 601, 601, 974, 974, 611, 974, 974, - 471, 472, 472, 472, 472, 474, 369, 474, 974, 974, - 475, 974, 476, 477, 478, 478, 478, 478, 281, 182, - 281, 974, 974, 282, 617, 618, 284, 619, 619, 619, - 619, 486, 380, 486, 974, 974, 487, 974, 488, 489, - 490, 490, 490, 490, 486, 380, 486, 974, 974, 487, - 974, 488, 489, 490, 490, 490, 490, 291, 187, 291, - 974, 974, 292, 624, 625, 294, 626, 626, 626, 626, - 291, 187, 291, 974, 974, 292, 974, 293, 493, 494, - - 494, 494, 494, 500, 384, 500, 974, 974, 501, 974, - 502, 503, 504, 504, 504, 504, 380, 380, 380, 974, - 974, 381, 974, 974, 497, 498, 498, 498, 498, 500, - 384, 500, 974, 974, 501, 974, 502, 503, 504, 504, - 504, 504, 510, 389, 510, 974, 974, 511, 974, 512, - 513, 514, 514, 514, 514, 510, 389, 510, 974, 974, - 511, 974, 512, 513, 514, 514, 514, 514, 301, 192, - 301, 974, 974, 302, 634, 635, 304, 636, 636, 636, - 636, 301, 192, 301, 974, 974, 302, 974, 303, 517, - 518, 518, 518, 518, 524, 393, 524, 974, 974, 525, - - 974, 526, 527, 528, 528, 528, 528, 389, 389, 389, - 974, 974, 390, 974, 974, 521, 522, 522, 522, 522, - 524, 393, 524, 974, 974, 525, 974, 526, 527, 528, - 528, 528, 528, 639, 639, 639, 639, 640, 640, 974, - 641, 641, 641, 641, 531, 532, 532, 532, 532, 642, - 642, 642, 642, 643, 643, 643, 974, 974, 644, 974, - 974, 531, 532, 532, 532, 532, 534, 400, 534, 974, - 974, 535, 974, 536, 537, 538, 538, 538, 538, 534, - 400, 534, 974, 974, 535, 974, 536, 537, 538, 538, - 538, 538, 645, 645, 645, 645, 646, 647, 646, 974, - - 974, 648, 313, 203, 313, 974, 974, 314, 649, 650, - 316, 651, 651, 651, 651, 313, 203, 313, 974, 974, - 314, 974, 315, 541, 542, 542, 542, 542, 316, 652, - 652, 652, 652, 653, 654, 653, 974, 974, 655, 548, - 404, 548, 974, 974, 549, 974, 550, 551, 552, 552, - 552, 552, 545, 546, 546, 546, 546, 656, 656, 656, - 656, 647, 647, 647, 974, 974, 657, 974, 974, 545, - 546, 546, 546, 546, 548, 404, 548, 974, 974, 549, - 974, 550, 551, 552, 552, 552, 552, 658, 658, 658, - 658, 659, 654, 659, 661, 661, 660, 662, 662, 662, - - 662, 323, 212, 323, 974, 974, 324, 663, 664, 326, - 665, 665, 665, 665, 666, 666, 974, 667, 667, 667, - 667, 557, 558, 558, 558, 558, 668, 668, 668, 668, - 557, 558, 558, 558, 558, 560, 413, 560, 974, 974, - 561, 974, 562, 563, 564, 564, 564, 564, 560, 413, - 560, 974, 974, 561, 974, 562, 563, 564, 564, 564, - 564, 669, 669, 669, 669, 333, 217, 333, 974, 974, - 334, 670, 671, 336, 672, 672, 672, 672, 333, 217, - 333, 974, 974, 334, 974, 335, 567, 568, 568, 568, - 568, 336, 673, 673, 673, 673, 416, 417, 416, 974, - - 974, 418, 574, 417, 574, 974, 974, 575, 974, 576, - 577, 578, 578, 578, 578, 571, 572, 572, 572, 572, - 674, 674, 674, 674, 413, 413, 413, 974, 974, 414, - 974, 974, 571, 572, 572, 572, 572, 574, 417, 574, - 974, 974, 575, 974, 576, 577, 578, 578, 578, 578, - 675, 675, 675, 675, 134, 129, 134, 974, 974, 135, - 585, 585, 585, 585, 586, 586, 586, 586, 355, 356, - 355, 681, 974, 357, 595, 595, 595, 595, 616, 616, - 616, 616, 676, 352, 352, 352, 974, 974, 353, 681, - 974, 974, 585, 585, 585, 585, 432, 352, 432, 974, - - 974, 433, 974, 434, 435, 587, 587, 587, 587, 368, - 369, 368, 682, 974, 370, 616, 616, 616, 616, 621, - 621, 621, 621, 383, 384, 383, 974, 974, 385, 974, - 682, 248, 156, 248, 974, 974, 249, 974, 250, 251, - 590, 590, 590, 590, 248, 156, 248, 974, 974, 249, - 974, 250, 251, 590, 590, 590, 590, 355, 356, 355, - 974, 974, 357, 974, 974, 974, 591, 591, 591, 591, - 974, 974, 974, 683, 622, 622, 622, 622, 974, 974, - 974, 728, 631, 631, 631, 631, 641, 641, 641, 641, - 974, 683, 352, 352, 352, 974, 974, 353, 974, 728, - - 974, 592, 592, 592, 592, 392, 393, 392, 684, 974, - 394, 662, 662, 662, 662, 632, 632, 632, 632, 403, - 404, 403, 733, 974, 405, 974, 684, 446, 356, 446, - 974, 974, 447, 974, 448, 449, 593, 593, 593, 593, - 733, 974, 974, 685, 662, 662, 662, 662, 667, 667, - 667, 667, 974, 668, 668, 668, 668, 974, 974, 974, - 780, 685, 365, 365, 365, 974, 974, 366, 974, 974, - 974, 595, 595, 595, 595, 597, 597, 597, 780, 974, - 598, 974, 974, 974, 596, 596, 596, 596, 416, 417, - 416, 686, 974, 418, 134, 129, 134, 789, 789, 135, - - 790, 790, 790, 790, 974, 785, 974, 974, 974, 686, - 597, 597, 597, 974, 974, 598, 974, 687, 688, 689, - 689, 689, 689, 691, 597, 691, 974, 974, 692, 974, - 693, 694, 695, 695, 695, 695, 600, 601, 600, 974, - 974, 602, 974, 462, 463, 599, 599, 599, 599, 974, - 797, 797, 696, 798, 798, 798, 798, 802, 802, 974, - 803, 803, 803, 803, 688, 689, 689, 689, 689, 974, - 696, 600, 601, 600, 974, 974, 602, 974, 697, 698, - 699, 699, 699, 699, 601, 601, 601, 974, 974, 611, - 974, 700, 701, 702, 702, 702, 702, 704, 601, 704, - - 974, 974, 705, 974, 706, 707, 708, 708, 708, 708, - 270, 170, 270, 974, 974, 271, 974, 272, 273, 605, - 605, 605, 605, 270, 170, 270, 974, 974, 271, 974, - 272, 273, 605, 605, 605, 605, 607, 608, 607, 974, - 974, 609, 974, 974, 974, 606, 606, 606, 606, 974, - 974, 974, 709, 804, 804, 804, 804, 688, 689, 689, - 689, 689, 805, 805, 805, 805, 810, 810, 810, 810, - 709, 710, 711, 712, 712, 712, 712, 974, 974, 974, - 269, 463, 809, 809, 809, 809, 600, 601, 600, 974, - 974, 602, 701, 702, 702, 702, 702, 974, 269, 608, - - 608, 608, 974, 974, 713, 974, 714, 715, 716, 716, - 716, 716, 718, 608, 718, 974, 974, 719, 974, 720, - 721, 722, 722, 722, 722, 601, 601, 601, 974, 974, - 611, 974, 974, 974, 610, 610, 610, 610, 974, 974, - 974, 723, 811, 811, 811, 811, 273, 815, 815, 815, - 815, 607, 608, 607, 974, 974, 609, 974, 974, 723, - 704, 601, 704, 974, 974, 705, 974, 706, 707, 708, - 708, 708, 708, 613, 608, 613, 974, 974, 614, 974, - 476, 477, 612, 612, 612, 612, 974, 974, 974, 724, - 715, 716, 716, 716, 716, 816, 816, 816, 816, 817, - - 817, 817, 817, 852, 852, 852, 852, 724, 613, 608, - 613, 974, 974, 614, 974, 725, 726, 727, 727, 727, - 727, 718, 608, 718, 974, 974, 719, 974, 720, 721, - 722, 722, 722, 722, 281, 182, 281, 974, 974, 282, - 974, 283, 284, 619, 619, 619, 619, 281, 182, 281, - 974, 974, 282, 974, 283, 284, 619, 619, 619, 619, - 380, 380, 380, 974, 974, 381, 974, 974, 974, 621, - 621, 621, 621, 486, 380, 486, 974, 974, 487, 974, - 488, 489, 623, 623, 623, 623, 974, 818, 818, 729, - 819, 819, 819, 819, 477, 823, 823, 823, 823, 613, - - 608, 613, 974, 974, 614, 974, 974, 729, 291, 187, - 291, 974, 974, 292, 974, 293, 294, 626, 626, 626, - 626, 291, 187, 291, 974, 974, 292, 974, 293, 294, - 626, 626, 626, 626, 383, 384, 383, 974, 974, 385, - 974, 974, 974, 627, 627, 627, 627, 974, 824, 824, - 730, 825, 825, 825, 825, 832, 832, 974, 833, 833, - 833, 833, 740, 741, 741, 741, 741, 974, 730, 380, - 380, 380, 974, 974, 381, 974, 974, 974, 628, 628, - 628, 628, 974, 837, 837, 731, 838, 838, 838, 838, - 845, 845, 974, 846, 846, 846, 846, 740, 741, 741, - - 741, 741, 974, 731, 500, 384, 500, 974, 974, 501, - 974, 502, 503, 629, 629, 629, 629, 974, 850, 850, - 732, 851, 851, 851, 851, 853, 853, 853, 853, 537, - 857, 857, 857, 857, 858, 858, 858, 858, 732, 389, - 389, 389, 974, 974, 390, 974, 974, 974, 631, 631, - 631, 631, 510, 389, 510, 974, 974, 511, 974, 512, - 513, 633, 633, 633, 633, 646, 647, 646, 734, 974, - 648, 753, 754, 754, 754, 754, 859, 859, 859, 859, - 316, 863, 863, 863, 863, 974, 734, 301, 192, 301, - 974, 974, 302, 974, 303, 304, 636, 636, 636, 636, - - 301, 192, 301, 974, 974, 302, 974, 303, 304, 636, - 636, 636, 636, 392, 393, 392, 974, 974, 394, 974, - 974, 974, 637, 637, 637, 637, 653, 654, 653, 735, - 974, 655, 767, 768, 768, 768, 768, 864, 864, 864, - 864, 865, 865, 865, 865, 974, 974, 735, 389, 389, - 389, 974, 974, 390, 974, 974, 974, 638, 638, 638, - 638, 974, 866, 866, 736, 867, 867, 867, 867, 551, - 871, 871, 871, 871, 659, 654, 659, 974, 974, 660, - 974, 974, 736, 524, 393, 524, 974, 974, 525, 974, - 526, 527, 639, 639, 639, 639, 974, 872, 872, 737, - - 873, 873, 873, 873, 880, 880, 974, 881, 881, 881, - 881, 790, 790, 790, 790, 974, 974, 737, 400, 400, - 400, 974, 974, 401, 974, 974, 974, 641, 641, 641, - 641, 643, 643, 643, 974, 974, 644, 974, 974, 974, - 642, 642, 642, 642, 134, 129, 134, 738, 974, 135, - 974, 974, 885, 790, 790, 790, 790, 355, 356, 355, - 974, 974, 357, 974, 974, 738, 643, 643, 643, 974, - 974, 644, 974, 739, 740, 741, 741, 741, 741, 743, - 643, 743, 974, 974, 744, 974, 745, 746, 747, 747, - 747, 747, 646, 647, 646, 974, 974, 648, 974, 536, - - 537, 645, 645, 645, 645, 974, 974, 974, 748, 798, - 798, 798, 798, 803, 803, 803, 803, 974, 804, 804, - 804, 804, 974, 974, 974, 888, 748, 646, 647, 646, - 974, 974, 648, 974, 749, 750, 751, 751, 751, 751, - 647, 647, 647, 888, 974, 657, 974, 752, 753, 754, - 754, 754, 754, 756, 647, 756, 974, 974, 757, 974, - 758, 759, 760, 760, 760, 760, 313, 203, 313, 974, - 974, 314, 974, 315, 316, 651, 651, 651, 651, 313, - 203, 313, 974, 974, 314, 974, 315, 316, 651, 651, - 651, 651, 653, 654, 653, 974, 974, 655, 974, 974, - - 974, 652, 652, 652, 652, 600, 601, 600, 761, 974, - 602, 607, 608, 607, 974, 974, 609, 819, 819, 819, - 819, 825, 825, 825, 825, 974, 761, 762, 763, 764, - 764, 764, 764, 613, 608, 613, 312, 974, 614, 825, - 825, 825, 825, 383, 384, 383, 974, 974, 385, 833, - 833, 833, 833, 974, 312, 654, 654, 654, 974, 974, - 765, 974, 766, 767, 768, 768, 768, 768, 770, 654, - 770, 974, 974, 771, 974, 772, 773, 774, 774, 774, - 774, 647, 647, 647, 974, 974, 657, 974, 974, 974, - 656, 656, 656, 656, 974, 974, 974, 775, 838, 838, - - 838, 838, 838, 838, 838, 838, 392, 393, 392, 974, - 974, 394, 974, 974, 974, 775, 756, 647, 756, 974, - 974, 757, 974, 758, 759, 760, 760, 760, 760, 659, - 654, 659, 974, 974, 660, 974, 550, 551, 658, 658, - 658, 658, 974, 974, 974, 776, 846, 846, 846, 846, - 851, 851, 851, 851, 974, 852, 852, 852, 852, 974, - 974, 974, 897, 776, 659, 654, 659, 974, 974, 660, - 974, 777, 778, 779, 779, 779, 779, 770, 654, 770, - 897, 974, 771, 974, 772, 773, 774, 774, 774, 774, - 323, 212, 323, 974, 974, 324, 974, 325, 326, 665, - - 665, 665, 665, 323, 212, 323, 974, 974, 324, 974, - 325, 326, 665, 665, 665, 665, 413, 413, 413, 974, - 974, 414, 974, 974, 974, 667, 667, 667, 667, 560, - 413, 560, 974, 974, 561, 974, 562, 563, 669, 669, - 669, 669, 646, 647, 646, 781, 974, 648, 653, 654, - 653, 974, 974, 655, 867, 867, 867, 867, 873, 873, - 873, 873, 974, 781, 333, 217, 333, 974, 974, 334, - 974, 335, 336, 672, 672, 672, 672, 333, 217, 333, - 974, 974, 334, 974, 335, 336, 672, 672, 672, 672, - 416, 417, 416, 974, 974, 418, 974, 974, 974, 673, - - 673, 673, 673, 659, 654, 659, 782, 974, 660, 873, - 873, 873, 873, 416, 417, 416, 974, 974, 418, 881, - 881, 881, 881, 974, 782, 413, 413, 413, 974, 974, - 414, 974, 974, 974, 674, 674, 674, 674, 134, 129, - 134, 783, 974, 135, 974, 909, 909, 906, 910, 910, - 910, 910, 917, 917, 974, 918, 918, 918, 918, 783, - 574, 417, 574, 974, 974, 575, 974, 576, 577, 675, - 675, 675, 675, 974, 925, 925, 784, 926, 926, 926, - 926, 933, 933, 974, 934, 934, 934, 934, 134, 129, - 957, 974, 974, 135, 784, 432, 352, 432, 974, 974, - - 433, 791, 792, 435, 793, 793, 793, 793, 248, 156, - 248, 974, 974, 249, 794, 795, 251, 796, 796, 796, - 796, 446, 356, 446, 974, 974, 447, 799, 800, 449, - 801, 801, 801, 801, 691, 597, 691, 974, 974, 692, - 974, 693, 694, 695, 695, 695, 695, 691, 597, 691, - 974, 974, 692, 974, 693, 694, 695, 695, 695, 695, - 460, 365, 460, 974, 974, 461, 806, 807, 463, 808, - 808, 808, 808, 460, 365, 460, 974, 974, 461, 974, - 462, 698, 699, 699, 699, 699, 597, 597, 597, 974, - 974, 598, 974, 974, 701, 702, 702, 702, 702, 704, - - 601, 704, 974, 974, 705, 974, 706, 707, 708, 708, - 708, 708, 704, 601, 704, 974, 974, 705, 974, 706, - 707, 708, 708, 708, 708, 270, 170, 270, 974, 974, - 271, 812, 813, 273, 814, 814, 814, 814, 270, 170, - 270, 974, 974, 271, 974, 272, 711, 712, 712, 712, - 712, 718, 608, 718, 974, 974, 719, 974, 720, 721, - 722, 722, 722, 722, 601, 601, 601, 974, 974, 611, - 974, 974, 715, 716, 716, 716, 716, 718, 608, 718, - 974, 974, 719, 974, 720, 721, 722, 722, 722, 722, - 474, 369, 474, 974, 974, 475, 820, 821, 477, 822, - - 822, 822, 822, 474, 369, 474, 974, 974, 475, 974, - 476, 726, 727, 727, 727, 727, 486, 380, 486, 974, - 974, 487, 826, 827, 489, 828, 828, 828, 828, 291, - 187, 291, 974, 974, 292, 829, 830, 294, 831, 831, - 831, 831, 500, 384, 500, 974, 974, 501, 834, 835, - 503, 836, 836, 836, 836, 510, 389, 510, 974, 974, - 511, 839, 840, 513, 841, 841, 841, 841, 301, 192, - 301, 974, 974, 302, 842, 843, 304, 844, 844, 844, - 844, 524, 393, 524, 974, 974, 525, 847, 848, 527, - 849, 849, 849, 849, 743, 643, 743, 974, 974, 744, - - 974, 745, 746, 747, 747, 747, 747, 743, 643, 743, - 974, 974, 744, 974, 745, 746, 747, 747, 747, 747, - 534, 400, 534, 974, 974, 535, 854, 855, 537, 856, - 856, 856, 856, 534, 400, 534, 974, 974, 535, 974, - 536, 750, 751, 751, 751, 751, 643, 643, 643, 974, - 974, 644, 974, 974, 753, 754, 754, 754, 754, 756, - 647, 756, 974, 974, 757, 974, 758, 759, 760, 760, - 760, 760, 756, 647, 756, 974, 974, 757, 974, 758, - 759, 760, 760, 760, 760, 313, 203, 313, 974, 974, - 314, 860, 861, 316, 862, 862, 862, 862, 313, 203, - - 313, 974, 974, 314, 974, 315, 763, 764, 764, 764, - 764, 770, 654, 770, 974, 974, 771, 974, 772, 773, - 774, 774, 774, 774, 647, 647, 647, 974, 974, 657, - 974, 974, 767, 768, 768, 768, 768, 770, 654, 770, - 974, 974, 771, 974, 772, 773, 774, 774, 774, 774, - 548, 404, 548, 974, 974, 549, 868, 869, 551, 870, - 870, 870, 870, 548, 404, 548, 974, 974, 549, 974, - 550, 778, 779, 779, 779, 779, 560, 413, 560, 974, - 974, 561, 874, 875, 563, 876, 876, 876, 876, 333, - 217, 333, 974, 974, 334, 877, 878, 336, 879, 879, - - 879, 879, 574, 417, 574, 974, 974, 575, 882, 883, - 577, 884, 884, 884, 884, 432, 352, 432, 974, 974, - 433, 974, 434, 435, 793, 793, 793, 793, 248, 156, - 248, 974, 974, 249, 974, 250, 251, 796, 796, 796, - 796, 352, 352, 352, 974, 974, 353, 974, 974, 974, - 798, 798, 798, 798, 446, 356, 446, 974, 974, 447, - 974, 448, 449, 801, 801, 801, 801, 446, 356, 446, - 974, 974, 447, 974, 448, 449, 801, 801, 801, 801, - 597, 597, 597, 974, 974, 598, 974, 974, 974, 803, - 803, 803, 803, 691, 597, 691, 974, 974, 692, 974, - - 693, 694, 805, 805, 805, 805, 974, 938, 939, 889, - 940, 940, 940, 940, 941, 941, 974, 942, 942, 942, - 942, 910, 910, 910, 910, 974, 974, 889, 460, 365, - 460, 974, 974, 461, 974, 462, 463, 808, 808, 808, - 808, 460, 365, 460, 974, 974, 461, 974, 462, 463, - 808, 808, 808, 808, 600, 601, 600, 974, 974, 602, - 974, 974, 974, 809, 809, 809, 809, 974, 946, 947, - 890, 948, 948, 948, 948, 949, 949, 974, 950, 950, - 950, 950, 910, 910, 910, 910, 974, 974, 890, 597, - 597, 597, 974, 974, 598, 974, 974, 974, 810, 810, - - 810, 810, 974, 954, 955, 891, 956, 956, 956, 956, - 600, 601, 600, 974, 974, 602, 918, 918, 918, 918, - 974, 974, 974, 891, 704, 601, 704, 974, 974, 705, - 974, 706, 707, 811, 811, 811, 811, 607, 608, 607, - 892, 974, 609, 926, 926, 926, 926, 613, 608, 613, - 974, 974, 614, 934, 934, 934, 934, 974, 892, 270, - 170, 270, 974, 974, 271, 974, 272, 273, 814, 814, - 814, 814, 270, 170, 270, 974, 974, 271, 974, 272, - 273, 814, 814, 814, 814, 607, 608, 607, 974, 974, - 609, 974, 974, 974, 815, 815, 815, 815, 974, 974, - - 974, 893, 934, 934, 934, 934, 940, 940, 940, 940, - 940, 940, 940, 940, 942, 942, 942, 942, 974, 893, - 601, 601, 601, 974, 974, 611, 974, 974, 974, 816, - 816, 816, 816, 974, 974, 974, 894, 942, 942, 942, - 942, 974, 974, 940, 940, 940, 940, 134, 129, 134, - 533, 974, 135, 974, 894, 718, 608, 718, 974, 964, - 719, 974, 720, 721, 817, 817, 817, 817, 533, 974, - 974, 895, 948, 948, 948, 948, 948, 948, 948, 948, - 974, 948, 948, 948, 948, 974, 974, 974, 312, 895, - 601, 601, 601, 974, 974, 611, 974, 974, 974, 819, - - 819, 819, 819, 474, 369, 474, 312, 974, 475, 974, - 476, 477, 822, 822, 822, 822, 474, 369, 474, 974, - 974, 475, 974, 476, 477, 822, 822, 822, 822, 613, - 608, 613, 974, 974, 614, 974, 974, 974, 823, 823, - 823, 823, 974, 974, 974, 896, 950, 950, 950, 950, - 950, 950, 950, 950, 956, 956, 956, 956, 956, 956, - 956, 956, 974, 896, 486, 380, 486, 974, 974, 487, - 974, 488, 489, 828, 828, 828, 828, 486, 380, 486, - 974, 974, 487, 974, 488, 489, 828, 828, 828, 828, - 291, 187, 291, 974, 974, 292, 974, 293, 294, 831, - - 831, 831, 831, 291, 187, 291, 974, 974, 292, 974, - 293, 294, 831, 831, 831, 831, 380, 380, 380, 974, - 974, 381, 974, 974, 974, 833, 833, 833, 833, 500, - 384, 500, 974, 974, 501, 974, 502, 503, 836, 836, - 836, 836, 500, 384, 500, 974, 974, 501, 974, 502, - 503, 836, 836, 836, 836, 510, 389, 510, 974, 974, - 511, 974, 512, 513, 841, 841, 841, 841, 510, 389, - 510, 974, 974, 511, 974, 512, 513, 841, 841, 841, - 841, 301, 192, 301, 974, 974, 302, 974, 303, 304, - 844, 844, 844, 844, 301, 192, 301, 974, 974, 302, - - 974, 303, 304, 844, 844, 844, 844, 389, 389, 389, - 974, 974, 390, 974, 974, 974, 846, 846, 846, 846, - 524, 393, 524, 974, 974, 525, 974, 526, 527, 849, - 849, 849, 849, 524, 393, 524, 974, 974, 525, 974, - 526, 527, 849, 849, 849, 849, 643, 643, 643, 974, - 974, 644, 974, 974, 974, 851, 851, 851, 851, 743, - 643, 743, 974, 974, 744, 974, 745, 746, 853, 853, - 853, 853, 974, 974, 974, 898, 134, 129, 134, 974, - 974, 135, 974, 974, 974, 956, 956, 956, 956, 974, - 974, 974, 547, 898, 534, 400, 534, 974, 974, 535, - - 974, 536, 537, 856, 856, 856, 856, 534, 400, 534, - 547, 963, 535, 974, 536, 537, 856, 856, 856, 856, - 646, 647, 646, 974, 974, 648, 974, 974, 974, 857, - 857, 857, 857, 134, 129, 134, 899, 974, 135, 134, - 129, 134, 974, 974, 135, 966, 967, 966, 974, 974, - 968, 974, 974, 974, 899, 643, 643, 643, 974, 974, - 644, 974, 974, 974, 858, 858, 858, 858, 966, 967, - 966, 900, 974, 968, 974, 974, 960, 966, 967, 966, - 974, 962, 968, 969, 974, 969, 974, 974, 970, 900, - 756, 647, 756, 974, 974, 757, 974, 758, 759, 859, - - 859, 859, 859, 966, 967, 966, 901, 969, 968, 969, - 974, 972, 970, 972, 974, 972, 973, 972, 974, 974, - 973, 974, 974, 974, 901, 313, 203, 313, 974, 974, - 314, 974, 315, 316, 862, 862, 862, 862, 313, 203, - 313, 974, 974, 314, 974, 315, 316, 862, 862, 862, - 862, 653, 654, 653, 974, 974, 655, 974, 974, 974, - 863, 863, 863, 863, 972, 974, 972, 902, 972, 973, - 972, 974, 974, 973, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 902, 647, 647, 647, 974, - 974, 657, 974, 974, 974, 864, 864, 864, 864, 974, - - 974, 974, 903, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 903, 770, 654, 770, 974, 974, 771, 974, 772, 773, - 865, 865, 865, 865, 974, 974, 974, 904, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 904, 647, 647, 647, 974, - 974, 657, 974, 974, 974, 867, 867, 867, 867, 548, - 404, 548, 974, 974, 549, 974, 550, 551, 870, 870, - 870, 870, 548, 404, 548, 974, 974, 549, 974, 550, - 551, 870, 870, 870, 870, 659, 654, 659, 974, 974, - - 660, 974, 974, 974, 871, 871, 871, 871, 974, 974, - 974, 905, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 905, - 560, 413, 560, 974, 974, 561, 974, 562, 563, 876, - 876, 876, 876, 560, 413, 560, 974, 974, 561, 974, - 562, 563, 876, 876, 876, 876, 333, 217, 333, 974, - 974, 334, 974, 335, 336, 879, 879, 879, 879, 333, - 217, 333, 974, 974, 334, 974, 335, 336, 879, 879, - 879, 879, 413, 413, 413, 974, 974, 414, 974, 974, - 974, 881, 881, 881, 881, 574, 417, 574, 974, 974, - - 575, 974, 576, 577, 884, 884, 884, 884, 574, 417, - 574, 974, 974, 575, 974, 576, 577, 884, 884, 884, - 884, 691, 597, 691, 974, 974, 692, 911, 912, 694, - 913, 913, 913, 913, 460, 365, 460, 974, 974, 461, - 914, 915, 463, 916, 916, 916, 916, 704, 601, 704, - 974, 974, 705, 919, 920, 707, 921, 921, 921, 921, - 270, 170, 270, 974, 974, 271, 922, 923, 273, 924, - 924, 924, 924, 718, 608, 718, 974, 974, 719, 927, - 928, 721, 929, 929, 929, 929, 474, 369, 474, 974, - 974, 475, 930, 931, 477, 932, 932, 932, 932, 743, - - 643, 743, 974, 974, 744, 935, 936, 746, 937, 937, - 937, 937, 756, 647, 756, 974, 974, 757, 943, 944, - 759, 945, 945, 945, 945, 770, 654, 770, 974, 974, - 771, 951, 952, 773, 953, 953, 953, 953, 691, 597, - 691, 974, 974, 692, 974, 693, 694, 913, 913, 913, - 913, 460, 365, 460, 974, 974, 461, 974, 462, 463, - 916, 916, 916, 916, 597, 597, 597, 974, 974, 598, - 974, 974, 974, 918, 918, 918, 918, 704, 601, 704, - 974, 974, 705, 974, 706, 707, 921, 921, 921, 921, - 270, 170, 270, 974, 974, 271, 974, 272, 273, 924, - - 924, 924, 924, 601, 601, 601, 974, 974, 611, 974, - 974, 974, 926, 926, 926, 926, 718, 608, 718, 974, - 974, 719, 974, 720, 721, 929, 929, 929, 929, 474, - 369, 474, 974, 974, 475, 974, 476, 477, 932, 932, - 932, 932, 46, 46, 46, 46, 46, 46, 46, 46, - 81, 81, 81, 81, 81, 81, 81, 81, 109, 109, - 109, 109, 109, 109, 109, 109, 119, 119, 119, 119, - 119, 119, 119, 119, 133, 133, 133, 133, 133, 133, - 133, 133, 137, 974, 974, 137, 138, 974, 974, 138, - 172, 974, 974, 172, 974, 172, 172, 172, 173, 173, - - 173, 173, 173, 173, 173, 173, 205, 974, 974, 205, - 974, 205, 205, 206, 206, 206, 206, 206, 206, 206, - 206, 219, 219, 974, 219, 974, 219, 219, 219, 222, - 222, 222, 222, 222, 222, 222, 222, 228, 228, 974, - 228, 228, 228, 228, 228, 247, 247, 247, 247, 247, - 247, 247, 247, 257, 257, 257, 257, 257, 257, 257, - 257, 263, 263, 974, 974, 263, 263, 269, 269, 269, - 269, 269, 269, 269, 269, 280, 280, 280, 280, 280, - 280, 280, 280, 290, 290, 290, 290, 290, 290, 290, - 290, 300, 300, 300, 300, 300, 300, 300, 300, 312, - - 312, 312, 312, 312, 312, 312, 312, 322, 322, 322, - 322, 322, 322, 322, 322, 332, 332, 332, 332, 332, - 332, 332, 332, 219, 219, 974, 219, 974, 219, 219, - 219, 222, 222, 222, 222, 222, 222, 222, 222, 228, - 228, 974, 228, 228, 228, 228, 228, 133, 133, 133, - 133, 133, 133, 133, 133, 137, 974, 974, 137, 247, - 247, 247, 247, 247, 247, 247, 247, 257, 257, 257, - 257, 257, 257, 257, 257, 263, 263, 974, 974, 263, - 263, 269, 269, 269, 269, 269, 269, 269, 269, 431, - 431, 431, 431, 431, 431, 431, 431, 445, 445, 445, - - 445, 445, 445, 445, 445, 459, 459, 459, 459, 459, - 459, 459, 459, 473, 473, 473, 473, 473, 473, 473, - 473, 485, 485, 485, 485, 485, 485, 485, 485, 499, - 499, 499, 499, 499, 499, 499, 499, 509, 509, 509, - 509, 509, 509, 509, 509, 300, 300, 300, 300, 300, - 300, 300, 300, 523, 523, 523, 523, 523, 523, 523, - 523, 533, 533, 533, 533, 533, 533, 533, 533, 312, - 312, 312, 312, 312, 312, 312, 312, 547, 547, 547, - 547, 547, 547, 547, 547, 322, 322, 322, 322, 322, - 322, 322, 322, 559, 559, 559, 559, 559, 559, 559, - - 559, 332, 332, 332, 332, 332, 332, 332, 332, 573, - 573, 573, 573, 573, 573, 573, 573, 133, 133, 133, - 133, 133, 133, 133, 133, 137, 974, 974, 137, 431, - 431, 431, 431, 431, 431, 431, 431, 247, 247, 247, - 247, 247, 247, 247, 247, 445, 445, 445, 445, 445, - 445, 445, 445, 459, 459, 459, 459, 459, 459, 459, - 459, 269, 269, 269, 269, 269, 269, 269, 269, 473, - 473, 473, 473, 473, 473, 473, 473, 280, 280, 280, - 280, 280, 280, 280, 280, 485, 485, 485, 485, 485, - 485, 485, 485, 290, 290, 290, 290, 290, 290, 290, - - 290, 499, 499, 499, 499, 499, 499, 499, 499, 509, - 509, 509, 509, 509, 509, 509, 509, 300, 300, 300, - 300, 300, 300, 300, 300, 523, 523, 523, 523, 523, - 523, 523, 523, 533, 533, 533, 533, 533, 533, 533, - 533, 312, 312, 312, 312, 312, 312, 312, 312, 547, - 547, 547, 547, 547, 547, 547, 547, 322, 322, 322, - 322, 322, 322, 322, 322, 559, 559, 559, 559, 559, - 559, 559, 559, 332, 332, 332, 332, 332, 332, 332, - 332, 573, 573, 573, 573, 573, 573, 573, 573, 133, - 133, 133, 133, 133, 133, 133, 133, 137, 974, 974, - - 137, 431, 431, 431, 431, 431, 431, 431, 431, 247, - 247, 247, 247, 247, 247, 247, 247, 445, 445, 445, - 445, 445, 445, 445, 445, 690, 690, 690, 690, 690, - 690, 690, 690, 459, 459, 459, 459, 459, 459, 459, - 459, 703, 703, 703, 703, 703, 703, 703, 703, 269, - 269, 269, 269, 269, 269, 269, 269, 717, 717, 717, - 717, 717, 717, 717, 717, 473, 473, 473, 473, 473, - 473, 473, 473, 280, 280, 280, 280, 280, 280, 280, - 280, 485, 485, 485, 485, 485, 485, 485, 485, 290, - 290, 290, 290, 290, 290, 290, 290, 499, 499, 499, - - 499, 499, 499, 499, 499, 509, 509, 509, 509, 509, - 509, 509, 509, 300, 300, 300, 300, 300, 300, 300, - 300, 523, 523, 523, 523, 523, 523, 523, 523, 742, - 742, 742, 742, 742, 742, 742, 742, 533, 533, 533, - 533, 533, 533, 533, 533, 755, 755, 755, 755, 755, - 755, 755, 755, 312, 312, 312, 312, 312, 312, 312, - 312, 769, 769, 769, 769, 769, 769, 769, 769, 547, - 547, 547, 547, 547, 547, 547, 547, 322, 322, 322, - 322, 322, 322, 322, 322, 559, 559, 559, 559, 559, - 559, 559, 559, 332, 332, 332, 332, 332, 332, 332, - - 332, 573, 573, 573, 573, 573, 573, 573, 573, 133, - 133, 133, 133, 133, 133, 133, 133, 137, 974, 974, - 137, 431, 431, 431, 431, 431, 431, 431, 431, 247, - 247, 247, 247, 247, 247, 247, 247, 445, 445, 445, - 445, 445, 445, 445, 445, 690, 690, 690, 690, 690, - 690, 690, 690, 459, 459, 459, 459, 459, 459, 459, - 459, 703, 703, 703, 703, 703, 703, 703, 703, 269, - 269, 269, 269, 269, 269, 269, 269, 717, 717, 717, - 717, 717, 717, 717, 717, 473, 473, 473, 473, 473, - 473, 473, 473, 485, 485, 485, 485, 485, 485, 485, - - 485, 290, 290, 290, 290, 290, 290, 290, 290, 499, - 499, 499, 499, 499, 499, 499, 499, 509, 509, 509, - 509, 509, 509, 509, 509, 300, 300, 300, 300, 300, - 300, 300, 300, 523, 523, 523, 523, 523, 523, 523, - 523, 742, 742, 742, 742, 742, 742, 742, 742, 533, - 533, 533, 533, 533, 533, 533, 533, 755, 755, 755, - 755, 755, 755, 755, 755, 312, 312, 312, 312, 312, - 312, 312, 312, 769, 769, 769, 769, 769, 769, 769, - 769, 547, 547, 547, 547, 547, 547, 547, 547, 559, - 559, 559, 559, 559, 559, 559, 559, 332, 332, 332, - - 332, 332, 332, 332, 332, 445, 445, 445, 445, 445, - 445, 445, 445, 690, 690, 690, 690, 690, 690, 690, - 690, 459, 459, 459, 459, 459, 459, 459, 459, 703, - 703, 703, 703, 703, 703, 703, 703, 269, 269, 269, - 269, 269, 269, 269, 269, 717, 717, 717, 717, 717, - 717, 717, 717, 473, 473, 473, 473, 473, 473, 473, - 473, 485, 485, 485, 485, 485, 485, 485, 485, 290, - 290, 290, 290, 290, 290, 290, 290, 499, 499, 499, - 499, 499, 499, 499, 499, 509, 509, 509, 509, 509, - 509, 509, 509, 300, 300, 300, 300, 300, 300, 300, - - 300, 523, 523, 523, 523, 523, 523, 523, 523, 742, - 742, 742, 742, 742, 742, 742, 742, 533, 533, 533, - 533, 533, 533, 533, 533, 755, 755, 755, 755, 755, - 755, 755, 755, 312, 312, 312, 312, 312, 312, 312, - 312, 769, 769, 769, 769, 769, 769, 769, 769, 547, - 547, 547, 547, 547, 547, 547, 547, 559, 559, 559, - 559, 559, 559, 559, 559, 332, 332, 332, 332, 332, - 332, 332, 332, 573, 573, 573, 573, 573, 573, 573, - 573, 133, 133, 133, 133, 133, 133, 133, 133, 137, - 974, 974, 137, 690, 690, 690, 690, 690, 690, 690, - - 690, 459, 459, 459, 459, 459, 459, 459, 459, 703, - 703, 703, 703, 703, 703, 703, 703, 269, 269, 269, - 269, 269, 269, 269, 269, 717, 717, 717, 717, 717, - 717, 717, 717, 473, 473, 473, 473, 473, 473, 473, - 473, 965, 965, 965, 965, 965, 965, 965, 965, 971, - 971, 974, 971, 971, 971, 971, 971, 45, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974 + 976, 47, 48, 47, 47, 976, 463, 49, 47, 48, + 47, 47, 131, 231, 49, 46, 47, 48, 47, 47, + 50, 46, 51, 46, 46, 46, 52, 52, 52, 52, + 50, 50, 53, 54, 50, 55, 50, 50, 56, 50, + 57, 58, 50, 59, 60, 50, 50, 46, 46, 46, + 50, 61, 62, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 47, 48, 47, 47, 144, 145, 51, + 69, 70, 71, 71, 71, 71, 150, 151, 151, 151, + 151, 63, 64, 69, 70, 71, 71, 71, 71, 463, + 65, 47, 48, 47, 47, 131, 231, 51, 72, 46, + + 73, 74, 74, 74, 152, 152, 152, 152, 976, 63, + 64, 72, 46, 73, 74, 74, 74, 319, 65, 47, + 48, 47, 47, 612, 976, 51, 132, 66, 67, 68, + 68, 68, 68, 156, 157, 157, 157, 157, 64, 75, + 46, 76, 77, 77, 77, 75, 46, 76, 77, 77, + 77, 78, 79, 80, 80, 80, 80, 78, 79, 80, + 80, 80, 80, 47, 48, 47, 47, 132, 82, 83, + 47, 48, 47, 47, 270, 82, 83, 158, 158, 158, + 158, 428, 84, 85, 86, 87, 87, 87, 87, 84, + 85, 86, 87, 87, 87, 87, 88, 89, 90, 90, + + 90, 90, 88, 89, 90, 90, 90, 90, 91, 92, + 93, 93, 93, 93, 91, 92, 93, 93, 93, 93, + 94, 95, 96, 96, 96, 96, 374, 120, 48, 120, + 120, 97, 121, 122, 120, 48, 120, 120, 132, 121, + 122, 132, 374, 98, 353, 99, 94, 95, 96, 96, + 96, 96, 128, 132, 128, 128, 896, 97, 129, 123, + 235, 133, 120, 48, 120, 120, 123, 124, 122, 98, + 132, 99, 100, 101, 102, 102, 102, 102, 132, 120, + 48, 120, 120, 97, 124, 122, 131, 231, 156, 157, + 157, 157, 157, 354, 123, 98, 159, 99, 100, 101, + + 102, 102, 102, 102, 160, 160, 160, 160, 953, 97, + 319, 123, 131, 231, 159, 164, 164, 164, 164, 950, + 263, 98, 132, 99, 103, 46, 104, 105, 105, 105, + 164, 164, 164, 164, 270, 97, 263, 125, 46, 126, + 127, 127, 127, 168, 168, 168, 168, 98, 46, 99, + 103, 46, 104, 105, 105, 105, 166, 167, 167, 167, + 167, 97, 954, 125, 46, 126, 127, 127, 127, 178, + 178, 178, 178, 98, 46, 99, 106, 107, 108, 108, + 108, 108, 176, 177, 177, 177, 177, 97, 164, 164, + 164, 164, 131, 952, 131, 131, 614, 131, 174, 98, + + 615, 99, 106, 107, 108, 108, 108, 108, 165, 182, + 182, 182, 182, 97, 176, 177, 177, 177, 177, 951, + 132, 949, 179, 132, 165, 98, 856, 99, 47, 48, + 47, 47, 948, 110, 111, 180, 181, 181, 181, 181, + 179, 186, 187, 187, 187, 187, 699, 112, 188, 188, + 188, 188, 192, 193, 193, 193, 193, 720, 723, 98, + 387, 99, 47, 48, 47, 47, 898, 110, 111, 194, + 194, 194, 194, 199, 200, 200, 200, 200, 387, 720, + 723, 112, 201, 201, 201, 201, 199, 200, 200, 200, + 200, 470, 473, 98, 202, 99, 113, 114, 115, 115, + + 115, 115, 203, 203, 203, 203, 897, 97, 203, 203, + 203, 203, 202, 203, 203, 203, 203, 470, 473, 98, + 859, 99, 113, 114, 115, 115, 115, 115, 204, 207, + 207, 207, 207, 97, 205, 206, 206, 206, 206, 215, + 216, 216, 216, 216, 204, 98, 858, 99, 116, 117, + 118, 118, 118, 118, 418, 131, 857, 131, 131, 97, + 131, 213, 217, 217, 217, 217, 221, 222, 222, 222, + 222, 98, 418, 99, 116, 117, 118, 118, 118, 118, + 223, 223, 223, 223, 703, 97, 131, 228, 131, 228, + 228, 263, 128, 229, 128, 128, 620, 98, 129, 99, + + 153, 153, 153, 153, 626, 702, 154, 263, 132, 150, + 151, 151, 151, 151, 620, 734, 737, 155, 233, 233, + 233, 233, 626, 233, 233, 233, 233, 233, 233, 233, + 233, 152, 152, 152, 152, 155, 161, 161, 161, 161, + 132, 701, 162, 234, 947, 955, 160, 160, 160, 160, + 976, 152, 152, 152, 152, 734, 737, 256, 256, 234, + 257, 257, 257, 257, 274, 277, 163, 158, 158, 158, + 158, 156, 157, 157, 157, 157, 274, 277, 700, 159, + 387, 651, 163, 169, 169, 169, 169, 657, 616, 170, + 750, 753, 166, 167, 167, 167, 167, 159, 387, 651, + + 171, 158, 158, 158, 158, 657, 258, 258, 159, 259, + 259, 259, 259, 164, 164, 164, 164, 613, 171, 183, + 183, 183, 183, 750, 753, 184, 159, 661, 180, 181, + 181, 181, 181, 132, 667, 260, 185, 261, 262, 262, + 262, 161, 161, 161, 161, 661, 435, 162, 168, 168, + 168, 168, 667, 418, 185, 189, 189, 189, 189, 485, + 488, 190, 692, 956, 186, 187, 187, 187, 187, 485, + 488, 418, 191, 976, 168, 168, 168, 168, 280, 280, + 692, 281, 281, 281, 281, 178, 178, 178, 178, 132, + 191, 195, 195, 195, 195, 434, 957, 196, 433, 432, + + 192, 193, 193, 193, 193, 431, 430, 131, 197, 131, + 131, 429, 131, 174, 131, 363, 131, 131, 362, 131, + 174, 182, 182, 182, 182, 698, 197, 208, 208, 208, + 208, 361, 620, 209, 626, 360, 205, 206, 206, 206, + 206, 863, 869, 698, 210, 176, 177, 177, 177, 177, + 620, 359, 626, 179, 178, 178, 178, 178, 358, 863, + 869, 179, 210, 218, 218, 218, 218, 357, 356, 219, + 355, 179, 215, 216, 216, 216, 216, 246, 245, 179, + 220, 282, 282, 244, 283, 283, 283, 283, 976, 182, + 182, 182, 182, 188, 188, 188, 188, 243, 220, 224, + + 224, 224, 224, 242, 241, 225, 240, 239, 221, 222, + 222, 222, 222, 238, 293, 293, 226, 294, 294, 294, + 294, 976, 188, 188, 188, 188, 304, 304, 237, 305, + 305, 305, 305, 236, 226, 153, 153, 153, 153, 132, + 132, 154, 132, 247, 248, 249, 249, 249, 249, 251, + 153, 251, 251, 232, 875, 252, 214, 253, 254, 255, + 255, 255, 255, 264, 161, 264, 264, 198, 175, 265, + 149, 266, 875, 267, 268, 268, 268, 169, 169, 169, + 169, 148, 147, 170, 146, 271, 272, 273, 273, 273, + 273, 275, 169, 275, 275, 143, 142, 276, 141, 277, + + 278, 279, 279, 279, 279, 183, 183, 183, 183, 140, + 139, 184, 138, 284, 285, 286, 286, 286, 286, 288, + 183, 288, 288, 137, 136, 289, 132, 290, 291, 292, + 292, 292, 292, 189, 189, 189, 189, 976, 976, 190, + 976, 295, 296, 297, 297, 297, 297, 299, 189, 299, + 299, 976, 976, 300, 976, 301, 302, 303, 303, 303, + 303, 194, 194, 194, 194, 976, 194, 194, 194, 194, + 195, 195, 195, 195, 976, 976, 196, 976, 306, 307, + 308, 308, 308, 308, 310, 195, 310, 310, 976, 976, + 311, 976, 312, 313, 314, 314, 314, 314, 315, 315, + + 976, 316, 316, 316, 316, 201, 201, 201, 201, 199, + 200, 200, 200, 200, 976, 976, 651, 202, 201, 201, + 201, 201, 657, 317, 317, 202, 318, 318, 318, 318, + 203, 203, 203, 203, 651, 202, 207, 207, 207, 207, + 657, 976, 976, 202, 976, 207, 207, 207, 207, 208, + 208, 208, 208, 976, 976, 209, 976, 320, 321, 322, + 322, 322, 322, 324, 208, 324, 324, 661, 976, 325, + 667, 326, 327, 328, 328, 328, 328, 329, 329, 976, + 330, 330, 330, 330, 131, 661, 131, 131, 667, 131, + 213, 131, 976, 131, 131, 976, 131, 213, 217, 217, + + 217, 217, 976, 217, 217, 217, 217, 340, 340, 976, + 341, 341, 341, 341, 881, 131, 976, 131, 223, 223, + 223, 223, 131, 887, 131, 218, 218, 218, 218, 976, + 976, 219, 881, 976, 215, 216, 216, 216, 216, 976, + 976, 887, 220, 976, 223, 223, 223, 223, 351, 351, + 893, 352, 352, 352, 352, 233, 233, 233, 233, 976, + 220, 218, 218, 218, 218, 976, 976, 219, 893, 331, + 332, 333, 333, 333, 333, 335, 218, 335, 335, 692, + 976, 336, 976, 337, 338, 339, 339, 339, 339, 224, + 224, 224, 224, 976, 976, 225, 976, 692, 221, 222, + + 222, 222, 222, 698, 976, 228, 226, 228, 228, 976, + 976, 229, 248, 249, 249, 249, 249, 364, 364, 364, + 364, 698, 976, 976, 226, 224, 224, 224, 224, 976, + 976, 225, 976, 342, 343, 344, 344, 344, 344, 346, + 224, 346, 346, 976, 976, 347, 976, 348, 349, 350, + 350, 350, 350, 365, 365, 365, 365, 976, 976, 366, + 976, 976, 248, 249, 249, 249, 249, 976, 976, 976, + 367, 368, 368, 368, 368, 257, 257, 257, 257, 259, + 259, 259, 259, 259, 259, 259, 259, 976, 367, 251, + 153, 251, 251, 976, 976, 252, 976, 253, 254, 255, + + 255, 255, 255, 251, 153, 251, 251, 976, 976, 252, + 976, 253, 254, 255, 255, 255, 255, 369, 370, 369, + 369, 976, 976, 371, 262, 262, 262, 262, 262, 262, + 262, 262, 976, 976, 372, 976, 976, 262, 262, 262, + 262, 161, 161, 161, 161, 976, 976, 162, 375, 375, + 375, 375, 372, 153, 153, 153, 153, 373, 976, 154, + 976, 976, 976, 257, 257, 257, 257, 272, 273, 273, + 273, 273, 976, 373, 264, 161, 264, 264, 959, 960, + 265, 976, 266, 961, 267, 268, 268, 268, 264, 161, + 264, 264, 959, 960, 265, 976, 266, 961, 267, 268, + + 268, 268, 376, 376, 376, 376, 976, 976, 377, 976, + 976, 272, 273, 273, 273, 273, 976, 976, 976, 378, + 379, 379, 379, 379, 281, 281, 281, 281, 283, 283, + 283, 283, 283, 283, 283, 283, 976, 378, 275, 169, + 275, 275, 976, 976, 276, 976, 277, 278, 279, 279, + 279, 279, 275, 169, 275, 275, 976, 976, 276, 976, + 277, 278, 279, 279, 279, 279, 380, 381, 380, 380, + 976, 976, 382, 285, 286, 286, 286, 286, 384, 384, + 384, 384, 976, 383, 285, 286, 286, 286, 286, 976, + 976, 976, 385, 386, 386, 386, 386, 294, 294, 294, + + 294, 383, 169, 169, 169, 169, 959, 960, 170, 976, + 385, 961, 281, 281, 281, 281, 288, 183, 288, 288, + 976, 976, 289, 976, 290, 291, 292, 292, 292, 292, + 183, 183, 183, 183, 976, 976, 184, 976, 976, 976, + 294, 294, 294, 294, 296, 297, 297, 297, 297, 388, + 388, 388, 388, 389, 389, 389, 389, 976, 976, 390, + 976, 976, 296, 297, 297, 297, 297, 976, 976, 976, + 391, 392, 392, 392, 392, 976, 393, 394, 393, 393, + 976, 976, 395, 305, 305, 305, 305, 976, 391, 299, + 189, 299, 299, 396, 976, 300, 976, 301, 302, 303, + + 303, 303, 303, 307, 308, 308, 308, 308, 976, 720, + 723, 396, 189, 189, 189, 189, 976, 976, 190, 863, + 976, 976, 305, 305, 305, 305, 397, 397, 397, 397, + 398, 398, 398, 398, 976, 976, 399, 863, 976, 307, + 308, 308, 308, 308, 976, 976, 976, 400, 401, 401, + 401, 401, 976, 402, 403, 402, 402, 976, 976, 404, + 316, 316, 316, 316, 976, 400, 310, 195, 310, 310, + 405, 976, 311, 976, 312, 313, 314, 314, 314, 314, + 318, 318, 318, 318, 318, 318, 318, 318, 405, 195, + 195, 195, 195, 976, 976, 196, 976, 976, 976, 316, + + 316, 316, 316, 321, 322, 322, 322, 322, 406, 406, + 406, 406, 407, 407, 407, 407, 976, 976, 408, 976, + 976, 321, 322, 322, 322, 322, 976, 976, 976, 409, + 410, 410, 410, 410, 976, 411, 412, 411, 411, 976, + 976, 413, 330, 330, 330, 330, 976, 409, 324, 208, + 324, 324, 414, 976, 325, 976, 326, 327, 328, 328, + 328, 328, 332, 333, 333, 333, 333, 976, 734, 737, + 414, 208, 208, 208, 208, 976, 976, 209, 869, 976, + 976, 330, 330, 330, 330, 415, 415, 415, 415, 332, + 333, 333, 333, 333, 976, 976, 869, 416, 417, 417, + + 417, 417, 341, 341, 341, 341, 343, 344, 344, 344, + 344, 419, 419, 419, 419, 416, 335, 218, 335, 335, + 976, 976, 336, 976, 337, 338, 339, 339, 339, 339, + 218, 218, 218, 218, 976, 976, 219, 976, 750, 753, + 341, 341, 341, 341, 420, 420, 420, 420, 875, 976, + 421, 976, 976, 343, 344, 344, 344, 344, 976, 976, + 976, 422, 423, 423, 423, 423, 875, 424, 425, 424, + 424, 976, 976, 426, 352, 352, 352, 352, 976, 422, + 346, 224, 346, 346, 427, 976, 347, 976, 348, 349, + 350, 350, 350, 350, 976, 364, 364, 364, 364, 976, + + 976, 976, 427, 224, 224, 224, 224, 976, 976, 225, + 976, 976, 976, 352, 352, 352, 352, 365, 365, 365, + 365, 976, 976, 366, 976, 436, 437, 438, 438, 438, + 438, 440, 365, 440, 440, 976, 976, 441, 976, 442, + 443, 444, 444, 444, 444, 445, 445, 976, 446, 446, + 446, 446, 369, 370, 369, 369, 976, 976, 371, 976, + 976, 976, 368, 368, 368, 368, 976, 460, 461, 372, + 462, 462, 462, 462, 976, 375, 375, 375, 375, 476, + 476, 976, 477, 477, 477, 477, 976, 372, 447, 448, + 449, 449, 449, 449, 976, 976, 976, 250, 384, 384, + + 384, 384, 976, 494, 494, 385, 495, 495, 495, 495, + 437, 438, 438, 438, 438, 250, 370, 370, 370, 370, + 976, 976, 450, 385, 451, 452, 453, 453, 453, 453, + 455, 370, 455, 455, 976, 976, 456, 976, 457, 458, + 459, 459, 459, 459, 464, 465, 465, 465, 466, 466, + 466, 466, 466, 508, 508, 976, 509, 509, 509, 509, + 535, 535, 976, 536, 536, 536, 536, 976, 466, 466, + 466, 376, 376, 376, 376, 976, 976, 377, 976, 467, + 468, 469, 469, 469, 469, 471, 376, 471, 471, 976, + 976, 472, 976, 473, 474, 475, 475, 475, 475, 380, + + 381, 380, 380, 976, 976, 382, 976, 976, 976, 379, + 379, 379, 379, 976, 562, 562, 383, 563, 563, 563, + 563, 415, 415, 415, 415, 976, 580, 580, 416, 581, + 581, 581, 581, 976, 383, 478, 479, 480, 480, 480, + 480, 976, 976, 976, 274, 976, 416, 594, 594, 976, + 595, 595, 595, 595, 617, 617, 617, 617, 619, 619, + 619, 619, 274, 381, 381, 381, 381, 976, 976, 481, + 976, 482, 483, 484, 484, 484, 484, 486, 381, 486, + 486, 976, 976, 487, 976, 488, 489, 490, 490, 490, + 490, 275, 169, 275, 275, 976, 976, 276, 491, 492, + + 976, 493, 493, 493, 493, 976, 976, 976, 274, 446, + 446, 446, 446, 976, 976, 437, 438, 438, 438, 438, + 976, 976, 976, 618, 976, 976, 274, 288, 183, 288, + 288, 976, 976, 289, 976, 290, 291, 386, 386, 386, + 386, 618, 976, 976, 387, 452, 453, 453, 453, 453, + 623, 623, 623, 623, 625, 625, 625, 625, 462, 462, + 462, 462, 387, 288, 183, 288, 288, 976, 976, 289, + 496, 497, 291, 498, 498, 498, 498, 389, 389, 389, + 389, 976, 976, 390, 976, 976, 976, 388, 388, 388, + 388, 976, 976, 976, 391, 462, 462, 462, 462, 468, + + 469, 469, 469, 469, 627, 627, 627, 627, 631, 631, + 631, 631, 391, 389, 389, 389, 389, 976, 976, 390, + 976, 499, 500, 501, 501, 501, 501, 503, 389, 503, + 503, 976, 976, 504, 976, 505, 506, 507, 507, 507, + 507, 393, 394, 393, 393, 976, 976, 395, 976, 301, + 302, 392, 392, 392, 392, 976, 976, 976, 396, 477, + 477, 477, 477, 483, 484, 484, 484, 484, 641, 641, + 641, 641, 644, 644, 644, 644, 396, 393, 394, 393, + 393, 976, 976, 395, 976, 510, 511, 512, 512, 512, + 512, 394, 394, 394, 394, 976, 976, 513, 976, 514, + + 515, 516, 516, 516, 516, 518, 394, 518, 518, 976, + 976, 519, 976, 520, 521, 522, 522, 522, 522, 299, + 189, 299, 299, 976, 976, 300, 523, 524, 302, 525, + 525, 525, 525, 398, 398, 398, 398, 976, 976, 399, + 976, 976, 976, 397, 397, 397, 397, 976, 976, 976, + 400, 493, 493, 493, 493, 493, 493, 493, 493, 495, + 495, 495, 495, 495, 495, 495, 495, 976, 400, 398, + 398, 398, 398, 976, 976, 399, 976, 526, 527, 528, + 528, 528, 528, 530, 398, 530, 530, 976, 976, 531, + 976, 532, 533, 534, 534, 534, 534, 402, 403, 402, + + 402, 976, 976, 404, 976, 312, 313, 401, 401, 401, + 401, 976, 976, 976, 405, 500, 501, 501, 501, 501, + 648, 648, 648, 648, 650, 650, 650, 650, 509, 509, + 509, 509, 405, 402, 403, 402, 402, 976, 976, 404, + 976, 537, 538, 539, 539, 539, 539, 403, 403, 403, + 403, 976, 976, 540, 976, 541, 542, 543, 543, 543, + 543, 545, 403, 545, 545, 976, 976, 546, 976, 547, + 548, 549, 549, 549, 549, 310, 195, 310, 310, 976, + 976, 311, 550, 551, 313, 552, 552, 552, 552, 407, + 407, 407, 407, 976, 976, 408, 976, 976, 976, 406, + + 406, 406, 406, 976, 976, 976, 409, 515, 516, 516, + 516, 516, 654, 654, 654, 654, 656, 656, 656, 656, + 525, 525, 525, 525, 409, 407, 407, 407, 407, 976, + 976, 408, 976, 553, 554, 555, 555, 555, 555, 557, + 407, 557, 557, 976, 976, 558, 976, 559, 560, 561, + 561, 561, 561, 411, 412, 411, 411, 976, 976, 413, + 976, 326, 327, 410, 410, 410, 410, 976, 976, 976, + 414, 525, 525, 525, 525, 527, 528, 528, 528, 528, + 658, 658, 658, 658, 660, 660, 660, 660, 414, 411, + 412, 411, 411, 976, 976, 413, 976, 564, 565, 566, + + 566, 566, 566, 412, 412, 412, 412, 976, 976, 567, + 976, 568, 569, 570, 570, 570, 570, 572, 412, 572, + 572, 976, 976, 573, 976, 574, 575, 576, 576, 576, + 576, 324, 208, 324, 324, 976, 976, 325, 577, 578, + 327, 579, 579, 579, 579, 335, 218, 335, 335, 976, + 976, 336, 976, 337, 338, 417, 417, 417, 417, 976, + 976, 976, 418, 536, 536, 536, 536, 976, 632, 633, + 632, 632, 976, 976, 634, 542, 543, 543, 543, 543, + 418, 335, 218, 335, 335, 635, 976, 336, 582, 583, + 338, 584, 584, 584, 584, 420, 420, 420, 420, 976, + + 976, 421, 976, 635, 976, 419, 419, 419, 419, 976, + 976, 976, 422, 664, 664, 664, 664, 666, 666, 666, + 666, 552, 552, 552, 552, 552, 552, 552, 552, 976, + 422, 420, 420, 420, 420, 976, 976, 421, 976, 585, + 586, 587, 587, 587, 587, 589, 420, 589, 589, 976, + 976, 590, 976, 591, 592, 593, 593, 593, 593, 424, + 425, 424, 424, 976, 976, 426, 976, 348, 349, 423, + 423, 423, 423, 976, 976, 976, 427, 554, 555, 555, + 555, 555, 668, 668, 668, 668, 672, 672, 672, 672, + 563, 563, 563, 563, 427, 424, 425, 424, 424, 976, + + 976, 426, 976, 596, 597, 598, 598, 598, 598, 425, + 425, 425, 425, 976, 976, 599, 976, 600, 601, 602, + 602, 602, 602, 604, 425, 604, 604, 976, 976, 605, + 976, 606, 607, 608, 608, 608, 608, 346, 224, 346, + 346, 976, 976, 347, 609, 610, 349, 611, 611, 611, + 611, 440, 365, 440, 440, 976, 976, 441, 976, 442, + 443, 444, 444, 444, 444, 440, 365, 440, 440, 976, + 976, 441, 976, 442, 443, 444, 444, 444, 444, 365, + 365, 365, 365, 976, 976, 366, 976, 976, 976, 446, + 446, 446, 446, 251, 153, 251, 251, 976, 976, 252, + + 976, 253, 448, 449, 449, 449, 449, 251, 153, 251, + 251, 976, 976, 252, 976, 253, 254, 621, 621, 621, + 621, 369, 370, 369, 369, 976, 976, 371, 976, 976, + 448, 449, 449, 449, 449, 976, 976, 976, 622, 569, + 570, 570, 570, 570, 645, 638, 645, 645, 976, 976, + 646, 682, 682, 682, 682, 976, 622, 455, 370, 455, + 455, 647, 976, 456, 976, 457, 458, 459, 459, 459, + 459, 365, 365, 365, 365, 976, 976, 366, 976, 647, + 452, 453, 453, 453, 453, 976, 976, 976, 624, 685, + 685, 685, 685, 976, 976, 254, 462, 462, 462, 462, + + 976, 976, 976, 372, 976, 976, 624, 455, 370, 455, + 455, 976, 976, 456, 976, 457, 458, 459, 459, 459, + 459, 372, 263, 264, 161, 264, 264, 263, 263, 265, + 263, 266, 263, 464, 465, 465, 465, 466, 466, 466, + 466, 466, 263, 263, 263, 263, 263, 263, 263, 263, + 263, 263, 263, 374, 263, 263, 263, 466, 466, 466, + 263, 263, 263, 263, 263, 263, 263, 263, 263, 374, + 628, 628, 628, 628, 976, 976, 629, 976, 976, 468, + 469, 469, 469, 469, 976, 976, 976, 630, 579, 579, + 579, 579, 579, 579, 579, 579, 581, 581, 581, 581, + + 581, 581, 581, 581, 976, 630, 471, 376, 471, 471, + 976, 976, 472, 976, 473, 474, 475, 475, 475, 475, + 471, 376, 471, 471, 976, 976, 472, 976, 473, 474, + 475, 475, 475, 475, 376, 376, 376, 376, 976, 976, + 377, 976, 976, 976, 477, 477, 477, 477, 275, 169, + 275, 275, 976, 976, 276, 976, 277, 479, 480, 480, + 480, 480, 275, 169, 275, 275, 976, 976, 276, 976, + 277, 278, 636, 636, 636, 636, 637, 638, 637, 637, + 976, 976, 639, 976, 976, 479, 480, 480, 480, 480, + 976, 976, 976, 640, 586, 587, 587, 587, 587, 673, + + 674, 673, 673, 976, 976, 675, 689, 689, 689, 689, + 976, 640, 486, 381, 486, 486, 676, 976, 487, 976, + 488, 489, 490, 490, 490, 490, 633, 633, 633, 633, + 976, 976, 642, 976, 676, 483, 484, 484, 484, 484, + 976, 976, 976, 643, 691, 691, 691, 691, 976, 686, + 679, 686, 686, 976, 976, 687, 595, 595, 595, 595, + 976, 643, 486, 381, 486, 486, 688, 976, 487, 976, + 488, 489, 490, 490, 490, 490, 380, 381, 380, 380, + 976, 976, 382, 976, 688, 976, 493, 493, 493, 493, + 976, 976, 976, 383, 601, 602, 602, 602, 602, 695, + + 695, 695, 695, 697, 697, 697, 697, 611, 611, 611, + 611, 383, 288, 183, 288, 288, 976, 976, 289, 976, + 290, 291, 498, 498, 498, 498, 288, 183, 288, 288, + 976, 976, 289, 976, 290, 291, 498, 498, 498, 498, + 500, 501, 501, 501, 501, 976, 976, 976, 649, 611, + 611, 611, 611, 704, 704, 976, 705, 705, 705, 705, + 705, 705, 705, 705, 976, 976, 649, 503, 389, 503, + 503, 976, 976, 504, 976, 505, 506, 507, 507, 507, + 507, 503, 389, 503, 503, 976, 976, 504, 976, 505, + 506, 507, 507, 507, 507, 389, 389, 389, 389, 976, + + 976, 390, 976, 976, 976, 509, 509, 509, 509, 299, + 189, 299, 299, 976, 976, 300, 976, 301, 511, 512, + 512, 512, 512, 299, 189, 299, 299, 976, 976, 300, + 976, 301, 302, 652, 652, 652, 652, 393, 394, 393, + 393, 976, 976, 395, 976, 976, 511, 512, 512, 512, + 512, 976, 976, 976, 653, 617, 617, 617, 617, 976, + 712, 712, 618, 713, 713, 713, 713, 705, 705, 705, + 705, 976, 653, 518, 394, 518, 518, 976, 976, 519, + 618, 520, 521, 522, 522, 522, 522, 389, 389, 389, + 389, 976, 976, 390, 976, 976, 515, 516, 516, 516, + + 516, 976, 726, 726, 655, 727, 727, 727, 727, 976, + 976, 302, 525, 525, 525, 525, 976, 976, 976, 396, + 976, 976, 655, 518, 394, 518, 518, 976, 976, 519, + 976, 520, 521, 522, 522, 522, 522, 396, 527, 528, + 528, 528, 528, 976, 759, 759, 659, 760, 760, 760, + 760, 767, 767, 976, 768, 768, 768, 768, 713, 713, + 713, 713, 976, 976, 659, 530, 398, 530, 530, 976, + 976, 531, 976, 532, 533, 534, 534, 534, 534, 530, + 398, 530, 530, 976, 976, 531, 976, 532, 533, 534, + 534, 534, 534, 398, 398, 398, 398, 976, 976, 399, + + 976, 976, 976, 536, 536, 536, 536, 310, 195, 310, + 310, 976, 976, 311, 976, 312, 538, 539, 539, 539, + 539, 310, 195, 310, 310, 976, 976, 311, 976, 312, + 313, 662, 662, 662, 662, 402, 403, 402, 402, 976, + 976, 404, 976, 976, 538, 539, 539, 539, 539, 976, + 976, 976, 663, 648, 648, 648, 648, 976, 775, 775, + 649, 776, 776, 776, 776, 718, 719, 719, 719, 719, + 663, 545, 403, 545, 545, 976, 976, 546, 649, 547, + 548, 549, 549, 549, 549, 398, 398, 398, 398, 976, + 976, 399, 976, 976, 542, 543, 543, 543, 543, 976, + + 780, 780, 665, 781, 781, 781, 781, 976, 976, 313, + 552, 552, 552, 552, 976, 976, 976, 405, 976, 976, + 665, 545, 403, 545, 545, 976, 976, 546, 976, 547, + 548, 549, 549, 549, 549, 405, 669, 669, 669, 669, + 976, 976, 670, 976, 976, 554, 555, 555, 555, 555, + 976, 976, 976, 671, 658, 658, 658, 658, 976, 788, + 788, 659, 789, 789, 789, 789, 860, 860, 860, 860, + 976, 671, 557, 407, 557, 557, 976, 976, 558, 659, + 559, 560, 561, 561, 561, 561, 557, 407, 557, 557, + 976, 976, 558, 976, 559, 560, 561, 561, 561, 561, + + 407, 407, 407, 407, 976, 976, 408, 976, 976, 976, + 563, 563, 563, 563, 324, 208, 324, 324, 976, 976, + 325, 976, 326, 565, 566, 566, 566, 566, 324, 208, + 324, 324, 976, 976, 325, 976, 326, 327, 677, 677, + 677, 677, 678, 679, 678, 678, 976, 976, 680, 976, + 976, 565, 566, 566, 566, 566, 976, 802, 802, 681, + 803, 803, 803, 803, 835, 835, 976, 836, 836, 836, + 836, 862, 862, 862, 862, 976, 976, 681, 572, 412, + 572, 572, 976, 976, 573, 976, 574, 575, 576, 576, + 576, 576, 674, 674, 674, 674, 976, 976, 683, 976, + + 976, 569, 570, 570, 570, 570, 976, 976, 976, 684, + 689, 689, 689, 689, 976, 843, 843, 690, 844, 844, + 844, 844, 727, 727, 727, 727, 976, 684, 572, 412, + 572, 572, 976, 976, 573, 690, 574, 575, 576, 576, + 576, 576, 411, 412, 411, 411, 976, 976, 413, 976, + 976, 976, 579, 579, 579, 579, 976, 851, 851, 414, + 852, 852, 852, 852, 732, 733, 733, 733, 733, 866, + 866, 866, 866, 868, 868, 868, 868, 414, 335, 218, + 335, 335, 976, 976, 336, 976, 337, 338, 584, 584, + 584, 584, 335, 218, 335, 335, 976, 976, 336, 976, + + 337, 338, 584, 584, 584, 584, 586, 587, 587, 587, + 587, 976, 976, 976, 690, 742, 742, 742, 742, 742, + 742, 742, 742, 748, 749, 749, 749, 749, 872, 872, + 872, 872, 690, 589, 420, 589, 589, 976, 976, 590, + 976, 591, 592, 593, 593, 593, 593, 589, 420, 589, + 589, 976, 976, 590, 976, 591, 592, 593, 593, 593, + 593, 420, 420, 420, 420, 976, 976, 421, 976, 976, + 976, 595, 595, 595, 595, 346, 224, 346, 346, 976, + 976, 347, 976, 348, 597, 598, 598, 598, 598, 346, + 224, 346, 346, 976, 976, 347, 976, 348, 349, 693, + + 693, 693, 693, 424, 425, 424, 424, 976, 976, 426, + 976, 976, 597, 598, 598, 598, 598, 976, 976, 976, + 694, 874, 874, 874, 874, 976, 369, 370, 369, 369, + 976, 976, 371, 758, 758, 758, 758, 976, 694, 604, + 425, 604, 604, 372, 976, 605, 976, 606, 607, 608, + 608, 608, 608, 420, 420, 420, 420, 976, 976, 421, + 976, 372, 601, 602, 602, 602, 602, 976, 976, 976, + 696, 758, 758, 758, 758, 976, 976, 349, 611, 611, + 611, 611, 976, 976, 976, 427, 976, 976, 696, 604, + 425, 604, 604, 976, 976, 605, 976, 606, 607, 608, + + 608, 608, 608, 427, 440, 365, 440, 440, 976, 976, + 441, 976, 442, 443, 619, 619, 619, 619, 976, 976, + 976, 620, 760, 760, 760, 760, 766, 766, 766, 766, + 766, 766, 766, 766, 768, 768, 768, 768, 976, 620, + 440, 365, 440, 440, 976, 976, 441, 706, 707, 443, + 708, 708, 708, 708, 369, 370, 369, 369, 976, 976, + 371, 976, 253, 254, 621, 621, 621, 621, 976, 976, + 976, 622, 768, 768, 768, 768, 976, 393, 394, 393, + 393, 976, 976, 395, 776, 776, 776, 776, 976, 622, + 251, 153, 251, 251, 396, 976, 252, 709, 710, 254, + + 711, 711, 711, 711, 365, 365, 365, 365, 976, 976, + 366, 976, 396, 976, 623, 623, 623, 623, 976, 976, + 976, 624, 781, 781, 781, 781, 976, 976, 718, 719, + 719, 719, 719, 976, 976, 976, 861, 976, 976, 624, + 455, 370, 455, 455, 976, 976, 456, 976, 457, 458, + 625, 625, 625, 625, 861, 976, 976, 626, 781, 781, + 781, 781, 976, 402, 403, 402, 402, 976, 976, 404, + 789, 789, 789, 789, 976, 626, 455, 370, 455, 455, + 405, 976, 456, 714, 715, 458, 716, 716, 716, 716, + 628, 628, 628, 628, 976, 976, 629, 976, 405, 976, + + 627, 627, 627, 627, 976, 976, 976, 630, 794, 795, + 795, 795, 795, 878, 878, 878, 878, 880, 880, 880, + 880, 803, 803, 803, 803, 630, 628, 628, 628, 628, + 976, 976, 629, 976, 717, 718, 719, 719, 719, 719, + 721, 628, 721, 721, 976, 976, 722, 976, 723, 724, + 725, 725, 725, 725, 632, 633, 632, 632, 976, 976, + 634, 976, 473, 474, 631, 631, 631, 631, 976, 976, + 976, 635, 808, 809, 809, 809, 809, 884, 884, 884, + 884, 886, 886, 886, 886, 818, 818, 818, 818, 635, + 632, 633, 632, 632, 976, 976, 634, 976, 728, 729, + + 730, 730, 730, 730, 633, 633, 633, 633, 976, 976, + 642, 976, 731, 732, 733, 733, 733, 733, 735, 633, + 735, 735, 976, 976, 736, 976, 737, 738, 739, 739, + 739, 739, 471, 376, 471, 471, 976, 976, 472, 740, + 741, 474, 742, 742, 742, 742, 637, 638, 637, 637, + 976, 976, 639, 976, 277, 278, 636, 636, 636, 636, + 976, 976, 976, 640, 818, 818, 818, 818, 824, 825, + 825, 825, 825, 890, 890, 890, 890, 892, 892, 892, + 892, 640, 637, 638, 637, 637, 976, 976, 639, 976, + 743, 744, 745, 745, 745, 745, 638, 638, 638, 638, + + 976, 976, 746, 976, 747, 748, 749, 749, 749, 749, + 751, 638, 751, 751, 976, 976, 752, 976, 753, 754, + 755, 755, 755, 755, 275, 169, 275, 275, 976, 976, + 276, 756, 757, 278, 758, 758, 758, 758, 633, 633, + 633, 633, 976, 976, 642, 976, 976, 976, 641, 641, + 641, 641, 976, 976, 976, 643, 834, 834, 834, 834, + 834, 834, 834, 834, 836, 836, 836, 836, 842, 842, + 842, 842, 976, 643, 735, 633, 735, 735, 976, 976, + 736, 976, 737, 738, 739, 739, 739, 739, 645, 638, + 645, 645, 976, 976, 646, 976, 488, 489, 644, 644, + + 644, 644, 976, 976, 976, 647, 842, 842, 842, 842, + 844, 844, 844, 844, 844, 844, 844, 844, 852, 852, + 852, 852, 976, 647, 645, 638, 645, 645, 976, 976, + 646, 976, 761, 762, 763, 763, 763, 763, 751, 638, + 751, 751, 976, 976, 752, 976, 753, 754, 755, 755, + 755, 755, 486, 381, 486, 486, 976, 976, 487, 764, + 765, 489, 766, 766, 766, 766, 503, 389, 503, 503, + 976, 976, 504, 976, 505, 506, 650, 650, 650, 650, + 976, 899, 899, 651, 900, 900, 900, 900, 907, 907, + 976, 908, 908, 908, 908, 560, 882, 882, 882, 882, + + 976, 651, 503, 389, 503, 503, 976, 976, 504, 769, + 770, 506, 771, 771, 771, 771, 393, 394, 393, 393, + 976, 976, 395, 976, 301, 302, 652, 652, 652, 652, + 976, 915, 915, 653, 916, 916, 916, 916, 976, 424, + 425, 424, 424, 923, 923, 426, 924, 924, 924, 924, + 976, 653, 299, 189, 299, 299, 427, 976, 300, 772, + 773, 302, 774, 774, 774, 774, 389, 389, 389, 389, + 976, 976, 390, 976, 427, 976, 654, 654, 654, 654, + 976, 925, 926, 655, 927, 927, 927, 927, 976, 976, + 474, 742, 742, 742, 742, 976, 976, 976, 635, 976, + + 976, 655, 518, 394, 518, 518, 976, 976, 519, 976, + 520, 521, 656, 656, 656, 656, 635, 928, 929, 657, + 930, 930, 930, 930, 976, 884, 884, 884, 884, 931, + 931, 976, 932, 932, 932, 932, 976, 657, 518, 394, + 518, 518, 976, 976, 519, 777, 778, 521, 779, 779, + 779, 779, 530, 398, 530, 530, 976, 976, 531, 976, + 532, 533, 660, 660, 660, 660, 976, 933, 934, 661, + 935, 935, 935, 935, 327, 888, 888, 888, 888, 936, + 937, 976, 938, 938, 938, 938, 976, 661, 530, 398, + 530, 530, 976, 976, 531, 782, 783, 533, 784, 784, + + 784, 784, 402, 403, 402, 402, 976, 976, 404, 976, + 312, 313, 662, 662, 662, 662, 976, 976, 976, 663, + 976, 890, 890, 890, 890, 939, 939, 976, 940, 940, + 940, 940, 575, 894, 894, 894, 894, 663, 310, 195, + 310, 310, 976, 976, 311, 785, 786, 313, 787, 787, + 787, 787, 398, 398, 398, 398, 976, 976, 399, 976, + 976, 976, 664, 664, 664, 664, 976, 941, 942, 665, + 943, 943, 943, 943, 976, 976, 278, 758, 758, 758, + 758, 976, 976, 976, 383, 976, 976, 665, 545, 403, + 545, 545, 976, 976, 546, 976, 547, 548, 666, 666, + + 666, 666, 383, 944, 945, 667, 946, 946, 946, 946, + 900, 900, 900, 900, 900, 900, 900, 900, 908, 908, + 908, 908, 976, 667, 545, 403, 545, 545, 976, 976, + 546, 790, 791, 548, 792, 792, 792, 792, 669, 669, + 669, 669, 976, 976, 670, 976, 976, 976, 668, 668, + 668, 668, 976, 976, 976, 671, 860, 860, 860, 860, + 976, 976, 976, 861, 916, 916, 916, 916, 924, 924, + 924, 924, 976, 671, 669, 669, 669, 669, 976, 976, + 670, 861, 793, 794, 795, 795, 795, 795, 797, 669, + 797, 797, 976, 976, 798, 976, 799, 800, 801, 801, + + 801, 801, 673, 674, 673, 673, 976, 976, 675, 976, + 559, 560, 672, 672, 672, 672, 976, 976, 976, 676, + 878, 878, 878, 878, 976, 976, 976, 879, 924, 924, + 924, 924, 927, 927, 927, 927, 976, 676, 673, 674, + 673, 673, 976, 976, 675, 879, 804, 805, 806, 806, + 806, 806, 674, 674, 674, 674, 976, 976, 683, 976, + 807, 808, 809, 809, 809, 809, 811, 674, 811, 811, + 976, 976, 812, 976, 813, 814, 815, 815, 815, 815, + 557, 407, 557, 557, 976, 976, 558, 816, 817, 560, + 818, 818, 818, 818, 678, 679, 678, 678, 976, 976, + + 680, 976, 326, 327, 677, 677, 677, 677, 976, 976, + 976, 681, 880, 880, 880, 880, 976, 976, 976, 881, + 927, 927, 927, 927, 930, 930, 930, 930, 976, 681, + 678, 679, 678, 678, 976, 976, 680, 881, 819, 820, + 821, 821, 821, 821, 679, 679, 679, 679, 976, 976, + 822, 976, 823, 824, 825, 825, 825, 825, 827, 679, + 827, 827, 976, 976, 828, 976, 829, 830, 831, 831, + 831, 831, 324, 208, 324, 324, 976, 976, 325, 832, + 833, 327, 834, 834, 834, 834, 674, 674, 674, 674, + 976, 976, 683, 976, 976, 976, 682, 682, 682, 682, + + 976, 976, 976, 684, 886, 886, 886, 886, 976, 976, + 976, 887, 930, 930, 930, 930, 932, 932, 932, 932, + 976, 684, 811, 674, 811, 811, 976, 976, 812, 887, + 813, 814, 815, 815, 815, 815, 686, 679, 686, 686, + 976, 976, 687, 976, 574, 575, 685, 685, 685, 685, + 976, 976, 976, 688, 892, 892, 892, 892, 976, 976, + 976, 893, 935, 935, 935, 935, 935, 935, 935, 935, + 976, 688, 686, 679, 686, 686, 976, 976, 687, 893, + 837, 838, 839, 839, 839, 839, 827, 679, 827, 827, + 976, 976, 828, 976, 829, 830, 831, 831, 831, 831, + + 572, 412, 572, 572, 976, 976, 573, 840, 841, 575, + 842, 842, 842, 842, 589, 420, 589, 589, 976, 976, + 590, 976, 591, 592, 691, 691, 691, 691, 976, 976, + 976, 692, 938, 938, 938, 938, 938, 938, 938, 938, + 940, 940, 940, 940, 940, 940, 940, 940, 976, 692, + 589, 420, 589, 589, 976, 976, 590, 845, 846, 592, + 847, 847, 847, 847, 424, 425, 424, 424, 976, 976, + 426, 976, 348, 349, 693, 693, 693, 693, 976, 976, + 976, 694, 943, 943, 943, 943, 943, 943, 943, 943, + 946, 946, 946, 946, 946, 946, 946, 946, 976, 694, + + 346, 224, 346, 346, 976, 976, 347, 848, 849, 349, + 850, 850, 850, 850, 420, 420, 420, 420, 976, 976, + 421, 976, 976, 976, 695, 695, 695, 695, 976, 976, + 962, 696, 963, 962, 976, 976, 964, 976, 489, 766, + 766, 766, 766, 976, 976, 976, 647, 976, 976, 696, + 604, 425, 604, 604, 976, 976, 605, 976, 606, 607, + 697, 697, 697, 697, 647, 976, 976, 698, 965, 966, + 967, 965, 976, 962, 968, 962, 962, 976, 962, 964, + 962, 962, 976, 976, 964, 698, 604, 425, 604, 604, + 976, 976, 605, 853, 854, 607, 855, 855, 855, 855, + + 440, 365, 440, 440, 976, 976, 441, 976, 442, 443, + 708, 708, 708, 708, 440, 365, 440, 440, 976, 976, + 441, 976, 442, 443, 708, 708, 708, 708, 251, 153, + 251, 251, 976, 976, 252, 976, 253, 254, 711, 711, + 711, 711, 251, 153, 251, 251, 976, 976, 252, 976, + 253, 254, 711, 711, 711, 711, 365, 365, 365, 365, + 976, 976, 366, 976, 976, 976, 713, 713, 713, 713, + 455, 370, 455, 455, 976, 976, 456, 976, 457, 458, + 716, 716, 716, 716, 455, 370, 455, 455, 976, 976, + 456, 976, 457, 458, 716, 716, 716, 716, 721, 628, + + 721, 721, 976, 976, 722, 976, 723, 724, 725, 725, + 725, 725, 721, 628, 721, 721, 976, 976, 722, 976, + 723, 724, 725, 725, 725, 725, 628, 628, 628, 628, + 976, 976, 629, 976, 976, 976, 727, 727, 727, 727, + 471, 376, 471, 471, 976, 976, 472, 976, 473, 729, + 730, 730, 730, 730, 471, 376, 471, 471, 976, 976, + 472, 976, 473, 474, 864, 864, 864, 864, 632, 633, + 632, 632, 976, 976, 634, 976, 976, 729, 730, 730, + 730, 730, 976, 976, 976, 865, 794, 795, 795, 795, + 795, 976, 976, 976, 879, 927, 927, 927, 927, 976, + + 976, 976, 881, 865, 628, 628, 628, 628, 976, 976, + 629, 976, 879, 732, 733, 733, 733, 733, 976, 976, + 881, 867, 935, 935, 935, 935, 976, 976, 970, 887, + 970, 970, 976, 976, 971, 976, 976, 976, 976, 867, + 735, 633, 735, 735, 976, 976, 736, 887, 737, 738, + 739, 739, 739, 739, 735, 633, 735, 735, 976, 976, + 736, 976, 737, 738, 739, 739, 739, 739, 275, 169, + 275, 275, 976, 976, 276, 976, 277, 744, 745, 745, + 745, 745, 275, 169, 275, 275, 976, 976, 276, 976, + 277, 278, 870, 870, 870, 870, 637, 638, 637, 637, + + 976, 976, 639, 976, 976, 744, 745, 745, 745, 745, + 976, 976, 976, 871, 943, 943, 943, 943, 976, 976, + 976, 893, 965, 959, 967, 965, 976, 976, 968, 976, + 976, 871, 751, 638, 751, 751, 976, 976, 752, 893, + 753, 754, 755, 755, 755, 755, 633, 633, 633, 633, + 976, 976, 642, 976, 976, 748, 749, 749, 749, 749, + 976, 976, 962, 873, 963, 962, 976, 976, 964, 965, + 966, 967, 965, 976, 970, 968, 970, 970, 976, 976, + 971, 873, 751, 638, 751, 751, 976, 976, 752, 976, + 753, 754, 755, 755, 755, 755, 633, 633, 633, 633, + + 976, 976, 642, 976, 976, 976, 760, 760, 760, 760, + 486, 381, 486, 486, 976, 976, 487, 976, 488, 762, + 763, 763, 763, 763, 486, 381, 486, 486, 976, 976, + 487, 976, 488, 489, 876, 876, 876, 876, 645, 638, + 645, 645, 976, 976, 646, 976, 976, 762, 763, 763, + 763, 763, 976, 976, 976, 877, 973, 959, 974, 973, + 976, 970, 975, 970, 970, 976, 970, 971, 970, 970, + 976, 976, 971, 877, 503, 389, 503, 503, 976, 976, + 504, 976, 505, 506, 771, 771, 771, 771, 503, 389, + 503, 503, 976, 976, 504, 976, 505, 506, 771, 771, + + 771, 771, 299, 189, 299, 299, 976, 976, 300, 976, + 301, 302, 774, 774, 774, 774, 299, 189, 299, 299, + 976, 976, 300, 976, 301, 302, 774, 774, 774, 774, + 389, 389, 389, 389, 976, 976, 390, 976, 976, 976, + 776, 776, 776, 776, 518, 394, 518, 518, 976, 976, + 519, 976, 520, 521, 779, 779, 779, 779, 518, 394, + 518, 518, 976, 976, 519, 976, 520, 521, 779, 779, + 779, 779, 530, 398, 530, 530, 976, 976, 531, 976, + 532, 533, 784, 784, 784, 784, 530, 398, 530, 530, + 976, 976, 531, 976, 532, 533, 784, 784, 784, 784, + + 310, 195, 310, 310, 976, 976, 311, 976, 312, 313, + 787, 787, 787, 787, 310, 195, 310, 310, 976, 976, + 311, 976, 312, 313, 787, 787, 787, 787, 398, 398, + 398, 398, 976, 976, 399, 976, 976, 976, 789, 789, + 789, 789, 545, 403, 545, 545, 976, 976, 546, 976, + 547, 548, 792, 792, 792, 792, 545, 403, 545, 545, + 976, 976, 546, 976, 547, 548, 792, 792, 792, 792, + 797, 669, 797, 797, 976, 976, 798, 976, 799, 800, + 801, 801, 801, 801, 797, 669, 797, 797, 976, 976, + 798, 976, 799, 800, 801, 801, 801, 801, 669, 669, + + 669, 669, 976, 976, 670, 976, 976, 976, 803, 803, + 803, 803, 557, 407, 557, 557, 976, 976, 558, 976, + 559, 805, 806, 806, 806, 806, 557, 407, 557, 557, + 976, 976, 558, 976, 559, 560, 882, 882, 882, 882, + 673, 674, 673, 673, 976, 976, 675, 976, 976, 805, + 806, 806, 806, 806, 976, 976, 976, 883, 560, 818, + 818, 818, 818, 976, 976, 976, 676, 973, 959, 974, + 973, 976, 976, 975, 976, 883, 669, 669, 669, 669, + 976, 976, 670, 976, 676, 808, 809, 809, 809, 809, + 976, 976, 976, 885, 973, 959, 974, 973, 976, 976, + + 975, 973, 966, 974, 973, 976, 976, 975, 976, 976, + 976, 885, 811, 674, 811, 811, 976, 976, 812, 976, + 813, 814, 815, 815, 815, 815, 811, 674, 811, 811, + 976, 976, 812, 976, 813, 814, 815, 815, 815, 815, + 324, 208, 324, 324, 976, 976, 325, 976, 326, 820, + 821, 821, 821, 821, 324, 208, 324, 324, 976, 976, + 325, 976, 326, 327, 888, 888, 888, 888, 678, 679, + 678, 678, 976, 976, 680, 976, 976, 820, 821, 821, + 821, 821, 976, 976, 976, 889, 973, 959, 974, 973, + 976, 976, 975, 976, 976, 976, 976, 976, 976, 976, + + 976, 976, 976, 889, 827, 679, 827, 827, 976, 976, + 828, 976, 829, 830, 831, 831, 831, 831, 674, 674, + 674, 674, 976, 976, 683, 976, 976, 824, 825, 825, + 825, 825, 976, 976, 976, 891, 976, 976, 976, 976, + 976, 976, 327, 834, 834, 834, 834, 976, 976, 976, + 414, 976, 976, 891, 827, 679, 827, 827, 976, 976, + 828, 976, 829, 830, 831, 831, 831, 831, 414, 674, + 674, 674, 674, 976, 976, 683, 976, 976, 976, 836, + 836, 836, 836, 572, 412, 572, 572, 976, 976, 573, + 976, 574, 838, 839, 839, 839, 839, 572, 412, 572, + + 572, 976, 976, 573, 976, 574, 575, 894, 894, 894, + 894, 686, 679, 686, 686, 976, 976, 687, 976, 976, + 838, 839, 839, 839, 839, 976, 976, 976, 895, 575, + 842, 842, 842, 842, 976, 976, 976, 688, 976, 976, + 976, 976, 976, 976, 976, 976, 895, 976, 976, 976, + 976, 976, 976, 976, 976, 688, 589, 420, 589, 589, + 976, 976, 590, 976, 591, 592, 847, 847, 847, 847, + 589, 420, 589, 589, 976, 976, 590, 976, 591, 592, + 847, 847, 847, 847, 346, 224, 346, 346, 976, 976, + 347, 976, 348, 349, 850, 850, 850, 850, 346, 224, + + 346, 346, 976, 976, 347, 976, 348, 349, 850, 850, + 850, 850, 420, 420, 420, 420, 976, 976, 421, 976, + 976, 976, 852, 852, 852, 852, 604, 425, 604, 604, + 976, 976, 605, 976, 606, 607, 855, 855, 855, 855, + 604, 425, 604, 604, 976, 976, 605, 976, 606, 607, + 855, 855, 855, 855, 721, 628, 721, 721, 976, 976, + 722, 976, 723, 724, 862, 862, 862, 862, 976, 976, + 976, 863, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 863, + 721, 628, 721, 721, 976, 976, 722, 901, 902, 724, + + 903, 903, 903, 903, 632, 633, 632, 632, 976, 976, + 634, 976, 473, 474, 864, 864, 864, 864, 976, 976, + 976, 865, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 865, + 471, 376, 471, 471, 976, 976, 472, 904, 905, 474, + 906, 906, 906, 906, 628, 628, 628, 628, 976, 976, + 629, 976, 976, 976, 866, 866, 866, 866, 976, 976, + 976, 867, 976, 976, 976, 976, 976, 976, 560, 930, + 930, 930, 930, 976, 976, 976, 676, 976, 976, 867, + 735, 633, 735, 735, 976, 976, 736, 976, 737, 738, + + 868, 868, 868, 868, 676, 976, 976, 869, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 869, 735, 633, 735, 735, + 976, 976, 736, 909, 910, 738, 911, 911, 911, 911, + 637, 638, 637, 637, 976, 976, 639, 976, 277, 278, + 870, 870, 870, 870, 976, 976, 976, 871, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 871, 275, 169, 275, 275, + 976, 976, 276, 912, 913, 278, 914, 914, 914, 914, + 633, 633, 633, 633, 976, 976, 642, 976, 976, 976, + + 872, 872, 872, 872, 976, 976, 976, 873, 976, 976, + 976, 976, 976, 976, 327, 938, 938, 938, 938, 976, + 976, 976, 414, 976, 976, 873, 751, 638, 751, 751, + 976, 976, 752, 976, 753, 754, 874, 874, 874, 874, + 414, 976, 976, 875, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 875, 751, 638, 751, 751, 976, 976, 752, 917, + 918, 754, 919, 919, 919, 919, 645, 638, 645, 645, + 976, 976, 646, 976, 488, 489, 876, 876, 876, 876, + 976, 976, 976, 877, 976, 976, 976, 976, 976, 976, + + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 877, 486, 381, 486, 486, 976, 976, 487, 920, + 921, 489, 922, 922, 922, 922, 632, 633, 632, 632, + 976, 976, 634, 470, 473, 976, 976, 976, 976, 976, + 976, 976, 976, 635, 575, 946, 946, 946, 946, 976, + 976, 976, 688, 976, 976, 976, 976, 976, 976, 976, + 976, 635, 628, 628, 628, 628, 976, 976, 629, 976, + 688, 976, 908, 908, 908, 908, 637, 638, 637, 637, + 976, 976, 639, 274, 277, 976, 976, 976, 976, 976, + 976, 976, 976, 383, 976, 976, 976, 976, 976, 976, + + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 383, 633, 633, 633, 633, 976, 976, 642, 976, + 976, 976, 916, 916, 916, 916, 645, 638, 645, 645, + 976, 976, 646, 485, 488, 976, 976, 976, 976, 976, + 976, 976, 976, 647, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 647, 669, 669, 669, 669, 976, 976, 670, 976, + 976, 976, 932, 932, 932, 932, 46, 46, 46, 46, + 46, 46, 46, 46, 81, 81, 81, 81, 81, 81, + 81, 81, 109, 109, 109, 109, 109, 109, 109, 109, + + 119, 119, 119, 119, 119, 119, 119, 119, 130, 130, + 976, 130, 130, 130, 130, 130, 131, 131, 976, 131, + 131, 131, 131, 131, 134, 976, 976, 134, 135, 976, + 976, 135, 172, 976, 976, 172, 976, 172, 172, 172, + 173, 173, 976, 173, 173, 173, 173, 173, 211, 976, + 976, 211, 976, 211, 211, 212, 212, 976, 212, 212, + 212, 212, 212, 227, 227, 976, 227, 976, 227, 227, + 227, 230, 230, 976, 230, 230, 230, 230, 230, 250, + 250, 250, 250, 250, 250, 250, 250, 263, 263, 263, + 263, 263, 263, 263, 263, 269, 269, 976, 976, 269, + + 269, 274, 274, 274, 274, 274, 274, 274, 274, 287, + 287, 287, 287, 287, 287, 287, 287, 298, 298, 298, + 298, 298, 298, 298, 298, 309, 309, 309, 309, 309, + 309, 309, 309, 323, 323, 323, 323, 323, 323, 323, + 323, 212, 212, 976, 212, 212, 212, 212, 212, 334, + 334, 334, 334, 334, 334, 334, 334, 345, 345, 345, + 345, 345, 345, 345, 345, 227, 227, 976, 227, 976, + 227, 227, 227, 230, 230, 976, 230, 230, 230, 230, + 230, 131, 131, 976, 131, 131, 131, 131, 131, 134, + 976, 976, 134, 250, 250, 250, 250, 250, 250, 250, + + 250, 263, 263, 263, 263, 263, 263, 263, 263, 269, + 269, 976, 976, 269, 269, 274, 274, 274, 274, 274, + 274, 274, 274, 439, 439, 439, 439, 439, 439, 439, + 439, 454, 454, 454, 454, 454, 454, 454, 454, 470, + 470, 470, 470, 470, 470, 470, 470, 485, 485, 485, + 485, 485, 485, 485, 485, 287, 287, 287, 287, 287, + 287, 287, 287, 502, 502, 502, 502, 502, 502, 502, + 502, 298, 298, 298, 298, 298, 298, 298, 298, 517, + 517, 517, 517, 517, 517, 517, 517, 529, 529, 529, + 529, 529, 529, 529, 529, 309, 309, 309, 309, 309, + + 309, 309, 309, 544, 544, 544, 544, 544, 544, 544, + 544, 556, 556, 556, 556, 556, 556, 556, 556, 323, + 323, 323, 323, 323, 323, 323, 323, 571, 571, 571, + 571, 571, 571, 571, 571, 334, 334, 334, 334, 334, + 334, 334, 334, 588, 588, 588, 588, 588, 588, 588, + 588, 345, 345, 345, 345, 345, 345, 345, 345, 603, + 603, 603, 603, 603, 603, 603, 603, 131, 131, 976, + 131, 131, 131, 131, 131, 134, 976, 976, 134, 439, + 439, 439, 439, 439, 439, 439, 439, 250, 250, 250, + 250, 250, 250, 250, 250, 454, 454, 454, 454, 454, + + 454, 454, 454, 470, 470, 470, 470, 470, 470, 470, + 470, 274, 274, 274, 274, 274, 274, 274, 274, 485, + 485, 485, 485, 485, 485, 485, 485, 287, 287, 287, + 287, 287, 287, 287, 287, 502, 502, 502, 502, 502, + 502, 502, 502, 298, 298, 298, 298, 298, 298, 298, + 298, 517, 517, 517, 517, 517, 517, 517, 517, 529, + 529, 529, 529, 529, 529, 529, 529, 309, 309, 309, + 309, 309, 309, 309, 309, 544, 544, 544, 544, 544, + 544, 544, 544, 556, 556, 556, 556, 556, 556, 556, + 556, 323, 323, 323, 323, 323, 323, 323, 323, 571, + + 571, 571, 571, 571, 571, 571, 571, 334, 334, 334, + 334, 334, 334, 334, 334, 588, 588, 588, 588, 588, + 588, 588, 588, 345, 345, 345, 345, 345, 345, 345, + 345, 603, 603, 603, 603, 603, 603, 603, 603, 131, + 131, 976, 131, 131, 131, 131, 131, 134, 976, 976, + 134, 439, 439, 439, 439, 439, 439, 439, 439, 250, + 250, 250, 250, 250, 250, 250, 250, 454, 454, 454, + 454, 454, 454, 454, 454, 720, 720, 720, 720, 720, + 720, 720, 720, 470, 470, 470, 470, 470, 470, 470, + 470, 734, 734, 734, 734, 734, 734, 734, 734, 274, + + 274, 274, 274, 274, 274, 274, 274, 750, 750, 750, + 750, 750, 750, 750, 750, 485, 485, 485, 485, 485, + 485, 485, 485, 502, 502, 502, 502, 502, 502, 502, + 502, 298, 298, 298, 298, 298, 298, 298, 298, 517, + 517, 517, 517, 517, 517, 517, 517, 529, 529, 529, + 529, 529, 529, 529, 529, 309, 309, 309, 309, 309, + 309, 309, 309, 544, 544, 544, 544, 544, 544, 544, + 544, 796, 796, 796, 796, 796, 796, 796, 796, 556, + 556, 556, 556, 556, 556, 556, 556, 810, 810, 810, + 810, 810, 810, 810, 810, 323, 323, 323, 323, 323, + + 323, 323, 323, 826, 826, 826, 826, 826, 826, 826, + 826, 571, 571, 571, 571, 571, 571, 571, 571, 588, + 588, 588, 588, 588, 588, 588, 588, 345, 345, 345, + 345, 345, 345, 345, 345, 603, 603, 603, 603, 603, + 603, 603, 603, 131, 131, 976, 131, 131, 131, 131, + 131, 134, 976, 976, 134, 439, 439, 439, 439, 439, + 439, 439, 439, 250, 250, 250, 250, 250, 250, 250, + 250, 454, 454, 454, 454, 454, 454, 454, 454, 720, + 720, 720, 720, 720, 720, 720, 720, 470, 470, 470, + 470, 470, 470, 470, 470, 734, 734, 734, 734, 734, + + 734, 734, 734, 274, 274, 274, 274, 274, 274, 274, + 274, 750, 750, 750, 750, 750, 750, 750, 750, 485, + 485, 485, 485, 485, 485, 485, 485, 502, 502, 502, + 502, 502, 502, 502, 502, 298, 298, 298, 298, 298, + 298, 298, 298, 517, 517, 517, 517, 517, 517, 517, + 517, 529, 529, 529, 529, 529, 529, 529, 529, 309, + 309, 309, 309, 309, 309, 309, 309, 544, 544, 544, + 544, 544, 544, 544, 544, 796, 796, 796, 796, 796, + 796, 796, 796, 556, 556, 556, 556, 556, 556, 556, + 556, 810, 810, 810, 810, 810, 810, 810, 810, 323, + + 323, 323, 323, 323, 323, 323, 323, 826, 826, 826, + 826, 826, 826, 826, 826, 571, 571, 571, 571, 571, + 571, 571, 571, 588, 588, 588, 588, 588, 588, 588, + 588, 345, 345, 345, 345, 345, 345, 345, 345, 603, + 603, 603, 603, 603, 603, 603, 603, 131, 131, 976, + 131, 131, 131, 131, 131, 134, 976, 976, 134, 720, + 720, 720, 720, 720, 720, 720, 720, 470, 470, 470, + 470, 470, 470, 470, 470, 734, 734, 734, 734, 734, + 734, 734, 734, 274, 274, 274, 274, 274, 274, 274, + 274, 750, 750, 750, 750, 750, 750, 750, 750, 485, + + 485, 485, 485, 485, 485, 485, 485, 958, 958, 958, + 958, 958, 958, 958, 958, 969, 969, 976, 969, 969, + 969, 969, 969, 972, 972, 972, 972, 972, 972, 972, + 972, 45, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976 } ; -static yyconst short int yy_chk[8306] = +static yyconst short int yy_chk[8681] = { 0, - 0, 1, 1, 1, 0, 0, 1, 2, 2, 2, - 935, 935, 2, 3, 3, 3, 3, 3, 3, 3, + 0, 1, 1, 1, 1, 0, 1039, 1, 2, 2, + 2, 2, 122, 122, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 5, 5, 5, 61, 61, 5, 6, 6, 6, 423, - 1034, 6, 1014, 423, 47, 47, 47, 5, 5, 47, - 48, 74, 48, 6, 6, 48, 5, 66, 66, 66, - 66, 66, 6, 7, 7, 7, 1010, 74, 7, 1003, + 3, 3, 3, 5, 5, 5, 5, 61, 61, 5, + 9, 9, 9, 9, 9, 9, 66, 66, 66, 66, + 66, 5, 5, 10, 10, 10, 10, 10, 10, 1017, + 5, 6, 6, 6, 6, 229, 229, 6, 11, 11, - 7, 7, 7, 7, 7, 7, 67, 67, 67, 67, - 997, 7, 9, 9, 9, 9, 9, 9, 10, 10, - 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, - 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, - 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, - 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, - 17, 17, 17, 992, 17, 17, 18, 18, 18, 959, - 18, 18, 19, 19, 19, 19, 19, 19, 17, 69, - 69, 69, 69, 69, 18, 20, 20, 20, 20, 20, - 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, + 11, 11, 11, 11, 67, 67, 67, 67, 74, 6, + 6, 12, 12, 12, 12, 12, 12, 1014, 6, 7, + 7, 7, 7, 428, 74, 7, 428, 7, 7, 7, + 7, 7, 7, 69, 69, 69, 69, 69, 7, 13, + 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, + 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, + 16, 16, 16, 17, 17, 17, 17, 354, 17, 17, + 18, 18, 18, 18, 1012, 18, 18, 70, 70, 70, + 70, 354, 17, 19, 19, 19, 19, 19, 19, 18, + 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, - 22, 22, 22, 23, 23, 23, 23, 23, 23, 24, - 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, - 25, 262, 908, 39, 39, 39, 25, 39, 39, 40, - 40, 40, 907, 40, 40, 453, 887, 262, 25, 454, - 25, 26, 26, 26, 26, 26, 26, 886, 51, 51, - 51, 453, 26, 51, 39, 454, 788, 41, 41, 41, - 40, 41, 41, 786, 26, 680, 26, 27, 27, 27, - 27, 27, 27, 936, 936, 42, 42, 42, 27, 42, - 42, 49, 49, 49, 937, 937, 49, 679, 41, 677, - 27, 583, 27, 28, 28, 28, 28, 28, 28, 70, + 21, 21, 22, 22, 22, 22, 22, 22, 23, 23, + 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, + 25, 25, 25, 25, 25, 25, 267, 39, 39, 39, + 39, 25, 39, 39, 40, 40, 40, 40, 49, 40, + 40, 133, 267, 25, 1006, 25, 26, 26, 26, 26, + 26, 26, 47, 856, 47, 47, 856, 26, 47, 39, + 133, 49, 41, 41, 41, 41, 40, 41, 41, 26, + 950, 26, 27, 27, 27, 27, 27, 27, 235, 42, + 42, 42, 42, 27, 42, 42, 230, 230, 71, 71, + 71, 71, 71, 235, 41, 27, 71, 27, 28, 28, - 70, 70, 70, 129, 28, 129, 42, 582, 129, 49, - 71, 71, 71, 71, 71, 581, 28, 580, 28, 29, - 29, 29, 29, 29, 29, 72, 72, 72, 72, 424, - 29, 420, 43, 43, 43, 43, 43, 43, 75, 75, - 75, 75, 29, 43, 29, 30, 30, 30, 30, 30, - 30, 77, 77, 77, 77, 347, 30, 346, 44, 44, - 44, 44, 44, 44, 79, 79, 79, 79, 30, 44, - 30, 31, 31, 31, 31, 31, 31, 78, 78, 78, - 78, 78, 31, 76, 76, 76, 76, 83, 83, 83, - 345, 83, 83, 344, 31, 343, 31, 32, 32, 32, + 28, 28, 28, 28, 72, 72, 72, 72, 950, 28, + 999, 42, 231, 231, 71, 75, 75, 75, 75, 947, + 465, 28, 947, 28, 29, 29, 29, 29, 29, 29, + 77, 77, 77, 77, 994, 29, 465, 43, 43, 43, + 43, 43, 43, 79, 79, 79, 79, 29, 43, 29, + 30, 30, 30, 30, 30, 30, 78, 78, 78, 78, + 78, 30, 952, 44, 44, 44, 44, 44, 44, 86, + 86, 86, 86, 30, 44, 30, 31, 31, 31, 31, + 31, 31, 85, 85, 85, 85, 85, 31, 76, 76, + 76, 76, 83, 949, 83, 83, 432, 83, 83, 31, - 32, 32, 32, 76, 86, 86, 86, 86, 32, 85, - 85, 85, 85, 85, 87, 87, 87, 87, 87, 76, - 32, 342, 32, 33, 33, 33, 340, 33, 33, 88, - 88, 88, 88, 88, 89, 89, 89, 89, 943, 943, - 242, 33, 91, 91, 91, 91, 91, 92, 92, 92, - 92, 944, 944, 33, 241, 33, 34, 34, 34, 240, - 34, 34, 94, 94, 94, 94, 94, 95, 95, 95, - 95, 945, 945, 239, 34, 100, 100, 100, 100, 100, - 101, 101, 101, 101, 951, 951, 34, 238, 34, 35, - 35, 35, 35, 35, 35, 102, 102, 102, 102, 102, + 432, 31, 32, 32, 32, 32, 32, 32, 76, 89, + 89, 89, 89, 32, 87, 87, 87, 87, 87, 948, + 699, 898, 87, 612, 76, 32, 699, 32, 33, 33, + 33, 33, 897, 33, 33, 88, 88, 88, 88, 88, + 87, 91, 91, 91, 91, 91, 612, 33, 92, 92, + 92, 92, 94, 94, 94, 94, 94, 901, 901, 33, + 292, 33, 34, 34, 34, 34, 859, 34, 34, 95, + 95, 95, 95, 100, 100, 100, 100, 100, 292, 902, + 902, 34, 101, 101, 101, 101, 102, 102, 102, 102, + 102, 904, 904, 34, 102, 34, 35, 35, 35, 35, - 35, 103, 103, 103, 103, 105, 105, 105, 105, 952, - 952, 236, 35, 235, 35, 36, 36, 36, 36, 36, - 36, 106, 106, 106, 106, 106, 36, 104, 104, 104, - 104, 107, 107, 107, 107, 953, 953, 234, 36, 233, - 36, 37, 37, 37, 37, 37, 37, 104, 152, 111, - 111, 111, 37, 111, 111, 113, 113, 113, 113, 113, - 120, 120, 120, 104, 37, 120, 37, 38, 38, 38, - 38, 38, 38, 114, 114, 114, 114, 150, 38, 111, - 149, 111, 116, 116, 116, 116, 116, 148, 147, 146, - 38, 144, 38, 68, 68, 68, 143, 142, 68, 140, + 35, 35, 103, 103, 103, 103, 857, 35, 104, 104, + 104, 104, 102, 105, 105, 105, 105, 905, 905, 35, + 703, 35, 36, 36, 36, 36, 36, 36, 104, 107, + 107, 107, 107, 36, 106, 106, 106, 106, 106, 113, + 113, 113, 113, 113, 104, 36, 702, 36, 37, 37, + 37, 37, 37, 37, 339, 111, 700, 111, 111, 37, + 111, 111, 114, 114, 114, 114, 116, 116, 116, 116, + 116, 37, 339, 37, 38, 38, 38, 38, 38, 38, + 117, 117, 117, 117, 616, 38, 111, 120, 111, 120, + 120, 466, 128, 120, 128, 128, 444, 38, 128, 38, - 139, 68, 68, 68, 68, 68, 73, 73, 73, 123, - 112, 73, 97, 84, 65, 73, 73, 73, 73, 117, - 117, 117, 117, 122, 122, 122, 64, 122, 122, 125, - 125, 125, 125, 63, 62, 73, 126, 126, 126, 126, - 127, 127, 127, 127, 128, 128, 128, 60, 59, 128, - 58, 73, 80, 80, 80, 57, 126, 80, 56, 55, - 80, 80, 80, 80, 80, 90, 90, 90, 54, 53, - 90, 45, 126, 90, 90, 90, 90, 90, 93, 93, - 93, 0, 0, 93, 0, 0, 93, 93, 93, 93, - 93, 96, 96, 96, 0, 0, 96, 0, 0, 96, + 68, 68, 68, 68, 459, 615, 68, 466, 953, 68, + 68, 68, 68, 68, 444, 909, 909, 68, 125, 125, + 125, 125, 459, 126, 126, 126, 126, 127, 127, 127, + 127, 150, 150, 150, 150, 68, 73, 73, 73, 73, + 896, 614, 73, 126, 896, 953, 73, 73, 73, 73, + 152, 152, 152, 152, 152, 910, 910, 155, 155, 126, + 155, 155, 155, 155, 912, 912, 73, 156, 156, 156, + 156, 157, 157, 157, 157, 157, 913, 913, 613, 157, + 498, 507, 73, 80, 80, 80, 80, 522, 433, 80, + 917, 917, 80, 80, 80, 80, 80, 157, 498, 507, - 96, 96, 96, 96, 108, 108, 108, 0, 0, 108, - 0, 0, 108, 108, 108, 108, 108, 115, 115, 115, - 0, 0, 115, 0, 0, 115, 115, 115, 115, 115, - 118, 118, 118, 0, 0, 118, 0, 0, 118, 118, - 118, 118, 118, 130, 130, 130, 0, 131, 130, 131, - 0, 132, 131, 132, 0, 0, 132, 133, 133, 133, - 0, 0, 133, 134, 134, 134, 0, 0, 134, 135, - 135, 135, 0, 0, 135, 136, 136, 136, 0, 0, - 136, 153, 153, 153, 153, 158, 158, 158, 158, 159, - 159, 159, 159, 159, 165, 165, 165, 165, 0, 136, + 80, 158, 158, 158, 158, 522, 159, 159, 158, 159, + 159, 159, 159, 164, 164, 164, 164, 429, 80, 90, + 90, 90, 90, 918, 918, 90, 158, 534, 90, 90, + 90, 90, 90, 955, 549, 161, 90, 161, 161, 161, + 161, 163, 163, 163, 163, 534, 362, 163, 166, 166, + 166, 166, 549, 584, 90, 93, 93, 93, 93, 920, + 920, 93, 593, 955, 93, 93, 93, 93, 93, 921, + 921, 584, 93, 168, 168, 168, 168, 168, 171, 171, + 593, 171, 171, 171, 171, 176, 176, 176, 176, 956, + 93, 96, 96, 96, 96, 361, 956, 96, 360, 359, - 155, 155, 155, 0, 0, 155, 0, 0, 0, 155, - 155, 155, 155, 164, 164, 164, 155, 0, 164, 167, - 167, 167, 167, 0, 0, 0, 160, 160, 160, 160, - 0, 0, 0, 160, 155, 156, 156, 156, 0, 0, - 156, 0, 156, 156, 156, 156, 156, 156, 157, 157, - 157, 160, 0, 157, 0, 157, 157, 157, 157, 157, - 157, 162, 162, 162, 0, 0, 162, 0, 162, 0, - 162, 162, 162, 162, 163, 163, 163, 0, 0, 163, - 0, 163, 0, 163, 163, 163, 163, 169, 169, 169, - 0, 0, 169, 0, 0, 0, 169, 169, 169, 169, + 96, 96, 96, 96, 96, 358, 357, 173, 96, 173, + 173, 355, 173, 173, 174, 246, 174, 174, 245, 174, + 174, 180, 180, 180, 180, 608, 96, 108, 108, 108, + 108, 244, 708, 108, 716, 243, 108, 108, 108, 108, + 108, 725, 739, 608, 108, 177, 177, 177, 177, 177, + 708, 242, 716, 177, 178, 178, 178, 178, 240, 725, + 739, 178, 108, 115, 115, 115, 115, 239, 238, 115, + 237, 177, 115, 115, 115, 115, 115, 149, 147, 178, + 115, 179, 179, 146, 179, 179, 179, 179, 182, 182, + 182, 182, 182, 186, 186, 186, 186, 145, 115, 118, - 173, 173, 173, 169, 173, 173, 174, 174, 174, 0, - 174, 174, 176, 176, 176, 176, 177, 177, 177, 177, - 177, 169, 170, 170, 170, 0, 0, 170, 0, 170, - 170, 170, 170, 170, 170, 171, 171, 171, 0, 0, - 171, 0, 171, 171, 171, 171, 171, 171, 178, 178, - 178, 178, 0, 0, 0, 178, 179, 179, 179, 179, - 184, 184, 184, 184, 189, 189, 189, 189, 195, 195, - 195, 195, 0, 178, 181, 181, 181, 0, 0, 181, - 0, 0, 0, 181, 181, 181, 181, 0, 0, 0, - 181, 196, 196, 196, 196, 196, 198, 198, 198, 198, + 118, 118, 118, 144, 143, 118, 141, 140, 118, 118, + 118, 118, 118, 139, 185, 185, 118, 185, 185, 185, + 185, 188, 188, 188, 188, 188, 191, 191, 137, 191, + 191, 191, 191, 136, 118, 153, 153, 153, 153, 132, + 131, 153, 129, 153, 153, 153, 153, 153, 153, 154, + 154, 154, 154, 123, 755, 154, 112, 154, 154, 154, + 154, 154, 154, 162, 162, 162, 162, 97, 84, 162, + 65, 162, 755, 162, 162, 162, 162, 169, 169, 169, + 169, 64, 63, 169, 62, 169, 169, 169, 169, 169, + 169, 170, 170, 170, 170, 60, 59, 170, 58, 170, - 197, 197, 197, 197, 0, 0, 0, 197, 181, 182, - 182, 182, 0, 0, 182, 0, 182, 182, 182, 182, - 182, 182, 183, 183, 183, 197, 0, 183, 0, 183, - 183, 183, 183, 183, 183, 186, 186, 186, 0, 0, - 186, 0, 0, 0, 186, 186, 186, 186, 0, 0, - 0, 186, 200, 200, 200, 200, 0, 206, 206, 206, - 0, 206, 206, 209, 209, 209, 209, 0, 0, 186, - 187, 187, 187, 0, 0, 187, 0, 187, 187, 187, - 187, 187, 187, 188, 188, 188, 0, 206, 188, 206, - 188, 188, 188, 188, 188, 188, 191, 191, 191, 0, + 170, 170, 170, 170, 170, 183, 183, 183, 183, 57, + 56, 183, 55, 183, 183, 183, 183, 183, 183, 184, + 184, 184, 184, 54, 53, 184, 51, 184, 184, 184, + 184, 184, 184, 189, 189, 189, 189, 45, 0, 189, + 0, 189, 189, 189, 189, 189, 189, 190, 190, 190, + 190, 0, 0, 190, 0, 190, 190, 190, 190, 190, + 190, 192, 192, 192, 192, 194, 194, 194, 194, 194, + 195, 195, 195, 195, 0, 0, 195, 0, 195, 195, + 195, 195, 195, 195, 196, 196, 196, 196, 0, 0, + 196, 0, 196, 196, 196, 196, 196, 196, 197, 197, - 0, 191, 0, 0, 0, 191, 191, 191, 191, 0, - 0, 0, 191, 214, 214, 214, 214, 0, 207, 207, - 207, 0, 207, 207, 220, 220, 220, 0, 0, 220, - 191, 192, 192, 192, 0, 0, 192, 0, 192, 192, - 192, 192, 192, 192, 193, 193, 193, 0, 207, 193, - 207, 193, 193, 193, 193, 193, 193, 202, 202, 202, - 0, 0, 202, 0, 0, 0, 202, 202, 202, 202, - 221, 221, 221, 202, 221, 221, 222, 222, 222, 0, - 222, 222, 223, 223, 223, 0, 223, 223, 0, 0, - 0, 202, 203, 203, 203, 0, 0, 203, 0, 203, + 0, 197, 197, 197, 197, 199, 199, 199, 199, 200, + 200, 200, 200, 200, 0, 0, 771, 200, 201, 201, + 201, 201, 779, 202, 202, 201, 202, 202, 202, 202, + 203, 203, 203, 203, 771, 200, 205, 205, 205, 205, + 779, 0, 0, 201, 207, 207, 207, 207, 207, 208, + 208, 208, 208, 0, 0, 208, 0, 208, 208, 208, + 208, 208, 208, 209, 209, 209, 209, 784, 0, 209, + 792, 209, 209, 209, 209, 209, 209, 210, 210, 0, + 210, 210, 210, 210, 212, 784, 212, 212, 792, 212, + 212, 213, 0, 213, 213, 0, 213, 213, 215, 215, - 203, 203, 203, 203, 203, 204, 204, 204, 0, 0, - 204, 0, 204, 204, 204, 204, 204, 204, 211, 211, - 211, 0, 0, 211, 0, 0, 0, 211, 211, 211, - 211, 224, 224, 224, 211, 224, 224, 226, 226, 226, - 226, 228, 229, 228, 229, 0, 228, 229, 245, 245, - 245, 245, 211, 212, 212, 212, 0, 0, 212, 0, - 212, 212, 212, 212, 212, 212, 213, 213, 213, 0, - 0, 213, 0, 213, 213, 213, 213, 213, 213, 215, - 215, 215, 0, 0, 215, 0, 0, 215, 215, 215, - 215, 215, 216, 216, 216, 0, 0, 216, 0, 0, + 215, 215, 217, 217, 217, 217, 217, 220, 220, 0, + 220, 220, 220, 220, 801, 212, 0, 212, 221, 221, + 221, 221, 213, 815, 213, 216, 216, 216, 216, 0, + 0, 216, 801, 0, 216, 216, 216, 216, 216, 0, + 0, 815, 216, 223, 223, 223, 223, 223, 226, 226, + 831, 226, 226, 226, 226, 233, 233, 233, 233, 0, + 216, 218, 218, 218, 218, 0, 0, 218, 831, 218, + 218, 218, 218, 218, 218, 219, 219, 219, 219, 847, + 0, 219, 0, 219, 219, 219, 219, 219, 219, 222, + 222, 222, 222, 0, 0, 222, 0, 847, 222, 222, - 0, 216, 216, 216, 216, 230, 0, 230, 216, 0, - 230, 231, 231, 231, 243, 243, 231, 243, 243, 243, - 243, 244, 244, 244, 244, 244, 216, 217, 217, 217, - 0, 231, 217, 0, 217, 217, 217, 217, 217, 217, - 218, 218, 218, 0, 0, 218, 0, 218, 218, 218, - 218, 218, 218, 246, 246, 246, 0, 0, 246, 0, - 0, 246, 246, 246, 246, 246, 247, 247, 247, 0, - 0, 247, 0, 247, 247, 247, 247, 247, 247, 248, - 248, 248, 0, 0, 248, 0, 248, 248, 248, 248, - 248, 248, 251, 251, 251, 251, 252, 252, 252, 253, + 222, 222, 222, 855, 0, 228, 222, 228, 228, 0, + 0, 228, 247, 247, 247, 247, 247, 248, 248, 248, + 248, 855, 0, 0, 222, 224, 224, 224, 224, 0, + 0, 224, 0, 224, 224, 224, 224, 224, 224, 225, + 225, 225, 225, 0, 0, 225, 0, 225, 225, 225, + 225, 225, 225, 249, 249, 249, 249, 0, 0, 249, + 0, 0, 249, 249, 249, 249, 249, 0, 0, 0, + 249, 254, 254, 254, 254, 256, 256, 256, 256, 258, + 258, 258, 258, 259, 259, 259, 259, 0, 249, 250, + 250, 250, 250, 0, 0, 250, 0, 250, 250, 250, - 253, 252, 253, 253, 253, 253, 254, 254, 254, 254, - 255, 255, 255, 255, 256, 256, 256, 256, 263, 263, - 263, 265, 265, 263, 265, 265, 265, 265, 0, 0, - 255, 266, 266, 266, 266, 266, 267, 267, 267, 267, - 273, 273, 273, 273, 0, 0, 255, 257, 257, 257, - 0, 0, 257, 0, 257, 0, 257, 257, 257, 257, - 258, 258, 258, 0, 0, 258, 0, 258, 0, 258, - 258, 258, 258, 259, 259, 259, 0, 0, 259, 0, - 259, 0, 259, 259, 259, 259, 260, 260, 260, 0, - 0, 260, 0, 260, 0, 260, 260, 260, 260, 261, + 250, 250, 250, 251, 251, 251, 251, 0, 0, 251, + 0, 251, 251, 251, 251, 251, 251, 255, 255, 255, + 255, 0, 0, 255, 260, 260, 260, 260, 262, 262, + 262, 262, 0, 0, 255, 0, 0, 261, 261, 261, + 261, 269, 269, 269, 269, 0, 0, 269, 272, 272, + 272, 272, 255, 257, 257, 257, 257, 261, 0, 257, + 0, 0, 0, 257, 257, 257, 257, 271, 271, 271, + 271, 271, 0, 261, 263, 263, 263, 263, 957, 957, + 263, 0, 263, 957, 263, 263, 263, 263, 264, 264, + 264, 264, 958, 958, 264, 0, 264, 958, 264, 264, - 261, 261, 0, 0, 261, 0, 261, 0, 261, 261, - 261, 261, 274, 274, 274, 275, 275, 274, 275, 275, - 275, 275, 278, 278, 278, 278, 276, 276, 261, 276, - 276, 276, 276, 277, 277, 277, 277, 277, 279, 279, - 279, 279, 279, 0, 261, 268, 268, 268, 0, 0, - 268, 0, 0, 268, 268, 268, 268, 268, 269, 269, - 269, 0, 0, 269, 0, 269, 269, 269, 269, 269, - 269, 270, 270, 270, 0, 0, 270, 0, 270, 270, - 270, 270, 270, 270, 280, 280, 280, 0, 0, 280, - 0, 280, 280, 280, 280, 280, 280, 284, 284, 284, + 264, 264, 273, 273, 273, 273, 0, 0, 273, 0, + 0, 273, 273, 273, 273, 273, 0, 0, 0, 273, + 278, 278, 278, 278, 280, 280, 280, 280, 282, 282, + 282, 282, 283, 283, 283, 283, 0, 273, 274, 274, + 274, 274, 0, 0, 274, 0, 274, 274, 274, 274, + 274, 274, 275, 275, 275, 275, 0, 0, 275, 0, + 275, 275, 275, 275, 275, 275, 279, 279, 279, 279, + 0, 0, 279, 284, 284, 284, 284, 284, 285, 285, + 285, 285, 0, 279, 286, 286, 286, 286, 286, 0, + 0, 0, 286, 291, 291, 291, 291, 293, 293, 293, - 284, 286, 286, 0, 286, 286, 286, 286, 287, 287, - 287, 287, 287, 288, 288, 288, 288, 289, 289, 289, - 0, 0, 289, 0, 0, 289, 289, 289, 289, 289, - 290, 290, 290, 0, 0, 290, 0, 290, 290, 290, - 290, 290, 290, 294, 294, 294, 294, 295, 295, 295, - 296, 296, 295, 296, 296, 296, 296, 297, 297, 297, - 297, 297, 298, 298, 298, 298, 299, 299, 299, 0, - 0, 299, 0, 0, 299, 299, 299, 299, 299, 300, - 300, 300, 0, 0, 300, 0, 300, 300, 300, 300, - 300, 300, 304, 304, 304, 304, 305, 305, 305, 306, + 293, 279, 281, 281, 281, 281, 961, 961, 281, 0, + 286, 961, 281, 281, 281, 281, 287, 287, 287, 287, + 0, 0, 287, 0, 287, 287, 287, 287, 287, 287, + 294, 294, 294, 294, 0, 0, 294, 0, 0, 0, + 294, 294, 294, 294, 295, 295, 295, 295, 295, 296, + 296, 296, 296, 297, 297, 297, 297, 0, 0, 297, + 0, 0, 297, 297, 297, 297, 297, 0, 0, 0, + 297, 302, 302, 302, 302, 0, 303, 303, 303, 303, + 0, 0, 303, 304, 304, 304, 304, 0, 297, 298, + 298, 298, 298, 303, 0, 298, 0, 298, 298, 298, - 306, 305, 306, 306, 306, 306, 308, 308, 0, 308, - 308, 308, 308, 309, 309, 309, 309, 309, 310, 310, - 310, 310, 311, 311, 311, 0, 0, 311, 0, 0, - 311, 311, 311, 311, 311, 312, 312, 312, 0, 0, - 312, 0, 312, 312, 312, 312, 312, 312, 316, 316, - 316, 316, 317, 317, 317, 318, 318, 317, 318, 318, - 318, 318, 319, 319, 319, 319, 319, 320, 320, 320, - 320, 321, 321, 321, 321, 321, 322, 322, 322, 0, - 0, 322, 0, 322, 322, 322, 322, 322, 322, 326, - 326, 326, 326, 328, 328, 0, 328, 328, 328, 328, + 298, 298, 298, 306, 306, 306, 306, 306, 0, 903, + 903, 303, 305, 305, 305, 305, 0, 0, 305, 903, + 0, 0, 305, 305, 305, 305, 307, 307, 307, 307, + 308, 308, 308, 308, 0, 0, 308, 903, 0, 308, + 308, 308, 308, 308, 0, 0, 0, 308, 313, 313, + 313, 313, 0, 314, 314, 314, 314, 0, 0, 314, + 315, 315, 315, 315, 0, 308, 309, 309, 309, 309, + 314, 0, 309, 0, 309, 309, 309, 309, 309, 309, + 317, 317, 317, 317, 318, 318, 318, 318, 314, 316, + 316, 316, 316, 0, 0, 316, 0, 0, 0, 316, - 329, 329, 329, 329, 329, 330, 330, 330, 330, 331, - 331, 331, 0, 0, 331, 0, 0, 331, 331, 331, - 331, 331, 332, 332, 332, 0, 0, 332, 0, 332, - 332, 332, 332, 332, 332, 336, 336, 336, 336, 337, - 337, 337, 0, 0, 337, 339, 339, 339, 0, 0, - 339, 349, 349, 349, 349, 358, 358, 358, 358, 359, - 359, 359, 359, 0, 339, 350, 350, 350, 0, 0, - 350, 0, 0, 0, 350, 350, 350, 350, 351, 351, - 351, 0, 0, 351, 0, 0, 0, 351, 351, 351, - 351, 0, 0, 0, 351, 362, 362, 362, 362, 371, + 316, 316, 316, 320, 320, 320, 320, 320, 321, 321, + 321, 321, 322, 322, 322, 322, 0, 0, 322, 0, + 0, 322, 322, 322, 322, 322, 0, 0, 0, 322, + 327, 327, 327, 327, 0, 328, 328, 328, 328, 0, + 0, 328, 329, 329, 329, 329, 0, 322, 323, 323, + 323, 323, 328, 0, 323, 0, 323, 323, 323, 323, + 323, 323, 331, 331, 331, 331, 331, 0, 911, 911, + 328, 330, 330, 330, 330, 0, 0, 330, 911, 0, + 0, 330, 330, 330, 330, 332, 332, 332, 332, 333, + 333, 333, 333, 333, 0, 0, 911, 333, 338, 338, - 371, 371, 371, 372, 372, 372, 372, 373, 373, 373, - 373, 0, 351, 352, 352, 352, 0, 0, 352, 0, - 352, 352, 352, 352, 352, 352, 353, 353, 353, 0, - 0, 353, 0, 353, 353, 353, 353, 353, 353, 354, - 354, 354, 0, 0, 354, 0, 0, 0, 354, 354, - 354, 354, 0, 0, 0, 354, 375, 375, 375, 375, - 0, 0, 0, 375, 376, 376, 376, 376, 0, 0, - 0, 376, 0, 354, 355, 355, 355, 355, 355, 355, - 0, 375, 0, 355, 377, 377, 377, 377, 0, 376, - 386, 386, 386, 386, 395, 395, 395, 395, 0, 0, + 338, 338, 340, 340, 340, 340, 342, 342, 342, 342, + 342, 343, 343, 343, 343, 333, 334, 334, 334, 334, + 0, 0, 334, 0, 334, 334, 334, 334, 334, 334, + 341, 341, 341, 341, 0, 0, 341, 0, 919, 919, + 341, 341, 341, 341, 344, 344, 344, 344, 919, 0, + 344, 0, 0, 344, 344, 344, 344, 344, 0, 0, + 0, 344, 349, 349, 349, 349, 919, 350, 350, 350, + 350, 0, 0, 350, 351, 351, 351, 351, 0, 344, + 345, 345, 345, 345, 350, 0, 345, 0, 345, 345, + 345, 345, 345, 345, 364, 364, 364, 364, 364, 0, - 0, 355, 356, 356, 356, 0, 0, 356, 0, 356, - 356, 356, 356, 356, 356, 357, 357, 357, 0, 0, - 357, 0, 357, 357, 357, 357, 357, 357, 361, 361, - 361, 361, 361, 361, 361, 361, 361, 396, 396, 396, - 396, 397, 397, 397, 397, 419, 419, 419, 361, 0, - 419, 0, 361, 361, 361, 406, 406, 406, 406, 410, - 410, 410, 410, 0, 361, 363, 363, 363, 0, 0, - 363, 0, 0, 0, 363, 363, 363, 363, 364, 364, - 364, 0, 0, 364, 0, 0, 0, 364, 364, 364, - 364, 0, 427, 427, 364, 427, 427, 427, 427, 428, + 0, 0, 350, 352, 352, 352, 352, 0, 0, 352, + 0, 0, 0, 352, 352, 352, 352, 365, 365, 365, + 365, 0, 0, 365, 0, 365, 365, 365, 365, 365, + 365, 366, 366, 366, 366, 0, 0, 366, 0, 366, + 366, 366, 366, 366, 366, 367, 367, 0, 367, 367, + 367, 367, 368, 368, 368, 368, 0, 0, 368, 0, + 0, 0, 368, 368, 368, 368, 0, 372, 372, 368, + 372, 372, 372, 372, 375, 375, 375, 375, 375, 378, + 378, 0, 378, 378, 378, 378, 0, 368, 369, 369, + 369, 369, 369, 369, 0, 0, 0, 369, 384, 384, - 428, 428, 428, 428, 408, 408, 408, 408, 0, 0, - 0, 408, 364, 365, 365, 365, 0, 0, 365, 0, - 365, 365, 365, 365, 365, 365, 366, 366, 366, 408, - 0, 366, 0, 366, 366, 366, 366, 366, 366, 367, - 367, 367, 0, 0, 367, 0, 0, 0, 367, 367, - 367, 367, 0, 0, 0, 367, 429, 429, 429, 429, - 430, 430, 430, 430, 430, 435, 435, 435, 435, 443, - 443, 443, 443, 367, 368, 368, 368, 368, 368, 368, - 0, 0, 0, 368, 439, 439, 439, 439, 439, 440, - 440, 440, 0, 0, 440, 442, 442, 442, 442, 442, + 384, 384, 0, 385, 385, 384, 385, 385, 385, 385, + 436, 436, 436, 436, 436, 369, 370, 370, 370, 370, + 0, 0, 370, 384, 370, 370, 370, 370, 370, 370, + 371, 371, 371, 371, 0, 0, 371, 0, 371, 371, + 371, 371, 371, 371, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 391, 391, 0, 391, 391, 391, 391, + 400, 400, 0, 400, 400, 400, 400, 0, 374, 374, + 374, 376, 376, 376, 376, 0, 0, 376, 0, 376, + 376, 376, 376, 376, 376, 377, 377, 377, 377, 0, + 0, 377, 0, 377, 377, 377, 377, 377, 377, 379, - 0, 368, 369, 369, 369, 0, 0, 369, 0, 369, - 369, 369, 369, 369, 369, 370, 370, 370, 0, 0, - 370, 0, 370, 370, 370, 370, 370, 370, 374, 374, - 374, 0, 0, 374, 0, 0, 0, 374, 374, 374, - 374, 378, 378, 378, 0, 0, 378, 0, 0, 0, - 378, 378, 378, 378, 379, 379, 379, 0, 0, 379, - 0, 0, 0, 379, 379, 379, 379, 0, 0, 0, - 379, 449, 449, 449, 449, 455, 455, 0, 455, 455, - 455, 455, 456, 456, 456, 456, 456, 0, 379, 380, - 380, 380, 0, 0, 380, 0, 380, 380, 380, 380, + 379, 379, 379, 0, 0, 379, 0, 0, 0, 379, + 379, 379, 379, 0, 409, 409, 379, 409, 409, 409, + 409, 415, 415, 415, 415, 0, 416, 416, 415, 416, + 416, 416, 416, 0, 379, 380, 380, 380, 380, 380, + 380, 0, 0, 0, 380, 0, 415, 422, 422, 0, + 422, 422, 422, 422, 437, 437, 437, 437, 443, 443, + 443, 443, 380, 381, 381, 381, 381, 0, 0, 381, + 0, 381, 381, 381, 381, 381, 381, 382, 382, 382, + 382, 0, 0, 382, 0, 382, 382, 382, 382, 382, + 382, 383, 383, 383, 383, 0, 0, 383, 383, 383, - 380, 380, 381, 381, 381, 0, 0, 381, 0, 381, - 381, 381, 381, 381, 381, 382, 382, 382, 0, 0, - 382, 0, 0, 0, 382, 382, 382, 382, 0, 0, - 0, 382, 457, 457, 457, 457, 463, 463, 463, 463, - 464, 464, 464, 0, 0, 464, 0, 0, 0, 382, - 383, 383, 383, 383, 383, 383, 0, 0, 0, 383, - 467, 467, 467, 467, 467, 468, 468, 468, 0, 0, - 468, 470, 470, 470, 470, 470, 0, 383, 384, 384, - 384, 0, 0, 384, 0, 384, 384, 384, 384, 384, - 384, 385, 385, 385, 0, 0, 385, 0, 385, 385, + 0, 383, 383, 383, 383, 0, 0, 0, 383, 445, + 445, 445, 445, 0, 0, 438, 438, 438, 438, 438, + 0, 0, 0, 438, 0, 0, 383, 386, 386, 386, + 386, 0, 0, 386, 0, 386, 386, 386, 386, 386, + 386, 438, 0, 0, 386, 451, 451, 451, 451, 451, + 452, 452, 452, 452, 458, 458, 458, 458, 460, 460, + 460, 460, 386, 387, 387, 387, 387, 0, 0, 387, + 387, 387, 387, 387, 387, 387, 387, 388, 388, 388, + 388, 0, 0, 388, 0, 0, 0, 388, 388, 388, + 388, 0, 0, 0, 388, 461, 461, 461, 461, 467, - 385, 385, 385, 385, 387, 387, 387, 0, 0, 387, - 0, 0, 0, 387, 387, 387, 387, 388, 388, 388, - 0, 0, 388, 0, 0, 0, 388, 388, 388, 388, - 0, 0, 0, 388, 471, 471, 471, 471, 477, 477, - 477, 477, 478, 478, 478, 0, 0, 478, 0, 0, - 0, 388, 389, 389, 389, 0, 0, 389, 0, 389, - 389, 389, 389, 389, 389, 390, 390, 390, 0, 0, - 390, 0, 390, 390, 390, 390, 390, 390, 391, 391, - 391, 0, 0, 391, 0, 391, 391, 391, 391, 391, - 391, 0, 479, 479, 391, 479, 479, 479, 479, 481, + 467, 467, 467, 467, 468, 468, 468, 468, 474, 474, + 474, 474, 388, 389, 389, 389, 389, 0, 0, 389, + 0, 389, 389, 389, 389, 389, 389, 390, 390, 390, + 390, 0, 0, 390, 0, 390, 390, 390, 390, 390, + 390, 392, 392, 392, 392, 0, 0, 392, 0, 392, + 392, 392, 392, 392, 392, 0, 0, 0, 392, 476, + 476, 476, 476, 482, 482, 482, 482, 482, 483, 483, + 483, 483, 489, 489, 489, 489, 392, 393, 393, 393, + 393, 0, 0, 393, 0, 393, 393, 393, 393, 393, + 393, 394, 394, 394, 394, 0, 0, 394, 0, 394, - 481, 0, 481, 481, 481, 481, 482, 482, 482, 482, - 482, 0, 391, 392, 392, 392, 0, 0, 392, 0, - 392, 392, 392, 392, 392, 392, 393, 393, 393, 0, - 0, 393, 0, 393, 393, 393, 393, 393, 393, 394, - 394, 394, 0, 0, 394, 0, 394, 394, 394, 394, - 394, 394, 398, 398, 398, 0, 0, 398, 0, 0, - 0, 398, 398, 398, 398, 399, 399, 399, 0, 0, - 399, 0, 0, 0, 399, 399, 399, 399, 0, 0, - 0, 399, 483, 483, 483, 483, 484, 484, 484, 484, - 484, 489, 489, 489, 489, 497, 497, 497, 497, 399, + 394, 394, 394, 394, 394, 395, 395, 395, 395, 0, + 0, 395, 0, 395, 395, 395, 395, 395, 395, 396, + 396, 396, 396, 0, 0, 396, 396, 396, 396, 396, + 396, 396, 396, 397, 397, 397, 397, 0, 0, 397, + 0, 0, 0, 397, 397, 397, 397, 0, 0, 0, + 397, 491, 491, 491, 491, 492, 492, 492, 492, 494, + 494, 494, 494, 495, 495, 495, 495, 0, 397, 398, + 398, 398, 398, 0, 0, 398, 0, 398, 398, 398, + 398, 398, 398, 399, 399, 399, 399, 0, 0, 399, + 0, 399, 399, 399, 399, 399, 399, 401, 401, 401, - 400, 400, 400, 0, 0, 400, 0, 400, 400, 400, - 400, 400, 400, 401, 401, 401, 0, 0, 401, 0, - 401, 401, 401, 401, 401, 401, 402, 402, 402, 0, - 0, 402, 0, 402, 402, 402, 402, 402, 402, 0, - 0, 0, 402, 493, 493, 493, 493, 493, 494, 494, - 494, 0, 0, 494, 496, 496, 496, 496, 496, 0, - 402, 403, 403, 403, 0, 0, 403, 0, 403, 403, - 403, 403, 403, 403, 404, 404, 404, 0, 0, 404, - 0, 404, 404, 404, 404, 404, 404, 405, 405, 405, - 0, 0, 405, 0, 405, 405, 405, 405, 405, 405, + 401, 0, 0, 401, 0, 401, 401, 401, 401, 401, + 401, 0, 0, 0, 401, 499, 499, 499, 499, 499, + 500, 500, 500, 500, 506, 506, 506, 506, 508, 508, + 508, 508, 401, 402, 402, 402, 402, 0, 0, 402, + 0, 402, 402, 402, 402, 402, 402, 403, 403, 403, + 403, 0, 0, 403, 0, 403, 403, 403, 403, 403, + 403, 404, 404, 404, 404, 0, 0, 404, 0, 404, + 404, 404, 404, 404, 404, 405, 405, 405, 405, 0, + 0, 405, 405, 405, 405, 405, 405, 405, 405, 406, + 406, 406, 406, 0, 0, 406, 0, 0, 0, 406, - 407, 407, 407, 0, 0, 407, 0, 0, 0, 407, - 407, 407, 407, 409, 409, 409, 0, 0, 409, 0, - 409, 409, 409, 409, 409, 409, 0, 0, 0, 409, - 503, 503, 503, 503, 505, 505, 0, 505, 505, 505, - 505, 506, 506, 506, 506, 506, 0, 409, 411, 411, - 411, 0, 0, 411, 0, 0, 0, 411, 411, 411, - 411, 412, 412, 412, 0, 0, 412, 0, 0, 0, - 412, 412, 412, 412, 0, 0, 0, 412, 507, 507, - 507, 507, 508, 508, 508, 508, 508, 513, 513, 513, - 513, 521, 521, 521, 521, 412, 413, 413, 413, 0, + 406, 406, 406, 0, 0, 0, 406, 514, 514, 514, + 514, 514, 515, 515, 515, 515, 521, 521, 521, 521, + 523, 523, 523, 523, 406, 407, 407, 407, 407, 0, + 0, 407, 0, 407, 407, 407, 407, 407, 407, 408, + 408, 408, 408, 0, 0, 408, 0, 408, 408, 408, + 408, 408, 408, 410, 410, 410, 410, 0, 0, 410, + 0, 410, 410, 410, 410, 410, 410, 0, 0, 0, + 410, 524, 524, 524, 524, 526, 526, 526, 526, 526, + 527, 527, 527, 527, 533, 533, 533, 533, 410, 411, + 411, 411, 411, 0, 0, 411, 0, 411, 411, 411, - 0, 413, 0, 413, 413, 413, 413, 413, 413, 414, - 414, 414, 0, 0, 414, 0, 414, 414, 414, 414, - 414, 414, 415, 415, 415, 0, 0, 415, 0, 415, - 415, 415, 415, 415, 415, 0, 0, 0, 415, 517, - 517, 517, 517, 517, 518, 518, 518, 0, 0, 518, - 520, 520, 520, 520, 520, 0, 415, 416, 416, 416, - 0, 0, 416, 0, 416, 416, 416, 416, 416, 416, - 417, 417, 417, 0, 0, 417, 0, 417, 417, 417, - 417, 417, 417, 418, 418, 418, 0, 0, 418, 0, - 418, 418, 418, 418, 418, 418, 431, 431, 431, 0, + 411, 411, 411, 412, 412, 412, 412, 0, 0, 412, + 0, 412, 412, 412, 412, 412, 412, 413, 413, 413, + 413, 0, 0, 413, 0, 413, 413, 413, 413, 413, + 413, 414, 414, 414, 414, 0, 0, 414, 414, 414, + 414, 414, 414, 414, 414, 417, 417, 417, 417, 0, + 0, 417, 0, 417, 417, 417, 417, 417, 417, 0, + 0, 0, 417, 535, 535, 535, 535, 0, 475, 475, + 475, 475, 0, 0, 475, 541, 541, 541, 541, 541, + 417, 418, 418, 418, 418, 475, 0, 418, 418, 418, + 418, 418, 418, 418, 418, 419, 419, 419, 419, 0, - 0, 431, 0, 431, 431, 431, 431, 431, 431, 432, - 432, 432, 0, 0, 432, 0, 432, 432, 432, 432, - 432, 432, 437, 437, 437, 0, 0, 437, 437, 437, - 437, 437, 437, 437, 437, 438, 438, 438, 0, 0, - 438, 0, 438, 438, 438, 438, 438, 438, 441, 441, - 441, 0, 0, 441, 0, 441, 441, 441, 441, 441, - 441, 444, 444, 444, 0, 0, 444, 0, 0, 444, - 444, 444, 444, 444, 445, 445, 445, 0, 0, 445, - 0, 445, 445, 445, 445, 445, 445, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, + 0, 419, 0, 475, 0, 419, 419, 419, 419, 0, + 0, 0, 419, 542, 542, 542, 542, 548, 548, 548, + 548, 550, 550, 550, 550, 551, 551, 551, 551, 0, + 419, 420, 420, 420, 420, 0, 0, 420, 0, 420, + 420, 420, 420, 420, 420, 421, 421, 421, 421, 0, + 0, 421, 0, 421, 421, 421, 421, 421, 421, 423, + 423, 423, 423, 0, 0, 423, 0, 423, 423, 423, + 423, 423, 423, 0, 0, 0, 423, 553, 553, 553, + 553, 553, 554, 554, 554, 554, 560, 560, 560, 560, + 562, 562, 562, 562, 423, 424, 424, 424, 424, 0, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 458, 458, 458, 0, 0, 458, - 0, 0, 458, 458, 458, 458, 458, 459, 459, 459, - 0, 0, 459, 0, 459, 459, 459, 459, 459, 459, - 460, 460, 460, 0, 0, 460, 0, 460, 460, 460, - 460, 460, 460, 465, 465, 465, 0, 0, 465, 465, - 465, 465, 465, 465, 465, 465, 466, 466, 466, 0, - 0, 466, 0, 466, 466, 466, 466, 466, 466, 469, + 0, 424, 0, 424, 424, 424, 424, 424, 424, 425, + 425, 425, 425, 0, 0, 425, 0, 425, 425, 425, + 425, 425, 425, 426, 426, 426, 426, 0, 0, 426, + 0, 426, 426, 426, 426, 426, 426, 427, 427, 427, + 427, 0, 0, 427, 427, 427, 427, 427, 427, 427, + 427, 439, 439, 439, 439, 0, 0, 439, 0, 439, + 439, 439, 439, 439, 439, 440, 440, 440, 440, 0, + 0, 440, 0, 440, 440, 440, 440, 440, 440, 446, + 446, 446, 446, 0, 0, 446, 0, 0, 0, 446, + 446, 446, 446, 447, 447, 447, 447, 0, 0, 447, - 469, 469, 0, 0, 469, 0, 469, 469, 469, 469, - 469, 469, 472, 472, 472, 0, 0, 472, 0, 0, - 472, 472, 472, 472, 472, 473, 473, 473, 0, 0, - 473, 0, 473, 473, 473, 473, 473, 473, 480, 480, - 480, 0, 0, 480, 480, 480, 480, 480, 480, 480, - 480, 485, 485, 485, 0, 0, 485, 0, 485, 485, - 485, 485, 485, 485, 486, 486, 486, 0, 0, 486, - 0, 486, 486, 486, 486, 486, 486, 491, 491, 491, - 0, 0, 491, 491, 491, 491, 491, 491, 491, 491, - 492, 492, 492, 0, 0, 492, 0, 492, 492, 492, + 0, 447, 447, 447, 447, 447, 447, 448, 448, 448, + 448, 0, 0, 448, 0, 448, 448, 448, 448, 448, + 448, 449, 449, 449, 449, 0, 0, 449, 0, 0, + 449, 449, 449, 449, 449, 0, 0, 0, 449, 568, + 568, 568, 568, 568, 490, 490, 490, 490, 0, 0, + 490, 569, 569, 569, 569, 0, 449, 450, 450, 450, + 450, 490, 0, 450, 0, 450, 450, 450, 450, 450, + 450, 453, 453, 453, 453, 0, 0, 453, 0, 490, + 453, 453, 453, 453, 453, 0, 0, 0, 453, 575, + 575, 575, 575, 0, 0, 462, 462, 462, 462, 462, - 492, 492, 492, 495, 495, 495, 0, 0, 495, 0, - 495, 495, 495, 495, 495, 495, 498, 498, 498, 0, - 0, 498, 0, 0, 498, 498, 498, 498, 498, 499, - 499, 499, 0, 0, 499, 0, 499, 499, 499, 499, - 499, 499, 509, 509, 509, 0, 0, 509, 0, 509, - 509, 509, 509, 509, 509, 510, 510, 510, 0, 0, - 510, 0, 510, 510, 510, 510, 510, 510, 515, 515, - 515, 0, 0, 515, 515, 515, 515, 515, 515, 515, - 515, 516, 516, 516, 0, 0, 516, 0, 516, 516, - 516, 516, 516, 516, 519, 519, 519, 0, 0, 519, + 0, 0, 0, 462, 0, 0, 453, 454, 454, 454, + 454, 0, 0, 454, 0, 454, 454, 454, 454, 454, + 454, 462, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 469, 469, 469, 469, 0, 0, 469, 0, 0, 469, + 469, 469, 469, 469, 0, 0, 0, 469, 577, 577, + 577, 577, 578, 578, 578, 578, 580, 580, 580, 580, - 0, 519, 519, 519, 519, 519, 519, 522, 522, 522, - 0, 0, 522, 0, 0, 522, 522, 522, 522, 522, - 523, 523, 523, 0, 0, 523, 0, 523, 523, 523, - 523, 523, 523, 527, 527, 527, 527, 529, 529, 0, - 529, 529, 529, 529, 530, 530, 530, 530, 530, 531, - 531, 531, 531, 532, 532, 532, 0, 0, 532, 0, - 0, 532, 532, 532, 532, 532, 533, 533, 533, 0, - 0, 533, 0, 533, 533, 533, 533, 533, 533, 534, - 534, 534, 0, 0, 534, 0, 534, 534, 534, 534, - 534, 534, 537, 537, 537, 537, 538, 538, 538, 0, + 581, 581, 581, 581, 0, 469, 470, 470, 470, 470, + 0, 0, 470, 0, 470, 470, 470, 470, 470, 470, + 471, 471, 471, 471, 0, 0, 471, 0, 471, 471, + 471, 471, 471, 471, 477, 477, 477, 477, 0, 0, + 477, 0, 0, 0, 477, 477, 477, 477, 478, 478, + 478, 478, 0, 0, 478, 0, 478, 478, 478, 478, + 478, 478, 479, 479, 479, 479, 0, 0, 479, 0, + 479, 479, 479, 479, 479, 479, 480, 480, 480, 480, + 0, 0, 480, 0, 0, 480, 480, 480, 480, 480, + 0, 0, 0, 480, 585, 585, 585, 585, 585, 561, - 0, 538, 539, 539, 539, 0, 0, 539, 539, 539, - 539, 539, 539, 539, 539, 540, 540, 540, 0, 0, - 540, 0, 540, 540, 540, 540, 540, 540, 541, 541, - 541, 541, 541, 542, 542, 542, 0, 0, 542, 543, - 543, 543, 0, 0, 543, 0, 543, 543, 543, 543, - 543, 543, 544, 544, 544, 544, 544, 545, 545, 545, - 545, 546, 546, 546, 0, 0, 546, 0, 0, 546, - 546, 546, 546, 546, 547, 547, 547, 0, 0, 547, - 0, 547, 547, 547, 547, 547, 547, 551, 551, 551, - 551, 552, 552, 552, 553, 553, 552, 553, 553, 553, + 561, 561, 561, 0, 0, 561, 586, 586, 586, 586, + 0, 480, 481, 481, 481, 481, 561, 0, 481, 0, + 481, 481, 481, 481, 481, 481, 484, 484, 484, 484, + 0, 0, 484, 0, 561, 484, 484, 484, 484, 484, + 0, 0, 0, 484, 592, 592, 592, 592, 0, 576, + 576, 576, 576, 0, 0, 576, 594, 594, 594, 594, + 0, 484, 485, 485, 485, 485, 576, 0, 485, 0, + 485, 485, 485, 485, 485, 485, 493, 493, 493, 493, + 0, 0, 493, 0, 576, 0, 493, 493, 493, 493, + 0, 0, 0, 493, 600, 600, 600, 600, 600, 601, - 553, 554, 554, 554, 0, 0, 554, 554, 554, 554, - 554, 554, 554, 554, 555, 555, 0, 555, 555, 555, - 555, 556, 556, 556, 556, 556, 557, 557, 557, 557, - 558, 558, 558, 558, 558, 559, 559, 559, 0, 0, - 559, 0, 559, 559, 559, 559, 559, 559, 560, 560, - 560, 0, 0, 560, 0, 560, 560, 560, 560, 560, - 560, 563, 563, 563, 563, 565, 565, 565, 0, 0, - 565, 565, 565, 565, 565, 565, 565, 565, 566, 566, - 566, 0, 0, 566, 0, 566, 566, 566, 566, 566, - 566, 567, 567, 567, 567, 567, 568, 568, 568, 0, + 601, 601, 601, 607, 607, 607, 607, 609, 609, 609, + 609, 493, 496, 496, 496, 496, 0, 0, 496, 0, + 496, 496, 496, 496, 496, 496, 497, 497, 497, 497, + 0, 0, 497, 0, 497, 497, 497, 497, 497, 497, + 501, 501, 501, 501, 501, 0, 0, 0, 501, 610, + 610, 610, 610, 618, 618, 0, 618, 618, 618, 618, + 704, 704, 704, 704, 0, 0, 501, 502, 502, 502, + 502, 0, 0, 502, 0, 502, 502, 502, 502, 502, + 502, 503, 503, 503, 503, 0, 0, 503, 0, 503, + 503, 503, 503, 503, 503, 509, 509, 509, 509, 0, - 0, 568, 569, 569, 569, 0, 0, 569, 0, 569, - 569, 569, 569, 569, 569, 570, 570, 570, 570, 570, - 571, 571, 571, 571, 572, 572, 572, 0, 0, 572, - 0, 0, 572, 572, 572, 572, 572, 573, 573, 573, - 0, 0, 573, 0, 573, 573, 573, 573, 573, 573, - 577, 577, 577, 577, 579, 579, 579, 0, 0, 579, - 584, 584, 584, 584, 586, 586, 586, 586, 590, 590, - 590, 586, 0, 590, 594, 594, 594, 594, 615, 615, - 615, 615, 579, 585, 585, 585, 0, 0, 585, 586, - 0, 0, 585, 585, 585, 585, 587, 587, 587, 0, + 0, 509, 0, 0, 0, 509, 509, 509, 509, 510, + 510, 510, 510, 0, 0, 510, 0, 510, 510, 510, + 510, 510, 510, 511, 511, 511, 511, 0, 0, 511, + 0, 511, 511, 511, 511, 511, 511, 512, 512, 512, + 512, 0, 0, 512, 0, 0, 512, 512, 512, 512, + 512, 0, 0, 0, 512, 617, 617, 617, 617, 0, + 624, 624, 617, 624, 624, 624, 624, 705, 705, 705, + 705, 0, 512, 513, 513, 513, 513, 0, 0, 513, + 617, 513, 513, 513, 513, 513, 513, 516, 516, 516, + 516, 0, 0, 516, 0, 0, 516, 516, 516, 516, - 0, 587, 0, 587, 587, 587, 587, 587, 587, 605, - 605, 605, 587, 0, 605, 616, 616, 616, 616, 620, - 620, 620, 620, 626, 626, 626, 0, 0, 626, 0, - 587, 588, 588, 588, 0, 0, 588, 0, 588, 588, - 588, 588, 588, 588, 589, 589, 589, 0, 0, 589, - 0, 589, 589, 589, 589, 589, 589, 591, 591, 591, - 0, 0, 591, 0, 0, 0, 591, 591, 591, 591, - 0, 0, 0, 591, 622, 622, 622, 622, 0, 0, - 0, 622, 630, 630, 630, 630, 640, 640, 640, 640, - 0, 591, 592, 592, 592, 0, 0, 592, 0, 622, + 516, 0, 630, 630, 516, 630, 630, 630, 630, 0, + 0, 525, 525, 525, 525, 525, 0, 0, 0, 525, + 0, 0, 516, 517, 517, 517, 517, 0, 0, 517, + 0, 517, 517, 517, 517, 517, 517, 525, 528, 528, + 528, 528, 528, 0, 643, 643, 528, 643, 643, 643, + 643, 649, 649, 0, 649, 649, 649, 649, 712, 712, + 712, 712, 0, 0, 528, 529, 529, 529, 529, 0, + 0, 529, 0, 529, 529, 529, 529, 529, 529, 530, + 530, 530, 530, 0, 0, 530, 0, 530, 530, 530, + 530, 530, 530, 536, 536, 536, 536, 0, 0, 536, - 0, 592, 592, 592, 592, 636, 636, 636, 592, 0, - 636, 661, 661, 661, 661, 632, 632, 632, 632, 651, - 651, 651, 632, 0, 651, 0, 592, 593, 593, 593, - 0, 0, 593, 0, 593, 593, 593, 593, 593, 593, - 632, 0, 0, 593, 662, 662, 662, 662, 666, 666, - 666, 666, 0, 668, 668, 668, 668, 0, 0, 0, - 668, 593, 595, 595, 595, 0, 0, 595, 0, 0, - 0, 595, 595, 595, 595, 596, 596, 596, 668, 0, - 596, 0, 0, 0, 596, 596, 596, 596, 672, 672, - 672, 596, 0, 672, 676, 676, 676, 681, 681, 676, + 0, 0, 0, 536, 536, 536, 536, 537, 537, 537, + 537, 0, 0, 537, 0, 537, 537, 537, 537, 537, + 537, 538, 538, 538, 538, 0, 0, 538, 0, 538, + 538, 538, 538, 538, 538, 539, 539, 539, 539, 0, + 0, 539, 0, 0, 539, 539, 539, 539, 539, 0, + 0, 0, 539, 648, 648, 648, 648, 0, 655, 655, + 648, 655, 655, 655, 655, 717, 717, 717, 717, 717, + 539, 540, 540, 540, 540, 0, 0, 540, 648, 540, + 540, 540, 540, 540, 540, 543, 543, 543, 543, 0, + 0, 543, 0, 0, 543, 543, 543, 543, 543, 0, - 681, 681, 681, 681, 0, 676, 0, 0, 0, 596, + 659, 659, 543, 659, 659, 659, 659, 0, 0, 552, + 552, 552, 552, 552, 0, 0, 0, 552, 0, 0, + 543, 544, 544, 544, 544, 0, 0, 544, 0, 544, + 544, 544, 544, 544, 544, 552, 555, 555, 555, 555, + 0, 0, 555, 0, 0, 555, 555, 555, 555, 555, + 0, 0, 0, 555, 658, 658, 658, 658, 0, 665, + 665, 658, 665, 665, 665, 665, 718, 718, 718, 718, + 0, 555, 556, 556, 556, 556, 0, 0, 556, 658, + 556, 556, 556, 556, 556, 556, 557, 557, 557, 557, + 0, 0, 557, 0, 557, 557, 557, 557, 557, 557, + + 563, 563, 563, 563, 0, 0, 563, 0, 0, 0, + 563, 563, 563, 563, 564, 564, 564, 564, 0, 0, + 564, 0, 564, 564, 564, 564, 564, 564, 565, 565, + 565, 565, 0, 0, 565, 0, 565, 565, 565, 565, + 565, 565, 566, 566, 566, 566, 0, 0, 566, 0, + 0, 566, 566, 566, 566, 566, 0, 671, 671, 566, + 671, 671, 671, 671, 684, 684, 0, 684, 684, 684, + 684, 724, 724, 724, 724, 0, 0, 566, 567, 567, + 567, 567, 0, 0, 567, 0, 567, 567, 567, 567, + 567, 567, 570, 570, 570, 570, 0, 0, 570, 0, + + 0, 570, 570, 570, 570, 570, 0, 0, 0, 570, + 689, 689, 689, 689, 0, 690, 690, 689, 690, 690, + 690, 690, 726, 726, 726, 726, 0, 570, 571, 571, + 571, 571, 0, 0, 571, 689, 571, 571, 571, 571, + 571, 571, 579, 579, 579, 579, 0, 0, 579, 0, + 0, 0, 579, 579, 579, 579, 0, 696, 696, 579, + 696, 696, 696, 696, 731, 731, 731, 731, 731, 732, + 732, 732, 732, 738, 738, 738, 738, 579, 582, 582, + 582, 582, 0, 0, 582, 0, 582, 582, 582, 582, + 582, 582, 583, 583, 583, 583, 0, 0, 583, 0, + + 583, 583, 583, 583, 583, 583, 587, 587, 587, 587, + 587, 0, 0, 0, 587, 740, 740, 740, 740, 741, + 741, 741, 741, 747, 747, 747, 747, 747, 748, 748, + 748, 748, 587, 588, 588, 588, 588, 0, 0, 588, + 0, 588, 588, 588, 588, 588, 588, 589, 589, 589, + 589, 0, 0, 589, 0, 589, 589, 589, 589, 589, + 589, 595, 595, 595, 595, 0, 0, 595, 0, 0, + 0, 595, 595, 595, 595, 596, 596, 596, 596, 0, + 0, 596, 0, 596, 596, 596, 596, 596, 596, 597, 597, 597, 597, 0, 0, 597, 0, 597, 597, 597, - 597, 597, 597, 598, 598, 598, 0, 0, 598, 0, - 598, 598, 598, 598, 598, 598, 599, 599, 599, 0, - 0, 599, 0, 599, 599, 599, 599, 599, 599, 0, - 684, 684, 599, 684, 684, 684, 684, 686, 686, 0, - 686, 686, 686, 686, 687, 687, 687, 687, 687, 0, - 599, 600, 600, 600, 0, 0, 600, 0, 600, 600, - 600, 600, 600, 600, 601, 601, 601, 0, 0, 601, - 0, 601, 601, 601, 601, 601, 601, 602, 602, 602, - 0, 0, 602, 0, 602, 602, 602, 602, 602, 602, + 597, 597, 597, 598, 598, 598, 598, 0, 0, 598, + 0, 0, 598, 598, 598, 598, 598, 0, 0, 0, + 598, 754, 754, 754, 754, 0, 711, 711, 711, 711, + 0, 0, 711, 756, 756, 756, 756, 0, 598, 599, + 599, 599, 599, 711, 0, 599, 0, 599, 599, 599, + 599, 599, 599, 602, 602, 602, 602, 0, 0, 602, + 0, 711, 602, 602, 602, 602, 602, 0, 0, 0, + 602, 757, 757, 757, 757, 0, 0, 611, 611, 611, + 611, 611, 0, 0, 0, 611, 0, 0, 602, 603, 603, 603, 603, 0, 0, 603, 0, 603, 603, 603, - 603, 603, 603, 604, 604, 604, 0, 0, 604, 0, - 604, 604, 604, 604, 604, 604, 606, 606, 606, 0, - 0, 606, 0, 0, 0, 606, 606, 606, 606, 0, - 0, 0, 606, 688, 688, 688, 688, 689, 689, 689, - 689, 689, 694, 694, 694, 694, 701, 701, 701, 701, - 606, 607, 607, 607, 607, 607, 607, 0, 0, 0, - 607, 698, 698, 698, 698, 698, 699, 699, 699, 0, - 0, 699, 700, 700, 700, 700, 700, 0, 607, 608, - 608, 608, 0, 0, 608, 0, 608, 608, 608, 608, - 608, 608, 609, 609, 609, 0, 0, 609, 0, 609, - 609, 609, 609, 609, 609, 610, 610, 610, 0, 0, - 610, 0, 0, 0, 610, 610, 610, 610, 0, 0, - 0, 610, 707, 707, 707, 707, 711, 711, 711, 711, - 711, 712, 712, 712, 0, 0, 712, 0, 0, 610, - 611, 611, 611, 0, 0, 611, 0, 611, 611, 611, - 611, 611, 611, 612, 612, 612, 0, 0, 612, 0, - 612, 612, 612, 612, 612, 612, 0, 0, 0, 612, - 714, 714, 714, 714, 714, 715, 715, 715, 715, 721, + 603, 603, 603, 611, 619, 619, 619, 619, 0, 0, + 619, 0, 619, 619, 619, 619, 619, 619, 0, 0, + 0, 619, 759, 759, 759, 759, 764, 764, 764, 764, + 765, 765, 765, 765, 767, 767, 767, 767, 0, 619, + 620, 620, 620, 620, 0, 0, 620, 620, 620, 620, + 620, 620, 620, 620, 621, 621, 621, 621, 0, 0, + 621, 0, 621, 621, 621, 621, 621, 621, 0, 0, + 0, 621, 768, 768, 768, 768, 0, 774, 774, 774, + 774, 0, 0, 774, 775, 775, 775, 775, 0, 621, + 622, 622, 622, 622, 774, 0, 622, 622, 622, 622, - 721, 721, 721, 740, 740, 740, 740, 612, 613, 613, - 613, 0, 0, 613, 0, 613, 613, 613, 613, 613, - 613, 614, 614, 614, 0, 0, 614, 0, 614, 614, - 614, 614, 614, 614, 617, 617, 617, 0, 0, 617, - 0, 617, 617, 617, 617, 617, 617, 618, 618, 618, - 0, 0, 618, 0, 618, 618, 618, 618, 618, 618, - 621, 621, 621, 0, 0, 621, 0, 0, 0, 621, - 621, 621, 621, 623, 623, 623, 0, 0, 623, 0, - 623, 623, 623, 623, 623, 623, 0, 723, 723, 623, - 723, 723, 723, 723, 726, 726, 726, 726, 726, 727, + 622, 622, 622, 622, 623, 623, 623, 623, 0, 0, + 623, 0, 774, 0, 623, 623, 623, 623, 0, 0, + 0, 623, 780, 780, 780, 780, 0, 0, 719, 719, + 719, 719, 719, 0, 0, 0, 719, 0, 0, 623, + 625, 625, 625, 625, 0, 0, 625, 0, 625, 625, + 625, 625, 625, 625, 719, 0, 0, 625, 781, 781, + 781, 781, 0, 787, 787, 787, 787, 0, 0, 787, + 788, 788, 788, 788, 0, 625, 626, 626, 626, 626, + 787, 0, 626, 626, 626, 626, 626, 626, 626, 626, + 627, 627, 627, 627, 0, 0, 627, 0, 787, 0, - 727, 727, 0, 0, 727, 0, 0, 623, 624, 624, - 624, 0, 0, 624, 0, 624, 624, 624, 624, 624, - 624, 625, 625, 625, 0, 0, 625, 0, 625, 625, - 625, 625, 625, 625, 627, 627, 627, 0, 0, 627, - 0, 0, 0, 627, 627, 627, 627, 0, 728, 728, - 627, 728, 728, 728, 728, 731, 731, 0, 731, 731, - 731, 731, 739, 739, 739, 739, 739, 0, 627, 628, - 628, 628, 0, 0, 628, 0, 0, 0, 628, 628, - 628, 628, 0, 733, 733, 628, 733, 733, 733, 733, - 736, 736, 0, 736, 736, 736, 736, 741, 741, 741, + 627, 627, 627, 627, 0, 0, 0, 627, 793, 793, + 793, 793, 793, 794, 794, 794, 794, 800, 800, 800, + 800, 802, 802, 802, 802, 627, 628, 628, 628, 628, + 0, 0, 628, 0, 628, 628, 628, 628, 628, 628, + 629, 629, 629, 629, 0, 0, 629, 0, 629, 629, + 629, 629, 629, 629, 631, 631, 631, 631, 0, 0, + 631, 0, 631, 631, 631, 631, 631, 631, 0, 0, + 0, 631, 807, 807, 807, 807, 807, 808, 808, 808, + 808, 814, 814, 814, 814, 816, 816, 816, 816, 631, + 632, 632, 632, 632, 0, 0, 632, 0, 632, 632, - 741, 741, 0, 628, 629, 629, 629, 0, 0, 629, - 0, 629, 629, 629, 629, 629, 629, 0, 738, 738, - 629, 738, 738, 738, 738, 746, 746, 746, 746, 750, - 750, 750, 750, 750, 753, 753, 753, 753, 629, 631, - 631, 631, 0, 0, 631, 0, 0, 0, 631, 631, - 631, 631, 633, 633, 633, 0, 0, 633, 0, 633, - 633, 633, 633, 633, 633, 751, 751, 751, 633, 0, - 751, 752, 752, 752, 752, 752, 759, 759, 759, 759, - 763, 763, 763, 763, 763, 0, 633, 634, 634, 634, - 0, 0, 634, 0, 634, 634, 634, 634, 634, 634, + 632, 632, 632, 632, 633, 633, 633, 633, 0, 0, + 633, 0, 633, 633, 633, 633, 633, 633, 634, 634, + 634, 634, 0, 0, 634, 0, 634, 634, 634, 634, + 634, 634, 635, 635, 635, 635, 0, 0, 635, 635, + 635, 635, 635, 635, 635, 635, 636, 636, 636, 636, + 0, 0, 636, 0, 636, 636, 636, 636, 636, 636, + 0, 0, 0, 636, 817, 817, 817, 817, 823, 823, + 823, 823, 823, 824, 824, 824, 824, 830, 830, 830, + 830, 636, 637, 637, 637, 637, 0, 0, 637, 0, + 637, 637, 637, 637, 637, 637, 638, 638, 638, 638, - 635, 635, 635, 0, 0, 635, 0, 635, 635, 635, - 635, 635, 635, 637, 637, 637, 0, 0, 637, 0, - 0, 0, 637, 637, 637, 637, 764, 764, 764, 637, - 0, 764, 766, 766, 766, 766, 766, 767, 767, 767, - 767, 773, 773, 773, 773, 0, 0, 637, 638, 638, - 638, 0, 0, 638, 0, 0, 0, 638, 638, 638, - 638, 0, 775, 775, 638, 775, 775, 775, 775, 778, - 778, 778, 778, 778, 779, 779, 779, 0, 0, 779, - 0, 0, 638, 639, 639, 639, 0, 0, 639, 0, - 639, 639, 639, 639, 639, 639, 0, 780, 780, 639, - - 780, 780, 780, 780, 783, 783, 0, 783, 783, 783, - 783, 789, 789, 789, 789, 0, 0, 639, 641, 641, - 641, 0, 0, 641, 0, 0, 0, 641, 641, 641, - 641, 642, 642, 642, 0, 0, 642, 0, 0, 0, - 642, 642, 642, 642, 785, 785, 785, 642, 0, 785, - 0, 0, 785, 790, 790, 790, 790, 796, 796, 796, - 0, 0, 796, 0, 0, 642, 643, 643, 643, 0, - 0, 643, 0, 643, 643, 643, 643, 643, 643, 644, + 0, 0, 638, 0, 638, 638, 638, 638, 638, 638, + 639, 639, 639, 639, 0, 0, 639, 0, 639, 639, + 639, 639, 639, 639, 640, 640, 640, 640, 0, 0, + 640, 640, 640, 640, 640, 640, 640, 640, 641, 641, + 641, 641, 0, 0, 641, 0, 0, 0, 641, 641, + 641, 641, 0, 0, 0, 641, 832, 832, 832, 832, + 833, 833, 833, 833, 835, 835, 835, 835, 840, 840, + 840, 840, 0, 641, 642, 642, 642, 642, 0, 0, + 642, 0, 642, 642, 642, 642, 642, 642, 644, 644, 644, 644, 0, 0, 644, 0, 644, 644, 644, 644, - 644, 644, 645, 645, 645, 0, 0, 645, 0, 645, - 645, 645, 645, 645, 645, 0, 0, 0, 645, 797, - 797, 797, 797, 802, 802, 802, 802, 0, 804, 804, - 804, 804, 0, 0, 0, 804, 645, 646, 646, 646, - 0, 0, 646, 0, 646, 646, 646, 646, 646, 646, - 647, 647, 647, 804, 0, 647, 0, 647, 647, 647, - 647, 647, 647, 648, 648, 648, 0, 0, 648, 0, - 648, 648, 648, 648, 648, 648, 649, 649, 649, 0, - 0, 649, 0, 649, 649, 649, 649, 649, 649, 650, - 650, 650, 0, 0, 650, 0, 650, 650, 650, 650, - 650, 650, 652, 652, 652, 0, 0, 652, 0, 0, + 644, 644, 0, 0, 0, 644, 841, 841, 841, 841, + 843, 843, 843, 843, 844, 844, 844, 844, 851, 851, + 851, 851, 0, 644, 645, 645, 645, 645, 0, 0, + 645, 0, 645, 645, 645, 645, 645, 645, 646, 646, + 646, 646, 0, 0, 646, 0, 646, 646, 646, 646, + 646, 646, 647, 647, 647, 647, 0, 0, 647, 647, + 647, 647, 647, 647, 647, 647, 650, 650, 650, 650, + 0, 0, 650, 0, 650, 650, 650, 650, 650, 650, + 0, 861, 861, 650, 861, 861, 861, 861, 867, 867, + 0, 867, 867, 867, 867, 882, 882, 882, 882, 882, - 0, 652, 652, 652, 652, 808, 808, 808, 652, 0, - 808, 814, 814, 814, 0, 0, 814, 818, 818, 818, - 818, 824, 824, 824, 824, 0, 652, 653, 653, 653, - 653, 653, 653, 822, 822, 822, 653, 0, 822, 825, - 825, 825, 825, 831, 831, 831, 0, 0, 831, 832, - 832, 832, 832, 0, 653, 654, 654, 654, 0, 0, - 654, 0, 654, 654, 654, 654, 654, 654, 655, 655, - 655, 0, 0, 655, 0, 655, 655, 655, 655, 655, - 655, 656, 656, 656, 0, 0, 656, 0, 0, 0, - 656, 656, 656, 656, 0, 0, 0, 656, 837, 837, + 0, 650, 651, 651, 651, 651, 0, 0, 651, 651, + 651, 651, 651, 651, 651, 651, 652, 652, 652, 652, + 0, 0, 652, 0, 652, 652, 652, 652, 652, 652, + 0, 873, 873, 652, 873, 873, 873, 873, 0, 850, + 850, 850, 850, 879, 879, 850, 879, 879, 879, 879, + 0, 652, 653, 653, 653, 653, 850, 0, 653, 653, + 653, 653, 653, 653, 653, 653, 654, 654, 654, 654, + 0, 0, 654, 0, 850, 0, 654, 654, 654, 654, + 0, 881, 881, 654, 881, 881, 881, 881, 0, 0, + 742, 742, 742, 742, 742, 0, 0, 0, 742, 0, - 837, 837, 838, 838, 838, 838, 844, 844, 844, 0, - 0, 844, 0, 0, 0, 656, 657, 657, 657, 0, - 0, 657, 0, 657, 657, 657, 657, 657, 657, 658, - 658, 658, 0, 0, 658, 0, 658, 658, 658, 658, - 658, 658, 0, 0, 0, 658, 845, 845, 845, 845, - 850, 850, 850, 850, 0, 852, 852, 852, 852, 0, - 0, 0, 852, 658, 659, 659, 659, 0, 0, 659, - 0, 659, 659, 659, 659, 659, 659, 660, 660, 660, - 852, 0, 660, 0, 660, 660, 660, 660, 660, 660, - 663, 663, 663, 0, 0, 663, 0, 663, 663, 663, + 0, 654, 656, 656, 656, 656, 0, 0, 656, 0, + 656, 656, 656, 656, 656, 656, 742, 883, 883, 656, + 883, 883, 883, 883, 884, 884, 884, 884, 884, 885, + 885, 0, 885, 885, 885, 885, 0, 656, 657, 657, + 657, 657, 0, 0, 657, 657, 657, 657, 657, 657, + 657, 657, 660, 660, 660, 660, 0, 0, 660, 0, + 660, 660, 660, 660, 660, 660, 0, 887, 887, 660, + 887, 887, 887, 887, 888, 888, 888, 888, 888, 889, + 889, 0, 889, 889, 889, 889, 0, 660, 661, 661, + 661, 661, 0, 0, 661, 661, 661, 661, 661, 661, - 663, 663, 663, 664, 664, 664, 0, 0, 664, 0, - 664, 664, 664, 664, 664, 664, 667, 667, 667, 0, - 0, 667, 0, 0, 0, 667, 667, 667, 667, 669, - 669, 669, 0, 0, 669, 0, 669, 669, 669, 669, - 669, 669, 856, 856, 856, 669, 0, 856, 862, 862, - 862, 0, 0, 862, 866, 866, 866, 866, 872, 872, - 872, 872, 0, 669, 670, 670, 670, 0, 0, 670, - 0, 670, 670, 670, 670, 670, 670, 671, 671, 671, - 0, 0, 671, 0, 671, 671, 671, 671, 671, 671, - 673, 673, 673, 0, 0, 673, 0, 0, 0, 673, + 661, 661, 662, 662, 662, 662, 0, 0, 662, 0, + 662, 662, 662, 662, 662, 662, 0, 0, 0, 662, + 890, 890, 890, 890, 890, 891, 891, 0, 891, 891, + 891, 891, 894, 894, 894, 894, 894, 662, 663, 663, + 663, 663, 0, 0, 663, 663, 663, 663, 663, 663, + 663, 663, 664, 664, 664, 664, 0, 0, 664, 0, + 0, 0, 664, 664, 664, 664, 0, 893, 893, 664, + 893, 893, 893, 893, 0, 0, 758, 758, 758, 758, + 758, 0, 0, 0, 758, 0, 0, 664, 666, 666, + 666, 666, 0, 0, 666, 0, 666, 666, 666, 666, - 673, 673, 673, 870, 870, 870, 673, 0, 870, 873, - 873, 873, 873, 879, 879, 879, 0, 0, 879, 880, - 880, 880, 880, 0, 673, 674, 674, 674, 0, 0, - 674, 0, 0, 0, 674, 674, 674, 674, 885, 885, - 885, 674, 0, 885, 0, 888, 888, 885, 888, 888, - 888, 888, 891, 891, 0, 891, 891, 891, 891, 674, - 675, 675, 675, 0, 0, 675, 0, 675, 675, 675, - 675, 675, 675, 0, 894, 894, 675, 894, 894, 894, - 894, 897, 897, 0, 897, 897, 897, 897, 906, 906, - 906, 0, 0, 906, 675, 682, 682, 682, 0, 0, + 666, 666, 758, 895, 895, 666, 895, 895, 895, 895, + 899, 899, 899, 899, 900, 900, 900, 900, 907, 907, + 907, 907, 0, 666, 667, 667, 667, 667, 0, 0, + 667, 667, 667, 667, 667, 667, 667, 667, 668, 668, + 668, 668, 0, 0, 668, 0, 0, 0, 668, 668, + 668, 668, 0, 0, 0, 668, 860, 860, 860, 860, + 0, 0, 0, 860, 915, 915, 915, 915, 923, 923, + 923, 923, 0, 668, 669, 669, 669, 669, 0, 0, + 669, 860, 669, 669, 669, 669, 669, 669, 670, 670, + 670, 670, 0, 0, 670, 0, 670, 670, 670, 670, - 682, 682, 682, 682, 682, 682, 682, 682, 683, 683, - 683, 0, 0, 683, 683, 683, 683, 683, 683, 683, - 683, 685, 685, 685, 0, 0, 685, 685, 685, 685, - 685, 685, 685, 685, 690, 690, 690, 0, 0, 690, - 0, 690, 690, 690, 690, 690, 690, 691, 691, 691, - 0, 0, 691, 0, 691, 691, 691, 691, 691, 691, - 696, 696, 696, 0, 0, 696, 696, 696, 696, 696, - 696, 696, 696, 697, 697, 697, 0, 0, 697, 0, - 697, 697, 697, 697, 697, 697, 702, 702, 702, 0, - 0, 702, 0, 0, 702, 702, 702, 702, 702, 703, + 670, 670, 672, 672, 672, 672, 0, 0, 672, 0, + 672, 672, 672, 672, 672, 672, 0, 0, 0, 672, + 878, 878, 878, 878, 0, 0, 0, 878, 924, 924, + 924, 924, 925, 925, 925, 925, 0, 672, 673, 673, + 673, 673, 0, 0, 673, 878, 673, 673, 673, 673, + 673, 673, 674, 674, 674, 674, 0, 0, 674, 0, + 674, 674, 674, 674, 674, 674, 675, 675, 675, 675, + 0, 0, 675, 0, 675, 675, 675, 675, 675, 675, + 676, 676, 676, 676, 0, 0, 676, 676, 676, 676, + 676, 676, 676, 676, 677, 677, 677, 677, 0, 0, - 703, 703, 0, 0, 703, 0, 703, 703, 703, 703, - 703, 703, 704, 704, 704, 0, 0, 704, 0, 704, - 704, 704, 704, 704, 704, 709, 709, 709, 0, 0, - 709, 709, 709, 709, 709, 709, 709, 709, 710, 710, - 710, 0, 0, 710, 0, 710, 710, 710, 710, 710, - 710, 713, 713, 713, 0, 0, 713, 0, 713, 713, - 713, 713, 713, 713, 716, 716, 716, 0, 0, 716, - 0, 0, 716, 716, 716, 716, 716, 717, 717, 717, - 0, 0, 717, 0, 717, 717, 717, 717, 717, 717, - 724, 724, 724, 0, 0, 724, 724, 724, 724, 724, + 677, 0, 677, 677, 677, 677, 677, 677, 0, 0, + 0, 677, 880, 880, 880, 880, 0, 0, 0, 880, + 926, 926, 926, 926, 928, 928, 928, 928, 0, 677, + 678, 678, 678, 678, 0, 0, 678, 880, 678, 678, + 678, 678, 678, 678, 679, 679, 679, 679, 0, 0, + 679, 0, 679, 679, 679, 679, 679, 679, 680, 680, + 680, 680, 0, 0, 680, 0, 680, 680, 680, 680, + 680, 680, 681, 681, 681, 681, 0, 0, 681, 681, + 681, 681, 681, 681, 681, 681, 682, 682, 682, 682, + 0, 0, 682, 0, 0, 0, 682, 682, 682, 682, - 724, 724, 724, 725, 725, 725, 0, 0, 725, 0, - 725, 725, 725, 725, 725, 725, 729, 729, 729, 0, - 0, 729, 729, 729, 729, 729, 729, 729, 729, 730, - 730, 730, 0, 0, 730, 730, 730, 730, 730, 730, - 730, 730, 732, 732, 732, 0, 0, 732, 732, 732, - 732, 732, 732, 732, 732, 734, 734, 734, 0, 0, - 734, 734, 734, 734, 734, 734, 734, 734, 735, 735, - 735, 0, 0, 735, 735, 735, 735, 735, 735, 735, - 735, 737, 737, 737, 0, 0, 737, 737, 737, 737, - 737, 737, 737, 737, 742, 742, 742, 0, 0, 742, + 0, 0, 0, 682, 886, 886, 886, 886, 0, 0, + 0, 886, 929, 929, 929, 929, 931, 931, 931, 931, + 0, 682, 683, 683, 683, 683, 0, 0, 683, 886, + 683, 683, 683, 683, 683, 683, 685, 685, 685, 685, + 0, 0, 685, 0, 685, 685, 685, 685, 685, 685, + 0, 0, 0, 685, 892, 892, 892, 892, 0, 0, + 0, 892, 933, 933, 933, 933, 934, 934, 934, 934, + 0, 685, 686, 686, 686, 686, 0, 0, 686, 892, + 686, 686, 686, 686, 686, 686, 687, 687, 687, 687, + 0, 0, 687, 0, 687, 687, 687, 687, 687, 687, - 0, 742, 742, 742, 742, 742, 742, 743, 743, 743, - 0, 0, 743, 0, 743, 743, 743, 743, 743, 743, - 748, 748, 748, 0, 0, 748, 748, 748, 748, 748, - 748, 748, 748, 749, 749, 749, 0, 0, 749, 0, - 749, 749, 749, 749, 749, 749, 754, 754, 754, 0, - 0, 754, 0, 0, 754, 754, 754, 754, 754, 755, - 755, 755, 0, 0, 755, 0, 755, 755, 755, 755, - 755, 755, 756, 756, 756, 0, 0, 756, 0, 756, - 756, 756, 756, 756, 756, 761, 761, 761, 0, 0, - 761, 761, 761, 761, 761, 761, 761, 761, 762, 762, + 688, 688, 688, 688, 0, 0, 688, 688, 688, 688, + 688, 688, 688, 688, 691, 691, 691, 691, 0, 0, + 691, 0, 691, 691, 691, 691, 691, 691, 0, 0, + 0, 691, 936, 936, 936, 936, 937, 937, 937, 937, + 939, 939, 939, 939, 940, 940, 940, 940, 0, 691, + 692, 692, 692, 692, 0, 0, 692, 692, 692, 692, + 692, 692, 692, 692, 693, 693, 693, 693, 0, 0, + 693, 0, 693, 693, 693, 693, 693, 693, 0, 0, + 0, 693, 941, 941, 941, 941, 942, 942, 942, 942, + 944, 944, 944, 944, 945, 945, 945, 945, 0, 693, - 762, 0, 0, 762, 0, 762, 762, 762, 762, 762, - 762, 765, 765, 765, 0, 0, 765, 0, 765, 765, - 765, 765, 765, 765, 768, 768, 768, 0, 0, 768, - 0, 0, 768, 768, 768, 768, 768, 769, 769, 769, - 0, 0, 769, 0, 769, 769, 769, 769, 769, 769, - 776, 776, 776, 0, 0, 776, 776, 776, 776, 776, - 776, 776, 776, 777, 777, 777, 0, 0, 777, 0, - 777, 777, 777, 777, 777, 777, 781, 781, 781, 0, - 0, 781, 781, 781, 781, 781, 781, 781, 781, 782, - 782, 782, 0, 0, 782, 782, 782, 782, 782, 782, + 694, 694, 694, 694, 0, 0, 694, 694, 694, 694, + 694, 694, 694, 694, 695, 695, 695, 695, 0, 0, + 695, 0, 0, 0, 695, 695, 695, 695, 0, 0, + 959, 695, 959, 959, 0, 0, 959, 0, 766, 766, + 766, 766, 766, 0, 0, 0, 766, 0, 0, 695, + 697, 697, 697, 697, 0, 0, 697, 0, 697, 697, + 697, 697, 697, 697, 766, 0, 0, 697, 960, 960, + 960, 960, 0, 962, 960, 962, 962, 0, 963, 962, + 963, 963, 0, 0, 963, 697, 698, 698, 698, 698, + 0, 0, 698, 698, 698, 698, 698, 698, 698, 698, - 782, 782, 784, 784, 784, 0, 0, 784, 784, 784, - 784, 784, 784, 784, 784, 791, 791, 791, 0, 0, - 791, 0, 791, 791, 791, 791, 791, 791, 794, 794, - 794, 0, 0, 794, 0, 794, 794, 794, 794, 794, - 794, 798, 798, 798, 0, 0, 798, 0, 0, 0, - 798, 798, 798, 798, 799, 799, 799, 0, 0, 799, - 0, 799, 799, 799, 799, 799, 799, 800, 800, 800, - 0, 0, 800, 0, 800, 800, 800, 800, 800, 800, - 803, 803, 803, 0, 0, 803, 0, 0, 0, 803, - 803, 803, 803, 805, 805, 805, 0, 0, 805, 0, + 706, 706, 706, 706, 0, 0, 706, 0, 706, 706, + 706, 706, 706, 706, 707, 707, 707, 707, 0, 0, + 707, 0, 707, 707, 707, 707, 707, 707, 709, 709, + 709, 709, 0, 0, 709, 0, 709, 709, 709, 709, + 709, 709, 710, 710, 710, 710, 0, 0, 710, 0, + 710, 710, 710, 710, 710, 710, 713, 713, 713, 713, + 0, 0, 713, 0, 0, 0, 713, 713, 713, 713, + 714, 714, 714, 714, 0, 0, 714, 0, 714, 714, + 714, 714, 714, 714, 715, 715, 715, 715, 0, 0, + 715, 0, 715, 715, 715, 715, 715, 715, 720, 720, - 805, 805, 805, 805, 805, 805, 0, 899, 899, 805, - 899, 899, 899, 899, 900, 900, 0, 900, 900, 900, - 900, 909, 909, 909, 909, 0, 0, 805, 806, 806, - 806, 0, 0, 806, 0, 806, 806, 806, 806, 806, - 806, 807, 807, 807, 0, 0, 807, 0, 807, 807, - 807, 807, 807, 807, 809, 809, 809, 0, 0, 809, - 0, 0, 0, 809, 809, 809, 809, 0, 902, 902, - 809, 902, 902, 902, 902, 903, 903, 0, 903, 903, - 903, 903, 910, 910, 910, 910, 0, 0, 809, 810, - 810, 810, 0, 0, 810, 0, 0, 0, 810, 810, + 720, 720, 0, 0, 720, 0, 720, 720, 720, 720, + 720, 720, 721, 721, 721, 721, 0, 0, 721, 0, + 721, 721, 721, 721, 721, 721, 727, 727, 727, 727, + 0, 0, 727, 0, 0, 0, 727, 727, 727, 727, + 728, 728, 728, 728, 0, 0, 728, 0, 728, 728, + 728, 728, 728, 728, 729, 729, 729, 729, 0, 0, + 729, 0, 729, 729, 729, 729, 729, 729, 730, 730, + 730, 730, 0, 0, 730, 0, 0, 730, 730, 730, + 730, 730, 0, 0, 0, 730, 795, 795, 795, 795, + 795, 0, 0, 0, 795, 927, 927, 927, 927, 0, - 810, 810, 0, 905, 905, 810, 905, 905, 905, 905, - 916, 916, 916, 0, 0, 916, 917, 917, 917, 917, - 0, 0, 0, 810, 811, 811, 811, 0, 0, 811, - 0, 811, 811, 811, 811, 811, 811, 924, 924, 924, - 811, 0, 924, 925, 925, 925, 925, 932, 932, 932, - 0, 0, 932, 933, 933, 933, 933, 0, 811, 812, - 812, 812, 0, 0, 812, 0, 812, 812, 812, 812, - 812, 812, 813, 813, 813, 0, 0, 813, 0, 813, - 813, 813, 813, 813, 813, 815, 815, 815, 0, 0, - 815, 0, 0, 0, 815, 815, 815, 815, 0, 0, + 0, 0, 927, 730, 733, 733, 733, 733, 0, 0, + 733, 0, 795, 733, 733, 733, 733, 733, 0, 0, + 927, 733, 935, 935, 935, 935, 0, 0, 964, 935, + 964, 964, 0, 0, 964, 0, 0, 0, 0, 733, + 734, 734, 734, 734, 0, 0, 734, 935, 734, 734, + 734, 734, 734, 734, 735, 735, 735, 735, 0, 0, + 735, 0, 735, 735, 735, 735, 735, 735, 743, 743, + 743, 743, 0, 0, 743, 0, 743, 743, 743, 743, + 743, 743, 744, 744, 744, 744, 0, 0, 744, 0, + 744, 744, 744, 744, 744, 744, 745, 745, 745, 745, - 0, 815, 934, 934, 934, 934, 938, 938, 938, 938, - 939, 939, 939, 939, 941, 941, 941, 941, 0, 815, - 816, 816, 816, 0, 0, 816, 0, 0, 0, 816, - 816, 816, 816, 0, 0, 0, 816, 942, 942, 942, - 942, 0, 0, 940, 940, 940, 940, 963, 963, 963, - 940, 0, 963, 0, 816, 817, 817, 817, 0, 963, - 817, 0, 817, 817, 817, 817, 817, 817, 940, 0, - 0, 817, 946, 946, 946, 946, 947, 947, 947, 947, - 0, 948, 948, 948, 948, 0, 0, 0, 948, 817, - 819, 819, 819, 0, 0, 819, 0, 0, 0, 819, + 0, 0, 745, 0, 0, 745, 745, 745, 745, 745, + 0, 0, 0, 745, 943, 943, 943, 943, 0, 0, + 0, 943, 965, 965, 965, 965, 0, 0, 965, 0, + 0, 745, 746, 746, 746, 746, 0, 0, 746, 943, + 746, 746, 746, 746, 746, 746, 749, 749, 749, 749, + 0, 0, 749, 0, 0, 749, 749, 749, 749, 749, + 0, 0, 966, 749, 966, 966, 0, 0, 966, 967, + 967, 967, 967, 0, 969, 967, 969, 969, 0, 0, + 969, 749, 750, 750, 750, 750, 0, 0, 750, 0, + 750, 750, 750, 750, 750, 750, 760, 760, 760, 760, - 819, 819, 819, 820, 820, 820, 948, 0, 820, 0, - 820, 820, 820, 820, 820, 820, 821, 821, 821, 0, - 0, 821, 0, 821, 821, 821, 821, 821, 821, 823, - 823, 823, 0, 0, 823, 0, 0, 0, 823, 823, - 823, 823, 0, 0, 0, 823, 949, 949, 949, 949, - 950, 950, 950, 950, 954, 954, 954, 954, 955, 955, - 955, 955, 0, 823, 826, 826, 826, 0, 0, 826, - 0, 826, 826, 826, 826, 826, 826, 827, 827, 827, - 0, 0, 827, 0, 827, 827, 827, 827, 827, 827, - 829, 829, 829, 0, 0, 829, 0, 829, 829, 829, + 0, 0, 760, 0, 0, 0, 760, 760, 760, 760, + 761, 761, 761, 761, 0, 0, 761, 0, 761, 761, + 761, 761, 761, 761, 762, 762, 762, 762, 0, 0, + 762, 0, 762, 762, 762, 762, 762, 762, 763, 763, + 763, 763, 0, 0, 763, 0, 0, 763, 763, 763, + 763, 763, 0, 0, 0, 763, 968, 968, 968, 968, + 0, 970, 968, 970, 970, 0, 971, 970, 971, 971, + 0, 0, 971, 763, 769, 769, 769, 769, 0, 0, + 769, 0, 769, 769, 769, 769, 769, 769, 770, 770, + 770, 770, 0, 0, 770, 0, 770, 770, 770, 770, - 829, 829, 829, 830, 830, 830, 0, 0, 830, 0, - 830, 830, 830, 830, 830, 830, 833, 833, 833, 0, - 0, 833, 0, 0, 0, 833, 833, 833, 833, 834, - 834, 834, 0, 0, 834, 0, 834, 834, 834, 834, - 834, 834, 835, 835, 835, 0, 0, 835, 0, 835, - 835, 835, 835, 835, 835, 839, 839, 839, 0, 0, - 839, 0, 839, 839, 839, 839, 839, 839, 840, 840, - 840, 0, 0, 840, 0, 840, 840, 840, 840, 840, - 840, 842, 842, 842, 0, 0, 842, 0, 842, 842, - 842, 842, 842, 842, 843, 843, 843, 0, 0, 843, + 770, 770, 772, 772, 772, 772, 0, 0, 772, 0, + 772, 772, 772, 772, 772, 772, 773, 773, 773, 773, + 0, 0, 773, 0, 773, 773, 773, 773, 773, 773, + 776, 776, 776, 776, 0, 0, 776, 0, 0, 0, + 776, 776, 776, 776, 777, 777, 777, 777, 0, 0, + 777, 0, 777, 777, 777, 777, 777, 777, 778, 778, + 778, 778, 0, 0, 778, 0, 778, 778, 778, 778, + 778, 778, 782, 782, 782, 782, 0, 0, 782, 0, + 782, 782, 782, 782, 782, 782, 783, 783, 783, 783, + 0, 0, 783, 0, 783, 783, 783, 783, 783, 783, - 0, 843, 843, 843, 843, 843, 843, 846, 846, 846, - 0, 0, 846, 0, 0, 0, 846, 846, 846, 846, - 847, 847, 847, 0, 0, 847, 0, 847, 847, 847, - 847, 847, 847, 848, 848, 848, 0, 0, 848, 0, - 848, 848, 848, 848, 848, 848, 851, 851, 851, 0, - 0, 851, 0, 0, 0, 851, 851, 851, 851, 853, - 853, 853, 0, 0, 853, 0, 853, 853, 853, 853, - 853, 853, 0, 0, 0, 853, 962, 962, 962, 0, - 0, 962, 0, 0, 0, 956, 956, 956, 956, 0, - 0, 0, 956, 853, 854, 854, 854, 0, 0, 854, + 785, 785, 785, 785, 0, 0, 785, 0, 785, 785, + 785, 785, 785, 785, 786, 786, 786, 786, 0, 0, + 786, 0, 786, 786, 786, 786, 786, 786, 789, 789, + 789, 789, 0, 0, 789, 0, 0, 0, 789, 789, + 789, 789, 790, 790, 790, 790, 0, 0, 790, 0, + 790, 790, 790, 790, 790, 790, 791, 791, 791, 791, + 0, 0, 791, 0, 791, 791, 791, 791, 791, 791, + 796, 796, 796, 796, 0, 0, 796, 0, 796, 796, + 796, 796, 796, 796, 797, 797, 797, 797, 0, 0, + 797, 0, 797, 797, 797, 797, 797, 797, 803, 803, - 0, 854, 854, 854, 854, 854, 854, 855, 855, 855, - 956, 962, 855, 0, 855, 855, 855, 855, 855, 855, - 857, 857, 857, 0, 0, 857, 0, 0, 0, 857, - 857, 857, 857, 957, 957, 957, 857, 0, 957, 960, - 960, 960, 0, 0, 960, 964, 964, 964, 0, 0, - 964, 0, 0, 0, 857, 858, 858, 858, 0, 0, - 858, 0, 0, 0, 858, 858, 858, 858, 965, 965, - 965, 858, 0, 965, 0, 0, 957, 966, 966, 966, - 0, 960, 966, 967, 0, 967, 0, 0, 967, 858, - 859, 859, 859, 0, 0, 859, 0, 859, 859, 859, + 803, 803, 0, 0, 803, 0, 0, 0, 803, 803, + 803, 803, 804, 804, 804, 804, 0, 0, 804, 0, + 804, 804, 804, 804, 804, 804, 805, 805, 805, 805, + 0, 0, 805, 0, 805, 805, 805, 805, 805, 805, + 806, 806, 806, 806, 0, 0, 806, 0, 0, 806, + 806, 806, 806, 806, 0, 0, 0, 806, 818, 818, + 818, 818, 818, 0, 0, 0, 818, 972, 972, 972, + 972, 0, 0, 972, 0, 806, 809, 809, 809, 809, + 0, 0, 809, 0, 818, 809, 809, 809, 809, 809, + 0, 0, 0, 809, 973, 973, 973, 973, 0, 0, - 859, 859, 859, 968, 968, 968, 859, 969, 968, 969, - 0, 970, 969, 970, 0, 971, 970, 971, 0, 0, - 971, 0, 0, 0, 859, 860, 860, 860, 0, 0, - 860, 0, 860, 860, 860, 860, 860, 860, 861, 861, - 861, 0, 0, 861, 0, 861, 861, 861, 861, 861, - 861, 863, 863, 863, 0, 0, 863, 0, 0, 0, - 863, 863, 863, 863, 972, 0, 972, 863, 973, 972, - 973, 0, 0, 973, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 863, 864, 864, 864, 0, - 0, 864, 0, 0, 0, 864, 864, 864, 864, 0, + 973, 974, 974, 974, 974, 0, 0, 974, 0, 0, + 0, 809, 810, 810, 810, 810, 0, 0, 810, 0, + 810, 810, 810, 810, 810, 810, 811, 811, 811, 811, + 0, 0, 811, 0, 811, 811, 811, 811, 811, 811, + 819, 819, 819, 819, 0, 0, 819, 0, 819, 819, + 819, 819, 819, 819, 820, 820, 820, 820, 0, 0, + 820, 0, 820, 820, 820, 820, 820, 820, 821, 821, + 821, 821, 0, 0, 821, 0, 0, 821, 821, 821, + 821, 821, 0, 0, 0, 821, 975, 975, 975, 975, + 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 864, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 821, 822, 822, 822, 822, 0, 0, + 822, 0, 822, 822, 822, 822, 822, 822, 825, 825, + 825, 825, 0, 0, 825, 0, 0, 825, 825, 825, + 825, 825, 0, 0, 0, 825, 0, 0, 0, 0, + 0, 0, 834, 834, 834, 834, 834, 0, 0, 0, + 834, 0, 0, 825, 826, 826, 826, 826, 0, 0, + 826, 0, 826, 826, 826, 826, 826, 826, 834, 836, + 836, 836, 836, 0, 0, 836, 0, 0, 0, 836, + 836, 836, 836, 837, 837, 837, 837, 0, 0, 837, + 0, 837, 837, 837, 837, 837, 837, 838, 838, 838, + + 838, 0, 0, 838, 0, 838, 838, 838, 838, 838, + 838, 839, 839, 839, 839, 0, 0, 839, 0, 0, + 839, 839, 839, 839, 839, 0, 0, 0, 839, 842, + 842, 842, 842, 842, 0, 0, 0, 842, 0, 0, + 0, 0, 0, 0, 0, 0, 839, 0, 0, 0, + 0, 0, 0, 0, 0, 842, 845, 845, 845, 845, + 0, 0, 845, 0, 845, 845, 845, 845, 845, 845, + 846, 846, 846, 846, 0, 0, 846, 0, 846, 846, + 846, 846, 846, 846, 848, 848, 848, 848, 0, 0, + 848, 0, 848, 848, 848, 848, 848, 848, 849, 849, + + 849, 849, 0, 0, 849, 0, 849, 849, 849, 849, + 849, 849, 852, 852, 852, 852, 0, 0, 852, 0, + 0, 0, 852, 852, 852, 852, 853, 853, 853, 853, + 0, 0, 853, 0, 853, 853, 853, 853, 853, 853, + 854, 854, 854, 854, 0, 0, 854, 0, 854, 854, + 854, 854, 854, 854, 862, 862, 862, 862, 0, 0, + 862, 0, 862, 862, 862, 862, 862, 862, 0, 0, + 0, 862, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 862, + 863, 863, 863, 863, 0, 0, 863, 863, 863, 863, + + 863, 863, 863, 863, 864, 864, 864, 864, 0, 0, + 864, 0, 864, 864, 864, 864, 864, 864, 0, 0, + 0, 864, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, + 865, 865, 865, 865, 0, 0, 865, 865, 865, 865, + 865, 865, 865, 865, 866, 866, 866, 866, 0, 0, + 866, 0, 0, 0, 866, 866, 866, 866, 0, 0, + 0, 866, 0, 0, 0, 0, 0, 0, 930, 930, + 930, 930, 930, 0, 0, 0, 930, 0, 0, 866, + 868, 868, 868, 868, 0, 0, 868, 0, 868, 868, + + 868, 868, 868, 868, 930, 0, 0, 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 864, 865, 865, 865, 0, 0, 865, 0, 865, 865, - 865, 865, 865, 865, 0, 0, 0, 865, 0, 0, + 0, 0, 0, 0, 0, 868, 869, 869, 869, 869, + 0, 0, 869, 869, 869, 869, 869, 869, 869, 869, + 870, 870, 870, 870, 0, 0, 870, 0, 870, 870, + 870, 870, 870, 870, 0, 0, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 865, 867, 867, 867, 0, - 0, 867, 0, 0, 0, 867, 867, 867, 867, 868, - 868, 868, 0, 0, 868, 0, 868, 868, 868, 868, - 868, 868, 869, 869, 869, 0, 0, 869, 0, 869, - 869, 869, 869, 869, 869, 871, 871, 871, 0, 0, + 0, 0, 0, 0, 0, 870, 871, 871, 871, 871, + 0, 0, 871, 871, 871, 871, 871, 871, 871, 871, + 872, 872, 872, 872, 0, 0, 872, 0, 0, 0, - 871, 0, 0, 0, 871, 871, 871, 871, 0, 0, - 0, 871, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, - 874, 874, 874, 0, 0, 874, 0, 874, 874, 874, - 874, 874, 874, 875, 875, 875, 0, 0, 875, 0, - 875, 875, 875, 875, 875, 875, 877, 877, 877, 0, - 0, 877, 0, 877, 877, 877, 877, 877, 877, 878, - 878, 878, 0, 0, 878, 0, 878, 878, 878, 878, - 878, 878, 881, 881, 881, 0, 0, 881, 0, 0, - 0, 881, 881, 881, 881, 882, 882, 882, 0, 0, + 872, 872, 872, 872, 0, 0, 0, 872, 0, 0, + 0, 0, 0, 0, 938, 938, 938, 938, 938, 0, + 0, 0, 938, 0, 0, 872, 874, 874, 874, 874, + 0, 0, 874, 0, 874, 874, 874, 874, 874, 874, + 938, 0, 0, 874, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 874, 875, 875, 875, 875, 0, 0, 875, 875, + 875, 875, 875, 875, 875, 875, 876, 876, 876, 876, + 0, 0, 876, 0, 876, 876, 876, 876, 876, 876, + 0, 0, 0, 876, 0, 0, 0, 0, 0, 0, - 882, 0, 882, 882, 882, 882, 882, 882, 883, 883, - 883, 0, 0, 883, 0, 883, 883, 883, 883, 883, - 883, 889, 889, 889, 0, 0, 889, 889, 889, 889, - 889, 889, 889, 889, 890, 890, 890, 0, 0, 890, - 890, 890, 890, 890, 890, 890, 890, 892, 892, 892, - 0, 0, 892, 892, 892, 892, 892, 892, 892, 892, - 893, 893, 893, 0, 0, 893, 893, 893, 893, 893, - 893, 893, 893, 895, 895, 895, 0, 0, 895, 895, - 895, 895, 895, 895, 895, 895, 896, 896, 896, 0, - 0, 896, 896, 896, 896, 896, 896, 896, 896, 898, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 876, 877, 877, 877, 877, 0, 0, 877, 877, + 877, 877, 877, 877, 877, 877, 906, 906, 906, 906, + 0, 0, 906, 906, 906, 0, 0, 0, 0, 0, + 0, 0, 0, 906, 946, 946, 946, 946, 946, 0, + 0, 0, 946, 0, 0, 0, 0, 0, 0, 0, + 0, 906, 908, 908, 908, 908, 0, 0, 908, 0, + 946, 0, 908, 908, 908, 908, 914, 914, 914, 914, + 0, 0, 914, 914, 914, 0, 0, 0, 0, 0, + 0, 0, 0, 914, 0, 0, 0, 0, 0, 0, - 898, 898, 0, 0, 898, 898, 898, 898, 898, 898, - 898, 898, 901, 901, 901, 0, 0, 901, 901, 901, - 901, 901, 901, 901, 901, 904, 904, 904, 0, 0, - 904, 904, 904, 904, 904, 904, 904, 904, 911, 911, - 911, 0, 0, 911, 0, 911, 911, 911, 911, 911, - 911, 914, 914, 914, 0, 0, 914, 0, 914, 914, - 914, 914, 914, 914, 918, 918, 918, 0, 0, 918, - 0, 0, 0, 918, 918, 918, 918, 919, 919, 919, - 0, 0, 919, 0, 919, 919, 919, 919, 919, 919, - 922, 922, 922, 0, 0, 922, 0, 922, 922, 922, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 914, 916, 916, 916, 916, 0, 0, 916, 0, + 0, 0, 916, 916, 916, 916, 922, 922, 922, 922, + 0, 0, 922, 922, 922, 0, 0, 0, 0, 0, + 0, 0, 0, 922, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 922, 932, 932, 932, 932, 0, 0, 932, 0, + 0, 0, 932, 932, 932, 932, 977, 977, 977, 977, + 977, 977, 977, 977, 978, 978, 978, 978, 978, 978, + 978, 978, 979, 979, 979, 979, 979, 979, 979, 979, - 922, 922, 922, 926, 926, 926, 0, 0, 926, 0, - 0, 0, 926, 926, 926, 926, 927, 927, 927, 0, - 0, 927, 0, 927, 927, 927, 927, 927, 927, 930, - 930, 930, 0, 0, 930, 0, 930, 930, 930, 930, - 930, 930, 975, 975, 975, 975, 975, 975, 975, 975, - 976, 976, 976, 976, 976, 976, 976, 976, 977, 977, - 977, 977, 977, 977, 977, 977, 978, 978, 978, 978, - 978, 978, 978, 978, 979, 979, 979, 979, 979, 979, - 979, 979, 980, 0, 0, 980, 981, 0, 0, 981, - 982, 0, 0, 982, 0, 982, 982, 982, 983, 983, + 980, 980, 980, 980, 980, 980, 980, 980, 981, 981, + 0, 981, 981, 981, 981, 981, 982, 982, 0, 982, + 982, 982, 982, 982, 983, 0, 0, 983, 984, 0, + 0, 984, 985, 0, 0, 985, 0, 985, 985, 985, + 986, 986, 0, 986, 986, 986, 986, 986, 987, 0, + 0, 987, 0, 987, 987, 988, 988, 0, 988, 988, + 988, 988, 988, 989, 989, 0, 989, 0, 989, 989, + 989, 990, 990, 0, 990, 990, 990, 990, 990, 991, + 991, 991, 991, 991, 991, 991, 991, 992, 992, 992, + 992, 992, 992, 992, 992, 993, 993, 0, 0, 993, - 983, 983, 983, 983, 983, 983, 984, 0, 0, 984, - 0, 984, 984, 985, 985, 985, 985, 985, 985, 985, - 985, 986, 986, 0, 986, 0, 986, 986, 986, 987, - 987, 987, 987, 987, 987, 987, 987, 988, 988, 0, - 988, 988, 988, 988, 988, 989, 989, 989, 989, 989, - 989, 989, 989, 990, 990, 990, 990, 990, 990, 990, - 990, 991, 991, 0, 0, 991, 991, 993, 993, 993, - 993, 993, 993, 993, 993, 994, 994, 994, 994, 994, - 994, 994, 994, 995, 995, 995, 995, 995, 995, 995, - 995, 996, 996, 996, 996, 996, 996, 996, 996, 998, + 993, 995, 995, 995, 995, 995, 995, 995, 995, 996, + 996, 996, 996, 996, 996, 996, 996, 997, 997, 997, + 997, 997, 997, 997, 997, 998, 998, 998, 998, 998, + 998, 998, 998, 1000, 1000, 1000, 1000, 1000, 1000, 1000, + 1000, 1001, 1001, 0, 1001, 1001, 1001, 1001, 1001, 1002, + 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1003, 1003, + 1003, 1003, 1003, 1003, 1003, 1004, 1004, 0, 1004, 0, + 1004, 1004, 1004, 1005, 1005, 0, 1005, 1005, 1005, 1005, + 1005, 1007, 1007, 0, 1007, 1007, 1007, 1007, 1007, 1008, + 0, 0, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, - 998, 998, 998, 998, 998, 998, 998, 999, 999, 999, - 999, 999, 999, 999, 999, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1001, 1001, 0, 1001, 0, 1001, 1001, - 1001, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1004, - 1004, 0, 1004, 1004, 1004, 1004, 1004, 1005, 1005, 1005, - 1005, 1005, 1005, 1005, 1005, 1006, 0, 0, 1006, 1007, - 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1008, 1009, 1009, 0, 0, 1009, - 1009, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1012, - 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1013, 1013, - - 1013, 1013, 1013, 1013, 1013, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1018, + 1009, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1011, + 1011, 0, 0, 1011, 1011, 1013, 1013, 1013, 1013, 1013, + 1013, 1013, 1013, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1025, 1025, 1025, 1025, - 1025, 1025, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1025, 1025, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1030, 0, 0, 1030, 1031, - 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032, 1032, 1032, - 1032, 1032, 1032, 1032, 1032, 1033, 1033, 1033, 1033, 1033, - 1033, 1033, 1033, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - 1035, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1037, - 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1029, 1029, 1029, 1029, 1029, 1030, 1030, 1030, 1030, 1030, + 1030, 1030, 1030, 1031, 1031, 1031, 1031, 1031, 1031, 1031, + 1031, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1033, + 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1034, 1034, 0, + 1034, 1034, 1034, 1034, 1034, 1035, 0, 0, 1035, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1037, 1037, 1037, + 1037, 1037, 1037, 1037, 1037, 1038, 1038, 1038, 1038, 1038, + 1038, 1038, 1038, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, 1044, 1044, 1044, @@ -2475,19 +2558,19 @@ static yyconst short int yy_chk[8306] = 1048, 1048, 1048, 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1052, - 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1053, 0, 0, - 1053, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, - 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1056, 1056, 1056, - 1056, 1056, 1056, 1056, 1056, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1058, 1058, 1058, 1058, 1058, 1058, 1058, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1053, 1053, 1053, + 1053, 1053, 1053, 1053, 1053, 1054, 1054, 1054, 1054, 1054, + 1054, 1054, 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, + 1055, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1057, + 1057, 0, 1057, 1057, 1057, 1057, 1057, 1058, 0, 0, 1058, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065, - 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066, 1066, + 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1070, @@ -2497,19 +2580,19 @@ static yyconst short int yy_chk[8306] = 1073, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077, 1077, 1077, 1077, 1077, - 1077, 1077, 1077, 1078, 1078, 1078, 1078, 1078, 1078, 1078, + 1077, 1077, 1077, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1080, - 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1081, 0, 0, - 1081, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1083, - 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1085, 1085, 1085, 1085, 1085, + 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1081, 1081, 1081, + 1081, 1081, 1081, 1081, 1081, 1082, 1082, 1082, 1082, 1082, + 1082, 1082, 1082, 1083, 1083, 0, 1083, 1083, 1083, 1083, + 1083, 1084, 0, 0, 1084, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1090, 1090, 1090, 1090, 1090, - 1090, 1090, 1090, 1091, 1091, 1091, 1091, 1091, 1091, 1091, + 1090, 1090, 1090, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1095, 1095, 1095, 1095, 1095, @@ -2519,42 +2602,26 @@ static yyconst short int yy_chk[8306] = 1099, 1099, 1099, 1099, 1099, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103, - 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1104, 1104, 1104, + 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108, - 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, - 1109, 1109, 1109, 1109, 1109, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1111, - 1111, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 1114, - 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, - 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1109, 1109, 0, + 1109, 1109, 1109, 1109, 1109, 1110, 0, 0, 1110, 1111, + 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112, + 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1116, - 1116, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119, 1119, - 1119, 1119, 1119, 1119, 1119, 1120, 1120, 1120, 1120, 1120, - 1120, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121, - 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1123, - 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, - 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, - 0, 0, 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1129, - - 1129, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1131, - 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1132, 1132, 1132, - 1132, 1132, 1132, 1132, 1132, 1133, 1133, 1133, 1133, 1133, - 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134, - 1134, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1136, - 1136, 0, 1136, 1136, 1136, 1136, 1136, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974 + 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, + 1117, 1117, 1117, 1117, 1117, 1118, 1118, 0, 1118, 1118, + 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1119, + 1119, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 976, 976 } ; static yy_state_type yy_last_accepting_state; @@ -2593,12 +2660,11 @@ char *yytext; * Daniel Woods (first port) ************************************************** */ -#line 30 "vrmlLexer.lxx" +#line 26 "vrmlLexer.lxx" #include "pandatoolbase.h" #include "vrmlNode.h" #include "vrmlParser.h" -#include "indent.h" #include "pnotify.h" static int yyinput(void); // declared by flex. @@ -2608,10 +2674,9 @@ extern "C" int vrmlyywrap(); // Static variables //////////////////////////////////////////////////////////////////// -// We'll increment line_number and col_number as we parse the file, so +// We'll increment line_number as we parse the file, so // that we can report the position of an error. static int line_number = 0; -static int col_number = 0; // current_line holds as much of the current line as will fit. Its // only purpose is for printing it out to report an error to the user. @@ -2652,7 +2717,6 @@ vrml_init_lexer(istream &in, const string &filename) { inp = ∈ vrml_filename = filename; line_number = 0; - col_number = 0; error_count = 0; warning_count = 0; } @@ -2673,10 +2737,8 @@ vrmlyyerror(const string &msg) { cerr << " in " << vrml_filename; } cerr - << " at line " << line_number << ", column " << col_number << ":\n" + << " at line " << line_number << ":\n" << current_line << "\n"; - indent(cerr, col_number-1) - << "^\n" << msg << "\n\n"; error_count++; } @@ -2688,10 +2750,8 @@ vrmlyywarning(const string &msg) { cerr << " in " << vrml_filename; } cerr - << " at line " << line_number << ", column " << col_number << ":\n" + << " at line " << line_number << ":\n" << current_line << "\n"; - indent(cerr, col_number-1) - << "^\n" << msg << "\n\n"; warning_count++; } @@ -2717,7 +2777,6 @@ input_chars(char *buffer, int &result, int max_size) { strncpy(current_line, vrmlyytext, max_error_width); current_line[max_error_width] = '\0'; line_number++; - col_number = 0; // Truncate it at the newline. char *end = strchr(current_line, '\n'); @@ -2786,11 +2845,12 @@ void extract_vec(double vec[], int num_elements) { /* extremely unlikely that the user will put in a carriage return */ /* (example: between the floats in an SFVec3f) */ /* And the same pattern without the newline */ +/* Here's a pattern that matches a single newline character. */ /* Legal characters to start an identifier */ /* Legal other characters in an identifier */ /*idRestChar ([^\x00-\x20\x22\x23\x27\x2b-\x2e\x5b-\x5d\x7b\x7d])*/ /* Allow hyphen (0x2d) in identifiers. */ -#line 2799 "lex.yy.c" +#line 2855 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -2941,7 +3001,7 @@ YY_DECL register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 219 "vrmlLexer.lxx" +#line 209 "vrmlLexer.lxx" @@ -2989,7 +3049,7 @@ YY_DECL /* This is more complicated than they really need to be because */ /* I was ambitious and made the whitespace-matching rule aggressive */ -#line 2998 "lex.yy.c" +#line 3054 "lex.yy.c" if ( yy_init ) { @@ -3040,13 +3100,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 975 ) + if ( yy_current_state >= 977 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 8258 ); + while ( yy_base[yy_current_state] != 8632 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3074,7 +3134,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 266 "vrmlLexer.lxx" +#line 256 "vrmlLexer.lxx" { BEGIN NODE; } @@ -3084,68 +3144,68 @@ YY_RULE_SETUP /* or when parsing the contents of SFNode or MFNode fields. */ case 2: YY_RULE_SETUP -#line 273 "vrmlLexer.lxx" +#line 263 "vrmlLexer.lxx" { return PROTO; } YY_BREAK case 3: YY_RULE_SETUP -#line 274 "vrmlLexer.lxx" +#line 264 "vrmlLexer.lxx" { return EXTERNPROTO; } YY_BREAK case 4: YY_RULE_SETUP -#line 275 "vrmlLexer.lxx" +#line 265 "vrmlLexer.lxx" { return DEF; } YY_BREAK case 5: YY_RULE_SETUP -#line 276 "vrmlLexer.lxx" +#line 266 "vrmlLexer.lxx" { return USE; } YY_BREAK case 6: YY_RULE_SETUP -#line 277 "vrmlLexer.lxx" +#line 267 "vrmlLexer.lxx" { return TO; } YY_BREAK case 7: YY_RULE_SETUP -#line 278 "vrmlLexer.lxx" +#line 268 "vrmlLexer.lxx" { return IS; } YY_BREAK case 8: YY_RULE_SETUP -#line 279 "vrmlLexer.lxx" +#line 269 "vrmlLexer.lxx" { return ROUTE; } YY_BREAK case 9: YY_RULE_SETUP -#line 280 "vrmlLexer.lxx" +#line 270 "vrmlLexer.lxx" { return SFN_NULL; } YY_BREAK case 10: YY_RULE_SETUP -#line 281 "vrmlLexer.lxx" +#line 271 "vrmlLexer.lxx" { return EVENTIN; } YY_BREAK case 11: YY_RULE_SETUP -#line 282 "vrmlLexer.lxx" +#line 272 "vrmlLexer.lxx" { return EVENTOUT; } YY_BREAK case 12: YY_RULE_SETUP -#line 283 "vrmlLexer.lxx" +#line 273 "vrmlLexer.lxx" { return FIELD; } YY_BREAK case 13: YY_RULE_SETUP -#line 284 "vrmlLexer.lxx" +#line 274 "vrmlLexer.lxx" { return EXPOSEDFIELD; } YY_BREAK /* Legal identifiers: */ case 14: YY_RULE_SETUP -#line 287 "vrmlLexer.lxx" +#line 277 "vrmlLexer.lxx" { vrmlyylval.string = strdup(yytext); return IDENTIFIER; @@ -3157,7 +3217,7 @@ YY_RULE_SETUP will keep them sorted out. */ case 15: YY_RULE_SETUP -#line 295 "vrmlLexer.lxx" +#line 285 "vrmlLexer.lxx" { vrmlyylval.string = strdup(yytext); return IDENTIFIER; @@ -3166,7 +3226,7 @@ YY_RULE_SETUP /* All fields may have an IS declaration: */ case 16: YY_RULE_SETUP -#line 301 "vrmlLexer.lxx" +#line 291 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3175,7 +3235,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 307 "vrmlLexer.lxx" +#line 297 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3187,7 +3247,7 @@ YY_RULE_SETUP /* share the same rules for open and closing brackets: */ case 18: YY_RULE_SETUP -#line 316 "vrmlLexer.lxx" +#line 306 "vrmlLexer.lxx" { if (parsing_mf) vrmlyyerror("Double ["); parsing_mf = 1; @@ -3196,7 +3256,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 322 "vrmlLexer.lxx" +#line 312 "vrmlLexer.lxx" { if (!parsing_mf) vrmlyyerror("Unmatched ]"); int fieldType = expectToken; @@ -3209,7 +3269,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 332 "vrmlLexer.lxx" +#line 322 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3219,7 +3279,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 339 "vrmlLexer.lxx" +#line 329 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3229,7 +3289,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 346 "vrmlLexer.lxx" +#line 336 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3239,7 +3299,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 353 "vrmlLexer.lxx" +#line 343 "vrmlLexer.lxx" { VrmlFieldValue v; v._sfint32 = extract_int(); @@ -3257,7 +3317,7 @@ YY_RULE_SETUP /* All the floating-point types are pretty similar: */ case 24: YY_RULE_SETUP -#line 368 "vrmlLexer.lxx" +#line 358 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3267,7 +3327,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 375 "vrmlLexer.lxx" +#line 365 "vrmlLexer.lxx" { VrmlFieldValue v; v._sffloat = extract_float(); @@ -3286,7 +3346,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 391 "vrmlLexer.lxx" +#line 381 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3296,7 +3356,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 398 "vrmlLexer.lxx" +#line 388 "vrmlLexer.lxx" { VrmlFieldValue v; extract_vec(v._sfvec, 2); @@ -3313,7 +3373,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 412 "vrmlLexer.lxx" +#line 402 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3323,7 +3383,7 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 419 "vrmlLexer.lxx" +#line 409 "vrmlLexer.lxx" { VrmlFieldValue v; extract_vec(v._sfvec, 3); @@ -3340,7 +3400,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 433 "vrmlLexer.lxx" +#line 423 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3350,7 +3410,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 440 "vrmlLexer.lxx" +#line 430 "vrmlLexer.lxx" { VrmlFieldValue v; extract_vec(v._sfvec, 4); @@ -3367,7 +3427,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 454 "vrmlLexer.lxx" +#line 444 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3377,7 +3437,7 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 461 "vrmlLexer.lxx" +#line 451 "vrmlLexer.lxx" { VrmlFieldValue v; extract_vec(v._sfvec, 3); @@ -3394,7 +3454,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 475 "vrmlLexer.lxx" +#line 465 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3405,7 +3465,7 @@ YY_RULE_SETUP /* SFString/MFString */ case 35: YY_RULE_SETUP -#line 483 "vrmlLexer.lxx" +#line 473 "vrmlLexer.lxx" { BEGIN IN_SFS; quoted_string = ""; @@ -3413,7 +3473,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 488 "vrmlLexer.lxx" +#line 478 "vrmlLexer.lxx" { BEGIN IN_MFS; quoted_string = ""; @@ -3422,7 +3482,7 @@ YY_RULE_SETUP /* Anything besides open-quote (or whitespace) is an error: */ case 37: YY_RULE_SETUP -#line 494 "vrmlLexer.lxx" +#line 484 "vrmlLexer.lxx" { vrmlyyerror("String missing open-quote"); BEGIN NODE; @@ -3434,7 +3494,7 @@ YY_RULE_SETUP /* Expect open-quote, open-bracket, or whitespace: */ case 38: YY_RULE_SETUP -#line 503 "vrmlLexer.lxx" +#line 493 "vrmlLexer.lxx" { vrmlyyerror("String missing open-quote"); BEGIN NODE; @@ -3445,7 +3505,7 @@ YY_RULE_SETUP /* Backslashed-quotes are OK: */ case 39: YY_RULE_SETUP -#line 511 "vrmlLexer.lxx" +#line 501 "vrmlLexer.lxx" { quoted_string += '"'; } @@ -3456,7 +3516,7 @@ YY_RULE_SETUP /* rule that applies to everything. */ case 40: YY_RULE_SETUP -#line 519 "vrmlLexer.lxx" +#line 509 "vrmlLexer.lxx" { quoted_string += yytext; } @@ -3464,7 +3524,7 @@ YY_RULE_SETUP /* Quote ends the string: */ case 41: YY_RULE_SETUP -#line 524 "vrmlLexer.lxx" +#line 514 "vrmlLexer.lxx" { BEGIN NODE; expectToken = 0; @@ -3474,7 +3534,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 531 "vrmlLexer.lxx" +#line 521 "vrmlLexer.lxx" { VrmlFieldValue v; v._sfstring = strdup(quoted_string.c_str()); @@ -3494,7 +3554,7 @@ YY_RULE_SETUP /* SFImage: width height numComponents then width*height integers: */ case 43: YY_RULE_SETUP -#line 548 "vrmlLexer.lxx" +#line 538 "vrmlLexer.lxx" { int w, h; sscanf(yytext, "%d %d", &w, &h); sfImageIntsExpected = 1+w*h; @@ -3504,39 +3564,51 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 554 "vrmlLexer.lxx" +#line 544 "vrmlLexer.lxx" { ++sfImageIntsParsed; if (sfImageIntsParsed == sfImageIntsExpected) { - BEGIN NODE; expectToken = 0; return SFIMAGE; + BEGIN NODE; expectToken = 0; return SFIMAGE; } } YY_BREAK /* Whitespace and catch-all rules apply to all start states: */ case 45: YY_RULE_SETUP -#line 561 "vrmlLexer.lxx" +#line 551 "vrmlLexer.lxx" ; YY_BREAK -/* This is also whitespace, but we'll keep track of line number */ +/* A newline is also whitespace, but we'll keep track of line number */ /* to report in errors: */ case 46: YY_RULE_SETUP -#line 564 "vrmlLexer.lxx" -; +#line 555 "vrmlLexer.lxx" +{ + // Save a copy of the line so we can print it out for the benefit of + // the user in case we get an error. + strncpy(current_line, yytext+1, max_error_width); + current_line[max_error_width] = '\0'; + line_number++; + + // Return the whole line to the lexer, except the newline character, + // which we eat. + yyless(1); +} YY_BREAK /* This catch-all rule catches anything not covered by any of */ /* the above: */ case 47: YY_RULE_SETUP -#line 568 "vrmlLexer.lxx" -{ return yytext[0]; } +#line 569 "vrmlLexer.lxx" +{ + return yytext[0]; +} YY_BREAK case 48: YY_RULE_SETUP -#line 570 "vrmlLexer.lxx" +#line 573 "vrmlLexer.lxx" ECHO; YY_BREAK -#line 3545 "lex.yy.c" +#line 3613 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(NODE): case YY_STATE_EOF(SFB): @@ -3849,7 +3921,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 975 ) + if ( yy_current_state >= 977 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -3884,11 +3956,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 975 ) + if ( yy_current_state >= 977 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 974); + yy_is_jam = (yy_current_state == 976); return yy_is_jam ? 0 : yy_current_state; } @@ -4439,4 +4511,4 @@ int main() return 0; } #endif -#line 570 "vrmlLexer.lxx" +#line 573 "vrmlLexer.lxx" diff --git a/pandatool/src/vrml/vrmlLexer.lxx b/pandatool/src/vrml/vrmlLexer.lxx index 7b6759dee3..a0b531f8e6 100644 --- a/pandatool/src/vrml/vrmlLexer.lxx +++ b/pandatool/src/vrml/vrmlLexer.lxx @@ -27,7 +27,6 @@ #include "vrmlNode.h" #include "vrmlParser.h" -#include "indent.h" #include "pnotify.h" static int yyinput(void); // declared by flex. @@ -37,10 +36,9 @@ extern "C" int vrmlyywrap(); // Static variables //////////////////////////////////////////////////////////////////// -// We'll increment line_number and col_number as we parse the file, so +// We'll increment line_number as we parse the file, so // that we can report the position of an error. static int line_number = 0; -static int col_number = 0; // current_line holds as much of the current line as will fit. Its // only purpose is for printing it out to report an error to the user. @@ -81,7 +79,6 @@ vrml_init_lexer(istream &in, const string &filename) { inp = ∈ vrml_filename = filename; line_number = 0; - col_number = 0; error_count = 0; warning_count = 0; } @@ -102,10 +99,8 @@ vrmlyyerror(const string &msg) { cerr << " in " << vrml_filename; } cerr - << " at line " << line_number << ", column " << col_number << ":\n" + << " at line " << line_number << ":\n" << current_line << "\n"; - indent(cerr, col_number-1) - << "^\n" << msg << "\n\n"; error_count++; } @@ -117,10 +112,8 @@ vrmlyywarning(const string &msg) { cerr << " in " << vrml_filename; } cerr - << " at line " << line_number << ", column " << col_number << ":\n" + << " at line " << line_number << ":\n" << current_line << "\n"; - indent(cerr, col_number-1) - << "^\n" << msg << "\n\n"; warning_count++; } @@ -146,7 +139,6 @@ input_chars(char *buffer, int &result, int max_size) { strncpy(current_line, vrmlyytext, max_error_width); current_line[max_error_width] = '\0'; line_number++; - col_number = 0; // Truncate it at the newline. char *end = strchr(current_line, '\n'); @@ -192,7 +184,7 @@ void extract_vec(double vec[], int num_elements) { %x IN_SFS IN_MFS IN_SFIMG /* Big hairy expression for floating point numbers: */ -float (-?(([0-9]+)|([0-9]*\.[0-9]+)([eE][+\-]?[0-9]+)?)) +float (-?((([0-9]+)|([0-9]*\.[0-9]+))([eE][+\-]?[0-9]+)?)) /* Ints are decimal or hex (0x##): */ int (-?([0-9]+)|(0[xX][0-9a-fA-F]*)) @@ -204,6 +196,8 @@ int (-?([0-9]+)|(0[xX][0-9a-fA-F]*)) ws ([ \t\r\n,]|(#.*))+ /* And the same pattern without the newline */ wsnnl ([ \t\r,]|(#.*)) + /* Here's a pattern that matches a single newline character. */ +nl ((\n)|(\n\r)|(\r\n)|(\r)) /* Legal characters to start an identifier */ idStartChar ([^\x30-\x39\x00-\x20\x22\x23\x27\x2b-\x2e\x5b-\x5d\x7b\x7d]) @@ -259,7 +253,7 @@ idRestChar ([^\x00-\x20\x22\x23\x27\x2b-\x2c\x2e\x5b-\x5d\x7b\x7d]) /* This is more complicated than they really need to be because */ /* I was ambitious and made the whitespace-matching rule aggressive */ -"#VRML V2.0 utf8".*\n{wsnnl}* { +"#VRML V2.0 utf8".*{nl}{wsnnl}* { BEGIN NODE; } @@ -549,17 +543,30 @@ idRestChar ([^\x00-\x20\x22\x23\x27\x2b-\x2c\x2e\x5b-\x5d\x7b\x7d]) } {int} { ++sfImageIntsParsed; if (sfImageIntsParsed == sfImageIntsExpected) { - BEGIN NODE; expectToken = 0; return SFIMAGE; + BEGIN NODE; expectToken = 0; return SFIMAGE; } } /* Whitespace and catch-all rules apply to all start states: */ -<*>{wsnnl}+ ; - /* This is also whitespace, but we'll keep track of line number */ +<*>{wsnnl}+ ; + + /* A newline is also whitespace, but we'll keep track of line number */ /* to report in errors: */ -<*>{wsnnl}*\n{wsnnl}* ; +<*>\n.* { + // Save a copy of the line so we can print it out for the benefit of + // the user in case we get an error. + strncpy(current_line, yytext+1, max_error_width); + current_line[max_error_width] = '\0'; + line_number++; + + // Return the whole line to the lexer, except the newline character, + // which we eat. + yyless(1); +} /* This catch-all rule catches anything not covered by any of */ /* the above: */ -<*>. { return yytext[0]; } +<*>. { + return yytext[0]; +} diff --git a/pandatool/src/vrml/vrmlParser.cxx.prebuilt b/pandatool/src/vrml/vrmlParser.cxx.prebuilt index fd68dab5c7..e2f8e2de31 100644 --- a/pandatool/src/vrml/vrmlParser.cxx.prebuilt +++ b/pandatool/src/vrml/vrmlParser.cxx.prebuilt @@ -132,7 +132,7 @@ /* Copy the first part of user declarations. */ -#line 27 "vrmlParser.yxx" +#line 23 "vrmlParser.yxx" // @@ -240,7 +240,7 @@ vrml_cleanup_parser() { #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 120 "vrmlParser.yxx" +#line 116 "vrmlParser.yxx" typedef union YYSTYPE { char *string; VrmlFieldValue fv; @@ -460,14 +460,14 @@ static const yysigned_char yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 151, 151, 159, 162, 169, 170, 174, 180, 186, - 195, 196, 200, 200, 206, 208, 206, 211, 213, 217, - 219, 222, 221, 233, 232, 245, 247, 251, 253, 255, - 257, 262, 267, 267, 271, 273, 277, 277, 284, 285, - 288, 289, 290, 290, 294, 296, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 319, 320, 326, 327, 331, 335, 346, - 349 + 0, 147, 147, 155, 158, 165, 166, 170, 176, 182, + 191, 192, 196, 196, 202, 204, 202, 207, 209, 213, + 215, 218, 217, 229, 228, 241, 243, 247, 249, 251, + 253, 258, 263, 263, 267, 269, 273, 273, 280, 281, + 284, 285, 286, 286, 290, 292, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 315, 316, 322, 323, 327, 331, 342, + 345 }; #endif @@ -1281,21 +1281,21 @@ yyreduce: switch (yyn) { case 2: -#line 152 "vrmlParser.yxx" +#line 148 "vrmlParser.yxx" { parsed_scene = (yyvsp[0].scene); } break; case 3: -#line 159 "vrmlParser.yxx" +#line 155 "vrmlParser.yxx" { (yyval.scene) = new VrmlScene; } break; case 4: -#line 163 "vrmlParser.yxx" +#line 159 "vrmlParser.yxx" { Declaration d; d._node = (yyvsp[0].nodeRef); @@ -1305,7 +1305,7 @@ yyreduce: break; case 7: -#line 175 "vrmlParser.yxx" +#line 171 "vrmlParser.yxx" { (yyval.nodeRef)._p = (yyvsp[0].node); (yyval.nodeRef)._type = SFNodeRef::T_unnamed; @@ -1314,7 +1314,7 @@ yyreduce: break; case 8: -#line 181 "vrmlParser.yxx" +#line 177 "vrmlParser.yxx" { (yyval.nodeRef)._p = (yyvsp[0].node); (yyval.nodeRef)._type = SFNodeRef::T_def; @@ -1323,7 +1323,7 @@ yyreduce: break; case 9: -#line 187 "vrmlParser.yxx" +#line 183 "vrmlParser.yxx" { (yyval.nodeRef)._p = NULL; (yyval.nodeRef)._type = SFNodeRef::T_use; @@ -1332,44 +1332,44 @@ yyreduce: break; case 12: -#line 200 "vrmlParser.yxx" +#line 196 "vrmlParser.yxx" { beginProto((yyvsp[0].string)); } break; case 13: -#line 202 "vrmlParser.yxx" +#line 198 "vrmlParser.yxx" { endProto(); free((yyvsp[-7].string));} break; case 14: -#line 206 "vrmlParser.yxx" +#line 202 "vrmlParser.yxx" { beginProto((yyvsp[0].string)); } break; case 15: -#line 208 "vrmlParser.yxx" +#line 204 "vrmlParser.yxx" { expect(MFSTRING); } break; case 16: -#line 209 "vrmlParser.yxx" +#line 205 "vrmlParser.yxx" { endProto(); free((yyvsp[-6].string)); } break; case 19: -#line 217 "vrmlParser.yxx" +#line 213 "vrmlParser.yxx" { addEventIn((yyvsp[-1].string), (yyvsp[0].string)); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 20: -#line 219 "vrmlParser.yxx" +#line 215 "vrmlParser.yxx" { addEventOut((yyvsp[-1].string), (yyvsp[0].string)); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 21: -#line 222 "vrmlParser.yxx" +#line 218 "vrmlParser.yxx" { int type = fieldType((yyvsp[-1].string)); expect(type); @@ -1377,7 +1377,7 @@ yyreduce: break; case 22: -#line 227 "vrmlParser.yxx" +#line 223 "vrmlParser.yxx" { addField((yyvsp[-3].string), (yyvsp[-2].string), &((yyvsp[0].fv))); free((yyvsp[-3].string)); @@ -1386,7 +1386,7 @@ yyreduce: break; case 23: -#line 233 "vrmlParser.yxx" +#line 229 "vrmlParser.yxx" { int type = fieldType((yyvsp[-1].string)); expect(type); @@ -1394,7 +1394,7 @@ yyreduce: break; case 24: -#line 238 "vrmlParser.yxx" +#line 234 "vrmlParser.yxx" { addExposedField((yyvsp[-3].string), (yyvsp[-2].string), &((yyvsp[0].fv))); free((yyvsp[-3].string)); @@ -1403,51 +1403,51 @@ yyreduce: break; case 27: -#line 251 "vrmlParser.yxx" +#line 247 "vrmlParser.yxx" { addEventIn((yyvsp[-1].string), (yyvsp[0].string)); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 28: -#line 253 "vrmlParser.yxx" +#line 249 "vrmlParser.yxx" { addEventOut((yyvsp[-1].string), (yyvsp[0].string)); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 29: -#line 255 "vrmlParser.yxx" +#line 251 "vrmlParser.yxx" { addField((yyvsp[-1].string), (yyvsp[0].string)); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 30: -#line 257 "vrmlParser.yxx" +#line 253 "vrmlParser.yxx" { addExposedField((yyvsp[-1].string), (yyvsp[0].string)); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 31: -#line 263 "vrmlParser.yxx" +#line 259 "vrmlParser.yxx" { free((yyvsp[-6].string)); free((yyvsp[-4].string)); free((yyvsp[-2].string)); free((yyvsp[0].string)); } break; case 32: -#line 267 "vrmlParser.yxx" +#line 263 "vrmlParser.yxx" { enterNode((yyvsp[0].string)); } break; case 33: -#line 268 "vrmlParser.yxx" +#line 264 "vrmlParser.yxx" { (yyval.node) = exitNode(); free((yyvsp[-4].string));} break; case 36: -#line 277 "vrmlParser.yxx" +#line 273 "vrmlParser.yxx" { enterField((yyvsp[0].string)); } break; case 37: -#line 279 "vrmlParser.yxx" +#line 275 "vrmlParser.yxx" { storeField((yyvsp[0].fv)); exitField(); @@ -1456,44 +1456,44 @@ yyreduce: break; case 40: -#line 288 "vrmlParser.yxx" +#line 284 "vrmlParser.yxx" { inScript(); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 41: -#line 289 "vrmlParser.yxx" +#line 285 "vrmlParser.yxx" { inScript(); free((yyvsp[-1].string)); free((yyvsp[0].string)); } break; case 42: -#line 290 "vrmlParser.yxx" +#line 286 "vrmlParser.yxx" { inScript(); int type = fieldType((yyvsp[-1].string)); expect(type); } break; case 43: -#line 293 "vrmlParser.yxx" +#line 289 "vrmlParser.yxx" { free((yyvsp[-3].string)); free((yyvsp[-2].string)); } break; case 44: -#line 295 "vrmlParser.yxx" +#line 291 "vrmlParser.yxx" { inScript(); free((yyvsp[-3].string)); free((yyvsp[-2].string)); free((yyvsp[0].string)); } break; case 45: -#line 297 "vrmlParser.yxx" +#line 293 "vrmlParser.yxx" { inScript(); free((yyvsp[-3].string)); free((yyvsp[-2].string)); free((yyvsp[0].string)); } break; case 63: -#line 319 "vrmlParser.yxx" +#line 315 "vrmlParser.yxx" { (yyval.fv)._sfnode = (yyvsp[0].nodeRef); } break; case 64: -#line 321 "vrmlParser.yxx" +#line 317 "vrmlParser.yxx" { (yyval.fv)._sfnode._p = NULL; (yyval.fv)._sfnode._type = SFNodeRef::T_null; @@ -1502,24 +1502,24 @@ yyreduce: break; case 65: -#line 326 "vrmlParser.yxx" +#line 322 "vrmlParser.yxx" { (yyval.fv)._mf = (yyvsp[0].mfarray); } break; case 66: -#line 327 "vrmlParser.yxx" +#line 323 "vrmlParser.yxx" { free((yyvsp[0].string)); } break; case 67: -#line 332 "vrmlParser.yxx" +#line 328 "vrmlParser.yxx" { (yyval.mfarray) = (yyvsp[-1].mfarray); } break; case 68: -#line 336 "vrmlParser.yxx" +#line 332 "vrmlParser.yxx" { (yyval.mfarray) = new MFArray; VrmlFieldValue v; @@ -1529,14 +1529,14 @@ yyreduce: break; case 69: -#line 346 "vrmlParser.yxx" +#line 342 "vrmlParser.yxx" { (yyval.mfarray) = new MFArray; } break; case 70: -#line 350 "vrmlParser.yxx" +#line 346 "vrmlParser.yxx" { VrmlFieldValue v; v._sfnode = (yyvsp[0].nodeRef); @@ -1777,7 +1777,7 @@ yyreturn: } -#line 358 "vrmlParser.yxx" +#line 354 "vrmlParser.yxx" static void diff --git a/pandatool/src/vrml/vrmlParser.h.prebuilt b/pandatool/src/vrml/vrmlParser.h.prebuilt index 5eb392111d..c8cc86fd5e 100644 --- a/pandatool/src/vrml/vrmlParser.h.prebuilt +++ b/pandatool/src/vrml/vrmlParser.h.prebuilt @@ -100,7 +100,7 @@ #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 120 "vrmlParser.yxx" +#line 116 "vrmlParser.yxx" typedef union YYSTYPE { char *string; VrmlFieldValue fv;