#define yy_create_buffer scanYY_create_buffer #define yy_delete_buffer scanYY_delete_buffer #define yy_scan_buffer scanYY_scan_buffer #define yy_scan_string scanYY_scan_string #define yy_scan_bytes scanYY_scan_bytes #define yy_flex_debug scanYY_flex_debug #define yy_init_buffer scanYY_init_buffer #define yy_flush_buffer scanYY_flush_buffer #define yy_load_buffer_state scanYY_load_buffer_state #define yy_switch_to_buffer scanYY_switch_to_buffer #define yyin scanYYin #define yyleng scanYYleng #define yylex scanYYlex #define yyout scanYYout #define yyrestart scanYYrestart #define yytext scanYYtext /* A lexical scanner generated by flex */ /* Scanner skeleton version: * $Header$ */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #include /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ #ifdef c_plusplus #ifndef __cplusplus #define __cplusplus #endif #endif #ifdef __cplusplus #include #include /* Use prototypes in function declarations. */ #define YY_USE_PROTOS /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ #if __STDC__ #define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #endif /* ! __cplusplus */ #ifdef __TURBOC__ #pragma warn -rch #pragma warn -use #include #include #define YY_USE_CONST #define YY_USE_PROTOS #endif #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif #ifdef YY_USE_PROTOS #define YY_PROTO(proto) proto #else #define YY_PROTO(proto) () #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN yy_start = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START ((yy_start - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #define YY_BUF_SIZE 16384 typedef struct yy_buffer_state *YY_BUFFER_STATE; extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 /* The funky do-while in the following #define is used to turn the definition * int a single C statement (which needs a semi-colon terminator). This * avoids problems with code like: * * if ( condition_holds ) * yyless( 5 ); * else * do_something_else(); * * Prior to using the do-while the compiler would get upset at the * "else" because it interpreted the "if" statement as being all * done when it reached the ';' after the yyless() call. */ /* Return all but the first 'n' matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yytext_ptr ) /* 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). */ typedef unsigned int yy_size_t; struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; static YY_BUFFER_STATE yy_current_buffer = 0; /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". */ #define YY_CURRENT_BUFFER yy_current_buffer /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart YY_PROTO(( FILE *input_file )); void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); void yy_load_buffer_state YY_PROTO(( void )); YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); 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 )); static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! yy_current_buffer ) \ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ yy_current_buffer->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! yy_current_buffer ) \ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ yy_current_buffer->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) #define YY_USES_REJECT #define yywrap() 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern char *yytext; #define yytext_ptr yytext static yy_state_type yy_get_previous_state YY_PROTO(( void )); static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); static int yy_get_next_buffer YY_PROTO(( void )); static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yytext_ptr = yy_bp; \ yyleng = (int) (yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; #define YY_NUM_RULES 596 #define YY_END_OF_BUFFER 597 static yyconst short int yy_acclist[3424] = { 0, 294, 294,16918,16919,16920, 464, 464, 491, 491, 205, 205, 185, 185, 334, 334, 334, 334, 597, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 270, 590, 596, 269, 590, 596, 269, 590, 596, 2, 269, 590, 596, 268, 269, 590, 596, 269, 590, 596, 274, 590, 596, 274, 590, 596, 274, 590, 596, 271, 591, 596, 2, 274, 590, 596, 273, 274, 590, 596, 274, 590, 596, 274, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 391, 590, 596, 392, 590, 596, 397, 590, 596, 590, 596, 590, 596, 396, 590, 596, 394, 590, 596, 395, 590, 596, 405, 590, 596, 393, 590, 596, 590, 596, 591, 596, 2, 590, 596, 415, 590, 596, 590, 596, 406, 590, 596, 404, 590, 596, 416, 590, 596, 403, 590, 596, 403, 590, 596, 402, 403, 590, 596, 402, 591, 596, 2, 402, 403, 590, 596, 403, 590, 596, 403, 590, 596, 403, 590, 596, 222, 590, 596, 590, 596, 214, 590, 596, 223, 590, 596, 223, 590, 596, 213, 590, 596, 231, 590, 596, 231, 591, 596, 2, 231, 590, 596, 262, 590, 596, 275, 590, 596, 330, 590, 596, 280, 590, 596, 590, 596, 280, 590, 596, 280, 590, 596, 285, 590, 596, 279, 590, 596, 261, 590, 596, 281, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 261, 590, 596, 428, 590, 596, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 261, 590, 596, 590, 596, 590, 596, 591, 596, 2, 590, 596, 292, 590, 596, 590, 596, 291, 590, 596, 290, 590, 596, 293, 590, 596, 590, 596, 366, 590, 596, 365, 590, 596, 367, 590, 596, 367, 590, 596, 359, 590, 596, 359, 590, 596, 358, 359, 590, 596, 358, 591, 596, 2, 358, 359, 590, 596, 351, 359, 590, 596, 352, 359, 590, 596, 357, 359, 590, 596, 359, 590, 596, 364, 590, 596, 364, 590, 596, 2, 364, 590, 596, 362, 364, 590, 596, 363, 364, 590, 596, 364, 590, 596, 358, 359, 590, 596, 358, 591, 596, 2, 358, 359, 590, 596, 359, 590, 596, 353, 359, 590, 596, 359, 590, 596, 359, 590, 596, 359, 590, 596, 359, 590, 596, 359, 590, 596, 245, 590, 596, 245, 590, 596, 245, 591, 596, 2, 245, 590, 596, 247, 590, 596, 245, 590, 596, 245, 590, 596, 284, 590, 596, 284, 590, 596, 2, 284, 590, 596, 284, 590, 596, 283, 284, 590, 596, 282, 284, 590, 596, 294, 312, 590, 596, 294, 312, 590, 596, 294, 311, 312, 590, 596, 311, 591, 596, 2, 311, 312, 590, 596, 312, 590, 596, 312, 590, 596, 312, 590, 596, 302, 312, 590, 596, 303, 312, 590, 596, 251, 590, 596, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 252, 590, 596, 590, 596, 590, 596, 459, 591, 596, 2, 590, 596, 590, 596, 458, 590, 596, 590, 596, 379, 385, 590, 596, 379, 385, 590, 596, 378, 591, 596, 2, 379, 385, 590, 596, 376, 379, 385, 590, 596, 379, 385, 590, 596, 379, 385, 590, 596, 379, 385, 590, 596, 369, 379, 385, 590, 596, 370, 379, 385, 590, 596, 379, 385, 590, 596, 377, 379, 385, 590, 596, 380, 591, 596, 379, 385, 590, 596, 379, 385, 590, 596, 372, 590, 596, 390, 590, 596, 390, 590, 596, 389, 591, 596, 2, 390, 590, 596, 387, 390, 590, 596, 390, 590, 596, 390, 590, 596, 390, 590, 596, 385, 590, 596, 385, 590, 596, 2, 385, 590, 596, 385, 590, 596, 385, 590, 596, 368, 385, 590, 596, 264, 590, 596, 264, 590, 596, 266, 591, 596, 2, 264, 590, 596, 264, 590, 596, 264, 590, 596, 589, 590, 596, 589, 590, 596, 589, 590, 596, 2, 589, 590, 596, 590, 596, 589, 590, 596, 590, 596, 590, 596, 588, 591, 596, 2, 590, 596, 590, 596, 217, 590, 596, 218, 590, 596, 215, 590, 596, 216, 590, 596, 501, 503, 590, 596, 501, 503, 590, 596, 503, 590, 596, 502, 591, 596, 2, 501, 503, 590, 596, 503, 590, 596, 503, 590, 596, 501, 503, 590, 596, 501, 503, 590, 596, 503, 590, 596, 503, 590, 596, 499, 503, 590, 596, 503, 590, 596, 289, 590, 596, 289, 590, 596, 288, 289, 590, 596, 288, 591, 596, 2, 288, 289, 590, 596, 289, 590, 596, 287, 289, 590, 596, 286, 289, 590, 596, 411, 590, 596, 412, 590, 596, 413, 590, 596, 414, 590, 596, 304, 590, 596, 420, 422, 590, 596, 420, 422, 590, 596, 417, 420, 422, 590, 596, 417, 591, 596, 2, 417, 420, 422, 590, 596, 422, 590, 596, 420, 422, 590, 596, 559, 590, 596, 559, 590, 596, 559, 590, 596, 561, 591, 596, 2, 559, 590, 596, 559, 590, 596, 559, 590, 596, 557, 559, 590, 596, 559, 590, 596, 559, 590, 596, 559, 590, 596, 559, 590, 596, 559, 590, 596, 559, 590, 596, 434, 590, 596, 434, 590, 596, 434, 590, 596, 435, 591, 596, 2, 434, 590, 596, 434, 590, 596, 434, 590, 596, 434, 590, 596, 434, 590, 596, 432, 434, 590, 596, 434, 590, 596, 434, 590, 596, 431, 435, 591, 596, 2, 434, 590, 596, 434, 590, 596, 434, 590, 596, 510, 590, 596, 510, 590, 596, 509, 510, 590, 596, 508, 591, 596, 2, 510, 590, 596, 510, 590, 596, 510, 590, 596, 509, 510, 590, 596, 510, 590, 596, 510, 590, 596, 510, 590, 596, 509, 510, 590, 596, 510, 590, 596, 510, 590, 596, 560, 590, 596, 560, 590, 596, 560, 590, 596, 563, 591, 596, 2, 560, 590, 596, 560, 590, 596, 560, 590, 596, 560, 590, 596, 560, 590, 596, 560, 590, 596, 564, 591, 596, 2, 560, 590, 596, 560, 590, 596, 590, 596, 461, 591, 596, 2, 590, 596, 590, 596, 590, 596, 460, 590, 596, 590, 596, 590, 596, 467, 591, 596, 2, 590, 596, 590, 596, 466, 590, 596, 466, 590, 596, 590, 596, 469, 591, 596, 2, 590, 596, 590, 596, 468, 590, 596, 468, 590, 596, 555, 590, 596, 555, 590, 596, 542, 591, 596, 2, 555, 590, 596, 544, 555, 590, 596, 555, 590, 596, 555, 590, 596, 555, 590, 596, 590, 596, 591, 596, 2, 590, 596, 547, 590, 596, 590, 596, 546, 590, 596, 590, 596, 555, 590, 596, 556, 591, 596, 555, 590, 596, 555, 590, 596, 555, 590, 596, 555, 590, 596, 548, 555, 590, 596, 554, 590, 596, 554, 590, 596, 2, 554, 590, 596, 553, 554, 590, 596, 554, 590, 596, 539, 590, 596, 457, 590, 596, 537, 590, 596, 537, 590, 596, 537, 590, 596, 532, 591, 596, 2, 537, 590, 596, 537, 590, 596, 537, 590, 596, 537, 590, 596, 537, 590, 596, 537, 590, 596,16918, 16919,16920, 531, 532, 591, 596, 2, 537, 590, 596, 537, 590, 596,16918,16919,16920, 537, 590, 596, 537, 590, 596, 537, 590, 596, 443, 590, 596, 443, 590, 596, 443, 590, 596, 441, 591, 596, 2, 443, 590, 596, 443, 590, 596, 443, 590, 596, 541, 590, 596, 541, 590, 596, 2, 541, 590, 596, 540, 541, 590, 596, 541, 590, 596, 541, 590, 596, 463, 591, 596, 462, 590, 596, 464, 590, 596, 464, 590, 596, 465, 591, 596, 2, 464, 590, 596, 464, 590, 596, 526, 591, 596, 525, 590, 596, 590, 596, 590, 596, 482, 591, 596, 2, 590, 596, 590, 596, 581, 590, 596, 581, 590, 596, 580, 591, 596, 2, 581, 590, 596, 581, 590, 596, 581, 590, 596, 581, 590, 596, 581, 590, 596, 581, 590, 596, 581, 590, 596, 571, 590, 596, 571, 590, 596, 570, 591, 596, 2, 571, 590, 596, 571, 590, 596, 571, 590, 596, 571, 590, 596, 571, 590, 596, 571, 590, 596, 571, 590, 596,16956, 567, 590, 596, 567, 590, 596, 566, 591, 596, 2, 567, 590, 596, 567, 590, 596, 567, 590, 596, 509, 510, 590, 596, 510, 590, 596, 510, 590, 596, 510, 590, 596, 510, 590, 596, 509, 510, 590, 596, 510, 590, 596, 522, 590, 596, 522, 590, 596, 521, 591, 596, 2, 522, 590, 596, 522, 590, 596, 590, 596, 473, 591, 596, 590, 596, 472, 590, 596, 472, 590, 596, 590, 596, 590, 596, 474, 591, 596, 2, 590, 596, 590, 596, 471, 591, 596, 590, 596, 470, 590, 596, 470, 590, 596, 510, 590, 596, 590, 596, 455, 590, 596, 455, 590, 596, 476, 591, 596, 475, 590, 596, 315, 590, 596, 315, 590, 596, 315, 590, 596, 591, 596, 2, 315, 590, 596, 315, 590, 596, 315, 590, 596, 314, 315, 590, 596, 315, 590, 596, 318, 590, 596, 319, 590, 596, 320, 359, 590, 596, 321, 359, 590, 596, 324, 590, 596, 324, 590, 596, 2, 324, 590, 596, 324, 590, 596, 324, 590, 596, 329, 590, 596, 329, 590, 596, 328, 329, 590, 596, 328, 591, 596, 2, 328, 329, 590, 596, 325, 329, 590, 596, 326, 329, 590, 596, 327, 329, 590, 596, 329, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 306, 590, 596, 306, 590, 596, 307, 590, 596, 305, 590, 596, 309, 590, 596, 310, 590, 596, 308, 590, 596, 491, 495, 590, 596, 491, 495, 590, 596, 495, 590, 596, 494, 591, 596, 2, 491, 495, 590, 596, 495, 590, 596, 491, 495, 590, 596, 495, 590, 596, 495, 590, 596, 212, 590, 596, 212, 590, 596, 2, 212, 590, 596, 212, 590, 596, 212, 590, 596, 211, 212, 590, 596, 211, 591, 596, 2, 211, 212, 590, 596, 212, 590, 596, 212, 590, 596, 212, 590, 596, 212, 590, 596, 212, 590, 596, 212, 590, 596, 212, 590, 596, 212, 590, 596, 87, 212, 590, 596, 212, 590, 596, 87, 212, 590, 596, 212, 590, 596, 590, 596, 62, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 63, 590, 596, 590, 596, 20, 590, 596, 20, 590, 596, 2, 20, 590, 596, 20, 590, 596, 20, 590, 596, 20, 590, 596, 20, 590, 596, 20, 590, 596, 197, 212, 590, 596, 197, 212, 590, 596, 209, 591, 596, 197, 212, 590, 596, 198, 212, 590, 596, 198, 212, 590, 596, 198, 212, 590, 596, 199, 212, 590, 596, 199, 212, 590, 596, 199, 212, 590, 596, 205, 206, 590, 596, 205, 206, 590, 596, 205, 206, 590, 596, 204, 591, 596, 2, 205, 206, 590, 596, 206, 590, 596, 206, 590, 596, 205, 206, 590, 596, 206, 590, 596, 40, 590, 596, 40, 590, 596, 590, 596, 41, 590, 596, 41, 590, 596, 42, 591, 596, 2, 41, 590, 596, 41, 590, 596, 41, 590, 596, 39, 590, 596, 590, 596, 200, 590, 596, 200, 590, 596, 590, 596, 201, 590, 596, 201, 590, 596, 187, 590, 596, 590, 596, 590, 596, 181, 590, 596, 181, 590, 596, 183, 590, 596, 183, 590, 596, 184, 590, 596, 185, 590, 596, 185, 590, 596, 185, 591, 596, 2, 185, 590, 596, 185, 590, 596, 186, 590, 596, 530, 591, 596, 529, 590, 596, 106, 590, 596, 106, 590, 596, 106, 590, 596, 104, 590, 596, 104, 590, 596, 104, 590, 596, 105, 590, 596, 105, 590, 596, 105, 590, 596, 107, 590, 596, 107, 590, 596, 107, 590, 596, 112, 590, 596, 112, 590, 596, 111, 591, 596, 2, 112, 590, 596, 112, 590, 596, 112, 590, 596, 590, 596, 590, 596, 50, 590, 596, 50, 591, 596, 2, 50, 590, 596, 590, 596, 590, 596, 591, 596, 2, 590, 596, 590, 596, 68, 590, 596,16453, 590, 596, 35, 590, 596, 35, 590, 596, 33, 34, 591, 596, 2, 35, 590, 596, 35, 590, 596, 35, 590, 596, 35, 590, 596, 35, 590, 596, 590, 596, 30, 590, 596, 30, 590, 596, 47, 590, 596, 47, 590, 596, 2, 47, 590, 596, 47, 590, 596, 590, 596, 590, 596, 2, 590, 596, 590, 596, 70, 590, 596, 72, 590, 596, 590, 596, 590, 596, 73, 591, 596, 2, 590, 596, 590, 596, 83, 591, 596, 82, 590, 596, 82, 590, 596, 82, 590, 596, 590, 596, 77, 590, 596, 77, 590, 596, 77, 590, 596, 77, 590, 596, 590, 596, 78, 590, 596, 78, 590, 596, 79, 591, 596, 590, 596, 590, 596, 505, 590, 596, 590, 596, 590, 596, 506, 591, 596, 2, 590, 596, 507, 590, 596, 590, 596, 260, 590, 596, 260, 590, 596, 2, 260, 590, 596, 260, 590, 596, 256, 260, 590, 596, 257, 260, 590, 596, 332, 350, 590, 596, 332, 350, 590, 596, 349, 591, 596, 2, 332, 350, 590, 596, 345, 350, 590, 596, 350, 590, 596, 332, 350, 590, 596, 350, 590, 596, 333, 350, 590, 596, 333, 350, 590, 596, 2, 333, 350, 590, 596, 335, 350, 590, 596, 350, 590, 596, 340, 350, 590, 596, 341, 350, 590, 596, 350, 590, 596, 350, 590, 596, 2, 350, 590, 596, 342, 350, 590, 596, 343, 350, 590, 596, 331, 350, 590, 596, 331, 350, 590, 596, 334, 350, 590, 596, 334, 349, 591, 596, 2, 334, 350, 590, 596, 336, 350, 590, 596, 337, 350, 590, 596, 338, 350, 590, 596, 339, 350, 590, 596, 410, 590, 596, 410, 590, 596, 409, 410, 590, 596, 409, 591, 596, 2, 409, 410, 590, 596, 410, 590, 596, 407, 410, 590, 596, 408, 410, 590, 596, 5, 590, 596, 5, 590, 596, 2, 5, 590, 596, 5, 590, 596, 5, 590, 596, 518, 590, 596, 518, 590, 596, 2, 518, 590, 596, 518, 590, 596, 518, 590, 596, 518, 590, 596, 518, 590, 596, 518, 590, 596, 518, 590, 596, 504, 590, 596, 1, 593, 595, 267, 270, 593, 595, 272, 397, 392, 397, 392, 393, 404, 416, 404, 416, 231, 231, 262, 275, 313, 593, 595, 261, 254, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 255, 261, 593, 595, 290, 358, 357, 357, 358, 356, 246, 294, 294, 1, 294, 294, 311, 311, 296, 297, 593, 295, 595, 252, 252, 458, 458, 383, 382, 593, 384, 595, 377, 382, 593, 384, 595, 381, 388, 388, 593, 388, 595, 386, 266, 266, 265, 589, 589, 1, 589, 589, 594, 592, 593, 589, 592, 595, 588, 1, 588, 593, 595, 501, 501, 1, 501, 519, 500, 595, 501, 499, 499, 498, 500, 595, 288, 304, 420, 420, 1, 420, 417, 420, 417, 421, 418, 593, 419, 420, 595, 584, 587, 593, 512, 595, 557, 558, 586, 586, 511, 512, 595, 585, 436, 431, 433, 586, 433, 586, 431, 433, 586, 433, 586, 509, 509, 509, 558, 511, 512, 595, 583, 460, 460, 467, 466, 466, 595, 469, 468, 468, 595, 545, 546, 546, 551, 538, 539, 457,16918,16919,16920, 531,16918,16919,16920, 586,16918, 16919,16920, 531, 586, 586, 586,16918,16919,16920, 586, 586, 595,16918,16919,16920, 441, 442, 462, 464, 464, 1, 464, 464, 593, 464, 595, 525, 482, 1, 482, 593, 595, 582, 578, 593, 578, 595, 558, 579, 579, 573, 574, 568, 593, 568, 595,16956, 569, 569, 565, 593, 565, 595, 509, 509, 472, 472, 595, 474, 1, 474, 593, 595, 470, 470, 595, 455, 455, 595, 475, 475, 314, 314, 317, 316, 322, 323, 328, 327, 327, 305, 305, 491, 491, 1, 491, 493, 593, 493, 595, 491, 492, 493, 595, 211, 211, 211, 211, 210, 211, 87, 196, 208, 593, 207, 595, 169, 87, 87, 194, 193, 195, 192, 190, 191, 189, 188, 87, 62, 62, 63, 63, 19, 19, 593, 19, 595, 197, 197, 1, 197, 197, 208, 593, 197, 207, 595, 198, 198, 1, 198, 198, 208, 593, 198, 207, 595, 199, 199, 1, 199, 199, 208, 593, 199, 207, 595, 205, 205, 1, 205, 205, 205, 203, 593, 202, 595, 205, 40, 40, 595, 39, 200, 200, 595, 201, 201, 595, 181, 181, 595, 183, 183, 595, 185, 185, 1, 185, 185, 593, 185, 595, 529, 106, 106, 1, 106, 106, 593, 106, 595, 104, 104, 1, 104, 104, 593, 104, 595, 105, 105, 1, 105, 105, 593, 105, 595, 107, 107, 1, 107, 107, 593, 107, 595, 50, 50, 1, 50, 50, 593, 595, 68,16453, 68,16453, 33, 1, 33, 34, 34, 593, 34, 595, 30, 30, 595, 47, 47, 1, 47, 47, 593, 47, 595, 71, 1, 71, 593, 595, 72, 73, 1, 73, 593, 595, 82, 82, 82, 77, 77, 77, 77, 595, 78, 78, 595, 505, 506, 1, 506, 595, 258, 332, 332, 1, 332, 332, 593, 332, 595, 344, 333, 333, 1, 333, 331, 331, 1, 331, 334, 409, 595, 504, 392, 392, 221, 221, 313, 423, 425, 261, 253, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 423, 425, 356, 244, 301, 301, 297, 298, 295, 252, 252, 458, 458, 375, 375, 384, 384, 384, 381, 265, 501, 498, 1, 421, 438, 514, 515, 511, 437, 511, 460, 460, 466, 468, 546, 546, 551,16918,16919,16920,16918,16919,16920,16918,16919,16920, 16918,16919,16920, 8727, 8764, 569, 569, 569, 472, 470, 455, 475, 475, 475, 314, 314, 305, 491, 210, 211, 210, 211, 87, 87, 90, 87, 170, 166, 172, 94, 95, 96, 93, 97, 87, 87, 63, 63, 205, 200, 201, 68,16453, 8261, 68,16453, 30, 82, 82, 77, 78, 259, 348, 348, 4, 516, 517, 278, 220, 219, 220, 424, 426, 426, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 278, 424, 278, 426, 300, 299, 300, 374, 373, 374, 384, 501, 438, 513, 437, 562, 533, 8727, 475, 475, 491, 210, 211, 15, 87, 87, 3, 168, 171, 167, 173, 165, 163, 159, 161, 156, 174, 176, 178, 158, 152, 148, 146, 144, 154, 150, 66, 86, 87, 66, 57, 87, 205, 75, 82, 82, 347, 346, 347, 219, 277, 276, 261, 243, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 354, 299, 373, 384, 423, 384, 371, 501, 489, 439, 444, 453, 451, 549, 475, 475, 491, 87, 164, 160, 162, 157, 175, 177, 179, 153, 149, 147, 145, 155, 151, 133, 137, 138, 140, 142, 135, 48, 52, 84, 49, 87, 61, 84, 87, 205, 182, 180, 76, 82, 346, 399, 243, 240, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 242, 249, 261, 354, 360, 384, 424, 497, 501, 447, 488, 444, 453, 451, 527, 448, 549, 552, 462, 577, 491, 8, 6, 7, 87, 134, 139, 141, 143, 136, 129, 131, 125, 127, 124, 84, 84, 54, 102, 38, 100, 87, 61, 61, 61, 87, 92, 205, 182, 182, 180, 180, 108, 401, 398, 240, 242, 263, 233, 235, 261, 238, 261, 261, 261, 228, 261, 261, 232, 241, 261, 261, 261, 261, 361, 501, 447, 449, 448, 487, 437, 429, 430, 8727, 8728, 520, 491, 11, 13, 87, 130, 132, 126, 128, 121, 122, 119, 74, 58, 60, 103, 87, 61, 90, 61, 46, 37, 87, 205, 109, 80, 233, 235, 238, 228, 232, 241, 261, 261, 230, 261, 261, 228, 261, 224, 261, 261, 234, 355, 496, 501, 496, 483, 454, 480, 456, 449, 437, 550, 8726, 8727, 523, 491, 9, 10, 12, 87, 123, 120, 117, 115, 55, 56, 59, 87, 28, 27, 67, 87, 205, 43, 81, 80, 400, 230, 224, 234, 261, 261, 230, 261, 261, 261, 224, 8440, 254,16632, 236, 355, 445, 454, 524, 576, 452, 440, 456, 528, 575, 550, 478, 477, 491, 87, 118, 116, 85, 44, 98, 53, 51, 87, 85, 85, 44, 44, 87, 87, 91, 205, 91, 81, 80, 236, 427, 239, 237, 261, 229, 261, 261, 8440, 253, 250, 445, 450, 452, 446, 440, 485, 543, 491, 14, 87, 113, 45, 16, 36, 101, 31, 87, 65, 16, 16, 31, 31, 87, 87, 89, 110, 81, 239, 237, 229, 427, 427, 261, 229, 261, 261, 481, 450, 446, 484, 486, 486, 491, 87, 114, 18, 87, 18, 18, 64, 89, 87, 87, 86, 89, 87, 89, 87, 87, 261, 261, 225, 479, 491, 87, 87, 87, 22, 88, 87, 225, 227, 261, 225, 490, 491, 490, 99, 29, 87, 87, 17, 32, 32, 33, 32, 227, 227, 261, 87, 87, 21, 226, 23, 87, 87, 226, 226, 24, 26, 87, 87, 87, 87, 87, 87, 87, 25, 87 } ; static yyconst short int yy_accept[3789] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 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, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 21, 23, 25, 28, 30, 33, 36, 39, 43, 47, 50, 53, 56, 59, 62, 66, 70, 73, 76, 78, 80, 83, 85, 88, 91, 94, 96, 98, 101, 104, 107, 110, 113, 115, 117, 120, 123, 125, 128, 131, 134, 137, 140, 144, 147, 152, 155, 158, 161, 164, 166, 169, 172, 175, 178, 181, 184, 188, 191, 194, 197, 200, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 247, 250, 253, 255, 257, 259, 262, 264, 267, 269, 271, 273, 276, 279, 281, 284, 287, 290, 292, 295, 298, 301, 304, 307, 310, 314, 317, 322, 326, 330, 334, 337, 340, 343, 347, 351, 355, 358, 362, 365, 370, 373, 377, 380, 383, 386, 389, 392, 395, 398, 401, 405, 408, 411, 414, 417, 420, 424, 427, 431, 435, 439, 443, 448, 451, 456, 459, 462, 465, 469, 473, 476, 478, 480, 482, 485, 487, 490, 492, 494, 497, 500, 502, 505, 507, 511, 515, 518, 523, 528, 532, 536, 540, 545, 550, 554, 559, 562, 566, 570, 573, 576, 579, 582, 586, 590, 593, 596, 599, 602, 605, 609, 612, 615, 619, 622, 625, 628, 632, 635, 638, 641, 644, 647, 651, 653, 656, 658, 660, 663, 666, 668, 671, 674, 677, 680, 684, 688, 691, 694, 699, 702, 705, 709, 713, 716, 719, 723, 726, 729, 732, 736, 739, 744, 747, 751, 755, 758, 761, 764, 767, 770, 774, 778, 783, 786, 792, 795, 799, 802, 805, 808, 811, 815, 818, 821, 825, 828, 831, 834, 837, 840, 843, 846, 849, 852, 855, 859, 862, 865, 868, 871, 875, 878, 881, 885, 889, 892, 895, 898, 901, 905, 908, 912, 915, 918, 922, 925, 928, 931, 935, 938, 941, 944, 947, 950, 953, 957, 960, 963, 966, 969, 972, 975, 979, 982, 984, 987, 990, 992, 994, 997, 999, 1001, 1004, 1007, 1009, 1012, 1015, 1017, 1020, 1023, 1025, 1028, 1031, 1034, 1037, 1040, 1044, 1048, 1051, 1054, 1057, 1059, 1061, 1064, 1067, 1069, 1072, 1074, 1077, 1080, 1083, 1086, 1089, 1092, 1096, 1099, 1102, 1106, 1110, 1113, 1116, 1119, 1122, 1125, 1128, 1131, 1135, 1138, 1141, 1144, 1147, 1153, 1157, 1161, 1167, 1170, 1173, 1176, 1179, 1182, 1185, 1188, 1192, 1195, 1198, 1201, 1204, 1208, 1212, 1215, 1218, 1221, 1224, 1227, 1230, 1233, 1237, 1240, 1243, 1246, 1248, 1250, 1253, 1256, 1258, 1261, 1264, 1267, 1271, 1274, 1277, 1280, 1283, 1286, 1289, 1292, 1295, 1298, 1302, 1305, 1308, 1311, 1314, 1317, 1321, 1324, 1327, 1330, 1334, 1337, 1340, 1344, 1347, 1350, 1353, 1356, 1360, 1363, 1366, 1369, 1372, 1376, 1379, 1381, 1384, 1386, 1389, 1392, 1394, 1396, 1399, 1402, 1404, 1407, 1409, 1412, 1415, 1418, 1420, 1423, 1426, 1429, 1432, 1435, 1438, 1441, 1443, 1447, 1450, 1453, 1457, 1460, 1463, 1466, 1470, 1474, 1477, 1480, 1484, 1487, 1490, 1493, 1496, 1500, 1503, 1508, 1512, 1516, 1520, 1523, 1525, 1527, 1530, 1532, 1535, 1538, 1541, 1544, 1547, 1550, 1553, 1557, 1561, 1564, 1567, 1572, 1575, 1579, 1582, 1585, 1588, 1591, 1595, 1598, 1601, 1605, 1608, 1613, 1616, 1619, 1622, 1625, 1628, 1631, 1634, 1637, 1641, 1644, 1648, 1651, 1653, 1656, 1658, 1660, 1663, 1665, 1668, 1670, 1673, 1676, 1680, 1683, 1686, 1689, 1692, 1695, 1699, 1703, 1706, 1710, 1714, 1718, 1722, 1726, 1730, 1734, 1738, 1742, 1746, 1749, 1754, 1757, 1760, 1764, 1767, 1770, 1773, 1775, 1778, 1781, 1784, 1788, 1791, 1794, 1797, 1799, 1802, 1805, 1807, 1810, 1813, 1816, 1818, 1820, 1823, 1826, 1829, 1832, 1835, 1838, 1841, 1844, 1848, 1851, 1854, 1857, 1860, 1863, 1866, 1869, 1872, 1875, 1878, 1881, 1884, 1887, 1890, 1893, 1896, 1899, 1902, 1905, 1909, 1912, 1915, 1917, 1919, 1922, 1925, 1929, 1931, 1933, 1935, 1938, 1940, 1944, 1946, 1949, 1952, 1956, 1960, 1963, 1966, 1969, 1972, 1974, 1977, 1980, 1983, 1986, 1990, 1993, 1995, 1997, 2000, 2002, 2005, 2008, 2010, 2012, 2015, 2018, 2020, 2023, 2026, 2029, 2032, 2034, 2037, 2040, 2043, 2046, 2048, 2051, 2054, 2057, 2059, 2061, 2064, 2066, 2068, 2071, 2074, 2077, 2079, 2082, 2085, 2089, 2092, 2096, 2100, 2104, 2108, 2111, 2116, 2120, 2123, 2127, 2130, 2134, 2138, 2143, 2147, 2150, 2154, 2158, 2161, 2164, 2168, 2172, 2176, 2180, 2184, 2188, 2192, 2197, 2201, 2205, 2209, 2213, 2216, 2219, 2223, 2226, 2231, 2234, 2238, 2242, 2245, 2248, 2252, 2255, 2258, 2261, 2264, 2268, 2271, 2274, 2277, 2280, 2283, 2286, 2289, 2289, 2290, 2291, 2292, 2293, 2294, 2294, 2294, 2295, 2296, 2297, 2297, 2297, 2297, 2298, 2298, 2299, 2300, 2300, 2301, 2301, 2302, 2302, 2302, 2303, 2304, 2304, 2304, 2305, 2305, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2307, 2308, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2310, 2311, 2311, 2312, 2313, 2313, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2330, 2331, 2331, 2331, 2331, 2331, 2332, 2333, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2343, 2344, 2345, 2347, 2349, 2350, 2350, 2351, 2351, 2351, 2353, 2355, 2355, 2355, 2355, 2355, 2356, 2356, 2357, 2357, 2357, 2357, 2358, 2358, 2359, 2359, 2359, 2360, 2362, 2364, 2364, 2364, 2364, 2365, 2367, 2369, 2370, 2370, 2371, 2373, 2375, 2376, 2377, 2378, 2378, 2379, 2379, 2380, 2381, 2383, 2384, 2384, 2385, 2387, 2390, 2390, 2391, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2399, 2399, 2399, 2400, 2402, 2402, 2403, 2403, 2403, 2404, 2405, 2408, 2409, 2410, 2411, 2411, 2412, 2414, 2414, 2416, 2417, 2417, 2418, 2420, 2423, 2423, 2423, 2423, 2424, 2426, 2428, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2431, 2432, 2435, 2435, 2435, 2436, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2438, 2438, 2438, 2440, 2442, 2445, 2447, 2448, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2451, 2451, 2451, 2454, 2454, 2454, 2455, 2455, 2456, 2456, 2457, 2457, 2458, 2458, 2459, 2461, 2461, 2462, 2462, 2463, 2465, 2465, 2466, 2466, 2466, 2466, 2466, 2467, 2467, 2468, 2468, 2468, 2468, 2468, 2468, 2469, 2469, 2469, 2469, 2470, 2471, 2472, 2472, 2472, 2475, 2476, 2476, 2479, 2479, 2479, 2479, 2483, 2485, 2486, 2490, 2491, 2492, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2497, 2497, 2498, 2498, 2499, 2500, 2501, 2503, 2505, 2507, 2508, 2508, 2509, 2509, 2510, 2511, 2512, 2513, 2514, 2516, 2518, 2518, 2518, 2519, 2519, 2519, 2520, 2521, 2522, 2523, 2525, 2527, 2527, 2528, 2529, 2530, 2532, 2534, 2535, 2535, 2535, 2535, 2536, 2536, 2536, 2537, 2539, 2539, 2540, 2540, 2541, 2542, 2543, 2544, 2544, 2545, 2547, 2547, 2548, 2550, 2550, 2551, 2551, 2552, 2552, 2552, 2552, 2553, 2553, 2554, 2554, 2555, 2556, 2556, 2557, 2558, 2559, 2560, 2561, 2561, 2561, 2562, 2563, 2563, 2564, 2565, 2567, 2569, 2571, 2572, 2572, 2575, 2575, 2575, 2575, 2575, 2575, 2575, 2575, 2575, 2576, 2577, 2578, 2579, 2581, 2582, 2582, 2582, 2583, 2583, 2583, 2585, 2587, 2587, 2587, 2587, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2588, 2589, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2598, 2599, 2599, 2600, 2601, 2601, 2601, 2601, 2602, 2602, 2603, 2604, 2606, 2608, 2608, 2608, 2609, 2610, 2612, 2615, 2618, 2619, 2620, 2622, 2625, 2628, 2629, 2630, 2632, 2635, 2638, 2639, 2640, 2642, 2643, 2643, 2644, 2644, 2646, 2648, 2648, 2649, 2649, 2650, 2652, 2652, 2653, 2653, 2654, 2656, 2656, 2657, 2659, 2659, 2659, 2660, 2662, 2663, 2665, 2666, 2667, 2669, 2671, 2673, 2674, 2675, 2676, 2678, 2680, 2682, 2683, 2684, 2686, 2688, 2690, 2691, 2692, 2694, 2696, 2698, 2699, 2700, 2702, 2704, 2706, 2706, 2706, 2706, 2706, 2707, 2708, 2708, 2709, 2710, 2711, 2712, 2713, 2713, 2713, 2713, 2713, 2715, 2715, 2717, 2717, 2718, 2718, 2719, 2720, 2721, 2723, 2725, 2725, 2725, 2725, 2726, 2728, 2729, 2730, 2732, 2734, 2736, 2736, 2737, 2737, 2738, 2739, 2740, 2741, 2742, 2742, 2743, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2750, 2751, 2752, 2753, 2755, 2755, 2756, 2758, 2758, 2758, 2759, 2759, 2760, 2760, 2761, 2762, 2763, 2763, 2764, 2764, 2765, 2766, 2768, 2770, 2772, 2773, 2774, 2775, 2777, 2777, 2777, 2778, 2779, 2781, 2782, 2783, 2783, 2783, 2783, 2783, 2784, 2784, 2785, 2785, 2785, 2785, 2785, 2786, 2786, 2787, 2787, 2787, 2787, 2787, 2787, 2787, 2788, 2788, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2789, 2790, 2790, 2790, 2790, 2791, 2791, 2791, 2792, 2792, 2792, 2793, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2812, 2813, 2813, 2814, 2814, 2814, 2815, 2816, 2816, 2817, 2817, 2818, 2818, 2818, 2818, 2818, 2818, 2819, 2820, 2820, 2821, 2821, 2822, 2823, 2823, 2824, 2824, 2824, 2825, 2825, 2826, 2826, 2827, 2827, 2828, 2829, 2829, 2830, 2830, 2831, 2832, 2833, 2833, 2833, 2834, 2835, 2835, 2836, 2836, 2836, 2837, 2837, 2838, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2841, 2842, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2845, 2845, 2846, 2846, 2847, 2848, 2849, 2849, 2849, 2850, 2850, 2851, 2852, 2852, 2852, 2852, 2852, 2855, 2858, 2861, 2864, 2864, 2864, 2864, 2864, 2864, 2864, 2864, 2864, 2865, 2865, 2865, 2865, 2865, 2865, 2865, 2865, 2865, 2865, 2866, 2867, 2868, 2869, 2869, 2869, 2869, 2869, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2875, 2876, 2876, 2877, 2877, 2878, 2879, 2879, 2879, 2879, 2879, 2879, 2879, 2879, 2879, 2879, 2879, 2881, 2883, 2884, 2884, 2885, 2885, 2886, 2886, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2887, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2889, 2889, 2889, 2889, 2889, 2889, 2889, 2889, 2890, 2890, 2890, 2890, 2890, 2890, 2890, 2890, 2890, 2890, 2890, 2891, 2891, 2891, 2891, 2892, 2892, 2893, 2893, 2893, 2893, 2894, 2894, 2894, 2894, 2894, 2894, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2896, 2897, 2897, 2898, 2898, 2899, 2899, 2899, 2899, 2900, 2900, 2900, 2901, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2904, 2904, 2905, 2905, 2907, 2907, 2907, 2908, 2909, 2910, 2911, 2912, 2912, 2912, 2913, 2914, 2914, 2915, 2915, 2915, 2916, 2917, 2917, 2918, 2919, 2919, 2919, 2919, 2919, 2919, 2920, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2923, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2945, 2947, 2947, 2947, 2947, 2947, 2948, 2950, 2950, 2950, 2951, 2953, 2953, 2954, 2954, 2954, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2962, 2963, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2966, 2966, 2967, 2968, 2969, 2970, 2970, 2971, 2971, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2973, 2973, 2973, 2973, 2973, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2975, 2975, 2975, 2975, 2976, 2976, 2976, 2977, 2977, 2978, 2978, 2979, 2979, 2979, 2980, 2980, 2981, 2981, 2982, 2982, 2982, 2983, 2983, 2983, 2983, 2983, 2983, 2984, 2984, 2984, 2984, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2986, 2986, 2987, 2987, 2988, 2988, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2990, 2990, 2990, 2990, 2990, 2990, 2990, 2990, 2990, 2991, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2993, 2993, 2993, 2993, 2994, 2994, 2994, 2994, 2994, 2994, 2994, 2995, 2995, 2995, 2995, 2996, 2996, 2996, 2996, 2996, 2996, 2996, 2996, 2996, 2996, 2998, 2999, 2999, 2999, 3000, 3002, 3002, 3002, 3002, 3002, 3002, 3003, 3003, 3004, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3025, 3025, 3025, 3026, 3026, 3026, 3027, 3027, 3029, 3030, 3031, 3031, 3032, 3032, 3032, 3032, 3033, 3033, 3033, 3033, 3034, 3034, 3034, 3035, 3035, 3036, 3036, 3036, 3036, 3036, 3036, 3036, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3039, 3040, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3042, 3042, 3042, 3042, 3042, 3042, 3042, 3042, 3042, 3043, 3043, 3043, 3044, 3044, 3045, 3045, 3046, 3046, 3046, 3047, 3047, 3048, 3048, 3049, 3049, 3049, 3049, 3049, 3050, 3050, 3050, 3051, 3051, 3051, 3051, 3051, 3051, 3051, 3051, 3051, 3051, 3052, 3052, 3053, 3053, 3054, 3054, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3056, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3058, 3058, 3058, 3058, 3059, 3059, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3061, 3061, 3062, 3062, 3063, 3063, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3064, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3066, 3066, 3066, 3066, 3066, 3066, 3067, 3067, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3068, 3069, 3069, 3069, 3069, 3070, 3070, 3070, 3070, 3071, 3071, 3072, 3072, 3072, 3072, 3072, 3072, 3074, 3074, 3074, 3075, 3075, 3075, 3075, 3076, 3076, 3076, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3096, 3096, 3097, 3097, 3097, 3099, 3099, 3100, 3101, 3101, 3101, 3101, 3101, 3101, 3102, 3103, 3103, 3103, 3104, 3104, 3105, 3105, 3105, 3105, 3105, 3105, 3105, 3106, 3106, 3107, 3107, 3107, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3109, 3109, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3111, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3113, 3113, 3113, 3113, 3113, 3113, 3114, 3114, 3115, 3116, 3116, 3117, 3117, 3117, 3117, 3117, 3117, 3117, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3119, 3119, 3119, 3119, 3120, 3120, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3122, 3122, 3123, 3123, 3123, 3124, 3124, 3124, 3124, 3125, 3125, 3126, 3126, 3126, 3126, 3126, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3128, 3129, 3129, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3131, 3132, 3132, 3132, 3132, 3132, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3134, 3134, 3134, 3134, 3134, 3135, 3136, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3137, 3138, 3138, 3138, 3138, 3139, 3140, 3140, 3140, 3141, 3142, 3143, 3144, 3145, 3145, 3145, 3145, 3145, 3145, 3145, 3145, 3146, 3146, 3147, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3148, 3149, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3166, 3167, 3167, 3167, 3167, 3167, 3168, 3168, 3168, 3168, 3169, 3169, 3169, 3169, 3169, 3169, 3169, 3169, 3169, 3169, 3169, 3169, 3170, 3170, 3171, 3171, 3172, 3172, 3172, 3172, 3172, 3173, 3174, 3174, 3174, 3175, 3175, 3175, 3175, 3175, 3175, 3175, 3175, 3176, 3177, 3177, 3177, 3178, 3178, 3178, 3178, 3178, 3179, 3179, 3179, 3180, 3180, 3180, 3180, 3181, 3182, 3182, 3183, 3183, 3183, 3184, 3184, 3184, 3184, 3185, 3185, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3186, 3187, 3187, 3187, 3187, 3187, 3188, 3188, 3188, 3189, 3189, 3189, 3189, 3189, 3189, 3189, 3189, 3190, 3190, 3190, 3190, 3191, 3191, 3191, 3191, 3191, 3192, 3192, 3193, 3193, 3193, 3193, 3193, 3194, 3194, 3194, 3194, 3194, 3196, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3198, 3198, 3198, 3198, 3198, 3198, 3198, 3198, 3198, 3199, 3199, 3199, 3199, 3199, 3199, 3199, 3199, 3199, 3199, 3199, 3200, 3200, 3200, 3200, 3200, 3201, 3201, 3201, 3201, 3202, 3202, 3202, 3202, 3202, 3202, 3203, 3203, 3204, 3205, 3205, 3206, 3206, 3206, 3206, 3206, 3207, 3207, 3207, 3208, 3209, 3209, 3209, 3209, 3209, 3210, 3211, 3211, 3212, 3213, 3214, 3215, 3216, 3216, 3217, 3218, 3218, 3219, 3220, 3221, 3221, 3223, 3224, 3225, 3225, 3225, 3226, 3226, 3226, 3226, 3226, 3227, 3227, 3227, 3228, 3229, 3229, 3229, 3229, 3229, 3229, 3230, 3230, 3230, 3230, 3231, 3231, 3232, 3232, 3233, 3233, 3233, 3233, 3234, 3235, 3235, 3236, 3237, 3238, 3238, 3239, 3239, 3239, 3239, 3239, 3239, 3239, 3239, 3239, 3239, 3239, 3239, 3240, 3240, 3240, 3241, 3241, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3243, 3243, 3243, 3243, 3244, 3244, 3244, 3244, 3244, 3244, 3244, 3244, 3244, 3245, 3246, 3246, 3246, 3246, 3246, 3246, 3247, 3247, 3247, 3247, 3247, 3248, 3248, 3248, 3248, 3248, 3248, 3249, 3249, 3249, 3249, 3249, 3249, 3249, 3250, 3250, 3250, 3250, 3250, 3250, 3250, 3251, 3251, 3251, 3252, 3252, 3253, 3253, 3253, 3253, 3253, 3254, 3254, 3255, 3256, 3256, 3256, 3256, 3257, 3257, 3257, 3257, 3257, 3258, 3258, 3258, 3259, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3266, 3269, 3269, 3269, 3270, 3271, 3271, 3272, 3272, 3273, 3274, 3274, 3275, 3276, 3276, 3277, 3278, 3278, 3278, 3278, 3278, 3279, 3280, 3280, 3280, 3281, 3281, 3282, 3282, 3282, 3283, 3284, 3284, 3284, 3285, 3285, 3286, 3286, 3286, 3286, 3286, 3287, 3287, 3287, 3287, 3287, 3287, 3287, 3287, 3287, 3287, 3288, 3289, 3289, 3289, 3290, 3290, 3290, 3290, 3290, 3290, 3291, 3292, 3293, 3293, 3293, 3293, 3293, 3293, 3294, 3295, 3296, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3298, 3298, 3299, 3299, 3299, 3299, 3301, 3302, 3302, 3302, 3302, 3302, 3303, 3304, 3304, 3304, 3304, 3304, 3304, 3305, 3306, 3306, 3307, 3308, 3309, 3309, 3310, 3311, 3312, 3314, 3314, 3315, 3316, 3316, 3317, 3318, 3319, 3320, 3321, 3321, 3321, 3321, 3322, 3322, 3323, 3323, 3324, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3327, 3327, 3328, 3329, 3329, 3330, 3331, 3331, 3332, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3334, 3335, 3335, 3335, 3335, 3336, 3337, 3337, 3337, 3338, 3338, 3340, 3340, 3340, 3340, 3340, 3341, 3341, 3341, 3342, 3343, 3344, 3344, 3344, 3345, 3345, 3345, 3346, 3347, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3357, 3358, 3358, 3359, 3359, 3360, 3360, 3360, 3360, 3361, 3361, 3362, 3362, 3362, 3362, 3362, 3362, 3363, 3364, 3364, 3365, 3365, 3365, 3365, 3366, 3367, 3367, 3368, 3370, 3370, 3372, 3373, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3375, 3376, 3376, 3377, 3378, 3379, 3379, 3380, 3380, 3380, 3380, 3380, 3381, 3382, 3382, 3382, 3382, 3382, 3382, 3383, 3383, 3383, 3383, 3384, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3386, 3386, 3387, 3388, 3389, 3391, 3392, 3393, 3394, 3394, 3394, 3394, 3394, 3395, 3396, 3397, 3397, 3398, 3400, 3401, 3401, 3402, 3402, 3403, 3404, 3404, 3404, 3404, 3404, 3405, 3406, 3407, 3407, 3407, 3408, 3408, 3408, 3409, 3409, 3410, 3411, 3411, 3412, 3413, 3413, 3414, 3415, 3416, 3417, 3417, 3418, 3419, 3419, 3420, 3421, 3421, 3422, 3423, 3424, 3424 } ; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 2, 1, 1, 3, 4, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25, 26, 27, 27, 28, 29, 30, 31, 32, 1, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 43, 44, 45, 46, 47, 48, 43, 49, 50, 51, 52, 53, 43, 54, 55, 43, 56, 57, 58, 1, 43, 1, 59, 60, 61, 62, 63, 64, 65, 66, 67, 43, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 1, 85, 86, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst int yy_meta[87] = { 0, 1, 1, 2, 3, 4, 2, 1, 5, 6, 1, 1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 18, 1, 19, 1, 20, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 24, 25, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 26, 27, 28 } ; static yyconst short int yy_base[4498] = { 0, 0, 4, 25, 0, 110, 114, 118, 138, 128, 132, 195, 0, 281, 0, 367, 0, 452, 457, 462, 480, 564, 0, 650, 0, 736, 0, 152, 158, 821, 827, 163, 500, 508, 530, 910, 993, 849, 855, 841, 862, 869, 919, 905, 931, 1077, 0, 1163, 0, 942, 1248, 495, 962, 887, 896, 1004, 1258, 1266, 1273, 986, 1279, 522, 535, 1026, 1032, 882, 1053, 1286, 1291, 1299, 1304, 1325, 1357, 1362, 1394, 1319, 1399, 1333, 1404, 1431, 0, 1516, 1522, 1543, 1629, 1563, 1649, 1715, 1801, 1735, 1821, 1384, 1576, 1887, 0, 1973, 2059, 2145, 2231, 1600, 1679, 2317, 0, 2017, 2103, 1585, 1590, 1673, 1687, 2403, 0, 2489, 0, 1994, 2081, 1758, 1834, 1765, 1773, 2575, 0, 1605, 1669, 2661, 0, 1839, 1843, 2163, 2167, 2193, 2251, 2746, 2750, 2807, 465, 1847, 1988, 2893, 2979, 1861, 2009, 3065, 3151, 2023, 2031, 115, 2772, 3237, 3323, 2035, 2077, 3409, 0, 3495, 0, 2108, 2116, 2276, 2755, 2187, 2202, 2828, 2852, 3581, 0, 2857, 2914, 2942, 2999, 2264, 2291, 3667, 0, 3753, 3839, 3925, 0, 3083, 3169, 3255, 3341, 2760, 2934, 2955, 3012, 3019, 3024, 3773, 3859, 2780, 2785, 4011, 4096, 3087, 3113, 4181, 4267, 4353, 4439, 4525, 4611, 2848, 2908, 4044, 4130, 4697, 4783, 4869, 4954, 3098, 3105, 5039, 0, 3127, 3189, 3194, 3275, 3280, 3361, 3366, 3786, 3199, 3285, 3793, 3813, 5125, 0, 4029, 4054, 5211, 5297, 2929, 3034, 3039, 3120, 3209, 3295, 3381, 3800, 5383, 0, 3184, 3270, 5469, 0, 5555, 5641, 5727, 5813, 4050, 4137, 5899, 0, 3872, 3882, 3356, 3371, 4059, 4116, 4238, 4313, 3897, 4214, 4228, 4299, 4385, 4399, 4471, 4485, 4545, 4557, 4145, 4202, 4285, 4631, 4289, 4657, 5985, 0,19034,28889, 18997,28889,28889, 1,18977,28889,18984,28889,28889, 2, 28889,18976, 1012, 1046, 1407,28889, 3,18973, 2968, 3108, 4032,18818,28889, 4344, 4, 8, 466,28889,28889,28889, 28889, 0, 890, 1339, 1619,28889,18810,28889, 4391, 144, 28889,18808,28889,28889,28889, 164, 96,18715,28889,18721, 28889, 4412, 4459,28889, 6069, 4516, 4564, 471, 4,18761, 4645, 166,18748, 4650,28889,28889, 4568,28889, 4731, 4736, 4815, 4600, 4716, 4819, 4825, 4830, 4900, 4910,28889, 185, 4688, 4744, 4774,18745, 4904, 554, 4914, 4918, 4942, 4975, 471,28889, 0,28889, 474,28889,28889,28889, 4984,28889, 18770, 834, 1693, 1779,28889,28889, 1059, 526,28889,18769, 28889,28889,28889, 532, 4425, 5256, 5285, 533,28889, 4994, 18698,18710,18702,18695,28889,18764,28889,28889, 1866, 812, 18733,28889,18762,28889, 921,28889,28889, 0, 4580, 1530, 1536, 1749,18755,18705, 927,28889,28889,28889,18698, 4860, 4946, 4989,18728, 4998, 1870, 5003, 5230, 5242,18727, 5246, 2122,28889,18752,28889,28889,28889,18696,18730, 935,28889, 5015, 956,28889,28889, 952, 123,28889,28889,18748,28889, 28889,28889,18728, 954, 0,28889,18745,28889,18725, 961, 28889,28889,18743,18739, 147, 963, 188, 0, 1295, 862, 0,18722, 984,18738, 515,28889,18737, 1055,28889,28889, 28889,28889, 0, 5262, 1007,28889, 0,18719, 1023,18718, 18675,18674, 1270, 1024, 1025,28889,18734, 2136, 2295, 2301, 1251,28889,28889,28889,28889,28889,28889, 0,18719, 1375, 3043, 2791, 3218, 1264, 1289,28889,18728, 2043,28889,28889, 18708, 1301, 0, 65, 6090, 4188, 5318, 1318, 1353,28889, 18726, 2129,28889,28889,18704, 2876, 1364, 490, 6111, 4316, 5574,28889, 2884, 5338, 1386,28889,18722, 5603,28889,28889, 18702, 1400, 463, 833, 4098, 5621, 5687, 1401, 1561,28889, 18720, 3825, 5250, 5344, 1570, 1531, 1789, 5319, 1592,28889, 28889, 1596, 5588, 5593, 5597,18700,18692, 5661, 2961, 3172, 28889, 3258, 0, 0, 1647, 3304,28889, 3344, 0, 0, 1688,28889,18717,28889,28889, 2039,18697, 1689,18644, 5718, 5746, 5758,28889,18688, 5762, 3390, 5769,28889, 1350,18643, 18648,18637,28889,28889,18706,28889,28889, 1691,18693, 0, 28889,18704, 2209,28889,28889,18684, 1774, 869, 498, 5775, 28889, 3400, 5833, 1775, 5797, 6020,28889,18701, 2868,28889, 28889,18681, 1777,28889,18699,28889,28889,18678, 1846,28889, 18678, 0, 926,28889, 0, 1863,28889, 0,18693, 1071, 28889,18692, 1991,28889,18693,28889,28889,18673, 2083, 767, 1198, 2267, 2169,28889,18691,28889,28889,18671, 3819, 2178, 18624, 2914, 2189,28889,18688,28889,28889, 2195,18622, 6086, 2206, 3827, 4697, 5804, 6101, 2293,28889,18686,28889,28889, 2756,18666,28889, 0, 0, 2770,18654, 1391,28889,18626, 3212,28889, 0, 0, 2783, 929, 0, 0, 3037,28889, 6189,28889,18601, 5847, 6105, 6109, 3041,18574, 6122, 3903, 28889, 6193,28889,28889,28889,18568,28889, 6215, 3085,28889, 18567, 4418, 4671, 5019,28889,28889, 3916, 3121, 5701, 5789, 6220, 6234, 6248, 6252,28889,18503,28889,28889,28889, 0, 6239,28889,28889, 0, 3122,18488,18485, 3298,28889,18545, 28889, 6266, 3299, 4078, 4250, 4332,18460,18528, 0,18521, 4057, 166, 6342, 6363, 6435, 6513, 6585,18453,18529, 0, 6199, 6258, 6262,18508, 6273, 4504,28889,18533,28889,18520, 18512, 3811,18469,18468, 0, 4677,28889, 3869, 0, 5364, 4004, 0, 5624, 4058, 0, 6099, 6277, 6394, 6442, 4072, 18509,18466,18465, 0, 4103,18464,28889,18524,28889,28889, 4115,18458, 0, 0, 0, 4117, 0, 0, 4124,28889, 870, 1642, 0, 4139, 0, 4151,28889, 0, 1296, 0, 0, 4154,28889,28889, 0, 0, 5882, 4199, 0, 5889, 4210, 0, 6289, 4241, 0, 6348, 4292,28889,18518,28889, 28889, 4293, 1681, 4508, 6353, 4681, 4765, 4938, 6461, 6311, 6363, 6368,18488, 6465, 5024,18511, 2217,28889,18510, 840, 4312, 898,18450, 0, 0, 4306, 0, 1527, 0, 4323, 1052, 2039, 1611, 4586,28889, 0,18508, 1662,28889,18507, 4462,28889, 0, 1957, 1967, 0, 0, 5601, 6463, 0, 0, 0, 4324,28889,18447,18442, 0,18504, 2952,28889, 18503,18485, 4741,28889,18503,28889, 4411,28889, 6483, 0, 6328,28889, 0,28889,28889, 4570, 0, 0, 5271, 0, 28889,18443,28889,28889, 4579,18497,28889,28889,28889, 0, 6526, 5029, 5368, 5374,28889,28889,28889,28889,28889,18496, 5706, 6497, 6501, 4717,28889,28889,28889,18495,28889,18477, 4787,28889,18492,28889, 4789,18429, 5602,18476, 4811,18426, 0,18487,28889,28889,28889,28889,18474, 6532, 4821, 985, 1295,28889, 6553, 6557,18459, 1063, 6592, 6611, 1378, 6509, 0, 3830, 0, 6561, 6618, 6622, 1424, 6626, 6656, 6660, 18458, 1582, 4779,18425,18409,18470, 6657, 6630, 4836, 6669, 4838, 6708, 6688, 3028,18454,18412, 1695,18409,18407,18419, 1805, 2026,18391,18401,18403, 5274,18405, 2038, 6692, 6700, 1742, 5781, 6715, 6719, 6726,18435, 6734, 6762, 6791, 6800, 6804, 6808, 6819, 6851, 6855, 6859, 6867, 6895, 6899, 6903, 6910, 6513, 6747, 6754,18438, 6939, 6943, 6947,28889, 6643, 6812, 2270, 5875, 0, 6951, 6840, 6847, 6955, 6959,18393, 18405,18397,18390, 6984, 6988,18390,18393,18384,18389, 6992, 6996,28889, 0, 7007, 0, 7018, 7032,18449,28889,18439, 7018, 7042, 0,18381, 7046,18419, 7050, 7054, 7058, 0, 7062,18418, 7066, 7080, 7092, 0,18432, 7080,28889, 2295, 5317, 7106, 4840, 2838,28889,28889, 0,18439, 503,28889, 28889,28889,28889,18438,18437, 2012,18436, 2254, 0, 4846, 0, 3385,18419,28889,28889, 0,18435,28889, 2796,18434, 18435,18432,18427, 0, 6303, 0, 6082,18409,28889,28889, 2145,18358,18357, 6115, 4875,18411, 6268, 7110, 0,18409, 4915, 5659,18408, 6474, 7114, 7118,18407,18405, 5260,18404, 6173, 7092, 2800,28889,28889,28889, 0, 2802,18348, 2047, 18355, 2194, 2221,18346, 2709,18357,18336,18355,18350, 781, 18330,18340, 2690, 5553, 2891,18335, 5612,18332, 7125,18388, 18382,28889,18386, 6269, 7139,18323,28889,28889, 1452,18320, 2991, 2871, 2857,18338,18333, 6858, 3149,18336, 6080, 5624, 2058, 5561, 7145,28889, 7129, 7170,28889, 7134,28889, 7184, 7177, 4286, 2894, 3238,18322,18322,18321,18326,18324,18326, 3217,18317, 7178, 5316, 7189,18287, 6228, 7200,18334,18283, 18289, 7195,18329,28889, 7209,18321,28889, 7214, 7220, 7226, 0, 7235,28889,18340, 0, 0, 7250,28889,18339, 0, 0, 6359, 6637,18283, 7254,18317, 7258, 7262, 7266, 0, 7244, 4202,18272,18271, 5767, 2245,18271,18266,18271,28889, 18325, 0, 3738,18270, 7273,28889, 7292, 7298,18312, 7249, 7273, 7353,28889, 7357, 7361, 7309, 7333, 7398,18254,18252, 18270,18247, 2936,18268,18263, 5740,18262,18265, 2235, 3166, 6683,28889,18302,28889,18256,18301, 0, 2881, 0, 0, 0, 0,18316,28889, 3080,18314,18315,18312,18311,28889, 28889,28889,18234,18237,28889, 6739,18291,28889,18288,28889, 28889,28889,28889, 6767,18285, 7375, 7416,28889,28889, 6823, 3164, 3239,18225, 7420, 3749,18279, 0, 0,18281,28889, 3143,18277,18270,18267,18266,18261, 0, 0,18242, 0, 0, 7424, 7434,18166, 7441, 7445,18160, 7471, 7475, 7479, 0, 7483,28889,28889, 7487,28889,28889, 7501, 7505, 7517, 7521, 7526,18131,18130,18125, 0, 7492, 0,28889,28889, 18111,18110,28889, 6815, 3319,18103, 2983,18094,18038,18026, 18020, 7540, 7547, 7555, 7559, 7563, 7561, 0, 0, 0, 18082, 6453,28889,18079, 7631,18078, 7684,28889, 7570, 7279, 7554, 3821, 3979, 7557, 7593, 3986, 6663, 4003, 6477, 7552, 7628, 4100, 4175, 7605, 7630, 7609, 469, 7668,17992, 3148, 7706,17975,17955, 5293,17949,17942,17874,17866,17837,17907, 7765, 860, 7843,28889,28889,28889,28889,28889,28889,28889, 17901, 7693, 7794, 7814, 6239, 7803, 5699, 5778, 4388, 7821, 6528, 4093, 7224, 3274, 4072, 4545, 3753,17852,17882,17880, 0, 7688,17856, 7807, 7825, 7772, 0,28889,28889,28889, 17811,17810, 0, 7799, 0, 0, 0, 0, 7834, 0, 0, 0, 0, 7840, 0, 0, 0, 0, 6742, 0, 7844, 7886,17817,17807,28889,28889, 4177,17792,17786, 0, 0,17784, 0,17839, 0, 0,17833, 0, 0, 4267, 4365, 0, 0, 0, 0, 0, 3799, 0, 0, 0, 0, 0, 7892, 0, 0, 0, 0, 7900, 0, 0, 0, 0, 7905, 0, 0, 0, 0, 7910, 0, 0, 0,17773,17766,17761, 7917, 7921, 7927, 7932, 7936, 7942, 7947, 7951, 7955, 7959,17803, 7963, 7967, 7973, 7977, 2842, 17799,28889, 4377,17797,17631,17625,17623,17622, 3183,17554, 17611, 0, 0, 0, 3877, 0, 0, 0, 3909,28889, 6429, 4572,17592, 4925, 5629, 0,17588,28889, 4259,17553, 17530,17527,17526, 0, 4600, 4465,17519, 0, 7628, 0, 7673,17518, 0, 0,17458,17461, 0,17518,28889, 5831, 17517,17518,17514, 7993,28889,17376, 0, 6970, 0, 0, 0,28889, 0, 7998, 0,17390, 7992, 0, 8020, 0, 8026, 8033, 5231,17392, 7987,17327, 6916,17289, 0, 3383, 3852,17316, 8039, 8047, 8051, 0,17264, 8055,17212,17213, 17167,17158,28889,17221,17182, 8055, 3765, 4460, 4023, 4475, 17116,17096,17096, 880,17110,17101, 5291,17108,17102, 3808, 17088,17092,17083,17092, 8060, 8066, 8079,17127,28889, 0, 6325,28889,17136, 8083, 8087, 8092,28889, 8096, 8100, 8115, 8128, 8133, 8143, 8147, 8161, 8176, 8181, 8194, 8209, 8213, 8224, 8229, 8241, 8257, 8270, 8274, 8278, 8290, 8306, 8311, 8316, 8320,17121,17120,17119, 4701, 8326,17068,17065,17059, 17047, 8334,28889,28889,17091,17087, 8329, 8353,28889, 8357, 0,17035, 8361, 8365, 8369, 0, 8374, 8378, 8382, 0, 28889,17084,17083, 8385, 0, 6407,17074, 4050, 4744,17060, 17053, 4504,16988,16987, 7002,17026, 6231,17025, 6567,16962, 4211,16958,16967,16966, 5219,16930,16927,16921,16906, 4101, 16856,16845, 4803, 2715,16846,16784,16788,16794,16738,16732, 16726,16722,16713,16709,16700,16665,16666, 6287,16673,16672, 16665,28889,28889, 7023, 7073,16646,16655,16640, 4538,16648, 3062, 4593, 4562,28889,16610,16593,16577,16558,16552,16547, 16544,16533, 4057, 5568,16520,28889, 8391, 8409, 8417, 0, 28889,28889,16515, 8421, 8425, 8429, 0, 5225,16499,16478, 16489, 6132, 8435, 8439, 8451, 8458,16467,16477,16464,16479, 16475, 3227,16434,16430,28889,16384,16373,16369,16368,16370, 16335,16343,16305, 8475,28889,28889, 8482,16222, 4860,16175, 16157,16151, 5627,28889,28889,28889, 8494, 8506, 8513, 8498, 8539, 8543, 0,16156,16126,16118,16114,16113,16106,16097, 16099,16071,16105,16062,16052,16038, 8547, 8551, 8549,16078, 8569,16083, 7253, 7317, 8647,16078, 6635, 8217, 7352, 8561, 5631, 5735, 7516, 7315, 6039, 5640, 6047, 8156, 8536, 8567, 6111, 6151, 7637,28889, 6345, 7638, 6532, 6582, 7643, 6606, 7683, 7701, 7735, 6286, 7763, 7853, 7855, 6675, 8110, 8151, 28889, 6762, 6931, 8463, 6491, 7031, 8558, 8576,28889, 7063, 7126, 6658, 8551, 7173, 8604, 8614, 8616, 8625, 6686, 8646, 15949,15890,15843, 8673,15833, 8677,15733,15710,15688, 8681, 15663,15658,15642,15645, 5692, 8685,15613,15590,15559, 5733, 15570,15534,15525,15513,15507,15504,15553,28889, 8717, 949, 7607, 1722, 4441, 4312, 2848, 4704, 2033, 4818, 4626, 4474, 3773, 3339, 5219, 4703, 5657, 5734, 6189, 6956, 6414, 6157, 6433, 5217, 8633, 8702, 4953, 2161, 6581, 6474, 6756, 6760, 8795, 8689, 8720, 8708, 0,15481,15474, 6699,15445,15429, 15428,28889,28889, 7249, 7312,15396,15399,15387, 8724, 8750, 8715,28889, 6933, 6317, 6285,15401,28889, 7329, 7353,28889, 28889,15387,15374,28889,28889,15428,13152, 8736,13132,28889, 28889, 7141,28889,28889, 8760,13095,13073,13062,13044,28889, 28889, 8757,13071,13070,12932,12923,12915,12909,12907,12879, 12865,12755,12744,12751,12677,12658,12656,12586,12560, 40, 116, 8781,28889, 449,28889, 4736, 8796, 8802, 8830, 8835, 8839, 8843, 8850, 8871, 8879, 8883, 8887, 8891, 8919, 8929, 8933, 8948, 8961, 8966,28889,28889, 412, 498, 744, 903, 28889,28889, 8960, 1183,28889,28889, 8977, 4975, 1262, 7379, 1291, 1509, 1540, 1579, 8631, 1601, 1604, 1702, 7512, 1758, 1765, 1962, 2693, 6785, 2840, 2950, 2948, 2979, 3042, 3093, 3248, 3721, 3745, 3816, 3852, 4022, 4045, 4116,28889, 4120, 4177, 4218, 4245, 4278, 4315, 4360, 4363, 4446, 5503, 4477, 6227, 4493, 4575, 4591, 4669,28889, 4763, 4785, 4801, 4809, 4936, 8744,28889, 4949, 5167, 5209, 5249, 5270, 5294, 5513, 5636, 5499, 5507, 5533, 5552, 5565, 5684, 5692, 7503, 5699, 5764, 5791, 6790, 9002, 9009, 5783, 5810, 5998, 6011, 6031, 6025, 6036, 6065, 6042, 6123, 6134, 8787, 6583,28889, 9036, 9114,28889, 8766,28889, 8825,28889, 7564, 7630, 7665, 8897, 7712, 8942, 9014, 9015, 6835, 9019, 9035, 9036, 7762, 9037, 28889, 9046, 7810, 9067, 9068,28889, 7946, 7951, 7024, 8567, 8013, 9069, 9073, 9074, 9078, 7032, 6176, 9079, 6472, 9080, 28889, 7264, 8072, 9084,28889, 9085, 9086,28889, 9092,28889, 9123,28889, 8123, 9124,28889, 9140,28889, 9141,28889, 8139, 9142,28889, 6238, 9146, 9147, 7355, 9148,28889, 8192, 7451, 9154,28889, 6256, 9155, 9156, 8198, 8255, 9160, 9161, 8347, 9162,28889, 9178,28889, 9179,28889, 9192,28889, 9193, 6259, 9198, 6298, 9202, 6307, 6325, 6339, 6607, 6354, 6366, 6385, 6416, 6435, 6481, 6487, 8521,28889, 6506, 6935, 9209, 6545, 6585, 6618, 6836, 6629,28889, 9270, 7260, 6828, 6908, 9213, 7177, 9223, 6813, 6906, 7271, 7334, 7367, 7159, 8187, 7391, 7157, 7068, 6868, 7812, 6817, 7813, 7451, 7515, 8092, 9217, 7423, 7405, 7229, 6999, 7968, 9235, 7497, 7587, 7363, 7675, 7664, 7969, 9348, 6661, 6720, 8354, 6737, 6739, 6751, 9241, 9246, 6812, 6911, 6936, 7205, 7001, 0, 7239, 7021, 7059, 28889,28889, 9235, 7066, 7130, 7146, 7186,28889, 7238,28889, 28889, 7209, 9250, 7232, 7268, 7268, 7301, 7329, 7394, 7407, 7467, 7477, 7481, 7494, 7710, 7485, 7512, 7521, 9259, 8107, 9277, 9298, 9306, 9316, 9336, 9355, 9383, 9387, 9391, 9398, 9419, 9432, 9427, 9437, 9467, 9472, 9477, 9481, 9486, 9263, 7518, 9310, 7533,28889, 7608, 7551,28889, 7615, 0, 8454, 28889, 9268, 7594, 7628, 7689, 9346,28889, 7698, 7704, 0, 7872, 7719, 7750, 8138, 7743, 8252, 7783, 7801, 7826, 7839, 7842, 7859, 8300, 7897, 7909, 7931, 7932, 7933, 7961, 7964, 8002, 8003, 8044, 8037, 8049, 8064, 8054, 8070, 8099, 8131, 8115, 8127, 8135, 8139, 8133, 8150, 8159, 8338, 8556, 8171, 8234, 9348, 8196, 8197, 8209, 8216, 8215, 8229, 8226, 8246, 8230, 8266, 8268, 8279, 8276, 8285, 8315, 8408, 8332, 8337, 8324, 8404, 9514, 9529, 8340, 8341, 8328, 8357, 8357, 8388, 8423, 8384, 8436, 8447, 8417, 9499, 8451, 9378, 8457, 9442, 8438, 8570, 8522, 9447,28889, 9541, 9543,28889, 9555,28889, 9556,28889, 8588, 9557,28889, 9561,28889, 9562,28889, 8695, 8458, 9563, 9568,28889, 8588, 9573,28889, 8462, 9574, 9575, 8702, 8741, 9580, 9593, 8781, 9595,28889, 9605,28889, 9607, 28889, 9611,28889, 9612, 9613, 8473, 9617, 8799, 9618, 8474, 9623, 9625,28889, 8481, 9627, 8482, 9629, 8489, 9635, 9645, 8491, 9650, 8493, 9657, 8533, 9659, 9663, 8534, 9665, 9667, 28889, 8700, 8536, 9669, 9673, 8837, 8537, 9675, 9677,28889, 8858, 8870, 9681,28889, 9682,28889, 8880, 8557, 9687, 8571, 9697, 8577, 9705, 8600, 9709, 9714,28889, 8570, 9326, 8571, 9718, 9722, 9727, 9739, 8578, 8582, 8592, 8587, 8590, 8633, 8620, 8624, 8620, 9744, 9748, 8858, 8632, 8634, 8640, 8657, 9752, 8651, 8666, 8792, 8700, 8701, 9813, 8908, 8848, 8878, 8888, 9756, 9899, 8753, 9760, 9764, 8957, 8920, 8890, 9046, 8924, 8972, 8911, 8948, 8955, 9034, 9099, 8791, 9028, 9768, 9786, 9045, 9155, 9112, 8936, 9100, 9101, 9150, 9163, 9790, 9253, 9216, 9286, 9250, 9268, 9977, 8717, 8736, 9772, 8724, 8755, 8926, 9794, 9808, 9814, 9843, 9849, 8941, 8947, 9319, 8960, 0, 8947, 9463,28889, 9016, 9031, 9019,28889, 9033, 9857, 9861, 9032, 9041, 9043, 9045, 9041, 9048, 9129, 9130, 9128, 9161, 9154, 9169, 9175, 9868, 9176, 9179, 9888, 9892, 9920, 9930, 9934, 9948, 9962, 9941,10005,10009,10016,10023, 10037,10044,10052,10056,10065,10072, 9874,10084,10101,28889, 9217, 9249, 0, 9776,28889, 9256, 9263, 9262, 9306, 9799, 9272, 9403,28889, 9276, 9275, 9448, 9286, 9455, 9285, 9356, 9339, 9326, 9335, 9340, 9495, 9351,28889, 9339, 9366, 9500, 9362, 0, 9385, 9384, 9388, 9391, 9479, 9428, 9441, 9509, 9456, 9458, 9732, 9481, 9499, 9510, 9733, 9967,28889, 9515, 9515, 9514, 9514, 9526, 9531, 9534, 9878, 9532, 9538,28889, 28889, 9551, 9602, 9564, 9579, 9579, 9763, 9571, 9572, 9589, 9625, 9595, 9601,28889, 9607,28889,28889, 9657,10102, 9974, 9765,10088, 9660,10106,10107,28889, 9662,10115, 9664,10128, 9666,10129,10130, 9670,10134, 9672,10139, 9674,10140,10145, 9678,10146, 9801, 9684,10147,10151,28889, 9800, 9804,10152, 28889,10153,28889, 9911, 9686,10161, 9702,10167, 9708,10183, 9745,10184,10188,28889,10189,28889, 9732,10194,28889, 9751, 10195,10199,28889,10200,28889, 9753,10201,10205,10206,28889, 9927, 9754,10207,10211,10052, 9755,10216, 9777,10222,10238, 9783,10239, 9761, 9749, 9882,10246,10252,10256, 9758, 9780, 9785, 9780, 9787, 9953, 9827, 9819, 9831,10260,28889,10269, 9844, 9856, 9872,10273, 9875,10277,10281, 9866, 9890, 9900, 9904,10345, 9962,10044, 9973,10143, 0,10431,10517,10103, 9967,10025,10011,10032, 9959,10266,10077,10148,10176,10291, 10162,10233,10226,10296, 9975,10003,10302,10247,10248,10160, 10249,10275,10309,10327,10283,10290,10276,10303,10595, 9946, 9940,10314,28889,10017,10021,10028,10331,28889,10372,28889, 10322,10034,10346,10314,10099,10352,10376,10388,28889,10112, 28889,10392,10400,10413,10117,10418,10122,10167,10157,10422, 10159,10449,10453,10172,10170,10462,10240,28889,10466,10472, 10478,10506,10537,10548,10565,10553,10557,10602,10583,10630, 10634,10638,10642,10650,10670,10487,28889,10275,10279,10309, 10482,10280,10281,10281,10378,10384,10278,10285,10300,10313, 10329,10333,10328,10501,10340,10341,10437,10574,10337,10576, 10342,28889,10352,10367,10368,10389,10397,10588,10408,10415, 10593,10409,10436,10422,10440,10438,10448,10485,10479,10679, 10493,10501,28889,10501,10507,10520,10560,10537,10540,10581, 28889,10596,10597,10556,28889,10680,10684,28889,10582,10685, 28889,10617,10689,10690,28889,10706,28889,10625,10618,10708, 10712,10659,10619,10717,10627,10722,10724,10631,10726,10633, 10728,10730,10637,10736,10645,10740,10647,10742,10744,28889, 10665,10758,10663,10764,28889,10772,10774,28889,10656,10778, 10665,10674,10673,10684,10683,10782,10690,10698,10688,10788, 10794,10804,10808,10692,10812,10816,10820,10698,10708,10700, 10708,10872,10766,10781,10759,10827,10958,11044,10775,10834, 10782,10783,10785,10807,10833,10769,10845,10808,10815,10814, 10832,10824,10841,28889,10864,10901,10910,10846,10851,10920, 10843,10859,10856,10825,11122,10793,10801,10840,10930,10812, 10819,10817,10816,10938,10897,10828,10944,10929,10977,11002, 10840,10989,11006,10847,11014,10851,11033,10855,11064,11027, 10850,11075,11079,11083,11090,10865,11101,10898,11107,11148, 11152,11156,11160,11168,11111,11188,11196,11209,11216,11228, 11235,11244,11115,10874, 0,28889,10942,10865,10861,10978, 10979,10885,10927,10935,11060,10945,10945,11119,11120,10943, 10954,10942,10962,10966,28889,11121,10971,11203,11180,10969, 28889,10979,28889,11201,11004,11086,28889,11032,11038,28889, 28889,28889,11033,11253,11067,11239,11251,11076,11258,11100, 11263,11101,11267,11138,11279,28889,11281,11290,28889,11291, 28889,11102,11295,11183,11106,11297,11299,28889,11135,11304, 11087,11311,11100, 0, 0,11103,11095,11315,11112,11118, 11329,11337,11126,11125,11134,11341,11345,11343,11205, 0, 11310,11317,28889,11223,11429,11515,11216,11288,28889,11289, 11304,11371,11318,11333,11334,11185,11352,11335,11308,11341, 11379,11389,11601,11151,11154,11687, 0,28889,11188,11322, 11194,11401,11448,11400, 0,28889,11192,11196,11461,11408, 11199,11263,11307,11473,11412,11477,11487,11491,11380,11546, 11553,11499,11706,11718,11722,11503,11557,11357,11319,11324, 11561,11574,11589,11402,11346,11449,11450,11359,28889,11536, 11400,11726,11727, 0,11399,11732,11413,11734,28889,11748, 11750,11736,11417,11752,11426,11495,28889,11423,11433,11482, 11760,11757,28889,11697,11480,11758,11764,28889,11509,11773, 11522,11774,11789,11536,11794,11798,11491,28889,28889,11499, 0,11804,11808,11493,11812, 0,11504,11819,11824,11838, 11828,11580,11729,11693,11761,11566,11815,11568,11821,11727, 11773,11799,11924,11870,11800,11694, 0,11880,12010,11818, 11576,12096,11591,12182,12268,12354, 0,11510,11526,11526, 0,28889,11888,11840,11528,11847, 0, 0,11898,11902, 11659,11956,11682,11908,11915,11758,11943,11960,11972,12372, 11964,12031,12385,28889,11770,11990,11848, 0,11864,11874, 11980,11995,28889, 0,12000,12041,28889,11785,11802,11804, 28889,12394,11847,12001,12042,11849,12047,12048,28889,28889, 11825,28889,28889, 0,12059,28889,11826,12472,28889,11885, 11889,11938,12026,11903,12038,11877,12057,12558,11985,11894, 11879,12179,12166,11900,12644,11957,11902,12042,12730,11853, 11880,12078,11985,11912, 0,12086,12200,11910,12401,12213, 11922,11979,12389,28889,12061,12427,12217,12439,12221,28889, 12069,12070,28889, 0,12226,12227,12001,12016,12508,12228, 28889,12055,12240,12030,28889,12053,12816,12181,12167,12189, 12224,12188,12190,12352,12421,28889,12231,12338,12222,28889, 0,12225, 0,28889,12226,28889,12231,12383,12165,12179, 12367,12184,12179,12184,12446,12479,12515,12509,12459,12255, 12902, 0,12245,12230,12469,12520,12545,12249,12250,12339, 12415,12592,12391,12361,28889,12597,12988,12250,28889,12439, 0,12191,13074, 0,12601,12302,12605,12549,12634,12620, 13093,12615, 0,28889,12921,28889,12394,12438,12379,12403, 12323,12433,28889, 0,12430,28889,28889,12933,12937,12360, 12941,12945,12451,12458,12949,12439,12383,12568,28889,12978, 13105,13109,12524,12959,28889,13114,12393,12915,13121,13135, 13139,12490,28889,28889,12429,12527,12470,12428,12566,12508, 12434, 0,13147,12463,28889,12528,28889,13169,13197,13225, 13253,13281,13309,13337,13365,13393,13421,13449,13477,13505, 13533,13561,13589,13617,13645,13673,13701,13729,13757,13785, 13813,13841,13869,13897,13925,13953,13981,14009,14037,14065, 14093,14121,14149,14177,14205,14233,14261,14289,14317,14345, 14373,14401,14429,14457,14485,14513,14541,14569,14597,14625, 14653,14681,14709,14737,14765,14793,14821,14849,14877,14905, 14933,14961,14989,15017,15045,15073,15101,15129,15157,15185, 15213,15241,15269,15297,15325,15353,15381,15409,12613,15436, 13144,12614,15457,15482,15504,12945,15531,15440,15552,15443, 12949,15574,15602,15630,15658,15685,15446,15706,15453,15728, 15756,15784,15812,15840,15868,15896,15924,12955,15952,15980, 16008,12963,16036,16064,16091,16114,15467,16136,16153,16177, 16194,16217,15470,13146,13139,15465,16239,16267,13140,16295, 16323,16351,16379,16407,16424,16448,16476,16504,16521,16545, 16562,16585,16606,15474,16627,15471,16649,16677,12606,15481, 16694,16713,16741,16756,16777,15535,16799,16827,16855,16883, 16911,16939,16967,16995,17018,17038,17060,17077,17101,17118, 17131,17148,17176,17204,15480,17232,17260,17288,17316,17344, 17372,17400,17428,17456,17484,17511,15538,17533,17561,17589, 17606,17630,17658,17686,17714,15529,17742,17770,15530,17798, 17821,17844,17861,17885,17902,15541,17926,17954,17982,18010, 18038,18066,18094,18122,18150,18178,18206,18234,15542,15556, 18261,18288,15689,15544,15545,18309,18334,18356,18383,18404, 18431,15692,18452,18473,18500,15695,18521,15555,18543,18571, 18599,18627,18655,18682,18709,16092,15683,18730,18757,16097, 15684,18779,18807,18835,18863,18891,18919,18947,18975,19003, 15696,19031,19059,19087,19115,15698,19143,19171,19198,19221, 19248,16101,15699,19270,19287,19311,19328,19351,19378,16107, 15705,15890,15709,16105,19400,19428,16104,19456,19484,19512, 19540,19568,19596,16211,19624,19641,19665,19693,19721,19738, 19762,19779,19802,19823,19844,19871,16579,16108,19892,16111, 16207,19914,19942,19965,12534,12559,16209,19982,19995,20008, 20035,20052,20080,20095,20116,20143,16589,16208,20165,20193, 20221,20249,20277,20305,20333,20361,20384,20404,20426,20443, 20467,20484,20497,20514,20542,20570,16220,20598,20626,20654, 20682,20710,20738,20766,20794,20822,20850,20878,20905,20932, 16592,16583,20954,20982,21010,21027,21051,21079,21107,21135, 16582,21163,21191,16598,21219,21242,21265,21282,21306,21323, 16599,21347,21375,21403,21431,21459,21487,21515,21543,21571, 16600,21598,21625,16623,16615,16711,21646,21668,21696,21723, 21750,16780,21771,21792,21819,17035,21840,21862,21889,21916, 17041,16618,21937,21964,17135,16619,21986,22014,22042,22070, 22097,22124,17826,16622,22145,22172,17842,16625,22194,22222, 22249,22270,22291,22318,17849,16626,16768,22340,22363,13106, 22380,22399,22427,22455,22483,22510,22521,22538,22557,22584, 22611,18264,16629,22633,22660,22687,18271,16722,22709,16774, 18274,22736,22757,22779,22807,22835,22862,22883,22905,12946, 22928,22956,22984,23012,23040,23068,23096,23124,23152,23180, 23208,23236,23264,23292,23320,23348,23376,23404,23432,23460, 23488,23516,23544,23561,23580,23608,23636,17037,23663,23684, 23706,23734,23762,23790,23818,23846,23873,23895,23918,23946, 23974,24002,24030,24058,24086,24114,24142,24170,24198,24226, 24254,24282,24310,24338,24366,24394,24422,24450,24478,24506, 24534,24562,24590,24618,24646,24674,24702,24730,24758,24786, 24814,24842,24870,24898,24926,24954,24982,25005,25022,25046, 25069,25097,25125,17502,25152,25174,25202,25230,25258,25286, 25314,25337,25365,25393,25421,25449,25477,25505,25533,25561, 25589,25617,25645,25673,25701,25729,25757,25785,25813,25841, 25869,25897,25925,25953,25981,26009,26037,26065,26093,26121, 26149,26172,26189,26213,26241,26269,26292,26320,26348,26376, 26403,26425,26453,26481,26504,26532,26560,26588,26616,26644, 26672,26700,26728,26756,26784,26812,26840,26868,26896,26924, 26952,26980,27003,27020,27044,27067,27095,27123,27151,17852, 27178,27200,27228,27256,27279,27307,27335,27363,27391,27419, 27447,27475,27503,27531,27559,27587,27615,27643,27666,27683, 12562,27707,27735,27763,18280,15479,16704,27790,27812,27840, 27868,27891,27919,27947,27975,28003,28031,28059,28087,28115, 28138,18277,28155,12591,28179,28206,28228,28256,28284,16205, 16755,16770,28311,28333,28361,28389,28417,28440,28468,28496, 28524,28552,28575,18281,28592,28605,18297,28628,28649,28671, 28699,28727,28754,28776,28804,28832,28860 } ; static yyconst short int yy_def[4498] = { 0, 3788, 3788, 3787, 3, 3789, 3789, 3790, 3790, 3788, 3788, 3787, 11, 3787, 13, 3787, 15, 3791, 3791, 3788, 3788, 3787, 21, 3787, 23, 3787, 25, 3788, 3788, 3788, 3788, 3792, 3792, 3793, 3793, 3792, 3792, 3794, 3794, 3795, 3795, 3796, 3796, 3788, 3788, 3787, 45, 3787, 47, 3797, 3797, 3797, 3797, 3788, 3788, 3798, 3798, 3799, 3799, 3800, 3800, 3788, 3788, 3801, 3801, 3802, 3802, 3788, 3788, 3788, 3788, 3803, 3803, 3804, 3804, 3788, 3788, 3788, 3788, 3787, 79, 3805, 3805, 3806, 3806, 3807, 3807, 3808, 3808, 3809, 3809, 3809, 3809, 3787, 93, 3810, 3810, 3811, 3811, 3812, 3812, 3787, 101, 3812, 3812, 3788, 3788, 3813, 3813, 3787, 109, 3787, 111, 3814, 3814, 3815, 3815, 3816, 3816, 3787, 119, 3817, 3817, 3787, 123, 3818, 3818, 3819, 3819, 3820, 3820, 3821, 3821, 3808, 133, 3822, 3822, 3823, 3823, 3824, 3824, 3825, 3825, 3788, 3788, 133, 133, 3826, 3826, 3788, 3788, 3787, 151, 3787, 153, 3788, 3788, 3827, 3827, 3828, 3828, 3829, 3829, 3787, 163, 3788, 3788, 3830, 3830, 3831, 3831, 3787, 171, 3832, 3832, 3787, 175, 3833, 3833, 3833, 3833, 3834, 3834, 3835, 3835, 3836, 3836, 3837, 3837, 3788, 3788, 3838, 3838, 3839, 3839, 3840, 3840, 3841, 3841, 3842, 3842, 3788, 3788, 3788, 3788, 3843, 3843, 3844, 3844, 3845, 3845, 3787, 211, 3846, 3846, 3847, 3847, 3848, 3848, 3849, 3849, 3850, 3850, 3851, 3851, 3787, 225, 3852, 3852, 3853, 3853, 3854, 3854, 3788, 3788, 3855, 3855, 3788, 3788, 3787, 239, 3856, 3856, 3787, 243, 3857, 3857, 3858, 3858, 3788, 3788, 3787, 251, 3859, 3859, 3788, 3788, 3860, 3860, 3861, 3861, 3862, 3862, 3863, 3863, 3864, 3864, 3863, 3863, 3865, 3865, 3866, 3866, 3867, 3867, 3867, 3867, 3787, 277, 3787, 3787, 3868, 3787, 3787, 3787, 3869, 3787, 3868, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3870, 3787, 3871, 3787, 3787, 3787, 3787, 3787, 3872, 3873, 3873, 3873, 3787, 3787, 3787, 3874, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3875, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3876, 3787, 3787, 3787, 3787, 3787, 3787, 3877, 3787, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3787, 3878, 3787, 3787, 3787, 3787, 3879, 3880, 3787, 3787, 3787, 3787, 3787, 3787, 3881, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3882, 3883, 3882, 3787, 3787, 3884, 3885, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3886, 3887, 3787, 3787, 3787, 3787, 3888, 3889, 3787, 3868, 3787, 3787, 3787, 3890, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3891, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3892, 3893, 3892, 3892, 3787, 3892, 3894, 3895, 3787, 3894, 3894, 3787, 3787, 3787, 3787, 3896, 3897, 3787, 3787, 3896, 3787, 3787, 3896, 3896, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3898, 3899, 3900, 3899, 3787, 3899, 3901, 3899, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3902, 3787, 3787, 535, 3787, 3903, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 549, 3787, 3787, 3787, 3904, 3787, 3787, 3868, 3905, 3787, 3787, 3787, 3787, 3905, 3787, 3787, 3787, 3905, 3903, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3906, 3907, 3787, 3787, 3787, 3908, 3909, 3909, 3787, 3787, 3787, 3910, 3911, 3911, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3912, 3913, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3914, 3915, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3903, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3916, 3917, 3918, 3787, 3917, 3917, 3787, 3919, 3920, 3921, 3787, 3920, 3920, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3922, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3923, 3787, 3868, 3787, 3787, 3787, 3787, 3905, 3787, 3787, 3787, 3787, 3905, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3924, 3925, 3925, 3926, 3927, 3787, 3926, 3926, 3787, 3928, 3929, 3929, 3787, 3930, 3931, 3931, 3787, 3932, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3933, 3934, 3787, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3935, 3935, 3935, 3935, 3787, 3787, 3787, 3936, 3787, 3787, 3787, 3937, 3938, 3787, 3787, 3937, 3787, 3937, 3787, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3939, 3787, 3940, 3941, 3941, 3941, 3787, 3787, 3942, 3941, 3942, 3939, 3943, 3944, 3787, 3787, 3787, 3787, 3945, 3946, 3787, 3868, 3787, 3787, 3787, 3787, 3787, 3787, 3947, 3948, 3787, 3947, 3949, 3950, 3949, 3951, 3952, 3951, 3953, 3954, 3953, 3787, 3953, 3787, 3787, 3953, 3787, 3955, 3955, 3787, 3787, 3868, 3787, 3787, 3787, 3787, 3956, 3957, 3958, 3958, 3959, 3960, 3960, 3787, 3787, 3787, 3961, 3961, 3962, 3962, 3787, 3963, 3964, 3963, 3963, 3963, 3787, 3787, 3965, 3966, 3967, 3966, 3968, 3969, 3968, 3970, 3971, 3970, 3972, 3973, 3972, 3787, 3868, 3787, 3787, 3787, 3787, 3974, 3975, 3974, 3787, 3974, 3974, 3787, 3787, 3787, 3787, 3976, 3977, 3978, 3979, 3787, 3978, 3978, 3978, 3978, 3787, 3980, 3981, 3981, 3982, 3983, 3982, 3982, 3984, 3985, 3984, 3984, 3787, 3986, 3987, 3988, 3787, 3987, 3987, 3787, 3989, 3989, 3989, 3990, 3991, 3992, 3992, 3993, 3994, 3995, 3995, 3787, 3787, 3787, 3996, 3997, 3998, 3787, 3997, 3787, 3997, 3787, 3999, 3787, 3787, 3787, 3787, 4000, 4001, 3787, 4000, 3787, 3787, 4000, 4002, 4003, 4004, 4003, 3787, 4005, 3787, 3787, 3787, 3999, 3787, 3787, 3787, 4006, 4007, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3999, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3999, 3787, 3787, 3787, 3787, 3999, 3787, 3787, 3787, 3787, 4008, 3787, 3787, 4009, 3999, 3787, 3787, 3787, 3787, 4010, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4011, 4012, 3787, 4013, 4014, 3787, 4015, 4016, 4016, 4017, 3787, 4016, 3787, 4017, 3787, 3787, 3787, 3787, 3787, 3787, 4018, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4019, 3787, 3787, 4020, 3787, 4021, 3787, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4022, 4023, 3787, 3787, 4024, 3787, 4025, 3787, 4026, 4027, 3787, 3787, 4028, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4029, 4030, 4029, 4029, 3787, 4031, 3787, 3787, 4032, 3787, 4033, 3787, 3787, 3787, 4034, 4035, 4036, 4037, 3787, 3787, 4038, 4039, 4040, 4041, 3787, 4042, 3787, 3787, 4043, 3787, 3787, 3787, 3787, 3787, 4043, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4044, 4045, 4044, 4044, 3787, 3787, 3787, 4044, 4046, 3787, 4047, 4046, 4048, 4046, 4046, 4049, 4050, 4049, 3787, 3787, 3787, 3787, 3787, 4049, 3787, 3787, 3787, 3787, 3787, 3787, 4051, 4052, 4053, 4054, 4052, 4055, 4052, 3787, 4053, 4053, 4053, 4052, 3787, 3787, 1202, 3787, 3787, 3787, 4056, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4057, 3787, 3787, 4057, 3787, 3787, 1202, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4058, 3787, 3787, 3787, 4058, 4059, 4059, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4059, 4057, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4060, 4061, 4062, 4063, 3787, 3787, 4064, 4065, 4065, 3787, 3787, 4066, 4067, 4067, 3787, 3787, 3787, 3787, 3787, 4068, 4069, 4070, 4071, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4072, 4073, 3787, 3787, 3787, 3787, 3787, 4057, 3787, 3787, 3787, 3787, 3787, 3787, 4057, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4074, 4075, 4076, 4075, 4075, 4075, 4077, 4078, 3787, 4079, 4078, 4080, 4078, 4078, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4081, 3787, 4081, 3787, 3787, 3787, 3787, 3787, 4082, 3787, 4083, 3787, 3787, 4084, 3787, 3787, 3787, 4084, 3787, 4085, 4086, 4086, 4087, 3787, 4088, 4087, 4080, 4087, 4087, 4089, 4090, 4090, 4091, 4092, 4092, 3787, 4093, 3787, 4094, 3787, 3787, 4095, 4096, 4097, 4098, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4099, 4099, 4100, 4100, 4101, 4102, 4103, 4102, 3787, 3787, 4102, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4104, 4105, 4106, 4107, 4108, 4109, 3787, 4108, 4110, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4105, 4111, 4112, 4108, 4112, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 1503, 4113, 4113, 4114, 3787, 3787, 4115, 4116, 4117, 4118, 3787, 3787, 3787, 3787, 3787, 4119, 4120, 4119, 4119, 4119, 4121, 4122, 4121, 4121, 4121, 4123, 4124, 4123, 4123, 4123, 4125, 4126, 4125, 4125, 3787, 4125, 3787, 3787, 3787, 3787, 4125, 3787, 4127, 4127, 3787, 4128, 4129, 4130, 4130, 4131, 4132, 4132, 3787, 3787, 4133, 4133, 4134, 4134, 4135, 4136, 4135, 4135, 4135, 4137, 4138, 4139, 4138, 4138, 4138, 4140, 4141, 4140, 4140, 4140, 4142, 4143, 4142, 4142, 4142, 4144, 4145, 4144, 4144, 4144, 3787, 3787, 3787, 4146, 4146, 3787, 4147, 4146, 4147, 4148, 4146, 4146, 3787, 3787, 4149, 3787, 4150, 4151, 4152, 4153, 3787, 4154, 4153, 4148, 4153, 4153, 4153, 4153, 3787, 4155, 4156, 4156, 4157, 4158, 4157, 4157, 4157, 4159, 3787, 4160, 4159, 4148, 4159, 4159, 4161, 4162, 3787, 4163, 4162, 4148, 4162, 4162, 4164, 4164, 4164, 4165, 4166, 4167, 4168, 4167, 4169, 4170, 4170, 3787, 3787, 4171, 4172, 3787, 4173, 4172, 4148, 4172, 3787, 3787, 3787, 4174, 4175, 4174, 4174, 4174, 3787, 4176, 4177, 4176, 3787, 4178, 4179, 4180, 4179, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4181, 3787, 3787, 3787, 4182, 4183, 4184, 4185, 3787, 4186, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4187, 3787, 3787, 4188, 3787, 3787, 4189, 4190, 4191, 4192, 3787, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 4191, 3787, 4193, 4194, 4195, 4196, 3787, 4197, 3787, 4188, 3787, 4189, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4198, 3787, 4199, 4200, 4201, 4202, 4203, 4204, 4205, 4206, 3787, 3787, 3787, 3787, 4207, 4207, 4207, 3787, 3787, 3787, 3787, 3787, 4208, 3787, 3787, 3787, 4209, 4210, 4209, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4211, 4212, 4213, 4214, 3787, 3787, 3787, 4215, 4216, 4217, 4218, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4219, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4220, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4221, 4222, 4222, 4223, 4224, 4225, 4226, 4227, 3787, 4228, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4229, 3787, 4229, 4230, 4231, 4231, 4232, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4233, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4234, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4235, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4236, 3787, 4237, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4238, 4239, 4240, 4241, 4242, 4243, 3787, 3787, 3787, 4244, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4245, 4246, 4247, 3787, 3787, 4248, 4249, 3787, 3787, 4250, 4250, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4251, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4252, 3787, 3787, 3787, 3787, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 4253, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4254, 3787, 3787, 4255, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4256, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4257, 4258, 4259, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4260, 3787, 4261, 4261, 3787, 4262, 3787, 4263, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4264, 3787, 3787, 3787, 3787, 4265, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4266, 4266, 3787, 4267, 3787, 3787, 3787, 4268, 3787, 3787, 4269, 3787, 4270, 3787, 4271, 3787, 3787, 4272, 3787, 4273, 3787, 4274, 3787, 3787, 4275, 3787, 4276, 4276, 3787, 3787, 4277, 3787, 3787, 3787, 4278, 3787, 4279, 4279, 3787, 3787, 3787, 3787, 3787, 3787, 4280, 3787, 4281, 3787, 4282, 3787, 4283, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4261, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 4284, 3787, 4284, 4284, 4284, 4284, 4284, 4284, 4285, 3787, 3787, 3787, 4286, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4287, 3787, 4288, 4288, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4289, 3787, 4290, 3787, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4291, 4292, 3787, 3787, 4293, 3787, 3787, 4294, 3787, 3787, 3787, 4295, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4296, 4296, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4297, 4297, 4298, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4299, 4300, 4300, 4301, 4301, 3787, 3787, 3787, 4302, 3787, 3787, 4303, 3787, 4304, 3787, 4305, 3787, 3787, 4306, 3787, 4307, 3787, 4308, 3787, 3787, 4309, 4309, 4310, 3787, 3787, 4311, 3787, 4312, 4312, 3787, 3787, 3787, 3787, 3787, 3787, 4313, 3787, 4314, 3787, 4315, 3787, 4316, 3787, 3787, 3787, 4317, 4317, 3787, 3787, 4318, 4318, 4319, 3787, 4320, 4320, 4321, 4321, 4322, 4322, 3787, 4323, 4323, 4324, 4324, 4325, 4325, 3787, 4326, 4326, 4327, 3787, 3787, 4328, 4328, 3787, 3787, 4329, 4329, 4330, 3787, 3787, 3787, 4331, 3787, 4332, 3787, 3787, 4333, 4333, 4334, 4334, 4335, 4335, 4336, 4336, 4337, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4338, 4339, 4339, 4339, 4339, 4339, 4340, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4341, 3787, 3787, 3787, 4342, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4343, 3787, 4344, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 3787, 3787, 4345, 3787, 3787, 3787, 3787, 3787, 3787, 4346, 4347, 3787, 4348, 3787, 3787, 4349, 4349, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4350, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4351, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4352, 3787, 3787, 3787, 4353, 4353, 4354, 3787, 4355, 4355, 4356, 4356, 4357, 4357, 3787, 4358, 4358, 4359, 4359, 4360, 4360, 3787, 4361, 4361, 3787, 4362, 4362, 4363, 3787, 3787, 3787, 4364, 3787, 4365, 3787, 3787, 4366, 4366, 4367, 4367, 4368, 4368, 4369, 4369, 4370, 3787, 4371, 3787, 3787, 4372, 3787, 4373, 4373, 4374, 3787, 4375, 3787, 4376, 4376, 3787, 4377, 3787, 3787, 4378, 4378, 3787, 3787, 4379, 4379, 4380, 4380, 3787, 4381, 4381, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4382, 4383, 4383, 4383, 4383, 4384, 4385, 4386, 4383, 4383, 4383, 4383, 4383, 4383, 3787, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4387, 3787, 3787, 4388, 3787, 4389, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4390, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4391, 3787, 4391, 4391, 4391, 3787, 3787, 4391, 4391, 3787, 3787, 4391, 4391, 4391, 4391, 3787, 3787, 3787, 3787, 4392, 4392, 4393, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4394, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4395, 4396, 3787, 3787, 4397, 3787, 4398, 4398, 4399, 3787, 4400, 3787, 3787, 4401, 4401, 3787, 3787, 4402, 4402, 4403, 4403, 3787, 4404, 4404, 4405, 4405, 3787, 4406, 4406, 4407, 4407, 4408, 4408, 4409, 3787, 4410, 4410, 3787, 4411, 3787, 3787, 4412, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4413, 4414, 4414, 4414, 4414, 4415, 4415, 4414, 4414, 4414, 4414, 4414, 4414, 3787, 4414, 4414, 4414, 4414, 4414, 4414, 4414, 4414, 3787, 4414, 4414, 4414, 4414, 4414, 4414, 4414, 4414, 4414, 4414, 4416, 3787, 3787, 4417, 4417, 4418, 3787, 3787, 3787, 3787, 4419, 3787, 3787, 3787, 3787, 4420, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4421, 4421, 3787, 3787, 4421, 4421, 3787, 4421, 3787, 3787, 4421, 3787, 4421, 3787, 3787, 3787, 4422, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4423, 3787, 4424, 3787, 3787, 3787, 3787, 3787, 4425, 4426, 4426, 3787, 4427, 4427, 4428, 4428, 4429, 4429, 3787, 4430, 3787, 3787, 4431, 3787, 4432, 3787, 4433, 4433, 3787, 4434, 4434, 4435, 3787, 4436, 4436, 3787, 3787, 3787, 4437, 4438, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4439, 4440, 4441, 4440, 4440, 3787, 4440, 4440, 4440, 4440, 4440, 3787, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 3787, 3787, 3787, 4442, 4443, 3787, 3787, 4444, 3787, 3787, 4445, 4446, 4447, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4448, 4448, 3787, 4448, 4448, 4448, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4449, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4450, 3787, 4451, 3787, 3787, 4452, 4453, 3787, 3787, 4454, 4454, 4455, 3787, 4456, 4456, 4457, 4457, 3787, 4458, 4458, 3787, 3787, 3787, 3787, 3787, 4459, 3787, 3787, 3787, 3787, 4460, 3787, 3787, 3787, 4461, 4440, 4462, 4440, 4440, 4440, 4440, 4463, 4440, 4463, 4440, 4440, 4440, 4440, 4440, 4440, 4440, 4464, 4440, 4440, 4440, 4465, 3787, 4466, 4467, 3787, 4467, 3545, 3542, 3787, 3787, 4468, 3787, 3787, 4469, 3787, 4470, 4471, 4472, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4473, 3787, 3787, 4473, 4473, 3787, 3787, 3787, 3787, 4474, 3787, 3787, 3787, 3787, 3787, 4475, 4476, 3787, 3787, 3787, 4477, 3787, 3787, 4478, 4479, 4479, 3787, 4480, 4480, 4481, 3787, 3787, 3787, 3787, 3787, 4482, 3787, 3787, 3787, 4483, 3787, 4484, 4485, 4485, 4485, 4485, 4485, 4485, 4486, 4485, 4485, 4487, 4485, 4486, 4485, 4488, 3787, 4489, 3787, 4489, 3787, 3787, 3787, 3787, 4490, 3787, 4471, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 4473, 3787, 4473, 4473, 3787, 3787, 3787, 3787, 4476, 4476, 3787, 4477, 3787, 4478, 4491, 3787, 4481, 4481, 3787, 3787, 3787, 3787, 4485, 4485, 4485, 4485, 4485, 4485, 4486, 4485, 3787, 4487, 4485, 4488, 3787, 3625, 4492, 3625, 3787, 4493, 3787, 3667, 3667, 3787, 3787, 4490, 3787, 3787, 3787, 3787, 4473, 4473, 3787, 3787, 3787, 4477, 4494, 3625, 4491, 4491, 3787, 3787, 3667, 3667, 4485, 4485, 4485, 4485, 4485, 3787, 4485, 3787, 4493, 3787, 3667, 4495, 3787, 4490, 4496, 3787, 3787, 3787, 3787, 3787, 3787, 4473, 3787, 4477, 3787, 3787, 3787, 4485, 4485, 4485, 4485, 3625, 3667, 3787, 4497, 4490, 3787, 3787, 3787, 3787, 3787, 3787, 4473, 4485, 4485, 4485, 4485, 3625, 3667, 3787, 3787, 3787, 3787, 4485, 4485, 3787, 4485, 3625, 3667, 3787, 3787, 3787, 4485, 3787, 3787, 3625, 3667, 4485, 3625, 3667, 4485, 3625, 3667, 4485, 3625, 3787, 3625, 0, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787 } ; static yyconst short int yy_nxt[28976] = { 0, 3787, 281, 3787, 282, 283, 281, 1019, 282, 283, 1019, 1020, 1020, 1020, 1020, 3787, 1058, 1004, 1004, 1010, 1058, 284, 1005, 1005, 1011, 284, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 280, 280, 280, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 280, 280, 280, 287, 1208, 282, 288, 287, 2477, 282, 288, 292, 293, 294, 295, 293, 289, 296, 1148, 1149, 289, 281, 290, 282, 283, 281, 290, 282, 283, 1208, 297, 292, 293, 294, 295, 293, 556, 296, 1032, 556, 284, 1032, 1155, 1156, 284, 281, 367, 368, 369, 367, 297, 281, 367, 368, 369, 367, 381, 382, 383, 384, 382, 374, 1033, 726, 375, 1034, 298, 374, 385, 386, 375, 1004, 387, 1061, 2478, 388, 1005, 1462, 1062, 1082, 1082, 1082, 1082, 1157, 1158, 1465, 298, 280, 281, 299, 300, 301, 299, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 302, 303, 280, 280, 280, 280, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 280, 280, 280, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, 280, 306, 280, 281, 307, 282, 283, 307, 280, 280, 280, 280, 280, 308, 280, 309, 280, 308, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 310, 308, 311, 308, 280, 280, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 309, 280, 280, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 305, 280, 280, 280, 281, 313, 314, 315, 313, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 316, 280, 280, 284, 280, 280, 280, 280, 280, 280, 317, 303, 318, 280, 280, 280, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 280, 280, 280, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 320, 280, 280, 322, 323, 324, 325, 323, 322, 323, 324, 325, 323, 281, 2480, 282, 283, 705, 1022, 329, 705, 1022, 326, 1056, 330, 331, 1056, 326, 3787, 332, 568, 281, 284, 282, 283, 706, 1092, 329, 2500, 1010, 333, 1093, 330, 331, 1011, 3787, 443, 332, 454, 445, 284, 381, 382, 383, 384, 382, 1148, 1149, 333, 390, 448, 282, 391, 385, 386, 455, 1170, 387, 1171, 3787, 388, 392, 393, 281, 327, 282, 283, 2028, 394, 327, 328, 390, 1057, 282, 391, 328, 281, 1208, 282, 283, 2029, 1004, 284, 392, 393, 334, 1005, 1004, 1061, 1016, 394, 456, 1005, 1062, 1324, 284, 1090, 1090, 1090, 1090, 2501, 1271, 1208, 334, 280, 281, 335, 336, 337, 335, 280, 280, 338, 280, 280, 339, 280, 340, 280, 339, 280, 341, 280, 280, 342, 280, 280, 280, 280, 280, 280, 343, 344, 345, 346, 280, 280, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 348, 280, 280, 347, 347, 349, 347, 350, 347, 347, 347, 351, 347, 347, 352, 353, 347, 354, 347, 347, 355, 356, 357, 358, 347, 347, 347, 347, 359, 280, 360, 280, 281, 361, 362, 363, 361, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 364, 280, 280, 280, 280, 280, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 280, 280, 280, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 280, 280, 366, 280, 281, 367, 368, 369, 367, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 370, 280, 280, 371, 280, 280, 280, 280, 280, 280, 280, 280, 280, 372, 280, 280, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 280, 280, 280, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 280, 280, 280, 281, 2502, 282, 283, 1373, 1061, 281, 376, 282, 283, 1062, 1374, 377, 376, 1095, 1095, 1095, 1095, 377, 284, 413, 1632, 282, 414, 1851, 284, 378, 379, 406, 1096, 407, 408, 378, 379, 406, 1852, 407, 408, 1636, 415, 409, 413, 1162, 282, 414, 1162, 409, 410, 419, 420, 421, 422, 420, 410, 423, 1163, 411, 1462, 1208, 424, 415, 485, 411, 486, 487, 2049, 281, 425, 282, 283, 1024, 1025, 1025, 1024, 416, 281, 417, 282, 283, 1632, 488, 1323, 378, 1208, 281, 284, 282, 283, 378, 381, 395, 396, 397, 395, 284, 416, 1580, 417, 419, 420, 421, 422, 420, 284, 423, 1359, 1323, 1002, 398, 424, 281, 428, 282, 283, 1004, 399, 399, 425, 400, 1005, 1122, 443, 1580, 444, 445, 1123, 2138, 446, 1140, 284, 426, 427, 447, 1141, 2139, 448, 1144, 428, 1639, 1144, 449, 443, 1145, 454, 445, 1146, 1462, 1151, 401, 457, 1147, 1027, 1152, 429, 1146, 448, 1004, 2503, 457, 1147, 455, 1005, 402, 1324, 403, 473, 404, 474, 475, 1712, 1271, 399, 381, 395, 396, 397, 395, 1165, 1712, 429, 426, 427, 1166, 459, 476, 460, 461, 1177, 2397, 462, 1177, 398, 1008, 1008, 1008, 1008, 456, 463, 399, 399, 1178, 400, 464, 450, 451, 479, 480, 282, 481, 480, 1009, 479, 480, 282, 481, 480, 1004, 1186, 1004, 482, 477, 1180, 1179, 1187, 483, 482, 1008, 1008, 1008, 1008, 483, 401, 485, 1650, 486, 487, 1168, 1650, 465, 1097, 1097, 1097, 1097, 1019, 1009, 402, 1019, 403, 1172, 404, 1366, 488, 1367, 1173, 399, 280, 281, 430, 431, 432, 430, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 433, 280, 280, 280, 280, 280, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 280, 280, 280, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 280, 280, 435, 280, 281, 436, 437, 438, 436, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 439, 280, 280, 280, 280, 280, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 280, 280, 280, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 280, 280, 441, 443, 452, 444, 445, 452, 1375, 446, 453, 1373, 2506, 459, 447, 460, 461, 448, 1374, 462, 1004, 467, 449, 444, 468, 1005, 1184, 463, 467, 1184, 444, 468, 464, 1191, 473, 469, 474, 475, 1198, 1185, 470, 281, 469, 282, 283, 2511, 281, 470, 282, 283, 1161, 1588, 1002, 476, 281, 1712, 282, 283, 1199, 281, 284, 282, 283, 1200, 1002, 284, 491, 492, 465, 1712, 1205, 491, 492, 284, 281, 1206, 282, 283, 284, 1002, 494, 495, 496, 497, 495, 450, 451, 1233, 281, 477, 282, 283, 1204, 284, 498, 1025, 1025, 1025, 1025, 499, 516, 517, 514, 471, 515, 2513, 1315, 284, 500, 1315, 471, 501, 494, 503, 496, 497, 503, 507, 508, 509, 510, 508, 1205, 489, 490, 1316, 504, 1234, 489, 490, 1193, 505, 1002, 1004, 1019, 502, 511, 1019, 1206, 571, 500, 580, 581, 501, 1194, 512, 1402, 513, 1403, 507, 508, 509, 510, 508, 281, 1004, 282, 283, 582, 281, 1234, 282, 283, 1008, 1008, 1008, 1008, 502, 511, 1205, 1233, 516, 517, 284, 1206, 1179, 3787, 512, 284, 513, 1032, 1009, 514, 1032, 515, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 280, 280, 280, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 280, 280, 280, 520, 521, 522, 523, 521, 1836, 520, 521, 522, 523, 521, 1646, 1866, 1002, 524, 1116, 1117, 1117, 1116, 525, 524, 1117, 1117, 1117, 1117, 525, 526, 527, 528, 529, 530, 528, 526, 526, 526, 526, 526, 526, 526, 526, 526, 531, 526, 526, 526, 526, 532, 541, 542, 543, 544, 542, 2514, 526, 526, 534, 526, 526, 535, 1205, 571, 545, 580, 581, 1234, 546, 547, 1032, 1205, 281, 1032, 618, 283, 1206, 281, 548, 618, 283, 549, 582, 1280, 526, 536, 526, 603, 1217, 604, 605, 284, 663, 1205, 664, 665, 284, 1205, 1284, 606, 1650, 607, 1005, 2201, 1650, 550, 608, 1025, 1025, 1025, 1025, 666, 526, 526, 526, 526, 527, 537, 529, 530, 537, 526, 526, 526, 526, 526, 526, 526, 526, 526, 538, 526, 526, 526, 526, 539, 541, 551, 552, 553, 551, 2515, 526, 526, 534, 526, 526, 535, 1004, 1660, 554, 1661, 2518, 1296, 546, 555, 663, 609, 664, 665, 625, 1581, 282, 626, 548, 2519, 603, 549, 604, 605, 526, 536, 526, 627, 625, 666, 282, 626, 606, 628, 607, 1095, 1095, 1095, 1095, 608, 1581, 627, 3787, 1004, 1004, 550, 1004, 628, 1301, 1005, 1096, 1005, 526, 526, 526, 556, 557, 558, 559, 560, 558, 556, 556, 556, 556, 556, 556, 556, 556, 556, 561, 556, 556, 556, 556, 562, 571, 572, 573, 574, 572, 1462, 556, 556, 564, 556, 556, 565, 1749, 1612, 609, 1117, 1117, 1117, 1117, 575, 1613, 1750, 1614, 648, 649, 650, 651, 649, 2520, 1732, 655, 576, 282, 656, 556, 566, 556, 652, 655, 1733, 282, 656, 653, 657, 658, 1095, 1095, 1095, 1095, 659, 2400, 657, 658, 1004, 1004, 577, 1004, 659, 1005, 1338, 1096, 1005, 556, 556, 556, 556, 557, 567, 559, 560, 567, 556, 556, 556, 556, 556, 556, 556, 556, 556, 568, 556, 556, 556, 556, 569, 571, 578, 573, 574, 578, 2523, 556, 556, 564, 556, 556, 565, 2524, 648, 649, 650, 651, 649, 670, 579, 671, 672, 670, 1281, 671, 672, 708, 652, 709, 710, 1271, 576, 653, 1280, 556, 566, 556, 673, 1217, 1004, 718, 673, 719, 720, 1005, 711, 1110, 1110, 1110, 1110, 1129, 1129, 1129, 1129, 712, 577, 1360, 1737, 1111, 721, 1738, 1361, 556, 556, 556, 280, 281, 583, 584, 585, 583, 280, 280, 280, 280, 280, 280, 280, 280, 280, 586, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 587, 280, 280, 280, 280, 280, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 280, 280, 280, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 280, 280, 589, 280, 281, 590, 591, 592, 590, 280, 593, 280, 280, 280, 280, 280, 280, 280, 280, 708, 280, 709, 710, 595, 1364, 632, 633, 634, 635, 633, 1666, 280, 280, 280, 280, 280, 1368, 1665, 711, 636, 718, 1369, 719, 720, 637, 1155, 1156, 712, 603, 617, 618, 605, 617, 638, 281, 1666, 282, 283, 280, 721, 280, 2525, 281, 1665, 282, 283, 281, 608, 282, 283, 1652, 1302, 1653, 284, 1302, 1201, 1653, 619, 1201, 1058, 639, 284, 1462, 1058, 1303, 284, 280, 280, 280, 280, 281, 590, 591, 592, 590, 280, 593, 280, 280, 280, 280, 280, 280, 280, 280, 1202, 280, 620, 281, 595, 282, 283, 632, 640, 641, 642, 640, 280, 280, 280, 280, 280, 1739, 621, 2405, 622, 643, 284, 1371, 1203, 623, 644, 1740, 1372, 603, 617, 618, 605, 617, 281, 638, 282, 283, 645, 280, 1837, 280, 281, 1838, 282, 283, 741, 742, 608, 1135, 1135, 1135, 1135, 284, 741, 742, 1235, 1879, 619, 1235, 1867, 284, 646, 1188, 1188, 1188, 1188, 280, 280, 280, 280, 281, 596, 597, 598, 596, 280, 599, 280, 280, 280, 280, 280, 280, 280, 280, 1236, 280, 620, 675, 601, 676, 677, 675, 682, 676, 677, 682, 280, 280, 280, 280, 280, 678, 621, 1462, 622, 683, 679, 1379, 1236, 623, 679, 746, 1370, 282, 747, 1822, 1382, 685, 680, 686, 687, 1383, 680, 280, 748, 280, 746, 1387, 282, 747, 749, 688, 1380, 1388, 1177, 689, 690, 1177, 1389, 748, 1822, 1634, 681, 1635, 1004, 749, 681, 1178, 691, 1206, 2428, 280, 280, 280, 280, 281, 596, 597, 598, 596, 280, 599, 280, 280, 280, 280, 280, 280, 280, 280, 1898, 280, 691, 1898, 601, 685, 692, 686, 687, 692, 1157, 1158, 280, 280, 280, 280, 280, 1840, 780, 693, 282, 781, 1376, 689, 690, 1376, 1002, 1841, 782, 1783, 381, 382, 383, 384, 382, 1377, 691, 783, 1784, 280, 1842, 280, 743, 744, 1843, 780, 387, 282, 781, 388, 1188, 1188, 1188, 1188, 1749, 782, 1188, 1188, 1188, 1188, 691, 1004, 1920, 1750, 783, 1908, 1234, 280, 280, 280, 280, 281, 610, 611, 612, 610, 280, 280, 280, 280, 280, 280, 280, 280, 613, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 614, 280, 280, 280, 280, 280, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 280, 280, 280, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 280, 280, 616, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 586, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 280, 280, 280, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 586, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 280, 280, 280, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 280, 280, 280, 280, 281, 280, 660, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 586, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 280, 280, 280, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 280, 280, 280, 280, 281, 280, 667, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 586, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 280, 280, 280, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 280, 280, 280, 695, 1855, 696, 697, 695, 1856, 696, 697, 2526, 381, 382, 383, 384, 382, 816, 779, 817, 781, 779, 698, 1845, 743, 744, 698, 1004, 387, 1846, 705, 388, 1005, 705, 699, 2205, 818, 281, 699, 282, 283, 1004, 281, 568, 282, 283, 1398, 2206, 706, 1196, 1196, 1196, 1196, 1170, 1004, 1171, 284, 556, 699, 1408, 556, 284, 699, 556, 557, 700, 559, 560, 700, 556, 556, 556, 556, 556, 556, 556, 556, 556, 561, 556, 556, 556, 556, 701, 726, 751, 752, 753, 754, 752, 556, 556, 702, 556, 556, 703, 1144, 755, 756, 1144, 2103, 757, 1145, 2103, 758, 281, 1835, 282, 283, 751, 752, 753, 754, 752, 281, 1226, 282, 283, 556, 704, 556, 755, 756, 1462, 284, 757, 1351, 1352, 758, 1351, 767, 1228, 1835, 284, 1238, 1238, 1238, 1238, 1359, 1353, 1002, 768, 1255, 1254, 1255, 1255, 556, 556, 556, 280, 281, 280, 713, 283, 280, 280, 714, 280, 280, 280, 280, 280, 280, 280, 586, 281, 280, 282, 283, 716, 2527, 281, 1384, 282, 283, 1384, 2403, 280, 280, 280, 280, 280, 1870, 1871, 284, 1385, 908, 767, 282, 909, 284, 816, 779, 817, 781, 779, 769, 1840, 768, 771, 772, 773, 774, 772, 280, 910, 280, 1869, 1860, 1681, 818, 1682, 820, 779, 817, 781, 779, 1836, 775, 1290, 1290, 1290, 1290, 1002, 1219, 1269, 1013, 1014, 1014, 1013, 776, 821, 280, 280, 280, 280, 281, 280, 713, 283, 280, 280, 714, 280, 280, 280, 280, 280, 280, 280, 586, 1015, 280, 769, 777, 716, 771, 772, 773, 774, 772, 1911, 1912, 280, 280, 280, 280, 280, 2528, 820, 779, 817, 781, 779, 2529, 778, 823, 779, 817, 781, 779, 823, 779, 817, 781, 779, 1056, 776, 821, 1056, 280, 908, 280, 282, 909, 824, 281, 1948, 282, 283, 824, 1195, 1196, 1195, 1195, 1868, 2530, 1016, 1004, 1839, 910, 777, 1004, 1411, 1191, 284, 1952, 1005, 280, 280, 280, 280, 281, 280, 722, 283, 280, 280, 723, 280, 280, 280, 280, 280, 280, 280, 586, 1366, 280, 1367, 808, 725, 282, 809, 838, 1057, 839, 840, 810, 280, 280, 280, 280, 280, 811, 859, 1004, 860, 861, 812, 2531, 1005, 859, 841, 860, 861, 1014, 1014, 1014, 1014, 838, 813, 839, 840, 862, 842, 280, 281, 280, 282, 283, 862, 2205, 863, 867, 280, 282, 283, 280, 841, 863, 1015, 1004, 1439, 2227, 813, 284, 1005, 1440, 842, 1402, 842, 1403, 868, 280, 280, 280, 280, 281, 280, 722, 283, 280, 280, 723, 280, 280, 280, 280, 280, 280, 280, 586, 2532, 280, 842, 808, 725, 282, 809, 1292, 1293, 1292, 1292, 810, 280, 280, 280, 280, 280, 811, 918, 1632, 919, 920, 812, 867, 280, 282, 283, 280, 870, 280, 282, 283, 280, 879, 813, 880, 881, 921, 1929, 280, 1855, 280, 868, 912, 1877, 282, 913, 871, 1400, 280, 2034, 2035, 882, 1195, 1196, 1195, 1195, 1915, 813, 1862, 1404, 1916, 914, 1929, 883, 1405, 1191, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 727, 280, 280, 280, 280, 280, 280, 280, 586, 2105, 280, 883, 808, 729, 282, 809, 1292, 1293, 1292, 1292, 810, 280, 280, 280, 280, 280, 811, 918, 1863, 919, 920, 812, 870, 280, 282, 283, 280, 873, 280, 282, 283, 280, 879, 814, 880, 881, 921, 2248, 280, 1462, 280, 871, 912, 1226, 282, 913, 874, 1930, 280, 2249, 1880, 882, 1297, 1298, 1297, 1297, 2533, 814, 1219, 1439, 1004, 914, 1931, 883, 1443, 1005, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 727, 280, 280, 280, 280, 280, 280, 280, 586, 2077, 280, 883, 808, 729, 282, 809, 1297, 1298, 1297, 1297, 810, 280, 280, 280, 280, 280, 811, 281, 1462, 282, 283, 812, 873, 280, 282, 283, 280, 876, 280, 282, 283, 280, 281, 814, 282, 283, 284, 1948, 280, 1949, 280, 874, 281, 1950, 282, 283, 877, 1162, 915, 1712, 1162, 284, 1309, 1309, 1309, 1309, 1952, 814, 1712, 2410, 1163, 284, 1327, 1326, 1327, 1327, 280, 280, 280, 280, 281, 280, 730, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 586, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 280, 280, 280, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 280, 280, 280, 732, 733, 734, 735, 736, 734, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 737, 732, 732, 732, 732, 732, 732, 738, 732, 732, 732, 732, 732, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 732, 732, 732, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, 732, 732, 740, 280, 281, 759, 760, 761, 759, 280, 280, 280, 280, 280, 762, 280, 280, 280, 762, 280, 763, 280, 280, 342, 280, 280, 280, 280, 280, 280, 280, 764, 280, 765, 280, 280, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 280, 280, 280, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 280, 280, 280, 779, 780, 784, 785, 786, 784, 779, 779, 787, 788, 789, 782, 779, 779, 779, 779, 790, 779, 790, 790, 791, 790, 790, 790, 790, 790, 790, 792, 779, 793, 779, 779, 794, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 779, 796, 779, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 797, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 779, 779, 798, 280, 281, 280, 282, 283, 280, 280, 799, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 2133, 1462, 284, 826, 827, 828, 829, 827, 2534, 2133, 280, 280, 280, 280, 280, 1902, 876, 280, 282, 283, 280, 1462, 830, 885, 886, 887, 888, 886, 1933, 1588, 281, 831, 282, 283, 832, 877, 915, 280, 280, 280, 2080, 1902, 889, 885, 886, 887, 888, 886, 2535, 284, 1381, 1381, 1381, 1381, 1933, 1539, 1275, 1002, 833, 1275, 1540, 1022, 889, 2409, 1022, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 799, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 1276, 1712, 284, 826, 827, 828, 829, 827, 1993, 2146, 280, 280, 280, 280, 280, 1712, 939, 1208, 940, 941, 1391, 1646, 830, 1002, 1276, 2147, 939, 1546, 940, 941, 942, 831, 1547, 1993, 832, 943, 2536, 280, 280, 280, 942, 959, 1208, 952, 960, 943, 1391, 961, 1420, 1420, 1420, 1420, 962, 963, 964, 1650, 1016, 2537, 833, 1650, 965, 1430, 1430, 1430, 1430, 280, 280, 280, 280, 281, 801, 802, 803, 801, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 804, 280, 280, 280, 280, 280, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 280, 280, 280, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, 280, 280, 806, 280, 281, 280, 282, 283, 280, 280, 280, 1551, 280, 280, 280, 280, 1552, 1994, 280, 2004, 280, 2134, 897, 835, 898, 899, 1014, 1014, 1014, 1014, 2134, 280, 280, 280, 280, 836, 900, 281, 2007, 282, 283, 901, 1994, 281, 2004, 934, 283, 897, 2189, 898, 899, 1015, 945, 902, 282, 946, 284, 2189, 280, 836, 280, 900, 284, 2007, 1463, 1556, 901, 850, 1462, 1464, 1557, 947, 1452, 1453, 1454, 1452, 851, 903, 902, 1565, 948, 852, 949, 1462, 1566, 2538, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 2539, 280, 280, 280, 280, 851, 903, 280, 1462, 280, 852, 935, 835, 945, 1004, 282, 946, 2205, 2235, 1571, 280, 280, 280, 280, 836, 936, 1004, 281, 1004, 282, 283, 1005, 947, 1576, 281, 1004, 934, 283, 2078, 2018, 1579, 948, 988, 949, 282, 989, 284, 280, 836, 280, 1004, 2073, 1209, 284, 1265, 1583, 1266, 850, 2200, 990, 1267, 991, 1004, 1268, 2018, 1589, 851, 1585, 1219, 1269, 1590, 852, 1270, 2540, 2201, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 2541, 851, 280, 280, 280, 280, 852, 284, 935, 988, 1315, 282, 989, 1315, 2019, 280, 280, 280, 280, 280, 1595, 959, 936, 952, 960, 1596, 990, 961, 991, 1316, 2088, 1600, 962, 963, 964, 966, 1601, 952, 967, 2019, 965, 961, 280, 280, 280, 951, 962, 952, 953, 2542, 1224, 954, 1225, 1226, 965, 2088, 955, 1227, 1455, 1456, 1454, 1455, 1605, 968, 956, 969, 1660, 1606, 1661, 1228, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 2543, 2193, 280, 280, 280, 280, 993, 284, 282, 994, 993, 1841, 282, 994, 957, 280, 280, 280, 280, 280, 966, 3787, 952, 967, 2094, 995, 961, 1610, 1004, 995, 2544, 962, 1611, 1005, 951, 1632, 952, 953, 3787, 965, 954, 1004, 280, 280, 280, 955, 1643, 1637, 968, 2094, 969, 1462, 1638, 956, 1454, 1454, 1454, 1454, 1647, 1004, 1874, 996, 3787, 1648, 1674, 1000, 1014, 1014, 1014, 1014, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 844, 280, 280, 280, 280, 280, 280, 280, 280, 957, 280, 1015, 1249, 846, 1250, 1251, 2402, 2545, 1634, 1227, 1635, 280, 280, 280, 280, 280, 971, 972, 973, 974, 972, 1252, 961, 1029, 1029, 1029, 1029, 962, 975, 976, 971, 972, 973, 974, 972, 965, 961, 1462, 280, 2095, 280, 962, 975, 976, 1038, 1038, 1038, 1038, 1031, 965, 1428, 1428, 1428, 1428, 2546, 2547, 1004, 1098, 1098, 1098, 1098, 1005, 1039, 1002, 2095, 1429, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 844, 280, 280, 280, 280, 280, 280, 280, 280, 1099, 280, 2067, 2068, 846, 1462, 1040, 1040, 1040, 1040, 1658, 2133, 280, 280, 280, 280, 280, 966, 972, 973, 974, 972, 1662, 961, 1041, 2133, 2134, 1663, 962, 975, 1100, 966, 972, 973, 974, 972, 965, 961, 1462, 280, 2134, 280, 962, 975, 1101, 977, 1102, 978, 1103, 2548, 965, 1536, 1536, 1536, 1536, 1616, 1617, 1616, 1616, 977, 2109, 978, 2401, 1043, 1043, 1043, 1043, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 847, 280, 280, 280, 280, 280, 280, 280, 280, 2109, 280, 1045, 2408, 849, 980, 981, 982, 983, 981, 2551, 2190, 280, 280, 280, 280, 280, 980, 981, 982, 983, 981, 2553, 1462, 984, 1043, 1043, 1043, 1043, 1064, 1064, 1064, 1064, 985, 1650, 986, 984, 2190, 1650, 280, 1115, 280, 1002, 1002, 1690, 985, 1002, 986, 1650, 1691, 1045, 1002, 1650, 1004, 1045, 2202, 1066, 2225, 1005, 1002, 1654, 1064, 1064, 1064, 1064, 1655, 2079, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 847, 280, 280, 280, 280, 280, 280, 280, 280, 1045, 280, 1066, 2212, 849, 993, 997, 282, 994, 997, 2554, 2229, 280, 280, 280, 280, 280, 2108, 1462, 998, 1038, 1038, 1038, 1038, 999, 1040, 1040, 1040, 1040, 2235, 2211, 993, 997, 282, 994, 997, 1002, 1002, 1039, 280, 2228, 280, 2108, 1041, 1071, 998, 1428, 1428, 1428, 1428, 999, 1545, 1002, 1002, 1002, 1002, 1616, 1617, 1616, 1616, 996, 1429, 2407, 1084, 1084, 1084, 1084, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 1000, 280, 1085, 2156, 854, 1064, 1064, 1064, 1064, 1462, 1462, 280, 280, 280, 280, 850, 280, 2176, 2555, 1004, 1064, 1064, 1064, 1064, 1005, 1064, 1064, 1064, 1064, 1749, 1045, 1679, 1066, 1084, 1084, 1084, 1084, 2189, 1750, 280, 280, 280, 1209, 1004, 1265, 1045, 1266, 1066, 1683, 2404, 1045, 2189, 1066, 1268, 1617, 1617, 1617, 1617, 1085, 1392, 2412, 1072, 1270, 1084, 1084, 1084, 1084, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 1067, 280, 1085, 1004, 854, 1004, 2204, 1068, 1005, 2204, 1005, 280, 280, 280, 280, 850, 280, 1069, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 2556, 1004, 1064, 1064, 1064, 1064, 1707, 1064, 1064, 1064, 1064, 1710, 1462, 280, 280, 280, 1711, 1045, 2557, 1066, 1719, 1045, 1161, 1066, 1002, 1720, 1727, 1045, 1729, 1066, 1818, 1728, 1045, 1730, 1066, 1819, 1002, 1125, 1125, 1125, 1125, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 2558, 280, 280, 280, 280, 280, 280, 280, 1070, 280, 1126, 2559, 856, 1186, 1075, 1077, 1073, 2406, 1179, 1074, 280, 280, 280, 857, 1076, 1064, 1064, 1064, 1064, 1087, 1087, 1087, 1087, 2259, 1078, 1064, 1064, 1064, 1064, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 280, 280, 280, 1045, 1650, 1066, 1191, 1085, 1650, 1089, 1009, 1198, 2259, 1045, 1009, 1066, 1616, 1617, 1616, 1616, 1008, 1008, 1008, 1008, 1125, 1125, 1125, 1125, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 1009, 280, 280, 280, 280, 280, 280, 280, 1079, 280, 1462, 1126, 856, 1080, 1081, 1038, 1038, 1038, 1038, 2509, 280, 280, 280, 857, 1040, 1040, 1040, 1040, 2510, 1125, 1125, 1125, 1125, 1039, 1104, 1104, 1104, 1104, 1125, 1125, 1125, 1125, 1041, 1131, 1131, 1131, 1131, 280, 280, 280, 2560, 2427, 2563, 1105, 1126, 1142, 1142, 1142, 1142, 1428, 1428, 1428, 1428, 1126, 1629, 1629, 1629, 1629, 1132, 1701, 1701, 1701, 1701, 1143, 1429, 280, 280, 280, 281, 280, 864, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 280, 280, 280, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, 280, 280, 280, 280, 281, 890, 891, 892, 890, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 893, 280, 280, 280, 280, 280, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 280, 280, 280, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 280, 280, 895, 280, 281, 280, 282, 283, 280, 280, 904, 280, 280, 280, 280, 280, 280, 280, 280, 1898, 280, 1915, 1898, 906, 1131, 1131, 1131, 1131, 1462, 2119, 1462, 280, 280, 280, 280, 280, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1277, 1278, 1278, 1277, 2195, 1132, 1098, 1098, 1098, 1098, 2120, 1176, 1002, 1002, 280, 1002, 280, 1132, 1279, 2564, 1695, 1132, 1002, 1191, 1056, 1002, 1002, 1056, 1198, 2195, 1002, 1002, 1002, 1002, 1099, 1098, 1098, 1098, 1098, 1002, 2421, 2411, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 904, 280, 280, 280, 280, 280, 280, 280, 280, 2565, 280, 1099, 1100, 906, 1002, 1816, 1229, 1282, 1816, 1229, 1282, 280, 280, 280, 280, 280, 1101, 1233, 1102, 1230, 1103, 1057, 1179, 1817, 1231, 1283, 1258, 1259, 1258, 1258, 2566, 1100, 1277, 1278, 1278, 1277, 1202, 1276, 280, 1260, 280, 2041, 2567, 2142, 1237, 1101, 2042, 1102, 2143, 1103, 1279, 1550, 1002, 1002, 1002, 1002, 1701, 1701, 1701, 1701, 1203, 1276, 1701, 1701, 1701, 1701, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 280, 280, 280, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 280, 280, 280, 280, 281, 280, 922, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 923, 923, 284, 923, 923, 923, 923, 923, 923, 280, 280, 280, 280, 280, 280, 923, 923, 923, 923, 923, 923, 923, 924, 923, 923, 925, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 280, 280, 280, 923, 923, 923, 923, 923, 923, 923, 924, 923, 923, 925, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 280, 280, 280, 280, 281, 280, 922, 283, 280, 280, 926, 927, 280, 280, 280, 280, 280, 280, 280, 2568, 280, 2571, 2236, 929, 1253, 1254, 1255, 1253, 2549, 2550, 2572, 280, 280, 280, 280, 927, 2236, 1256, 1285, 1285, 1285, 1285, 1231, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 2573, 1705, 1261, 1236, 1705, 1261, 1668, 280, 930, 280, 1857, 2574, 1286, 1858, 1230, 1178, 1874, 1286, 1862, 1706, 1875, 1286, 1555, 1002, 1002, 1002, 1002, 1236, 1859, 1650, 1668, 2575, 1263, 1650, 1852, 280, 280, 927, 280, 281, 280, 922, 283, 280, 280, 926, 927, 280, 280, 280, 280, 280, 280, 280, 1670, 280, 1264, 1193, 929, 1002, 1285, 1285, 1285, 1285, 1863, 2263, 280, 280, 280, 280, 927, 1194, 2294, 1462, 1224, 1842, 1225, 1226, 1265, 1843, 1266, 1271, 1860, 1668, 1272, 1286, 1273, 1268, 2303, 1273, 2263, 1836, 1219, 280, 930, 280, 1270, 2294, 1866, 1274, 1431, 1431, 1431, 1431, 1231, 1702, 1702, 1702, 1702, 1432, 2569, 2570, 2413, 1432, 2303, 1462, 1263, 1305, 1305, 1305, 1305, 280, 280, 927, 280, 281, 280, 922, 283, 280, 280, 931, 280, 280, 280, 280, 280, 280, 280, 280, 1264, 280, 1306, 2576, 933, 1305, 1305, 1305, 1305, 2381, 1462, 2577, 280, 280, 280, 280, 280, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 2382, 1315, 2063, 1311, 1315, 1306, 1311, 2579, 2064, 1325, 1326, 1327, 1325, 2295, 280, 1751, 280, 1306, 1751, 1752, 1316, 1306, 1328, 1431, 1431, 1431, 1431, 1329, 2386, 1462, 1915, 1312, 1432, 1753, 1916, 2414, 1432, 1917, 2295, 1330, 2387, 2388, 280, 280, 280, 280, 281, 280, 922, 283, 280, 280, 931, 280, 280, 280, 280, 280, 280, 280, 280, 1313, 280, 1331, 1681, 933, 1682, 1332, 1333, 1334, 1332, 2580, 2065, 280, 280, 280, 280, 280, 1002, 1314, 1335, 1416, 1416, 1416, 1416, 1179, 2066, 1339, 1340, 2581, 1341, 1342, 1249, 2585, 1225, 1343, 1265, 1336, 1266, 1271, 280, 1344, 280, 1345, 1346, 1268, 1417, 1347, 1348, 1751, 1393, 1392, 1751, 1785, 1270, 1594, 1002, 1002, 1002, 1002, 2586, 1337, 1599, 1002, 1002, 1002, 1002, 1786, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 280, 280, 280, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 280, 280, 280, 280, 281, 280, 282, 283, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 284, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 280, 280, 280, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 280, 280, 280, 1042, 1043, 1043, 1042, 2587, 1324, 1044, 1339, 1349, 2302, 1341, 1342, 1271, 1177, 2588, 1343, 1177, 1390, 2589, 2304, 1390, 1344, 2590, 1345, 1350, 1045, 1178, 1347, 1348, 1560, 1178, 1002, 1394, 2591, 2302, 1394, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 2304, 1274, 1184, 3787, 1002, 1184, 1231, 2592, 2593, 1416, 1416, 1416, 1416, 1002, 1046, 1185, 1047, 1417, 3787, 2242, 1048, 1417, 2242, 1049, 1050, 1857, 1051, 3787, 1858, 1052, 1053, 1054, 1055, 1209, 1417, 1210, 1211, 1212, 1213, 2315, 1002, 1214, 3787, 1859, 1215, 1216, 1217, 1218, 2243, 1219, 1220, 1221, 1222, 1223, 1239, 1240, 1210, 1241, 1242, 1213, 1201, 1462, 1243, 1201, 2315, 1215, 1216, 1217, 1244, 2316, 1245, 1246, 1221, 1222, 1247, 1248, 1412, 1412, 1412, 1412, 1422, 1422, 1422, 1422, 2594, 2595, 1532, 1532, 1532, 1532, 1202, 1423, 1984, 1462, 2316, 1413, 1413, 1413, 1413, 1413, 1413, 1414, 1425, 1425, 1425, 1425, 1424, 1431, 1431, 1431, 1431, 1533, 2419, 1426, 1203, 1277, 1432, 1828, 1277, 1002, 1432, 1431, 1431, 1431, 1431, 1438, 1002, 1002, 1427, 1002, 1432, 1194, 2415, 1279, 1432, 1038, 1038, 1038, 1038, 1040, 1040, 1040, 1040, 1462, 1002, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1039, 2001, 1825, 1865, 1041, 1825, 1865, 1532, 1532, 1532, 1532, 1561, 1562, 1561, 1561, 1826, 1230, 1533, 2539, 2009, 1632, 1533, 1604, 1002, 1002, 1002, 1002, 1002, 2219, 2058, 1427, 1444, 1533, 2059, 2552, 1445, 1176, 1002, 1002, 1445, 1002, 1563, 2060, 1446, 1444, 1624, 1624, 1624, 1624, 1445, 1002, 2103, 1447, 1448, 2103, 1002, 1444, 2698, 1449, 1751, 1445, 1689, 1751, 1002, 1445, 1564, 2333, 1002, 1446, 1444, 1625, 1450, 1002, 1451, 2219, 1445, 2219, 2154, 2445, 1447, 1466, 1609, 1002, 1002, 1002, 1002, 1619, 1620, 1621, 1620, 1620, 1002, 2333, 1302, 1467, 2700, 1302, 1624, 1624, 1624, 1624, 2703, 1624, 1624, 1624, 1624, 1303, 1468, 1469, 1470, 1471, 1472, 1473, 2319, 1474, 1475, 1002, 1476, 1477, 2704, 1478, 1479, 1625, 1480, 1481, 1482, 1483, 1625, 1562, 1562, 1562, 1562, 1468, 1469, 1470, 1471, 1472, 1473, 2319, 1474, 1475, 1816, 1476, 1477, 1816, 1478, 1479, 2705, 2708, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1564, 1817, 1489, 1490, 1652, 1491, 1653, 1462, 2709, 1492, 1653, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1561, 1562, 1561, 1561, 1500, 2710, 1564, 1461, 1462, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 1616, 1617, 1616, 1616, 1627, 1624, 1624, 1627, 1668, 1964, 1461, 1563, 1828, 1622, 1002, 1004, 2008, 1461, 1623, 2008, 1671, 2711, 1684, 1684, 1684, 1684, 1194, 2418, 1461, 1625, 1462, 1829, 1668, 1685, 2712, 1564, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 2420, 2009, 1461, 1686, 1020, 1020, 1020, 1020, 1082, 1082, 1082, 1082, 1670, 1458, 1504, 1505, 1506, 1507, 2010, 2645, 1700, 1002, 1002, 1002, 1002, 1462, 1002, 1008, 1008, 1008, 1008, 1002, 1002, 1002, 2349, 1508, 2713, 1509, 1510, 1002, 1462, 1668, 2714, 2430, 2010, 1009, 2645, 2715, 1013, 1014, 1014, 1013, 1014, 1014, 1014, 1014, 1024, 1025, 1025, 1024, 2349, 1828, 1511, 1002, 1512, 1513, 1514, 1515, 1516, 1517, 2322, 1518, 1519, 1015, 1520, 1194, 2718, 1015, 1521, 2071, 1522, 1523, 1524, 1525, 1526, 1527, 1499, 1713, 1713, 1713, 1713, 1500, 2072, 1462, 1461, 2322, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 1014, 1014, 1014, 1014, 2721, 2323, 1015, 1025, 1025, 1025, 1025, 1029, 1029, 1029, 1029, 1025, 1025, 1025, 1025, 1038, 1038, 1038, 1038, 1016, 2283, 1015, 1302, 2283, 1461, 1302, 2323, 1027, 1090, 1090, 1090, 1090, 1031, 1039, 2326, 1303, 1717, 2596, 2429, 2722, 1528, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 2284, 2706, 1458, 1725, 1458, 1040, 1040, 1040, 1040, 2707, 2326, 1715, 1726, 1726, 1726, 1726, 1726, 1031, 2723, 1351, 1352, 1031, 1351, 1041, 1043, 1043, 1043, 1043, 1745, 1745, 1745, 1745, 1353, 2726, 2005, 3787, 1746, 1746, 1746, 1746, 2357, 1059, 2340, 3787, 1042, 1043, 1043, 1042, 2006, 1045, 1044, 1754, 1754, 1754, 1754, 1064, 1064, 1064, 1064, 2005, 2767, 1748, 1064, 1064, 1064, 1064, 2357, 2340, 2369, 1045, 1064, 1064, 1064, 1064, 2006, 1376, 1045, 1560, 1376, 1002, 1045, 2436, 1066, 1776, 1776, 1776, 1776, 1045, 1377, 1066, 1084, 1084, 1084, 1084, 2369, 1045, 1002, 1066, 1064, 1064, 1064, 1064, 1046, 1384, 1047, 1002, 1384, 2436, 1048, 1462, 1066, 1049, 1050, 1462, 1051, 1085, 1385, 1052, 1053, 1054, 1055, 2204, 2768, 1045, 2204, 1066, 1758, 1064, 1064, 1064, 1064, 2770, 1002, 2771, 1756, 2345, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1781, 1781, 1781, 1781, 1045, 2772, 1066, 1064, 1064, 1064, 1064, 1390, 2345, 1045, 1390, 1066, 2431, 1045, 1462, 1066, 2432, 1045, 1462, 1066, 1178, 1759, 2582, 1089, 1097, 1097, 1097, 1097, 1045, 1462, 1066, 1097, 1097, 1097, 1097, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1763, 2582, 1760, 1761, 1064, 1064, 1064, 1064, 1948, 2777, 1949, 1762, 1764, 1045, 1950, 1066, 2746, 1045, 2613, 1066, 1765, 1045, 1462, 1066, 2733, 1766, 1951, 1952, 2729, 1045, 2724, 1066, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 2613, 1767, 2725, 1064, 1064, 1064, 1064, 1874, 1769, 1865, 1768, 1875, 1865, 1045, 1876, 1066, 1462, 1045, 1462, 1066, 2744, 1045, 1230, 1066, 1770, 1852, 2103, 1771, 1045, 2103, 1066, 2102, 1778, 1778, 1778, 1778, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1095, 1095, 1095, 1095, 1098, 1098, 1098, 1098, 1104, 1104, 1104, 1104, 1773, 1085, 1772, 1096, 1774, 1085, 1689, 1089, 1002, 1085, 1462, 1089, 1002, 2346, 2730, 1105, 2734, 1002, 2778, 1775, 1099, 1104, 1104, 1104, 1104, 1787, 1787, 1787, 1787, 1110, 1110, 1110, 1110, 1792, 1792, 1792, 1792, 2779, 2346, 1825, 1105, 1111, 1825, 1115, 1793, 1002, 1002, 2719, 2720, 1002, 1100, 2416, 1826, 1462, 1002, 1116, 1117, 1117, 1116, 1780, 1865, 1002, 1002, 1865, 1101, 1796, 1102, 2417, 1103, 1117, 1117, 1117, 1117, 1230, 1797, 1797, 1797, 1797, 1797, 1798, 1799, 1800, 1798, 1125, 1125, 1125, 1125, 1803, 1803, 1803, 1803, 1125, 1125, 1125, 1125, 1129, 1129, 1129, 1129, 1131, 1131, 1131, 1131, 1807, 1807, 1807, 1807, 2632, 1126, 2350, 1865, 2756, 1126, 1865, 2781, 2644, 1126, 1131, 1131, 1131, 1131, 2783, 1462, 1230, 1132, 1002, 1002, 1813, 1132, 1135, 1135, 1135, 1135, 2632, 2350, 2355, 1814, 1814, 1814, 1814, 1814, 2644, 1132, 1142, 1142, 1142, 1142, 1188, 1188, 1188, 1188, 1195, 1196, 1195, 1195, 1196, 1196, 1196, 1196, 2784, 2355, 1143, 1229, 2743, 1191, 1229, 1255, 1254, 1255, 1255, 1805, 1255, 1254, 1255, 1255, 1230, 1235, 2787, 1865, 1235, 1231, 1865, 1253, 1254, 1255, 1253, 1809, 1830, 1211, 1831, 1213, 1230, 1202, 1832, 2356, 1256, 1833, 1216, 1217, 1218, 1231, 1219, 1220, 1221, 1222, 1834, 1236, 1258, 1259, 1258, 1258, 1462, 1236, 1462, 1261, 1273, 1203, 1261, 1273, 2356, 1260, 1258, 1259, 1258, 1258, 2788, 1275, 1178, 1274, 1275, 1236, 1462, 1282, 1231, 1260, 1282, 1236, 1277, 1278, 1278, 1277, 2789, 2360, 1632, 1263, 1263, 1285, 1285, 1285, 1285, 1283, 1887, 1887, 1887, 1887, 1279, 1276, 1285, 1285, 1285, 1285, 2742, 1276, 1290, 1290, 1290, 1290, 2360, 1264, 1264, 2738, 1286, 1292, 1293, 1292, 1292, 1286, 2731, 1462, 2790, 1276, 1311, 1286, 1462, 1311, 2458, 1276, 1297, 1298, 1297, 1297, 1305, 1305, 1305, 1305, 1894, 1894, 1894, 1894, 1305, 1305, 1305, 1305, 1309, 1309, 1309, 1309, 1964, 1461, 1312, 1325, 1326, 1327, 1325, 1462, 1461, 1306, 2074, 2780, 2791, 1306, 2075, 2440, 1328, 1306, 1462, 2076, 2782, 1329, 1327, 1326, 1327, 1327, 2755, 1889, 1332, 1333, 1334, 1332, 1313, 1330, 2793, 1339, 1340, 1461, 1341, 1342, 2440, 1335, 2648, 1343, 1987, 2300, 1179, 2782, 2300, 1344, 1314, 1345, 1346, 1988, 2728, 1347, 1348, 1331, 1336, 1339, 1349, 2735, 1341, 1342, 1964, 1461, 2794, 1343, 2648, 1987, 2795, 1896, 1461, 1344, 2301, 1345, 1350, 2441, 1988, 1347, 1348, 1462, 1337, 1904, 1326, 1327, 1904, 1327, 1326, 1327, 1327, 1332, 1333, 1334, 1332, 1339, 1340, 2796, 1341, 1342, 2447, 1461, 2441, 1343, 1335, 1924, 1925, 1924, 1924, 1344, 1462, 1345, 1346, 1330, 1462, 1347, 1348, 2288, 2448, 1339, 1349, 1336, 1341, 1342, 2736, 2447, 2289, 1343, 1905, 1326, 1327, 1905, 2797, 1344, 2672, 1345, 1350, 1331, 1462, 1347, 1348, 1906, 2288, 2448, 2512, 1337, 1927, 1925, 1927, 1927, 1394, 2289, 1462, 1394, 1412, 1412, 1412, 1412, 1330, 1928, 2672, 2737, 2761, 1274, 1412, 1412, 1412, 1412, 1231, 2512, 1462, 1412, 1412, 1412, 1412, 1416, 1416, 1416, 1416, 1414, 2798, 2741, 1331, 1413, 1413, 1413, 1413, 1413, 1413, 1414, 1938, 1938, 1938, 1938, 1938, 1938, 1414, 2799, 1462, 2754, 1417, 1940, 1940, 1940, 1940, 1416, 1416, 1416, 1416, 1420, 1420, 1420, 1420, 1422, 1422, 1422, 1422, 1425, 1425, 1425, 1425, 1438, 1002, 1002, 1423, 1002, 1417, 2753, 1426, 2676, 1417, 1428, 1428, 1428, 1428, 1430, 1430, 1430, 1430, 1424, 1002, 2748, 2521, 1427, 1462, 2521, 1429, 1430, 1430, 1430, 1430, 1431, 1431, 1431, 1431, 2676, 1431, 1431, 1431, 1431, 1432, 2800, 1462, 2801, 1432, 1432, 2296, 2297, 2298, 1432, 1452, 1453, 1454, 1452, 2578, 2802, 1002, 1455, 1456, 1454, 1455, 2299, 2803, 2806, 1942, 1454, 1454, 1454, 1454, 1455, 1456, 1454, 1455, 1957, 1958, 1454, 1957, 1499, 1427, 2578, 1983, 2759, 1500, 1983, 2522, 2749, 2299, 1995, 1996, 1997, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 2807, 1989, 2808, 1990, 2828, 1998, 2000, 2011, 1991, 2000, 2831, 2601, 1984, 2012, 2013, 1992, 1999, 1462, 2020, 2020, 2020, 2020, 2026, 2026, 2026, 2026, 1989, 1985, 1990, 1986, 1998, 2504, 2011, 1991, 2832, 2001, 2601, 1462, 2507, 2012, 2013, 1992, 1999, 2024, 2024, 2024, 2024, 1668, 2002, 2003, 2318, 2320, 1985, 2318, 2320, 1986, 2324, 1458, 1461, 2324, 1461, 1462, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 2760, 1668, 2014, 2002, 2003, 2015, 2836, 2021, 2398, 1984, 2321, 2030, 2030, 2030, 2030, 2325, 2602, 2016, 2399, 2017, 2022, 2027, 1668, 2023, 1462, 1670, 2327, 2014, 1461, 2327, 2015, 1532, 1532, 1532, 1532, 1462, 2020, 2020, 2020, 2020, 2837, 2602, 2603, 2016, 2329, 2017, 1668, 2329, 2025, 2036, 2036, 2036, 2036, 1462, 1668, 2328, 1533, 1458, 1967, 1968, 1969, 1970, 1971, 1972, 2763, 1973, 1974, 2603, 1975, 1976, 1670, 1977, 1978, 2330, 1979, 1980, 1981, 1982, 2331, 2031, 2764, 2331, 2762, 1967, 1968, 1969, 1970, 1971, 1972, 2032, 1973, 1974, 2838, 1975, 1976, 2050, 1977, 1978, 2606, 1668, 1979, 1980, 1981, 1982, 2051, 2037, 2334, 2332, 2052, 2334, 2841, 2053, 2804, 2038, 1499, 1536, 1536, 1536, 1536, 1500, 2842, 2805, 1461, 2606, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 2844, 2335, 2620, 2024, 2024, 2024, 2024, 1545, 1002, 1002, 1002, 1002, 2030, 2030, 2030, 2030, 2082, 2082, 2082, 2082, 1462, 2845, 2847, 2026, 2026, 2026, 2026, 2620, 1461, 1462, 2036, 2036, 2036, 2036, 1532, 1532, 1532, 1532, 1462, 1462, 1462, 1533, 1550, 1002, 1002, 1002, 1002, 1462, 1555, 1002, 1002, 1002, 1002, 1561, 1562, 1561, 1561, 1458, 1499, 1533, 2625, 2849, 2336, 1500, 2338, 2336, 1461, 2338, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 2054, 2055, 2061, 2521, 2850, 1563, 2521, 2625, 2069, 2745, 2747, 2056, 2062, 2337, 2057, 2339, 2070, 1562, 1562, 1562, 1562, 2084, 1594, 1002, 1002, 1002, 1002, 2851, 1461, 1564, 1599, 1002, 1002, 1002, 1002, 1604, 1002, 1002, 1002, 1002, 1609, 1002, 1002, 1002, 1002, 2852, 2853, 1564, 1616, 1617, 1616, 1616, 1616, 1617, 1616, 1616, 2854, 1458, 1617, 1617, 1617, 1617, 1619, 1620, 1621, 1620, 1620, 1616, 1617, 1616, 1616, 1564, 1619, 1620, 1621, 1620, 1620, 1003, 1621, 1621, 1621, 1621, 1616, 1617, 1616, 1616, 1616, 1617, 1616, 1616, 1624, 1624, 1624, 1624, 2099, 2099, 2099, 2099, 1627, 1624, 1624, 1627, 2856, 2102, 1627, 1624, 1624, 1627, 1629, 1629, 1629, 1629, 2630, 2631, 2857, 1625, 1462, 1462, 1705, 1625, 2858, 1705, 2859, 1625, 1684, 1684, 1684, 1684, 1695, 1625, 1002, 1230, 2860, 2117, 1002, 1685, 1706, 2630, 2631, 1002, 1002, 1002, 2118, 2118, 2118, 2118, 2118, 1002, 2861, 1686, 1700, 1002, 1002, 1002, 1002, 2862, 1002, 1701, 1701, 1701, 1701, 1002, 1002, 1002, 1702, 1702, 1702, 1702, 2765, 1002, 1713, 1713, 1713, 1713, 2757, 2758, 2635, 2101, 1014, 1014, 1014, 1014, 1020, 1020, 1020, 1020, 2125, 2125, 2125, 2125, 2863, 1745, 1745, 1745, 1745, 1015, 2131, 1746, 1746, 1746, 1746, 2635, 2864, 1015, 1059, 2132, 2132, 2132, 2132, 2132, 1746, 1746, 1746, 1746, 1754, 1754, 1754, 1754, 1064, 1064, 1064, 1064, 1748, 1082, 1082, 1082, 1082, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1748, 2857, 2865, 2649, 1045, 1462, 2341, 1749, 1045, 2341, 1066, 1064, 1064, 1064, 1064, 2866, 1750, 1045, 1715, 1066, 1874, 1045, 2867, 1066, 1064, 1064, 1064, 1064, 2649, 1064, 1064, 1064, 1064, 1874, 2846, 2342, 1045, 2846, 1066, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 2344, 2750, 1045, 2344, 1066, 2305, 2751, 1045, 2305, 1066, 1064, 1064, 1064, 1064, 2660, 1756, 2158, 1045, 2157, 1066, 2868, 1045, 2667, 1066, 2159, 1064, 1064, 1064, 1064, 2001, 1064, 1064, 1064, 1064, 2306, 1045, 2869, 1066, 2870, 2660, 2871, 2160, 2161, 1064, 1064, 1064, 1064, 2667, 2872, 2873, 1045, 2307, 1066, 1462, 2874, 1045, 2163, 1066, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 2285, 2162, 1045, 2285, 1066, 2875, 2675, 1064, 1064, 1064, 1064, 2307, 1064, 1064, 1064, 1064, 2876, 1045, 2880, 1066, 2164, 1045, 2681, 1066, 1064, 1064, 1064, 1064, 2739, 2286, 2166, 2675, 1045, 2165, 1066, 2848, 2740, 1045, 2848, 1066, 1064, 1064, 1064, 1064, 2287, 2167, 2243, 2681, 2881, 1045, 2882, 1066, 1915, 1064, 1064, 1064, 1064, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1045, 2168, 1066, 2883, 2287, 2884, 2169, 2171, 1778, 1778, 1778, 1778, 2170, 1045, 1915, 1066, 2885, 2682, 2855, 1066, 2886, 2855, 2887, 1066, 1087, 1087, 1087, 1087, 2172, 1090, 1090, 1090, 1090, 1085, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 2682, 2173, 1787, 1787, 1787, 1787, 2888, 1085, 2889, 1089, 1792, 1792, 1792, 1792, 2877, 2182, 2887, 2877, 2890, 1089, 2174, 1793, 2891, 1089, 2183, 2183, 2183, 2183, 2183, 1798, 1799, 1800, 1798, 1800, 1799, 1800, 1800, 1803, 1803, 1803, 1803, 1125, 1125, 1125, 1125, 1129, 1129, 1129, 1129, 1780, 1807, 1807, 1807, 1807, 1131, 1131, 1131, 1131, 1135, 1135, 1135, 1135, 1126, 2892, 2687, 2769, 1126, 1887, 1887, 1887, 1887, 2186, 2894, 2895, 2896, 1132, 2898, 2899, 2900, 1132, 2187, 2187, 2187, 2187, 2187, 1285, 1285, 1285, 1285, 2687, 2769, 2901, 1286, 1290, 1290, 1290, 1290, 1894, 1894, 1894, 1894, 1305, 1305, 1305, 1305, 1309, 1309, 1309, 1309, 2902, 1286, 1905, 1326, 1327, 1905, 1904, 1326, 1327, 1904, 2893, 1805, 2897, 1306, 2903, 1906, 2904, 1306, 1905, 1326, 1327, 1905, 2153, 2905, 1809, 1332, 1333, 1334, 1332, 2906, 2347, 1906, 1330, 2347, 1815, 2893, 1330, 2897, 1335, 1815, 2907, 1889, 1924, 1925, 1924, 1924, 2908, 2284, 1330, 1924, 1925, 1924, 1924, 2286, 2301, 1336, 1331, 2910, 2306, 2348, 1331, 2264, 2264, 2264, 2264, 1940, 1940, 1940, 1940, 2321, 2325, 1896, 1331, 1412, 1412, 1412, 1412, 2328, 2330, 1337, 1412, 1412, 1412, 1412, 2910, 2332, 1414, 2335, 2716, 2337, 1417, 2716, 1938, 1938, 1938, 1938, 1938, 1938, 1414, 1938, 1938, 1938, 1938, 1938, 1938, 1414, 1416, 1416, 1416, 1416, 1420, 1420, 1420, 1420, 1957, 1958, 1454, 1957, 2277, 1958, 1454, 2277, 1499, 2878, 2912, 2351, 2878, 1500, 2351, 2339, 2342, 1417, 2348, 2352, 2879, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 1499, 2354, 2717, 2308, 2354, 1500, 1942, 2912, 2358, 2309, 2310, 2362, 2352, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 2290, 2359, 2291, 2311, 2633, 2364, 2312, 2292, 2308, 2361, 2009, 2366, 2361, 2358, 2293, 2309, 2310, 2634, 2313, 2363, 2314, 2365, 2363, 2911, 2365, 2290, 2359, 2291, 2311, 2633, 2367, 2312, 2292, 2367, 2368, 2923, 2516, 1458, 2362, 2516, 2293, 2933, 2634, 2983, 2313, 2984, 2314, 2989, 2364, 2911, 2366, 2020, 2020, 2020, 2020, 1462, 2990, 1458, 1499, 2368, 2923, 2991, 2992, 1500, 2993, 2517, 1461, 2933, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 2024, 2024, 2024, 2024, 2026, 2026, 2026, 2026, 2030, 2030, 2030, 2030, 2036, 2036, 2036, 2036, 2082, 2082, 2082, 2082, 2994, 2422, 2995, 2996, 2423, 2997, 3000, 3001, 1461, 2426, 2426, 2426, 2426, 2424, 2425, 1536, 1536, 1536, 1536, 3002, 3003, 1533, 1629, 1629, 1629, 1629, 1462, 1532, 1532, 1532, 1532, 2099, 2099, 2099, 2099, 3006, 2930, 1458, 1461, 3007, 1461, 1462, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 2938, 2562, 1533, 2452, 2562, 2968, 1625, 1627, 1624, 1624, 1627, 2930, 2453, 2453, 2453, 2453, 2453, 2125, 2125, 2125, 2125, 3010, 3011, 2598, 2458, 2938, 2598, 1462, 1461, 2084, 2243, 2968, 1625, 2459, 2459, 2459, 2459, 2459, 2479, 2479, 2479, 2479, 2939, 2396, 2277, 1958, 1454, 2277, 3050, 3051, 3054, 1059, 2284, 1064, 1064, 1064, 1064, 1458, 1499, 2482, 2482, 2482, 2482, 1500, 2101, 1462, 1461, 2939, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 1045, 2944, 1066, 3055, 2600, 3020, 1045, 2600, 1066, 1064, 1064, 1064, 1064, 2957, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 2944, 3008, 1461, 1064, 1064, 1064, 1064, 2286, 1045, 3009, 1066, 2716, 2957, 1045, 2716, 1066, 3032, 1045, 1462, 1066, 2433, 1045, 2481, 1066, 1064, 1064, 1064, 1064, 1045, 2971, 1066, 1458, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1462, 1045, 2604, 1066, 2974, 2604, 2971, 2483, 2484, 1045, 1462, 1066, 1462, 1045, 2486, 1066, 2485, 1045, 2975, 1066, 2980, 1045, 3014, 1066, 1064, 1064, 1064, 1064, 2487, 2974, 1462, 2605, 2488, 1462, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1462, 2975, 2489, 2980, 1462, 2607, 2491, 1045, 2607, 1066, 2490, 1064, 1064, 1064, 1064, 3015, 1462, 1045, 2492, 1066, 3016, 1045, 3023, 1066, 1064, 1064, 1064, 1064, 1462, 1064, 1064, 1064, 1064, 2504, 2608, 1462, 1045, 1462, 1066, 3013, 2493, 3026, 2505, 2505, 2505, 2505, 2505, 3022, 3027, 1045, 2507, 1066, 1462, 3056, 1045, 2495, 1066, 3025, 2494, 2508, 2508, 2508, 2508, 2508, 2496, 2264, 2264, 2264, 2264, 3037, 3062, 3028, 1412, 1412, 1412, 1412, 3063, 2609, 2611, 2497, 2609, 2611, 2614, 3065, 3066, 2614, 2498, 3029, 3021, 2785, 1414, 2583, 2583, 2583, 2583, 2583, 2583, 1414, 2616, 2618, 2622, 2616, 2618, 2622, 2499, 1499, 2610, 2612, 1462, 2623, 1500, 2615, 2623, 1461, 1462, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 1462, 1462, 2617, 2619, 2301, 2626, 2629, 2636, 2626, 2629, 2636, 2638, 2640, 2624, 2638, 2640, 2642, 2318, 2647, 2642, 2318, 2647, 2651, 2652, 2655, 2651, 2652, 2655, 1461, 3069, 2657, 3070, 3030, 2657, 2627, 2306, 2637, 3071, 3073, 3074, 2639, 2641, 3075, 3076, 3033, 2643, 1984, 2321, 3024, 3077, 3034, 2325, 2653, 2328, 1462, 1462, 1462, 1458, 1499, 2330, 3078, 2659, 2662, 1500, 2659, 2662, 1461, 1462, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 2664, 2666, 2669, 2664, 2666, 2669, 2344, 2670, 2674, 2344, 2670, 2674, 2332, 2335, 2678, 2354, 2679, 2678, 2354, 2679, 2683, 2685, 2689, 2683, 2685, 2689, 3038, 1462, 1461, 2337, 2339, 2342, 1462, 3039, 3031, 2001, 2671, 2348, 2691, 2693, 1462, 2691, 2693, 2352, 2009, 2680, 3036, 3079, 3080, 2684, 2686, 2362, 2695, 2696, 3081, 2695, 2696, 1458, 2699, 2699, 2699, 2699, 2701, 2701, 2701, 2701, 3040, 2364, 2366, 2426, 2426, 2426, 2426, 2699, 2699, 2699, 2699, 2716, 3035, 3082, 2716, 2368, 2697, 2701, 2701, 2701, 2701, 3041, 3083, 3084, 1462, 3085, 3087, 1462, 1462, 2426, 2426, 2426, 2426, 3088, 1462, 2773, 2773, 2773, 2773, 2785, 2775, 2775, 2775, 2775, 2792, 2792, 2792, 2792, 2786, 2786, 2786, 2786, 2786, 2479, 2479, 2479, 2479, 2827, 2827, 2827, 2827, 1462, 2834, 2774, 1462, 2834, 1059, 2752, 2776, 2702, 1499, 2809, 2809, 2809, 2809, 1500, 3044, 3108, 1461, 1462, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 2732, 2835, 2482, 2482, 2482, 2482, 1045, 1462, 1066, 3109, 1064, 1064, 1064, 1064, 2829, 2829, 2829, 2829, 3047, 3112, 1064, 1064, 1064, 1064, 1632, 2830, 3113, 1045, 1461, 1066, 2699, 2699, 2699, 2699, 3043, 1045, 3048, 1066, 3114, 2517, 1064, 1064, 1064, 1064, 2727, 1045, 3045, 1066, 3115, 3117, 2840, 3118, 2562, 2840, 3046, 2562, 3119, 1458, 1499, 1064, 1064, 1064, 1064, 1500, 3120, 1045, 1461, 1066, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 2810, 2517, 2811, 2243, 2598, 3064, 1045, 2598, 1066, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 3123, 3124, 2812, 1064, 1064, 1064, 1064, 1461, 3116, 2766, 3125, 3116, 2284, 1045, 3126, 1066, 3127, 1045, 3128, 1066, 2813, 1045, 3121, 1066, 1064, 1064, 1064, 1064, 1045, 3122, 1066, 3129, 1064, 1064, 1064, 1064, 1458, 1064, 1064, 1064, 1064, 3131, 1064, 1064, 1064, 1064, 3133, 2600, 3134, 1045, 2600, 1066, 2914, 2846, 2816, 2914, 2846, 1045, 2814, 1066, 2848, 2817, 1045, 2848, 1066, 1874, 2815, 1045, 3067, 1066, 3135, 3067, 1064, 1064, 1064, 1064, 2286, 1064, 1064, 1064, 1064, 2605, 2824, 2824, 2824, 2824, 2825, 2825, 2825, 2825, 2818, 1064, 1064, 1064, 1064, 2819, 3068, 1045, 2821, 1066, 2855, 3137, 1045, 2855, 1066, 3130, 2820, 1045, 3130, 1066, 1499, 1045, 1874, 1066, 3138, 1500, 1045, 3138, 1066, 1412, 1412, 1412, 1412, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 3139, 3140, 2822, 2823, 1412, 1412, 1412, 1412, 2583, 2583, 2583, 2583, 2583, 2583, 1414, 3121, 2915, 2826, 2918, 2915, 3142, 2918, 3136, 2583, 2583, 2583, 2583, 2583, 2583, 1414, 2920, 2922, 2925, 2920, 2922, 2925, 2927, 2929, 2622, 2927, 2929, 2622, 3143, 2932, 2909, 2916, 2932, 2608, 2935, 2629, 2936, 2935, 2629, 2936, 3144, 2940, 3145, 1458, 2940, 2610, 2612, 2615, 1915, 3146, 3147, 2617, 2619, 2301, 2942, 3148, 2946, 2942, 2624, 2946, 3149, 1915, 3151, 2627, 2306, 2937, 2948, 3152, 2950, 2948, 2941, 2950, 2952, 2953, 2955, 2952, 2953, 2955, 2647, 2958, 3122, 2647, 2958, 2943, 2651, 2637, 2961, 2651, 2655, 2961, 2657, 2655, 3153, 2657, 3154, 2639, 2659, 2641, 3155, 2659, 3156, 2643, 2954, 2956, 3158, 3159, 2962, 2321, 2959, 2962, 3160, 2662, 3161, 2325, 2662, 2653, 3162, 2328, 2664, 2330, 2666, 2664, 3163, 2666, 2964, 2332, 2669, 2964, 2967, 2669, 2674, 2967, 3164, 2674, 2969, 2963, 2678, 2969, 2973, 2678, 2335, 2973, 2977, 2979, 3165, 2977, 2979, 2337, 2689, 2339, 2605, 2689, 2608, 2965, 2610, 2342, 2612, 2671, 2691, 2348, 2615, 2691, 2617, 2970, 2619, 2352, 2693, 2680, 2624, 2693, 2695, 2684, 2686, 2695, 2627, 2982, 2637, 2362, 2982, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2364, 2985, 2986, 2987, 2985, 2639, 3141, 2877, 2366, 3141, 2877, 2641, 2368, 2988, 2988, 2988, 2988, 2697, 2998, 2998, 2998, 2998, 2999, 2999, 2999, 2999, 3004, 3004, 3004, 3004, 2701, 2701, 2701, 2701, 2985, 2986, 2987, 2985, 2988, 2988, 2988, 2988, 2998, 2998, 2998, 2998, 3052, 1462, 2643, 3052, 3111, 1462, 3192, 3111, 2653, 1462, 2671, 2680, 2684, 1462, 2999, 2999, 2999, 2999, 3004, 3004, 3004, 3004, 2773, 2773, 2773, 2773, 3157, 2840, 3169, 3053, 2840, 1462, 3192, 2835, 2686, 1462, 3057, 3057, 3057, 3057, 2697, 3058, 2775, 2775, 2775, 2775, 3005, 1499, 3209, 3210, 2774, 3157, 1500, 3169, 3211, 1461, 2517, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 3212, 3178, 3181, 2776, 3059, 3059, 3059, 3059, 3182, 3060, 3061, 3061, 3061, 3061, 3213, 3214, 3215, 3042, 3072, 3072, 3072, 3072, 2792, 2792, 2792, 2792, 3178, 3181, 1461, 3086, 3086, 3086, 3086, 3182, 3012, 2827, 2827, 2827, 2827, 3150, 3150, 3150, 3150, 2985, 2986, 2987, 2985, 3217, 3218, 2809, 2809, 2809, 2809, 3089, 3089, 3089, 3089, 1458, 3017, 3017, 3017, 3219, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 1045, 3017, 1066, 3019, 1045, 3221, 1066, 3090, 3090, 3090, 3090, 3222, 3017, 3017, 3017, 3017, 3017, 1064, 1064, 1064, 1064, 3092, 3092, 3092, 3092, 3223, 3224, 3228, 1064, 1064, 1064, 1064, 1045, 3187, 1066, 1064, 1064, 1064, 1064, 3017, 3216, 3017, 1045, 3216, 1066, 3229, 1045, 3203, 1066, 1064, 1064, 1064, 1064, 1045, 2878, 1066, 3230, 2878, 3187, 3231, 1045, 3167, 1066, 1462, 3167, 2879, 1462, 3017, 3017, 3017, 1499, 1462, 3203, 3091, 1045, 1500, 1066, 1462, 1461, 1462, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 3168, 3093, 3096, 3096, 3096, 3096, 1064, 1064, 1064, 1064, 3266, 3267, 3095, 3100, 3100, 3100, 3100, 1462, 3233, 3094, 3101, 3101, 3101, 3101, 3240, 1462, 3235, 3097, 1461, 1066, 3244, 1045, 3252, 1066, 1064, 1064, 1064, 1064, 1045, 1462, 1066, 1064, 1064, 1064, 1064, 1045, 1462, 1066, 3049, 1064, 1064, 1064, 1064, 2824, 2824, 2824, 2824, 1458, 1462, 1045, 3253, 1066, 2825, 2825, 2825, 2825, 1045, 3242, 1066, 1064, 1064, 1064, 1064, 3270, 1045, 3098, 1066, 3271, 1045, 3099, 1066, 3106, 3106, 3106, 3106, 3170, 3206, 1045, 3170, 1066, 3241, 1462, 3107, 3272, 1045, 3273, 1066, 3243, 2829, 2829, 2829, 2829, 3103, 2914, 3173, 1499, 2914, 3173, 3102, 2830, 1500, 3206, 2918, 3234, 3171, 2918, 3104, 1462, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 2920, 2922, 3174, 2920, 2922, 3174, 2925, 2605, 2916, 2925, 3105, 2927, 2929, 3246, 2927, 2929, 2608, 3176, 2932, 2935, 3176, 2932, 2935, 3180, 3184, 3186, 3180, 3184, 3186, 2610, 2612, 3175, 1462, 2946, 3166, 2615, 2946, 1462, 3239, 2948, 2617, 2619, 2948, 3276, 3281, 3284, 3177, 2624, 2627, 1462, 3286, 1462, 2937, 2941, 2943, 2950, 2952, 1458, 2950, 2952, 3189, 3191, 2637, 3189, 3191, 1462, 3194, 2961, 2639, 3194, 2961, 3196, 3198, 2967, 3196, 3198, 2967, 3199, 3202, 2973, 3199, 3202, 2973, 3204, 2641, 2643, 3204, 3236, 2977, 2954, 2956, 2977, 3247, 3249, 2979, 2959, 2653, 2979, 3257, 3287, 2963, 2965, 2671, 3288, 3292, 3295, 3200, 2970, 2680, 3296, 3207, 2982, 3205, 3207, 2982, 1462, 3248, 2684, 2987, 2986, 2987, 2987, 1462, 2686, 2987, 2986, 2987, 2987, 2988, 2988, 2988, 2988, 2998, 2998, 2998, 2998, 1462, 1462, 1462, 3208, 2697, 3220, 3220, 3220, 3220, 3004, 3004, 3004, 3004, 3225, 3225, 3225, 3225, 3227, 3227, 3227, 3227, 3245, 3245, 3245, 3245, 3245, 3245, 3216, 1462, 1462, 3216, 3251, 3220, 3220, 3220, 3220, 1462, 3250, 3254, 3254, 3254, 3254, 3297, 1462, 1462, 3225, 3225, 3225, 3225, 1462, 3269, 1632, 3256, 3269, 3258, 1462, 1462, 3255, 3061, 3061, 3061, 3061, 1462, 3227, 3227, 3227, 3227, 3057, 3057, 3057, 3057, 3313, 3058, 3314, 2835, 3259, 3315, 3316, 3121, 3053, 1462, 3263, 3274, 3274, 3274, 3274, 3226, 1499, 3277, 3318, 3319, 3277, 1500, 3261, 3262, 1461, 3320, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 3264, 3059, 3059, 3059, 3059, 3067, 3060, 3317, 3067, 3278, 3317, 3260, 3321, 3116, 3322, 3275, 3116, 3279, 3323, 3324, 3279, 3072, 3072, 3072, 3072, 3326, 3327, 1843, 1461, 3282, 3282, 3282, 3282, 3068, 3280, 3330, 3280, 3280, 3280, 3280, 3280, 3280, 3283, 3283, 3283, 3283, 3232, 3285, 3285, 3285, 3285, 3289, 3289, 3289, 3289, 3331, 3332, 1458, 3017, 3017, 3017, 3333, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3334, 3017, 3290, 3019, 3293, 3293, 3293, 3293, 3294, 3294, 3294, 3294, 3017, 3017, 3017, 3017, 3017, 3086, 3086, 3086, 3086, 3089, 3089, 3089, 3089, 3335, 3298, 3090, 3090, 3090, 3090, 1874, 1874, 1064, 1064, 1064, 1064, 3111, 3336, 3017, 3111, 3017, 3106, 3106, 3106, 3106, 1045, 3337, 1066, 3338, 3291, 3328, 1045, 3107, 1066, 3339, 3325, 3340, 1045, 3325, 1066, 3092, 3092, 3092, 3092, 3328, 2835, 3017, 3017, 3017, 3017, 3017, 3017, 3341, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 1045, 3017, 1066, 3238, 3018, 3299, 1064, 1064, 1064, 1064, 3342, 3018, 3017, 3017, 3017, 3017, 3017, 3301, 3301, 3301, 3301, 3343, 3096, 3096, 3096, 3096, 3305, 3305, 3305, 3305, 1915, 1045, 1915, 1066, 1064, 1064, 1064, 1064, 3344, 3017, 3018, 3017, 3302, 3329, 1066, 3130, 3329, 3097, 3130, 1066, 3345, 1063, 3307, 3307, 3307, 3307, 3346, 3138, 3347, 1045, 3138, 1066, 3141, 3348, 3300, 3141, 3349, 3017, 3017, 3017, 1499, 1064, 1064, 1064, 1064, 1500, 3350, 3308, 1461, 1066, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 3303, 3351, 3352, 3353, 3304, 3291, 1045, 3357, 1066, 3100, 3100, 3100, 3100, 3101, 3101, 3101, 3101, 1064, 1064, 1064, 1064, 3310, 3310, 3310, 3310, 2916, 2937, 2941, 1461, 1064, 1064, 1064, 1064, 3357, 1045, 2943, 1066, 3364, 1045, 2954, 1066, 2956, 1045, 3265, 1066, 2959, 1045, 3306, 1066, 3312, 3312, 3312, 3312, 2963, 1045, 2965, 1066, 1458, 3150, 3150, 3150, 3150, 3364, 3356, 3359, 1499, 3356, 3359, 3173, 3361, 1500, 3173, 3361, 2970, 1045, 3367, 1066, 3309, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 3363, 3374, 3180, 3363, 3311, 3180, 3365, 3168, 3171, 3365, 3381, 3184, 2916, 3175, 3184, 3367, 3186, 3383, 3368, 3186, 3189, 3368, 3191, 3189, 3370, 3191, 3374, 3370, 3384, 3177, 3194, 2937, 3385, 3194, 3196, 3366, 3198, 3196, 3373, 3198, 2941, 3373, 3386, 3387, 3388, 2943, 3354, 3369, 3389, 2954, 3390, 2956, 3202, 3371, 3393, 3202, 3394, 1458, 3376, 2959, 3395, 3376, 3396, 2963, 3397, 2965, 3377, 3200, 3380, 3377, 1462, 3380, 3382, 3382, 3382, 3382, 3216, 1462, 3400, 3216, 1462, 2970, 3220, 3220, 3220, 3220, 1462, 3205, 3391, 3391, 3391, 3391, 1462, 1462, 1462, 3378, 1462, 3208, 3391, 3391, 3391, 3391, 3392, 3392, 3392, 3392, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3227, 3227, 3227, 3227, 1462, 1462, 3399, 3382, 3382, 3382, 3382, 1462, 1462, 3401, 3403, 3403, 3403, 3403, 3408, 3402, 3404, 1462, 1462, 3405, 1462, 3409, 3409, 3409, 3409, 1462, 3406, 1462, 3245, 3245, 3245, 3245, 3245, 3245, 1462, 3424, 1462, 3425, 1462, 1462, 3391, 3391, 3391, 3391, 1462, 3053, 3413, 3407, 3426, 1462, 3411, 3412, 1462, 3221, 1499, 3427, 3415, 1462, 3428, 1500, 3429, 3431, 1461, 3422, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 1632, 3436, 3414, 3391, 3391, 3391, 3391, 3437, 3410, 3419, 3416, 3438, 3392, 3392, 3392, 3392, 3417, 3442, 3443, 3420, 1462, 3418, 3225, 3225, 3225, 3225, 3421, 3447, 1461, 1462, 3398, 3432, 3269, 3449, 3432, 3269, 3463, 3464, 3465, 1462, 3274, 3274, 3274, 3274, 3317, 3468, 3277, 3317, 3433, 3277, 3433, 3433, 3433, 3433, 3433, 3433, 3430, 1458, 3017, 3017, 3017, 3053, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3278, 3017, 3255, 3238, 3018, 3279, 3466, 3467, 3279, 3466, 3467, 3018, 3017, 3017, 3017, 3017, 3017, 3282, 3282, 3282, 3282, 3469, 3280, 3470, 3280, 3280, 3280, 3280, 3280, 3280, 3434, 3471, 3472, 3434, 3283, 3283, 3283, 3283, 3474, 3017, 3018, 3017, 3285, 3285, 3285, 3285, 3475, 3280, 3476, 3280, 3280, 3280, 3280, 3280, 3280, 3305, 3305, 3305, 3305, 3477, 1874, 3439, 3439, 3439, 3439, 3479, 3483, 3017, 3017, 3017, 3017, 3017, 3017, 1915, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3440, 3017, 3325, 3238, 3018, 3325, 3289, 3289, 3289, 3289, 3485, 3018, 3017, 3017, 3017, 3017, 3017, 3444, 3444, 3444, 3444, 3293, 3293, 3293, 3293, 3294, 3294, 3294, 3294, 3487, 3488, 3290, 3446, 3446, 3446, 3446, 3489, 3490, 3168, 3017, 3018, 3017, 3445, 3448, 3448, 3448, 3448, 3171, 3441, 1064, 1064, 1064, 1064, 3305, 3305, 3305, 3305, 3462, 3462, 3462, 3462, 3473, 3329, 3478, 3473, 3329, 3478, 3017, 3017, 3017, 1499, 3175, 3177, 3200, 1045, 1500, 1066, 3205, 1461, 3291, 1461, 1462, 1461, 1501, 1501, 1501, 1501, 1501, 1501, 1502, 1064, 1064, 1064, 1064, 3301, 3301, 3301, 3301, 3452, 3452, 3452, 3452, 1064, 1064, 1064, 1064, 3208, 3506, 3507, 3450, 1064, 1064, 1064, 1064, 3510, 1045, 3511, 1066, 1461, 3302, 3513, 1066, 3482, 1063, 3494, 3482, 3514, 1045, 3515, 1066, 1064, 1064, 1064, 1064, 3516, 1045, 3423, 1066, 3307, 3307, 3307, 3307, 3517, 3484, 1462, 3480, 3484, 1458, 3480, 3494, 3451, 3456, 3456, 3456, 3456, 1045, 3481, 1066, 3457, 3457, 3457, 3457, 3549, 3308, 1462, 1066, 3503, 3441, 3453, 3454, 3310, 3310, 3310, 3310, 3550, 1462, 1063, 3461, 3461, 3461, 3461, 3356, 1462, 1045, 3356, 3458, 3312, 3312, 3312, 3312, 3553, 3503, 3555, 3492, 3559, 1045, 3492, 1066, 3560, 3455, 3359, 1499, 1045, 3359, 1066, 3361, 1500, 3561, 3361, 3363, 3168, 1045, 3363, 1066, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 3496, 3493, 3497, 3496, 3521, 3497, 3530, 1046, 3171, 3459, 3525, 3500, 3502, 3175, 3500, 3502, 3373, 3177, 3376, 3373, 3505, 3376, 3460, 3505, 1054, 3380, 1462, 1462, 3380, 3366, 3491, 3498, 3382, 3382, 3382, 3382, 3512, 3512, 3512, 3512, 3369, 3371, 1462, 3562, 1632, 3200, 1462, 3205, 1462, 3378, 3391, 3391, 3391, 3391, 3208, 1462, 1462, 1458, 3392, 3392, 3392, 3392, 3518, 3518, 3518, 3518, 3519, 3519, 3519, 3519, 1499, 1462, 1462, 1462, 3532, 1500, 3537, 3531, 1461, 1462, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 1462, 3523, 3512, 3512, 3512, 3512, 3539, 3563, 3524, 3554, 3518, 3518, 3518, 3518, 3533, 3534, 3565, 3574, 1732, 1462, 3519, 3519, 3519, 3519, 3536, 3566, 3538, 1462, 1461, 3575, 3535, 3434, 3432, 3577, 3434, 3432, 3577, 1462, 3540, 3452, 3452, 3452, 3452, 3456, 3456, 3456, 3456, 3578, 3520, 3433, 3579, 3433, 3433, 3433, 3433, 3433, 3433, 1458, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3526, 3508, 3526, 3527, 3526, 3556, 3466, 3467, 3556, 3466, 3467, 3526, 3508, 3508, 3508, 3508, 3508, 3581, 3439, 3439, 3439, 3439, 3433, 3584, 3433, 3433, 3433, 3433, 3433, 3433, 3444, 3444, 3444, 3444, 3446, 3446, 3446, 3446, 1874, 3508, 3526, 3508, 1915, 3440, 3564, 3564, 3564, 3564, 3448, 3448, 3448, 3448, 3588, 3487, 3589, 3445, 3452, 3452, 3452, 3452, 3456, 3456, 3456, 3456, 3590, 3591, 3366, 3508, 3508, 3508, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3528, 3509, 3528, 3529, 3528, 3441, 1046, 3580, 3459, 3369, 3580, 3528, 3509, 3509, 3509, 3509, 3509, 3567, 3567, 3567, 3567, 3460, 3371, 1054, 3568, 3568, 3568, 3568, 3457, 3457, 3457, 3457, 3461, 3461, 3461, 3461, 3378, 3601, 3006, 3509, 3528, 3509, 1045, 3604, 1066, 3462, 3462, 3462, 3462, 1045, 3607, 1066, 3609, 1045, 1462, 3458, 1462, 1045, 3624, 1066, 3576, 3576, 3576, 3576, 3541, 3630, 3631, 3509, 3509, 3509, 3541, 3541, 3541, 3634, 3627, 3541, 3541, 3541, 3542, 3541, 3541, 3541, 3541, 3543, 3541, 3541, 3544, 2047, 3544, 1462, 3544, 3545, 3545, 3545, 3545, 3545, 3545, 3546, 3541, 3541, 3541, 3541, 3541, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3541, 3544, 3541, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3541, 3541, 3548, 3551, 3551, 3551, 3552, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3552, 1064, 1064, 1064, 1064, 1462, 1462, 3551, 3551, 3552, 3551, 3551, 3551, 3570, 3570, 3570, 3570, 1064, 1064, 1064, 1064, 3582, 3473, 3638, 3582, 3473, 1045, 3585, 1066, 3478, 3585, 3482, 3478, 3595, 3482, 3551, 3552, 3551, 3571, 1462, 1066, 1462, 1045, 3480, 1066, 3586, 3480, 3484, 3586, 3619, 3484, 3642, 3594, 3496, 3481, 3594, 3496, 3587, 3595, 3597, 3612, 1499, 3597, 3551, 3551, 3551, 1500, 3645, 3500, 3502, 3569, 3500, 3502, 1462, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 3493, 3366, 3611, 3598, 1462, 3572, 3598, 3498, 3505, 3043, 3573, 3505, 3600, 3600, 3600, 3600, 3369, 3371, 3512, 3512, 3512, 3512, 3603, 3603, 3603, 3603, 3605, 3605, 3605, 3605, 1462, 1462, 3599, 3518, 3518, 3518, 3518, 3378, 3519, 3519, 3519, 3519, 3600, 3600, 3600, 3600, 1964, 1461, 3592, 1462, 3613, 3614, 1964, 1461, 1461, 1632, 2147, 1458, 1499, 1462, 1461, 3556, 3577, 1500, 3556, 3577, 1461, 3656, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 3651, 3615, 3657, 3651, 3658, 1461, 3603, 3603, 3603, 3603, 3580, 1461, 3493, 3580, 3498, 3618, 3605, 3605, 3605, 3605, 3664, 3666, 3609, 1462, 3632, 3632, 3632, 3632, 1461, 3623, 1462, 3676, 1462, 1462, 3636, 3636, 3636, 3636, 3637, 3637, 3637, 3637, 1462, 3608, 3564, 3564, 3564, 3564, 3680, 3685, 3633, 3643, 3643, 3643, 3643, 3689, 1462, 1458, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3616, 3602, 3616, 3617, 3616, 3567, 3567, 3567, 3567, 3668, 3690, 3616, 3602, 3602, 3602, 3602, 3602, 1462, 3639, 3639, 3639, 3639, 3568, 3568, 3568, 3568, 3647, 3647, 3647, 3647, 1045, 3684, 1066, 3671, 1064, 1064, 1064, 1064, 3692, 3602, 3616, 3602, 3652, 3640, 2047, 3652, 3693, 1045, 1632, 1066, 3694, 1063, 3576, 3576, 3576, 3576, 3669, 3582, 3644, 1045, 3582, 1066, 3655, 3594, 1462, 3655, 3594, 3602, 3602, 3602, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3621, 3606, 3621, 3622, 3621, 3641, 3493, 1064, 1064, 1064, 1064, 3621, 3606, 3606, 3606, 3606, 3606, 3586, 3660, 1462, 3586, 3660, 3646, 3597, 3663, 3691, 3597, 3663, 3695, 3587, 3686, 1462, 1045, 3675, 1066, 3605, 3605, 3605, 3605, 3606, 3621, 3606, 3565, 2047, 3701, 3651, 3652, 3661, 3651, 3652, 1964, 1461, 3498, 3599, 3632, 3632, 3632, 3632, 1461, 3702, 3599, 3670, 3636, 3636, 3636, 3636, 3706, 3606, 3606, 3606, 3541, 3541, 3541, 3648, 3672, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3624, 3541, 3541, 3541, 1461, 3541, 3707, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3541, 3541, 3541, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3541, 3541, 3548, 3541, 3541, 3541, 1462, 1462, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3624, 3541, 3541, 1964, 1461, 1462, 1462, 3637, 3637, 3637, 3637, 1461, 1462, 1462, 1462, 3541, 3541, 3541, 3541, 3541, 3647, 3647, 3647, 3647, 3647, 3647, 3647, 3647, 3698, 3698, 3698, 3698, 3678, 3655, 3700, 3705, 3655, 3700, 3705, 3676, 1461, 3680, 3541, 3624, 3541, 3719, 3711, 3663, 1462, 3628, 3663, 3721, 3722, 3699, 3710, 1066, 3712, 3717, 3724, 3725, 3726, 3714, 3700, 3543, 3661, 3700, 3661, 3628, 3628, 3719, 3541, 3541, 3541, 3541, 3541, 3541, 3599, 3744, 3541, 3541, 3541, 3542, 3541, 3541, 3541, 3541, 3628, 3541, 3541, 3544, 3713, 3544, 1462, 3544, 3545, 3545, 3545, 3545, 3545, 3545, 3546, 3541, 3541, 3541, 3541, 3541, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3541, 3544, 3541, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3541, 3541, 3548, 3541, 3541, 3541, 1462, 1462, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3624, 3541, 3541, 1632, 1964, 1461, 1462, 3570, 3570, 3570, 3570, 3750, 1461, 1462, 3629, 3541, 3541, 3541, 3541, 3541, 1064, 1064, 1064, 1064, 3643, 3643, 3643, 3643, 3757, 3628, 3737, 1462, 3571, 3716, 1066, 1499, 3639, 3639, 3639, 3639, 1500, 1461, 3541, 1462, 3541, 1045, 1462, 1066, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 1462, 3715, 3715, 3715, 3715, 3740, 3640, 1064, 1064, 1064, 1064, 1632, 1462, 3760, 3723, 3541, 3541, 3541, 1462, 1064, 1064, 1064, 1064, 3767, 3628, 3641, 3727, 3727, 3727, 3727, 3628, 3739, 1045, 3720, 1066, 1462, 1462, 3755, 3649, 3732, 3732, 3732, 3732, 3659, 1045, 3775, 1066, 3753, 1462, 3705, 3644, 3728, 3705, 3738, 3641, 1462, 3756, 1458, 1499, 3729, 3729, 3729, 3729, 1500, 1063, 3778, 1461, 1462, 1461, 1462, 1461, 2280, 2280, 2280, 2280, 2280, 2280, 1502, 3661, 3742, 3696, 3754, 3781, 3784, 3730, 3758, 1066, 1462, 3697, 3698, 3698, 3698, 3698, 3766, 1499, 1064, 1064, 1064, 1064, 1500, 3735, 3735, 3735, 3735, 3763, 1462, 1461, 1959, 1959, 1959, 1959, 1959, 1959, 1960, 3699, 3786, 1066, 3764, 3628, 3543, 1045, 1462, 1066, 3780, 3667, 3736, 3736, 3736, 3736, 3732, 3732, 3732, 3732, 1457, 3777, 1458, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3673, 3665, 3673, 3674, 3673, 3628, 1962, 3628, 3703, 3522, 3783, 3673, 3665, 3665, 3665, 3665, 3665, 3731, 3772, 1458, 3735, 3735, 3735, 3735, 3779, 3736, 3736, 3736, 3736, 3748, 3748, 3748, 3748, 3727, 3727, 3727, 3727, 1462, 3620, 3665, 3673, 3665, 1462, 3732, 3732, 3732, 3732, 1007, 3751, 3751, 3751, 3751, 3768, 1457, 3749, 1007, 1023, 2476, 3728, 1457, 1007, 1023, 3729, 3729, 3729, 3729, 3782, 3665, 3665, 3665, 3541, 3541, 3541, 1063, 2475, 3541, 3541, 3541, 3542, 3541, 3541, 3541, 3541, 3628, 3541, 3541, 3541, 3730, 3541, 1066, 3541, 3681, 3681, 3681, 3681, 3681, 3681, 3682, 3541, 3541, 3541, 3541, 3541, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3541, 3541, 3541, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3541, 3541, 3548, 3541, 3541, 3541, 2474, 2473, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3624, 3541, 3541, 3544, 2472, 3544, 1462, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3541, 3541, 3541, 3541, 3541, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3541, 3544, 3541, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3688, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3541, 3541, 3548, 3541, 3541, 3541, 2471, 2470, 3541, 3541, 3541, 3542, 3541, 3541, 3541, 3541, 3543, 3541, 3541, 3544, 2469, 3544, 1462, 3544, 3708, 3708, 3708, 3708, 3708, 3708, 3546, 3541, 3541, 3541, 3541, 3541, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3541, 3544, 3541, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3709, 3541, 3541, 3548, 3733, 3733, 3734, 3734, 3733, 3734, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3734, 3735, 3735, 3735, 3735, 2468, 3628, 3733, 3733, 3733, 3733, 3733, 3733, 3748, 3748, 3748, 3748, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3761, 3761, 3761, 3761, 3765, 3765, 3765, 3765, 1060, 2467, 3733, 3734, 3733, 3749, 3773, 3773, 3773, 3773, 1094, 1060, 1457, 1462, 2466, 1094, 1189, 3762, 1457, 1066, 2465, 1189, 2464, 1462, 1207, 3769, 3769, 3769, 3769, 1207, 3733, 3733, 3733, 3541, 3541, 3541, 3776, 2463, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3624, 3541, 3541, 3541, 3770, 3541, 2462, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3541, 3541, 3541, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3741, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3541, 3541, 3548, 3745, 3745, 3745, 3746, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 1064, 1064, 1064, 1064, 2461, 2460, 3745, 3745, 3745, 3745, 3745, 3745, 3761, 3761, 3761, 3761, 3771, 3771, 3771, 3771, 1962, 3774, 3774, 3774, 3774, 1045, 2457, 1066, 3769, 3769, 3769, 3769, 1962, 2456, 3745, 3747, 3745, 3762, 1462, 1066, 2455, 1063, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 1021, 1021, 1021, 3770, 3785, 3785, 3785, 3785, 2454, 1321, 1322, 1362, 3745, 3745, 3745, 1322, 1362, 1321, 2120, 2451, 1021, 1462, 1321, 3752, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 669, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 905, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1018, 1018, 1018, 2451, 1083, 1083, 1083, 1091, 1091, 1091, 1130, 1130, 1130, 2450, 2449, 1018, 1018, 1136, 1136, 1136, 1018, 1026, 1026, 1026, 1083, 2446, 2444, 1091, 2443, 2442, 1130, 1291, 1291, 1291, 1310, 1310, 1310, 1136, 1421, 1421, 1421, 1026, 1356, 3435, 1356, 1026, 1030, 1030, 1030, 1356, 1434, 1291, 2439, 2438, 1310, 1434, 1434, 1460, 1421, 1591, 1460, 1030, 1030, 3435, 1591, 1460, 1030, 1036, 1036, 2437, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1065, 1065, 1065, 2435, 1537, 1537, 1537, 1630, 1630, 1630, 2434, 1664, 1664, 1656, 1664, 1065, 1065, 1065, 1656, 1664, 1065, 1088, 1088, 1088, 1537, 1677, 1709, 1630, 1716, 1023, 1677, 1709, 1007, 1716, 1023, 2395, 1088, 1088, 1088, 1094, 1007, 1088, 1113, 1113, 1094, 1007, 2394, 1113, 1113, 2393, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 2392, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 2391, 2390, 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1118, 1118, 2389, 2385, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1120, 1120, 2384, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1128, 1128, 1128, 2383, 1021, 1021, 1021, 1083, 1083, 1083, 1091, 1091, 1091, 1806, 1810, 1128, 1128, 2380, 1806, 1810, 1128, 1134, 1134, 1134, 1021, 2379, 1189, 1083, 1207, 1890, 1091, 1189, 2378, 1207, 1890, 1897, 1134, 1134, 2377, 1322, 1897, 1134, 1137, 1137, 1322, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1153, 1153, 2376, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1159, 1159, 2375, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 2374, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1174, 2373, 1321, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1321, 1174, 1174, 1174, 1174, 1321, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 2372, 1174, 1174, 1174, 1174, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1190, 1190, 2371, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1197, 1197, 2370, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1262, 1130, 1130, 1130, 2282, 2279, 1136, 1136, 1136, 1262, 1291, 1291, 1291, 2278, 2276, 1262, 1310, 1310, 1310, 1262, 1262, 1130, 1262, 1289, 1289, 1289, 1136, 1356, 1362, 1356, 1291, 2275, 1943, 1362, 1356, 1434, 1310, 1943, 1289, 1289, 1434, 1434, 2274, 1289, 1294, 1294, 2273, 1294, 2272, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1295, 2271, 1295, 1295, 1295, 1295, 1295, 2270, 2269, 2268, 1295, 2267, 1295, 1299, 1299, 2266, 1299, 1435, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1300, 3557, 1300, 1300, 1300, 1300, 1300, 1262, 1945, 2262, 1300, 2261, 1300, 1308, 1308, 1308, 1262, 1460, 1944, 2085, 1460, 3557, 1262, 1944, 2085, 1460, 1944, 1262, 1308, 1308, 2260, 1591, 1928, 1308, 1357, 1357, 1591, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1386, 1386, 2258, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1396, 1396, 2257, 1396, 2256, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1397, 2255, 1397, 1397, 1397, 1397, 1397, 2254, 2253, 2252, 1397, 1915, 1397, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1406, 1406, 2251, 1406, 2250, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1407, 2247, 1407, 1407, 1407, 1407, 1407, 2246, 2245, 1915, 1407, 2244, 1407, 1409, 1409, 2241, 1409, 2240, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1410, 2239, 1410, 1410, 1410, 1410, 1410, 1421, 1421, 1421, 1410, 2104, 1410, 1415, 1415, 1415, 2238, 1537, 1537, 1537, 1630, 1630, 1630, 2237, 2205, 1656, 2104, 1421, 1415, 1415, 1656, 2104, 2200, 1415, 1419, 1419, 1419, 1537, 1664, 1664, 1630, 1664, 1677, 1709, 2234, 2233, 1664, 1677, 1709, 1419, 1419, 1021, 1021, 1021, 1419, 1433, 1433, 1433, 1716, 2232, 1433, 1806, 1810, 1716, 1433, 1890, 1806, 1810, 1897, 1943, 1890, 1021, 2085, 1897, 1943, 1433, 1436, 2085, 2231, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 2230, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1874, 1436, 1436, 1436, 1436, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1461, 2226, 1461, 1461, 1461, 1461, 1461, 1026, 1026, 1026, 1461, 2224, 1461, 1503, 1874, 3558, 1503, 2223, 2104, 1503, 3558, 1503, 1503, 1503, 1503, 1503, 2222, 1026, 2221, 1503, 2220, 1503, 2218, 2104, 2217, 1503, 1529, 1529, 2104, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1531, 1531, 3635, 1531, 1531, 1843, 2216, 3635, 1531, 1535, 1535, 1535, 1083, 1083, 1083, 1944, 2215, 3558, 1664, 1664, 1944, 1664, 3558, 1944, 1535, 1535, 1664, 2214, 2213, 1535, 1543, 2212, 1083, 2211, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1548, 2210, 2209, 2208, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1553, 2207, 2203, 2202, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1558, 1558, 2199, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 2198, 1558, 1558, 2197, 1558, 1558, 1558, 1558, 2196, 1558, 1558, 1558, 1558, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1570, 1855, 1845, 1570, 1570, 2194, 1570, 1837, 1570, 1570, 1570, 1570, 1570, 1091, 1091, 1091, 1570, 1191, 1826, 1130, 1130, 1130, 1570, 1573, 1573, 2192, 2191, 1664, 1664, 1573, 1664, 1573, 1573, 1091, 1821, 1664, 1573, 1574, 1574, 1130, 1574, 1820, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 2188, 1575, 1575, 1575, 1575, 1575, 2185, 2185, 2184, 1575, 2181, 1575, 1577, 1577, 2181, 1577, 2180, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1578, 2179, 1578, 1578, 1578, 1578, 1578, 1136, 1136, 1136, 1578, 2178, 1578, 1582, 2177, 1582, 1582, 1582, 1582, 2124, 2175, 2124, 2156, 1582, 1584, 2152, 2151, 1136, 2150, 2149, 1584, 2148, 1584, 1584, 1584, 1584, 1584, 2145, 2144, 1584, 1584, 2141, 2140, 2137, 2136, 2135, 1584, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 2130, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1592, 2130, 2129, 2128, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1597, 2127, 2126, 1028, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1602, 2124, 2123, 2122, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1607, 2121, 2115, 2114, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1628, 1628, 1628, 1664, 1664, 1679, 1664, 1003, 1679, 1679, 2113, 1664, 2112, 2111, 2110, 1628, 1628, 1658, 1658, 1003, 1628, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1658, 1631, 1631, 1631, 1631, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1641, 1641, 1658, 1641, 1003, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 2107, 1642, 1642, 1642, 1642, 1642, 2106, 1632, 1632, 1642, 1632, 1642, 1644, 1644, 1003, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1667, 1667, 1632, 1667, 1632, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1668, 1291, 1291, 1291, 1626, 2098, 1668, 2097, 1668, 1668, 1668, 1668, 1668, 2096, 2093, 1668, 1668, 1310, 1310, 1310, 2092, 1291, 1668, 1669, 1421, 1421, 1421, 3435, 2091, 1669, 2090, 1669, 1669, 1669, 1669, 1669, 2089, 1310, 1669, 1669, 3435, 1669, 3435, 1569, 1421, 1669, 1670, 3435, 1670, 1670, 1670, 1670, 1670, 1568, 2087, 2086, 1670, 1534, 1670, 1672, 1672, 1530, 1672, 1530, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1673, 2081, 1673, 1673, 1673, 1673, 1673, 1462, 2048, 1458, 1673, 2046, 1673, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 2045, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1687, 1687, 2044, 1687, 2043, 1687, 1687, 2040, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 2039, 1687, 1687, 1687, 1687, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1692, 1692, 2033, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1693, 1693, 1966, 1693, 1462, 1693, 1693, 1462, 1956, 1955, 1693, 1693, 1693, 1693, 1693, 1954, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1696, 1696, 1953, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1698, 1951, 1947, 1946, 1945, 1698, 1698, 1435, 1435, 1418, 1698, 1698, 1698, 1698, 1698, 1937, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1936, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1714, 1714, 1714, 1537, 1537, 1537, 1935, 1400, 1400, 1003, 1630, 1630, 1630, 1026, 1026, 1026, 1714, 3610, 1400, 3557, 1714, 3610, 1400, 1537, 1934, 1932, 1714, 1018, 1018, 1018, 1630, 3610, 3557, 1026, 3557, 3610, 3610, 3677, 1387, 3557, 3610, 1379, 1018, 1018, 1379, 1923, 1922, 1018, 1026, 1026, 1026, 3677, 1364, 1364, 1003, 1364, 3677, 1364, 1355, 1921, 1354, 1919, 1918, 1914, 1913, 1910, 1909, 1908, 1026, 1907, 1903, 1858, 1026, 1030, 1030, 1030, 1320, 1901, 1900, 1899, 1319, 1317, 1307, 1893, 1892, 1891, 1288, 1886, 1030, 1030, 1858, 1885, 1884, 1030, 1724, 1724, 1217, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1747, 1747, 1747, 1883, 1856, 1851, 1846, 1882, 1881, 1838, 1878, 1873, 1872, 1867, 1228, 1747, 1747, 1233, 1864, 1233, 1747, 1755, 1755, 1755, 1852, 1861, 1854, 1853, 1850, 1849, 1848, 1847, 1844, 1839, 1836, 1191, 1191, 1755, 1191, 1191, 1191, 1755, 1186, 1824, 1823, 1179, 1168, 1755, 1065, 1065, 1065, 1168, 1003, 1168, 1168, 1164, 1821, 1154, 1154, 1820, 1811, 1133, 1127, 1065, 1065, 1065, 1802, 1794, 1065, 1777, 1777, 1777, 1119, 1791, 1790, 1789, 1788, 1109, 1108, 1107, 1106, 1086, 1757, 1744, 1777, 1743, 1777, 1742, 1741, 1777, 1779, 1779, 1779, 1736, 1735, 1734, 1731, 1063, 1723, 1722, 1721, 1718, 1017, 1006, 1003, 1708, 1779, 1233, 1704, 1003, 1779, 1703, 1003, 1003, 1003, 1697, 1779, 1088, 1088, 1088, 1003, 1287, 1679, 1679, 1676, 1675, 1658, 1658, 1640, 1632, 1632, 1626, 1088, 1088, 1088, 1003, 1572, 1088, 1782, 1782, 1782, 1003, 1572, 1569, 1568, 1567, 1542, 1541, 1538, 1459, 1003, 1534, 1530, 1782, 3787, 1782, 1462, 1459, 1782, 1113, 1113, 1458, 1003, 1442, 1113, 1113, 1441, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1435, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1003, 1003, 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1118, 1118, 1418, 1003, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1795, 1795, 1400, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1801, 1801, 1400, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1804, 1804, 1804, 1395, 1003, 1280, 1003, 1280, 1380, 1003, 1370, 1003, 1364, 1364, 1355, 1287, 1804, 1003, 1354, 1003, 1804, 1179, 1003, 1320, 1003, 1319, 1804, 1128, 1128, 1128, 1318, 1317, 1307, 1304, 1287, 1003, 1288, 1287, 1003, 1179, 1003, 1237, 1128, 1128, 1003, 1204, 1003, 1128, 1808, 1808, 1808, 1191, 1003, 1183, 1182, 1181, 1179, 1168, 1168, 1164, 1154, 1003, 1139, 1003, 1808, 1150, 1003, 1139, 1808, 1138, 1003, 1133, 1127, 1124, 1808, 1134, 1134, 1134, 1121, 1119, 1003, 1112, 1003, 1109, 1108, 1107, 1106, 1003, 1003, 1086, 1134, 1134, 1063, 1059, 1037, 1134, 1812, 1812, 1035, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1815, 1815, 1003, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1159, 1159, 1028, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1017, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1174, 1012, 1003, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1003, 1174, 1174, 1174, 1174, 1006, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1003, 1174, 1174, 1174, 1174, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1190, 1190, 3787, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1197, 1197, 3787, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 3787, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 3787, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1262, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1262, 3787, 3787, 3787, 3787, 3787, 1262, 3787, 3787, 3787, 1262, 1262, 3787, 1262, 1888, 1888, 1888, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1888, 3787, 3787, 3787, 1888, 3787, 3787, 3787, 3787, 3787, 1888, 1289, 1289, 1289, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1289, 1289, 3787, 3787, 3787, 1289, 1294, 1294, 3787, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1295, 3787, 1295, 1295, 1295, 1295, 1295, 3787, 3787, 3787, 1295, 3787, 1295, 1299, 1299, 3787, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1300, 3787, 1300, 1300, 1300, 1300, 1300, 3787, 3787, 3787, 1300, 3787, 1300, 1895, 1895, 1895, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1895, 3787, 3787, 3787, 1895, 3787, 3787, 3787, 3787, 3787, 1895, 1308, 1308, 1308, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1308, 1308, 3787, 3787, 3787, 1308, 1357, 1357, 3787, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 3787, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1386, 1386, 3787, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 3787, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 3787, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1396, 1396, 3787, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1397, 3787, 1397, 1397, 1397, 1397, 1397, 3787, 3787, 3787, 1397, 3787, 1397, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1406, 1406, 3787, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1407, 3787, 1407, 1407, 1407, 1407, 1407, 3787, 3787, 3787, 1407, 3787, 1407, 1409, 1409, 3787, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1410, 3787, 1410, 1410, 1410, 1410, 1410, 3787, 3787, 3787, 1410, 3787, 1410, 1415, 1415, 1415, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1415, 1415, 3787, 3787, 3787, 1415, 1939, 1939, 1939, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1939, 1939, 3787, 3787, 3787, 1939, 1941, 1941, 1941, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1941, 3787, 3787, 3787, 1941, 3787, 3787, 3787, 3787, 3787, 1941, 1419, 1419, 1419, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1419, 1419, 3787, 3787, 3787, 1419, 1433, 1433, 1433, 3787, 3787, 1433, 3787, 3787, 3787, 1433, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1433, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 1963, 3787, 1963, 1963, 1963, 1963, 1963, 3787, 3787, 3787, 1963, 3787, 1963, 1965, 3787, 1965, 1965, 1965, 1965, 1965, 3787, 3787, 3787, 1965, 3787, 1965, 3787, 3787, 3787, 1965, 2047, 3787, 3787, 3787, 3787, 2047, 3787, 3787, 2047, 2047, 3787, 2047, 3787, 3787, 3787, 3787, 2047, 2047, 2047, 3787, 2047, 1503, 3787, 3787, 1503, 3787, 3787, 1503, 3787, 1503, 1503, 1503, 1503, 1503, 3787, 3787, 3787, 1503, 3787, 1503, 3787, 3787, 3787, 1503, 1529, 1529, 3787, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1531, 1531, 3787, 1531, 1531, 3787, 3787, 3787, 1531, 2083, 2083, 2083, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2083, 3787, 3787, 3787, 2083, 3787, 3787, 3787, 3787, 3787, 2083, 1535, 1535, 1535, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1535, 1535, 3787, 3787, 3787, 1535, 1543, 3787, 3787, 3787, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1548, 3787, 3787, 3787, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1553, 3787, 3787, 3787, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1570, 3787, 3787, 1570, 1570, 3787, 1570, 3787, 1570, 1570, 1570, 1570, 1570, 3787, 3787, 3787, 1570, 3787, 3787, 3787, 3787, 3787, 1570, 1573, 1573, 3787, 3787, 3787, 3787, 1573, 3787, 1573, 1573, 3787, 3787, 3787, 1573, 1574, 1574, 3787, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 3787, 1575, 1575, 1575, 1575, 1575, 3787, 3787, 3787, 1575, 3787, 1575, 1577, 1577, 3787, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1578, 3787, 1578, 1578, 1578, 1578, 1578, 3787, 3787, 3787, 1578, 3787, 1578, 1582, 3787, 1582, 1582, 1582, 1582, 3787, 3787, 3787, 3787, 1582, 1584, 3787, 3787, 3787, 3787, 3787, 1584, 3787, 1584, 1584, 1584, 1584, 1584, 3787, 3787, 1584, 1584, 3787, 3787, 3787, 3787, 3787, 1584, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 3787, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1592, 3787, 3787, 3787, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1597, 3787, 3787, 3787, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1602, 3787, 3787, 3787, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1607, 3787, 3787, 3787, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 2100, 2100, 2100, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2100, 3787, 3787, 3787, 2100, 3787, 3787, 3787, 3787, 3787, 2100, 1628, 1628, 1628, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1628, 1628, 3787, 3787, 3787, 1628, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1641, 1641, 3787, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 3787, 1642, 1642, 1642, 1642, 1642, 3787, 3787, 3787, 1642, 3787, 1642, 1644, 1644, 3787, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1667, 1667, 3787, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1668, 3787, 3787, 3787, 3787, 3787, 1668, 3787, 1668, 1668, 1668, 1668, 1668, 3787, 3787, 1668, 1668, 3787, 3787, 3787, 3787, 3787, 1668, 1669, 3787, 3787, 3787, 3787, 3787, 1669, 3787, 1669, 1669, 1669, 1669, 1669, 3787, 3787, 1669, 1669, 3787, 1669, 3787, 3787, 3787, 1669, 1670, 3787, 1670, 1670, 1670, 1670, 1670, 3787, 3787, 3787, 1670, 3787, 1670, 1672, 1672, 3787, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1673, 3787, 1673, 1673, 1673, 1673, 1673, 3787, 3787, 3787, 1673, 3787, 1673, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 3787, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1687, 1687, 3787, 1687, 3787, 1687, 1687, 3787, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 3787, 1687, 1687, 1687, 1687, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1693, 1693, 3787, 1693, 3787, 1693, 1693, 3787, 3787, 3787, 1693, 1693, 1693, 1693, 1693, 3787, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 2116, 2116, 3787, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 1698, 3787, 3787, 3787, 3787, 1698, 1698, 3787, 3787, 3787, 1698, 1698, 1698, 1698, 1698, 3787, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1714, 1714, 1714, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1714, 3787, 3787, 3787, 1714, 3787, 3787, 3787, 3787, 3787, 1714, 1018, 1018, 1018, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1018, 1018, 3787, 3787, 3787, 1018, 1747, 1747, 1747, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1747, 1747, 3787, 3787, 3787, 1747, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 3787, 2153, 2153, 2153, 2153, 3787, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2153, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 3787, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 1755, 1755, 1755, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1755, 3787, 3787, 3787, 1755, 3787, 3787, 3787, 3787, 3787, 1755, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 1777, 1777, 1777, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1777, 3787, 1777, 3787, 3787, 1777, 1779, 1779, 1779, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1779, 3787, 3787, 3787, 1779, 3787, 3787, 3787, 3787, 3787, 1779, 1088, 1088, 1088, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1088, 1088, 1088, 3787, 3787, 1088, 1782, 1782, 1782, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1782, 3787, 1782, 3787, 3787, 1782, 1801, 1801, 3787, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1804, 1804, 1804, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1804, 3787, 3787, 3787, 1804, 3787, 3787, 3787, 3787, 3787, 1804, 1128, 1128, 1128, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1128, 1128, 3787, 3787, 3787, 1128, 1808, 1808, 1808, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1808, 3787, 3787, 3787, 1808, 3787, 3787, 3787, 3787, 3787, 1808, 1134, 1134, 1134, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1134, 1134, 3787, 3787, 3787, 1134, 1815, 1815, 3787, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1174, 3787, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1197, 1197, 3787, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1888, 1888, 1888, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1888, 3787, 3787, 3787, 1888, 3787, 3787, 3787, 3787, 3787, 1888, 1289, 1289, 1289, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1289, 1289, 3787, 3787, 3787, 1289, 1895, 1895, 1895, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1895, 3787, 3787, 3787, 1895, 3787, 3787, 3787, 3787, 3787, 1895, 1308, 1308, 1308, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1308, 1308, 3787, 3787, 3787, 1308, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 3787, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1926, 1926, 3787, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 3787, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2265, 2265, 2265, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2265, 3787, 3787, 3787, 2265, 1939, 1939, 1939, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1939, 1939, 3787, 3787, 3787, 1939, 1941, 1941, 1941, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1941, 3787, 3787, 3787, 1941, 3787, 3787, 3787, 3787, 3787, 1941, 1419, 1419, 1419, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1419, 1419, 3787, 3787, 3787, 1419, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 1963, 3787, 1963, 1963, 1963, 1963, 1963, 3787, 3787, 3787, 1963, 3787, 1963, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 2317, 2317, 3787, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2343, 2343, 3787, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2353, 2353, 3787, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2047, 3787, 3787, 3787, 3787, 2047, 3787, 3787, 2047, 2047, 3787, 2047, 3787, 3787, 3787, 3787, 2047, 2047, 2047, 3787, 2047, 1965, 3787, 1965, 1965, 1965, 1965, 1965, 3787, 3787, 3787, 1965, 3787, 1965, 3787, 3787, 3787, 1965, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 1503, 3787, 3787, 1503, 3787, 3787, 1503, 3787, 1503, 1503, 1503, 1503, 1503, 3787, 3787, 3787, 1503, 3787, 1503, 3787, 3787, 3787, 1503, 2083, 2083, 2083, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2083, 3787, 3787, 3787, 2083, 3787, 3787, 3787, 3787, 3787, 2083, 1535, 1535, 1535, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1535, 1535, 3787, 3787, 3787, 1535, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 2100, 2100, 2100, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2100, 3787, 3787, 3787, 2100, 3787, 3787, 3787, 3787, 3787, 2100, 1628, 1628, 1628, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1628, 1628, 3787, 3787, 3787, 1628, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1060, 1060, 1060, 3787, 3787, 3787, 3787, 3787, 3787, 1060, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1060, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 1815, 1815, 3787, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1174, 3787, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 2561, 2561, 3787, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2265, 2265, 2265, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2265, 3787, 3787, 3787, 2265, 2584, 2584, 2584, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2584, 2584, 3787, 3787, 3787, 2584, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 2597, 2597, 3787, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2599, 2599, 3787, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2621, 2621, 3787, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2628, 2628, 3787, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2317, 2317, 3787, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2646, 2646, 3787, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2650, 2650, 3787, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2654, 2654, 3787, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2656, 2656, 3787, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2658, 2658, 3787, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2661, 2661, 3787, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2663, 2663, 3787, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2665, 2665, 3787, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2668, 2668, 3787, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2343, 2343, 3787, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2673, 2673, 3787, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2677, 2677, 3787, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2353, 2353, 3787, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2688, 2688, 3787, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2690, 2690, 3787, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2692, 2692, 3787, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2694, 2694, 3787, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 1503, 3787, 3787, 1503, 3787, 3787, 1503, 3787, 1503, 1503, 1503, 1503, 1503, 3787, 3787, 3787, 1503, 3787, 1503, 3787, 3787, 3787, 1503, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1060, 1060, 1060, 3787, 3787, 3787, 3787, 3787, 3787, 1060, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1060, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 1815, 1815, 3787, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 2833, 1174, 3787, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 2839, 2839, 3787, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 3787, 2843, 2843, 2843, 2843, 3787, 2843, 2843, 2843, 2843, 2843, 2843, 2561, 2561, 3787, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2561, 2584, 2584, 2584, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 2584, 2584, 3787, 3787, 3787, 2584, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 2597, 2597, 3787, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2597, 2599, 2599, 3787, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2599, 2913, 2913, 3787, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2917, 2917, 3787, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2919, 2919, 3787, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2921, 2921, 3787, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2924, 2924, 3787, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2926, 2926, 3787, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2928, 2928, 3787, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2621, 2621, 3787, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2621, 2931, 2931, 3787, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2934, 2934, 3787, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2628, 2628, 3787, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2628, 2945, 2945, 3787, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2947, 2947, 3787, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2949, 2949, 3787, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2951, 2951, 3787, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2646, 2646, 3787, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2646, 2650, 2650, 3787, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2960, 2960, 3787, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2654, 2654, 3787, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2656, 2656, 3787, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2658, 2658, 3787, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2661, 2661, 3787, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2663, 2663, 3787, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2665, 2665, 3787, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2665, 2668, 2668, 3787, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2966, 2966, 3787, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2673, 2673, 3787, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2673, 2677, 2677, 3787, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677, 2972, 2972, 3787, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2976, 2976, 3787, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2978, 2978, 3787, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2688, 2688, 3787, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2690, 2690, 3787, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2692, 2692, 3787, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2692, 2694, 2694, 3787, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2694, 2981, 2981, 3787, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 3018, 3018, 3787, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 1503, 3787, 3787, 1503, 3787, 3787, 1503, 3787, 1503, 1503, 1503, 1503, 1503, 3787, 3787, 3787, 1503, 3787, 1503, 3787, 3787, 3787, 1503, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 1815, 1815, 3787, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 3110, 3110, 3787, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 1174, 3787, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 2839, 2839, 3787, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3787, 3132, 3132, 3132, 3132, 3787, 3132, 3132, 3132, 3132, 3132, 3132, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 2913, 2913, 3787, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2913, 3172, 3172, 3787, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 2917, 2917, 3787, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2919, 2919, 3787, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2919, 2921, 2921, 3787, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2921, 2924, 2924, 3787, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2926, 2926, 3787, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2928, 2928, 3787, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2931, 2931, 3787, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2931, 2934, 2934, 3787, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 3179, 3179, 3787, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3183, 3183, 3787, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3185, 3185, 3787, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 2945, 2945, 3787, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2947, 2947, 3787, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2949, 2949, 3787, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2951, 2951, 3787, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 3188, 3188, 3787, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3190, 3190, 3787, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3193, 3193, 3787, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 2960, 2960, 3787, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 3195, 3195, 3787, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3197, 3197, 3787, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 2966, 2966, 3787, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2966, 3201, 3201, 3787, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 2972, 2972, 3787, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2976, 2976, 3787, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2976, 2978, 2978, 3787, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2981, 2981, 3787, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 3017, 3017, 3787, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3018, 3018, 3787, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3237, 3237, 3787, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 1503, 3787, 3787, 1503, 3787, 3787, 1503, 3787, 1503, 1503, 1503, 1503, 1503, 3787, 3787, 3787, 1503, 3787, 1503, 3787, 3787, 3787, 1503, 3268, 3268, 3787, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 3110, 3110, 3787, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 1174, 3787, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 3355, 3355, 3787, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3358, 3358, 3787, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3172, 3172, 3787, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3172, 3360, 3360, 3787, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3362, 3362, 3787, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3179, 3179, 3787, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3183, 3183, 3787, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3185, 3185, 3787, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3185, 3188, 3188, 3787, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3190, 3190, 3787, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3193, 3193, 3787, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3193, 3195, 3195, 3787, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3197, 3197, 3787, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3197, 3372, 3372, 3787, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3201, 3201, 3787, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3375, 3375, 3787, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3379, 3379, 3787, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 3237, 3237, 3787, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 1503, 3787, 3787, 1503, 3787, 3787, 1503, 3787, 1503, 1503, 1503, 1503, 1503, 3787, 3787, 3787, 1503, 3787, 1503, 3787, 3787, 3787, 1503, 3268, 3268, 3787, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 1174, 3787, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 3787, 1174, 1174, 1174, 1174, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 3355, 3355, 3787, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3358, 3358, 3787, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3360, 3360, 3787, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3360, 3362, 3362, 3787, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3362, 3495, 3495, 3787, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3499, 3499, 3787, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3501, 3501, 3787, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3372, 3372, 3787, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3375, 3375, 3787, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3504, 3504, 3787, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3379, 3379, 3787, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3508, 3787, 3508, 3508, 3508, 3508, 3787, 3508, 3508, 3508, 3508, 3508, 3508, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3509, 3787, 3509, 3509, 3509, 3509, 3787, 3509, 3509, 3509, 3509, 3509, 3509, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3787, 3552, 3552, 3552, 3552, 3787, 3552, 3552, 3552, 3552, 3552, 3552, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3583, 3787, 3583, 3583, 3583, 3583, 3787, 3583, 3583, 3583, 3583, 3583, 3583, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 3593, 3593, 3787, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3495, 3495, 3787, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3596, 3596, 3787, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3499, 3499, 3787, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3499, 3501, 3501, 3787, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3501, 3504, 3504, 3787, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3504, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3787, 3602, 3602, 3602, 3602, 3787, 3602, 3602, 3602, 3602, 3602, 3602, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3787, 3606, 3606, 3606, 3606, 3787, 3606, 3606, 3606, 3606, 3606, 3606, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 1963, 3787, 1963, 1963, 1963, 1963, 1963, 3787, 3787, 3787, 1963, 3787, 1963, 3541, 3541, 3787, 3787, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3787, 3541, 3787, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3626, 3787, 3787, 3787, 3787, 3626, 3787, 3787, 3626, 3626, 3787, 3626, 3787, 3787, 3787, 3787, 3626, 3626, 3626, 3787, 3626, 3544, 3544, 3787, 3787, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3787, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 3787, 1558, 1558, 1558, 1558, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 1065, 1065, 1065, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1065, 1065, 1065, 3787, 3787, 1065, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3787, 3650, 3650, 3650, 3650, 3787, 3650, 3650, 3650, 3650, 3650, 3650, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3787, 3653, 3653, 3653, 3653, 3787, 3653, 3653, 3653, 3653, 3653, 3653, 3654, 3654, 3787, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 3654, 1436, 3787, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 3787, 1436, 1436, 1436, 1436, 1961, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1961, 1961, 3787, 3787, 3787, 1961, 3787, 3787, 3787, 3787, 3787, 1961, 3593, 3593, 3787, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3593, 3596, 3596, 3787, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3662, 3662, 3787, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3787, 3665, 3665, 3665, 3665, 3787, 3665, 3665, 3665, 3665, 3665, 3665, 2281, 3787, 3787, 2281, 3787, 3787, 2281, 3787, 2281, 2281, 2281, 2281, 2281, 3787, 3787, 3787, 2281, 3787, 2281, 3787, 3787, 3787, 2281, 1461, 3787, 1461, 1461, 1461, 1461, 1461, 3787, 3787, 3787, 1461, 3787, 1461, 1963, 3787, 1963, 1963, 1963, 1963, 1963, 3787, 3787, 3787, 1963, 3787, 1963, 3679, 3787, 3787, 3787, 3787, 3679, 3787, 3787, 3679, 3679, 3787, 3679, 3787, 3787, 3787, 3787, 3787, 3679, 3679, 3787, 3679, 3626, 3787, 3787, 3787, 3787, 3626, 3787, 3787, 3626, 3626, 3787, 3626, 3787, 3787, 3787, 3787, 3626, 3626, 3626, 3787, 3626, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 3787, 1631, 1631, 1631, 1631, 3704, 3704, 3787, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3704, 3541, 3541, 3787, 3787, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3787, 3541, 3787, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3718, 3787, 3787, 3787, 3787, 3718, 3787, 3787, 3718, 3718, 3787, 3718, 3787, 3787, 3787, 3787, 3787, 3718, 3718, 3787, 3718, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3787, 3734, 3734, 3734, 3734, 3787, 3734, 3734, 3734, 3734, 3734, 3734, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3787, 3743, 3743, 3743, 3743, 3787, 3743, 3743, 3743, 3743, 3743, 3743, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3787, 3747, 3747, 3747, 3747, 3787, 3747, 3747, 3747, 3747, 3747, 3747, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3787, 3759, 3759, 3759, 3759, 3787, 3759, 3759, 3759, 3759, 3759, 3759, 279, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787 } ; static yyconst short int yy_chk[28976] = { 0, 0, 1, 0, 1, 1, 2, 305, 2, 2, 305, 306, 306, 306, 306, 0, 339, 284, 290, 297, 339, 1, 284, 290, 297, 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, 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, 534, 5, 5, 6, 2150, 6, 6, 7, 7, 7, 7, 7, 5, 7, 456, 456, 6, 9, 5, 9, 9, 10, 6, 10, 10, 534, 7, 8, 8, 8, 8, 8, 145, 8, 320, 145, 9, 320, 475, 475, 10, 27, 27, 27, 27, 27, 8, 28, 28, 28, 28, 28, 31, 31, 31, 31, 31, 27, 327, 145, 27, 327, 7, 28, 31, 31, 28, 326, 31, 342, 2151, 31, 326, 792, 342, 360, 360, 360, 360, 477, 477, 792, 8, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 2154, 19, 19, 134, 307, 19, 134, 307, 17, 338, 19, 19, 338, 18, 563, 19, 134, 20, 19, 20, 20, 134, 371, 20, 2177, 375, 19, 371, 20, 20, 375, 563, 51, 20, 51, 51, 20, 32, 32, 32, 32, 32, 1149, 1149, 20, 33, 51, 33, 33, 32, 32, 51, 485, 32, 485, 563, 32, 33, 33, 61, 17, 61, 61, 1487, 33, 18, 17, 34, 338, 34, 34, 18, 62, 548, 62, 62, 1487, 388, 61, 34, 34, 19, 388, 394, 398, 307, 34, 51, 394, 398, 639, 62, 366, 366, 366, 366, 2178, 639, 548, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 29, 2179, 29, 29, 680, 410, 30, 29, 30, 30, 410, 680, 29, 30, 382, 382, 382, 382, 30, 29, 39, 900, 39, 39, 1220, 30, 29, 29, 37, 382, 37, 37, 30, 30, 38, 1220, 38, 38, 900, 39, 37, 40, 480, 40, 40, 480, 38, 37, 41, 41, 41, 41, 41, 38, 41, 480, 37, 1502, 564, 41, 40, 65, 38, 65, 65, 1502, 53, 41, 53, 53, 313, 313, 313, 313, 39, 54, 39, 54, 54, 902, 65, 638, 29, 564, 43, 53, 43, 43, 30, 35, 35, 35, 35, 35, 54, 40, 851, 40, 42, 42, 42, 42, 42, 43, 42, 663, 638, 663, 35, 42, 44, 43, 44, 44, 415, 35, 35, 42, 35, 415, 425, 49, 851, 49, 49, 425, 1734, 49, 449, 44, 41, 41, 49, 449, 1734, 49, 452, 44, 902, 452, 49, 52, 452, 52, 52, 455, 2050, 464, 35, 53, 455, 313, 464, 43, 470, 52, 476, 2180, 54, 470, 52, 476, 35, 726, 35, 59, 35, 59, 59, 1010, 726, 35, 36, 36, 36, 36, 36, 483, 1010, 44, 42, 42, 483, 55, 59, 55, 55, 495, 2050, 55, 495, 36, 293, 293, 293, 293, 52, 55, 36, 36, 495, 36, 55, 49, 49, 63, 63, 63, 63, 63, 293, 64, 64, 64, 64, 64, 499, 504, 505, 63, 59, 499, 504, 505, 63, 64, 294, 294, 294, 294, 64, 36, 66, 911, 66, 66, 488, 911, 55, 387, 387, 387, 387, 1016, 294, 36, 1016, 36, 488, 36, 670, 66, 670, 488, 36, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 50, 50, 50, 50, 50, 681, 50, 50, 681, 2184, 56, 50, 56, 56, 50, 681, 56, 511, 57, 50, 57, 57, 511, 503, 56, 58, 503, 58, 58, 56, 524, 60, 57, 60, 60, 524, 503, 57, 67, 58, 67, 67, 2189, 68, 58, 68, 68, 479, 859, 479, 60, 69, 1011, 69, 69, 525, 70, 67, 70, 70, 525, 479, 68, 69, 69, 56, 1011, 532, 70, 70, 69, 75, 532, 75, 75, 70, 859, 71, 71, 71, 71, 71, 50, 50, 538, 77, 60, 77, 77, 538, 75, 71, 314, 314, 314, 314, 71, 77, 77, 75, 57, 75, 2191, 619, 77, 71, 619, 58, 71, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 539, 67, 67, 619, 72, 539, 68, 68, 520, 72, 520, 547, 1019, 71, 73, 1019, 547, 91, 72, 91, 91, 72, 520, 73, 718, 73, 718, 74, 74, 74, 74, 74, 76, 555, 76, 76, 91, 78, 555, 78, 78, 295, 295, 295, 295, 72, 74, 562, 568, 78, 78, 76, 562, 568, 314, 74, 78, 74, 1027, 295, 76, 1027, 76, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 81, 81, 81, 81, 81, 1239, 82, 82, 82, 82, 82, 908, 1239, 908, 81, 420, 420, 420, 420, 81, 82, 421, 421, 421, 421, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 85, 85, 85, 85, 85, 2192, 83, 83, 83, 83, 83, 83, 569, 92, 85, 92, 92, 569, 85, 85, 1032, 575, 105, 1032, 105, 105, 575, 106, 85, 106, 106, 85, 92, 576, 83, 83, 83, 99, 576, 99, 99, 105, 121, 579, 121, 121, 106, 582, 579, 99, 913, 99, 582, 2193, 913, 85, 99, 315, 315, 315, 315, 121, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 86, 86, 86, 86, 86, 2194, 84, 84, 84, 84, 84, 84, 595, 918, 86, 918, 2196, 595, 86, 86, 122, 99, 122, 122, 107, 852, 107, 107, 86, 2197, 100, 86, 100, 100, 84, 84, 84, 107, 108, 122, 108, 108, 100, 107, 100, 383, 383, 383, 383, 100, 852, 108, 315, 601, 608, 86, 628, 108, 601, 608, 383, 628, 84, 84, 84, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 89, 89, 89, 89, 89, 2052, 87, 87, 87, 87, 87, 87, 1061, 883, 100, 422, 422, 422, 422, 89, 883, 1061, 883, 115, 115, 115, 115, 115, 2198, 1047, 117, 89, 117, 117, 87, 87, 87, 115, 118, 1047, 118, 118, 115, 117, 117, 384, 384, 384, 384, 117, 2052, 118, 118, 637, 644, 89, 653, 118, 637, 644, 384, 653, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 90, 90, 90, 90, 90, 2200, 88, 88, 88, 88, 88, 88, 2201, 116, 116, 116, 116, 116, 125, 90, 125, 125, 126, 577, 126, 126, 135, 116, 135, 135, 577, 90, 116, 577, 88, 88, 88, 125, 577, 659, 139, 126, 139, 139, 659, 135, 409, 409, 409, 409, 435, 435, 435, 435, 135, 90, 666, 1051, 409, 139, 1051, 666, 88, 88, 88, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 136, 95, 136, 136, 95, 673, 113, 113, 113, 113, 113, 925, 95, 95, 95, 95, 95, 673, 924, 136, 113, 140, 673, 140, 140, 113, 1156, 1156, 136, 103, 103, 103, 103, 103, 113, 143, 925, 143, 143, 95, 140, 95, 2202, 144, 924, 144, 144, 149, 103, 149, 149, 912, 606, 912, 143, 606, 528, 912, 103, 528, 1058, 113, 144, 2057, 1058, 606, 149, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 528, 96, 103, 150, 96, 150, 150, 114, 114, 114, 114, 114, 96, 96, 96, 96, 96, 1052, 103, 2057, 103, 114, 150, 679, 528, 103, 114, 1052, 679, 104, 104, 104, 104, 104, 155, 114, 155, 155, 114, 96, 1210, 96, 156, 1210, 156, 156, 155, 155, 104, 441, 441, 441, 441, 155, 156, 156, 542, 1251, 104, 542, 1251, 156, 114, 508, 508, 508, 508, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 542, 97, 104, 127, 97, 127, 127, 128, 128, 128, 128, 128, 97, 97, 97, 97, 97, 127, 104, 2076, 104, 128, 127, 683, 542, 104, 128, 159, 683, 159, 159, 1181, 690, 129, 127, 129, 129, 690, 128, 97, 159, 97, 160, 693, 160, 160, 159, 129, 693, 698, 633, 129, 129, 633, 698, 160, 1181, 897, 127, 897, 701, 160, 128, 633, 129, 701, 2076, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 1316, 98, 129, 1316, 98, 130, 130, 130, 130, 130, 1158, 1158, 98, 98, 98, 98, 98, 1212, 169, 130, 169, 169, 682, 130, 130, 682, 897, 1212, 169, 1092, 157, 157, 157, 157, 157, 682, 130, 169, 1092, 98, 1213, 98, 157, 157, 1213, 170, 157, 170, 170, 157, 509, 509, 509, 509, 1140, 170, 510, 510, 510, 510, 130, 706, 1349, 1140, 170, 1349, 706, 98, 98, 98, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 131, 1223, 131, 131, 132, 1223, 132, 132, 2203, 158, 158, 158, 158, 158, 181, 181, 181, 181, 181, 131, 1215, 158, 158, 132, 711, 158, 1215, 146, 158, 711, 146, 131, 1844, 181, 189, 132, 189, 189, 716, 190, 146, 190, 190, 716, 1844, 146, 522, 522, 522, 522, 1169, 725, 1169, 189, 146, 131, 725, 146, 190, 132, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 146, 161, 161, 161, 161, 161, 133, 133, 133, 133, 133, 133, 1144, 161, 161, 1144, 1630, 161, 1144, 1630, 161, 201, 1208, 201, 201, 162, 162, 162, 162, 162, 165, 1203, 165, 165, 133, 133, 133, 162, 162, 2055, 201, 162, 649, 649, 162, 649, 165, 1203, 1208, 165, 546, 546, 546, 546, 1358, 649, 1358, 165, 553, 553, 553, 553, 133, 133, 133, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 202, 137, 202, 202, 137, 2205, 166, 692, 166, 166, 692, 2055, 137, 137, 137, 137, 137, 1243, 1243, 202, 692, 231, 166, 231, 231, 166, 182, 182, 182, 182, 182, 165, 1242, 166, 167, 167, 167, 167, 167, 137, 231, 137, 1242, 1225, 939, 182, 939, 183, 183, 183, 183, 183, 1225, 167, 589, 589, 589, 589, 939, 1263, 1263, 299, 299, 299, 299, 167, 183, 137, 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 299, 138, 166, 167, 138, 168, 168, 168, 168, 168, 1343, 1343, 138, 138, 138, 138, 138, 2206, 184, 184, 184, 184, 184, 2207, 168, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 1044, 168, 184, 1044, 138, 232, 138, 232, 232, 185, 233, 1447, 233, 233, 186, 521, 521, 521, 521, 1241, 2208, 299, 729, 1241, 232, 168, 737, 729, 521, 233, 1447, 737, 138, 138, 138, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 1365, 141, 1365, 177, 141, 177, 177, 193, 1044, 193, 193, 177, 141, 141, 141, 141, 141, 177, 209, 749, 209, 209, 177, 2209, 749, 210, 193, 210, 210, 300, 300, 300, 300, 194, 177, 194, 194, 209, 193, 141, 234, 141, 234, 234, 210, 1871, 209, 213, 213, 213, 213, 213, 194, 210, 300, 758, 775, 1871, 177, 234, 758, 775, 193, 1401, 194, 1401, 213, 141, 141, 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 2210, 142, 194, 178, 142, 178, 178, 590, 590, 590, 590, 178, 142, 142, 142, 142, 142, 178, 241, 1639, 241, 241, 178, 214, 214, 214, 214, 214, 215, 215, 215, 215, 215, 221, 178, 221, 221, 241, 1391, 142, 1247, 142, 214, 235, 1247, 235, 235, 215, 721, 235, 1490, 1490, 221, 523, 523, 523, 523, 1350, 178, 1271, 721, 1350, 235, 1391, 221, 721, 523, 142, 142, 142, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 1639, 147, 221, 179, 147, 179, 179, 592, 592, 592, 592, 179, 147, 147, 147, 147, 147, 179, 242, 1271, 242, 242, 179, 216, 216, 216, 216, 216, 217, 217, 217, 217, 217, 222, 179, 222, 222, 242, 1912, 147, 1524, 147, 216, 236, 1264, 236, 236, 217, 1392, 236, 1912, 1264, 222, 596, 596, 596, 596, 2211, 179, 1264, 778, 783, 236, 1392, 222, 778, 783, 147, 147, 147, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 1524, 148, 222, 180, 148, 180, 180, 598, 598, 598, 598, 180, 148, 148, 148, 148, 148, 180, 255, 2062, 255, 255, 180, 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, 256, 180, 256, 256, 255, 1445, 148, 1445, 148, 218, 237, 1445, 237, 237, 219, 1162, 237, 1710, 1162, 256, 616, 616, 616, 616, 1445, 180, 1710, 2062, 1162, 237, 642, 642, 642, 642, 148, 148, 148, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 1727, 1527, 173, 187, 187, 187, 187, 187, 2212, 1727, 173, 173, 173, 173, 173, 1323, 220, 220, 220, 220, 220, 2061, 187, 223, 223, 223, 223, 223, 1395, 1587, 238, 187, 238, 238, 187, 220, 238, 173, 173, 173, 1527, 1323, 223, 224, 224, 224, 224, 224, 2213, 238, 689, 689, 689, 689, 1395, 812, 572, 1587, 187, 572, 812, 1022, 224, 2061, 1022, 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 572, 1711, 174, 188, 188, 188, 188, 188, 1472, 1740, 174, 174, 174, 174, 174, 1711, 253, 702, 253, 253, 702, 1645, 188, 1645, 572, 1740, 254, 818, 254, 254, 253, 188, 818, 1472, 188, 253, 2214, 174, 174, 174, 254, 261, 702, 261, 261, 254, 702, 261, 740, 740, 740, 740, 261, 261, 261, 1649, 1022, 2215, 188, 1649, 261, 757, 757, 757, 757, 174, 174, 174, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 191, 191, 191, 191, 191, 191, 191, 191, 821, 191, 191, 191, 191, 821, 1473, 191, 1476, 191, 1729, 227, 191, 227, 227, 301, 301, 301, 301, 1729, 191, 191, 191, 191, 191, 227, 203, 1478, 203, 203, 227, 1473, 249, 1476, 249, 249, 228, 1818, 228, 228, 301, 257, 227, 257, 257, 203, 1818, 191, 191, 191, 228, 249, 1478, 791, 824, 228, 203, 791, 791, 824, 257, 784, 784, 784, 784, 203, 227, 228, 830, 257, 203, 257, 1525, 830, 2216, 191, 191, 192, 192, 192, 192, 192, 192, 192, 192, 2217, 192, 192, 192, 192, 203, 228, 192, 1522, 192, 203, 249, 192, 258, 835, 258, 258, 1883, 1883, 835, 192, 192, 192, 192, 192, 249, 841, 204, 846, 204, 204, 841, 258, 846, 250, 849, 250, 250, 1525, 1482, 849, 258, 271, 258, 271, 271, 204, 192, 192, 192, 854, 1522, 565, 250, 565, 854, 565, 204, 1840, 271, 565, 271, 856, 565, 1482, 862, 204, 856, 565, 565, 862, 204, 565, 2218, 1840, 192, 192, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 2220, 204, 195, 195, 195, 195, 204, 195, 250, 272, 1312, 272, 272, 1312, 1483, 195, 195, 195, 195, 195, 868, 262, 250, 262, 262, 868, 272, 262, 272, 1312, 1567, 871, 262, 262, 262, 263, 871, 263, 263, 1483, 262, 263, 195, 195, 195, 259, 263, 259, 259, 2221, 536, 259, 536, 536, 263, 1567, 259, 536, 785, 785, 785, 785, 874, 263, 259, 263, 1659, 874, 1659, 536, 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 2222, 1831, 196, 196, 196, 196, 273, 196, 273, 273, 275, 1831, 275, 275, 259, 196, 196, 196, 196, 196, 264, 1262, 264, 264, 1580, 273, 264, 877, 882, 275, 2223, 264, 877, 882, 260, 901, 260, 260, 1262, 264, 260, 906, 196, 196, 196, 260, 906, 901, 264, 1580, 264, 2054, 901, 260, 786, 786, 786, 786, 910, 933, 2224, 273, 1262, 910, 933, 275, 304, 304, 304, 304, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 260, 197, 304, 550, 197, 550, 550, 2054, 2225, 1633, 550, 1633, 197, 197, 197, 197, 197, 265, 265, 265, 265, 265, 550, 265, 319, 319, 319, 319, 265, 265, 265, 266, 266, 266, 266, 266, 265, 266, 1519, 197, 1581, 197, 266, 266, 266, 332, 332, 332, 332, 319, 266, 752, 752, 752, 752, 2226, 2227, 947, 395, 395, 395, 395, 947, 332, 1633, 1581, 752, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 395, 198, 1519, 1519, 198, 2053, 333, 333, 333, 333, 921, 1728, 198, 198, 198, 198, 198, 267, 267, 267, 267, 267, 921, 267, 333, 1728, 1730, 921, 267, 267, 395, 268, 268, 268, 268, 268, 267, 268, 2060, 198, 1730, 198, 268, 268, 395, 267, 395, 267, 395, 2228, 268, 806, 806, 806, 806, 884, 884, 884, 884, 268, 1666, 268, 2053, 336, 336, 336, 336, 198, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 1666, 199, 336, 2060, 199, 269, 269, 269, 269, 269, 2230, 1822, 199, 199, 199, 199, 199, 270, 270, 270, 270, 270, 2232, 1526, 269, 337, 337, 337, 337, 347, 347, 347, 347, 269, 1652, 269, 270, 1822, 1652, 199, 419, 199, 419, 419, 956, 270, 419, 270, 914, 956, 337, 419, 914, 965, 347, 1869, 347, 1869, 965, 419, 914, 352, 352, 352, 352, 914, 1526, 199, 199, 199, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 352, 200, 352, 1873, 200, 274, 274, 274, 274, 274, 2233, 1873, 200, 200, 200, 200, 200, 1665, 2059, 274, 341, 341, 341, 341, 274, 344, 344, 344, 344, 2234, 1872, 276, 276, 276, 276, 276, 419, 419, 341, 200, 1872, 200, 1665, 344, 352, 276, 753, 753, 753, 753, 276, 816, 816, 816, 816, 816, 886, 886, 886, 886, 274, 753, 2059, 361, 361, 361, 361, 200, 200, 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 276, 205, 361, 1786, 205, 353, 353, 353, 353, 2064, 2056, 205, 205, 205, 205, 205, 205, 1786, 2235, 984, 349, 349, 349, 349, 984, 350, 350, 350, 350, 2156, 353, 943, 353, 362, 362, 362, 362, 1819, 2156, 205, 205, 205, 703, 943, 703, 349, 703, 349, 943, 2056, 350, 1819, 350, 703, 887, 887, 887, 887, 362, 703, 2064, 353, 703, 363, 363, 363, 363, 205, 205, 205, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 349, 206, 363, 991, 206, 995, 1843, 350, 991, 1843, 995, 206, 206, 206, 206, 206, 206, 350, 351, 351, 351, 351, 354, 354, 354, 354, 2237, 999, 355, 355, 355, 355, 999, 356, 356, 356, 356, 1009, 2058, 206, 206, 206, 1009, 351, 2238, 351, 1033, 354, 1160, 354, 1160, 1033, 1039, 355, 1041, 355, 1143, 1039, 356, 1041, 356, 1143, 1160, 430, 430, 430, 430, 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 2239, 207, 207, 207, 207, 207, 207, 207, 351, 207, 430, 2240, 207, 1185, 355, 356, 354, 2058, 1185, 354, 207, 207, 207, 207, 355, 357, 357, 357, 357, 365, 365, 365, 365, 1929, 356, 358, 358, 358, 358, 367, 367, 367, 367, 368, 368, 368, 368, 207, 207, 207, 357, 1654, 357, 1191, 365, 1654, 365, 367, 1191, 1929, 358, 368, 358, 888, 888, 888, 888, 369, 369, 369, 369, 431, 431, 431, 431, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 369, 208, 208, 208, 208, 208, 208, 208, 357, 208, 2075, 431, 208, 357, 358, 370, 370, 370, 370, 2188, 208, 208, 208, 208, 379, 379, 379, 379, 2188, 432, 432, 432, 432, 370, 400, 400, 400, 400, 434, 434, 434, 434, 379, 436, 436, 436, 436, 208, 208, 208, 2241, 2075, 2244, 400, 432, 451, 451, 451, 451, 754, 754, 754, 754, 434, 895, 895, 895, 895, 436, 972, 972, 972, 972, 451, 754, 208, 208, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 1898, 229, 2245, 1898, 229, 437, 437, 437, 437, 2072, 1703, 2063, 229, 229, 229, 229, 229, 438, 438, 438, 438, 440, 440, 440, 440, 573, 573, 573, 573, 1835, 437, 396, 396, 396, 396, 1703, 494, 494, 494, 229, 494, 229, 438, 573, 2246, 959, 440, 959, 1199, 1056, 494, 959, 1056, 1199, 1835, 494, 959, 959, 959, 396, 397, 397, 397, 397, 959, 2072, 2063, 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 2247, 230, 397, 396, 230, 494, 1141, 537, 578, 1141, 537, 578, 230, 230, 230, 230, 230, 396, 1274, 396, 537, 396, 1056, 1274, 1141, 537, 578, 554, 554, 554, 554, 2248, 397, 574, 574, 574, 574, 537, 578, 230, 554, 230, 1494, 2249, 1737, 554, 397, 1494, 397, 1737, 397, 574, 820, 820, 820, 820, 820, 973, 973, 973, 973, 537, 578, 974, 974, 974, 974, 230, 230, 230, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 2250, 245, 2252, 1884, 245, 551, 551, 551, 551, 2229, 2229, 2253, 245, 245, 245, 245, 245, 1884, 551, 583, 583, 583, 583, 551, 584, 584, 584, 584, 585, 585, 585, 585, 2254, 997, 558, 551, 997, 558, 928, 245, 245, 245, 1224, 2255, 583, 1224, 997, 558, 1252, 584, 1227, 997, 1252, 585, 823, 823, 823, 823, 823, 551, 1224, 1655, 928, 2256, 558, 1655, 1252, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 928, 246, 558, 1192, 246, 1192, 588, 588, 588, 588, 1227, 1933, 246, 246, 246, 246, 246, 1192, 1971, 2065, 566, 1227, 566, 566, 566, 1227, 566, 566, 1250, 928, 566, 588, 567, 566, 1976, 567, 1933, 1250, 566, 246, 246, 246, 566, 1971, 1250, 567, 759, 759, 759, 759, 567, 981, 981, 981, 981, 759, 2251, 2251, 2065, 759, 1976, 1517, 567, 610, 610, 610, 610, 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 567, 247, 610, 2257, 247, 611, 611, 611, 611, 2035, 2066, 2258, 247, 247, 247, 247, 247, 612, 612, 612, 612, 615, 615, 615, 615, 2035, 1315, 1517, 617, 1315, 611, 617, 2260, 1517, 640, 640, 640, 640, 1972, 247, 1062, 247, 612, 1062, 1062, 1315, 615, 640, 760, 760, 760, 760, 640, 2040, 1518, 1346, 617, 760, 1062, 1346, 2066, 760, 1346, 1972, 640, 2040, 2040, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 617, 248, 640, 1680, 248, 1680, 643, 643, 643, 643, 2261, 1518, 248, 248, 248, 248, 248, 1680, 617, 643, 734, 734, 734, 734, 643, 1518, 645, 645, 2262, 645, 645, 704, 2266, 704, 645, 704, 643, 704, 704, 248, 645, 248, 645, 645, 704, 734, 645, 645, 1093, 704, 704, 1093, 1093, 704, 867, 867, 867, 867, 867, 2267, 643, 870, 870, 870, 870, 870, 1093, 248, 248, 248, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 335, 335, 335, 335, 2268, 646, 335, 646, 646, 1975, 646, 646, 646, 1177, 2269, 646, 1177, 700, 2270, 1977, 700, 646, 2271, 646, 646, 335, 1177, 646, 646, 826, 700, 826, 705, 2272, 1975, 705, 735, 735, 735, 735, 736, 736, 736, 736, 1977, 705, 1184, 700, 826, 1184, 705, 2273, 2274, 739, 739, 739, 739, 826, 335, 1184, 335, 735, 705, 1902, 335, 736, 1902, 335, 335, 1249, 335, 700, 1249, 335, 335, 335, 335, 535, 739, 535, 535, 535, 535, 1981, 826, 535, 705, 1249, 535, 535, 535, 535, 1902, 535, 535, 535, 535, 535, 549, 549, 549, 549, 549, 549, 1201, 2070, 549, 1201, 1981, 549, 549, 549, 549, 1982, 549, 549, 549, 549, 549, 549, 731, 731, 731, 731, 742, 742, 742, 742, 2275, 2276, 801, 801, 801, 801, 1201, 742, 2317, 2067, 1982, 731, 731, 731, 731, 731, 731, 731, 748, 748, 748, 748, 742, 761, 761, 761, 761, 801, 2070, 748, 1201, 1277, 761, 1827, 1277, 1827, 761, 762, 762, 762, 762, 771, 771, 771, 748, 771, 762, 1827, 2067, 1277, 762, 763, 763, 763, 763, 764, 764, 764, 764, 1515, 771, 802, 802, 802, 802, 803, 803, 803, 803, 763, 2343, 1187, 1234, 764, 1187, 1234, 805, 805, 805, 805, 827, 827, 827, 827, 1187, 1234, 802, 2231, 2353, 2105, 803, 873, 873, 873, 873, 873, 771, 1858, 1515, 748, 782, 805, 1515, 2231, 782, 1175, 1175, 1175, 782, 1175, 827, 1515, 782, 782, 890, 890, 890, 890, 782, 1175, 2104, 782, 782, 2104, 1175, 782, 2370, 782, 1751, 782, 951, 1751, 951, 782, 827, 1994, 951, 782, 782, 890, 782, 951, 782, 1858, 782, 1858, 1751, 2105, 782, 793, 876, 876, 876, 876, 876, 885, 885, 885, 885, 885, 1175, 1994, 1302, 793, 2372, 1302, 891, 891, 891, 891, 2374, 892, 892, 892, 892, 1302, 793, 793, 793, 793, 793, 793, 1985, 793, 793, 951, 793, 793, 2375, 793, 793, 891, 793, 793, 793, 793, 892, 828, 828, 828, 828, 793, 793, 793, 793, 793, 793, 1985, 793, 793, 1816, 793, 793, 1816, 793, 793, 2376, 2378, 793, 793, 793, 793, 794, 794, 794, 794, 794, 828, 1816, 794, 794, 1651, 794, 1651, 2069, 2379, 794, 1651, 794, 794, 794, 794, 794, 794, 795, 829, 829, 829, 829, 795, 2380, 828, 795, 2071, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 889, 889, 889, 889, 894, 894, 894, 894, 929, 1462, 1462, 829, 1194, 889, 1194, 929, 1479, 1462, 889, 1479, 929, 2381, 949, 949, 949, 949, 1194, 2069, 795, 894, 2078, 1194, 929, 949, 2382, 829, 982, 982, 982, 982, 983, 983, 983, 983, 2071, 1479, 1462, 949, 1020, 1020, 1020, 1020, 1082, 1082, 1082, 1082, 929, 795, 796, 796, 796, 796, 1479, 2319, 971, 971, 971, 971, 971, 796, 971, 1008, 1008, 1008, 1008, 971, 971, 971, 2005, 796, 2383, 796, 796, 971, 1521, 929, 2384, 2078, 1479, 1008, 2319, 2384, 1013, 1013, 1013, 1013, 1014, 1014, 1014, 1014, 1024, 1024, 1024, 1024, 2005, 1829, 796, 1829, 796, 796, 796, 796, 796, 796, 1987, 796, 796, 1013, 796, 1829, 2387, 1014, 796, 1521, 796, 796, 796, 796, 796, 796, 797, 1017, 1017, 1017, 1017, 797, 1521, 2077, 797, 1987, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 1018, 1018, 1018, 1018, 2390, 1988, 1017, 1025, 1025, 1025, 1025, 1026, 1026, 1026, 1026, 1028, 1028, 1028, 1028, 1038, 1038, 1038, 1038, 1013, 1967, 1018, 1303, 1967, 797, 1303, 1988, 1024, 1090, 1090, 1090, 1090, 1026, 1038, 1990, 1303, 1028, 2278, 2077, 2391, 797, 1029, 1029, 1029, 1029, 1030, 1030, 1030, 1030, 1967, 2377, 2278, 1037, 797, 1040, 1040, 1040, 1040, 2377, 1990, 1017, 1037, 1037, 1037, 1037, 1037, 1029, 2392, 1351, 1351, 1030, 1351, 1040, 1043, 1043, 1043, 1043, 1059, 1059, 1059, 1059, 1351, 2394, 1477, 1025, 1060, 1060, 1060, 1060, 2012, 1059, 1998, 1028, 1042, 1042, 1042, 1042, 1477, 1043, 1042, 1063, 1063, 1063, 1063, 1064, 1064, 1064, 1064, 1477, 2434, 1060, 1065, 1065, 1065, 1065, 2012, 1998, 2019, 1042, 1067, 1067, 1067, 1067, 1477, 1376, 1063, 1559, 1376, 1559, 1064, 2088, 1064, 1083, 1083, 1083, 1083, 1065, 1376, 1065, 1084, 1084, 1084, 1084, 2019, 1067, 1559, 1067, 1068, 1068, 1068, 1068, 1042, 1384, 1042, 1559, 1384, 2088, 1042, 2079, 1083, 1042, 1042, 2080, 1042, 1084, 1384, 1042, 1042, 1042, 1042, 2204, 2435, 1068, 2204, 1068, 1067, 1069, 1069, 1069, 1069, 2437, 1559, 2438, 1063, 2002, 1070, 1070, 1070, 1070, 1071, 1071, 1071, 1071, 1072, 1072, 1072, 1072, 1091, 1091, 1091, 1091, 1069, 2439, 1069, 1073, 1073, 1073, 1073, 1390, 2002, 1070, 1390, 1070, 2079, 1071, 2403, 1071, 2080, 1072, 2415, 1072, 1390, 1068, 2263, 1091, 1096, 1096, 1096, 1096, 1073, 2398, 1073, 1097, 1097, 1097, 1097, 1074, 1074, 1074, 1074, 1075, 1075, 1075, 1075, 1076, 1076, 1076, 1076, 1071, 2263, 1069, 1070, 1077, 1077, 1077, 1077, 1444, 2442, 1444, 1070, 1072, 1074, 1444, 1074, 2415, 1075, 2295, 1075, 1073, 1076, 2413, 1076, 2403, 1073, 1444, 1444, 2398, 1077, 2393, 1077, 1078, 1078, 1078, 1078, 1079, 1079, 1079, 1079, 1080, 1080, 1080, 1080, 2295, 1074, 2393, 1081, 1081, 1081, 1081, 1246, 1076, 1707, 1075, 1246, 1707, 1078, 1246, 1078, 2404, 1079, 2399, 1079, 2413, 1080, 1707, 1080, 1076, 1246, 2103, 1077, 1081, 2103, 1081, 2103, 1086, 1086, 1086, 1086, 1087, 1087, 1087, 1087, 1088, 1088, 1088, 1088, 1095, 1095, 1095, 1095, 1098, 1098, 1098, 1098, 1099, 1099, 1099, 1099, 1079, 1086, 1078, 1095, 1080, 1087, 1688, 1087, 1688, 1088, 2068, 1088, 1688, 2003, 2399, 1099, 2404, 1688, 2443, 1081, 1098, 1104, 1104, 1104, 1104, 1105, 1105, 1105, 1105, 1110, 1110, 1110, 1110, 1111, 1111, 1111, 1111, 2444, 2003, 1825, 1104, 1110, 1825, 1114, 1111, 1114, 1114, 2388, 2388, 1114, 1098, 2068, 1825, 2424, 1114, 1116, 1116, 1116, 1116, 1086, 1864, 1688, 1114, 1864, 1098, 1121, 1098, 2068, 1098, 1117, 1117, 1117, 1117, 1864, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122, 1125, 1125, 1125, 1125, 1127, 1127, 1127, 1127, 1128, 1128, 1128, 1128, 1129, 1129, 1129, 1129, 1131, 1131, 1131, 1131, 1133, 1133, 1133, 1133, 2309, 1125, 2006, 1865, 2424, 1127, 1865, 2446, 2316, 1128, 1134, 1134, 1134, 1134, 2449, 2412, 1865, 1131, 1114, 1114, 1138, 1133, 1135, 1135, 1135, 1135, 2309, 2006, 2010, 1138, 1138, 1138, 1138, 1138, 2316, 1134, 1142, 1142, 1142, 1142, 1188, 1188, 1188, 1188, 1195, 1195, 1195, 1195, 1196, 1196, 1196, 1196, 2450, 2010, 1142, 1229, 2412, 1195, 1229, 1255, 1255, 1255, 1255, 1127, 1258, 1258, 1258, 1258, 1229, 1235, 2454, 2122, 1235, 1229, 2122, 1253, 1253, 1253, 1253, 1133, 1202, 1202, 1202, 1202, 2122, 1229, 1202, 2011, 1253, 1202, 1202, 1202, 1202, 1253, 1202, 1202, 1202, 1202, 1202, 1235, 1256, 1256, 1256, 1256, 2411, 1253, 2408, 1261, 1273, 1229, 1261, 1273, 2011, 1256, 1260, 1260, 1260, 1260, 2455, 1275, 1261, 1273, 1275, 1235, 2401, 1282, 1273, 1260, 1282, 1253, 1278, 1278, 1278, 1278, 2456, 2014, 2445, 1261, 1273, 1285, 1285, 1285, 1285, 1282, 1288, 1288, 1288, 1288, 1278, 1275, 1289, 1289, 1289, 1289, 2411, 1282, 1290, 1290, 1290, 1290, 2014, 1261, 1273, 2408, 1285, 1292, 1292, 1292, 1292, 1288, 2401, 1523, 2457, 1275, 1311, 1289, 2423, 1311, 2459, 1282, 1297, 1297, 1297, 1297, 1305, 1305, 1305, 1305, 1307, 1307, 1307, 1307, 1308, 1308, 1308, 1308, 1309, 1309, 1309, 1309, 1963, 1963, 1311, 1325, 1325, 1325, 1325, 2397, 1963, 1305, 1523, 2445, 2462, 1307, 1523, 2094, 1325, 1308, 2405, 1523, 2448, 1325, 1327, 1327, 1327, 1327, 2423, 1288, 1328, 1328, 1328, 1328, 1311, 1325, 2464, 1330, 1330, 1963, 1330, 1330, 2094, 1328, 2322, 1330, 1470, 1974, 1328, 2448, 1974, 1330, 1311, 1330, 1330, 1470, 2397, 1330, 1330, 1325, 1328, 1331, 1331, 2405, 1331, 1331, 1964, 1964, 2465, 1331, 2322, 1470, 2466, 1307, 1964, 1331, 1974, 1331, 1331, 2095, 1470, 1331, 1331, 2406, 1328, 1332, 1332, 1332, 1332, 1334, 1334, 1334, 1334, 1335, 1335, 1335, 1335, 1336, 1336, 2467, 1336, 1336, 2108, 1964, 2095, 1336, 1335, 1386, 1386, 1386, 1386, 1336, 2429, 1336, 1336, 1332, 2407, 1336, 1336, 1969, 2109, 1337, 1337, 1335, 1337, 1337, 2406, 2108, 1969, 1337, 1338, 1338, 1338, 1338, 2468, 1337, 2346, 1337, 1337, 1332, 2410, 1337, 1337, 1338, 1969, 2109, 2190, 1335, 1387, 1387, 1387, 1387, 1394, 1969, 2422, 1394, 1412, 1412, 1412, 1412, 1338, 1387, 2346, 2407, 2429, 1394, 1413, 1413, 1413, 1413, 1394, 2190, 2421, 1415, 1415, 1415, 1415, 1416, 1416, 1416, 1416, 1412, 2469, 2410, 1338, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 2470, 2417, 2422, 1416, 1418, 1418, 1418, 1418, 1419, 1419, 1419, 1419, 1420, 1420, 1420, 1420, 1422, 1422, 1422, 1422, 1425, 1425, 1425, 1425, 1437, 1437, 1437, 1422, 1437, 1418, 2421, 1425, 2350, 1419, 1428, 1428, 1428, 1428, 1429, 1429, 1429, 1429, 1422, 1437, 2417, 2199, 1425, 2427, 2199, 1428, 1430, 1430, 1430, 1430, 1431, 1431, 1431, 1431, 2350, 1432, 1432, 1432, 1432, 1431, 2471, 2418, 2472, 1431, 1432, 1973, 1973, 1973, 1432, 1452, 1452, 1452, 1452, 2259, 2473, 1437, 1453, 1453, 1453, 1453, 1973, 2474, 2476, 1418, 1454, 1454, 1454, 1454, 1455, 1455, 1455, 1455, 1456, 1456, 1456, 1456, 1457, 1425, 2259, 1469, 2427, 1457, 1469, 2199, 2418, 1973, 1474, 1474, 1474, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 2477, 1471, 2478, 1471, 2501, 1474, 1475, 1480, 1471, 1475, 2503, 2287, 1469, 1480, 1480, 1471, 1474, 2428, 1484, 1484, 1484, 1484, 1486, 1486, 1486, 1486, 1471, 1469, 1471, 1469, 1474, 2505, 1480, 1471, 2506, 1475, 2287, 2051, 2508, 1480, 1480, 1471, 1474, 1485, 1485, 1485, 1485, 1669, 1475, 1475, 1983, 1986, 1469, 1983, 1986, 1469, 1989, 1457, 1465, 1989, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 2428, 1669, 1481, 1475, 1475, 1481, 2513, 1484, 2051, 1983, 1986, 1488, 1488, 1488, 1488, 1989, 2288, 1481, 2051, 1481, 1484, 1486, 1671, 1484, 2431, 1669, 1991, 1481, 1465, 1991, 1481, 1532, 1532, 1532, 1532, 2430, 1512, 1512, 1512, 1512, 2514, 2288, 2289, 1481, 1992, 1481, 1671, 1992, 1485, 1491, 1491, 1491, 1491, 1512, 1669, 1991, 1532, 1465, 1467, 1467, 1467, 1467, 1467, 1467, 2431, 1467, 1467, 2289, 1467, 1467, 1671, 1467, 1467, 1992, 1467, 1467, 1467, 1467, 1993, 1488, 2431, 1993, 2430, 1467, 1467, 1467, 1467, 1467, 1467, 1488, 1467, 1467, 2515, 1467, 1467, 1512, 1467, 1467, 2291, 1671, 1467, 1467, 1467, 1467, 1512, 1491, 1995, 1993, 1512, 1995, 2518, 1512, 2475, 1491, 1501, 1536, 1536, 1536, 1536, 1501, 2519, 2475, 1501, 2291, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 2522, 1995, 2299, 1513, 1513, 1513, 1513, 1544, 1544, 1544, 1544, 1544, 1516, 1516, 1516, 1516, 1534, 1534, 1534, 1534, 1513, 2523, 2525, 1514, 1514, 1514, 1514, 2299, 1501, 1516, 1520, 1520, 1520, 1520, 1535, 1535, 1535, 1535, 2414, 2416, 1514, 1534, 1549, 1549, 1549, 1549, 1549, 1520, 1554, 1554, 1554, 1554, 1554, 1561, 1561, 1561, 1561, 1501, 1503, 1535, 2303, 2527, 1996, 1503, 1997, 1996, 1503, 1997, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1513, 1514, 1516, 2521, 2528, 1561, 2521, 2303, 1520, 2414, 2416, 1514, 1516, 1996, 1514, 1997, 1520, 1562, 1562, 1562, 1562, 1534, 1593, 1593, 1593, 1593, 1593, 2529, 1503, 1561, 1598, 1598, 1598, 1598, 1598, 1603, 1603, 1603, 1603, 1603, 1608, 1608, 1608, 1608, 1608, 2530, 2531, 1562, 1615, 1615, 1615, 1615, 1616, 1616, 1616, 1616, 2532, 1503, 1617, 1617, 1617, 1617, 1618, 1618, 1618, 1618, 1618, 1619, 1619, 1619, 1619, 1562, 1620, 1620, 1620, 1620, 1620, 1621, 1621, 1621, 1621, 1621, 1622, 1622, 1622, 1622, 1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624, 1626, 1626, 1626, 1626, 1627, 1627, 1627, 1627, 2534, 1627, 1628, 1628, 1628, 1628, 1629, 1629, 1629, 1629, 2307, 2308, 2535, 1624, 2425, 2432, 1705, 1626, 2536, 1705, 2537, 1627, 1684, 1684, 1684, 1684, 1694, 1628, 1694, 1705, 2538, 1697, 1694, 1684, 1705, 2307, 2308, 1694, 1694, 1694, 1697, 1697, 1697, 1697, 1697, 1694, 2539, 1684, 1699, 1699, 1699, 1699, 1699, 2540, 1699, 1701, 1701, 1701, 1701, 1699, 1699, 1699, 1702, 1702, 1702, 1702, 2432, 1699, 1713, 1713, 1713, 1713, 2425, 2425, 2311, 1626, 1714, 1714, 1714, 1714, 1715, 1715, 1715, 1715, 1718, 1718, 1718, 1718, 2541, 1745, 1745, 1745, 1745, 1713, 1726, 1746, 1746, 1746, 1746, 2311, 2542, 1714, 1745, 1726, 1726, 1726, 1726, 1726, 1747, 1747, 1747, 1747, 1754, 1754, 1754, 1754, 1755, 1755, 1755, 1755, 1746, 1756, 1756, 1756, 1756, 1758, 1758, 1758, 1758, 1759, 1759, 1759, 1759, 1747, 2543, 2544, 2323, 1754, 2419, 1999, 2480, 1755, 1999, 1755, 1760, 1760, 1760, 1760, 2545, 2480, 1758, 1713, 1758, 2546, 1759, 2547, 1759, 1761, 1761, 1761, 1761, 2323, 1762, 1762, 1762, 1762, 2548, 2524, 1999, 1760, 2524, 1760, 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764, 2000, 2419, 1761, 2000, 1761, 1978, 2419, 1762, 1978, 1762, 1765, 1765, 1765, 1765, 2333, 1754, 1759, 1763, 1758, 1763, 2549, 1764, 2340, 1764, 1760, 1766, 1766, 1766, 1766, 2000, 1767, 1767, 1767, 1767, 1978, 1765, 2550, 1765, 2551, 2333, 2552, 1761, 1762, 1768, 1768, 1768, 1768, 2340, 2553, 2554, 1766, 1978, 1766, 2409, 2555, 1767, 1764, 1767, 1769, 1769, 1769, 1769, 1770, 1770, 1770, 1770, 1968, 1763, 1768, 1968, 1768, 2556, 2349, 1771, 1771, 1771, 1771, 1978, 1772, 1772, 1772, 1772, 2557, 1769, 2560, 1769, 1765, 1770, 2356, 1770, 1773, 1773, 1773, 1773, 2409, 1968, 1767, 2349, 1771, 1766, 1771, 2526, 2409, 1772, 2526, 1772, 1774, 1774, 1774, 1774, 1968, 1768, 2561, 2356, 2563, 1773, 2564, 1773, 2565, 1775, 1775, 1775, 1775, 1776, 1776, 1776, 1776, 1777, 1777, 1777, 1777, 1774, 1769, 1774, 2566, 1968, 2567, 1770, 1772, 1778, 1778, 1778, 1778, 1771, 1775, 2568, 1775, 2569, 2357, 2533, 1776, 2570, 2533, 2571, 1777, 1779, 1779, 1779, 1779, 1773, 1780, 1780, 1780, 1780, 1778, 1781, 1781, 1781, 1781, 1782, 1782, 1782, 1782, 2357, 1774, 1787, 1787, 1787, 1787, 2572, 1779, 2573, 1779, 1792, 1792, 1792, 1792, 2558, 1797, 2574, 2558, 2575, 1781, 1775, 1792, 2576, 1782, 1797, 1797, 1797, 1797, 1797, 1798, 1798, 1798, 1798, 1800, 1800, 1800, 1800, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1778, 1807, 1807, 1807, 1807, 1808, 1808, 1808, 1808, 1809, 1809, 1809, 1809, 1803, 2577, 2360, 2436, 1804, 1887, 1887, 1887, 1887, 1814, 2579, 2580, 2581, 1807, 2585, 2586, 2587, 1808, 1814, 1814, 1814, 1814, 1814, 1888, 1888, 1888, 1888, 2360, 2436, 2588, 1887, 1889, 1889, 1889, 1889, 1894, 1894, 1894, 1894, 1895, 1895, 1895, 1895, 1896, 1896, 1896, 1896, 2589, 1888, 1903, 1903, 1903, 1903, 1904, 1904, 1904, 1904, 2578, 1803, 2582, 1894, 2590, 1903, 2591, 1895, 1905, 1905, 1905, 1905, 2510, 2592, 1807, 1906, 1906, 1906, 1906, 2593, 2004, 1905, 1903, 2004, 2510, 2578, 1904, 2582, 1906, 2510, 2594, 1887, 1924, 1924, 1924, 1924, 2595, 2597, 1905, 1927, 1927, 1927, 1927, 2599, 2621, 1906, 1903, 2601, 2628, 2004, 1904, 1937, 1937, 1937, 1937, 1940, 1940, 1940, 1940, 2646, 2650, 1894, 1905, 1938, 1938, 1938, 1938, 2654, 2656, 1906, 1939, 1939, 1939, 1939, 2601, 2658, 1937, 2661, 2385, 2663, 1940, 2385, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1941, 1941, 1941, 1941, 1942, 1942, 1942, 1942, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1959, 2559, 2603, 2007, 2559, 1959, 2007, 2665, 2668, 1941, 2673, 2677, 2559, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1961, 2008, 2385, 1979, 2008, 1961, 1940, 2603, 2013, 1979, 1979, 2688, 2007, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1970, 2013, 1970, 1980, 2310, 2690, 1980, 1970, 1979, 2015, 2008, 2692, 2015, 2013, 1970, 1979, 1979, 2310, 1980, 2016, 1980, 2017, 2016, 2602, 2017, 1970, 2013, 1970, 1980, 2310, 2018, 1980, 1970, 2018, 2694, 2613, 2195, 1959, 2015, 2195, 1970, 2625, 2310, 2698, 1980, 2700, 1980, 2705, 2016, 2602, 2017, 2020, 2020, 2020, 2020, 2073, 2706, 1961, 1965, 2018, 2613, 2707, 2708, 1965, 2709, 2195, 1965, 2625, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 2024, 2024, 2024, 2024, 2026, 2026, 2026, 2026, 2030, 2030, 2030, 2030, 2036, 2036, 2036, 2036, 2082, 2082, 2082, 2082, 2710, 2073, 2711, 2712, 2073, 2713, 2717, 2718, 1965, 2074, 2074, 2074, 2074, 2073, 2073, 2084, 2084, 2084, 2084, 2719, 2720, 2082, 2101, 2101, 2101, 2101, 2074, 2083, 2083, 2083, 2083, 2099, 2099, 2099, 2099, 2722, 2620, 1965, 2049, 2723, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2631, 2242, 2083, 2118, 2242, 2672, 2099, 2100, 2100, 2100, 2100, 2620, 2118, 2118, 2118, 2118, 2118, 2125, 2125, 2125, 2125, 2725, 2726, 2283, 2132, 2631, 2283, 2734, 2049, 2082, 2242, 2672, 2100, 2132, 2132, 2132, 2132, 2132, 2152, 2152, 2152, 2152, 2632, 2049, 2277, 2277, 2277, 2277, 2767, 2768, 2770, 2152, 2283, 2157, 2157, 2157, 2157, 2049, 2081, 2158, 2158, 2158, 2158, 2081, 2099, 2748, 2081, 2632, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2157, 2635, 2157, 2771, 2285, 2734, 2158, 2285, 2158, 2159, 2159, 2159, 2159, 2648, 2160, 2160, 2160, 2160, 2161, 2161, 2161, 2161, 2162, 2162, 2162, 2162, 2635, 2724, 2081, 2163, 2163, 2163, 2163, 2285, 2159, 2724, 2159, 2716, 2648, 2160, 2716, 2160, 2748, 2161, 2729, 2161, 2081, 2162, 2157, 2162, 2164, 2164, 2164, 2164, 2163, 2676, 2163, 2081, 2165, 2165, 2165, 2165, 2166, 2166, 2166, 2166, 2167, 2167, 2167, 2167, 2168, 2168, 2168, 2168, 2730, 2164, 2290, 2164, 2681, 2290, 2676, 2159, 2160, 2165, 2731, 2165, 2739, 2166, 2162, 2166, 2161, 2167, 2682, 2167, 2687, 2168, 2729, 2168, 2169, 2169, 2169, 2169, 2163, 2681, 2728, 2290, 2164, 2743, 2170, 2170, 2170, 2170, 2171, 2171, 2171, 2171, 2738, 2682, 2165, 2687, 2741, 2292, 2167, 2169, 2292, 2169, 2166, 2172, 2172, 2172, 2172, 2730, 2755, 2170, 2168, 2170, 2731, 2171, 2739, 2171, 2173, 2173, 2173, 2173, 2744, 2174, 2174, 2174, 2174, 2183, 2292, 2745, 2172, 2737, 2172, 2728, 2169, 2742, 2183, 2183, 2183, 2183, 2183, 2738, 2743, 2173, 2187, 2173, 2742, 2772, 2174, 2171, 2174, 2741, 2170, 2187, 2187, 2187, 2187, 2187, 2171, 2264, 2264, 2264, 2264, 2755, 2778, 2744, 2265, 2265, 2265, 2265, 2779, 2293, 2294, 2172, 2293, 2294, 2296, 2781, 2783, 2296, 2173, 2745, 2737, 2786, 2264, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2297, 2298, 2300, 2297, 2298, 2300, 2174, 2280, 2293, 2294, 2749, 2302, 2280, 2296, 2302, 2280, 2746, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2752, 2740, 2297, 2298, 2300, 2304, 2305, 2312, 2304, 2305, 2312, 2313, 2314, 2302, 2313, 2314, 2315, 2318, 2320, 2315, 2318, 2320, 2324, 2326, 2327, 2324, 2326, 2327, 2280, 2787, 2329, 2788, 2746, 2329, 2304, 2305, 2312, 2790, 2793, 2794, 2313, 2314, 2795, 2796, 2749, 2315, 2318, 2320, 2740, 2797, 2752, 2324, 2326, 2327, 2747, 2756, 2757, 2280, 2281, 2329, 2798, 2331, 2334, 2281, 2331, 2334, 2281, 2754, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2336, 2338, 2341, 2336, 2338, 2341, 2344, 2345, 2347, 2344, 2345, 2347, 2331, 2334, 2351, 2354, 2355, 2351, 2354, 2355, 2358, 2359, 2361, 2358, 2359, 2361, 2756, 2758, 2281, 2336, 2338, 2341, 2753, 2757, 2747, 2344, 2345, 2347, 2363, 2365, 2759, 2363, 2365, 2351, 2354, 2355, 2754, 2799, 2800, 2358, 2359, 2361, 2367, 2369, 2801, 2367, 2369, 2281, 2371, 2371, 2371, 2371, 2373, 2373, 2373, 2373, 2758, 2363, 2365, 2389, 2389, 2389, 2389, 2400, 2400, 2400, 2400, 2420, 2753, 2802, 2420, 2367, 2369, 2402, 2402, 2402, 2402, 2759, 2803, 2804, 2400, 2805, 2807, 2762, 2420, 2426, 2426, 2426, 2426, 2808, 2402, 2440, 2440, 2440, 2440, 2453, 2441, 2441, 2441, 2441, 2463, 2463, 2463, 2463, 2453, 2453, 2453, 2453, 2453, 2479, 2479, 2479, 2479, 2500, 2500, 2500, 2500, 2764, 2512, 2440, 2761, 2512, 2479, 2420, 2441, 2373, 2396, 2481, 2481, 2481, 2481, 2396, 2762, 2831, 2396, 2765, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2402, 2512, 2482, 2482, 2482, 2482, 2481, 2763, 2481, 2832, 2483, 2483, 2483, 2483, 2502, 2502, 2502, 2502, 2764, 2836, 2484, 2484, 2484, 2484, 2780, 2502, 2837, 2482, 2396, 2482, 2699, 2699, 2699, 2699, 2761, 2483, 2765, 2483, 2838, 2839, 2485, 2485, 2485, 2485, 2396, 2484, 2763, 2484, 2841, 2844, 2516, 2845, 2562, 2516, 2763, 2562, 2847, 2396, 2433, 2486, 2486, 2486, 2486, 2433, 2849, 2485, 2433, 2485, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2483, 2516, 2484, 2562, 2598, 2780, 2486, 2598, 2486, 2487, 2487, 2487, 2487, 2488, 2488, 2488, 2488, 2489, 2489, 2489, 2489, 2851, 2852, 2485, 2490, 2490, 2490, 2490, 2433, 2842, 2433, 2853, 2842, 2598, 2487, 2854, 2487, 2856, 2488, 2858, 2488, 2486, 2489, 2850, 2489, 2491, 2491, 2491, 2491, 2490, 2850, 2490, 2859, 2493, 2493, 2493, 2493, 2433, 2492, 2492, 2492, 2492, 2861, 2494, 2494, 2494, 2494, 2863, 2600, 2864, 2491, 2600, 2491, 2604, 2846, 2489, 2604, 2846, 2493, 2487, 2493, 2848, 2490, 2492, 2848, 2492, 2865, 2488, 2494, 2784, 2494, 2866, 2784, 2495, 2495, 2495, 2495, 2600, 2496, 2496, 2496, 2496, 2604, 2497, 2497, 2497, 2497, 2498, 2498, 2498, 2498, 2491, 2499, 2499, 2499, 2499, 2492, 2784, 2495, 2494, 2495, 2855, 2868, 2496, 2855, 2496, 2860, 2493, 2497, 2860, 2497, 2596, 2498, 2869, 2498, 2870, 2596, 2499, 2870, 2499, 2583, 2583, 2583, 2583, 2596, 2596, 2596, 2596, 2596, 2596, 2596, 2871, 2872, 2495, 2496, 2584, 2584, 2584, 2584, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2867, 2606, 2499, 2607, 2606, 2874, 2607, 2867, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2609, 2611, 2614, 2609, 2611, 2614, 2616, 2618, 2622, 2616, 2618, 2622, 2875, 2623, 2596, 2606, 2623, 2607, 2626, 2629, 2630, 2626, 2629, 2630, 2876, 2633, 2880, 2596, 2633, 2609, 2611, 2614, 2881, 2882, 2883, 2616, 2618, 2622, 2634, 2884, 2636, 2634, 2623, 2636, 2885, 2886, 2888, 2626, 2629, 2630, 2638, 2889, 2640, 2638, 2633, 2640, 2642, 2644, 2645, 2642, 2644, 2645, 2647, 2649, 2892, 2647, 2649, 2634, 2651, 2636, 2652, 2651, 2655, 2652, 2657, 2655, 2893, 2657, 2894, 2638, 2659, 2640, 2895, 2659, 2896, 2642, 2644, 2645, 2898, 2899, 2660, 2647, 2649, 2660, 2900, 2662, 2901, 2651, 2662, 2652, 2902, 2655, 2664, 2657, 2666, 2664, 2903, 2666, 2667, 2659, 2669, 2667, 2670, 2669, 2674, 2670, 2905, 2674, 2675, 2660, 2678, 2675, 2679, 2678, 2662, 2679, 2683, 2685, 2908, 2683, 2685, 2664, 2689, 2666, 2913, 2689, 2917, 2667, 2919, 2669, 2921, 2670, 2691, 2674, 2924, 2691, 2926, 2675, 2928, 2678, 2693, 2679, 2931, 2693, 2695, 2683, 2685, 2695, 2934, 2696, 2945, 2689, 2696, 2701, 2701, 2701, 2701, 2702, 2702, 2702, 2702, 2691, 2703, 2703, 2703, 2703, 2947, 2873, 2877, 2693, 2873, 2877, 2949, 2695, 2704, 2704, 2704, 2704, 2696, 2714, 2714, 2714, 2714, 2715, 2715, 2715, 2715, 2721, 2721, 2721, 2721, 2732, 2732, 2732, 2732, 2735, 2735, 2735, 2735, 2736, 2736, 2736, 2736, 2750, 2750, 2750, 2750, 2769, 2732, 2951, 2769, 2834, 2735, 2957, 2834, 2960, 2736, 2966, 2972, 2976, 2750, 2751, 2751, 2751, 2751, 2760, 2760, 2760, 2760, 2773, 2773, 2773, 2773, 2897, 2840, 2911, 2769, 2840, 2751, 2957, 2834, 2978, 2760, 2774, 2774, 2774, 2774, 2981, 2774, 2775, 2775, 2775, 2775, 2721, 2727, 2983, 2984, 2773, 2897, 2727, 2911, 2989, 2727, 2840, 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2990, 2933, 2938, 2775, 2776, 2776, 2776, 2776, 2939, 2776, 2777, 2777, 2777, 2777, 2991, 2992, 2993, 2760, 2791, 2791, 2791, 2791, 2792, 2792, 2792, 2792, 2933, 2938, 2727, 2806, 2806, 2806, 2806, 2939, 2727, 2827, 2827, 2827, 2827, 2887, 2887, 2887, 2887, 2985, 2985, 2985, 2985, 2995, 2996, 2809, 2809, 2809, 2809, 2810, 2810, 2810, 2810, 2727, 2733, 2733, 2733, 2997, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2809, 2733, 2809, 2733, 2810, 3001, 2810, 2811, 2811, 2811, 2811, 3002, 2733, 2733, 2733, 2733, 2733, 2812, 2812, 2812, 2812, 2813, 2813, 2813, 2813, 3003, 3005, 3008, 2816, 2816, 2816, 2816, 2811, 2944, 2811, 2814, 2814, 2814, 2814, 2733, 2994, 2733, 2812, 2994, 2812, 3009, 2813, 2971, 2813, 2815, 2815, 2815, 2815, 2816, 2878, 2816, 3010, 2878, 2944, 3011, 2814, 2910, 2814, 3025, 2910, 2878, 3013, 2733, 2733, 2733, 2766, 3021, 2971, 2812, 2815, 2766, 2815, 3015, 2766, 3035, 2766, 2766, 2766, 2766, 2766, 2766, 2766, 2766, 2766, 2766, 2910, 2814, 2817, 2817, 2817, 2817, 2818, 2818, 2818, 2818, 3050, 3051, 2816, 2819, 2819, 2819, 2819, 3036, 3013, 2815, 2820, 2820, 2820, 2820, 3021, 3023, 3015, 2817, 2766, 2817, 3025, 2818, 3035, 2818, 2821, 2821, 2821, 2821, 2819, 3022, 2819, 2822, 2822, 2822, 2822, 2820, 3024, 2820, 2766, 2823, 2823, 2823, 2823, 2824, 2824, 2824, 2824, 2766, 3014, 2821, 3036, 2821, 2825, 2825, 2825, 2825, 2822, 3023, 2822, 2826, 2826, 2826, 2826, 3054, 2823, 2817, 2823, 3055, 2824, 2818, 2824, 2828, 2828, 2828, 2828, 2912, 2975, 2825, 2912, 2825, 3022, 3027, 2828, 3056, 2826, 3062, 2826, 3024, 2829, 2829, 2829, 2829, 2822, 2914, 2915, 2909, 2914, 2915, 2821, 2829, 2909, 2975, 2918, 3014, 2912, 2918, 2823, 3020, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2920, 2922, 2923, 2920, 2922, 2923, 2925, 2914, 2915, 2925, 2826, 2927, 2929, 3027, 2927, 2929, 2918, 2930, 2932, 2935, 2930, 2932, 2935, 2936, 2940, 2942, 2936, 2940, 2942, 2920, 2922, 2923, 3016, 2946, 2909, 2925, 2946, 3028, 3020, 2948, 2927, 2929, 2948, 3065, 3070, 3075, 2930, 2932, 2935, 3040, 3077, 3031, 2936, 2940, 2942, 2950, 2952, 2909, 2950, 2952, 2953, 2955, 2946, 2953, 2955, 3029, 2958, 2961, 2948, 2958, 2961, 2962, 2964, 2967, 2962, 2964, 2967, 2968, 2969, 2973, 2968, 2969, 2973, 2974, 2950, 2952, 2974, 3016, 2977, 2953, 2955, 2977, 3028, 3031, 2979, 2958, 2961, 2979, 3040, 3078, 2962, 2964, 2967, 3079, 3081, 3084, 2968, 2969, 2973, 3085, 2980, 2982, 2974, 2980, 2982, 3033, 3029, 2977, 2986, 2986, 2986, 2986, 3032, 2979, 2987, 2987, 2987, 2987, 2988, 2988, 2988, 2988, 2998, 2998, 2998, 2998, 3038, 3039, 3041, 2980, 2982, 3000, 3000, 3000, 3000, 3004, 3004, 3004, 3004, 3006, 3006, 3006, 3006, 3007, 3007, 3007, 3007, 3026, 3026, 3026, 3026, 3026, 3026, 3030, 3042, 3047, 3030, 3033, 3034, 3034, 3034, 3034, 3045, 3032, 3037, 3037, 3037, 3037, 3087, 3046, 3030, 3043, 3043, 3043, 3043, 3034, 3052, 3064, 3039, 3052, 3041, 3037, 3048, 3038, 3061, 3061, 3061, 3061, 3043, 3044, 3044, 3044, 3044, 3057, 3057, 3057, 3057, 3108, 3057, 3109, 3110, 3042, 3112, 3113, 3114, 3052, 3044, 3047, 3063, 3063, 3063, 3063, 3006, 3012, 3066, 3117, 3118, 3066, 3012, 3045, 3046, 3012, 3119, 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3048, 3059, 3059, 3059, 3059, 3067, 3059, 3115, 3067, 3066, 3115, 3043, 3120, 3116, 3121, 3064, 3116, 3068, 3122, 3123, 3068, 3072, 3072, 3072, 3072, 3125, 3126, 3129, 3012, 3073, 3073, 3073, 3073, 3067, 3068, 3131, 3068, 3068, 3068, 3068, 3068, 3068, 3074, 3074, 3074, 3074, 3012, 3076, 3076, 3076, 3076, 3080, 3080, 3080, 3080, 3133, 3134, 3012, 3018, 3018, 3018, 3135, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3018, 3136, 3018, 3080, 3018, 3082, 3082, 3082, 3082, 3083, 3083, 3083, 3083, 3018, 3018, 3018, 3018, 3018, 3086, 3086, 3086, 3086, 3089, 3089, 3089, 3089, 3137, 3089, 3090, 3090, 3090, 3090, 3139, 3140, 3091, 3091, 3091, 3091, 3111, 3142, 3018, 3111, 3018, 3106, 3106, 3106, 3106, 3089, 3143, 3089, 3144, 3080, 3127, 3090, 3106, 3090, 3145, 3124, 3146, 3091, 3124, 3091, 3092, 3092, 3092, 3092, 3127, 3111, 3018, 3018, 3018, 3019, 3019, 3019, 3147, 3019, 3019, 3019, 3019, 3019, 3019, 3019, 3019, 3019, 3019, 3019, 3019, 3092, 3019, 3092, 3019, 3019, 3091, 3093, 3093, 3093, 3093, 3148, 3019, 3019, 3019, 3019, 3019, 3019, 3094, 3094, 3094, 3094, 3149, 3096, 3096, 3096, 3096, 3097, 3097, 3097, 3097, 3151, 3093, 3152, 3093, 3095, 3095, 3095, 3095, 3154, 3019, 3019, 3019, 3094, 3128, 3094, 3130, 3128, 3096, 3130, 3096, 3155, 3097, 3099, 3099, 3099, 3099, 3156, 3138, 3157, 3095, 3138, 3095, 3141, 3158, 3093, 3141, 3159, 3019, 3019, 3019, 3049, 3098, 3098, 3098, 3098, 3049, 3160, 3099, 3049, 3099, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3094, 3162, 3163, 3164, 3095, 3096, 3098, 3169, 3098, 3100, 3100, 3100, 3100, 3101, 3101, 3101, 3101, 3102, 3102, 3102, 3102, 3103, 3103, 3103, 3103, 3172, 3179, 3183, 3049, 3104, 3104, 3104, 3104, 3169, 3100, 3185, 3100, 3178, 3101, 3188, 3101, 3190, 3102, 3049, 3102, 3193, 3103, 3098, 3103, 3105, 3105, 3105, 3105, 3195, 3104, 3197, 3104, 3049, 3150, 3150, 3150, 3150, 3178, 3167, 3170, 3166, 3167, 3170, 3173, 3174, 3166, 3173, 3174, 3201, 3105, 3182, 3105, 3102, 3166, 3166, 3166, 3166, 3166, 3166, 3166, 3176, 3203, 3180, 3176, 3104, 3180, 3181, 3167, 3170, 3181, 3209, 3184, 3173, 3174, 3184, 3182, 3186, 3211, 3187, 3186, 3189, 3187, 3191, 3189, 3192, 3191, 3203, 3192, 3212, 3176, 3194, 3180, 3213, 3194, 3196, 3181, 3198, 3196, 3199, 3198, 3184, 3199, 3214, 3215, 3217, 3186, 3166, 3187, 3218, 3189, 3219, 3191, 3202, 3192, 3224, 3202, 3228, 3166, 3204, 3194, 3229, 3204, 3230, 3196, 3231, 3198, 3206, 3199, 3207, 3206, 3235, 3207, 3210, 3210, 3210, 3210, 3216, 3233, 3234, 3216, 3246, 3202, 3220, 3220, 3220, 3220, 3239, 3204, 3221, 3221, 3221, 3221, 3234, 3241, 3242, 3206, 3243, 3207, 3222, 3222, 3222, 3222, 3223, 3223, 3223, 3223, 3225, 3225, 3225, 3225, 3226, 3226, 3226, 3226, 3227, 3227, 3227, 3227, 3244, 3248, 3233, 3236, 3236, 3236, 3236, 3250, 3249, 3235, 3240, 3240, 3240, 3240, 3246, 3239, 3241, 3252, 3264, 3242, 3236, 3247, 3247, 3247, 3247, 3251, 3243, 3240, 3245, 3245, 3245, 3245, 3245, 3245, 3253, 3266, 3261, 3267, 3247, 3258, 3255, 3255, 3255, 3255, 3259, 3268, 3250, 3244, 3270, 3263, 3248, 3249, 3262, 3222, 3232, 3271, 3252, 3255, 3272, 3232, 3273, 3276, 3232, 3264, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3275, 3281, 3251, 3256, 3256, 3256, 3256, 3284, 3247, 3261, 3253, 3286, 3257, 3257, 3257, 3257, 3258, 3288, 3291, 3262, 3256, 3259, 3260, 3260, 3260, 3260, 3263, 3296, 3232, 3257, 3232, 3278, 3269, 3298, 3278, 3269, 3314, 3318, 3319, 3260, 3274, 3274, 3274, 3274, 3317, 3322, 3277, 3317, 3278, 3277, 3278, 3278, 3278, 3278, 3278, 3278, 3275, 3232, 3237, 3237, 3237, 3269, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3237, 3277, 3237, 3256, 3237, 3237, 3279, 3320, 3321, 3279, 3320, 3321, 3237, 3237, 3237, 3237, 3237, 3237, 3282, 3282, 3282, 3282, 3323, 3279, 3324, 3279, 3279, 3279, 3279, 3279, 3279, 3280, 3326, 3327, 3280, 3283, 3283, 3283, 3283, 3330, 3237, 3237, 3237, 3285, 3285, 3285, 3285, 3331, 3280, 3332, 3280, 3280, 3280, 3280, 3280, 3280, 3290, 3290, 3290, 3290, 3333, 3334, 3287, 3287, 3287, 3287, 3337, 3340, 3237, 3237, 3237, 3238, 3238, 3238, 3342, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3287, 3238, 3325, 3238, 3238, 3325, 3289, 3289, 3289, 3289, 3345, 3238, 3238, 3238, 3238, 3238, 3238, 3292, 3292, 3292, 3292, 3293, 3293, 3293, 3293, 3294, 3294, 3294, 3294, 3346, 3348, 3289, 3295, 3295, 3295, 3295, 3349, 3353, 3355, 3238, 3238, 3238, 3292, 3297, 3297, 3297, 3297, 3358, 3287, 3299, 3299, 3299, 3299, 3305, 3305, 3305, 3305, 3313, 3313, 3313, 3313, 3328, 3329, 3336, 3328, 3329, 3336, 3238, 3238, 3238, 3265, 3360, 3362, 3372, 3299, 3265, 3299, 3375, 3265, 3289, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3300, 3300, 3300, 3300, 3301, 3301, 3301, 3301, 3302, 3302, 3302, 3302, 3303, 3303, 3303, 3303, 3379, 3381, 3383, 3299, 3304, 3304, 3304, 3304, 3386, 3300, 3387, 3300, 3265, 3301, 3389, 3301, 3339, 3302, 3364, 3339, 3390, 3303, 3393, 3303, 3306, 3306, 3306, 3306, 3394, 3304, 3265, 3304, 3307, 3307, 3307, 3307, 3395, 3344, 3416, 3338, 3344, 3265, 3338, 3364, 3300, 3308, 3308, 3308, 3308, 3306, 3338, 3306, 3309, 3309, 3309, 3309, 3424, 3307, 3399, 3307, 3374, 3301, 3303, 3304, 3310, 3310, 3310, 3310, 3425, 3407, 3308, 3311, 3311, 3311, 3311, 3356, 3404, 3309, 3356, 3309, 3312, 3312, 3312, 3312, 3429, 3374, 3431, 3357, 3437, 3310, 3357, 3310, 3438, 3306, 3359, 3354, 3311, 3359, 3311, 3361, 3354, 3441, 3361, 3363, 3356, 3312, 3363, 3312, 3354, 3354, 3354, 3354, 3354, 3354, 3354, 3365, 3357, 3367, 3365, 3399, 3367, 3407, 3310, 3359, 3310, 3404, 3368, 3370, 3361, 3368, 3370, 3373, 3363, 3376, 3373, 3377, 3376, 3310, 3377, 3310, 3380, 3408, 3410, 3380, 3365, 3354, 3367, 3382, 3382, 3382, 3382, 3388, 3388, 3388, 3388, 3368, 3370, 3411, 3442, 3430, 3373, 3419, 3376, 3401, 3377, 3391, 3391, 3391, 3391, 3380, 3402, 3413, 3354, 3392, 3392, 3392, 3392, 3396, 3396, 3396, 3396, 3397, 3397, 3397, 3397, 3398, 3414, 3415, 3418, 3410, 3398, 3417, 3408, 3398, 3420, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3417, 3401, 3412, 3412, 3412, 3412, 3419, 3443, 3402, 3430, 3421, 3421, 3421, 3421, 3411, 3413, 3449, 3458, 3459, 3412, 3422, 3422, 3422, 3422, 3415, 3449, 3418, 3421, 3398, 3460, 3414, 3434, 3432, 3464, 3434, 3432, 3464, 3422, 3420, 3440, 3440, 3440, 3440, 3445, 3445, 3445, 3445, 3465, 3398, 3432, 3468, 3432, 3432, 3432, 3432, 3432, 3432, 3398, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3433, 3466, 3467, 3433, 3466, 3467, 3405, 3405, 3405, 3405, 3405, 3405, 3471, 3439, 3439, 3439, 3439, 3433, 3475, 3433, 3433, 3433, 3433, 3433, 3433, 3444, 3444, 3444, 3444, 3446, 3446, 3446, 3446, 3477, 3405, 3405, 3405, 3483, 3439, 3447, 3447, 3447, 3447, 3448, 3448, 3448, 3448, 3485, 3486, 3488, 3444, 3452, 3452, 3452, 3452, 3456, 3456, 3456, 3456, 3489, 3490, 3495, 3405, 3405, 3405, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3406, 3439, 3446, 3470, 3446, 3499, 3470, 3406, 3406, 3406, 3406, 3406, 3406, 3450, 3450, 3450, 3450, 3446, 3501, 3446, 3451, 3451, 3451, 3451, 3457, 3457, 3457, 3457, 3461, 3461, 3461, 3461, 3504, 3507, 3510, 3406, 3406, 3406, 3450, 3514, 3450, 3462, 3462, 3462, 3462, 3451, 3517, 3451, 3522, 3457, 3526, 3457, 3528, 3461, 3541, 3461, 3463, 3463, 3463, 3463, 3548, 3549, 3550, 3406, 3406, 3406, 3423, 3423, 3423, 3555, 3543, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3543, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3423, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3453, 3453, 3453, 3453, 3524, 3536, 3426, 3426, 3426, 3426, 3426, 3426, 3454, 3454, 3454, 3454, 3455, 3455, 3455, 3455, 3472, 3473, 3561, 3472, 3473, 3453, 3476, 3453, 3478, 3476, 3482, 3478, 3494, 3482, 3426, 3426, 3426, 3454, 3530, 3454, 3523, 3455, 3480, 3455, 3481, 3480, 3484, 3481, 3536, 3484, 3563, 3492, 3496, 3480, 3492, 3496, 3481, 3494, 3497, 3524, 3491, 3497, 3426, 3426, 3426, 3491, 3566, 3500, 3502, 3453, 3500, 3502, 3525, 3491, 3491, 3491, 3491, 3491, 3491, 3491, 3492, 3496, 3523, 3503, 3531, 3454, 3503, 3497, 3505, 3530, 3455, 3505, 3506, 3506, 3506, 3506, 3500, 3502, 3512, 3512, 3512, 3512, 3513, 3513, 3513, 3513, 3515, 3515, 3515, 3515, 3532, 3535, 3503, 3518, 3518, 3518, 3518, 3505, 3519, 3519, 3519, 3519, 3521, 3521, 3521, 3521, 3527, 3527, 3491, 3540, 3525, 3531, 3529, 3529, 3527, 3554, 3575, 3491, 3520, 3521, 3529, 3556, 3577, 3520, 3556, 3577, 3520, 3588, 3520, 3520, 3520, 3520, 3520, 3520, 3520, 3520, 3520, 3520, 3579, 3532, 3589, 3579, 3590, 3527, 3534, 3534, 3534, 3534, 3580, 3529, 3593, 3580, 3596, 3535, 3538, 3538, 3538, 3538, 3601, 3607, 3610, 3534, 3553, 3553, 3553, 3553, 3520, 3540, 3616, 3620, 3621, 3538, 3559, 3559, 3559, 3559, 3560, 3560, 3560, 3560, 3611, 3520, 3564, 3564, 3564, 3564, 3624, 3627, 3554, 3565, 3565, 3565, 3565, 3630, 3614, 3520, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3567, 3567, 3567, 3567, 3611, 3631, 3533, 3533, 3533, 3533, 3533, 3533, 3612, 3562, 3562, 3562, 3562, 3568, 3568, 3568, 3568, 3571, 3571, 3571, 3571, 3567, 3626, 3567, 3614, 3569, 3569, 3569, 3569, 3634, 3533, 3533, 3533, 3581, 3562, 3626, 3581, 3638, 3568, 3633, 3568, 3641, 3571, 3576, 3576, 3576, 3576, 3612, 3582, 3565, 3569, 3582, 3569, 3585, 3594, 3619, 3585, 3594, 3533, 3533, 3533, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3562, 3594, 3572, 3572, 3572, 3572, 3539, 3539, 3539, 3539, 3539, 3539, 3586, 3595, 3613, 3586, 3595, 3569, 3597, 3598, 3633, 3597, 3598, 3642, 3586, 3628, 3615, 3572, 3619, 3572, 3605, 3605, 3605, 3605, 3539, 3539, 3539, 3645, 3628, 3657, 3651, 3652, 3595, 3651, 3652, 3617, 3617, 3597, 3598, 3632, 3632, 3632, 3632, 3617, 3658, 3662, 3613, 3636, 3636, 3636, 3636, 3664, 3539, 3539, 3539, 3542, 3542, 3542, 3572, 3615, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3617, 3542, 3666, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3544, 3544, 3544, 3623, 3669, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3622, 3622, 3668, 3544, 3637, 3637, 3637, 3637, 3622, 3672, 3670, 3673, 3544, 3544, 3544, 3544, 3544, 3640, 3640, 3640, 3640, 3647, 3647, 3647, 3647, 3649, 3649, 3649, 3649, 3623, 3655, 3656, 3660, 3655, 3656, 3660, 3677, 3622, 3679, 3544, 3682, 3544, 3685, 3669, 3663, 3671, 3687, 3663, 3689, 3690, 3649, 3668, 3649, 3670, 3682, 3692, 3693, 3694, 3672, 3700, 3703, 3660, 3700, 3704, 3708, 3709, 3718, 3544, 3544, 3544, 3545, 3545, 3545, 3663, 3722, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3671, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3546, 3546, 3546, 3678, 3710, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3691, 3674, 3674, 3546, 3570, 3570, 3570, 3570, 3726, 3674, 3714, 3546, 3546, 3546, 3546, 3546, 3546, 3573, 3573, 3573, 3573, 3643, 3643, 3643, 3643, 3741, 3688, 3710, 3739, 3570, 3678, 3570, 3592, 3639, 3639, 3639, 3639, 3592, 3674, 3546, 3713, 3546, 3573, 3737, 3573, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3740, 3675, 3675, 3675, 3675, 3714, 3639, 3646, 3646, 3646, 3646, 3745, 3711, 3750, 3691, 3546, 3546, 3546, 3675, 3648, 3648, 3648, 3648, 3757, 3742, 3570, 3695, 3695, 3695, 3695, 3720, 3713, 3646, 3688, 3646, 3738, 3756, 3739, 3573, 3699, 3699, 3699, 3699, 3592, 3648, 3767, 3648, 3737, 3753, 3705, 3643, 3695, 3705, 3711, 3639, 3754, 3740, 3592, 3608, 3696, 3696, 3696, 3696, 3608, 3699, 3775, 3608, 3777, 3608, 3608, 3608, 3608, 3608, 3608, 3608, 3608, 3608, 3608, 3705, 3720, 3646, 3738, 3778, 3781, 3696, 3742, 3696, 3772, 3648, 3698, 3698, 3698, 3698, 3756, 3659, 3697, 3697, 3697, 3697, 3659, 3706, 3706, 3706, 3706, 3753, 3780, 3608, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3698, 3784, 3698, 3754, 3776, 3786, 3697, 3763, 3697, 3777, 3608, 3707, 3707, 3707, 3707, 3728, 3728, 3728, 3728, 4105, 3772, 3608, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3618, 3779, 4106, 3758, 3659, 4441, 3780, 3618, 3618, 3618, 3618, 3618, 3618, 3697, 3763, 3659, 3712, 3712, 3712, 3712, 3776, 3716, 3716, 3716, 3716, 3725, 3725, 3725, 3725, 3727, 3727, 3727, 3727, 3712, 4464, 3618, 3618, 3618, 3716, 3732, 3732, 3732, 3732, 3869, 3730, 3730, 3730, 3730, 3758, 3939, 3725, 3869, 3872, 2149, 3727, 3939, 3869, 3872, 3729, 3729, 3729, 3729, 3779, 3618, 3618, 3618, 3625, 3625, 3625, 3730, 2148, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3729, 3625, 3729, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3629, 3629, 3629, 2147, 2146, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 2145, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3629, 3667, 3667, 3667, 2144, 2143, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 2142, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3701, 3735, 3735, 3735, 3735, 2141, 3768, 3701, 3701, 3701, 3701, 3701, 3701, 3748, 3748, 3748, 3748, 3749, 3749, 3749, 3749, 3751, 3751, 3751, 3751, 3752, 3752, 3752, 3752, 3755, 3755, 3755, 3755, 3876, 2140, 3701, 3701, 3701, 3748, 3764, 3764, 3764, 3764, 3881, 3876, 4260, 3755, 2139, 3881, 3898, 3752, 4260, 3752, 2138, 3898, 2137, 3764, 3902, 3760, 3760, 3760, 3760, 3902, 3701, 3701, 3701, 3717, 3717, 3717, 3768, 2136, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3760, 3717, 2135, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3731, 3731, 3731, 3731, 2134, 2133, 3723, 3723, 3723, 3723, 3723, 3723, 3761, 3761, 3761, 3761, 3762, 3762, 3762, 3762, 4230, 3766, 3766, 3766, 3766, 3731, 2129, 3731, 3769, 3769, 3769, 3769, 4230, 2128, 3723, 3723, 3723, 3761, 3766, 3761, 2127, 3762, 3770, 3770, 3770, 3770, 3771, 3771, 3771, 3771, 3871, 3871, 3871, 3769, 3783, 3783, 3783, 3783, 2126, 3914, 3915, 3919, 3723, 3723, 3723, 3915, 3919, 3914, 2119, 2117, 3871, 3783, 3914, 3731, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3808, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3809, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3817, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3824, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3870, 3870, 3870, 2116, 3878, 3878, 3878, 3880, 3880, 3880, 3887, 3887, 3887, 2113, 2112, 3870, 3870, 3889, 3889, 3889, 3870, 3873, 3873, 3873, 3878, 2106, 2098, 3880, 2097, 2096, 3887, 3907, 3907, 3907, 3913, 3913, 3913, 3889, 3934, 3934, 3934, 3873, 3916, 4446, 3916, 3873, 3874, 3874, 3874, 3916, 3936, 3907, 2091, 2090, 3913, 3936, 3936, 3940, 3934, 3965, 3940, 3874, 3874, 4446, 3965, 3940, 3874, 3875, 3875, 2089, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3877, 3877, 3877, 2087, 3946, 3946, 3946, 3977, 3977, 3977, 2086, 3989, 3989, 3986, 3989, 3877, 3877, 3877, 3986, 3989, 3877, 3879, 3879, 3879, 3946, 3996, 4009, 3977, 4014, 4015, 3996, 4009, 4010, 4014, 4015, 2047, 3879, 3879, 3879, 4028, 4010, 3879, 3882, 3882, 4028, 4010, 2046, 3882, 3882, 2045, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 2044, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 2043, 2042, 3882, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 3884, 3884, 2041, 2039, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3885, 3885, 2038, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3886, 3886, 3886, 2037, 4013, 4013, 4013, 4022, 4022, 4022, 4026, 4026, 4026, 4037, 4041, 3886, 3886, 2034, 4037, 4041, 3886, 3888, 3888, 3888, 4013, 2033, 4051, 4022, 4056, 4063, 4026, 4051, 2032, 4056, 4063, 4071, 3888, 3888, 2031, 4073, 4071, 3888, 3890, 3890, 4073, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3891, 3891, 2029, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3892, 3892, 2028, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 2027, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3896, 2025, 4072, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 4072, 3896, 3896, 3896, 3896, 4072, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 2023, 3896, 3896, 3896, 3896, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3899, 3899, 2022, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3899, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3901, 3901, 2021, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3901, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3903, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3905, 4036, 4036, 4036, 1966, 1962, 4040, 4040, 4040, 3905, 4062, 4062, 4062, 1960, 1956, 3905, 4070, 4070, 4070, 3905, 3905, 4036, 3905, 3906, 3906, 3906, 4040, 4074, 4077, 4074, 4062, 1955, 4098, 4077, 4074, 4100, 4070, 4098, 3906, 3906, 4100, 4100, 1954, 3906, 3908, 3908, 1953, 3908, 1952, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3909, 1951, 3909, 3909, 3909, 3909, 3909, 1950, 1949, 1948, 3909, 1947, 3909, 3910, 3910, 1946, 3910, 1945, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3911, 4470, 3911, 3911, 3911, 3911, 3911, 4084, 1944, 1932, 3911, 1931, 3911, 3912, 3912, 3912, 4084, 4107, 4101, 4118, 4107, 4470, 4084, 4101, 4118, 4107, 4101, 4084, 3912, 3912, 1930, 4137, 1928, 3912, 3917, 3917, 4137, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3923, 3923, 1923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3924, 3924, 1922, 3924, 1921, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3925, 1920, 3925, 3925, 3925, 3925, 3925, 1919, 1918, 1917, 3925, 1916, 3925, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3928, 3928, 1914, 3928, 1913, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3929, 1911, 3929, 3929, 3929, 3929, 3929, 1910, 1909, 1908, 3929, 1907, 3929, 3930, 3930, 1901, 3930, 1900, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3931, 1899, 3931, 3931, 3931, 3931, 3931, 4097, 4097, 4097, 3931, 4152, 3931, 3932, 3932, 3932, 1893, 4117, 4117, 4117, 4151, 4151, 4151, 1885, 1882, 4161, 4152, 4097, 3932, 3932, 4161, 4152, 1881, 3932, 3933, 3933, 3933, 4117, 4164, 4164, 4151, 4164, 4171, 4181, 1880, 1879, 4164, 4171, 4181, 3933, 3933, 4184, 4184, 4184, 3933, 3935, 3935, 3935, 4185, 1878, 3935, 4202, 4206, 4185, 3935, 4214, 4202, 4206, 4218, 4226, 4214, 4184, 4243, 4218, 4226, 3935, 3937, 4243, 1877, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 1876, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 1875, 3937, 3937, 3937, 3937, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3941, 1870, 3941, 3941, 3941, 3941, 3941, 4186, 4186, 4186, 3941, 1868, 3941, 3942, 1867, 4447, 3942, 1866, 4248, 3942, 4447, 3942, 3942, 3942, 3942, 3942, 1861, 4186, 1860, 3942, 1859, 3942, 1857, 4248, 1856, 3942, 3943, 3943, 4248, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3944, 3944, 4471, 3944, 3944, 1855, 1854, 4471, 3944, 3945, 3945, 3945, 4192, 4192, 4192, 4227, 1853, 4472, 4250, 4250, 4227, 4250, 4472, 4227, 3945, 3945, 4250, 1852, 1851, 3945, 3947, 1850, 4192, 1849, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3949, 1848, 1847, 1846, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3951, 1845, 1842, 1841, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3953, 3953, 1839, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 1838, 3953, 3953, 1837, 3953, 3953, 3953, 3953, 1836, 3953, 3953, 3953, 3953, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3955, 1834, 1833, 3955, 3955, 1832, 3955, 1830, 3955, 3955, 3955, 3955, 3955, 4196, 4196, 4196, 3955, 1828, 1826, 4201, 4201, 4201, 3955, 3956, 3956, 1824, 1823, 4288, 4288, 3956, 4288, 3956, 3956, 4196, 1821, 4288, 3956, 3957, 3957, 4201, 3957, 1820, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3958, 1817, 3958, 3958, 3958, 3958, 3958, 1813, 1812, 1802, 3958, 1796, 3958, 3959, 3959, 1795, 3959, 1791, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3960, 1790, 3960, 3960, 3960, 3960, 3960, 4205, 4205, 4205, 3960, 1789, 3960, 3961, 1788, 3961, 3961, 3961, 3961, 1785, 1784, 1783, 1753, 3961, 3962, 1748, 1744, 4205, 1743, 1742, 3962, 1741, 3962, 3962, 3962, 3962, 3962, 1739, 1738, 3962, 3962, 1736, 1735, 1733, 1732, 1731, 3962, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 1725, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3966, 1724, 1722, 1721, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3968, 1720, 1719, 1717, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3970, 1712, 1708, 1706, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3972, 1704, 1696, 1686, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3976, 3976, 3976, 4344, 4344, 1683, 4344, 1682, 1681, 1678, 1676, 4344, 1675, 1672, 1667, 3976, 3976, 1663, 1662, 1661, 3976, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 1660, 3978, 3978, 3978, 3978, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3979, 3980, 3980, 1657, 3980, 1653, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3981, 1641, 3981, 3981, 3981, 3981, 3981, 1640, 1638, 1637, 3981, 1636, 3981, 3982, 3982, 1635, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3982, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3990, 3990, 1634, 3990, 1631, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3991, 4213, 4213, 4213, 1625, 1614, 3991, 1613, 3991, 3991, 3991, 3991, 3991, 1612, 1577, 3991, 3991, 4217, 4217, 4217, 1574, 4213, 3991, 3992, 4225, 4225, 4225, 4420, 1572, 3992, 1569, 3992, 3992, 3992, 3992, 3992, 1568, 4217, 3992, 3992, 4420, 3992, 4420, 1564, 4225, 3992, 3993, 4420, 3993, 3993, 3993, 3993, 3993, 1563, 1542, 1541, 3993, 1533, 3993, 3994, 3994, 1530, 3994, 1529, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3995, 1528, 3995, 3995, 3995, 3995, 3995, 1511, 1500, 1499, 3995, 1498, 3995, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 1497, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 4000, 4000, 1496, 4000, 1495, 4000, 4000, 1493, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 1492, 4000, 4000, 4000, 4000, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4002, 4002, 1489, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4003, 4003, 1466, 4003, 1464, 4003, 4003, 1461, 1451, 1450, 4003, 4003, 4003, 4003, 4003, 1449, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4005, 4005, 1448, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4006, 1446, 1442, 1441, 1435, 4006, 4006, 1434, 1433, 1417, 4006, 4006, 4006, 4006, 4006, 1414, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 1409, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4011, 4011, 4011, 4242, 4242, 4242, 1406, 1405, 1404, 1403, 4247, 4247, 4247, 4251, 4251, 4251, 4011, 4462, 1402, 4445, 4011, 4484, 1399, 4242, 1396, 1393, 4011, 4012, 4012, 4012, 4247, 4462, 4445, 4251, 4445, 4484, 4462, 4487, 1385, 4445, 4484, 1379, 4012, 4012, 1377, 1374, 1373, 4012, 4016, 4016, 4016, 4487, 1369, 1368, 1367, 1366, 4487, 1363, 1356, 1355, 1353, 1348, 1347, 1345, 1344, 1342, 1341, 1340, 4016, 1339, 1329, 1324, 4016, 4017, 4017, 4017, 1321, 1319, 1318, 1317, 1314, 1313, 1306, 1304, 1299, 1294, 1286, 1283, 4017, 4017, 1281, 1280, 1279, 4017, 4018, 4018, 1276, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4019, 4019, 4019, 1272, 1270, 1269, 1268, 1267, 1266, 1265, 1248, 1245, 1244, 1240, 1236, 4019, 4019, 1233, 1231, 1230, 4019, 4020, 4020, 4020, 1228, 1226, 1222, 1221, 1219, 1218, 1217, 1216, 1214, 1211, 1209, 1200, 1198, 4020, 1197, 1193, 1190, 4020, 1186, 1183, 1182, 1178, 1173, 4020, 4021, 4021, 4021, 1172, 1171, 1170, 1167, 1163, 1157, 1155, 1154, 1148, 1137, 1132, 1126, 4021, 4021, 4021, 1124, 1120, 4021, 4023, 4023, 4023, 1118, 1109, 1108, 1107, 1106, 1103, 1102, 1101, 1100, 1085, 1066, 1057, 4023, 1055, 4023, 1054, 1053, 4023, 4024, 4024, 4024, 1050, 1049, 1048, 1046, 1045, 1036, 1035, 1034, 1031, 1015, 1007, 1002, 1000, 4024, 998, 996, 993, 4024, 990, 988, 980, 966, 962, 4024, 4025, 4025, 4025, 945, 942, 941, 938, 936, 935, 920, 917, 903, 899, 896, 893, 4025, 4025, 4025, 879, 842, 4025, 4027, 4027, 4027, 838, 836, 833, 832, 831, 814, 813, 811, 810, 808, 804, 799, 4027, 798, 4027, 790, 788, 4027, 4029, 4029, 787, 780, 777, 4029, 4029, 776, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 766, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 751, 746, 4029, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4031, 4031, 738, 733, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4032, 4032, 720, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4033, 4033, 717, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4034, 4034, 4034, 712, 708, 699, 695, 691, 688, 685, 678, 675, 672, 669, 661, 658, 4034, 655, 652, 648, 4034, 636, 632, 629, 625, 622, 4034, 4035, 4035, 4035, 621, 620, 614, 609, 607, 603, 587, 586, 571, 561, 557, 545, 4035, 4035, 541, 531, 527, 4035, 4038, 4038, 4038, 519, 507, 502, 501, 500, 498, 487, 484, 482, 474, 473, 469, 467, 4038, 463, 459, 448, 4038, 447, 443, 439, 433, 429, 4038, 4039, 4039, 4039, 424, 423, 413, 411, 406, 404, 403, 402, 401, 390, 381, 364, 4039, 4039, 343, 340, 330, 4039, 4042, 4042, 328, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4043, 4043, 322, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4044, 4044, 317, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 302, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4048, 4049, 298, 292, 4049, 4049, 4049, 4049, 4049, 4049, 4049, 287, 4049, 4049, 4049, 4049, 285, 4049, 4049, 4049, 4049, 4049, 4049, 4049, 281, 4049, 4049, 4049, 4049, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4052, 4052, 279, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4052, 4053, 4053, 0, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4055, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 0, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 0, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4059, 0, 0, 0, 0, 0, 0, 0, 0, 4059, 0, 0, 0, 0, 0, 4059, 0, 0, 0, 4059, 4059, 0, 4059, 4060, 4060, 4060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4060, 0, 0, 0, 4060, 0, 0, 0, 0, 0, 4060, 4061, 4061, 4061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4061, 4061, 0, 0, 0, 4061, 4064, 4064, 0, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4065, 0, 4065, 4065, 4065, 4065, 4065, 0, 0, 0, 4065, 0, 4065, 4066, 4066, 0, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4067, 0, 4067, 4067, 4067, 4067, 4067, 0, 0, 0, 4067, 0, 4067, 4068, 4068, 4068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4068, 0, 0, 0, 4068, 0, 0, 0, 0, 0, 4068, 4069, 4069, 4069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4069, 4069, 0, 0, 0, 4069, 4075, 4075, 0, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 0, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4082, 4082, 0, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 0, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 0, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 4085, 4085, 0, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4086, 0, 4086, 4086, 4086, 4086, 4086, 0, 0, 0, 4086, 0, 4086, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4087, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4089, 4089, 0, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4090, 0, 4090, 4090, 4090, 4090, 4090, 0, 0, 0, 4090, 0, 4090, 4091, 4091, 0, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4092, 0, 4092, 4092, 4092, 4092, 4092, 0, 0, 0, 4092, 0, 4092, 4093, 4093, 4093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4093, 4093, 0, 0, 0, 4093, 4094, 4094, 4094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4094, 4094, 0, 0, 0, 4094, 4095, 4095, 4095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4095, 0, 0, 0, 4095, 0, 0, 0, 0, 0, 4095, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 0, 0, 0, 4096, 4099, 4099, 4099, 0, 0, 4099, 0, 0, 0, 4099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4099, 4102, 0, 0, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 0, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 0, 4102, 4102, 4102, 4102, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4104, 0, 0, 4104, 0, 0, 0, 0, 0, 0, 0, 4104, 4104, 0, 0, 0, 4104, 0, 0, 0, 0, 0, 4104, 4108, 0, 4108, 4108, 4108, 4108, 4108, 0, 0, 0, 4108, 0, 4108, 4109, 0, 4109, 4109, 4109, 4109, 4109, 0, 0, 0, 4109, 0, 4109, 4110, 0, 4110, 4110, 4110, 4110, 4110, 0, 0, 0, 4110, 0, 4110, 0, 0, 0, 4110, 4111, 0, 0, 0, 0, 4111, 0, 0, 4111, 4111, 0, 4111, 0, 0, 0, 0, 4111, 4111, 4111, 0, 4111, 4112, 0, 0, 4112, 0, 0, 4112, 0, 4112, 4112, 4112, 4112, 4112, 0, 0, 0, 4112, 0, 4112, 0, 0, 0, 4112, 4113, 4113, 0, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4113, 4114, 4114, 0, 4114, 4114, 0, 0, 0, 4114, 4115, 4115, 4115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4115, 0, 0, 0, 4115, 0, 0, 0, 0, 0, 4115, 4116, 4116, 4116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4116, 4116, 0, 0, 0, 4116, 4119, 0, 0, 0, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4121, 0, 0, 0, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4123, 0, 0, 0, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4125, 4125, 0, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 0, 4125, 4125, 0, 4125, 4125, 4125, 4125, 0, 4125, 4125, 4125, 4125, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4126, 4127, 0, 0, 4127, 4127, 0, 4127, 0, 4127, 4127, 4127, 4127, 4127, 0, 0, 0, 4127, 0, 0, 0, 0, 0, 4127, 4128, 4128, 0, 0, 0, 0, 4128, 0, 4128, 4128, 0, 0, 0, 4128, 4129, 4129, 0, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4130, 0, 4130, 4130, 4130, 4130, 4130, 0, 0, 0, 4130, 0, 4130, 4131, 4131, 0, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4131, 4132, 0, 4132, 4132, 4132, 4132, 4132, 0, 0, 0, 4132, 0, 4132, 4133, 0, 4133, 4133, 4133, 4133, 0, 0, 0, 0, 4133, 4134, 0, 0, 0, 0, 0, 4134, 0, 4134, 4134, 4134, 4134, 4134, 0, 0, 4134, 4134, 0, 0, 0, 0, 0, 4134, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 0, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4138, 0, 0, 0, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4139, 4140, 0, 0, 0, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4140, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4141, 4142, 0, 0, 0, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4142, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4144, 0, 0, 0, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4147, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4148, 4149, 4149, 4149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4149, 0, 0, 0, 4149, 0, 0, 0, 0, 0, 4149, 4150, 4150, 4150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4150, 4150, 0, 0, 0, 4150, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 0, 4153, 4153, 4153, 4153, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4155, 4155, 0, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4156, 0, 4156, 4156, 4156, 4156, 4156, 0, 0, 0, 4156, 0, 4156, 4157, 4157, 0, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4158, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4159, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4160, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4165, 4165, 0, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4165, 4166, 0, 0, 0, 0, 0, 4166, 0, 4166, 4166, 4166, 4166, 4166, 0, 0, 4166, 4166, 0, 0, 0, 0, 0, 4166, 4167, 0, 0, 0, 0, 0, 4167, 0, 4167, 4167, 4167, 4167, 4167, 0, 0, 4167, 4167, 0, 4167, 0, 0, 0, 4167, 4168, 0, 4168, 4168, 4168, 4168, 4168, 0, 0, 0, 4168, 0, 4168, 4169, 4169, 0, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4170, 0, 4170, 4170, 4170, 4170, 4170, 0, 0, 0, 4170, 0, 4170, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 0, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4174, 4174, 0, 4174, 0, 4174, 4174, 0, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 0, 4174, 4174, 4174, 4174, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4176, 4176, 0, 4176, 0, 4176, 4176, 0, 0, 0, 4176, 4176, 4176, 4176, 4176, 0, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4177, 4178, 4178, 0, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4178, 4179, 0, 0, 0, 0, 4179, 4179, 0, 0, 0, 4179, 4179, 4179, 4179, 4179, 0, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4182, 4182, 4182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4182, 0, 0, 0, 4182, 0, 0, 0, 0, 0, 4182, 4183, 4183, 4183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4183, 4183, 0, 0, 0, 4183, 4187, 4187, 4187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4187, 4187, 0, 0, 0, 4187, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 0, 4188, 4188, 4188, 4188, 0, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 0, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4190, 4190, 4190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4190, 0, 0, 0, 4190, 0, 0, 0, 0, 0, 4190, 4191, 4191, 4191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4191, 4191, 4191, 0, 0, 4191, 4193, 4193, 4193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4193, 0, 4193, 0, 0, 4193, 4194, 4194, 4194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4194, 0, 0, 0, 4194, 0, 0, 0, 0, 0, 4194, 4195, 4195, 4195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4195, 4195, 4195, 0, 0, 4195, 4197, 4197, 4197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4197, 0, 4197, 0, 0, 4197, 4198, 4198, 0, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4199, 4199, 4199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4199, 0, 0, 0, 4199, 0, 0, 0, 0, 0, 4199, 4200, 4200, 4200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4200, 4200, 0, 0, 0, 4200, 4203, 4203, 4203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4203, 0, 0, 0, 4203, 0, 0, 0, 0, 0, 4203, 4204, 4204, 4204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4204, 4204, 0, 0, 0, 4204, 4207, 4207, 0, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4207, 4208, 0, 0, 4208, 4208, 4208, 4208, 4208, 4208, 4208, 0, 4208, 4208, 4208, 4208, 0, 4208, 4208, 4208, 4208, 4208, 4208, 4208, 0, 4208, 4208, 4208, 4208, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4210, 4210, 0, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4211, 4211, 4211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4211, 0, 0, 0, 4211, 0, 0, 0, 0, 0, 4211, 4212, 4212, 4212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4212, 4212, 0, 0, 0, 4212, 4215, 4215, 4215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4215, 0, 0, 0, 4215, 0, 0, 0, 0, 0, 4215, 4216, 4216, 4216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4216, 4216, 0, 0, 0, 4216, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 0, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4219, 4220, 4220, 0, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 0, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4221, 4221, 4221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4221, 0, 0, 0, 4221, 4222, 4222, 4222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4222, 4222, 0, 0, 0, 4222, 4223, 4223, 4223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4223, 0, 0, 0, 4223, 0, 0, 0, 0, 0, 4223, 4224, 4224, 4224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4224, 4224, 0, 0, 0, 4224, 4228, 0, 0, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 0, 4228, 4228, 4228, 4228, 4228, 4228, 4228, 0, 4228, 4228, 4228, 4228, 4229, 0, 0, 4229, 0, 0, 0, 0, 0, 0, 0, 4229, 4229, 0, 0, 0, 4229, 0, 0, 0, 0, 0, 4229, 4231, 0, 4231, 4231, 4231, 4231, 4231, 0, 0, 0, 4231, 0, 4231, 4232, 0, 0, 4232, 0, 0, 4232, 0, 4232, 4232, 4232, 4232, 4232, 0, 0, 0, 4232, 0, 4232, 0, 0, 0, 4232, 4233, 4233, 0, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4233, 4234, 4234, 0, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4234, 4235, 4235, 0, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4235, 4236, 0, 0, 0, 0, 4236, 0, 0, 4236, 4236, 0, 4236, 0, 0, 0, 0, 4236, 4236, 4236, 0, 4236, 4237, 0, 4237, 4237, 4237, 4237, 4237, 0, 0, 0, 4237, 0, 4237, 0, 0, 0, 4237, 4238, 0, 4238, 4238, 4238, 4238, 4238, 0, 0, 0, 4238, 0, 4238, 4239, 0, 0, 4239, 0, 0, 4239, 0, 4239, 4239, 4239, 4239, 4239, 0, 0, 0, 4239, 0, 4239, 0, 0, 0, 4239, 4240, 4240, 4240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4240, 0, 0, 0, 4240, 0, 0, 0, 0, 0, 4240, 4241, 4241, 4241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4241, 4241, 0, 0, 0, 4241, 4244, 4244, 0, 4244, 4244, 4244, 4244, 4244, 4244, 4244, 4244, 4244, 4244, 4244, 4244, 0, 4244, 4244, 0, 4244, 4244, 4244, 4244, 0, 4244, 4244, 4244, 4244, 4245, 4245, 4245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4245, 0, 0, 0, 4245, 0, 0, 0, 0, 0, 4245, 4246, 4246, 4246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4246, 4246, 0, 0, 0, 4246, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 0, 4249, 4249, 4249, 4249, 4252, 4252, 4252, 0, 0, 0, 0, 0, 0, 4252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4252, 4253, 4253, 4253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4253, 4253, 4253, 0, 0, 4253, 4254, 4254, 0, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4254, 4255, 0, 0, 4255, 4255, 4255, 4255, 4255, 4255, 4255, 0, 4255, 4255, 4255, 4255, 0, 4255, 4255, 4255, 4255, 4255, 4255, 4255, 0, 4255, 4255, 4255, 4255, 4256, 4256, 0, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4256, 4257, 4257, 4257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4257, 0, 0, 0, 4257, 4258, 4258, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 4258, 0, 0, 0, 4258, 4259, 0, 0, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 0, 4259, 4259, 4259, 4259, 4259, 4259, 4259, 0, 4259, 4259, 4259, 4259, 4261, 0, 0, 4261, 0, 0, 4261, 0, 4261, 4261, 4261, 4261, 4261, 0, 0, 0, 4261, 0, 4261, 0, 0, 0, 4261, 4262, 4262, 0, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4262, 4263, 4263, 0, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4263, 4264, 4264, 0, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4265, 4265, 0, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4266, 4266, 0, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4266, 4267, 4267, 0, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4267, 4268, 4268, 0, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4268, 4269, 4269, 0, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4269, 4270, 4270, 0, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4270, 4271, 4271, 0, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4271, 4272, 4272, 0, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4273, 4273, 0, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4273, 4274, 4274, 0, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4274, 4275, 4275, 0, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4276, 4276, 0, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4277, 4277, 0, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4277, 4278, 4278, 0, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4278, 4279, 4279, 0, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4279, 4280, 4280, 0, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4280, 4281, 4281, 0, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4281, 4282, 4282, 0, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4282, 4283, 4283, 0, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4283, 4284, 0, 4284, 4284, 4284, 4284, 4284, 0, 0, 0, 4284, 0, 4284, 4285, 0, 0, 4285, 0, 0, 4285, 0, 4285, 4285, 4285, 4285, 4285, 0, 0, 0, 4285, 0, 4285, 0, 0, 0, 4285, 4286, 4286, 0, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 0, 4286, 4286, 0, 4286, 4286, 4286, 4286, 0, 4286, 4286, 4286, 4286, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 4287, 0, 4287, 4287, 4287, 4287, 4289, 4289, 4289, 0, 0, 0, 0, 0, 0, 4289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4289, 4290, 4290, 4290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4290, 4290, 4290, 0, 0, 4290, 4291, 4291, 0, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4291, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4292, 4293, 0, 0, 4293, 4293, 4293, 4293, 4293, 4293, 4293, 0, 4293, 4293, 4293, 4293, 0, 4293, 4293, 4293, 4293, 4293, 4293, 4293, 0, 4293, 4293, 4293, 4293, 4294, 4294, 0, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4294, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 0, 4295, 4295, 4295, 4295, 0, 4295, 4295, 4295, 4295, 4295, 4295, 4296, 4296, 0, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4296, 4297, 4297, 4297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4297, 4297, 0, 0, 0, 4297, 4298, 0, 0, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 0, 4298, 4298, 4298, 4298, 4298, 4298, 4298, 0, 4298, 4298, 4298, 4298, 4299, 0, 0, 4299, 0, 0, 0, 0, 0, 0, 0, 4299, 4299, 0, 0, 0, 4299, 0, 0, 0, 0, 0, 4299, 4300, 4300, 0, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4300, 4301, 4301, 0, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4301, 4302, 4302, 0, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4302, 4303, 4303, 0, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4303, 4304, 4304, 0, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4304, 4305, 4305, 0, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4305, 4306, 4306, 0, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4306, 4307, 4307, 0, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4307, 4308, 4308, 0, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4308, 4309, 4309, 0, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4310, 4310, 0, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4310, 4311, 4311, 0, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4311, 4312, 4312, 0, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4313, 4313, 0, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4313, 4314, 4314, 0, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4314, 4315, 4315, 0, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4316, 4316, 0, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4316, 4317, 4317, 0, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4317, 4318, 4318, 0, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4319, 4319, 0, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4319, 4320, 4320, 0, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4321, 4321, 0, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4321, 4322, 4322, 0, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4323, 4323, 0, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4324, 4324, 0, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4325, 4325, 0, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4325, 4326, 4326, 0, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4326, 4327, 4327, 0, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4327, 4328, 4328, 0, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4329, 4329, 0, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4329, 4330, 4330, 0, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4330, 4331, 4331, 0, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4332, 4332, 0, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4332, 4333, 4333, 0, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4333, 4334, 4334, 0, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4334, 4335, 4335, 0, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4335, 4336, 4336, 0, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4336, 4337, 4337, 0, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4337, 4338, 0, 0, 4338, 0, 0, 4338, 0, 4338, 4338, 4338, 4338, 4338, 0, 0, 0, 4338, 0, 4338, 0, 0, 0, 4338, 4339, 0, 4339, 4339, 4339, 4339, 4339, 0, 0, 0, 4339, 0, 4339, 4340, 4340, 0, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4340, 4341, 0, 0, 4341, 0, 0, 4341, 0, 4341, 4341, 4341, 4341, 4341, 0, 0, 0, 4341, 0, 4341, 0, 0, 0, 4341, 4342, 4342, 0, 4342, 4342, 4342, 4342, 4342, 4342, 4342, 4342, 4342, 4342, 4342, 4342, 0, 4342, 4342, 0, 4342, 4342, 4342, 4342, 0, 4342, 4342, 4342, 4342, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 4343, 0, 4343, 4343, 4343, 4343, 4345, 4345, 4345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4345, 4345, 4345, 0, 0, 4345, 4346, 4346, 0, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4346, 4347, 4347, 0, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4347, 4348, 0, 0, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 0, 4348, 4348, 4348, 4348, 0, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 0, 4348, 4348, 4348, 4348, 4349, 4349, 0, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 4350, 0, 4350, 4350, 4350, 4350, 0, 4350, 4350, 4350, 4350, 4350, 4350, 4351, 0, 0, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 0, 4351, 4351, 4351, 4351, 4351, 4351, 4351, 0, 4351, 4351, 4351, 4351, 4352, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 4352, 4352, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 4352, 4353, 4353, 0, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4353, 4354, 4354, 0, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4354, 4355, 4355, 0, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4355, 4356, 4356, 0, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4357, 4357, 0, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4357, 4358, 4358, 0, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4358, 4359, 4359, 0, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4359, 4360, 4360, 0, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4360, 4361, 4361, 0, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4361, 4362, 4362, 0, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4362, 4363, 4363, 0, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4363, 4364, 4364, 0, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4364, 4365, 4365, 0, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4365, 4366, 4366, 0, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4366, 4367, 4367, 0, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4367, 4368, 4368, 0, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4368, 4369, 4369, 0, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 4370, 4370, 0, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4370, 4371, 4371, 0, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4371, 4372, 4372, 0, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4373, 4373, 0, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4373, 4374, 4374, 0, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4375, 4375, 0, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4375, 4376, 4376, 0, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4376, 4377, 4377, 0, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4378, 4378, 0, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4379, 4379, 0, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4380, 4380, 0, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4380, 4381, 4381, 0, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4381, 4382, 0, 0, 4382, 0, 0, 4382, 0, 4382, 4382, 4382, 4382, 4382, 0, 0, 0, 4382, 0, 4382, 0, 0, 0, 4382, 4383, 0, 4383, 4383, 4383, 4383, 4383, 0, 0, 0, 4383, 0, 4383, 4384, 4384, 0, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4384, 4385, 4385, 0, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4386, 4386, 0, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4387, 0, 0, 4387, 0, 0, 4387, 0, 4387, 4387, 4387, 4387, 4387, 0, 0, 0, 4387, 0, 4387, 0, 0, 0, 4387, 4388, 4388, 0, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4388, 4389, 4389, 0, 4389, 4389, 4389, 4389, 4389, 4389, 4389, 4389, 4389, 4389, 4389, 4389, 0, 4389, 4389, 0, 4389, 4389, 4389, 4389, 0, 4389, 4389, 4389, 4389, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 4390, 0, 4390, 4390, 4390, 4390, 4391, 4391, 4391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4391, 4391, 4391, 0, 0, 4391, 4392, 4392, 0, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4392, 4393, 0, 0, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 0, 4393, 4393, 4393, 4393, 0, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 0, 4393, 4393, 4393, 4393, 4394, 0, 0, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 0, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 0, 4394, 4394, 4394, 4394, 4395, 0, 0, 4395, 0, 0, 0, 0, 0, 0, 0, 4395, 4395, 0, 0, 0, 4395, 0, 0, 0, 0, 0, 4395, 4396, 4396, 0, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4396, 4397, 4397, 0, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4397, 4398, 4398, 0, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4398, 4399, 4399, 0, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4399, 4400, 4400, 0, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4400, 4401, 4401, 0, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4401, 4402, 4402, 0, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4402, 4403, 4403, 0, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4403, 4404, 4404, 0, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4404, 4405, 4405, 0, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4405, 4406, 4406, 0, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4406, 4407, 4407, 0, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4407, 4408, 4408, 0, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4408, 4409, 4409, 0, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4410, 4410, 0, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4411, 4411, 0, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4412, 4412, 0, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4412, 4413, 0, 0, 4413, 0, 0, 4413, 0, 4413, 4413, 4413, 4413, 4413, 0, 0, 0, 4413, 0, 4413, 0, 0, 0, 4413, 4414, 0, 4414, 4414, 4414, 4414, 4414, 0, 0, 0, 4414, 0, 4414, 4415, 4415, 0, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4415, 4416, 0, 0, 4416, 0, 0, 4416, 0, 4416, 4416, 4416, 4416, 4416, 0, 0, 0, 4416, 0, 4416, 0, 0, 0, 4416, 4417, 4417, 0, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4418, 4418, 0, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 0, 4418, 4418, 0, 4418, 4418, 4418, 4418, 0, 4418, 4418, 4418, 4418, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 0, 4419, 4419, 4419, 4419, 4421, 4421, 4421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4421, 4421, 4421, 0, 0, 4421, 4422, 0, 0, 4422, 4422, 4422, 4422, 4422, 4422, 4422, 0, 4422, 4422, 4422, 4422, 0, 4422, 4422, 4422, 4422, 4422, 4422, 4422, 0, 4422, 4422, 4422, 4422, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4423, 4424, 0, 0, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 0, 4424, 4424, 4424, 4424, 4424, 4424, 4424, 0, 4424, 4424, 4424, 4424, 4425, 0, 0, 4425, 0, 0, 0, 0, 0, 0, 0, 4425, 4425, 0, 0, 0, 4425, 0, 0, 0, 0, 0, 4425, 4426, 4426, 0, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4426, 4427, 4427, 0, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4427, 4428, 4428, 0, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4428, 4429, 4429, 0, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4429, 4430, 4430, 0, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4431, 4431, 0, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4431, 4432, 4432, 0, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4433, 4433, 0, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4433, 4434, 4434, 0, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4434, 4435, 4435, 0, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4435, 4436, 4436, 0, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4436, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 0, 4437, 4437, 4437, 4437, 0, 4437, 4437, 4437, 4437, 4437, 4437, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 4438, 0, 4438, 4438, 4438, 4438, 0, 4438, 4438, 4438, 4438, 4438, 4438, 4439, 0, 0, 4439, 0, 0, 4439, 0, 4439, 4439, 4439, 4439, 4439, 0, 0, 0, 4439, 0, 4439, 0, 0, 0, 4439, 4440, 0, 4440, 4440, 4440, 4440, 4440, 0, 0, 0, 4440, 0, 4440, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4442, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 4443, 0, 4443, 4443, 4443, 4443, 0, 4443, 4443, 4443, 4443, 4443, 4443, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 4444, 0, 4444, 4444, 4444, 4444, 4448, 4448, 4448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4448, 4448, 4448, 0, 0, 4448, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 4449, 0, 4449, 4449, 4449, 4449, 0, 4449, 4449, 4449, 4449, 4449, 4449, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4450, 4451, 0, 0, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 0, 4451, 4451, 4451, 4451, 4451, 4451, 4451, 0, 4451, 4451, 4451, 4451, 4452, 0, 0, 4452, 0, 0, 0, 0, 0, 0, 0, 4452, 4452, 0, 0, 0, 4452, 0, 0, 0, 0, 0, 4452, 4453, 4453, 0, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4453, 4454, 4454, 0, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4454, 4455, 4455, 0, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4455, 4456, 4456, 0, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4456, 4457, 4457, 0, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4457, 4458, 4458, 0, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4458, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 4459, 0, 4459, 4459, 4459, 4459, 0, 4459, 4459, 4459, 4459, 4459, 4459, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 4460, 0, 4460, 4460, 4460, 4460, 0, 4460, 4460, 4460, 4460, 4460, 4460, 4461, 0, 0, 4461, 0, 0, 4461, 0, 4461, 4461, 4461, 4461, 4461, 0, 0, 0, 4461, 0, 4461, 0, 0, 0, 4461, 4463, 0, 4463, 4463, 4463, 4463, 4463, 0, 0, 0, 4463, 0, 4463, 4465, 4465, 0, 0, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 0, 4465, 0, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4466, 0, 0, 0, 0, 4466, 0, 0, 4466, 4466, 0, 4466, 0, 0, 0, 0, 4466, 4466, 4466, 0, 4466, 4467, 4467, 0, 0, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 0, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4468, 4468, 0, 4468, 4468, 4468, 4468, 4468, 4468, 4468, 4468, 4468, 4468, 4468, 4468, 0, 4468, 4468, 0, 4468, 4468, 4468, 4468, 0, 4468, 4468, 4468, 4468, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 4469, 0, 4469, 4469, 4469, 4469, 4473, 4473, 4473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4473, 4473, 4473, 0, 0, 4473, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 0, 4474, 4474, 4474, 4474, 0, 4474, 4474, 4474, 4474, 4474, 4474, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 0, 4475, 4475, 4475, 4475, 0, 4475, 4475, 4475, 4475, 4475, 4475, 4476, 4476, 0, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4476, 4477, 0, 0, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 0, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 0, 4477, 4477, 4477, 4477, 4478, 0, 0, 4478, 0, 0, 0, 0, 0, 0, 0, 4478, 4478, 0, 0, 0, 4478, 0, 0, 0, 0, 0, 4478, 4479, 4479, 0, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4479, 4480, 4480, 0, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4480, 4481, 4481, 0, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4481, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 0, 4482, 4482, 4482, 4482, 0, 4482, 4482, 4482, 4482, 4482, 4482, 4483, 0, 0, 4483, 0, 0, 4483, 0, 4483, 4483, 4483, 4483, 4483, 0, 0, 0, 4483, 0, 4483, 0, 0, 0, 4483, 4485, 0, 4485, 4485, 4485, 4485, 4485, 0, 0, 0, 4485, 0, 4485, 4486, 0, 4486, 4486, 4486, 4486, 4486, 0, 0, 0, 4486, 0, 4486, 4488, 0, 0, 0, 0, 4488, 0, 0, 4488, 4488, 0, 4488, 0, 0, 0, 0, 0, 4488, 4488, 0, 4488, 4489, 0, 0, 0, 0, 4489, 0, 0, 4489, 4489, 0, 4489, 0, 0, 0, 0, 4489, 4489, 4489, 0, 4489, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 0, 4490, 4490, 4490, 4490, 4491, 4491, 0, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4491, 4492, 4492, 0, 0, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 0, 4492, 0, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4492, 4493, 0, 0, 0, 0, 4493, 0, 0, 4493, 4493, 0, 4493, 0, 0, 0, 0, 0, 4493, 4493, 0, 4493, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 0, 4494, 4494, 4494, 4494, 0, 4494, 4494, 4494, 4494, 4494, 4494, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 0, 4495, 4495, 4495, 4495, 0, 4495, 4495, 4495, 4495, 4495, 4495, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 0, 4496, 4496, 4496, 4496, 0, 4496, 4496, 4496, 4496, 4496, 4496, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 4497, 0, 4497, 4497, 4497, 4497, 0, 4497, 4497, 4497, 4497, 4497, 4497, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; static char *yy_full_match; static int yy_lp; static int yy_looking_for_trail_begin = 0; static int yy_full_lp; static int *yy_full_state; #define YY_TRAILING_MASK 0x2000 #define YY_TRAILING_HEAD_MASK 0x4000 #define REJECT \ { \ *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \ yy_cp = yy_full_match; /* restore poss. backed-over text */ \ yy_lp = yy_full_lp; /* restore orig. accepting pos. */ \ yy_state_ptr = yy_full_state; /* restore orig. state */ \ yy_current_state = *yy_state_ptr; /* restore curr. state */ \ ++yy_lp; \ goto find_rule; \ } #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "scanner.l" #define INITIAL 0 /****************************************************************************** * * $Id$ * * Copyright (C) 1997-1999 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * All output generated with Doxygen is not covered by this license. * */ #line 18 "scanner.l" /* * includes */ #include #include #include #include #include #include "qtbc.h" #include #include #include #include "scanner.h" #include "entry.h" #include "doxygen.h" #include "message.h" #include "config.h" #include "util.h" #include "index.h" #include "defargs.h" #include "language.h" #include "outputlist.h" #ifndef WIN32 #include #endif #define YY_NEVER_INTERACTIVE 1 MemberGroupDict memberGroupDict(1009); // dictionary of the member groups heading /* ----------------------------------------------------------------- * * statics */ static bool insideArgumentList; static QCString className; static QCString memberName; static QCString refName; static OutputList * outDoc; static QCString code; static QCString linkRef; static QCString linkText; static QCString codeBlock; static const char * inputString; static int inputPosition; static int lastContext; static int lastCContext; static int lastDocContext; static int lastDocRelContext; static int lastCPPContext; static int lastSkipSharpContext; static int lastSkipRoundContext; static int lastBriefContext; static int lastVerbState; static int lastStringContext; static int lastCurlyContext; static int lastCodeState; static int lastAfterDocContext; static int lastGroupContext; static int lastMemberGroupContext; static int lastFormulaContext; static int lastAnchorContext; static int nextDefContext; static int overloadContext; static Protection protection; static Protection baseProt; static int bracketCount = 0 ; static int sharpCount = 0 ; static int roundCount = 0 ; static int ifCount = 0 ; static Entry* current_root = 0 ; static Entry* global_root = 0 ; static Entry* current = 0 ; static Entry* previous = 0 ; static Entry* tempEntry = 0 ; static int yyLineNr = 0 ; static int anonCount = 0 ; static char yyFileName[2048] ; static int lastMemberGroupLine; static bool sig; static bool slot; static bool gstat; static bool removeSlashes; static Specifier virt; static Specifier baseVirt; static bool exampleDoc; static QCString exampleName; static QCString htmlUrl,htmlText; static QCString currentIncludeFile; static QCString msType,msName,msArgs; static int memberGroupId = -1; static int includeFileOffset = 0; static int includeFileLength = 0; static bool firstLine; static bool isTypedef; static bool inParamBlock; static bool inRetValBlock; static bool inExceptionBlock; static bool inSeeBlock; static bool inReturnBlock; static bool inAuthorBlock; static bool inVersionBlock; static bool inDateBlock; static bool inBugBlock; static bool inWarningBlock; static bool inParBlock; static bool firstSeeArg; static char afterDocTerminator; static int tmpDocType; static QCString sectionLabel; static QCString sectionTitle; static SectionInfo::SectionType sectionType; static QCString funcPtrType; static QCString templateStr; static QCString baseName; static QCString *specName; static QCString formulaText; static QCString sectionRef; // state variable for reading the argument list of a function static int argRoundCount; static int argSharpCount; static int currentArgumentContext; static int lastCopyArgStringContext; static int lastCopyArgContext; static QCString *copyArgString; static ArgumentList *currentArgumentList; static QCString *currentTemplateSpec; static QCString curImageName; //----------------------------------------------------------------------------- static void initParser() { insideArgumentList=FALSE; className.resize(0); memberName.resize(0); refName.resize(0); code.resize(0); linkRef.resize(0); linkText.resize(0); codeBlock.resize(0); htmlUrl.resize(0); htmlText.resize(0); currentIncludeFile.resize(0); sectionLabel.resize(0); sectionTitle.resize(0); baseName.resize(0); formulaText.resize(0); protection = Public; baseProt = Public; bracketCount = 0; sharpCount = 0; roundCount = 0; ifCount = 0; memberGroupId = -1; sig = FALSE; slot = FALSE; gstat = FALSE; virt = Normal; baseVirt = Normal; includeFileOffset = 0; includeFileLength = 0; firstLine = TRUE; isTypedef = FALSE; inParamBlock = FALSE; inRetValBlock = FALSE; inExceptionBlock = FALSE; inSeeBlock = FALSE; inReturnBlock = FALSE; inAuthorBlock = FALSE; inVersionBlock = FALSE; inDateBlock = FALSE; inBugBlock = FALSE; inWarningBlock = FALSE; inParBlock = FALSE; firstSeeArg = FALSE; } //----------------------------------------------------------------------------- void scanString(const char *s); //----------------------------------------------------------------------------- class TableElem { public: TableElem(int r,int c); ~TableElem(); int getRow() { return row; } int getCol() { return col; } OutputList *outputList() { return ol; } private: OutputList *ol; int row; int col; }; TableElem::TableElem(int r,int c) { //printf("TableElem::TableElem(%d,%d)\n",r,c); ol=new OutputList(outDoc); outDoc=ol; row=r; col=c; } TableElem::~TableElem() { //printf("TableElem::~TableElem(%d,%d)\n",row,col); delete ol; } class Table { public: Table(); ~Table(); void newRow(); void newElem(); private: OutputList *parentDoc; QList *elemList; int curRow; int curCol; int rows; int cols; }; Table::Table() { parentDoc=outDoc; elemList=new QList; elemList->setAutoDelete(TRUE); curRow=curCol=rows=cols=0; } Table::~Table() { //printf("Table::~Table()\n"); // use elemList & cols & rows if (cols>0 && rows>0) { parentDoc->startTable(cols); TableElem *e=elemList->first(); while (e) { if (e->getRow()>0) { if (e->getCol()==0) { if (e->getRow()>1) parentDoc->endTableRow(); parentDoc->nextTableRow(); } else { parentDoc->nextTableColumn(); } *parentDoc+=*e->outputList(); parentDoc->endTableColumn(); } e=elemList->next(); } parentDoc->endTable(); } delete elemList; outDoc=parentDoc; } void Table::newRow() { //printf("Table::newRow()\n"); curRow++; if (curRow>rows) rows=curRow; curCol=0; } void Table::newElem() { //printf("Table::newElem(%d,%d)\n",curRow,curCol); TableElem *te = new TableElem(curRow,curCol); elemList->append(te); curCol++; if (curCol>cols) cols=curCol; } static QStack tableStack; static Table *curTable; static void startTable() { //printf("startTable()\n"); curTable=new Table; tableStack.push(curTable); } static void endTable() { //printf("endTable()\n"); delete tableStack.pop(); // the destructor adds the table to the stream! curTable=tableStack.top(); } //----------------------------------------------------------------------------- static void lineCount() { for( const char* c = yytext ; *c ; ++c ) yyLineNr += (*c == '\n') ; } static void endArgumentList() { if (insideArgumentList) { insideArgumentList=FALSE; outDoc->endItemList(); } } static void addType( Entry* current ) { if( current->type.length() ) current->type += ' ' ; current->type += current->name ; current->name.resize(0) ; if( current->type.length() ) current->type += ' ' ; current->type += current->args ; current->args.resize(0) ; current->argList->clear(); } static void includeFile(OutputList &ol,const char *fileName,bool quiet) { //FileInfo *f; bool ambig; FileDef *fd; if ((fd=findFileDef(&exampleNameDict,fileName,ambig))) { currentIncludeFile=fileToString(fd->absFilePath()); includeFileOffset=0; includeFileLength=currentIncludeFile.length(); OutputList codeFrag(&ol); parseCode(codeFrag,0,currentIncludeFile,exampleDoc,exampleName); if (!quiet) { ol.startCodeFragment(); ol+=codeFrag; ol.endCodeFragment(); } } else if (ambig) { warn("Include file name %s is ambigious.\n",fileName); warn("Possible candidates:\n"); //includeFileList.writeMatches(fileName); showFileDefMatches(&exampleNameDict,fileName); } else { warn("Warning: example file %s is not found. ",fileName); warn("Check your EXAMPLE_PATH\n"); } } static void verbIncludeFile(OutputList &ol,const char *name) { //FileInfo *f; bool ambig; FileDef *fd; if ((fd=findFileDef(&exampleNameDict,name,ambig))) { ol.startCodeFragment(); ol.codify(fileToString(fd->absFilePath())); ol.endCodeFragment(); } else if (ambig) { warn("Include file name %s is ambigious.\n",name); warn("Possible candidates:\n"); showFileDefMatches(&exampleNameDict,name); } else { warn("Warning: example file %s is not found. ",name); warn("Check your EXAMPLE_PATH\n"); } } static QCString stripQuotes(const char *s) { QCString name; if (s==0 || *s==0) return name; name=s; if (name.at(0)=='"' && name.at(name.length()-1)=='"') { name=name.mid(1,name.length()-2); } return name; } static QCString stripKnownExtensions(const char *text) { QCString result=text; if (result.right(4)==".tex") result=result.left(result.length()-4); else if (result.right(5)==".html") result=result.left(result.length()-5); //printf("%s stripKnowExtensions(%s)\n",result.data(),text); return result; } static void skipLine(OutputList &ol,const char *key) { bool found=FALSE; while (!found) { QCString s; char c; while ( includeFileOffset0 || includeFileOffset==includeFileLength) found=TRUE; } if (s.find(key)!=-1) { ol.writeString(" "); parseCode(ol,className,s,exampleDoc,exampleName); ol.writeString("\n"); } } static void showUntil(OutputList &ol,const char *key) { bool found=FALSE; while (!found) { QCString s; char c; while ( includeFileOffset0) { ol.writeString(" "); parseCode(ol,className,s,exampleDoc,exampleName); ol.writeString("\n"); if (s.find(key)!=-1) found=TRUE; } if (includeFileOffset==includeFileLength) found=TRUE; } } static int newMemberGroupId() { static int curGroupId=0; return curGroupId++; } static void newDocState(); //----------------------------------------------------------------- static bool inBlock() { return inParamBlock || inRetValBlock || inSeeBlock || inReturnBlock || inAuthorBlock || inVersionBlock || inDateBlock || inWarningBlock || inBugBlock || inParBlock || inExceptionBlock; } static void endBlock() { if (inParamBlock || inRetValBlock || inExceptionBlock) { outDoc->endDescTableData(); outDoc->endDescTable(); } outDoc->endDescList(); inParamBlock=inRetValBlock=inSeeBlock=inReturnBlock=inAuthorBlock= inVersionBlock=inDateBlock=inBugBlock=inWarningBlock= inParBlock=inExceptionBlock=FALSE; } static void addSection() { //printf("New section pageName=%s label=%s title=%s\n", // current->name.data(),sectionLabel.data(),sectionTitle.data()); if (sectionLabel.isEmpty()) return; if (sectionDict[sectionLabel]==0) { SectionInfo *si=new SectionInfo(sectionLabel,sectionTitle,sectionType); //printf("Adding section addr=%p label=`%s' sectionTitle=`%s' fileName=%s\n",si,sectionLabel.data(),sectionTitle.data(),si->fileName.data()); sectionDict.insert(sectionLabel,si); current->anchors->append(new QCString(sectionLabel)); } else { warn("Warning: Duplicate label %s found!\n",sectionLabel.data()); } } // Adds a formula text to the list/dictionary of formulas if it was // not already added. Returns the label of the formula. static QCString addFormula() { QCString formLabel; QCString fText=formulaText.simplifyWhiteSpace(); Formula *f=0; if ((f=formulaDict[fText])==0) { f = new Formula(fText); formulaList.append(f); formulaDict.insert(fText,f); formLabel.sprintf("\\form#%d",f->getId()); formulaNameDict.insert(formLabel,f); } else { formLabel.sprintf("\\form#%d",f->getId()); } return formLabel; } static bool nameIsOperator(QCString &name) { return name.right(8)=="operator" && (name.length()==8 || !isId(name.at(name.length()-9))); } static void checkDocs() { if ((current->brief.length()>2 && current->brief.at(0)=='<' && current->brief.at(1)==' ') || (current->doc.length()>2 && current->doc.at(0)=='<' && current->doc.at(1)==' ') ) { warn("Warning: Found lonely '<' symbol at the start of the documentation " "at line %d of %s\n",yyLineNr,yyFileName); } } static bool curLatexState; static bool curManState; static bool curHtmlState; static void storeOutputListState() { curLatexState = outDoc->isEnabled(OutputGenerator::Latex); curHtmlState = outDoc->isEnabled(OutputGenerator::Html); curManState = outDoc->isEnabled(OutputGenerator::Man); } static void restoreOutputListState() { if (curLatexState) outDoc->enable(OutputGenerator::Latex); else outDoc->disable(OutputGenerator::Latex); if (curHtmlState) outDoc->enable(OutputGenerator::Html); else outDoc->disable(OutputGenerator::Html); if (curManState) outDoc->enable(OutputGenerator::Man); else outDoc->disable(OutputGenerator::Man); } enum ImageTypes { IT_Html, IT_Latex }; // search for an image in the imageNameDict and if found // copies the image to the output directory (which is the // html directory if type==0 or the latex directory if type==1) static QCString findAndCopyImage(const char *fileName,ImageTypes type) { QCString result; bool ambig; FileDef *fd; if ((fd=findFileDef(&imageNameDict,fileName,ambig))) { QFile inImage(fd->absFilePath().data()); if (inImage.open(IO_ReadOnly)) { result = fileName; int i; if ((i=result.findRev('/'))!=-1 || (i=result.findRev('\\'))!=-1) { result.right(result.length()-i-1); } QCString outputDir; switch(type) { case IT_Html: outputDir = Config::htmlOutputDir; break; case IT_Latex: outputDir = Config::latexOutputDir; break; } QCString outputFile = outputDir+"/"+result; QFile outImage(outputFile); if (outImage.open(IO_WriteOnly)) // copy the image { char *buffer = new char[inImage.size()]; inImage.readBlock(buffer,inImage.size()); outImage.writeBlock(buffer,inImage.size()); outImage.flush(); delete buffer; } else { warn("Warning: could not write output image %s\n",outputFile.data()); } } else { warn("Warning: could not open image %s\n",fileName); } } else if (ambig) { warn("Warning: image file name %s is ambigious.\n",fileName); warn("Possible candidates:\n"); //includeFileList.writeMatches(fileName); showFileDefMatches(&imageNameDict,fileName); } else { result=fileName; if (result.left(5)!="http:") { warn("Warning: image file %s is not found in IMAGE_PATH: " "assuming external image. ",fileName); } } return result; } /* ----------------------------------------------------------------- */ //static void addToBody(const char *text); //static void addToBodyCond(const char *text); /* ----------------------------------------------------------------- */ #undef YY_INPUT #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); static int yyread(char *buf,int max_size) { int c=0; while( c < max_size && inputString[inputPosition] ) { *buf = inputString[inputPosition++] ; //printf("%d (%c)\n",*buf,*buf); c++; buf++; } return c; } //ATTR ((({BN}+[^\>]+)/">")?) #define Define 1 #define DefineArg 2 #define DefineEnd 3 #define Include 4 #define ClassName 5 #define ClassVar 6 #define Bases 7 #define BasesProt 8 #define NextSemi 9 #define FindMembers 10 #define FindMemberName 11 #define FindFields 12 #define FindFieldArg 13 #define Function 14 #define FuncRound 15 #define ExcpRound 16 #define FuncQual 17 #define Operator 18 #define Array 19 #define Curly 20 #define Using 21 #define UsingDirective 22 #define NameSpaceDocArg1 23 #define SkipCurly 24 #define SkipCurlyCpp 25 #define SkipCurlyEndDoc 26 #define SkipString 27 #define SkipInits 28 #define SkipCPP 29 #define SkipCPPBlock 30 #define SkipComment 31 #define SkipCxxComment 32 #define SkipCurlyBlock 33 #define SkipRoundBlock 34 #define SkipCode 35 #define Sharp 36 #define SkipSharp 37 #define SkipRound 38 #define TypedefName 39 #define Comment 40 #define Doc 41 #define JavaDoc 42 #define ClassDoc 43 #define LineDoc 44 #define DefLineDoc 45 #define ClassDocArg1 46 #define ClassDocArg2 47 #define ClassDocArg3 48 #define ClassDocFunc 49 #define ClassDocFuncPtr 50 #define ClassDocFuncQual 51 #define ClassDocFuncSkipLine 52 #define ClassDocFuncExc 53 #define ClassDocDefine 54 #define ClassDocRelates 55 #define ClassDocBrief 56 #define ClassDocOverload 57 #define ClassDefineArgs 58 #define GroupDocArg1 59 #define GroupDocArg2 60 #define GroupName 61 #define GroupHeader 62 #define AfterDoc 63 #define AfterDocBrief 64 #define AfterDocLine 65 #define PageDoc 66 #define PageDocTitle 67 #define PageDocArg1 68 #define PageDocArg2 69 #define FileDocArg1 70 #define FileDocArg2 71 #define ExampleDoc 72 #define ExampleDocArg1 73 #define EnumDoc 74 #define EnumDocArg1 75 #define FuncPtr 76 #define EndFuncPtr 77 #define FuncFunc 78 #define FuncFuncEnd 79 #define FuncFuncType 80 #define MemberSpec 81 #define MemberSpecSkip 82 #define SkipVerbatim 83 #define Text 84 #define DocScan 85 #define DocParam 86 #define DocException 87 #define DocHtmlScan 88 #define DocLatexScan 89 #define DocEmphasis 90 #define DocBold 91 #define DocCode 92 #define DocCodeBlock 93 #define DocInternal 94 #define DocLink 95 #define DocLinkText 96 #define DocSkipWord 97 #define DocInclude 98 #define DocDontInclude 99 #define DocDescItem 100 #define DocHtmlLink 101 #define DocHtmlAnchor 102 #define DocHtmlHref1 103 #define DocHtmlHref2 104 #define DocBaseClass 105 #define DocSkiplineKey 106 #define DocSkipKey 107 #define DocLineKey 108 #define DocUntilKey 109 #define DocKeyEnd 110 #define DocPar 111 #define DocRefName 112 #define DocVerbatim 113 #define DocVerbInc 114 #define DocIndexWord 115 #define DocRef 116 #define DocRefArg 117 #define DocRefArgStart 118 #define DocRefItem 119 #define DocRefItemName 120 #define DocImage 121 #define DocHtmlImageName 122 #define DocLatexImageName 123 #define DocLatexImageWidth 124 #define SectionLabel 125 #define SectionTitle 126 #define SkipTemplate 127 #define EndTemplate 128 #define CopyArgString 129 #define CopyArgRound 130 #define CopyArgSharp 131 #define ReadFuncArgType 132 #define ReadTempArgs 133 #define Specialization 134 #define DocSkipHtmlComment 135 #define ReadFormulaShort 136 #define ReadFormulaLong 137 #define AnchorLabel 138 /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap YY_PROTO(( void )); #else extern int yywrap YY_PROTO(( void )); #endif #endif #ifndef YY_NO_UNPUT static void yyunput YY_PROTO(( int c, char *buf_ptr )); #endif #ifndef yytext_ptr static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen YY_PROTO(( yyconst char * )); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput YY_PROTO(( void )); #else static int input YY_PROTO(( void )); #endif #endif #if YY_STACK_USED static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = 0; #ifndef YY_NO_PUSH_STATE static void yy_push_state YY_PROTO(( int new_state )); #endif #ifndef YY_NO_POP_STATE static void yy_pop_state YY_PROTO(( void )); #endif #ifndef YY_NO_TOP_STATE static int yy_top_state YY_PROTO(( void )); #endif #else #define YY_NO_PUSH_STATE 1 #define YY_NO_POP_STATE 1 #define YY_NO_TOP_STATE 1 #endif #ifdef YY_MALLOC_DECL YY_MALLOC_DECL #else #if __STDC__ #ifndef __cplusplus #include #endif #else /* Just try to get by without declaring the routines. This will fail * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) * or sizeof(void*) != sizeof(int). */ #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( yy_current_buffer->yy_is_interactive ) \ { \ int c = '*', n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL int yylex YY_PROTO(( void )) #endif /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ if ( yyleng > 0 ) \ yy_current_buffer->yy_at_bol = \ (yytext[yyleng - 1] == '\n'); \ YY_USER_ACTION YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 935 "scanner.l" if ( yy_init ) { yy_init = 0; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! yy_start ) yy_start = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_load_buffer_state(); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = yy_c_buf_p; /* Support of yytext. */ *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = yy_start; yy_current_state += YY_AT_BOL(); yy_state_ptr = yy_state_buf; *yy_state_ptr++ = yy_current_state; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 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 >= 3788 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } while ( yy_base[yy_current_state] != 28889 ); yy_find_action: yy_current_state = *--yy_state_ptr; yy_lp = yy_accept[yy_current_state]; find_rule: /* we branch to this label when backing up */ for ( ; ; ) /* until we find what rule we matched */ { if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] ) { yy_act = yy_acclist[yy_lp]; if ( yy_act & YY_TRAILING_HEAD_MASK || yy_looking_for_trail_begin ) { if ( yy_act == yy_looking_for_trail_begin ) { yy_looking_for_trail_begin = 0; yy_act &= ~YY_TRAILING_HEAD_MASK; break; } } else if ( yy_act & YY_TRAILING_MASK ) { yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK; yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK; } else { yy_full_match = yy_cp; yy_full_state = yy_state_ptr; yy_full_lp = yy_lp; break; } ++yy_lp; goto find_rule; } --yy_cp; yy_current_state = *--yy_state_ptr; yy_lp = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 1: YY_RULE_SETUP #line 937 "scanner.l" { // new file if (memberGroupId!=-1) { warn("Warning: Missing \\endmgroup in file %s\n",yyFileName); memberGroupId=-1; } yyLineNr= 0 ; // there is always an extra newline at the start of the file int i; for( i = 0 ; yytext[i+1] != 6 ; i++ ) yyFileName[i] = yytext[i+1] ; yyFileName[i] = 0 ; msg("Parsing file %s...\n",yyFileName); current_root = global_root ; initParser(); current->reset(); int sec=guessSection(yyFileName); if (sec) { current->name = yyFileName; current->name = current->name; current->section = sec; current_root->addSubEntry(current); current = new Entry; } BEGIN( FindMembers ); } YY_BREAK case 2: YY_RULE_SETUP #line 963 "scanner.l" YY_BREAK /* ^{BL} { if (insideArgumentList) { insideArgumentList=FALSE; outDoc->endItemList(); } else { outDoc->newParagraph(); } if (inBlock()) endBlock(); } */ case 3: YY_RULE_SETUP #line 978 "scanner.l" { BEGIN(DocSkipHtmlComment); } YY_BREAK case 4: YY_RULE_SETUP #line 979 "scanner.l" { BEGIN(DocScan); } YY_BREAK case 5: YY_RULE_SETUP #line 980 "scanner.l" YY_BREAK case 6: YY_RULE_SETUP #line 981 "scanner.l" { outDoc->writeCopyright(); } YY_BREAK case 7: YY_RULE_SETUP #line 982 "scanner.l" { outDoc->writeQuote(); } YY_BREAK case 8: YY_RULE_SETUP #line 983 "scanner.l" { outDoc->writeUmlaut(yytext[1]); } YY_BREAK case 9: YY_RULE_SETUP #line 984 "scanner.l" { outDoc->writeAcute(yytext[1]); } YY_BREAK case 10: YY_RULE_SETUP #line 985 "scanner.l" { outDoc->writeGrave(yytext[1]); } YY_BREAK case 11: YY_RULE_SETUP #line 986 "scanner.l" { outDoc->writeCirc(yytext[1]); } YY_BREAK case 12: YY_RULE_SETUP #line 987 "scanner.l" { outDoc->writeTilde(yytext[1]); } YY_BREAK case 13: YY_RULE_SETUP #line 988 "scanner.l" { outDoc->writeSharpS(); } YY_BREAK case 14: YY_RULE_SETUP #line 989 "scanner.l" { outDoc->writeRing(yytext[1]); } YY_BREAK case 15: YY_RULE_SETUP #line 990 "scanner.l" { QCString envvar=&yytext[2]; envvar=envvar.left(envvar.length()-1); outDoc->docify(getenv(envvar)); } YY_BREAK case 16: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 995 "scanner.l" { outDoc->disableAllBut(OutputGenerator::Html); BEGIN(DocHtmlScan); } YY_BREAK case 17: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 999 "scanner.l" { outDoc->enableAll(); BEGIN(DocScan); } YY_BREAK case 18: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1003 "scanner.l" { outDoc->disableAllBut(OutputGenerator::Latex); BEGIN(DocLatexScan); } YY_BREAK case 19: YY_RULE_SETUP #line 1007 "scanner.l" { outDoc->writeString(yytext); } YY_BREAK case 20: YY_RULE_SETUP #line 1010 "scanner.l" { char c[2]; c[0]=*yytext;c[1]='\0'; outDoc->writeString(c); } YY_BREAK case 21: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1015 "scanner.l" { outDoc->enableAll(); BEGIN(DocScan); } YY_BREAK case 22: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 11; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1019 "scanner.l" YY_BREAK case 23: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 14; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1020 "scanner.l" { writeMemberList(*outDoc); } YY_BREAK case 24: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 15; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1021 "scanner.l" { writeClassHierarchy(*outDoc); } YY_BREAK case 25: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 19; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1022 "scanner.l" { writeAnnotatedClassList(*outDoc); } YY_BREAK case 26: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 15; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1023 "scanner.l" { /*TODO: fix this writeHeaderFileList(*outDoc); */ } YY_BREAK case 27: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1024 "scanner.l" { BEGIN( DocSkipWord ); } YY_BREAK case 28: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1025 "scanner.l" { BEGIN( DocSkipWord ); } YY_BREAK case 29: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1026 "scanner.l" { BEGIN( DocVerbInc ); } YY_BREAK case 30: YY_RULE_SETUP #line 1027 "scanner.l" { verbIncludeFile(*outDoc,stripQuotes(yytext)); BEGIN( DocScan ); } YY_BREAK case 31: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1031 "scanner.l" { outDoc->startCodeFragment(); BEGIN(DocVerbatim); } YY_BREAK case 32: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1035 "scanner.l" { outDoc->endCodeFragment(); BEGIN(DocScan); } YY_BREAK case 33: YY_RULE_SETUP #line 1039 "scanner.l" { //printf("docifying: %s\n",yytext); outDoc->codify(yytext); } YY_BREAK case 34: YY_RULE_SETUP #line 1043 "scanner.l" { outDoc->codify(yytext); } YY_BREAK case 35: YY_RULE_SETUP #line 1046 "scanner.l" { //printf("char %c\n",*yytext); char c[2];c[0]=*yytext;c[1]='\0'; outDoc->codify(c); } YY_BREAK case 36: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1051 "scanner.l" { if (!Config::internalDocsFlag) { outDoc->newParagraph(); scanString(theTranslator->trForInternalUseOnly()+"\n"); //outDoc->writeString("For internal use only.\n"); BEGIN( DocInternal ); } } YY_BREAK case 37: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1060 "scanner.l" { outDoc->newParagraph(); scanString(theTranslator->trReimplementedForInternalReasons()+"\n"); } YY_BREAK case 38: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1064 "scanner.l" { BEGIN( DocLink ); } YY_BREAK case 39: YY_RULE_SETUP #line 1065 "scanner.l" { BEGIN( DocScan ); } YY_BREAK case 40: YY_RULE_SETUP #line 1066 "scanner.l" { linkRef = stripKnownExtensions(yytext); linkText = ""; BEGIN( DocLinkText ); } YY_BREAK case 41: YY_RULE_SETUP #line 1071 "scanner.l" { linkText += *yytext; } YY_BREAK case 42: YY_RULE_SETUP #line 1072 "scanner.l" { linkText += " "; } YY_BREAK case 43: YY_RULE_SETUP #line 1073 "scanner.l" { // <- needed for things like \endlink. //printf("GenerateLink className=`%s' linkRef=`%s' linkText=`%s'\n", // className.data(),linkRef.data(),linkText.data()); generateLink(*outDoc,className,linkRef,inSeeBlock,linkText); BEGIN( DocScan ); } YY_BREAK /* "@ref"{B}+ { BEGIN(DocRef); } {SCOPENAME} { generateLink(*outDoc,className,yytext,TRUE,0); BEGIN( DocScan ); } */ case 44: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1088 "scanner.l" { warn("Warning: \\endlink without \\link " "in documentation of %s\n", refName.data()); } YY_BREAK case 45: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1091 "scanner.l" { BEGIN(DocIndexWord); } YY_BREAK case 46: YY_RULE_SETUP #line 1094 "scanner.l" { Formula *formula=formulaNameDict[yytext]; if (formula) { QCString formName; formName.sprintf("form-%d.gif",formula->getId()); outDoc->writeFormula(formName,formula->getFormulaText()); } } YY_BREAK case 47: YY_RULE_SETUP #line 1103 "scanner.l" { //printf("Adding %s to index\n",yytext); outDoc->addToIndex(yytext,0); BEGIN(DocScan); } YY_BREAK case 48: YY_RULE_SETUP #line 1108 "scanner.l" { if (insideArgumentList) { outDoc->writeListItem(); } else { outDoc->startItemList(); outDoc->writeListItem(); insideArgumentList=TRUE; } } YY_BREAK case 49: YY_RULE_SETUP #line 1120 "scanner.l" { BEGIN(DocPar); } YY_BREAK case 50: YY_RULE_SETUP #line 1123 "scanner.l" { endArgumentList(); if (inBlock()) endBlock(); inParBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); outDoc->docify(((QCString)yytext).stripWhiteSpace()); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); BEGIN(DocScan); } YY_BREAK case 51: YY_RULE_SETUP #line 1135 "scanner.l" { endArgumentList(); if (!inWarningBlock) { if (inBlock()) endBlock(); inWarningBlock=TRUE; outDoc->startDescList(); //outDoc->writeBoldString("Warning: "); outDoc->startBold(); scanString(theTranslator->trWarning()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 52: YY_RULE_SETUP #line 1154 "scanner.l" { endArgumentList(); if (!inBugBlock) { if (inBlock()) endBlock(); inBugBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trBugsAndLimitations()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 53: YY_RULE_SETUP #line 1172 "scanner.l" { endArgumentList(); if (!inVersionBlock) { if (inBlock()) endBlock(); inVersionBlock=TRUE; outDoc->startDescList(); //outDoc->writeBoldString("Version: "); outDoc->startBold(); scanString(theTranslator->trVersion()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 54: YY_RULE_SETUP #line 1191 "scanner.l" { endArgumentList(); if (!inDateBlock) { if (inBlock()) endBlock(); inDateBlock=TRUE; outDoc->startDescList(); //outDoc->writeBoldString("Date: "); outDoc->startBold(); scanString(theTranslator->trDate()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 55: YY_RULE_SETUP #line 1210 "scanner.l" { endArgumentList(); if (!inAuthorBlock) { if (inBlock()) endBlock(); inAuthorBlock=TRUE; outDoc->startDescList(); //outDoc->writeBoldString("Author(s): "); outDoc->startBold(); scanString(theTranslator->trAuthors()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->docify(", "); } } YY_BREAK case 56: YY_RULE_SETUP #line 1229 "scanner.l" { endArgumentList(); if (!inReturnBlock) { if (inBlock()) endBlock(); inReturnBlock=TRUE; outDoc->startDescList(); //outDoc->writeBoldString("Returns: "); outDoc->startBold(); scanString(theTranslator->trReturns()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } } YY_BREAK case 57: YY_RULE_SETUP #line 1244 "scanner.l" { endArgumentList(); if (!inSeeBlock) { if (inBlock()) endBlock(); inSeeBlock=TRUE; //firstSeeArg=TRUE; outDoc->startDescList(); //outDoc->writeBoldString("See also: "); outDoc->startBold(); scanString(theTranslator->trSeeAlso()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->docify(", "); } } YY_BREAK case 58: YY_RULE_SETUP #line 1264 "scanner.l" { endArgumentList(); if (!inParamBlock) { if (inBlock()) endBlock(); inParamBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trParameters()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); outDoc->startDescTable(); } else { outDoc->endDescTableData(); } BEGIN(DocParam); } YY_BREAK case 59: YY_RULE_SETUP #line 1284 "scanner.l" { endArgumentList(); if (!inRetValBlock) { if (inBlock()) endBlock(); inRetValBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trReturnValues()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); outDoc->startDescTable(); } else { outDoc->endDescTableData(); } BEGIN(DocParam); } YY_BREAK case 60: YY_RULE_SETUP #line 1304 "scanner.l" { endArgumentList(); if (!inExceptionBlock) { if (inBlock()) endBlock(); inExceptionBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trExceptions()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); outDoc->startDescTable(); } else { outDoc->endDescTableData(); } BEGIN(DocException); } YY_BREAK case 61: YY_RULE_SETUP #line 1324 "scanner.l" YY_BREAK case 62: YY_RULE_SETUP #line 1325 "scanner.l" { outDoc->startDescTableTitle(); outDoc->startEmphasis(); outDoc->docify(yytext); outDoc->endEmphasis(); outDoc->endDescTableTitle(); outDoc->startDescTableData(); BEGIN(DocScan); } YY_BREAK case 63: YY_RULE_SETUP #line 1334 "scanner.l" { outDoc->startDescTableTitle(); outDoc->startEmphasis(); outDoc->docify(yytext); outDoc->endEmphasis(); outDoc->endDescTableTitle(); outDoc->startDescTableData(); BEGIN(DocScan); } YY_BREAK case 64: YY_RULE_SETUP #line 1343 "scanner.l" { QCString secName=&yytext[9]; // skip "\section " secName=secName.left(secName.length()-1); // remove \n //printf("SectionName %s found\n",secName.data()); SectionInfo *sec; if ((sec=sectionDict[secName])) { //printf("Title %s\n",sec->title.data()); outDoc->writeSection(sec->label,sec->title, sec->type==SectionInfo::Subsection); } } YY_BREAK case 65: YY_RULE_SETUP #line 1355 "scanner.l" { QCString secName=&yytext[8]; secName=secName.left(secName.length()-1); SectionInfo *sec; if ((sec=sectionDict[secName])) { outDoc->writeAnchor(sec->label); } } YY_BREAK case 66: YY_RULE_SETUP #line 1364 "scanner.l" { BEGIN(DocRefName); } YY_BREAK case 67: YY_RULE_SETUP #line 1367 "scanner.l" { BEGIN(DocRefItem); } YY_BREAK case 68: YY_RULE_SETUP #line 1370 "scanner.l" { QCString ref=yytext; SectionInfo *sec; if ((sec=sectionDict[ref])) { QCString text; if (sec->title.isEmpty()) text=sec->label; else text=sec->title; if (sec->type==SectionInfo::Anchor) { outDoc->writeSectionRefAnchor(sec->fileName,sec->label,text); } else { //printf(" ref sec=%p sec->fileName=%s\n",sec,sec->fileName.data()); outDoc->writeSectionRef(sec->fileName,sec->label,text); } } else if (!generateLink(*outDoc,className,yytext,TRUE,0)) { warn("Warning: reference to unknown section %s!\n",yytext); outDoc->writeBoldString(" unknown reference!"); } BEGIN(DocScan); } YY_BREAK case 69: YY_RULE_SETUP #line 1397 "scanner.l" { sectionRef=yytext; BEGIN(DocRefArgStart); } YY_BREAK case 70: YY_RULE_SETUP #line 1401 "scanner.l" { BEGIN(DocRefArg); } YY_BREAK case 71: YY_RULE_SETUP #line 1404 "scanner.l" { yytext[yyleng-1]='\0'; QCString text=substitute(yytext,"\\\\","\\"); SectionInfo *sec; if ((sec=sectionDict[sectionRef])) { if (sec->type==SectionInfo::Anchor) { outDoc->writeSectionRefAnchor(sec->fileName,sec->label,text); } else { outDoc->writeSectionRef(sec->fileName,sec->label,text); } } else if (!generateLink(*outDoc,className,yytext,TRUE,text)) { warn("Warning: reference to unknown section %s!\n",sectionRef.data()); outDoc->writeBoldString("unknown reference!"); } BEGIN(DocScan); } YY_BREAK case 72: YY_RULE_SETUP #line 1426 "scanner.l" { sectionRef=yytext; BEGIN(DocRefItemName); } YY_BREAK case 73: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1430 "scanner.l" { SectionInfo *sec; if ((sec=sectionDict[sectionRef])) { outDoc->writeSectionRefItem(sec->fileName,sec->label,yytext); } else { warn("Warning: reference to unknown section %s!\n",sectionRef.data()); outDoc->writeBoldString("unknown reference!"); } BEGIN(DocScan); } YY_BREAK case 74: YY_RULE_SETUP #line 1443 "scanner.l" { BEGIN(DocImage); } YY_BREAK case 75: YY_RULE_SETUP #line 1446 "scanner.l" { BEGIN(DocHtmlImageName); } YY_BREAK case 76: YY_RULE_SETUP #line 1449 "scanner.l" { BEGIN(DocLatexImageName); } YY_BREAK case 77: YY_RULE_SETUP #line 1452 "scanner.l" { curImageName = findAndCopyImage(stripQuotes(yytext),IT_Html); if (!curImageName.isEmpty()) { storeOutputListState(); outDoc->disableAllBut(OutputGenerator::Html); outDoc->writeImage(curImageName,0,0); restoreOutputListState(); } BEGIN(DocScan); } YY_BREAK case 78: YY_RULE_SETUP #line 1463 "scanner.l" { curImageName = findAndCopyImage(stripQuotes(yytext),IT_Latex); if (curImageName.isEmpty()) BEGIN(DocScan); else BEGIN(DocLatexImageWidth); } YY_BREAK case 79: YY_RULE_SETUP #line 1470 "scanner.l" { // no width specified storeOutputListState(); outDoc->disableAllBut(OutputGenerator::Latex); outDoc->writeImage(curImageName,0,0); restoreOutputListState(); BEGIN(DocScan); } YY_BREAK case 80: YY_RULE_SETUP #line 1477 "scanner.l" { storeOutputListState(); outDoc->disableAllBut(OutputGenerator::Latex); outDoc->writeImage(curImageName,yytext,0); restoreOutputListState(); BEGIN(DocScan); } YY_BREAK case 81: YY_RULE_SETUP #line 1484 "scanner.l" { storeOutputListState(); outDoc->disableAllBut(OutputGenerator::Latex); outDoc->writeImage(curImageName,0,yytext); restoreOutputListState(); BEGIN(DocScan); } YY_BREAK case 82: YY_RULE_SETUP #line 1491 "scanner.l" { warn("Warning: %s is an unsupported output format for \\image\n",yytext); } YY_BREAK case 83: YY_RULE_SETUP #line 1494 "scanner.l" { warn("Warning: invalid \\image command found!\n"); outDoc->enableAll(); BEGIN(DocScan); } YY_BREAK case 84: YY_RULE_SETUP #line 1499 "scanner.l" { outDoc->startCodeFragment(); codeBlock.resize(0); BEGIN( DocCodeBlock ); } YY_BREAK case 85: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1504 "scanner.l" { warn("Warning: \\endcode without
 or \\code "
    					       "in the documentation of %s\n",refName.data()); 
					}
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 1508 "scanner.l"
{
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
  					}
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 1511 "scanner.l"
{ 
					  generateRef(*outDoc,className,yytext,inSeeBlock);
					} 
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 1514 "scanner.l"
{ 
				          QCString oName=yytext;
					  generateRef(*outDoc,className,
					              removeRedundantWhiteSpace(oName),inSeeBlock);
					}
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 1519 "scanner.l"
{ 
    					  QCString oName=yytext;
					  generateRef(*outDoc,className,
					              removeRedundantWhiteSpace(oName),inSeeBlock);
					}
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 1524 "scanner.l"
{
					  generateFileRef(*outDoc,yytext);
					}
	YY_BREAK
case 91:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 1527 "scanner.l"
{ // needed to match things like \endcode. (note the dot)
				          parseCode(*outDoc,className,codeBlock,exampleDoc,exampleName);
					  //printf("Code block\n-------------\n%s\n--------------\n",codeBlock.data());
					  outDoc->endCodeFragment();
					  BEGIN( DocScan ); 
					}
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 1533 "scanner.l"
{ 
				          parseCode(*outDoc,className,codeBlock,exampleDoc,exampleName);
					  //printf("Code block\n-------------\n%s\n--------------\n",codeBlock.data());
					  outDoc->endCodeFragment();
					  BEGIN( DocScan ); 
					}
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 1539 "scanner.l"
{ BEGIN( DocEmphasis ); }
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 1540 "scanner.l"
{ BEGIN( DocEmphasis ); }
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 1541 "scanner.l"
{ BEGIN( DocBold ); }
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 1542 "scanner.l"
{ BEGIN( DocCode ); }
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 1543 "scanner.l"

	YY_BREAK
case 98:
YY_RULE_SETUP
#line 1544 "scanner.l"
{ BEGIN( DocInclude ); }
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 1545 "scanner.l"
{ BEGIN( DocDontInclude ); }
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 1546 "scanner.l"
{ BEGIN( DocSkipKey ); }	
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 1547 "scanner.l"
{ BEGIN( DocSkiplineKey ); firstLine=TRUE; }
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 1548 "scanner.l"
{ BEGIN( DocLineKey ); firstLine=TRUE; }
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 1549 "scanner.l"
{ BEGIN( DocUntilKey ); firstLine=TRUE; }
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 1550 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					    skipUntil(yytext); 
  					  BEGIN( DocScan );
					}
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 1555 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					  {
					    if (firstLine) outDoc->startCodeFragment();
					    firstLine=FALSE;
					    showLine(*outDoc,yytext); 
					    BEGIN( DocKeyEnd );
					  }
					  else
					  {
  					    BEGIN( DocScan );
					  }
					}
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 1568 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					  {
					    if (firstLine) outDoc->startCodeFragment();
					    firstLine=FALSE;
					    skipLine(*outDoc,yytext); 
					    BEGIN( DocKeyEnd );
					  }
					  else
					  {
  					    BEGIN( DocScan );
					  }
					}
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 1581 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					  {
					    if (firstLine) outDoc->startCodeFragment();
					    firstLine=FALSE;
					    showUntil(*outDoc,yytext); 
					    BEGIN( DocKeyEnd );
					  }
					  else
					  {
  					    BEGIN( DocScan );
					  }
					}
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 1594 "scanner.l"
{ BEGIN(DocLineKey); }
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 1595 "scanner.l"
{ BEGIN(DocUntilKey); }
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 1596 "scanner.l"
{ BEGIN(DocSkiplineKey); }
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 1597 "scanner.l"

	YY_BREAK
case YY_STATE_EOF(DocKeyEnd):
#line 1598 "scanner.l"
{
  					  if (!firstLine) outDoc->endCodeFragment();
					  yyterminate();
  					}
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 1602 "scanner.l"
{
  					  unput(*yytext);
  					  if (!firstLine) outDoc->endCodeFragment();
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 1607 "scanner.l"

	YY_BREAK
case 114:
YY_RULE_SETUP
#line 1608 "scanner.l"

	YY_BREAK
case 115:
YY_RULE_SETUP
#line 1609 "scanner.l"
{ outDoc->startBold(); }
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 1610 "scanner.l"
{ outDoc->endBold(); }
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 1611 "scanner.l"
{ outDoc->startCenter(); }
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 1612 "scanner.l"
{ outDoc->endCenter(); }
	YY_BREAK
case 119:
YY_RULE_SETUP
#line 1613 "scanner.l"
{ 
  					  startTable();
  					  /*outDoc->startTable();*/ }
	YY_BREAK
case 120:
YY_RULE_SETUP
#line 1616 "scanner.l"
{
 					  endTable(); 
  					  /*outDoc->endTable();*/ 
					}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 1620 "scanner.l"

	YY_BREAK
case 122:
YY_RULE_SETUP
#line 1621 "scanner.l"
{ outDoc->startSmall(); }
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 1622 "scanner.l"
{ outDoc->endSmall(); }
	YY_BREAK
case 124:
YY_RULE_SETUP
#line 1623 "scanner.l"

	YY_BREAK
case 125:
YY_RULE_SETUP
#line 1624 "scanner.l"

	YY_BREAK
case 126:
YY_RULE_SETUP
#line 1625 "scanner.l"

	YY_BREAK
case 127:
YY_RULE_SETUP
#line 1626 "scanner.l"

	YY_BREAK
case 128:
YY_RULE_SETUP
#line 1627 "scanner.l"

	YY_BREAK
case 129:
YY_RULE_SETUP
#line 1628 "scanner.l"

	YY_BREAK
case 130:
YY_RULE_SETUP
#line 1629 "scanner.l"

	YY_BREAK
case 131:
YY_RULE_SETUP
#line 1630 "scanner.l"
{ outDoc->startTypewriter(); }
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 1631 "scanner.l"
{ outDoc->endTypewriter(); }
	YY_BREAK
case 133:
YY_RULE_SETUP
#line 1632 "scanner.l"
{ outDoc->startTypewriter(); }
	YY_BREAK
case 134:
YY_RULE_SETUP
#line 1633 "scanner.l"
{ outDoc->endTypewriter(); }
	YY_BREAK
case 135:
YY_RULE_SETUP
#line 1634 "scanner.l"
{ outDoc->startEmphasis(); }
	YY_BREAK
case 136:
YY_RULE_SETUP
#line 1635 "scanner.l"
{ outDoc->endEmphasis(); }
	YY_BREAK
case 137:
YY_RULE_SETUP
#line 1636 "scanner.l"
{ 
                                          storeOutputListState();
                                          outDoc->disableAllBut(OutputGenerator::Html);
					  outDoc->writeString(yytext); 
                                          restoreOutputListState();
					}
	YY_BREAK
case 138:
YY_RULE_SETUP
#line 1642 "scanner.l"
{ 
  					  outDoc->startCodeFragment();
  					  codeBlock.resize(0);
					  BEGIN( DocCodeBlock ); 
					}
	YY_BREAK
case 139:
YY_RULE_SETUP
#line 1647 "scanner.l"
{ 
  					  warn("Warning: 
without
 or \\code"
    					         "in the documentation of %s\n",refName.data()); 
					}
	YY_BREAK
case 140:
YY_RULE_SETUP
#line 1651 "scanner.l"
{ outDoc->startSubscript(); }
	YY_BREAK
case 141:
YY_RULE_SETUP
#line 1652 "scanner.l"
{ outDoc->endSubscript(); }
	YY_BREAK
case 142:
YY_RULE_SETUP
#line 1653 "scanner.l"
{ outDoc->startSuperscript(); }
	YY_BREAK
case 143:
YY_RULE_SETUP
#line 1654 "scanner.l"
{ outDoc->endSuperscript(); }
	YY_BREAK
case 144:
YY_RULE_SETUP
#line 1655 "scanner.l"
{ if (curTable) curTable->newRow(); }
	YY_BREAK
case 145:
YY_RULE_SETUP
#line 1656 "scanner.l"

	YY_BREAK
case 146:
YY_RULE_SETUP
#line 1657 "scanner.l"
{ if (curTable) curTable->newElem(); }
	YY_BREAK
case 147:
YY_RULE_SETUP
#line 1658 "scanner.l"

	YY_BREAK
case 148:
YY_RULE_SETUP
#line 1659 "scanner.l"
{ outDoc->startEnumList(); }
	YY_BREAK
case 149:
YY_RULE_SETUP
#line 1660 "scanner.l"
{ outDoc->endEnumList(); }
	YY_BREAK
case 150:
YY_RULE_SETUP
#line 1661 "scanner.l"
{ outDoc->startItemList(); }
	YY_BREAK
case 151:
YY_RULE_SETUP
#line 1662 "scanner.l"
{ outDoc->endItemList(); }
	YY_BREAK
case 152:
YY_RULE_SETUP
#line 1663 "scanner.l"
{ outDoc->writeListItem(); }
	YY_BREAK
case 153:
YY_RULE_SETUP
#line 1664 "scanner.l"

	YY_BREAK
case 154:
YY_RULE_SETUP
#line 1665 "scanner.l"
{ outDoc->startTypewriter(); }
	YY_BREAK
case 155:
YY_RULE_SETUP
#line 1666 "scanner.l"
{ outDoc->endTypewriter(); }
	YY_BREAK
case 156:
YY_RULE_SETUP
#line 1667 "scanner.l"
{ outDoc->startEmphasis(); }
	YY_BREAK
case 157:
YY_RULE_SETUP
#line 1668 "scanner.l"
{ outDoc->endEmphasis(); }
	YY_BREAK
case 158:
YY_RULE_SETUP
#line 1669 "scanner.l"
{ outDoc->writeRuler(); }
	YY_BREAK
case 159:
YY_RULE_SETUP
#line 1670 "scanner.l"
{ outDoc->startDescription(); }
	YY_BREAK
case 160:
YY_RULE_SETUP
#line 1671 "scanner.l"
{ outDoc->endDescription(); }
	YY_BREAK
case 161:
YY_RULE_SETUP
#line 1672 "scanner.l"
{ outDoc->startDescItem(); }
	YY_BREAK
case 162:
YY_RULE_SETUP
#line 1673 "scanner.l"

	YY_BREAK
case 163:
YY_RULE_SETUP
#line 1674 "scanner.l"
{ outDoc->endDescItem(); }
	YY_BREAK
case 164:
YY_RULE_SETUP
#line 1675 "scanner.l"

	YY_BREAK
case 165:
YY_RULE_SETUP
#line 1676 "scanner.l"
{ outDoc->lineBreak(); }
	YY_BREAK
case 166:
YY_RULE_SETUP
#line 1677 "scanner.l"
{ outDoc->startEmphasis(); }
	YY_BREAK
case 167:
YY_RULE_SETUP
#line 1678 "scanner.l"
{ outDoc->endEmphasis(); }
	YY_BREAK
case 168:
YY_RULE_SETUP
#line 1679 "scanner.l"

	YY_BREAK
case 169:
YY_RULE_SETUP
#line 1680 "scanner.l"
{ BEGIN(DocHtmlLink); }
	YY_BREAK
case 170:
YY_RULE_SETUP
#line 1681 "scanner.l"
{ outDoc->startBold(); }
	YY_BREAK
case 171:
YY_RULE_SETUP
#line 1682 "scanner.l"
{ outDoc->endBold(); }
	YY_BREAK
case 172:
YY_RULE_SETUP
#line 1683 "scanner.l"
{ 
  					  if (inBlock()) endBlock();
  					  outDoc->newParagraph(); }
	YY_BREAK
case 173:
YY_RULE_SETUP
#line 1686 "scanner.l"

	YY_BREAK
case 174:
YY_RULE_SETUP
#line 1687 "scanner.l"
{ outDoc->startTitle(); }
	YY_BREAK
case 175:
YY_RULE_SETUP
#line 1688 "scanner.l"
{ outDoc->endTitle(); }
	YY_BREAK
case 176:
YY_RULE_SETUP
#line 1689 "scanner.l"
{ outDoc->startSubsection(); }
	YY_BREAK
case 177:
YY_RULE_SETUP
#line 1690 "scanner.l"
{ outDoc->endSubsection(); }
	YY_BREAK
case 178:
YY_RULE_SETUP
#line 1691 "scanner.l"
{ outDoc->startSubsubsection(); }
	YY_BREAK
case 179:
YY_RULE_SETUP
#line 1692 "scanner.l"
{ outDoc->endSubsubsection(); }
	YY_BREAK
case 180:
YY_RULE_SETUP
#line 1693 "scanner.l"
{ BEGIN(DocHtmlAnchor); }
	YY_BREAK
case 181:
YY_RULE_SETUP
#line 1694 "scanner.l"
{ outDoc->writeAnchor(yytext); } 
	YY_BREAK
case 182:
YY_RULE_SETUP
#line 1695 "scanner.l"
{ 
  					  htmlUrl.resize(0);
					  htmlText.resize(0);
  					  BEGIN(DocHtmlHref1); }
	YY_BREAK
case 183:
YY_RULE_SETUP
#line 1699 "scanner.l"
{ 
  					  htmlUrl=yytext; 
					}
	YY_BREAK
case 184:
YY_RULE_SETUP
#line 1702 "scanner.l"
{ BEGIN(DocHtmlHref2); }
	YY_BREAK
case 185:
YY_RULE_SETUP
#line 1703 "scanner.l"
{ htmlText+=yytext; }
	YY_BREAK
/*
\n			{ htmlText+='\n'; }
  */
case 186:
YY_RULE_SETUP
#line 1707 "scanner.l"
{ 
  					  outDoc->writeHtmlLink(htmlUrl,htmlText);
  					  unput(*yytext); 
					  BEGIN(DocScan); 
					}
	YY_BREAK
case 187:
YY_RULE_SETUP
#line 1712 "scanner.l"
{ BEGIN(DocScan); }
	YY_BREAK
case 188:
YY_RULE_SETUP
#line 1714 "scanner.l"
{
  					  outDoc->docify("\\");
  					}
	YY_BREAK
case 189:
YY_RULE_SETUP
#line 1717 "scanner.l"
{
  					  outDoc->docify("@");
  					}
	YY_BREAK
case 190:
YY_RULE_SETUP
#line 1720 "scanner.l"
{ 
					  outDoc->docify("<");
					}
	YY_BREAK
case 191:
YY_RULE_SETUP
#line 1723 "scanner.l"
{ 
  					  outDoc->docify(">");
					}
	YY_BREAK
case 192:
YY_RULE_SETUP
#line 1726 "scanner.l"
{ 
  					  outDoc->docify("&");
					}
	YY_BREAK
case 193:
YY_RULE_SETUP
#line 1729 "scanner.l"
{
  					  outDoc->docify("$");
  					}
	YY_BREAK
case 194:
YY_RULE_SETUP
#line 1732 "scanner.l"
{
  					  outDoc->docify("#");
  					}
	YY_BREAK
case 195:
YY_RULE_SETUP
#line 1735 "scanner.l"
{
  					  outDoc->docify("%");
  					}
	YY_BREAK
case 196:
YY_RULE_SETUP
#line 1738 "scanner.l"
{
  					  outDoc->docify(yytext+1);
  					}
	YY_BREAK
case 197:
YY_RULE_SETUP
#line 1741 "scanner.l"
{ 
  					  outDoc->startEmphasis();
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
					  outDoc->endEmphasis();
					  BEGIN( DocScan );
					  //addToIndex(yytext);
					}
	YY_BREAK
case 198:
YY_RULE_SETUP
#line 1748 "scanner.l"
{
  					  outDoc->startBold();
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
					  outDoc->endBold();
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 199:
YY_RULE_SETUP
#line 1754 "scanner.l"
{ 
					  outDoc->startTypewriter();
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
					  outDoc->endTypewriter();
					  BEGIN( DocScan );
					}
	YY_BREAK
case 200:
YY_RULE_SETUP
#line 1760 "scanner.l"
{
					  includeFile(*outDoc,stripQuotes(yytext),FALSE); 
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 201:
YY_RULE_SETUP
#line 1764 "scanner.l"
{
  					  includeFile(*outDoc,stripQuotes(yytext),TRUE);
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 202:
YY_RULE_SETUP
#line 1768 "scanner.l"
{ codeBlock += yytext; }
	YY_BREAK
case 203:
YY_RULE_SETUP
#line 1769 "scanner.l"
{ codeBlock += yytext; }
	YY_BREAK
case 204:
YY_RULE_SETUP
#line 1770 "scanner.l"
{ codeBlock += '\n'; }
	YY_BREAK
case 205:
YY_RULE_SETUP
#line 1771 "scanner.l"
{ codeBlock += yytext; }
	YY_BREAK
case 206:
YY_RULE_SETUP
#line 1772 "scanner.l"
{ codeBlock += *yytext; }
	YY_BREAK
case 207:
YY_RULE_SETUP
#line 1773 "scanner.l"
{ 
					  outDoc->docify(yytext);
					}
	YY_BREAK
case 208:
YY_RULE_SETUP
#line 1776 "scanner.l"
{ 
  					  outDoc->docify(yytext);
					}
	YY_BREAK
case 209:
YY_RULE_SETUP
#line 1779 "scanner.l"
{ outDoc->writeChar('\n'); }
	YY_BREAK
case 210:
YY_RULE_SETUP
#line 1780 "scanner.l"
{ 
  					  if (insideArgumentList)
					  {
					    insideArgumentList=FALSE;
					    outDoc->endItemList();
					  }
					  else
					  {
					    outDoc->newParagraph(); 
					  }
					  if (inBlock()) endBlock();
					}
	YY_BREAK
case 211:
YY_RULE_SETUP
#line 1792 "scanner.l"
{ 
  					  outDoc->writeChar(' '); 
					}
	YY_BREAK
case 212:
YY_RULE_SETUP
#line 1795 "scanner.l"
{ 
					  outDoc->writeChar(*yytext);
					}
	YY_BREAK
case 213:
YY_RULE_SETUP
#line 1798 "scanner.l"
{
  					  bracketCount=0;
  					  BEGIN(SkipCurlyBlock); 
					}
	YY_BREAK
case 214:
YY_RULE_SETUP
#line 1802 "scanner.l"
{
  				 	  roundCount=0;
  					  BEGIN(SkipRoundBlock);
  					}
	YY_BREAK
case 215:
YY_RULE_SETUP
#line 1806 "scanner.l"
{
					  ++roundCount;
  					}
	YY_BREAK
case 216:
YY_RULE_SETUP
#line 1809 "scanner.l"
{
  					  if (roundCount )
					    --roundCount ;
					  else
					    BEGIN( NextSemi ) ;
  					}
	YY_BREAK
case 217:
YY_RULE_SETUP
#line 1815 "scanner.l"
{
  					  ++bracketCount ; 
					}
	YY_BREAK
case 218:
YY_RULE_SETUP
#line 1818 "scanner.l"
{ 
  				          if( bracketCount )
					    --bracketCount ;
					  else
					    BEGIN( NextSemi ) ;
					}
	YY_BREAK
case 219:
YY_RULE_SETUP
#line 1824 "scanner.l"

	YY_BREAK
case 220:
YY_RULE_SETUP
#line 1825 "scanner.l"

	YY_BREAK
case 221:
YY_RULE_SETUP
#line 1826 "scanner.l"

	YY_BREAK
case 222:
YY_RULE_SETUP
#line 1827 "scanner.l"
{
  					  lastStringContext=NextSemi;
					  BEGIN(SkipString);
  					}
	YY_BREAK
case 223:
YY_RULE_SETUP
#line 1831 "scanner.l"
{ 
  					  unput(*yytext);
  					  BEGIN( FindMembers ) ; 
					}
	YY_BREAK
case 224:
YY_RULE_SETUP
#line 1835 "scanner.l"
{ current->sig = sig = TRUE;
					  current->slot = slot = FALSE;
					  current->protection = protection = Public ;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount() ;
					}
	YY_BREAK
case 225:
YY_RULE_SETUP
#line 1845 "scanner.l"
{
					  current->protection = protection = Public ;
					  current->slot = slot = TRUE;
					  current->sig = sig = FALSE;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount();
					}
	YY_BREAK
case 226:
YY_RULE_SETUP
#line 1856 "scanner.l"
{
					  current->protection = protection = Protected ;
					  current->slot = slot = TRUE;
					  current->sig = sig = FALSE;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount();
					}
	YY_BREAK
case 227:
YY_RULE_SETUP
#line 1867 "scanner.l"
{
					  current->protection = protection = Private ;
					  current->slot = slot = TRUE;
					  current->sig = sig = FALSE;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount();
					}
	YY_BREAK
case 228:
YY_RULE_SETUP
#line 1878 "scanner.l"
{ 
					  current->protection = protection = Public ;
					  current->slot = slot = FALSE;
					  current->sig = sig = FALSE;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount() ;
					}
	YY_BREAK
case 229:
YY_RULE_SETUP
#line 1888 "scanner.l"
{ 
  					  current->protection = protection = Protected ;
					  current->slot = slot = FALSE;
					  current->sig = sig = FALSE;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount() ;
					}
	YY_BREAK
case 230:
YY_RULE_SETUP
#line 1898 "scanner.l"
{ 
  					  current->protection = protection = Private ;
					  current->slot = slot = FALSE;
					  current->sig = sig = FALSE;
					  current->type.resize(0); 
					  current->name.resize(0); 
					  current->args.resize(0);
					  current->argList->clear();
					  lineCount() ;
					}
	YY_BREAK
case 231:
YY_RULE_SETUP
#line 1908 "scanner.l"
{
  					  lineCount();
  					}
	YY_BREAK
case 232:
YY_RULE_SETUP
#line 1911 "scanner.l"
{ //current->type += " static ";
  					  current->stat = TRUE;
					  lineCount();
					}
	YY_BREAK
case 233:
YY_RULE_SETUP
#line 1915 "scanner.l"
{
  					  current->stat = FALSE;
					  lineCount();
  					}
	YY_BREAK
case 234:
YY_RULE_SETUP
#line 1919 "scanner.l"
{ current->type += " virtual ";
					  current->virt = Virtual;
					  lineCount();
					}
	YY_BREAK
case 235:
YY_RULE_SETUP
#line 1923 "scanner.l"
{ current->inLine = TRUE;
                                          lineCount(); 
                                        }
	YY_BREAK
case 236:
YY_RULE_SETUP
#line 1926 "scanner.l"
{ lineCount(); }
	YY_BREAK
case 237:
YY_RULE_SETUP
#line 1927 "scanner.l"
{ 
  					  isTypedef=FALSE;
					  current->section = Entry::NAMESPACE_SEC;
					  current->type = "namespace" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount();
  					  BEGIN( ClassName ); 
					}
	YY_BREAK
case 238:
YY_RULE_SETUP
#line 1937 "scanner.l"
{ 
  					  isTypedef=FALSE;
					  current->section = Entry::NAMESPACE_SEC;
					  current->type = "module" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount();
  					  BEGIN( ClassName ); 
					}
	YY_BREAK
case 239:
YY_RULE_SETUP
#line 1947 "scanner.l"
{
  					  isTypedef=FALSE;
					  current->section = Entry::INTERFACE_SEC;
					  addType( current ) ;
					  current->type += " interface" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount();
					  BEGIN( ClassName );
  					}
	YY_BREAK
case 240:
YY_RULE_SETUP
#line 1958 "scanner.l"
{ 
					  isTypedef=((QCString)yytext).find("typedef")!=-1;
  					  current->section = Entry::CLASS_SEC;
					  addType( current ) ;
					  current->type += " class" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount() ;
					  BEGIN( ClassName ) ;
					}
	YY_BREAK
case 241:
YY_RULE_SETUP
#line 1969 "scanner.l"
{ 
					  isTypedef=((QCString)yytext).find("typedef")!=-1;
  					  current->section = Entry::STRUCT_SEC ;
					  addType( current ) ;
					  current->type += " struct" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount() ;
					  BEGIN( ClassName ) ;
					}
	YY_BREAK
case 242:
YY_RULE_SETUP
#line 1980 "scanner.l"
{ 
					  isTypedef=((QCString)yytext).find("typedef")!=-1;
  					  current->section = Entry::UNION_SEC ;
					  addType( current ) ;
					  current->type += " union" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount() ;
					  BEGIN( ClassName ) ;
					}
	YY_BREAK
case 243:
YY_RULE_SETUP
#line 1991 "scanner.l"
{ 
					  isTypedef=((QCString)yytext).find("typedef")!=-1;
  					  current->section = Entry::ENUM_SEC ;
					  addType( current ) ;
					  current->type += " enum" ;
					  current->fileName  = yyFileName;
					  current->startLine = yyLineNr;
					  current->bodyLine  = yyLineNr;
					  lineCount() ;
					  BEGIN( ClassName ) ;
					}
	YY_BREAK
case 244:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2002 "scanner.l"
{
  					  lineCount();
    					  current->name += yytext ;
					  current->name = current->name.simplifyWhiteSpace();
					  BEGIN( FindMembers ) ;
  					}
	YY_BREAK
case 245:
YY_RULE_SETUP
#line 2008 "scanner.l"
{ 
    					  current->name += *yytext ;
					}
	YY_BREAK
case 246:
YY_RULE_SETUP
#line 2011 "scanner.l"
{ /* skip guided templ specifiers */ }
	YY_BREAK
case 247:
YY_RULE_SETUP
#line 2012 "scanner.l"
{
					  current->name = current->name.simplifyWhiteSpace();
					  unput(*yytext);
					  BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 248:
YY_RULE_SETUP
#line 2017 "scanner.l"
{ 
  					  lineCount();
					  // class template specifier already found => member template specifier
					  // already inside class => member template specifier
					  if (current->tArgList || (current_root->section&Entry::COMPOUND_MASK))
					  {
					    //printf("-------> member template\n");
					    if (current->mtArgList)
					    {
					      current->mtArgList->clear();
                                            }
					    else
					    {
					      current->mtArgList = new ArgumentList;
					      current->mtArgList->setAutoDelete(TRUE);
					    }
					    currentArgumentList = current->mtArgList;
					  }
					  else // class template specifier
					  {
					    //printf("-------> class template\n");
					    if (current->tArgList)
					    {
					      current->tArgList->clear();
                                            }
					    else
					    {
					      current->tArgList = new ArgumentList;
					      current->tArgList->setAutoDelete(TRUE);
					    }
					    currentArgumentList = current->tArgList;
					  }
					  templateStr="<";
					  copyArgString=&templateStr;
					  currentArgumentContext = FindMembers;
					  //printf("Start template list\n");
					  BEGIN( ReadTempArgs );
  					}
	YY_BREAK
case 249:
YY_RULE_SETUP
#line 2055 "scanner.l"
{ 
					  current->startLine=yyLineNr; 
                                          lineCount(); 
                                          BEGIN(Using); 
                                        }
	YY_BREAK
case 250:
YY_RULE_SETUP
#line 2060 "scanner.l"
{ lineCount(); BEGIN(UsingDirective); }
	YY_BREAK
case 251:
YY_RULE_SETUP
#line 2061 "scanner.l"
{ BEGIN(FindMembers); }
	YY_BREAK
case 252:
YY_RULE_SETUP
#line 2062 "scanner.l"
{ current->name=yytext;
                                          current->fileName = yyFileName; 
  					  current->section=Entry::USINGDIR_SEC;
					  //printf("Found using directive %s\n",yytext);
					  current_root->addSubEntry(current);
					  current             = new Entry ;
					  current->protection = protection ;
				          current->sig        = sig;
					  current->virt       = virt;
					  current->stat       = gstat;
					  current->slot       = slot;
					  BEGIN(Using);
  					}
	YY_BREAK
case 253:
YY_RULE_SETUP
#line 2075 "scanner.l"
{ // guided template decl
					  QCString n=yytext;
					  addType( current );
					  current->name=n.left(n.length()-2);
					}
	YY_BREAK
case 254:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2080 "scanner.l"
{
  					  sharpCount=0;
					  lineCount();
					  addType( current );
  					  current->name=yytext;
					  current->name=current->name.stripWhiteSpace();
					  current->scopeSpec.resize(0);
					  currentTemplateSpec = ¤t->scopeSpec;
					  if (nameIsOperator(current->name))
					    BEGIN( Operator );
					  else
					    BEGIN( EndTemplate );
					}
	YY_BREAK
case 255:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2093 "scanner.l"
{
  					  sharpCount=0;
					  lineCount();
  					  current->name+=((QCString)yytext).stripWhiteSpace();
					  current->memberSpec.resize(0);
					  currentTemplateSpec = ¤t->memberSpec;
					  if (nameIsOperator(current->name))
					    BEGIN( Operator );
					  else
					    BEGIN( EndTemplate );
  					}
	YY_BREAK
/*
"<"			{
					  sharpCount++; 
  					}
">"			{
  					  if (--sharpCount<=0)
					  {
					    BEGIN(FindMembers);
					  }
  					}
.
  */
case 256:
YY_RULE_SETUP
#line 2117 "scanner.l"
{ 
  					  current->name+='<';
  					  *currentTemplateSpec+='<'; 
					  sharpCount++; 
					}
	YY_BREAK
case 257:
YY_RULE_SETUP
#line 2122 "scanner.l"
{
  					  current->name+='>';
					  *currentTemplateSpec+='>';
					  if (--sharpCount<=0)
					  {  
					    //printf("Found %s\n",current->name.data());
					    BEGIN(FindMembers);
					  }
					}
	YY_BREAK
case 258:
YY_RULE_SETUP
#line 2131 "scanner.l"
{ 
  					  lineCount();
  					  current->name+='>';
					  *currentTemplateSpec+='>';
					  if (--sharpCount<=0)
					  {
					    current->args = "(";
					    currentArgumentContext = FuncQual;
					    copyArgString=¤t->args;
					    //printf("Found %s\n",current->name.data());
					    BEGIN( ReadFuncArgType ) ;
					  }
					}
	YY_BREAK
case 259:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 2;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2144 "scanner.l"
{
  					  lineCount();
  					  current->name+='>';
  					  *currentTemplateSpec+='>';
					  if (--sharpCount<=0)
					  {
					    BEGIN(FindMemberName);
					  }
  					}
	YY_BREAK
case 260:
YY_RULE_SETUP
#line 2153 "scanner.l"
{ 
  					  current->name+=*yytext;
  					  *currentTemplateSpec+=*yytext; 
					}
	YY_BREAK
case 261:
YY_RULE_SETUP
#line 2157 "scanner.l"
{ 
					  lineCount();
					  if (YY_START==FindMembers)
					  {
					    addType( current ) ;
					    current->name  = yytext;
					  }
					  else
					  {
					    current->name += yytext;
					  }
				          QCString tmp=yytext;
					  if (nameIsOperator(tmp)) 
					    BEGIN( Operator );
					  else
					    BEGIN(FindMembers);
					}
	YY_BREAK
case 262:
YY_RULE_SETUP
#line 2174 "scanner.l"
{ lastCPPContext = YY_START; 
					  BEGIN( SkipCPP ) ; 
					}
	YY_BREAK
case 263:
YY_RULE_SETUP
#line 2177 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
  					  BEGIN( Define );
  					}
	YY_BREAK
case 264:
YY_RULE_SETUP
#line 2181 "scanner.l"

	YY_BREAK
case 265:
YY_RULE_SETUP
#line 2182 "scanner.l"
{ yyLineNr++ ; }
	YY_BREAK
case 266:
YY_RULE_SETUP
#line 2183 "scanner.l"
{ yyLineNr++ ;
					  BEGIN( lastCPPContext) ;
					}
	YY_BREAK
case 267:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2186 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
  					  current->name = yytext;
					  BEGIN( DefineArg );
  					}
	YY_BREAK
case 268:
YY_RULE_SETUP
#line 2191 "scanner.l"
{
  					  //printf("Define with args\n");
  					  current->args += ')';
  					  BEGIN( DefineEnd );
  					}
	YY_BREAK
case 269:
YY_RULE_SETUP
#line 2196 "scanner.l"
{
  					  current->args += *yytext;
  					}
	YY_BREAK
case 270:
YY_RULE_SETUP
#line 2199 "scanner.l"
{
  					  //printf("Define `%s' without args\n",yytext);
  					  current->bodyLine = yyLineNr;
  					  current->name = yytext;
					  BEGIN(DefineEnd);
  					}
	YY_BREAK
case 271:
YY_RULE_SETUP
#line 2205 "scanner.l"
{
  					  //printf("End define\n");
					  yyLineNr++;
					  current->fileName   = yyFileName;
					  current->startLine  = yyLineNr;
					  current->type.resize(0);
  					  current->args       = current->args.simplifyWhiteSpace();
  					  current->name       = current->name.stripWhiteSpace();
					  current->section    = Entry::DEFINE_SEC;
					  current_root->addSubEntry(current);
					  current             = new Entry ;
					  current->protection = protection ;
				          current->sig        = sig;
					  current->virt       = virt;
					  current->stat       = gstat;
					  current->slot       = slot;
					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 272:
YY_RULE_SETUP
#line 2223 "scanner.l"
{
  					  yyLineNr++;
  					}
	YY_BREAK
case 273:
YY_RULE_SETUP
#line 2226 "scanner.l"
{
					  lastStringContext=DefineEnd;
					  BEGIN(SkipString);
  					}
	YY_BREAK
case 274:
YY_RULE_SETUP
#line 2230 "scanner.l"

	YY_BREAK
case 275:
YY_RULE_SETUP
#line 2232 "scanner.l"
{ current->name += yytext ; }
	YY_BREAK
case 276:
YY_RULE_SETUP
#line 2233 "scanner.l"
{
  					  lineCount();
					  if (current->bodyLine==-1)
					    current->bodyLine=yyLineNr;
					  lastAfterDocContext = YY_START;
					  afterDocTerminator = ';';
					  if (yytext[yyleng-3]=='/')
					  {
					    current->brief.resize(0);
					    BEGIN(AfterDocLine);
					  }
					  else if (yytext[yyleng-2]=='*' && Config::autoBriefFlag)
					  {
					    current->brief.resize(0);
					    BEGIN(AfterDocBrief);
					  }
					  else
					  {
					    current->doc.resize(0);
					    BEGIN(AfterDoc);
					  }
  					}
	YY_BREAK
case 277:
YY_RULE_SETUP
#line 2255 "scanner.l"
{
  					  lineCount();
					  lastAfterDocContext = YY_START;
					  afterDocTerminator = ',';
					  if (yytext[yyleng-3]=='/')
					  {
					    current->brief.resize(0);
					    BEGIN(AfterDocLine);
					  }
					  else if (yytext[yyleng-2]=='*' && Config::autoBriefFlag)
					  {
					    current->brief.resize(0);
					    BEGIN(AfterDocBrief);
					  }
					  else
					  {
					    current->doc.resize(0);
					    BEGIN(AfterDoc);
					  }
  					}
	YY_BREAK
case 278:
YY_RULE_SETUP
#line 2275 "scanner.l"
{
  					  lineCount();
					  lastAfterDocContext = YY_START;
					  if (YY_START==DefineEnd)
					    afterDocTerminator = '\n';
					  else
					    afterDocTerminator = 0;
					  if (yytext[yyleng-3]=='/')
					  {
					    current->brief.resize(0);
					    BEGIN(AfterDocLine);
					  }
					  else if (yytext[yyleng-2]=='*' && Config::autoBriefFlag)
					  {
					    current->brief.resize(0);
					    BEGIN(AfterDocBrief);
					  }
					  else
					  {
					    current->doc.resize(0);
					    BEGIN(AfterDoc);
					  }
  					}
	YY_BREAK
case 279:
YY_RULE_SETUP
#line 2298 "scanner.l"
{
  					  current->bodyLine=yyLineNr;
  					  BEGIN(NextSemi);
  					}
	YY_BREAK
case 280:
YY_RULE_SETUP
#line 2302 "scanner.l"
{ 
  					  QCString oldType = current->type.copy();
					  QCString oldDocs = current->doc.copy();
  					  if ( *yytext != ':')
					  {
					    if (current->bodyLine==-1)
					      current->bodyLine = yyLineNr;
					    current->type=current->type.simplifyWhiteSpace();
					    current->args=current->args.simplifyWhiteSpace();
					    current->name=current->name.stripWhiteSpace();
					    current->section = Entry::VARIABLE_SEC ;
					    current->fileName = yyFileName;
					    current->startLine = yyLineNr;
					    current_root->addSubEntry( current ) ;
					    current = new Entry ;
					    // variable found 
					    current->section = Entry::EMPTY_SEC ;
					    current->protection = protection;
					    current->slot = slot = FALSE;
					    current->sig = sig = FALSE;
					    current->virt = Normal; 
					    current->stat = gstat;
					  }
					  // skip expression or bitfield if needed
					  if ( *yytext == ':') 
					  {
					    BEGIN( NextSemi );
					  }
					  else 
					  {
					    if ( *yytext == ',' )
					    {
					      int i=oldType.length(); 
					      while (i>0 && (oldType[i-1]=='*' || oldType[i-1]==' ')) i--;
					      current->type = oldType.left(i);
					      current->doc  = oldDocs;
					    }
					    BEGIN( FindMembers ) ;
					  }
					}
	YY_BREAK
case 281:
YY_RULE_SETUP
#line 2343 "scanner.l"
{ current->args += yytext ;
					  sharpCount=1;
					  BEGIN( Array ) ;
					}
	YY_BREAK
case 282:
YY_RULE_SETUP
#line 2347 "scanner.l"
{ current->args += *yytext ;
					  if (--sharpCount<=0)
	                                     BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 283:
YY_RULE_SETUP
#line 2351 "scanner.l"
{ current->args += *yytext ;
					  sharpCount++;	
					}
	YY_BREAK
case 284:
YY_RULE_SETUP
#line 2354 "scanner.l"
{ current->args += *yytext ; }
	YY_BREAK
case 285:
YY_RULE_SETUP
#line 2356 "scanner.l"
{ addType( current ) ;
					  current->type += yytext ;
					  BEGIN( Sharp ) ;
					}
	YY_BREAK
case 286:
YY_RULE_SETUP
#line 2360 "scanner.l"
{ current->type += *yytext ;
					  if (--sharpCount<=0)
	                                     BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 287:
YY_RULE_SETUP
#line 2364 "scanner.l"
{ current->type += *yytext ;
					  sharpCount++;	
					}
	YY_BREAK
case 288:
YY_RULE_SETUP
#line 2367 "scanner.l"
{
  					  lineCount();
					}
	YY_BREAK
case 289:
YY_RULE_SETUP
#line 2370 "scanner.l"
{ current->type += *yytext ; }
	YY_BREAK
case 290:
YY_RULE_SETUP
#line 2371 "scanner.l"
{
  					  current->name = yytext;
					}
	YY_BREAK
case 291:
YY_RULE_SETUP
#line 2374 "scanner.l"
{
  					  BEGIN(FindFieldArg);
  					}
	YY_BREAK
case 292:
YY_RULE_SETUP
#line 2377 "scanner.l"
{
					  //printf("adding `%s' `%s' `%s' to enum `%s'\n",
					  //     current->type.data(), current->name.data(),
					  //     current->args.data(), current_root->name.data());
					  current->fileName   = yyFileName;
					  current->startLine  = yyLineNr;
					  current->type       = "@"; // enum marker
  					  current->args       = current->args.simplifyWhiteSpace();
  					  current->name       = current->name.stripWhiteSpace();
					  current->section    = Entry::VARIABLE_SEC;
					  // add to the scope of the enum
					  current_root->addSubEntry(current);
					  current             = new Entry(*current);
					  // add to the scope surrounding the enum (copy!)
					  current_root->parent->addSubEntry(current);
					  current             = new Entry ;
					  current->protection = protection ;
				          current->sig        = sig;
					  current->virt       = virt;
					  current->stat       = gstat;
					  current->slot       = slot;
  					}
	YY_BREAK
case 293:
YY_RULE_SETUP
#line 2399 "scanner.l"
{ unput(*yytext); BEGIN(FindFields); }
	YY_BREAK
case 294:
YY_RULE_SETUP
#line 2400 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 295:
YY_RULE_SETUP
#line 2401 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 296:
YY_RULE_SETUP
#line 2402 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 297:
YY_RULE_SETUP
#line 2403 "scanner.l"
{ current->program += yytext ;
					  lastContext = Curly ;
					  BEGIN( Comment ) ;
					}
	YY_BREAK
case 298:
YY_RULE_SETUP
#line 2407 "scanner.l"
{ current->program += yytext ;
					  ++yyLineNr ;
					  lastContext = Curly ;
					  BEGIN( Comment ) ;
					}
	YY_BREAK
case 299:
YY_RULE_SETUP
#line 2412 "scanner.l"
{ current->program += yytext; }
	YY_BREAK
case 300:
YY_RULE_SETUP
#line 2413 "scanner.l"
{ current->program += yytext; }
	YY_BREAK
case 301:
YY_RULE_SETUP
#line 2414 "scanner.l"
{ current->program += yytext; }
	YY_BREAK
case 302:
YY_RULE_SETUP
#line 2415 "scanner.l"
{ current->program += yytext ;
					  ++bracketCount ;
					}
	YY_BREAK
case 303:
YY_RULE_SETUP
#line 2418 "scanner.l"
{ if ( bracketCount )
					  {
					    current->program += yytext ;
					    --bracketCount ;
					  }
					  else
					  {
					    current->endBodyLine = yyLineNr;
					    QCString &cn = current->name;
					    //QCString rn = stripAnnonymousScope(current_root->name);
					    QCString rn = current_root->name.copy();
					    //printf("cn=`%s' rn=`%s'\n",cn.data(),rn.data());
					    if (!cn.isEmpty() && !rn.isEmpty() && 
					      (current_root->section & Entry::SCOPE_MASK))
					    {
					      cn.prepend(rn+"::");
					    }
					    if (isTypedef && cn.isEmpty())
					    {
					      //printf("Typedef Name\n");
					      BEGIN( TypedefName );
					    }
					    else
					    {
					      if (current->section == Entry::ENUM_SEC)
					      {
					        current->program+=','; // add field terminator
					      }
					      // add compound definition to the tree
  					      current->args = current->args.simplifyWhiteSpace();
  					      current->type = current->type.simplifyWhiteSpace();
  					      current->name = current->name.stripWhiteSpace();
					      //printf("adding `%s' `%s' `%s' brief=%s\n",current->type.data(),current->name.data(),current->args.data(),current->brief.data());
					      current_root->addSubEntry( current ) ;
					      current = new Entry(*current);
					      if (current->section==Entry::NAMESPACE_SEC || 
						  current->section==Entry::INTERFACE_SEC
						 )
					      { // namespaces and interfaces ends with a closing bracket without semicolon
						current->reset();
						current->protection = protection ;
						current->sig = sig;
						current->virt = virt;
						current->stat = gstat;
						current->slot = slot;
						BEGIN( FindMembers ) ;
					      }
					      else
						BEGIN( MemberSpec ) ;
					    }
					  }
					}
	YY_BREAK
case 304:
YY_RULE_SETUP
#line 2470 "scanner.l"
{
  					  if (current->section == Entry::ENUM_SEC)
					  {
					    current->program+=","; // add field terminator
					  }
  				          current->name=yytext;
					  if (current_root->section & Entry::SCOPE_MASK)
					  {
					    current->name.prepend(current_root->name+"::");
					  }
  					  current->args = current->args.simplifyWhiteSpace();
  					  current->type = current->type.simplifyWhiteSpace();
					  //printf("Adding compound %s %s %s\n",current->type.data(),current->name.data(),current->args.data());
					  current_root->addSubEntry( current ) ;
					  current = new Entry;
					  current->protection = protection ;
					  current->sig = sig;
					  current->virt = virt;
					  current->stat = gstat;
					  current->slot = slot;
  					  BEGIN(MemberSpecSkip); 
  					}
	YY_BREAK
case 305:
YY_RULE_SETUP
#line 2492 "scanner.l"
{ // the [] part could be improved.
  					  lineCount();
  					  int i=0,l=yyleng,j;
					  while (iname.isEmpty())
					   /* && (current->section & Entry::COMPOUND_MASK)) */
					  { 
					    // see if the compound does not have a name or is inside another
					    // annonymous compound. If so we insert a 
					    // special `annonymous' variable.
					    Entry *p=current_root;
					    while (p)
					    {
					      // only look for class scopes, not namespace scopes
					      if (p->section & Entry::COMPOUND_MASK)
					      {
						//printf("Trying scope `%s'\n",p->name.data());
						int i=p->name.findRev("::");
						int pi = (i==-1) ? 0 : i+2;
						if (p->name.at(pi)=='@')
						{
						  // annonymous compound inside -> insert dummy variable name
						  //printf("Adding annonymous variable for scope %s\n",p->name.data());
						  msName.sprintf("@%d",anonCount++); 
						  break;
						}
					      }
					      p=p->parent;
					    }
					  }
					  if (!msName.isEmpty())
					  {
  					    Entry *varEntry=new Entry;
					    varEntry->protection = current->protection ;
					    varEntry->sig = current->sig;
					    varEntry->virt = current->virt;
					    varEntry->stat = current->stat;
					    varEntry->slot = current->slot;
					    varEntry->section = Entry::VARIABLE_SEC;
					    varEntry->name = msName.stripWhiteSpace();
					    varEntry->type = current->type.simplifyWhiteSpace()+" ";
					    varEntry->args = msArgs; //current->args.simplifyWhiteSpace();
					    //if (current->name.length()>0 && current->name[0]!='@' && 
					    //    current->parent->section & Entry::COMPOUND_MASK)
					    //  varEntry->type+=current->parent->name+"::";
					    if (isTypedef)
					      varEntry->type.prepend("typedef ");
					    varEntry->type+=current->name+msType;
					    varEntry->fileName = yyFileName;
					    varEntry->startLine = yyLineNr;
					    varEntry->doc = current->doc.copy();
					    varEntry->brief = current->brief.copy();
					    //printf("Add: type=`%s',name=`%s',args=`%s'\n",
					    //      varEntry->type.data(),varEntry->name.data(),varEntry->args.data());
					    current_root->addSubEntry(varEntry);
					  }
					  if (*yytext==';')
					  {
					    msType.resize(0);
					    msName.resize(0);
					    msArgs.resize(0);
					    isTypedef=FALSE;
					    current->reset();
					    current->protection = protection ;
					    current->sig = sig;
					    current->virt = virt;
					    current->stat = gstat;
					    current->slot = slot;
					    BEGIN( FindMembers );
					  }
  					}					
	YY_BREAK
case 307:
YY_RULE_SETUP
#line 2574 "scanner.l"
{ BEGIN(MemberSpecSkip); }
	YY_BREAK
case 308:
YY_RULE_SETUP
#line 2575 "scanner.l"
{
  					  bracketCount=0;
					  lastCurlyContext = MemberSpecSkip;
					  previous = current;
  					  BEGIN(SkipCurly);
  					}
	YY_BREAK
case 309:
YY_RULE_SETUP
#line 2581 "scanner.l"
{ BEGIN(MemberSpec); }
	YY_BREAK
case 310:
YY_RULE_SETUP
#line 2582 "scanner.l"
{ unput(';'); BEGIN(MemberSpec); }
	YY_BREAK
case 311:
YY_RULE_SETUP
#line 2583 "scanner.l"
{ current->program += yytext ;
					  lineCount() ;
					}
	YY_BREAK
case 312:
YY_RULE_SETUP
#line 2586 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 313:
YY_RULE_SETUP
#line 2588 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
  					  lineCount();
  					  addType(current);
					  funcPtrType=yytext;
					  //current->type += yytext;
					  BEGIN( FuncPtr );
  					}
	YY_BREAK
case 314:
YY_RULE_SETUP
#line 2596 "scanner.l"
{
  					  current->name = yytext;
					  BEGIN( EndFuncPtr );
  					}
	YY_BREAK
case 315:
YY_RULE_SETUP
#line 2600 "scanner.l"
{
  					  //printf("Error: FuncPtr `%c' unexpected at line %d of %s\n",*yytext,yyLineNr,yyFileName);
  					}
	YY_BREAK
case 316:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2603 "scanner.l"
{ // a variable with extra braces
 					  lineCount();
					  current->type+=funcPtrType.data()+1;
  					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 317:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2608 "scanner.l"
{ // a variable function
  					  lineCount();
					  current->type+=funcPtrType+")";
					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 318:
YY_RULE_SETUP
#line 2613 "scanner.l"
{ // a function returning a function
  					  current->args += *yytext ;
					  bracketCount=0;
					  BEGIN( FuncFunc );
  					}
	YY_BREAK
case 319:
YY_RULE_SETUP
#line 2618 "scanner.l"
{
  					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 320:
YY_RULE_SETUP
#line 2621 "scanner.l"
{
  					  current->args += *yytext ;
  					  ++bracketCount;
					}
	YY_BREAK
case 321:
YY_RULE_SETUP
#line 2625 "scanner.l"
{
  					  current->args += *yytext ;
  					  if ( bracketCount )
					    --bracketCount;
					  else
					  {
					    BEGIN(FuncFuncEnd);
					  }
  					}
	YY_BREAK
case 322:
YY_RULE_SETUP
#line 2634 "scanner.l"
{
  					  lineCount();
					  current->type+=funcPtrType+")(";
					  BEGIN(FuncFuncType);
  					}
	YY_BREAK
case 323:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 2639 "scanner.l"
{
  					  lineCount();
					  current->type+=funcPtrType.data()+1;
  					  BEGIN(Function);
  					}
	YY_BREAK
case 324:
YY_RULE_SETUP
#line 2644 "scanner.l"
{
  					  current->args += *yytext;
  					}
	YY_BREAK
case 325:
YY_RULE_SETUP
#line 2647 "scanner.l"
{
  					  current->type += *yytext;
					  bracketCount++;
  					}
	YY_BREAK
case 326:
YY_RULE_SETUP
#line 2651 "scanner.l"
{
  					  current->type += *yytext;
  					  if (bracketCount)
					    --bracketCount;
					  else
					    BEGIN(Function);
					}
	YY_BREAK
case 327:
YY_RULE_SETUP
#line 2658 "scanner.l"
{ lineCount() ; current->type += ", " ; }
	YY_BREAK
case 328:
YY_RULE_SETUP
#line 2659 "scanner.l"
{ lineCount() ; current->type += ' ' ; }
	YY_BREAK
case 329:
YY_RULE_SETUP
#line 2660 "scanner.l"
{
  					  current->type += *yytext;
  					}
	YY_BREAK
case 330:
YY_RULE_SETUP
#line 2663 "scanner.l"
{ current->args = yytext;
  					  current->bodyLine = yyLineNr;
					  currentArgumentContext = FuncQual;
					  copyArgString=¤t->args;
					  BEGIN( ReadFuncArgType ) ;
					  //printf(">>> Read function arguments!\n");
					}
	YY_BREAK
/*
"("{BN}*("void"{BN}*)?")"	{
  					  lineCount();
  					  current->args = "()"; 
  					  BEGIN( FuncQual );
  					}
  */
/*- Function argument reading rules ---------------------------------------*/
case 331:
YY_RULE_SETUP
#line 2680 "scanner.l"
{ *copyArgString+=yytext; }
	YY_BREAK
case 332:
YY_RULE_SETUP
#line 2681 "scanner.l"
{ *copyArgString+=yytext; }
	YY_BREAK
case 333:
YY_RULE_SETUP
#line 2682 "scanner.l"
{ *copyArgString+=yytext; }
	YY_BREAK
case 334:
YY_RULE_SETUP
#line 2683 "scanner.l"
{
  					  *copyArgString+=" ";
  					  lineCount();
  					}
	YY_BREAK
case 335:
YY_RULE_SETUP
#line 2687 "scanner.l"
{
  					  *copyArgString+=*yytext;
					  lastCopyArgStringContext = YY_START;
  					  BEGIN( CopyArgString );
  					}
	YY_BREAK
case 336:
YY_RULE_SETUP
#line 2692 "scanner.l"
{
  					  *copyArgString+=*yytext;
  					  argRoundCount=0; 
					  lastCopyArgContext = YY_START;
					  BEGIN( CopyArgRound ); 
  					}
	YY_BREAK
case 337:
YY_RULE_SETUP
#line 2698 "scanner.l"
{ 
  					  *copyArgString+=*yytext;
					  stringToArgumentList(*copyArgString,current->argList);
					  BEGIN( currentArgumentContext );
					}
	YY_BREAK
case 338:
YY_RULE_SETUP
#line 2703 "scanner.l"
{
					  *copyArgString+=*yytext;
					  argSharpCount=0;
					  BEGIN( CopyArgSharp );
					}
	YY_BREAK
case 339:
YY_RULE_SETUP
#line 2708 "scanner.l"
{
					  *copyArgString+=*yytext;
					  //printf("end template list %s\n",copyArgString->data());
					  stringToArgumentList(*copyArgString,currentArgumentList);
					  BEGIN( currentArgumentContext );
					}
	YY_BREAK
case 340:
YY_RULE_SETUP
#line 2714 "scanner.l"
{
  					  argRoundCount++;
					  *copyArgString+=*yytext;
  					}
	YY_BREAK
case 341:
YY_RULE_SETUP
#line 2718 "scanner.l"
{
					  *copyArgString+=*yytext;
					  if (argRoundCount>0) 
					    argRoundCount--;
					  else 
					    BEGIN( lastCopyArgContext );
  					}
	YY_BREAK
case 342:
YY_RULE_SETUP
#line 2725 "scanner.l"
{
  					  argSharpCount++;
					  *copyArgString+=*yytext;
  					}
	YY_BREAK
case 343:
YY_RULE_SETUP
#line 2729 "scanner.l"
{
  					  *copyArgString+=*yytext;
					  if (argRoundCount>0)
					    argRoundCount--;
					  else
					    BEGIN( ReadTempArgs );
  					}
	YY_BREAK
case 344:
YY_RULE_SETUP
#line 2736 "scanner.l"
{
  					  *copyArgString+=yytext;
  					}
	YY_BREAK
case 345:
YY_RULE_SETUP
#line 2739 "scanner.l"
{
  					  *copyArgString+=*yytext;
					  BEGIN( lastCopyArgStringContext );
  					}
	YY_BREAK
case 346:
YY_RULE_SETUP
#line 2743 "scanner.l"
{ *copyArgString+=yytext; }
	YY_BREAK
case 347:
YY_RULE_SETUP
#line 2744 "scanner.l"
{ *copyArgString+=yytext; }
	YY_BREAK
case 348:
YY_RULE_SETUP
#line 2745 "scanner.l"
{ *copyArgString+=yytext; }
	YY_BREAK
case 349:
YY_RULE_SETUP
#line 2746 "scanner.l"
{ yyLineNr++; *copyArgString+=*yytext; }
	YY_BREAK
case 350:
YY_RULE_SETUP
#line 2747 "scanner.l"
{ *copyArgString+=*yytext; }
	YY_BREAK
/*------------------------------------------------------------------------*/
case 351:
YY_RULE_SETUP
#line 2754 "scanner.l"
{ current->args += *yytext ;
					  ++bracketCount ;
					}
	YY_BREAK
case 352:
YY_RULE_SETUP
#line 2757 "scanner.l"
{ current->args += *yytext ; 
					  if ( bracketCount )
					    --bracketCount ;
				          else
					    BEGIN( FuncQual ) ;
					}
	YY_BREAK
/*
"#"				{ lastCPPContext = YY_START;
  					  BEGIN(SkipCPP);
					}
  */
case 353:
YY_RULE_SETUP
#line 2768 "scanner.l"
{ unput(*yytext); BEGIN( Function ); }
	YY_BREAK
case 354:
YY_RULE_SETUP
#line 2769 "scanner.l"
{ 
  					  lineCount() ; 
  					  current->args += " const "; 
					  current->argList->constSpecifier=TRUE;
					}
	YY_BREAK
case 355:
YY_RULE_SETUP
#line 2774 "scanner.l"
{ 
  					  lineCount() ; 
  					  current->args += " volatile "; 
					  current->argList->volatileSpecifier=TRUE;
					}
	YY_BREAK
case 356:
YY_RULE_SETUP
#line 2779 "scanner.l"
{ 
  					  lineCount() ; 
					  current->args += " = 0"; 
					  current->virt = Pure; 
					  current->argList->pureSpecifier=TRUE;
					}
	YY_BREAK
case 357:
YY_RULE_SETUP
#line 2785 "scanner.l"
{ 
  					  lineCount() ; 
					  current->args += ", " ; 
					}
	YY_BREAK
case 358:
YY_RULE_SETUP
#line 2789 "scanner.l"
{ 
  					  lineCount() ; 
					  current->args += ' ' ; 
					}
	YY_BREAK
case 359:
YY_RULE_SETUP
#line 2793 "scanner.l"
{ current->args += *yytext; }
	YY_BREAK
case 360:
YY_RULE_SETUP
#line 2794 "scanner.l"
{ 
  					  current->exception = " throw (" ;
					  lineCount() ;
					  BEGIN( ExcpRound ) ;
					}
	YY_BREAK
case 361:
YY_RULE_SETUP
#line 2799 "scanner.l"
{
  					  current->exception = " raises (" ;
					  lineCount() ;
					  BEGIN( ExcpRound ) ;
  					}
	YY_BREAK
case 362:
YY_RULE_SETUP
#line 2804 "scanner.l"
{ current->exception += *yytext ;
					  ++bracketCount ;
					}
	YY_BREAK
case 363:
YY_RULE_SETUP
#line 2807 "scanner.l"
{ current->exception += *yytext ; 
					  if ( bracketCount )
					    --bracketCount ;
				          else
					    BEGIN( FuncQual ) ;
					}
	YY_BREAK
case 364:
YY_RULE_SETUP
#line 2813 "scanner.l"
{
  					  current->exception += yytext;
  					}
	YY_BREAK
case 365:
YY_RULE_SETUP
#line 2816 "scanner.l"
{ current->type += current->name ;
					  current->name  = current->args ;
					  current->args  = yytext ;
					  BEGIN( FuncRound ) ;
					}
	YY_BREAK
case 366:
YY_RULE_SETUP
#line 2821 "scanner.l"
{ lastCPPContext = YY_START;
  					  BEGIN(SkipCPP);
					}	
	YY_BREAK
case 367:
YY_RULE_SETUP
#line 2824 "scanner.l"
{ 
					  current->name=current->name.simplifyWhiteSpace();
  					  current->type=current->type.simplifyWhiteSpace();
  					  current->args=current->args.simplifyWhiteSpace();
					  QCString &cn=current->name;
					  QCString &rn=current_root->name;
					  //printf("current_root->name=`%s'\n",rn.data());
  					  //printf("Function: `%s' `%s' `%s'\n",current->type.data(),cn.data(),current->args.data());
					  int i;
					  if ((i=cn.findRev("::"))!=-1) // name contains scope
					  {
					    if (cn.left(i)==rn.right(i)) // scope name is redundant
					    {
                                              cn=cn.right(cn.length()-i-2); // strip scope
					      //printf("new name=`%s'\n",cn.data());
					    }
					  }
					  //if (cname.left(current_root->name.length()+2)==current_root->name+"::") 
					  //{ // strip redundant scope
					  //  current->name=current->name.right(current->name.length()-current_root->name.length()-2);
					  //  printf("new name=`%s'\n",current->name.data());
					  //}
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  if (*yytext!=';' || (current_root->section&Entry::SCOPE_MASK) )
					  {
					    int tempArg=current->name.find('<');
					    QCString tempName;
					    if (tempArg==-1) 
					      tempName=current->name;
					    else
					      tempName=current->name.left(tempArg);
					    if (current->type.isEmpty() && tempName.find("operator")==-1 && 
						(tempName.find('*')!=-1 || tempName.find('&')!=-1))
					    {
					      //printf("Scanner.l: found in class variable: `%s' `%s' `%s'\n",
					      //   current->type.data(),current->name.data(),current->args.data());
					      current->section = Entry::VARIABLE_SEC ;
					    }
					    else	      
					    {
					      //printf("Scanner.l: found in class function: `%s' `%s' `%s'\n",
					      //   current->type.data(),current->name.data(),current->args.data());
					      current->section = Entry::FUNCTION_SEC ;
					    }
					  }
					  else // a global function prototype or function variable
					  {
					    //printf("Scanner.l: prototype? type=`%s' name=`%s' args=`%s'\n",current->type.data(),current->name.data(),current->args.data());
					    QRegExp re("([^)]*)");
					    if (!current->type.isEmpty() && 
						(current->type.find(re,0)!=-1 || current->type.left(8)=="typedef "))
					    {
					      //printf("Scanner.l: found function variable!\n");
					      current->section = Entry::VARIABLE_SEC;
					    }
					    else
					    {
					      //printf("Scanner.l: found prototype\n");
  					      current->section = Entry::FUNCTION_SEC;
					      current->proto = TRUE;
					    }
					  }
					  //printf("Adding entry `%s' inLine`%d' bodyLine=`%d'\n",
					  //    current->name.data(),current->inLine,current->bodyLine);
					  previous = current;
					  current_root->addSubEntry(current);
					  current = new Entry ;
					  current->protection = protection;
				          current->sig = sig;
					  current->virt = virt;
					  current->stat = gstat;
					  current->slot = slot;
					  current->mGrpId = memberGroupId;
					  lastCurlyContext = FindMembers;
					  if( *yytext == '{' )
					  {
					    if (current_root->section & Entry::COMPOUND_MASK)
					      previous->inLine = TRUE;
					    //addToBody(yytext);
					    BEGIN( SkipCurly ) ;
					  }
					  else if( *yytext == ':' )
					  {
					    //addToBody(yytext);
					    BEGIN( SkipInits ) ;
					  }
					  else
					  {
					    if (previous->section!=Entry::VARIABLE_SEC)
					      previous->bodyLine=-1; // a function/member declaration
					    BEGIN( FindMembers ) ;
					  }
					}
	YY_BREAK
case 368:
YY_RULE_SETUP
#line 2919 "scanner.l"
{ 
  				          //addToBody(yytext);
  				          lastCurlyContext = FindMembers;
  					  BEGIN( SkipCurly ) ; 
					}
	YY_BREAK
case 369:
YY_RULE_SETUP
#line 2924 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  ++bracketCount ; 
					}
	YY_BREAK
case 370:
YY_RULE_SETUP
#line 2928 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  if( bracketCount )
					    --bracketCount ;
					  else
					  {
					    previous->endBodyLine=yyLineNr;
					    BEGIN( lastCurlyContext ) ;
					  }
					}
	YY_BREAK
case 371:
YY_RULE_SETUP
#line 2938 "scanner.l"
{ 
  					  if ( bracketCount )
					  {
					    //addToBody(yytext);
					    --bracketCount ;
					  }
					  else
					  {
					    current->endBodyLine=yyLineNr;
					    lineCount();
					    tempEntry = current; // temporarily switch to the previous entry
					    current = previous;
					    current->doc.resize(0);
					    current->brief.resize(0);
					    lastAfterDocContext = SkipCurlyEndDoc;
					    afterDocTerminator = '}';
					    if (yytext[yyleng-3]=='/')
					      BEGIN(AfterDocLine);
					    else if (yytext[yyleng-2]=='*' && Config::autoBriefFlag)
					      BEGIN(AfterDocBrief);
					    else
					      BEGIN(AfterDoc);
					  }
					}
	YY_BREAK
case 372:
YY_RULE_SETUP
#line 2962 "scanner.l"
{
  				          //addToBody("}");
					  current = tempEntry;
  					  BEGIN( lastCurlyContext );
  					}
	YY_BREAK
case 373:
YY_RULE_SETUP
#line 2967 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 374:
YY_RULE_SETUP
#line 2970 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 375:
YY_RULE_SETUP
#line 2973 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 376:
YY_RULE_SETUP
#line 2976 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  lastStringContext=SkipCurly;
  				          BEGIN( SkipString ); 
					}
	YY_BREAK
case 377:
YY_RULE_SETUP
#line 2981 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  BEGIN( SkipCurlyCpp ); 
					}
	YY_BREAK
case 378:
YY_RULE_SETUP
#line 2985 "scanner.l"
{
  					  yyLineNr++;
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 379:
YY_RULE_SETUP
#line 2989 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 380:
YY_RULE_SETUP
#line 2992 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  yyLineNr++; 
  					  lastCurlyContext = FindMembers;
  					  BEGIN( SkipCurly ); 
					}
	YY_BREAK
case 381:
YY_RULE_SETUP
#line 2998 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  yyLineNr++; 
					}
	YY_BREAK
case 382:
YY_RULE_SETUP
#line 3002 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 383:
YY_RULE_SETUP
#line 3005 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 384:
YY_RULE_SETUP
#line 3008 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 385:
YY_RULE_SETUP
#line 3011 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 386:
YY_RULE_SETUP
#line 3014 "scanner.l"
{
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 387:
YY_RULE_SETUP
#line 3017 "scanner.l"
{ 
  				          //addToBodyCond(yytext);
  					  BEGIN( lastStringContext ); 
					}
	YY_BREAK
case 388:
YY_RULE_SETUP
#line 3021 "scanner.l"
{
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 389:
YY_RULE_SETUP
#line 3024 "scanner.l"
{
  					  yyLineNr++;
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 390:
YY_RULE_SETUP
#line 3028 "scanner.l"
{
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 391:
YY_RULE_SETUP
#line 3031 "scanner.l"
{ 
					  current->section = Entry::EMPTY_SEC ;
					  current->type.resize(0) ;
					  current->name.resize(0) ;
					  current->args.resize(0) ;
					  current->argList->clear();
					  BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 392:
YY_RULE_SETUP
#line 3039 "scanner.l"
{ 
					  current->name = yytext ;
					  lineCount();
					  BEGIN( ClassVar );
					}
	YY_BREAK
/*
{ID}/{BN}*"{"			{ // we probably got some M$ extension
  					  current->name = yytext ;
  					}
{ID}/{BN}*":"			{ // we probably got some M$ extension
  					  current->name = yytext ;
  					}
  */
case 393:
YY_RULE_SETUP
#line 3052 "scanner.l"
{
					  if (isTypedef)
					  {
					    typedefDict.insert(yytext,new QCString(current->name));
					    current->type.prepend("typedef ");
					  }
  					  current->type += ' ' ;
					  current->type += current->name ;
					  current->name = yytext ;
					  //BEGIN( FindMembers );
  					}
	YY_BREAK
case 394:
YY_RULE_SETUP
#line 3063 "scanner.l"
{
                                          // probably a function anyway
                                          unput('(');
					  BEGIN( FindMembers );
					}
	YY_BREAK
case 395:
YY_RULE_SETUP
#line 3068 "scanner.l"
{ 
  					  current->type.resize(0);
					  if (current->section == Entry::INTERFACE_SEC)
					    baseProt=Public;
					  else  
					    baseProt=Private;
                                          baseVirt=Normal;
					  baseName.resize(0);
					  BEGIN( BasesProt ) ;
					}
	YY_BREAK
case 396:
YY_RULE_SETUP
#line 3078 "scanner.l"
{
    					  unput(*yytext);
					  BEGIN( FindMembers );
    					}
	YY_BREAK
case 397:
YY_RULE_SETUP
#line 3082 "scanner.l"
{ current->fileName = yyFileName ;
					  current->startLine = yyLineNr ;
					  current->name = removeRedundantWhiteSpace(current->name);
					  if (current->name.length()==0 && !isTypedef) // anonymous compound
					    current->name.sprintf("@%d",anonCount++);
					  BEGIN( Curly ) ;
					}
	YY_BREAK
case 398:
YY_RULE_SETUP
#line 3089 "scanner.l"
{ baseVirt = Virtual; }
	YY_BREAK
case 399:
YY_RULE_SETUP
#line 3090 "scanner.l"
{ baseProt = Public; }
	YY_BREAK
case 400:
YY_RULE_SETUP
#line 3091 "scanner.l"
{ baseProt = Protected; }
	YY_BREAK
case 401:
YY_RULE_SETUP
#line 3092 "scanner.l"
{ baseProt = Private; }
	YY_BREAK
case 402:
YY_RULE_SETUP
#line 3093 "scanner.l"
{}
	YY_BREAK
case 403:
YY_RULE_SETUP
#line 3094 "scanner.l"
{ unput(*yytext); BEGIN(Bases); }
	YY_BREAK
case 404:
YY_RULE_SETUP
#line 3095 "scanner.l"
{ 
  					  //current->extends->append(
					  //  new BaseInfo(yytext,baseProt,baseVirt)
					  //) ;
  					  if (*yytext != ':')
  					    baseName += yytext;
					  else
					    baseName += (yytext+2);
					  current->args += ' ';
					  if (*yytext != ':')
					    current->args += yytext;
					  else
					    current->args += (yytext+2);
					}
	YY_BREAK
case 405:
YY_RULE_SETUP
#line 3109 "scanner.l"
{ current->name += *yytext;
  					  sharpCount=1; 
					  lastSkipSharpContext = YY_START;
					  specName = ¤t->name;
					  BEGIN ( Specialization );
					}
	YY_BREAK
case 406:
YY_RULE_SETUP
#line 3115 "scanner.l"
{ baseName += *yytext;
  					  sharpCount=1; 
					  lastSkipSharpContext = YY_START;
					  specName = &baseName;
					  BEGIN ( Specialization );
					}
	YY_BREAK
case 407:
YY_RULE_SETUP
#line 3121 "scanner.l"
{ *specName += *yytext;
  					  sharpCount++;
  					}
	YY_BREAK
case 408:
YY_RULE_SETUP
#line 3124 "scanner.l"
{
  					  *specName += *yytext;
  					  if (--sharpCount<=0)
					    BEGIN(lastSkipSharpContext);
  					}
	YY_BREAK
case 409:
YY_RULE_SETUP
#line 3129 "scanner.l"
{ lineCount(); *specName +=' '; }
	YY_BREAK
case 410:
YY_RULE_SETUP
#line 3130 "scanner.l"
{
  					  *specName += *yytext;
  					}
	YY_BREAK
case 411:
YY_RULE_SETUP
#line 3133 "scanner.l"
{ ++sharpCount; }
	YY_BREAK
case 412:
YY_RULE_SETUP
#line 3134 "scanner.l"
{ if (--sharpCount<=0)
					    BEGIN ( lastSkipSharpContext );
					}
	YY_BREAK
case 413:
YY_RULE_SETUP
#line 3137 "scanner.l"
{ ++roundCount; }
	YY_BREAK
case 414:
YY_RULE_SETUP
#line 3138 "scanner.l"
{ if (--roundCount<=0)
					    BEGIN ( lastSkipRoundContext );
					}
	YY_BREAK
case 415:
YY_RULE_SETUP
#line 3141 "scanner.l"
{ current->args += ',' ; 
					  current->name = removeRedundantWhiteSpace(current->name);
  					  if (baseName.length()>0)
  					    current->extends->append(
					      new BaseInfo(baseName,baseProt,baseVirt)
					    );
					  baseProt=Private;
					  baseVirt=Normal;
					  baseName.resize(0);
					  BEGIN(BasesProt);
					}
	YY_BREAK
case 416:
YY_RULE_SETUP
#line 3152 "scanner.l"
{ current->fileName = yyFileName ;
					  current->startLine = yyLineNr ;
					  current->name = removeRedundantWhiteSpace(current->name);
  					  if (baseName.length()>0)
  					    current->extends->append(
					      new BaseInfo(baseName,baseProt,baseVirt)
					    );
					  BEGIN( Curly ) ;
					}
	YY_BREAK
case 417:
YY_RULE_SETUP
#line 3161 "scanner.l"
{ current->program += yytext ;
					  lineCount() ;
					}
	YY_BREAK
case 418:
YY_RULE_SETUP
#line 3164 "scanner.l"
{ current->program += yytext ; } 
	YY_BREAK
case 419:
YY_RULE_SETUP
#line 3165 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 420:
YY_RULE_SETUP
#line 3166 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 421:
YY_RULE_SETUP
#line 3167 "scanner.l"
{ current->program += yytext ;
					  BEGIN( Curly ) ;
					}
	YY_BREAK
case 422:
YY_RULE_SETUP
#line 3170 "scanner.l"
{ current->program += *yytext ; }
	YY_BREAK
case 423:
YY_RULE_SETUP
#line 3172 "scanner.l"
{ 
  					  //printf("Start doc block at %d\n",yyLineNr);
					  removeSlashes=(yytext[1]=='/');
					  tmpDocType=-1;
					  if (YY_START==Curly)
					    current->doc+="\n\n";
					  else
  					    current->doc.resize(0);
					  lastDocContext = YY_START;
					  if (current_root->section & Entry::SCOPE_MASK)
					    current->inside = current_root->name+"::";
					  BEGIN( Doc );
					}
	YY_BREAK
case 424:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3185 "scanner.l"
{
  					  removeSlashes=(yytext[1]=='/');
					  lastDocContext = YY_START;
					  if (current_root->section & Entry::SCOPE_MASK)
					    current->inside = current_root->name+"::";
					  if (!Config::autoBriefFlag) // use the Qt style
					  {
					    tmpDocType=-1;
					    if (YY_START==Curly)
					      current->doc+="\n\n";
					    else
  					      current->doc.resize(0);
					    BEGIN( Doc );
					  }
					  else // Use the javadoc style
					  {
					    if (YY_START==Curly)
					    {
					      tmpDocType=-1;
					      current->doc+="\n\n";
					      lastDocContext = Curly;
					      BEGIN( Doc );
					    }
					    else
					    {  
					      tmpDocType=Doc;
					      current->doc.resize(0);
					      current->brief.resize(0);
					      BEGIN( JavaDoc );
					    }
					  }
  					}
	YY_BREAK
case 425:
YY_RULE_SETUP
#line 3217 "scanner.l"
{ 
  					  current->brief.resize(0);
					  tmpDocType=-1;
					  lastDocContext = YY_START;
					  if (current_root->section & Entry::SCOPE_MASK)
					    current->inside = current_root->name+"::";
					  BEGIN( LineDoc );
					}
	YY_BREAK
case 426:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp = yy_bp + 3;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3225 "scanner.l"
{ 
  					  current->brief.resize(0);
					  tmpDocType=-1;
					  lastDocContext = YY_START;
					  if (current_root->section & Entry::SCOPE_MASK)
					    current->inside = current_root->name+"::";
					  BEGIN( LineDoc );
					}
	YY_BREAK
case 427:
YY_RULE_SETUP
#line 3233 "scanner.l"

	YY_BREAK
case 428:
YY_RULE_SETUP
#line 3234 "scanner.l"
{
  					  current->type.resize(0);
  					  current->name.resize(0);
  					  current->args.resize(0);
					  current->argList->clear();
					  bracketCount=0;
					  BEGIN( SkipCurlyBlock );
					  	
  					}
	YY_BREAK
case 429:
YY_RULE_SETUP
#line 3243 "scanner.l"
{
  					  lastBriefContext=Doc;
  					  BEGIN( ClassDocBrief ); 
					}
	YY_BREAK
case 430:
YY_RULE_SETUP
#line 3247 "scanner.l"
{
  					  lastBriefContext=tmpDocType;
  					  BEGIN( ClassDocBrief ); 
					}
	YY_BREAK
case 431:
YY_RULE_SETUP
#line 3251 "scanner.l"
{
					  lineCount();
					  if (!current->brief.stripWhiteSpace().isEmpty())
					  {
					    BEGIN( tmpDocType );
					  }
 					} 
	YY_BREAK
case 432:
YY_RULE_SETUP
#line 3258 "scanner.l"
{
  					  unput(*yytext);
					  BEGIN(Doc);
  					}
	YY_BREAK
case 433:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3262 "scanner.l"
{
  					  //printf("---> removing %s\n",yytext);
  					}
	YY_BREAK
/*
[^\n\@\*\.\\]+			{
  					  current->brief+=yytext;
  					}
  */
case 434:
YY_RULE_SETUP
#line 3270 "scanner.l"
{
  				          //printf("---> copy %c\n",*yytext);
  					  current->brief+=*yytext;
  					}
	YY_BREAK
case 435:
YY_RULE_SETUP
#line 3274 "scanner.l"
{
  					  current->brief+=' ';
					  lineCount();
  					}
	YY_BREAK
case 436:
YY_RULE_SETUP
#line 3278 "scanner.l"
{
  					  lineCount();
					  current->brief+=".";
					  BEGIN( tmpDocType );
					}
	YY_BREAK
case 437:
YY_RULE_SETUP
#line 3283 "scanner.l"
{ 
  					  current->doc+=yytext;
					  BEGIN( tmpDocType );
  					}
	YY_BREAK
case 438:
YY_RULE_SETUP
#line 3287 "scanner.l"
{
					  current->section = Entry::MEMBERDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
  					  BEGIN( ClassDocFunc ); 
					}
	YY_BREAK
case 439:
YY_RULE_SETUP
#line 3293 "scanner.l"
{
  					  nextDefContext = YY_START==LineDoc ? DefLineDoc : ClassDoc;
  					  current->section = Entry::DEFINEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
  					  BEGIN( ClassDocDefine );
  					}
	YY_BREAK
case 440:
YY_RULE_SETUP
#line 3300 "scanner.l"
{ 
  					  overloadContext = YY_START;
  					  BEGIN( ClassDocOverload ); 
					}
	YY_BREAK
case 441:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3304 "scanner.l"
{
					  QCString orgDoc = current->doc;
					  current->doc = getOverloadDocs();
					  current->doc += "\n\n";
					  current->doc += orgDoc;
  					  BEGIN( overloadContext  );
  				        }
	YY_BREAK
case 442:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 2;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3311 "scanner.l"
{
					  QCString orgDoc = current->doc;
					  current->doc = getOverloadDocs();
					  current->doc += "\n\n";
					  current->doc += orgDoc;
  					  BEGIN( overloadContext );
  					}
	YY_BREAK
case 443:
YY_RULE_SETUP
#line 3318 "scanner.l"
{ unput(*yytext);
  					  current->section = Entry::OVERLOADDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocFunc ); 
					}
	YY_BREAK
case 444:
YY_RULE_SETUP
#line 3324 "scanner.l"
{
  					  current->section = Entry::ENUMDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( EnumDocArg1 );
  					}
	YY_BREAK
case 445:
YY_RULE_SETUP
#line 3330 "scanner.l"
{
  					  current->section = Entry::GROUPDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( GroupDocArg1 );
  					}
	YY_BREAK
case 446:
YY_RULE_SETUP
#line 3336 "scanner.l"
{
  					  current->section = Entry::NAMESPACEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
  					  BEGIN( NameSpaceDocArg1 );
  					}
	YY_BREAK
case 447:
YY_RULE_SETUP
#line 3342 "scanner.l"
{
  					  current->section = Entry::CLASSDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 448:
YY_RULE_SETUP
#line 3348 "scanner.l"
{
  					  current->section = Entry::UNIONDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 449:
YY_RULE_SETUP
#line 3354 "scanner.l"
{
  					  current->section = Entry::STRUCTDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 450:
YY_RULE_SETUP
#line 3360 "scanner.l"
{
  					  current->section = Entry::INTERFACEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 451:
YY_RULE_SETUP
#line 3366 "scanner.l"
{
  					  current->section = Entry::PAGEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( PageDocArg1 );
  					}
	YY_BREAK
case 452:
YY_RULE_SETUP
#line 3372 "scanner.l"
{
  					  current->section = Entry::MAINPAGEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( PageDocArg2 );
  					}
	YY_BREAK
case 453:
YY_RULE_SETUP
#line 3378 "scanner.l"
{
  					  current->section = Entry::FILEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( FileDocArg1 );
  					}
	YY_BREAK
case 454:
YY_RULE_SETUP
#line 3384 "scanner.l"
{
 					  current->section = Entry::EXAMPLE_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
 					  BEGIN( ExampleDocArg1 );
					}
	YY_BREAK
case 455:
YY_RULE_SETUP
#line 3390 "scanner.l"
{
				          current->name = stripQuotes(yytext);	
					  BEGIN( ExampleDoc );
					}
	YY_BREAK
case 456:
YY_RULE_SETUP
#line 3394 "scanner.l"
{ 
  					  lastDocRelContext = YY_START;
  					  BEGIN( ClassDocRelates ); 
					}
	YY_BREAK
case 457:
YY_RULE_SETUP
#line 3398 "scanner.l"
{ 
  					  current->relates = yytext;
					  BEGIN( lastDocRelContext );
					}
	YY_BREAK
case 458:
YY_RULE_SETUP
#line 3402 "scanner.l"
{
  					  current->name = yytext;
					  newDocState();
  					}
	YY_BREAK
case 459:
YY_RULE_SETUP
#line 3406 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\namespace at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
  					}
	YY_BREAK
case 460:
YY_RULE_SETUP
#line 3411 "scanner.l"
{
					  current->name = yytext;
					  // prepend outer scope name 
					  if (current_root->section & Entry::SCOPE_MASK)
					  {
					    current->name.prepend(current_root->name+"::");
					  }
					  BEGIN( ClassDocArg2 );
					}
	YY_BREAK
case 461:
YY_RULE_SETUP
#line 3420 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\class at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
					  
  					}
	YY_BREAK
case 462:
YY_RULE_SETUP
#line 3426 "scanner.l"
{
  					  current->name = yytext;
					  if (current->name.right(5)==".html") 
					    current->name=current->name.left(current->name.length()-5);
					  BEGIN(GroupDocArg2);
  					}
	YY_BREAK
case 463:
YY_RULE_SETUP
#line 3432 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\defgroup at line %d of %s.\n",yyLineNr,yyFileName);
					  yyLineNr++;
					  BEGIN( Doc );
  					}
	YY_BREAK
case 464:
YY_RULE_SETUP
#line 3438 "scanner.l"
{
					  current->type = yytext;
					  current->type = current->type.stripWhiteSpace();
					  newDocState();
  					}
	YY_BREAK
case 465:
YY_RULE_SETUP
#line 3443 "scanner.l"
{
 					  newDocState();
  					}
	YY_BREAK
case 466:
YY_RULE_SETUP
#line 3446 "scanner.l"
{
  					  //printf("ClassDocArg2=%s\n",yytext);
					  current->includeFile = stripQuotes(yytext);
					  BEGIN( ClassDocArg3 );
					}
	YY_BREAK
case 467:
YY_RULE_SETUP
#line 3451 "scanner.l"
{ yyLineNr++; 
					  newDocState();
					}
	YY_BREAK
case 468:
YY_RULE_SETUP
#line 3454 "scanner.l"
{
  					  //printf("ClassDocArg3=%s\n",yytext);
 					  current->includeName = stripQuotes(yytext);
  					  newDocState();
					}
	YY_BREAK
case 469:
YY_RULE_SETUP
#line 3459 "scanner.l"
{ yyLineNr++; 
  					  newDocState();
					}
	YY_BREAK
case 470:
YY_RULE_SETUP
#line 3462 "scanner.l"
{
  					  current->name = stripQuotes(yytext);
					  newDocState();
  				        }
	YY_BREAK
case 471:
YY_RULE_SETUP
#line 3466 "scanner.l"
{
  					  current->name = yyFileName;
  					  yyLineNr++;
					  newDocState();
  					}
	YY_BREAK
case 472:
YY_RULE_SETUP
#line 3471 "scanner.l"
{
					  current->name = stripQuotes(yytext);
					  BEGIN( PageDocArg2 ); 
					}
	YY_BREAK
case 473:
YY_RULE_SETUP
#line 3475 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\page at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
					  BEGIN( Doc );
  					}
	YY_BREAK
case 474:
YY_RULE_SETUP
#line 3481 "scanner.l"
{
  				          yyLineNr++;
					  current->args = yytext;
					  BEGIN( PageDoc );
					}
	YY_BREAK
case 475:
YY_RULE_SETUP
#line 3486 "scanner.l"
{
  					  current->name = yytext;
					  if (current_root->section & Entry::SCOPE_MASK)
					  {
					    current->name.prepend(current_root->name+"::");
					  }
  					  newDocState();
  					}
	YY_BREAK
case 476:
YY_RULE_SETUP
#line 3494 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\enum at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
					  BEGIN( Doc );
  					}
	YY_BREAK
case 477:
YY_RULE_SETUP
#line 3500 "scanner.l"
{
  					  current->doc+=yytext;
  					}
	YY_BREAK
case 478:
YY_RULE_SETUP
#line 3503 "scanner.l"
{
  					  sectionType=SectionInfo::Section;
  					  BEGIN(SectionLabel);
  					}
	YY_BREAK
case 479:
YY_RULE_SETUP
#line 3507 "scanner.l"
{
  					  sectionType=SectionInfo::Subsection;
  					  BEGIN(SectionLabel);
  					}
	YY_BREAK
case 480:
YY_RULE_SETUP
#line 3511 "scanner.l"
{
  					  //printf("--> mgroup found!\n");
  					  lastMemberGroupContext = YY_START;
					  if (memberGroupId!=-1)
					  {
  					    warn("Warning: ignoring nested mgroup command "
					         "at line %d of %s. Previous command was found at line %d\n",
						 yyLineNr,yyFileName,lastMemberGroupLine);
					  }
					  else
					  {
					    memberGroupId   = newMemberGroupId();
					    current->mGrpId = memberGroupId;
					    lastMemberGroupLine = yyLineNr;
					  }
					  BEGIN(GroupHeader);
  					}
	YY_BREAK
case 481:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3528 "scanner.l"
{
  					  //printf("--> endmgroup found!\n");
  					  memberGroupId = -1;
					  current->mGrpId = -1;
  					}
	YY_BREAK
case 482:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3533 "scanner.l"
{
					  QCString header = ((QCString)yytext).stripWhiteSpace();
  					  memberGroupDict.insert(memberGroupId,
					                         new MemberGroup(memberGroupId,header)
								);
  					  BEGIN(lastMemberGroupContext);
  					}
	YY_BREAK
case 483:
YY_RULE_SETUP
#line 3540 "scanner.l"
{
  					  lastAnchorContext = YY_START;
  					  sectionType=SectionInfo::Anchor;
					  BEGIN(AnchorLabel);
  					}
	YY_BREAK
case 484:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp = yy_bp + 10;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3545 "scanner.l"
{
					  current->doc+="\\\\verbatim";
					}
	YY_BREAK
case 485:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3548 "scanner.l"
{
					  lastVerbState=YY_START;
					  current->doc+="\\verbatim";
  					  BEGIN(SkipVerbatim);
  					}
	YY_BREAK
case 486:
YY_RULE_SETUP
#line 3553 "scanner.l"
{
  					  current->doc+=yytext;
  					}
	YY_BREAK
case 487:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp = yy_bp + 6;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3556 "scanner.l"
{
  					  current->doc+="\\\\code";
  					}
	YY_BREAK
case 488:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3559 "scanner.l"
{
  					  lastCodeState=YY_START;
					  current->doc+="\\code";
					  BEGIN(SkipCode);
					}
	YY_BREAK
case 489:
YY_RULE_SETUP
#line 3564 "scanner.l"
{
  					  lastCodeState=YY_START;
					  current->doc+="
";
					  BEGIN(SkipCode);
  					}
	YY_BREAK
case 490:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 3569 "scanner.l"
{
  					  current->doc+=yytext;
  					  BEGIN(lastVerbState);
  					}
	YY_BREAK
case 491:
YY_RULE_SETUP
#line 3573 "scanner.l"
{
  					  current->doc+=yytext;
  					}
	YY_BREAK
case 492:
YY_RULE_SETUP
#line 3576 "scanner.l"
{
  					  if (!removeSlashes)
					    current->doc+=yytext;
  					}
	YY_BREAK
/*
^"//"({B}*"*"+)?		{
  					  if (!removeSlashes)
					    current->doc+=yytext;
  					}
^{B}*"*"+			
  */
case 493:
YY_RULE_SETUP
#line 3587 "scanner.l"
{ 
  					  current->doc+=yytext; 
  					}
	YY_BREAK
case 494:
YY_RULE_SETUP
#line 3590 "scanner.l"
{
  					  yyLineNr++;
					  current->doc+=*yytext;
  					}
	YY_BREAK
case 495:
YY_RULE_SETUP
#line 3594 "scanner.l"
{
  					  current->doc+=*yytext;
  					}
	YY_BREAK
case 496:
YY_RULE_SETUP
#line 3597 "scanner.l"
{
  					  current->doc+="\\endcode";
					  BEGIN(lastCodeState);
  					}
	YY_BREAK
case 497:
YY_RULE_SETUP
#line 3601 "scanner.l"
{
  					  current->doc+="
"; BEGIN(lastCodeState); } YY_BREAK case 498: YY_RULE_SETUP #line 3605 "scanner.l" { if (!removeSlashes) current->doc+=yytext; } YY_BREAK case 499: YY_RULE_SETUP #line 3609 "scanner.l" YY_BREAK case 500: YY_RULE_SETUP #line 3610 "scanner.l" { current->doc+=yytext; } YY_BREAK case 501: YY_RULE_SETUP #line 3613 "scanner.l" { current->doc+=yytext; } YY_BREAK case 502: YY_RULE_SETUP #line 3616 "scanner.l" { yyLineNr++; current->doc+=*yytext; } YY_BREAK case 503: YY_RULE_SETUP #line 3620 "scanner.l" { current->doc+=*yytext; } YY_BREAK case 504: YY_RULE_SETUP #line 3623 "scanner.l" { sectionLabel=yytext; addSection(); current->doc += "\\anchor "+sectionLabel+"\n"; BEGIN(lastAnchorContext); } YY_BREAK case 505: YY_RULE_SETUP #line 3629 "scanner.l" { sectionLabel=yytext; sectionTitle.resize(0); BEGIN(SectionTitle); } YY_BREAK case 506: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 3634 "scanner.l" { sectionTitle+=yytext; sectionTitle=sectionTitle.stripWhiteSpace(); addSection(); current->doc += "\\section "+sectionLabel+"\n"; BEGIN(PageDoc); } YY_BREAK case 507: YY_RULE_SETUP #line 3641 "scanner.l" { sectionTitle+=yytext; } YY_BREAK case 508: YY_RULE_SETUP #line 3644 "scanner.l" { yyLineNr++ ; current->doc+=yytext; } YY_BREAK case 509: YY_RULE_SETUP #line 3645 "scanner.l" { current->doc += yytext; } YY_BREAK case 510: YY_RULE_SETUP #line 3646 "scanner.l" { current->doc += yytext; } YY_BREAK case 511: YY_RULE_SETUP #line 3647 "scanner.l" YY_BREAK case 512: YY_RULE_SETUP #line 3648 "scanner.l" { current->doc += yytext; } YY_BREAK case 513: YY_RULE_SETUP #line 3649 "scanner.l" { current->doc += &yytext[1]; } YY_BREAK case 514: YY_RULE_SETUP #line 3652 "scanner.l" { lastFormulaContext = YY_START; formulaText="$"; BEGIN(ReadFormulaShort); } YY_BREAK case 515: YY_RULE_SETUP #line 3657 "scanner.l" { lastFormulaContext = YY_START; formulaText="\\["; BEGIN(ReadFormulaLong); } YY_BREAK case 516: YY_RULE_SETUP #line 3662 "scanner.l" { formulaText+="$"; if (lastFormulaContext==ClassDocBrief || lastFormulaContext==LineDoc || lastFormulaContext==JavaDoc ) current->brief += addFormula(); else current->doc += addFormula(); BEGIN(lastFormulaContext); } YY_BREAK case 517: YY_RULE_SETUP #line 3673 "scanner.l" { formulaText+="\\]"; if (lastFormulaContext==ClassDocBrief || lastFormulaContext==LineDoc || lastFormulaContext==JavaDoc ) current->brief += addFormula(); else current->doc += addFormula(); BEGIN(lastFormulaContext); } YY_BREAK case 518: YY_RULE_SETUP #line 3684 "scanner.l" { formulaText+=*yytext; } YY_BREAK case 519: YY_RULE_SETUP #line 3685 "scanner.l" { checkDocs(); if (YY_START==SkipCode) // premature end of code block { err("Error: comment block ended inside \\code ... \\endcode block at line %d in %s!\n", yyLineNr,yyFileName); current->doc += "\\endcode\n\n"; BEGIN( lastDocContext ); } else if (YY_START==ClassDocBrief && lastBriefContext==Doc) { current->doc += "\n\n"; BEGIN( lastDocContext ); } else { current->doc += "\n\n"; //printf("Add docs for class %s\n",current->name.data()); current_root->addSubEntry(current); current = new Entry ; current->protection = protection ; current->sig = sig; current->virt = virt; current->stat = gstat; current->slot = slot; } BEGIN( FindMembers ); } YY_BREAK case 520: YY_RULE_SETUP #line 3714 "scanner.l" { current->args.resize(0); current->argList->clear(); BEGIN( PageDocTitle); } YY_BREAK case 521: YY_RULE_SETUP #line 3719 "scanner.l" { yyLineNr++; current->args+=" "; } YY_BREAK case 522: YY_RULE_SETUP #line 3720 "scanner.l" { current->args+=yytext; } YY_BREAK case 523: YY_RULE_SETUP #line 3721 "scanner.l" { BEGIN( PageDoc ); } YY_BREAK case 524: YY_RULE_SETUP #line 3722 "scanner.l" { lastGroupContext = YY_START; lineCount(); BEGIN( GroupName ); } YY_BREAK case 525: YY_RULE_SETUP #line 3727 "scanner.l" { current->groups->append( new QCString(yytext) ); } YY_BREAK case 526: YY_RULE_SETUP #line 3732 "scanner.l" { yyLineNr++; BEGIN( lastGroupContext ); } YY_BREAK case 527: YY_RULE_SETUP #line 3735 "scanner.l" { lastBriefContext=YY_START; BEGIN( ClassDocBrief ); } YY_BREAK case 528: YY_RULE_SETUP #line 3739 "scanner.l" { BEGIN( DocBaseClass ); } YY_BREAK case 529: YY_RULE_SETUP #line 3740 "scanner.l" { //printf("Adding base class %s\n",yytext); current->extends->append( new BaseInfo(yytext,Public,Normal) ); } YY_BREAK case 530: YY_RULE_SETUP #line 3746 "scanner.l" { yyLineNr++; BEGIN( ClassDoc ); } YY_BREAK case 531: YY_RULE_SETUP #line 3747 "scanner.l" { current->brief=current->brief.stripWhiteSpace(); yyLineNr++; BEGIN( lastBriefContext ); } YY_BREAK case 532: YY_RULE_SETUP #line 3752 "scanner.l" { yyLineNr++ ; current->brief += " "; } YY_BREAK case 533: YY_RULE_SETUP #line 3753 "scanner.l" YY_BREAK case 534: YY_RULE_SETUP #line 3754 "scanner.l" { current->brief=current->brief.stripWhiteSpace(); BEGIN( lastBriefContext ); } YY_BREAK case 535: YY_RULE_SETUP #line 3758 "scanner.l" { BEGIN( lastBriefContext ); } YY_BREAK /* {BS}/("\\"|"@")"author" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"internal" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"version" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"date" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"param" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"exception" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"return" { BEGIN( lastBriefContext ); } {BS}/("\\sa"|"@see") { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"bug" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"warning" { BEGIN( lastBriefContext ); } {BS}/("\\"|"@")"par"{BN}+ { BEGIN( lastBriefContext ); } */ case 536: YY_RULE_SETUP #line 3774 "scanner.l" { lastBriefContext=YY_START; BEGIN( ClassDocBrief ); } YY_BREAK case 537: YY_RULE_SETUP #line 3778 "scanner.l" { current->brief += *yytext; } YY_BREAK case 538: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 3779 "scanner.l" { current->name = yytext; BEGIN( ClassDefineArgs ); } YY_BREAK case 539: YY_RULE_SETUP #line 3783 "scanner.l" { current->name = yytext; if (nextDefContext==ClassDoc) newDocState(); else BEGIN( nextDefContext ); } YY_BREAK case 540: YY_RULE_SETUP #line 3790 "scanner.l" { current->args+=")"; if (nextDefContext==ClassDoc) newDocState(); else BEGIN( nextDefContext ); } YY_BREAK case 541: YY_RULE_SETUP #line 3797 "scanner.l" { current->args+= yytext; } YY_BREAK case 542: YY_RULE_SETUP #line 3800 "scanner.l" { yyLineNr++; current->name = current->name.stripWhiteSpace(); if (current->section == Entry::MEMBERDOC_SEC && current->args.length()==0) current->section = Entry::VARIABLEDOC_SEC; newDocState(); } YY_BREAK case 543: YY_RULE_SETUP #line 3807 "scanner.l" { current->name+=yytext; } YY_BREAK case 544: YY_RULE_SETUP #line 3810 "scanner.l" { current->args+=*yytext; currentArgumentContext = ClassDocFuncQual; copyArgString=¤t->args; BEGIN( ReadFuncArgType ) ; } YY_BREAK case 545: YY_RULE_SETUP #line 3816 "scanner.l" { current->name+="(*"; BEGIN( ClassDocFuncPtr ); } YY_BREAK case 546: YY_RULE_SETUP #line 3820 "scanner.l" { current->name+=yytext; } YY_BREAK case 547: YY_RULE_SETUP #line 3823 "scanner.l" { current->name+=')'; BEGIN( ClassDocFunc ); } YY_BREAK case 548: YY_RULE_SETUP #line 3827 "scanner.l" { BEGIN( ClassDocFuncSkipLine); } YY_BREAK case 549: YY_RULE_SETUP #line 3830 "scanner.l" { current->args += " const "; current->argList->constSpecifier=TRUE; } YY_BREAK case 550: YY_RULE_SETUP #line 3834 "scanner.l" { current->args += " volatile "; current->argList->volatileSpecifier=TRUE; } YY_BREAK case 551: YY_RULE_SETUP #line 3838 "scanner.l" { current->args += " = 0"; current->virt = Pure; current->argList->pureSpecifier=TRUE; } YY_BREAK case 552: YY_RULE_SETUP #line 3843 "scanner.l" { current->exception = "throw("; BEGIN(ClassDocFuncExc); } YY_BREAK case 553: YY_RULE_SETUP #line 3847 "scanner.l" { current->exception += ')'; BEGIN(ClassDocFuncQual); } YY_BREAK case 554: YY_RULE_SETUP #line 3851 "scanner.l" { current->exception += *yytext; } YY_BREAK case 555: YY_RULE_SETUP #line 3854 "scanner.l" { current->name += *yytext; } YY_BREAK case 556: YY_RULE_SETUP #line 3857 "scanner.l" { yyLineNr++; current->name = current->name.stripWhiteSpace(); newDocState(); } YY_BREAK case 557: YY_RULE_SETUP #line 3862 "scanner.l" { current->doc += yytext; } YY_BREAK case 558: YY_RULE_SETUP #line 3863 "scanner.l" { current->doc += yytext; } YY_BREAK case 559: YY_RULE_SETUP #line 3864 "scanner.l" { current->doc += *yytext; } YY_BREAK case 560: YY_RULE_SETUP #line 3865 "scanner.l" { current->brief += *yytext; } YY_BREAK case 561: YY_RULE_SETUP #line 3866 "scanner.l" { yyLineNr++; current->doc += *yytext; } YY_BREAK case 562: YY_RULE_SETUP #line 3867 "scanner.l" { lineCount(); } YY_BREAK case 563: YY_RULE_SETUP #line 3868 "scanner.l" { yyLineNr++; BEGIN( lastDocContext ); } YY_BREAK case 564: YY_RULE_SETUP #line 3872 "scanner.l" { yyLineNr++; unput('/');unput('*'); BEGIN( ClassDoc ); } YY_BREAK case 565: YY_RULE_SETUP #line 3878 "scanner.l" { current->brief+=yytext; } YY_BREAK case 566: YY_RULE_SETUP #line 3879 "scanner.l" { yyLineNr++; if (afterDocTerminator!=0) unput(afterDocTerminator); BEGIN(lastAfterDocContext); } YY_BREAK case 567: YY_RULE_SETUP #line 3885 "scanner.l" { current->brief+=yytext; } YY_BREAK case 568: YY_RULE_SETUP #line 3886 "scanner.l" { current->brief+=yytext; } YY_BREAK case 569: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 3887 "scanner.l" YY_BREAK case 570: YY_RULE_SETUP #line 3888 "scanner.l" { current->brief+=yytext; yyLineNr++; } YY_BREAK case 571: YY_RULE_SETUP #line 3889 "scanner.l" { current->brief+=*yytext; } YY_BREAK case 572: YY_RULE_SETUP #line 3890 "scanner.l" { yyLineNr++; if (!current->brief.stripWhiteSpace().isEmpty()) BEGIN(AfterDoc); } YY_BREAK case 573: YY_RULE_SETUP #line 3894 "scanner.l" { if (afterDocTerminator!=0) unput(afterDocTerminator); BEGIN(lastAfterDocContext); } YY_BREAK case 574: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 3899 "scanner.l" { BEGIN(AfterDoc); } YY_BREAK case 575: YY_RULE_SETUP #line 3900 "scanner.l" { current->brief+="\\internal"; } YY_BREAK case 576: YY_RULE_SETUP #line 3903 "scanner.l" { current->doc+="\\internal"; } YY_BREAK case 577: YY_RULE_SETUP #line 3906 "scanner.l" { BEGIN(AfterDocBrief); } YY_BREAK case 578: YY_RULE_SETUP #line 3907 "scanner.l" { current->doc+=yytext; } YY_BREAK case 579: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 3908 "scanner.l" YY_BREAK case 580: YY_RULE_SETUP #line 3909 "scanner.l" { current->doc+=yytext; yyLineNr++; } YY_BREAK case 581: YY_RULE_SETUP #line 3910 "scanner.l" { current->doc+=*yytext; } YY_BREAK case 582: YY_RULE_SETUP #line 3911 "scanner.l" { if (afterDocTerminator!=0) unput(afterDocTerminator); BEGIN(lastAfterDocContext); } YY_BREAK case 583: YY_RULE_SETUP #line 3916 "scanner.l" { current->doc += "\n\n"; err("Warning: unexpected end of " "documentation block found in " "file %s at line %d\n",yyFileName,yyLineNr); BEGIN( lastDocContext ); } YY_BREAK case 584: YY_RULE_SETUP #line 3923 "scanner.l" { checkDocs(); current->doc += "\n\n"; //printf("End of docs at line %d\n",yyLineNr); BEGIN( lastDocContext ); } YY_BREAK case 585: YY_RULE_SETUP #line 3929 "scanner.l" { unput('/');unput('*'); BEGIN( tmpDocType ); } YY_BREAK case 586: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 3933 "scanner.l" YY_BREAK case 587: YY_RULE_SETUP #line 3934 "scanner.l" { current->doc += yytext; } YY_BREAK case 588: YY_RULE_SETUP #line 3936 "scanner.l" { yyLineNr++ ; BEGIN( lastCContext ) ; } YY_BREAK case 589: YY_RULE_SETUP #line 3939 "scanner.l" YY_BREAK case 590: YY_RULE_SETUP #line 3940 "scanner.l" YY_BREAK case 591: YY_RULE_SETUP #line 3941 "scanner.l" { yyLineNr++ ; } YY_BREAK case 592: YY_RULE_SETUP #line 3942 "scanner.l" YY_BREAK case 593: YY_RULE_SETUP #line 3943 "scanner.l" { lastCContext = YY_START ; BEGIN( SkipComment ) ; } YY_BREAK case 594: YY_RULE_SETUP #line 3946 "scanner.l" { BEGIN( lastCContext ) ; } YY_BREAK case 595: YY_RULE_SETUP #line 3947 "scanner.l" { lastCContext = YY_START ; BEGIN( SkipCxxComment ) ; } YY_BREAK case 596: YY_RULE_SETUP #line 3951 "scanner.l" ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(Define): case YY_STATE_EOF(DefineArg): case YY_STATE_EOF(DefineEnd): case YY_STATE_EOF(Include): case YY_STATE_EOF(ClassName): case YY_STATE_EOF(ClassVar): case YY_STATE_EOF(Bases): case YY_STATE_EOF(BasesProt): case YY_STATE_EOF(NextSemi): case YY_STATE_EOF(FindMembers): case YY_STATE_EOF(FindMemberName): case YY_STATE_EOF(FindFields): case YY_STATE_EOF(FindFieldArg): case YY_STATE_EOF(Function): case YY_STATE_EOF(FuncRound): case YY_STATE_EOF(ExcpRound): case YY_STATE_EOF(FuncQual): case YY_STATE_EOF(Operator): case YY_STATE_EOF(Array): case YY_STATE_EOF(Curly): case YY_STATE_EOF(Using): case YY_STATE_EOF(UsingDirective): case YY_STATE_EOF(NameSpaceDocArg1): case YY_STATE_EOF(SkipCurly): case YY_STATE_EOF(SkipCurlyCpp): case YY_STATE_EOF(SkipCurlyEndDoc): case YY_STATE_EOF(SkipString): case YY_STATE_EOF(SkipInits): case YY_STATE_EOF(SkipCPP): case YY_STATE_EOF(SkipCPPBlock): case YY_STATE_EOF(SkipComment): case YY_STATE_EOF(SkipCxxComment): case YY_STATE_EOF(SkipCurlyBlock): case YY_STATE_EOF(SkipRoundBlock): case YY_STATE_EOF(SkipCode): case YY_STATE_EOF(Sharp): case YY_STATE_EOF(SkipSharp): case YY_STATE_EOF(SkipRound): case YY_STATE_EOF(TypedefName): case YY_STATE_EOF(Comment): case YY_STATE_EOF(Doc): case YY_STATE_EOF(JavaDoc): case YY_STATE_EOF(ClassDoc): case YY_STATE_EOF(LineDoc): case YY_STATE_EOF(DefLineDoc): case YY_STATE_EOF(ClassDocArg1): case YY_STATE_EOF(ClassDocArg2): case YY_STATE_EOF(ClassDocArg3): case YY_STATE_EOF(ClassDocFunc): case YY_STATE_EOF(ClassDocFuncPtr): case YY_STATE_EOF(ClassDocFuncQual): case YY_STATE_EOF(ClassDocFuncSkipLine): case YY_STATE_EOF(ClassDocFuncExc): case YY_STATE_EOF(ClassDocDefine): case YY_STATE_EOF(ClassDocRelates): case YY_STATE_EOF(ClassDocBrief): case YY_STATE_EOF(ClassDocOverload): case YY_STATE_EOF(ClassDefineArgs): case YY_STATE_EOF(GroupDocArg1): case YY_STATE_EOF(GroupDocArg2): case YY_STATE_EOF(GroupName): case YY_STATE_EOF(GroupHeader): case YY_STATE_EOF(AfterDoc): case YY_STATE_EOF(AfterDocBrief): case YY_STATE_EOF(AfterDocLine): case YY_STATE_EOF(PageDoc): case YY_STATE_EOF(PageDocTitle): case YY_STATE_EOF(PageDocArg1): case YY_STATE_EOF(PageDocArg2): case YY_STATE_EOF(FileDocArg1): case YY_STATE_EOF(FileDocArg2): case YY_STATE_EOF(ExampleDoc): case YY_STATE_EOF(ExampleDocArg1): case YY_STATE_EOF(EnumDoc): case YY_STATE_EOF(EnumDocArg1): case YY_STATE_EOF(FuncPtr): case YY_STATE_EOF(EndFuncPtr): case YY_STATE_EOF(FuncFunc): case YY_STATE_EOF(FuncFuncEnd): case YY_STATE_EOF(FuncFuncType): case YY_STATE_EOF(MemberSpec): case YY_STATE_EOF(MemberSpecSkip): case YY_STATE_EOF(SkipVerbatim): case YY_STATE_EOF(Text): case YY_STATE_EOF(DocScan): case YY_STATE_EOF(DocParam): case YY_STATE_EOF(DocException): case YY_STATE_EOF(DocHtmlScan): case YY_STATE_EOF(DocLatexScan): case YY_STATE_EOF(DocEmphasis): case YY_STATE_EOF(DocBold): case YY_STATE_EOF(DocCode): case YY_STATE_EOF(DocCodeBlock): case YY_STATE_EOF(DocInternal): case YY_STATE_EOF(DocLink): case YY_STATE_EOF(DocLinkText): case YY_STATE_EOF(DocSkipWord): case YY_STATE_EOF(DocInclude): case YY_STATE_EOF(DocDontInclude): case YY_STATE_EOF(DocDescItem): case YY_STATE_EOF(DocHtmlLink): case YY_STATE_EOF(DocHtmlAnchor): case YY_STATE_EOF(DocHtmlHref1): case YY_STATE_EOF(DocHtmlHref2): case YY_STATE_EOF(DocBaseClass): case YY_STATE_EOF(DocSkiplineKey): case YY_STATE_EOF(DocSkipKey): case YY_STATE_EOF(DocLineKey): case YY_STATE_EOF(DocUntilKey): case YY_STATE_EOF(DocPar): case YY_STATE_EOF(DocRefName): case YY_STATE_EOF(DocVerbatim): case YY_STATE_EOF(DocVerbInc): case YY_STATE_EOF(DocIndexWord): case YY_STATE_EOF(DocRef): case YY_STATE_EOF(DocRefArg): case YY_STATE_EOF(DocRefArgStart): case YY_STATE_EOF(DocRefItem): case YY_STATE_EOF(DocRefItemName): case YY_STATE_EOF(DocImage): case YY_STATE_EOF(DocHtmlImageName): case YY_STATE_EOF(DocLatexImageName): case YY_STATE_EOF(DocLatexImageWidth): case YY_STATE_EOF(SectionLabel): case YY_STATE_EOF(SectionTitle): case YY_STATE_EOF(SkipTemplate): case YY_STATE_EOF(EndTemplate): case YY_STATE_EOF(CopyArgString): case YY_STATE_EOF(CopyArgRound): case YY_STATE_EOF(CopyArgSharp): case YY_STATE_EOF(ReadFuncArgType): case YY_STATE_EOF(ReadTempArgs): case YY_STATE_EOF(Specialization): case YY_STATE_EOF(DocSkipHtmlComment): case YY_STATE_EOF(ReadFormulaShort): case YY_STATE_EOF(ReadFormulaLong): case YY_STATE_EOF(AnchorLabel): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = yy_hold_char; YY_RESTORE_YY_MORE_OFFSET if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between yy_current_buffer and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ yy_n_chars = yy_current_buffer->yy_n_chars; yy_current_buffer->yy_input_file = yyin; yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) { /* This was really a NUL. */ yy_state_type yy_next_state; yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = yytext_ptr + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++yy_c_buf_p; yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = yy_c_buf_p; goto yy_find_action; } } else switch ( yy_get_next_buffer() ) { case EOB_ACT_END_OF_FILE: { yy_did_buffer_switch_on_eof = 0; if ( yywrap() ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: yy_c_buf_p = &yy_current_buffer->yy_ch_buf[yy_n_chars]; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer() { register char *dest = yy_current_buffer->yy_ch_buf; register char *source = yytext_ptr; register int number_to_move, i; int ret_val; if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( yy_current_buffer->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ yy_current_buffer->yy_n_chars = yy_n_chars = 0; else { int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ #ifdef YY_USES_REJECT YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); #else /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = yy_current_buffer; int yy_c_buf_p_offset = (int) (yy_c_buf_p - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yy_flex_realloc( (void *) b->yy_ch_buf, b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; #endif } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), yy_n_chars, num_to_read ); yy_current_buffer->yy_n_chars = yy_n_chars; } if ( yy_n_chars == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart( yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; yy_current_buffer->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; yy_n_chars += number_to_move; yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state() { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = yy_start; yy_current_state += YY_AT_BOL(); yy_state_ptr = yy_state_buf; *yy_state_ptr++ = yy_current_state; for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 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 >= 3788 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ #ifdef YY_USE_PROTOS static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) #else static yy_state_type yy_try_NUL_trans( yy_current_state ) yy_state_type yy_current_state; #endif { register int yy_is_jam; register YY_CHAR yy_c = 1; 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 >= 3788 ) 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 == 3787); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_UNPUT #ifdef YY_USE_PROTOS static void yyunput( int c, register char *yy_bp ) #else static void yyunput( c, yy_bp ) int c; register char *yy_bp; #endif { register char *yy_cp = yy_c_buf_p; /* undo effects of setting up yytext */ *yy_cp = yy_hold_char; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = yy_n_chars + 2; register char *dest = &yy_current_buffer->yy_ch_buf[ yy_current_buffer->yy_buf_size + 2]; register char *source = &yy_current_buffer->yy_ch_buf[number_to_move]; while ( source > yy_current_buffer->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); yy_current_buffer->yy_n_chars = yy_n_chars = yy_current_buffer->yy_buf_size; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; yytext_ptr = yy_bp; yy_hold_char = *yy_cp; yy_c_buf_p = yy_cp; } #endif /* ifndef YY_NO_UNPUT */ #ifdef __cplusplus static int yyinput() #else static int input() #endif { int c; *yy_c_buf_p = yy_hold_char; if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) /* This was really a NUL. */ *yy_c_buf_p = '\0'; else { /* need more input */ int offset = yy_c_buf_p - yytext_ptr; ++yy_c_buf_p; switch ( yy_get_next_buffer() ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart( yyin ); /* fall through */ case EOB_ACT_END_OF_FILE: { if ( yywrap() ) return EOF; if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + offset; break; } } } c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; yy_current_buffer->yy_at_bol = (c == '\n'); return c; } #ifdef YY_USE_PROTOS void yyrestart( FILE *input_file ) #else void yyrestart( input_file ) FILE *input_file; #endif { if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_init_buffer( yy_current_buffer, input_file ); yy_load_buffer_state(); } #ifdef YY_USE_PROTOS void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) #else void yy_switch_to_buffer( new_buffer ) YY_BUFFER_STATE new_buffer; #endif { if ( yy_current_buffer == new_buffer ) return; if ( yy_current_buffer ) { /* Flush out information for old buffer. */ *yy_c_buf_p = yy_hold_char; yy_current_buffer->yy_buf_pos = yy_c_buf_p; yy_current_buffer->yy_n_chars = yy_n_chars; } yy_current_buffer = new_buffer; yy_load_buffer_state(); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ yy_did_buffer_switch_on_eof = 1; } #ifdef YY_USE_PROTOS void yy_load_buffer_state( void ) #else void yy_load_buffer_state() #endif { yy_n_chars = yy_current_buffer->yy_n_chars; yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; yyin = yy_current_buffer->yy_input_file; yy_hold_char = *yy_c_buf_p; } #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) #else YY_BUFFER_STATE yy_create_buffer( file, size ) FILE *file; int size; #endif { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer( b, file ); return b; } #ifdef YY_USE_PROTOS void yy_delete_buffer( YY_BUFFER_STATE b ) #else void yy_delete_buffer( b ) YY_BUFFER_STATE b; #endif { if ( ! b ) return; if ( b == yy_current_buffer ) yy_current_buffer = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yy_flex_free( (void *) b->yy_ch_buf ); yy_flex_free( (void *) b ); } #ifndef YY_ALWAYS_INTERACTIVE #ifndef YY_NEVER_INTERACTIVE extern int isatty YY_PROTO(( int )); #endif #endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) #else void yy_init_buffer( b, file ) YY_BUFFER_STATE b; FILE *file; #endif { yy_flush_buffer( b ); b->yy_input_file = file; b->yy_fill_buffer = 1; #if YY_ALWAYS_INTERACTIVE b->yy_is_interactive = 1; #else #if YY_NEVER_INTERACTIVE b->yy_is_interactive = 0; #else b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; #endif #endif } #ifdef YY_USE_PROTOS void yy_flush_buffer( YY_BUFFER_STATE b ) #else void yy_flush_buffer( b ) YY_BUFFER_STATE b; #endif { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == yy_current_buffer ) yy_load_buffer_state(); } #ifndef YY_NO_SCAN_BUFFER #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) #else YY_BUFFER_STATE yy_scan_buffer( base, size ) char *base; yy_size_t size; #endif { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer( b ); return b; } #endif #ifndef YY_NO_SCAN_STRING #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) #else YY_BUFFER_STATE yy_scan_string( yy_str ) yyconst char *yy_str; #endif { int len; for ( len = 0; yy_str[len]; ++len ) ; return yy_scan_bytes( yy_str, len ); } #endif #ifndef YY_NO_SCAN_BYTES #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) #else YY_BUFFER_STATE yy_scan_bytes( bytes, len ) yyconst char *bytes; int len; #endif { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = len + 2; buf = (char *) yy_flex_alloc( n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < len; ++i ) buf[i] = bytes[i]; buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer( buf, n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #endif #ifndef YY_NO_PUSH_STATE #ifdef YY_USE_PROTOS static void yy_push_state( int new_state ) #else static void yy_push_state( new_state ) int new_state; #endif { if ( yy_start_stack_ptr >= yy_start_stack_depth ) { yy_size_t new_size; yy_start_stack_depth += YY_START_STACK_INCR; new_size = yy_start_stack_depth * sizeof( int ); if ( ! yy_start_stack ) yy_start_stack = (int *) yy_flex_alloc( new_size ); else yy_start_stack = (int *) yy_flex_realloc( (void *) yy_start_stack, new_size ); if ( ! yy_start_stack ) YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); } yy_start_stack[yy_start_stack_ptr++] = YY_START; BEGIN(new_state); } #endif #ifndef YY_NO_POP_STATE static void yy_pop_state() { if ( --yy_start_stack_ptr < 0 ) YY_FATAL_ERROR( "start-condition stack underflow" ); BEGIN(yy_start_stack[yy_start_stack_ptr]); } #endif #ifndef YY_NO_TOP_STATE static int yy_top_state() { return yy_start_stack[yy_start_stack_ptr - 1]; } #endif #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif #ifdef YY_USE_PROTOS static void yy_fatal_error( yyconst char msg[] ) #else static void yy_fatal_error( msg ) char msg[]; #endif { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ yytext[yyleng] = yy_hold_char; \ yy_c_buf_p = yytext + n; \ yy_hold_char = *yy_c_buf_p; \ *yy_c_buf_p = '\0'; \ yyleng = n; \ } \ while ( 0 ) /* Internal utility routines. */ #ifndef yytext_ptr #ifdef YY_USE_PROTOS static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) #else static void yy_flex_strncpy( s1, s2, n ) char *s1; yyconst char *s2; int n; #endif { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN #ifdef YY_USE_PROTOS static int yy_flex_strlen( yyconst char *s ) #else static int yy_flex_strlen( s ) yyconst char *s; #endif { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif #ifdef YY_USE_PROTOS static void *yy_flex_alloc( yy_size_t size ) #else static void *yy_flex_alloc( size ) yy_size_t size; #endif { return (void *) malloc( size ); } #ifdef YY_USE_PROTOS static void *yy_flex_realloc( void *ptr, yy_size_t size ) #else static void *yy_flex_realloc( ptr, size ) void *ptr; yy_size_t size; #endif { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } #ifdef YY_USE_PROTOS static void yy_flex_free( void *ptr ) #else static void yy_flex_free( ptr ) void *ptr; #endif { free( ptr ); } #if YY_MAIN int main() { yylex(); return 0; } #endif #line 3951 "scanner.l" //---------------------------------------------------------------------------- //static void addToBody(const char *text) //{ // if (Config::includeSourceFlag) // previous->body+=text; //} //static void addToBodyCond(const char *text) //{ // if (Config::includeSourceFlag && lastStringContext==SkipCurly) // previous->body+=text; //} //---------------------------------------------------------------------------- void scanString(const char *s) { const char *oldInputString = inputString; int oldInputPosition = inputPosition; int oldRule = YY_START; YY_BUFFER_STATE oldBuffer = YY_CURRENT_BUFFER; yy_switch_to_buffer(yy_create_buffer(scanYYin, YY_BUF_SIZE)); inputString = s; inputPosition = 0; BEGIN( Text ); scanYYlex(); yy_delete_buffer(YY_CURRENT_BUFFER); yy_switch_to_buffer(oldBuffer); inputString = oldInputString; inputPosition = oldInputPosition; BEGIN( oldRule ); } //---------------------------------------------------------------------------- static void newDocState() { if (tmpDocType!=-1) { tmpDocType=ClassDoc; BEGIN(JavaDoc); } else { BEGIN(ClassDoc); } } //---------------------------------------------------------------------------- void parseCompounds(Entry *rt) { //printf("parseCompounds(%s)\n",rt->name.data()); EntryListIterator eli(*rt->sublist); Entry *ce; for (;(ce=eli.current());++eli) { if (ce->program.length()>0) { //printf("-- %s ---------\n%s\n---------------\n", // ce->name.data(),ce->program.data()); // init scanner state inputString = ce->program; inputPosition = 0; scanYYrestart( scanYYin ) ; if (ce->section==Entry::ENUM_SEC) BEGIN( FindFields ) ; else BEGIN( FindMembers ) ; current_root = ce ; strcpy( yyFileName, ce->fileName ) ; yyLineNr = ce->startLine ; //printf("---> Inner block starts at line %d\n",yyLineNr); //current->reset(); current = new Entry; // set default protection based on the compound type if( ce->section==Entry::CLASS_SEC ) // class current->protection = protection = Private ; else if (ce->section == Entry::ENUM_SEC ) // enum current->protection = protection = ce->protection; else if (ce->name.length()>0 && ce->name.at(0)=='@') // anonymous union current->protection = protection = ce->protection; else // named struct, union, or interface current->protection = protection = Public ; sig = FALSE; slot = FALSE; gstat = FALSE; virt = Normal; scanYYlex() ; delete current; ce->program.resize(0); } parseCompounds(ce); } } //---------------------------------------------------------------------------- void parseMain(Entry *rt) { initParser(); anonCount = 0; protection = Public; sig = FALSE; slot = FALSE; gstat = FALSE; virt = Normal; current_root = rt; global_root = rt; current = new Entry; inputString = rt->program; //printf("parseDoc=`%s'\n",inputString); inputPosition = 0; ifCount=0; scanYYrestart( scanYYin ); BEGIN( FindMembers ); scanYYlex(); rt->program.resize(0); delete current; parseCompounds(rt); } //---------------------------------------------------------------------------- void parseDocument(OutputList &ol,const QCString &docString) { //inParamBlock=inSeeBlock=inReturnBlock=FALSE; curTable = 0; outDoc = new OutputList(&ol); currentIncludeFile.resize(0); includeFileOffset=0; includeFileLength=0; if (!docString) return; linkRef = ""; linkText = ""; inputString = docString; inputPosition = 0; scanYYrestart( scanYYin ); BEGIN( DocScan ); insideArgumentList = FALSE; scanYYlex(); if (insideArgumentList) { insideArgumentList=FALSE; outDoc->endItemList(); } if (inBlock()) endBlock(); ol+=*outDoc; delete outDoc; return; } //---------------------------------------------------------------------------- void parseDoc(OutputList &ol,const char *clName, const char *memName,const QCString &docString) { initParser(); initParseCodeContext(); exampleDoc=FALSE; // do not cross reference with member docs className=clName; memberName=memName; if (memName) { refName=className+"::"+memberName; } else { refName=className; } parseDocument(ol,docString); } //---------------------------------------------------------------------------- void parseText(OutputList &ol,const QCString &txtString) { inputString = txtString; outDoc = new OutputList(&ol); inputPosition = 0; scanYYrestart( scanYYin ); BEGIN( Text ); scanYYlex(); if (memberGroupId!=-1) { warn("Warning: Missing \\endmgroup in file %s\n",yyFileName); memberGroupId=-1; } ol+=*outDoc; delete outDoc; return; } //---------------------------------------------------------------------------- void parseExample(OutputList &ol,const QCString &docString, const char *fileName) { initParser(); initParseCodeContext(); exampleDoc=TRUE; // cross reference with member docs exampleName=fileName; parseDocument(ol,docString); } //---------------------------------------------------------------------------- extern "C" { // some bogus code to keep the compiler happy void scannerYYdummy() { yy_flex_realloc(0,0); } }