#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 644 #define YY_END_OF_BUFFER 645 static yyconst short int yy_acclist[3808] = { 0, 330, 330,16964,16965,16966, 510, 510, 537, 537, 209, 209, 193, 193, 370, 370, 370, 370, 645, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 277, 639, 644, 276, 639, 644, 276, 639, 644, 2, 276, 639, 644, 275, 276, 639, 644, 276, 639, 644, 281, 639, 644, 281, 639, 644, 281, 639, 644, 278, 638, 644, 2, 281, 639, 644, 280, 281, 639, 644, 281, 639, 644, 281, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 434, 639, 644, 439, 639, 644, 444, 639, 644, 639, 644, 639, 644, 443, 639, 644, 441, 639, 644, 442, 639, 644, 452, 639, 644, 440, 639, 644, 438, 639, 644, 438, 639, 644, 2, 438, 639, 644, 438, 639, 644, 437, 438, 639, 644, 436, 438, 639, 644, 639, 644, 638, 644, 2, 639, 644, 462, 639, 644, 639, 644, 453, 639, 644, 451, 639, 644, 463, 639, 644, 450, 639, 644, 450, 639, 644, 449, 450, 639, 644, 449, 638, 644, 2, 449, 450, 639, 644, 450, 639, 644, 450, 639, 644, 450, 639, 644, 229, 639, 644, 639, 644, 221, 639, 644, 230, 639, 644, 230, 639, 644, 220, 639, 644, 238, 639, 644, 238, 638, 644, 2, 238, 639, 644, 269, 639, 644, 282, 639, 644, 366, 639, 644, 317, 639, 644, 639, 644, 317, 639, 644, 317, 639, 644, 322, 639, 644, 286, 639, 644, 268, 639, 644, 318, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 268, 639, 644, 475, 639, 644, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 268, 639, 644, 639, 644, 639, 644, 638, 644, 2, 639, 644, 329, 639, 644, 639, 644, 328, 639, 644, 327, 639, 644, 639, 644, 410, 639, 644, 409, 639, 644, 411, 639, 644, 411, 639, 644, 403, 639, 644, 403, 639, 644, 402, 403, 639, 644, 402, 638, 644, 2, 402, 403, 639, 644, 395, 403, 639, 644, 396, 403, 639, 644, 401, 403, 639, 644, 403, 639, 644, 408, 639, 644, 408, 639, 644, 2, 408, 639, 644, 406, 408, 639, 644, 407, 408, 639, 644, 408, 639, 644, 402, 403, 639, 644, 402, 638, 644, 2, 402, 403, 639, 644, 403, 639, 644, 397, 403, 639, 644, 403, 639, 644, 403, 639, 644, 403, 639, 644, 403, 639, 644, 403, 639, 644, 252, 639, 644, 252, 639, 644, 252, 638, 644, 2, 252, 639, 644, 254, 639, 644, 252, 639, 644, 252, 639, 644, 321, 639, 644, 321, 639, 644, 2, 321, 639, 644, 321, 639, 644, 320, 321, 639, 644, 319, 321, 639, 644, 330, 347, 639, 644, 330, 347, 639, 644, 330, 346, 347, 639, 644, 346, 638, 644, 2, 346, 347, 639, 644, 347, 639, 644, 347, 639, 644, 347, 639, 644, 338, 347, 639, 644, 339, 347, 639, 644, 258, 639, 644, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 259, 639, 644, 639, 644, 639, 644, 505, 638, 644, 2, 639, 644, 639, 644, 504, 639, 644, 639, 644, 423, 428, 639, 644, 423, 428, 639, 644, 422, 638, 644, 2, 423, 428, 639, 644, 420, 428, 639, 644, 428, 639, 644, 428, 639, 644, 428, 639, 644, 413, 428, 639, 644, 414, 428, 639, 644, 423, 428, 639, 644, 421, 423, 428, 639, 644, 424, 638, 644, 428, 639, 644, 428, 639, 644, 416, 639, 644, 433, 639, 644, 433, 639, 644, 432, 638, 644, 2, 433, 639, 644, 430, 433, 639, 644, 433, 639, 644, 433, 639, 644, 433, 639, 644, 428, 639, 644, 2, 428, 639, 644, 412, 428, 639, 644, 271, 639, 644, 271, 639, 644, 273, 638, 644, 2, 271, 639, 644, 271, 639, 644, 271, 639, 644, 637, 639, 644, 637, 639, 644, 637, 639, 644, 2, 637, 639, 644, 639, 644, 637, 639, 644, 639, 644, 639, 644, 636, 638, 644, 2, 639, 644, 639, 644, 224, 639, 644, 225, 639, 644, 222, 639, 644, 223, 639, 644, 547, 549, 639, 644, 547, 549, 639, 644, 549, 639, 644, 548, 638, 644, 2, 547, 549, 639, 644, 549, 639, 644, 549, 639, 644, 547, 549, 639, 644, 547, 549, 639, 644, 549, 639, 644, 549, 639, 644, 545, 549, 639, 644, 549, 639, 644, 326, 639, 644, 326, 639, 644, 325, 326, 639, 644, 325, 638, 644, 2, 325, 326, 639, 644, 326, 639, 644, 324, 326, 639, 644, 323, 326, 639, 644, 458, 639, 644, 459, 639, 644, 460, 639, 644, 461, 639, 644, 340, 639, 644, 467, 469, 639, 644, 467, 469, 639, 644, 464, 467, 469, 639, 644, 464, 638, 644, 2, 464, 467, 469, 639, 644, 469, 639, 644, 467, 469, 639, 644, 605, 639, 644, 605, 639, 644, 605, 639, 644, 607, 638, 644, 2, 605, 639, 644, 605, 639, 644, 605, 639, 644, 603, 605, 639, 644, 605, 639, 644, 605, 639, 644, 605, 639, 644, 605, 639, 644, 605, 639, 644, 605, 639, 644, 480, 639, 644, 480, 639, 644, 480, 639, 644, 481, 638, 644, 2, 480, 639, 644, 480, 639, 644, 480, 639, 644, 480, 639, 644, 480, 639, 644, 478, 480, 639, 644, 480, 639, 644, 480, 639, 644, 477, 481, 638, 644, 2, 480, 639, 644, 480, 639, 644, 480, 639, 644, 556, 639, 644, 556, 639, 644, 555, 556, 639, 644, 554, 638, 644, 2, 556, 639, 644, 556, 639, 644, 556, 639, 644, 555, 556, 639, 644, 556, 639, 644, 556, 639, 644, 556, 639, 644, 555, 556, 639, 644, 556, 639, 644, 556, 639, 644, 606, 639, 644, 606, 639, 644, 606, 639, 644, 609, 638, 644, 2, 606, 639, 644, 606, 639, 644, 606, 639, 644, 606, 639, 644, 606, 639, 644, 606, 639, 644, 610, 638, 644, 2, 606, 639, 644, 606, 639, 644, 639, 644, 507, 638, 644, 2, 639, 644, 639, 644, 639, 644, 506, 639, 644, 639, 644, 639, 644, 513, 638, 644, 2, 639, 644, 639, 644, 512, 639, 644, 512, 639, 644, 639, 644, 515, 638, 644, 2, 639, 644, 639, 644, 514, 639, 644, 514, 639, 644, 639, 644, 601, 639, 644, 601, 639, 644, 588, 638, 644, 2, 601, 639, 644, 590, 601, 639, 644, 601, 639, 644, 601, 639, 644, 601, 639, 644, 639, 644, 638, 644, 2, 639, 644, 593, 639, 644, 639, 644, 592, 639, 644, 639, 644, 601, 639, 644, 602, 638, 644, 601, 639, 644, 601, 639, 644, 601, 639, 644, 601, 639, 644, 594, 601, 639, 644, 600, 639, 644, 600, 639, 644, 2, 600, 639, 644, 599, 600, 639, 644, 600, 639, 644, 585, 639, 644, 503, 639, 644, 583, 639, 644, 583, 639, 644, 583, 639, 644, 578, 638, 644, 2, 583, 639, 644, 583, 639, 644, 583, 639, 644, 583, 639, 644, 583, 639, 644, 583, 639, 644, 583, 639, 644,16964,16965,16966, 577, 578, 638, 644, 2, 583, 639, 644, 583, 639, 644,16964, 16965,16966, 583, 639, 644, 583, 639, 644, 583, 639, 644, 489, 639, 644, 489, 639, 644, 489, 639, 644, 487, 638, 644, 2, 489, 639, 644, 489, 639, 644, 489, 639, 644, 587, 639, 644, 587, 639, 644, 2, 587, 639, 644, 586, 587, 639, 644, 587, 639, 644, 587, 639, 644, 509, 638, 644, 508, 639, 644, 510, 639, 644, 510, 639, 644, 511, 638, 644, 2, 510, 639, 644, 510, 639, 644, 572, 638, 644, 571, 639, 644, 639, 644, 639, 644, 528, 638, 644, 2, 639, 644, 639, 644, 627, 639, 644, 627, 639, 644, 626, 638, 644, 2, 627, 639, 644, 627, 639, 644, 627, 639, 644, 627, 639, 644, 627, 639, 644, 627, 639, 644, 627, 639, 644, 617, 639, 644, 617, 639, 644, 616, 638, 644, 2, 617, 639, 644, 617, 639, 644, 617, 639, 644, 617, 639, 644, 617, 639, 644, 617, 639, 644, 617, 639, 644,17002, 613, 639, 644, 613, 639, 644, 612, 638, 644, 2, 613, 639, 644, 613, 639, 644, 613, 639, 644, 555, 556, 639, 644, 556, 639, 644, 556, 639, 644, 556, 639, 644, 556, 639, 644, 555, 556, 639, 644, 556, 639, 644, 568, 639, 644, 568, 639, 644, 567, 638, 644, 2, 568, 639, 644, 568, 639, 644, 639, 644, 519, 638, 644, 639, 644, 518, 639, 644, 518, 639, 644, 639, 644, 639, 644, 520, 638, 644, 2, 639, 644, 639, 644, 517, 638, 644, 639, 644, 516, 639, 644, 516, 639, 644, 556, 639, 644, 556, 639, 644, 639, 644, 501, 639, 644, 501, 639, 644, 522, 638, 644, 521, 639, 644, 350, 639, 644, 350, 639, 644, 350, 639, 644, 638, 644, 2, 350, 639, 644, 350, 639, 644, 350, 639, 644, 349, 350, 639, 644, 350, 639, 644, 354, 639, 644, 355, 639, 644, 356, 403, 639, 644, 357, 403, 639, 644, 360, 639, 644, 360, 639, 644, 2, 360, 639, 644, 360, 639, 644, 360, 639, 644, 365, 639, 644, 365, 639, 644, 364, 365, 639, 644, 364, 638, 644, 2, 364, 365, 639, 644, 361, 365, 639, 644, 362, 365, 639, 644, 363, 365, 639, 644, 365, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 342, 639, 644, 342, 639, 644, 343, 639, 644, 341, 639, 644, 344, 639, 644, 345, 639, 644, 537, 541, 639, 644, 537, 541, 639, 644, 541, 639, 644, 540, 638, 644, 2, 537, 541, 639, 644, 541, 639, 644, 537, 541, 639, 644, 541, 639, 644, 541, 639, 644, 219, 639, 644, 219, 639, 644, 2, 219, 639, 644, 219, 639, 644, 219, 639, 644, 218, 219, 639, 644, 216, 219, 639, 644, 217, 638, 644, 2, 219, 639, 644, 219, 639, 644, 219, 639, 644, 219, 639, 644, 219, 639, 644, 219, 639, 644, 219, 639, 644, 218, 219, 639, 644, 219, 639, 644, 219, 639, 644, 219, 639, 644, 92, 218, 219, 639, 644, 219, 639, 644, 92, 218, 219, 639, 644, 92, 218, 219, 639, 644, 92, 218, 219, 639, 644, 219, 639, 644, 216, 219, 639, 644, 219, 639, 644, 3, 219, 639, 644, 219, 639, 644, 639, 644, 67, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 68, 639, 644, 639, 644, 22, 639, 644, 22, 639, 644, 2, 22, 639, 644, 22, 639, 644, 22, 639, 644, 22, 639, 644, 22, 639, 644, 22, 639, 644, 213, 638, 644, 219, 639, 644, 198, 218, 219, 639, 644, 200, 218, 219, 639, 644, 202, 218, 219, 639, 644, 209, 210, 639, 644, 209, 210, 639, 644, 209, 210, 639, 644, 208, 638, 644, 2, 209, 210, 639, 644, 210, 639, 644, 210, 639, 644, 209, 210, 639, 644, 210, 639, 644, 41, 639, 644, 41, 639, 644, 639, 644, 42, 639, 644, 42, 639, 644, 43, 638, 644, 2, 42, 639, 644, 42, 639, 644, 42, 639, 644, 40, 639, 644, 639, 644, 204, 639, 644, 204, 639, 644, 639, 644, 205, 639, 644, 205, 639, 644, 195, 639, 644, 639, 644, 639, 644, 189, 639, 644, 189, 639, 644, 191, 639, 644, 191, 639, 644, 192, 639, 644, 193, 639, 644, 193, 639, 644, 193, 638, 644, 2, 193, 639, 644, 193, 639, 644, 194, 639, 644, 576, 638, 644, 575, 639, 644, 114, 639, 644, 114, 639, 644, 114, 639, 644, 112, 639, 644, 112, 639, 644, 112, 639, 644, 113, 639, 644, 113, 639, 644, 113, 639, 644, 115, 639, 644, 115, 639, 644, 115, 639, 644, 120, 639, 644, 120, 639, 644, 119, 638, 644, 2, 120, 639, 644, 120, 639, 644, 120, 639, 644, 639, 644, 639, 644, 51, 639, 644, 51, 638, 644, 2, 51, 639, 644, 639, 644, 639, 644, 638, 644, 2, 639, 644, 639, 644, 73, 639, 644,16458, 639, 644, 36, 639, 644, 36, 639, 644, 34, 35, 638, 644, 2, 36, 639, 644, 36, 639, 644, 36, 639, 644, 36, 639, 644, 36, 639, 644, 639, 644, 31, 639, 644, 31, 639, 644, 48, 639, 644, 48, 639, 644, 2, 48, 639, 644, 48, 639, 644, 639, 644, 639, 644, 2, 639, 644, 639, 644, 75, 639, 644, 77, 639, 644, 639, 644, 639, 644, 78, 638, 644, 2, 639, 644, 639, 644, 88, 638, 644, 87, 639, 644, 87, 639, 644, 87, 639, 644, 639, 644, 82, 639, 644, 82, 639, 644, 82, 639, 644, 82, 639, 644, 639, 644, 83, 639, 644, 83, 639, 644, 84, 638, 644, 639, 644, 639, 644, 551, 639, 644, 639, 644, 639, 644, 552, 638, 644, 2, 639, 644, 553, 639, 644, 639, 644, 267, 639, 644, 267, 639, 644, 2, 267, 639, 644, 267, 639, 644, 263, 267, 639, 644, 264, 267, 639, 644, 368, 394, 639, 644, 368, 394, 639, 644, 393, 638, 644, 2, 368, 394, 639, 644, 389, 394, 639, 644, 394, 639, 644, 368, 394, 639, 644, 394, 639, 644, 369, 394, 639, 644, 369, 394, 639, 644, 2, 369, 394, 639, 644, 371, 394, 639, 644, 394, 639, 644, 384, 394, 639, 644, 385, 394, 639, 644, 394, 639, 644, 394, 639, 644, 2, 394, 639, 644, 386, 394, 639, 644, 387, 394, 639, 644, 376, 381, 639, 644, 376, 381, 639, 644, 380, 638, 644, 2, 376, 381, 639, 644, 381, 639, 644, 376, 381, 639, 644, 379, 639, 644, 379, 639, 644, 378, 638, 644, 2, 379, 639, 644, 379, 639, 644, 367, 394, 639, 644, 367, 394, 639, 644, 370, 394, 639, 644, 370, 393, 638, 644, 2, 370, 394, 639, 644, 372, 394, 639, 644, 373, 394, 639, 644, 394, 639, 644, 382, 394, 639, 644, 383, 394, 639, 644, 457, 639, 644, 457, 639, 644, 456, 457, 639, 644, 456, 638, 644, 2, 456, 457, 639, 644, 457, 639, 644, 454, 457, 639, 644, 455, 457, 639, 644, 6, 639, 644, 6, 639, 644, 2, 6, 639, 644, 6, 639, 644, 6, 639, 644, 564, 639, 644, 564, 639, 644, 2, 564, 639, 644, 564, 639, 644, 564, 639, 644, 564, 639, 644, 564, 639, 644, 564, 639, 644, 564, 639, 644, 550, 639, 644, 295, 639, 644, 295, 639, 644, 295, 639, 644, 294, 638, 644, 2, 295, 639, 644, 290, 295, 639, 644, 295, 639, 644, 287, 295, 639, 644, 289, 295, 639, 644, 295, 639, 644, 289, 295, 639, 644, 288, 295, 639, 644, 300, 639, 644, 300, 639, 644, 299, 638, 644, 2, 300, 639, 644, 297, 300, 639, 644, 300, 639, 644, 300, 639, 644, 300, 639, 644, 308, 639, 644, 308, 639, 644, 304, 638, 644, 2, 308, 639, 644, 301, 639, 644, 639, 644, 302, 639, 644, 303, 639, 644, 308, 639, 644, 315, 639, 644, 315, 639, 644, 316, 638, 644, 2, 315, 639, 644, 309, 639, 644, 639, 644, 315, 639, 644, 310, 639, 644, 311, 639, 644, 1, 641, 643, 274, 277, 641, 643, 279, 444, 439, 435, 444, 439, 440, 436, 451, 463, 451, 463, 238, 238, 269, 282, 348, 641, 643, 268, 261, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 262, 268, 641, 643, 327, 402, 401, 401, 402, 400, 253, 330, 330, 1, 330, 330, 346, 346, 332, 333, 641, 331, 643, 259, 259, 504, 504, 423, 423, 1, 423, 426, 641, 427, 643, 423, 421, 423, 426, 641, 427, 643, 425, 431, 431, 641, 431, 643, 429, 273, 273, 272, 637, 637, 1, 637, 637, 642, 640, 641, 637, 640, 643, 636, 1, 636, 641, 643, 547, 547, 1, 547, 565, 546, 643, 547, 545, 545, 544, 546, 643, 325, 340, 467, 467, 1, 467, 464, 467, 464, 468, 465, 641, 466, 467, 643, 630, 635, 641, 558, 643, 603, 604, 633, 633, 634, 633, 632, 633, 557, 558, 643, 631, 482, 477, 479, 633, 479, 633, 634, 477, 479, 633, 479, 633, 479, 633, 479, 632, 633, 555, 555, 555, 604, 557, 558, 643, 629, 506, 506, 513, 512, 512, 643, 515, 514, 514, 514, 643, 591, 592, 592, 597, 584, 585, 503,16964,16965,16966, 577,16964,16965,16966, 633, 634,16964,16965,16966, 577, 633, 633, 633,16964,16965,16966, 633, 643,16964,16965, 16966, 487, 488, 508, 510, 510, 1, 510, 510, 641, 510, 643, 571, 528, 1, 528, 641, 643, 628, 624, 641, 624, 643, 604, 625, 625, 619, 620, 614, 641, 614, 643,17002, 615, 615, 611, 641, 611, 643, 555, 555, 518, 518, 643, 520, 1, 520, 641, 643, 516, 516, 643, 501, 501, 643, 521, 521, 349, 349, 352, 351, 353, 358, 359, 364, 363, 363, 341, 341, 537, 537, 1, 537, 539, 641, 539, 643, 537, 538, 539, 643, 218, 216, 215, 214, 215, 215, 92, 197, 212, 641, 211, 643, 218, 177, 196, 105, 92, 218, 92, 218, 196, 105, 92, 218, 92, 218, 92, 218, 216, 3, 211, 643, 67, 67, 68, 68, 21, 21, 641, 21, 643, 211, 643, 198, 218, 198, 200, 218, 200, 202, 218, 202, 209, 209, 1, 209, 209, 209, 207, 641, 206, 643, 209, 41, 41, 643, 40, 204, 204, 643, 205, 205, 643, 189, 189, 643, 191, 191, 643, 193, 193, 1, 193, 193, 641, 193, 643, 575, 114, 114, 1, 114, 114, 641, 114, 643, 112, 112, 1, 112, 112, 641, 112, 643, 113, 113, 1, 113, 113, 641, 113, 643, 115, 115, 1, 115, 115, 641, 115, 643, 51, 51, 1, 51, 51, 641, 643, 73,16458, 73,16458, 34, 1, 34, 35, 35, 641, 35, 643, 31, 31, 643, 48, 48, 1, 48, 48, 641, 48, 643, 76, 1, 76, 641, 643, 77, 78, 1, 78, 641, 643, 87, 87, 87, 82, 82, 82, 82, 643, 83, 83, 643, 551, 552, 1, 552, 643, 265, 368, 368, 1, 368, 368, 641, 368, 643, 388, 369, 369, 1, 369, 376, 376, 1, 376, 377, 376, 643, 379, 379, 1, 379, 379, 641, 379, 643, 367, 367, 1, 367, 370, 641, 643, 456, 643, 550, 298, 298, 641, 298, 643, 296, 308, 308, 1, 308, 308, 641, 308, 643, 315, 315, 1, 315, 315, 641, 315, 643, 439, 439, 436, 436, 228, 228, 348, 470, 472, 268, 260, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 470, 472, 400, 251, 337, 337, 333, 334, 331, 259, 259, 504, 504, 419, 419, 425, 272, 547, 544, 1, 468, 560, 561, 484, 557, 634, 632, 483, 634, 557, 506, 506, 512, 514, 592, 592, 597,16964,16965, 16966, 634,16964,16965,16966,16964,16965,16966,16964,16965, 16966, 8773, 8810, 615, 615, 615, 518, 516, 501, 521, 521, 521, 349, 349, 341, 537, 214, 214, 215, 92, 92, 97, 97, 96, 92, 178, 174, 180, 101, 102, 103, 100, 104, 92, 92, 218, 92, 218, 92, 218, 3, 68, 68, 199, 201, 203, 209, 204, 205, 73, 16458, 8266, 73,16458, 31, 87, 87, 82, 83, 266, 392, 392, 374, 5, 562, 563, 293, 293, 307, 307, 314, 314, 285, 436, 227, 226, 227, 471, 473, 473, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 285, 471, 285, 473, 336, 335, 336, 418, 417, 418, 547, 559, 484, 483, 608, 579, 8773, 521, 521, 537, 16, 92, 92, 4, 176, 179, 175, 181, 173, 171, 167, 169, 164, 182, 184, 186, 166, 160, 156, 154, 152, 162, 158, 71, 62, 91, 92, 71, 92, 218, 92, 218, 209, 80, 87, 87, 391, 390, 391, 374, 292, 291, 292, 306, 305, 306, 313, 312, 313, 226, 284, 283, 268, 250, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 398, 335, 417, 415, 547, 535, 485, 490, 499, 497, 595, 521, 521, 537, 92, 172, 168, 170, 165, 183, 185, 187, 161, 157, 155, 153, 163, 159, 141, 145, 146, 148, 150, 143, 49, 53, 89, 50, 54, 92, 66, 89, 95, 95, 95, 95, 92, 218, 209, 190, 188, 81, 87, 390, 375, 291, 305, 312, 446, 250, 247, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 249, 256, 268, 398, 404, 543, 547, 573, 493, 534, 490, 499, 497, 494, 595, 598, 508, 623, 537, 9, 7, 8, 92, 142, 147, 149, 151, 144, 137, 139, 133, 135, 132, 89, 89, 58, 110, 39, 55, 108, 92, 66, 66, 66, 95, 97, 95, 92, 95, 92, 95, 95, 92, 218, 99, 209, 190, 190, 188, 188, 116, 448, 445, 247, 249, 270, 240, 242, 268, 245, 268, 268, 268, 235, 268, 268, 239, 248, 268, 268, 268, 268, 405, 547, 533, 493, 495, 494, 476, 483, 8774, 8773, 566, 537, 12, 14, 92, 138, 140, 134, 136, 129, 130, 127, 79, 63, 65, 111, 92, 66, 97, 66, 47, 38, 95, 92, 95, 95, 92, 95, 92, 95, 92, 95, 92, 218, 209, 117, 85, 240, 242, 245, 235, 239, 248, 268, 268, 237, 268, 268, 235, 268, 231, 268, 268, 241, 399, 542, 547, 542, 529, 500, 526, 502, 495, 483, 596, 8772, 8773, 569, 537, 10, 11, 13, 92, 131, 128, 125, 123, 60, 72, 61, 64, 92, 29, 28, 72, 92, 95, 92, 95, 95, 92, 95, 92, 218, 209, 44, 86, 85, 447, 237, 231, 241, 268, 268, 237, 268, 268, 268, 231, 8447, 261,16639, 243, 399, 491, 500, 570, 622, 498, 486, 502, 574, 621, 596, 523, 524, 537, 92, 126, 124, 90, 45, 106, 57, 52, 92, 90, 90, 45, 45, 92, 95, 95, 92, 218, 92, 218, 98, 209, 98, 86, 85, 243, 474, 246, 244, 268, 236, 268, 268, 8447, 260, 257, 491, 496, 498, 492, 486, 531, 589, 537, 15, 92, 121, 46, 70, 17, 37, 109, 32, 92, 17, 17, 32, 32, 92, 95, 92, 95, 92, 92, 94, 96, 118, 86, 246, 244, 236, 474, 474, 268, 236, 268, 268, 530, 532, 532, 527, 496, 492, 537, 92, 122, 56, 19, 69, 92, 19, 19, 92, 95, 92, 95, 94, 92, 92, 91, 94, 92, 94, 92, 92, 268, 268, 232, 525, 537, 92, 59, 92, 92, 23, 92, 95, 92, 95, 93, 92, 232, 234, 268, 232, 536, 537, 536, 107, 30, 92, 95, 92, 95, 92, 92, 18, 33, 33, 34, 33, 234, 234, 268, 95, 95, 92, 95, 95, 95, 92, 95, 95, 92, 95, 92, 92, 20, 233, 24, 92, 95, 95, 92, 95, 92, 92, 233, 233, 25, 27, 92, 95, 95, 92, 95, 92, 95, 92, 95, 92, 95, 92, 92, 95, 92, 95, 92, 95, 92, 92, 92, 95, 92, 95, 92, 92, 92, 95, 92, 95, 92, 26, 92, 95, 92, 95, 92, 92, 95, 92, 95, 92, 95, 92, 95, 92, 95, 92, 95, 92, 95, 92, 95 } ; static yyconst short int yy_accept[4093] = { 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, 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, 14, 14, 14, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 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, 116, 119, 123, 126, 130, 134, 136, 138, 141, 144, 146, 149, 152, 155, 158, 161, 165, 168, 173, 176, 179, 182, 185, 187, 190, 193, 196, 199, 202, 205, 209, 212, 215, 218, 221, 223, 226, 229, 232, 235, 238, 241, 244, 247, 250, 253, 256, 259, 262, 265, 268, 271, 274, 276, 278, 280, 283, 285, 288, 290, 292, 294, 297, 300, 302, 305, 308, 310, 313, 316, 319, 322, 325, 328, 332, 335, 340, 344, 348, 352, 355, 358, 361, 365, 369, 373, 376, 380, 383, 388, 391, 395, 398, 401, 404, 407, 410, 413, 416, 419, 423, 426, 429, 432, 435, 438, 442, 445, 449, 453, 457, 461, 466, 469, 474, 477, 480, 483, 487, 491, 494, 496, 498, 500, 503, 505, 508, 510, 512, 515, 518, 520, 523, 525, 529, 533, 536, 541, 545, 548, 551, 554, 558, 562, 566, 571, 574, 577, 580, 583, 586, 589, 592, 596, 600, 603, 606, 609, 612, 616, 620, 623, 626, 629, 633, 636, 639, 642, 645, 648, 652, 654, 657, 659, 661, 664, 667, 669, 672, 675, 678, 681, 685, 689, 692, 695, 700, 703, 706, 710, 714, 717, 720, 724, 727, 730, 733, 737, 740, 745, 748, 752, 756, 759, 762, 765, 768, 771, 775, 779, 784, 787, 793, 796, 800, 803, 806, 809, 812, 816, 819, 822, 826, 829, 832, 835, 838, 841, 844, 847, 850, 853, 856, 860, 863, 866, 869, 872, 876, 879, 882, 886, 890, 893, 896, 899, 902, 906, 909, 913, 916, 919, 923, 926, 929, 932, 936, 939, 942, 945, 948, 951, 954, 958, 961, 964, 967, 970, 973, 976, 980, 983, 985, 988, 991, 993, 995, 998, 1000, 1002, 1005, 1008, 1010, 1013, 1016, 1018, 1021, 1024, 1026, 1029, 1032, 1034, 1037, 1040, 1043, 1047, 1051, 1054, 1057, 1060, 1062, 1064, 1067, 1070, 1072, 1075, 1077, 1080, 1083, 1086, 1089, 1092, 1095, 1099, 1102, 1105, 1109, 1113, 1116, 1119, 1122, 1125, 1128, 1131, 1134, 1138, 1141, 1144, 1147, 1150, 1153, 1159, 1163, 1167, 1173, 1176, 1179, 1182, 1185, 1188, 1191, 1194, 1198, 1201, 1204, 1207, 1210, 1214, 1218, 1221, 1224, 1227, 1230, 1233, 1236, 1239, 1243, 1246, 1249, 1252, 1254, 1256, 1259, 1262, 1264, 1267, 1270, 1273, 1277, 1280, 1283, 1286, 1289, 1292, 1295, 1298, 1301, 1304, 1308, 1311, 1314, 1317, 1320, 1323, 1327, 1330, 1333, 1336, 1340, 1343, 1346, 1350, 1353, 1356, 1359, 1362, 1366, 1369, 1372, 1375, 1378, 1382, 1385, 1387, 1390, 1392, 1395, 1398, 1400, 1402, 1405, 1408, 1410, 1413, 1415, 1418, 1421, 1424, 1427, 1429, 1432, 1435, 1438, 1441, 1444, 1447, 1450, 1452, 1456, 1459, 1462, 1466, 1469, 1472, 1475, 1479, 1483, 1486, 1489, 1493, 1496, 1499, 1502, 1505, 1509, 1512, 1517, 1521, 1525, 1529, 1532, 1534, 1536, 1539, 1541, 1544, 1547, 1550, 1553, 1556, 1559, 1563, 1567, 1570, 1573, 1578, 1581, 1585, 1588, 1591, 1594, 1597, 1601, 1604, 1607, 1611, 1615, 1618, 1622, 1625, 1628, 1631, 1634, 1637, 1640, 1644, 1647, 1650, 1653, 1658, 1661, 1666, 1671, 1676, 1679, 1683, 1686, 1690, 1693, 1695, 1698, 1700, 1702, 1705, 1707, 1710, 1712, 1715, 1718, 1722, 1725, 1728, 1731, 1734, 1737, 1740, 1743, 1748, 1753, 1758, 1762, 1766, 1770, 1773, 1778, 1781, 1784, 1788, 1791, 1794, 1797, 1799, 1802, 1805, 1808, 1812, 1815, 1818, 1821, 1823, 1826, 1829, 1831, 1834, 1837, 1840, 1842, 1844, 1847, 1850, 1853, 1856, 1859, 1862, 1865, 1868, 1872, 1875, 1878, 1881, 1884, 1887, 1890, 1893, 1896, 1899, 1902, 1905, 1908, 1911, 1914, 1917, 1920, 1923, 1926, 1929, 1933, 1936, 1939, 1941, 1943, 1946, 1949, 1953, 1955, 1957, 1959, 1962, 1964, 1968, 1970, 1973, 1976, 1980, 1984, 1987, 1990, 1993, 1996, 1998, 2001, 2004, 2007, 2010, 2014, 2017, 2019, 2021, 2024, 2026, 2029, 2032, 2034, 2036, 2039, 2042, 2044, 2047, 2050, 2053, 2056, 2058, 2061, 2064, 2067, 2070, 2072, 2075, 2078, 2081, 2083, 2085, 2088, 2090, 2092, 2095, 2098, 2101, 2103, 2106, 2109, 2113, 2116, 2120, 2124, 2128, 2132, 2135, 2140, 2144, 2147, 2151, 2154, 2158, 2162, 2167, 2171, 2174, 2178, 2182, 2185, 2188, 2192, 2196, 2200, 2204, 2208, 2211, 2216, 2219, 2223, 2226, 2229, 2232, 2236, 2239, 2243, 2247, 2251, 2255, 2260, 2264, 2268, 2271, 2275, 2279, 2282, 2285, 2289, 2292, 2297, 2300, 2304, 2308, 2311, 2314, 2318, 2321, 2324, 2327, 2330, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355, 2358, 2361, 2364, 2367, 2371, 2375, 2378, 2382, 2386, 2389, 2393, 2397, 2400, 2403, 2406, 2410, 2414, 2417, 2420, 2423, 2426, 2429, 2432, 2436, 2439, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2463, 2466, 2468, 2471, 2474, 2477, 2477, 2478, 2479, 2480, 2481, 2482, 2482, 2482, 2483, 2484, 2485, 2485, 2485, 2485, 2485, 2486, 2486, 2486, 2487, 2488, 2489, 2489, 2490, 2490, 2491, 2491, 2491, 2492, 2492, 2492, 2492, 2493, 2494, 2494, 2494, 2495, 2495, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2497, 2498, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2500, 2501, 2501, 2502, 2503, 2503, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2520, 2521, 2521, 2521, 2521, 2521, 2522, 2523, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2533, 2534, 2535, 2537, 2539, 2540, 2540, 2541, 2541, 2541, 2543, 2545, 2545, 2545, 2545, 2545, 2546, 2546, 2547, 2547, 2547, 2547, 2548, 2548, 2549, 2550, 2551, 2553, 2553, 2553, 2555, 2557, 2557, 2557, 2558, 2560, 2562, 2564, 2565, 2565, 2566, 2568, 2570, 2571, 2572, 2573, 2573, 2574, 2574, 2575, 2576, 2578, 2579, 2579, 2580, 2582, 2585, 2585, 2586, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2594, 2594, 2594, 2595, 2597, 2597, 2598, 2598, 2598, 2599, 2600, 2603, 2604, 2605, 2606, 2606, 2607, 2609, 2609, 2611, 2612, 2612, 2613, 2615, 2618, 2618, 2618, 2619, 2621, 2623, 2624, 2624, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2626, 2628, 2629, 2631, 2634, 2634, 2634, 2635, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2637, 2637, 2637, 2639, 2642, 2645, 2647, 2649, 2652, 2653, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2654, 2655, 2655, 2655, 2655, 2655, 2655, 2655, 2656, 2656, 2656, 2656, 2659, 2659, 2659, 2660, 2660, 2661, 2661, 2662, 2662, 2663, 2663, 2664, 2666, 2666, 2667, 2667, 2668, 2669, 2671, 2671, 2671, 2672, 2672, 2672, 2672, 2672, 2673, 2673, 2674, 2674, 2674, 2674, 2674, 2674, 2675, 2675, 2675, 2675, 2676, 2677, 2678, 2678, 2678, 2681, 2682, 2682, 2685, 2685, 2685, 2690, 2692, 2693, 2697, 2698, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2703, 2703, 2704, 2704, 2705, 2706, 2707, 2709, 2711, 2713, 2714, 2714, 2715, 2715, 2716, 2717, 2718, 2719, 2720, 2722, 2724, 2725, 2725, 2725, 2725, 2725, 2726, 2727, 2728, 2729, 2731, 2733, 2733, 2734, 2735, 2736, 2738, 2740, 2741, 2741, 2741, 2741, 2742, 2742, 2742, 2743, 2745, 2745, 2746, 2746, 2747, 2748, 2749, 2750, 2750, 2751, 2753, 2753, 2754, 2756, 2756, 2757, 2757, 2758, 2758, 2758, 2758, 2759, 2759, 2760, 2760, 2761, 2762, 2763, 2763, 2764, 2765, 2766, 2767, 2768, 2768, 2768, 2769, 2770, 2770, 2771, 2772, 2774, 2776, 2778, 2779, 2779, 2782, 2782, 2782, 2782, 2782, 2782, 2782, 2782, 2782, 2783, 2784, 2785, 2785, 2785, 2787, 2788, 2789, 2789, 2789, 2790, 2790, 2790, 2790, 2790, 2790, 2792, 2794, 2795, 2795, 2795, 2795, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2800, 2800, 2802, 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2804, 2804, 2804, 2804, 2804, 2804, 2804, 2804, 2806, 2808, 2810, 2811, 2811, 2812, 2812, 2812, 2814, 2814, 2815, 2816, 2816, 2816, 2816, 2817, 2817, 2818, 2819, 2821, 2823, 2823, 2823, 2825, 2825, 2825, 2827, 2828, 2828, 2828, 2830, 2831, 2831, 2831, 2833, 2834, 2835, 2836, 2838, 2839, 2839, 2840, 2840, 2842, 2844, 2844, 2845, 2845, 2846, 2848, 2848, 2849, 2849, 2850, 2852, 2852, 2853, 2855, 2855, 2855, 2856, 2858, 2859, 2861, 2862, 2863, 2865, 2867, 2869, 2870, 2871, 2872, 2874, 2876, 2878, 2879, 2880, 2882, 2884, 2886, 2887, 2888, 2890, 2892, 2894, 2895, 2896, 2898, 2900, 2902, 2902, 2902, 2902, 2902, 2903, 2904, 2904, 2905, 2906, 2907, 2908, 2909, 2909, 2909, 2909, 2909, 2911, 2911, 2913, 2913, 2914, 2914, 2915, 2916, 2917, 2919, 2921, 2921, 2921, 2921, 2922, 2924, 2925, 2926, 2928, 2930, 2932, 2932, 2933, 2933, 2934, 2935, 2936, 2937, 2938, 2938, 2939, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2946, 2947, 2948, 2949, 2951, 2951, 2952, 2954, 2954, 2954, 2955, 2955, 2956, 2956, 2957, 2958, 2959, 2959, 2960, 2960, 2961, 2962, 2964, 2966, 2968, 2969, 2970, 2971, 2973, 2973, 2973, 2974, 2975, 2977, 2978, 2980, 2981, 2982, 2984, 2986, 2988, 2989, 2990, 2992, 2993, 2993, 2993, 2994, 2995, 2996, 2996, 2996, 2996, 2996, 2997, 2997, 2998, 2998, 2998, 2999, 3001, 3003, 3004, 3005, 3006, 3008, 3008, 3008, 3010, 3012, 3013, 3014, 3016, 3016, 3016, 3018, 3020, 3020, 3020, 3020, 3020, 3021, 3021, 3021, 3022, 3022, 3022, 3023, 3023, 3024, 3024, 3024, 3024, 3024, 3024, 3024, 3025, 3025, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3027, 3027, 3027, 3027, 3028, 3028, 3028, 3029, 3029, 3029, 3030, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3049, 3050, 3050, 3051, 3051, 3051, 3052, 3053, 3053, 3054, 3054, 3055, 3055, 3055, 3055, 3055, 3055, 3056, 3057, 3057, 3058, 3058, 3059, 3060, 3060, 3061, 3061, 3061, 3062, 3062, 3063, 3063, 3064, 3064, 3065, 3066, 3066, 3067, 3067, 3067, 3067, 3067, 3068, 3069, 3069, 3070, 3070, 3070, 3071, 3071, 3072, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3074, 3075, 3075, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3077, 3078, 3079, 3079, 3079, 3079, 3079, 3079, 3079, 3079, 3079, 3079, 3079, 3079, 3080, 3080, 3080, 3080, 3080, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3082, 3082, 3083, 3083, 3084, 3085, 3086, 3086, 3086, 3087, 3087, 3088, 3089, 3089, 3089, 3089, 3089, 3092, 3096, 3099, 3102, 3102, 3102, 3102, 3102, 3102, 3102, 3102, 3102, 3102, 3102, 3103, 3103, 3103, 3103, 3103, 3103, 3103, 3103, 3103, 3104, 3105, 3106, 3107, 3107, 3107, 3107, 3107, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3113, 3114, 3114, 3115, 3115, 3116, 3117, 3117, 3117, 3117, 3117, 3117, 3117, 3117, 3117, 3117, 3117, 3118, 3120, 3121, 3121, 3122, 3122, 3123, 3123, 3124, 3124, 3125, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3127, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3129, 3129, 3129, 3129, 3129, 3129, 3129, 3129, 3129, 3129, 3129, 3130, 3130, 3130, 3130, 3130, 3131, 3131, 3132, 3132, 3132, 3132, 3132, 3133, 3133, 3133, 3133, 3133, 3133, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3134, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3137, 3139, 3141, 3141, 3141, 3142, 3142, 3143, 3143, 3144, 3144, 3144, 3145, 3146, 3147, 3147, 3148, 3148, 3148, 3149, 3150, 3150, 3150, 3150, 3150, 3150, 3150, 3152, 3152, 3153, 3153, 3155, 3155, 3155, 3156, 3157, 3158, 3159, 3160, 3160, 3160, 3161, 3162, 3162, 3163, 3163, 3163, 3163, 3164, 3164, 3165, 3166, 3166, 3167, 3168, 3168, 3169, 3169, 3170, 3170, 3171, 3171, 3172, 3172, 3173, 3173, 3174, 3174, 3175, 3175, 3175, 3175, 3175, 3175, 3176, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3201, 3203, 3203, 3203, 3203, 3203, 3204, 3206, 3206, 3206, 3207, 3209, 3209, 3209, 3209, 3209, 3210, 3210, 3210, 3210, 3210, 3210, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3213, 3213, 3213, 3213, 3213, 3213, 3213, 3214, 3214, 3214, 3214, 3214, 3214, 3214, 3215, 3215, 3215, 3215, 3215, 3215, 3215, 3215, 3215, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3217, 3218, 3219, 3219, 3219, 3219, 3219, 3219, 3219, 3219, 3219, 3219, 3219, 3219, 3220, 3221, 3222, 3223, 3223, 3224, 3224, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3226, 3226, 3226, 3226, 3226, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3228, 3228, 3228, 3228, 3229, 3229, 3229, 3230, 3230, 3231, 3231, 3232, 3232, 3232, 3233, 3233, 3234, 3234, 3235, 3235, 3235, 3236, 3236, 3236, 3236, 3236, 3236, 3237, 3237, 3237, 3237, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3238, 3239, 3239, 3240, 3240, 3241, 3241, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3242, 3243, 3243, 3243, 3244, 3244, 3244, 3244, 3244, 3244, 3244, 3245, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3249, 3251, 3251, 3251, 3251, 3252, 3252, 3252, 3252, 3252, 3252, 3252, 3252, 3252, 3252, 3254, 3255, 3255, 3255, 3256, 3258, 3258, 3258, 3259, 3260, 3262, 3262, 3263, 3265, 3265, 3266, 3268, 3268, 3268, 3268, 3268, 3268, 3269, 3269, 3270, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3291, 3291, 3291, 3292, 3292, 3292, 3293, 3293, 3294, 3294, 3295, 3295, 3295, 3295, 3296, 3296, 3296, 3296, 3296, 3296, 3296, 3296, 3297, 3297, 3297, 3298, 3298, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3300, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3302, 3303, 3304, 3304, 3304, 3304, 3304, 3304, 3304, 3304, 3304, 3304, 3304, 3305, 3305, 3305, 3305, 3305, 3305, 3305, 3305, 3305, 3306, 3306, 3306, 3307, 3307, 3308, 3308, 3309, 3309, 3309, 3310, 3310, 3311, 3311, 3312, 3312, 3312, 3312, 3312, 3313, 3313, 3313, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3315, 3315, 3316, 3316, 3317, 3317, 3318, 3318, 3318, 3318, 3318, 3318, 3318, 3318, 3318, 3318, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3320, 3320, 3320, 3320, 3320, 3320, 3320, 3320, 3320, 3321, 3321, 3321, 3321, 3322, 3322, 3323, 3323, 3323, 3323, 3323, 3323, 3323, 3323, 3323, 3323, 3323, 3324, 3324, 3324, 3325, 3325, 3326, 3326, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3328, 3328, 3328, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3330, 3330, 3330, 3330, 3330, 3330, 3331, 3331, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3333, 3334, 3335, 3336, 3338, 3338, 3338, 3338, 3339, 3339, 3339, 3339, 3340, 3340, 3341, 3341, 3341, 3341, 3341, 3341, 3343, 3343, 3343, 3344, 3344, 3345, 3346, 3346, 3347, 3347, 3348, 3348, 3348, 3348, 3349, 3349, 3349, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3369, 3369, 3370, 3370, 3370, 3370, 3371, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3372, 3373, 3374, 3375, 3375, 3375, 3376, 3376, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3378, 3378, 3378, 3378, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3380, 3380, 3381, 3381, 3381, 3381, 3381, 3381, 3381, 3381, 3381, 3381, 3381, 3381, 3382, 3383, 3383, 3383, 3383, 3383, 3383, 3383, 3384, 3384, 3384, 3384, 3384, 3384, 3385, 3385, 3386, 3387, 3387, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3390, 3390, 3390, 3390, 3391, 3391, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3393, 3393, 3394, 3394, 3394, 3395, 3395, 3395, 3395, 3396, 3396, 3397, 3397, 3397, 3397, 3397, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3399, 3400, 3400, 3401, 3401, 3401, 3401, 3401, 3401, 3401, 3401, 3401, 3401, 3401, 3401, 3402, 3403, 3403, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3406, 3406, 3406, 3406, 3406, 3407, 3408, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3411, 3412, 3414, 3416, 3417, 3419, 3419, 3419, 3419, 3420, 3421, 3421, 3421, 3422, 3423, 3424, 3425, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3427, 3427, 3428, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3430, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3447, 3448, 3448, 3448, 3448, 3448, 3449, 3449, 3449, 3450, 3450, 3450, 3450, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3452, 3452, 3453, 3453, 3454, 3454, 3454, 3455, 3455, 3455, 3455, 3455, 3455, 3455, 3456, 3456, 3456, 3456, 3456, 3457, 3457, 3457, 3458, 3458, 3458, 3458, 3458, 3459, 3459, 3459, 3460, 3460, 3460, 3460, 3461, 3462, 3462, 3463, 3463, 3463, 3464, 3464, 3464, 3464, 3465, 3465, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3466, 3467, 3467, 3467, 3467, 3467, 3468, 3468, 3468, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3470, 3470, 3470, 3470, 3470, 3471, 3471, 3471, 3471, 3471, 3471, 3471, 3472, 3472, 3473, 3473, 3473, 3473, 3473, 3474, 3474, 3474, 3474, 3474, 3476, 3477, 3477, 3477, 3477, 3477, 3477, 3477, 3477, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3479, 3479, 3479, 3479, 3479, 3479, 3479, 3479, 3479, 3479, 3479, 3480, 3482, 3483, 3485, 3487, 3489, 3491, 3491, 3491, 3491, 3491, 3492, 3492, 3492, 3492, 3493, 3493, 3493, 3493, 3493, 3493, 3494, 3494, 3495, 3496, 3496, 3497, 3497, 3497, 3497, 3497, 3498, 3498, 3498, 3499, 3500, 3500, 3500, 3500, 3500, 3501, 3502, 3502, 3503, 3504, 3505, 3506, 3507, 3507, 3508, 3509, 3509, 3510, 3511, 3512, 3512, 3514, 3515, 3515, 3515, 3516, 3516, 3516, 3517, 3517, 3517, 3517, 3517, 3518, 3518, 3518, 3519, 3520, 3520, 3520, 3520, 3521, 3521, 3521, 3521, 3522, 3522, 3522, 3523, 3523, 3524, 3524, 3524, 3524, 3525, 3526, 3526, 3527, 3528, 3529, 3529, 3530, 3530, 3530, 3530, 3530, 3530, 3530, 3530, 3530, 3530, 3530, 3530, 3531, 3531, 3531, 3532, 3532, 3533, 3533, 3533, 3533, 3533, 3533, 3533, 3534, 3534, 3534, 3534, 3534, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3536, 3537, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3539, 3539, 3539, 3539, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3544, 3546, 3547, 3549, 3551, 3551, 3551, 3552, 3552, 3553, 3553, 3553, 3553, 3553, 3554, 3554, 3555, 3556, 3556, 3556, 3556, 3557, 3557, 3557, 3557, 3557, 3558, 3558, 3558, 3559, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3566, 3569, 3569, 3569, 3570, 3571, 3571, 3571, 3571, 3572, 3572, 3573, 3574, 3574, 3575, 3576, 3576, 3577, 3578, 3578, 3578, 3579, 3580, 3580, 3580, 3581, 3581, 3581, 3581, 3582, 3583, 3583, 3584, 3584, 3584, 3585, 3585, 3586, 3586, 3586, 3586, 3586, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3588, 3589, 3589, 3589, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3591, 3592, 3593, 3593, 3593, 3593, 3593, 3593, 3594, 3595, 3596, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3599, 3600, 3600, 3600, 3600, 3600, 3600, 3602, 3602, 3602, 3604, 3604, 3604, 3604, 3606, 3607, 3607, 3607, 3607, 3607, 3608, 3609, 3609, 3609, 3609, 3609, 3609, 3610, 3611, 3611, 3612, 3613, 3614, 3614, 3615, 3616, 3617, 3619, 3619, 3620, 3620, 3620, 3621, 3621, 3622, 3623, 3624, 3625, 3626, 3626, 3627, 3627, 3627, 3628, 3628, 3629, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3631, 3632, 3633, 3633, 3633, 3633, 3634, 3635, 3635, 3635, 3635, 3636, 3637, 3637, 3638, 3638, 3638, 3638, 3638, 3638, 3638, 3639, 3640, 3640, 3640, 3640, 3641, 3642, 3642, 3644, 3646, 3646, 3647, 3647, 3649, 3649, 3649, 3650, 3650, 3650, 3651, 3651, 3651, 3652, 3653, 3654, 3654, 3654, 3655, 3655, 3655, 3656, 3657, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3667, 3668, 3668, 3669, 3669, 3670, 3670, 3670, 3670, 3670, 3671, 3671, 3672, 3673, 3673, 3673, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3675, 3676, 3676, 3676, 3678, 3680, 3680, 3681, 3682, 3682, 3683, 3685, 3685, 3687, 3688, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3690, 3691, 3691, 3692, 3693, 3694, 3694, 3695, 3695, 3695, 3696, 3696, 3696, 3697, 3698, 3698, 3698, 3698, 3698, 3698, 3699, 3699, 3701, 3703, 3703, 3703, 3704, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3706, 3706, 3707, 3708, 3709, 3711, 3712, 3713, 3714, 3714, 3714, 3714, 3714, 3716, 3718, 3719, 3720, 3721, 3721, 3722, 3724, 3725, 3725, 3726, 3726, 3727, 3728, 3728, 3728, 3728, 3728, 3729, 3730, 3732, 3733, 3734, 3736, 3737, 3739, 3740, 3741, 3742, 3742, 3742, 3743, 3743, 3743, 3744, 3744, 3746, 3747, 3749, 3750, 3751, 3751, 3752, 3753, 3753, 3754, 3755, 3757, 3758, 3760, 3762, 3764, 3766, 3767, 3768, 3768, 3769, 3771, 3773, 3774, 3775, 3775, 3777, 3779, 3780, 3781, 3781, 3783, 3785, 3786, 3787, 3789, 3791, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3806, 3808, 3808 } ; 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, 59, 43, 1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 43, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 59, 86, 87, 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[88] = { 0, 1, 1, 2, 3, 4, 2, 5, 6, 7, 1, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 19, 1, 20, 5, 21, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 25, 26, 5, 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, 27, 28, 29 } ; static yyconst long int yy_base[4882] = { 0, 0, 4, 25, 0, 111, 115, 119, 139, 129, 133, 196, 0, 283, 0, 147, 151, 370, 0, 456, 461, 466, 484, 569, 0, 656, 0, 743, 0, 159, 504, 829, 835, 513, 540, 518, 545, 919, 1003, 857, 863, 849, 870, 877, 898, 908, 913, 1088, 0, 1175, 0, 931, 965, 1261, 1268, 951, 955, 1275, 1282, 989, 1290, 998, 1009, 165, 169, 1023, 1043, 1031, 1052, 1295, 1300, 1056, 1305, 1339, 1346, 1385, 1395, 1390, 1400, 1424, 1429, 1450, 0, 1536, 1542, 1563, 1650, 1583, 1670, 1737, 1824, 1757, 1844, 1310, 1361, 1911, 0, 1998, 2085, 2172, 2259, 1621, 1625, 2346, 0, 2042, 2129, 1596, 1603, 1697, 1709, 2433, 0, 2520, 0, 2019, 2107, 1770, 1795, 1857, 1882, 2607, 0, 1607, 1683, 2694, 0, 1783, 1864, 2190, 2194, 2277, 2780, 2281, 2785, 2842, 2929, 2013, 2034, 3016, 3103, 1886, 2056, 3190, 3277, 2103, 2134, 2219, 439, 3364, 3451, 2144, 2215, 3538, 0, 3625, 0, 2307, 2321, 2789, 2817, 2812, 2862, 2876, 2900, 3712, 0, 2807, 2891, 2949, 3036, 3799, 3886, 3973, 172, 4060, 4147, 4234, 0, 2979, 3063, 3121, 3153, 4321, 0, 4408, 0, 4495, 0, 3210, 3297, 2299, 2303, 4582, 4668, 3237, 3324, 4754, 4841, 4928, 5015, 5102, 5189, 2969, 2973, 4615, 4702, 5276, 5363, 5450, 5536, 3050, 3056, 5622, 0, 3143, 3223, 3230, 3250, 3310, 3317, 3337, 3384, 3411, 3469, 3396, 3404, 5709, 0, 3473, 3819, 5796, 5883, 3139, 3163, 3422, 3426, 3483, 3491, 3511, 3839, 5970, 0, 3496, 3832, 6057, 0, 6144, 6231, 6318, 6405, 3844, 3857, 6492, 0, 3918, 3925, 3862, 3931, 4078, 4082, 4118, 4597, 3945, 4092, 4179, 4186, 4208, 4621, 4123, 4165, 4707, 4786, 4873, 4960, 4625, 4774, 4630, 4712, 4859, 5035, 4863, 5122, 6579, 0, 5225, 5323, 4812, 4975, 4817, 4904, 5056, 5077,15894,34204,15891,34204,34204, 1,15878,34204, 15889,34204,34204, 2,34204,15888, 1353, 2148, 4168,34204, 3, 6, 1778, 2250, 2882,15861,34204, 2963, 9, 559, 472,34204,34204,34204,34204, 0,34204,15886,34204, 166, 34204, 3005, 842, 1324, 1717,34204,15859,34204, 3094, 10, 34204,15884,34204,34204,34204, 168, 116,15817,34204,15827, 34204, 4603, 4687,34204, 6664, 3124, 4192, 829, 102,15867, 4948, 460,15854, 5049,34204,34204, 4885,34204, 5141, 5178, 5145, 5091, 5352, 5310, 5399, 5395, 5411, 5231,34204, 891, 4660, 5006, 5265,15853, 5315, 1081, 5220, 5252, 5469, 5481, 469,34204, 0, 478,34204,34204,34204, 5489,34204,15878, 1890, 2062, 3167,34204,34204, 1330, 505,34204,15877,34204, 34204,34204, 508, 5439, 5493, 5522, 532,34204, 4746,15805, 15817,15809,15802,34204,15872,34204,34204, 1628, 820,15841, 34204,15866,34204, 839,34204,34204, 0, 5832, 1443, 1550, 1556,15859,15809, 922,34204,34204,34204,15805, 5517, 5528, 5555,15836, 5571, 1728, 5575, 5582, 5815,15835, 5843, 1804, 0, 6191,34204, 0,34204,15805, 925,34204,34204, 5508, 955, 0,34204, 933, 124,34204,34204,15859,34204,34204, 34204,15839, 961, 0,15857,34204,34204,34204,15856,15852, 153, 971, 496, 0, 536, 870, 0,15835, 980,15851, 144,34204,15850, 1059,34204,34204,34204,34204, 0, 5854, 1037,34204, 0,15832, 999,15831,15787,15786, 1066, 1002, 1046,34204,15847, 1814, 2066, 2153, 1272,34204,34204,34204, 34204,34204,34204, 0,15832, 1408, 2327, 2238, 3256, 1285, 1292,34204,15845, 3150,34204,34204,15825, 1301, 0, 111, 6712, 809, 5903, 2218, 1352,34204,15839, 3907,34204,34204, 15819, 2919, 1362, 463, 6760, 875, 6163,34204, 2993, 5858, 1392,34204,15837, 5904,34204,34204,15817, 1398, 1307, 964, 5867, 6234, 6250, 3331, 1402,34204,15835, 4942, 5945, 6177, 1419, 2843, 3200, 6251, 1420,34204,34204, 1421, 6182, 6186, 6222,15815,15807, 6264, 2998, 3084,34204, 3176, 0, 0, 1581, 3430,34204, 3434, 0,15802, 1694, 943,34204,15830, 34204,34204, 1689,15810, 1594,15756, 6275, 6337, 6350,34204, 15794, 6354, 3517, 5060,34204, 2056,15745,15750,15737,34204, 34204,15807,34204,34204, 1668,15794, 0,34204,15805, 1713, 34204,34204,15785, 1854, 1007, 866, 426, 6365,34204, 3865, 6424, 1855, 6391, 6614,34204,15803, 3047,34204,34204,15783, 1858,34204,15801,34204,34204,15781, 1883,34204,15781, 0, 510,34204, 0, 1884,34204, 0,15796, 1074,34204,15795, 2016,34204,15796,34204,34204,15776, 2058, 3812, 1210, 1886, 2105,34204,15794,34204,34204,15774, 3951, 2109,15726, 2210, 2126,34204,15791,34204,34204, 2145,15724, 6677, 2146, 3457, 6643, 6689, 6683, 2147,34204,15789,34204,34204, 2217,15769, 34204, 0, 0, 2229,15785, 1547,34204,15784, 3060,34204, 0, 0, 2278, 933, 1549, 0, 0, 2279,34204, 6791, 34204,15785, 6753, 6798, 6802, 2781,15758, 6839, 3964,34204, 6843,34204,34204,34204,15779,34204, 6847, 2808,34204,15778, 5162, 5428, 5601,34204,34204, 4129, 2818, 5951, 6203, 6384, 6470, 6358, 6758,34204,15723,34204,34204, 0, 6852,34204, 34204, 0, 2868,15714,15713, 3062,34204,15774,34204, 6899, 3229, 0, 4137, 4222, 4732,15688,15760, 0,15753, 6849, 3328, 6864, 1616, 6976, 7048, 7121, 7200, 7273,15694, 1190, 15684, 6859, 3508, 6870, 3335,15762, 0, 6890, 6907, 6911, 15741, 6919, 4736,34204,15766,34204,15753,15745, 3248,15701, 15700,34204, 3398, 7354, 7435, 7516, 0, 5155, 5002, 5297, 6218, 3425,15742,15698,15697, 0, 3476,15696,34204,15751, 34204,34204, 3512,15688, 0, 0, 0, 3513, 0, 0, 3817,34204, 90, 1743, 0, 3858, 0, 3905,34204, 0, 886, 0, 0, 3916,34204,34204, 0, 0, 4998, 4088, 0, 5260, 4108, 0, 5344, 4198, 0, 5609, 4201,34204, 15749,34204,34204, 4575, 1568, 4741, 5863, 4831, 4918, 5083, 6982, 6925, 6988, 7002,15722, 7058, 5210,15745, 2915,34204, 15744, 848, 4600, 926,15683, 0, 0, 4627, 0, 1811, 0, 4629, 1689, 1856, 2204, 6376,34204, 0,15741, 2049, 34204,15740, 4777,34204, 0, 2024, 1745, 0, 0, 5350, 7066, 0, 0, 0, 4637,34204,15679,15663, 0,15726, 2325,34204,15719,15701, 4951,34204,15719,34204, 4781,34204, 7062, 0, 6698,34204, 0,34204,34204, 4787, 0, 0, 7081, 0,34204,15663,34204,34204, 4802,15717,34204,34204, 34204, 0, 4891,34204, 0,15697, 4808, 0, 2244,34204, 0, 4955, 0, 7153, 5827, 6443, 6474,34204, 6806, 4972, 34204,34204,34204,15715, 6996, 7028, 7066, 4973,34204,34204, 34204,15714,34204,15696, 5041,34204,15712,34204, 5051,15648, 6706, 4082, 5059,15647, 0,34204,15709, 7159, 7166, 7178, 34204,15653,34204, 7185, 5062, 7192,34204,34204,15707,34204, 34204,34204,15687, 5156, 0, 0, 7213,34204, 0,34204, 15650,34204,34204, 5228, 0, 7227,34204, 0,34204,15649, 5251,34204,34204,15703,34204,34204,34204,34204,15690, 7197, 5296, 1354, 958,34204,15699, 7219, 7238,15674, 1722, 7245, 7280, 7311,34204, 1786, 7128, 7315, 3053, 0, 7319,15673, 7330, 7233, 7323, 7349, 7373, 2226, 7386, 7390, 7394,15672, 2281, 5317,15638,15618,15680, 7402, 7250, 5390, 7399, 5397, 7601, 7427, 2802,15664,15621, 421,15618,15616,15628, 2237, 2051,15604,15614,15617, 3088,15620, 2814, 7432, 7454, 1377, 5497, 7469, 7473, 7480,15651, 7508, 7512, 7548, 7554, 7558, 7589, 7609, 7595, 7638, 7646, 7680, 7684, 7688, 7693, 7697, 7484, 7725, 7501,15654, 7630, 7729, 7734,34204, 7642, 7738, 1764, 5919, 0, 7742, 7766, 7771, 7775, 7779,15608,15620, 15612,15605, 7783, 7787,15605,15608,15599,15604, 7792, 7805, 34204, 0, 7810, 0, 7821, 7829,15665,34204,15654, 7816, 7840, 0,15595, 7844,15637, 7853, 7857, 7861, 0, 7865, 15636, 7870, 7874, 7883, 0, 0, 7895, 0,15650, 7887, 1805, 4656, 7901, 5414, 3439, 0,34204,34204,15657, 563, 34204,34204,34204,34204,15656,15655, 1333,15653, 2037, 0, 5422, 0, 3079,15636,34204,34204, 0,15652,34204, 2335, 15640,15641,15566,15553, 0, 7915, 0, 3945,15535,34204, 34204, 2767,15411,15398, 4898, 5575,15453, 4979, 7920, 0, 15446, 5823, 6437,15445, 6766, 7929, 7924,15444,15443, 5857, 15442, 6252, 7921,34204,34204,34204, 0, 2916, 5074, 2972, 15381, 2906,15392, 2224, 6327,15383, 1311,15394,15373,15392, 15387, 2721,15367,15377, 3002, 7945, 6946,15427,34204, 4699, 6954,34204, 5835, 6901, 1790,34204,34204, 5843, 3407, 3187, 3762, 3068, 2010,15387,15382, 6237, 3790,15385, 8000,34204, 7938, 7971,34204, 7950,34204, 7959, 8004,34204, 7493, 6249, 4060, 5540,15371,15371, 3336,15370,15375,15373,15375,15366, 8008, 7085, 7201,15360, 6463, 8022,15411,15366,15358, 8009, 15408,34204, 8031,15400,34204, 8041, 8045, 8049, 0, 8057, 34204,15419, 0, 0, 8071,34204,15418,15393,34204,15392, 15415, 6369, 6681,15358, 8075,15393, 8079, 8083, 8087, 0, 8064, 3906,15347,15346, 4179, 3415,15346,15341,15346,34204, 15401, 0, 2931,15349, 8094,34204, 8113, 8117,15392, 8079, 8158,34204, 8126, 8164, 8118, 8184,15333, 3763, 4051,15323, 2797,15344,15339, 5898,15338,15341, 7334,34204,15379,34204, 15244,15289, 0, 3173, 0, 0, 0, 0,15292,34204, 3357,15291,15286,15283,15282,34204,34204,34204,34204,15209, 15212, 6715,15267,34204,15266,34204,34204,34204,34204, 6963, 15265, 8198, 8202,34204,34204, 6974, 3361,15216, 2828, 7343, 2992,15271, 0, 0,15274,34204, 3961,15273,15274,15271, 15270,15265, 0, 0,15264, 0, 0, 8206, 8220,15243, 8227, 8232,15242, 8253, 8258, 8262, 0, 8266,34204,34204, 34204, 8270,34204,34204, 8284, 8288, 8300, 8304, 8309,15213, 15212,15209, 0, 8324, 0,34204,34204,15194,15193,34204, 7402, 7113,15186, 1617,15199,15185,15178,15172, 0, 8328, 8332, 8338, 8343, 8347, 8353, 8351, 0, 0, 0,15235, 4675, 8363, 8365, 0,34204,15234, 8380, 8404,15234, 8458, 34204, 8360, 7113, 8402, 3780, 3835, 8425, 8411, 4814, 6406, 4841, 7964, 8316, 8490, 5006, 5096,34204, 8399, 8366, 8481, 7284, 8509,15174, 2892, 8539,34204, 6625,15187, 7303,15183, 15177,15184,15187,15159,15230, 8599, 2985, 8678,15224, 8566, 8554, 8574, 7523, 8592, 6273, 5275, 3146, 8543,15223, 6975, 925, 7521, 1523, 484, 2125, 4795,15168,15163,15176, 8646, 7651,34204,15218, 5927, 7747,15230,15223, 0, 8654,15202, 8665, 8685, 8579, 0,34204,34204,34204,15157,15156,34204, 15213, 3223, 8759, 8705,15212, 3282, 8840, 8726,15189, 3290, 8921, 8817, 0, 8477, 0, 8584, 8674,15138,15137,34204, 34204, 5104,15128,15127, 0, 0,15126, 0,15189, 0, 0,15188, 0, 0, 5258, 5253, 0, 0, 0, 0, 0, 3323, 0, 0, 0, 0, 0, 8791, 0, 0, 0, 0, 8796, 0, 0, 0, 0, 8801, 0, 0, 0, 0, 8806, 0, 0, 0,15127,15125,15121, 8724, 8745, 8750, 8817, 8836, 8860, 8875, 8879, 8883, 8887,15164, 8897, 8902, 8913, 8908, 3869,15187,34204, 6159,15186,15187, 15184,15183,15182, 1546,15113,15176, 0, 0, 0, 4219, 0, 0, 0, 4801,34204, 6209, 5166,15181, 5432, 5868, 0,15178,34204, 4681,15176,15177,15174,15173, 0, 5518, 3196,15168, 0, 7540, 0, 7662,15167, 0, 0,15106, 15110, 0,15168,34204, 6713,15167,15168,15165, 8917,34204, 15140, 0, 8100, 0, 0, 0,34204, 0, 8942, 0, 15154, 8945, 0, 6884, 0,34204, 0, 0, 5238, 0, 0, 0, 0, 8983, 0, 8956, 8969, 5943, 4186, 4775, 8989, 4590,15156, 7518,15144, 7097,15106, 0,15150, 8987, 34204,34204,34204,34204, 0, 9012, 0,15149, 9006, 0, 0, 0, 9031, 0,15148, 9023, 0, 0, 4940, 5484, 15130, 9037, 9047, 9018, 9051, 9055, 9063, 9067, 9083, 9093, 0,15131, 9097,15078,15079,15086,15077,34204,15141,15140, 9096, 5077, 5509, 5335, 6157,15092,15072,15071, 3254,15085, 15076, 6415,15085,15069, 4019,15059,15064,15054,15064, 9109, 9101, 9127,15100,34204, 0, 6727,34204,15111, 9131, 9135, 9139,34204, 9143, 9148, 9163, 9176, 9181, 9193, 9209, 9225, 9229, 9246, 9237, 9257, 9265, 9274, 9278, 9285, 9293, 9321, 9325, 9333, 9356, 9363, 9197, 9367, 9371,15094,15093,15092, 6243, 9314,15044,15043,15046,15058, 9375,34204,34204,15104, 15103, 9381, 9382,34204, 9405, 0,15051, 9409, 9413, 9417, 0, 9421, 9425, 9429, 0,34204,15101,15100, 9432,15096, 5381, 6279,15105,15104, 3335,15045,15044, 7413,15090, 6934, 15089, 6940,15034, 4647, 6699,15031,15042,15041, 5526,15027, 5562,15035,15035,15035,15028,15034,15030,15027, 4152,15031, 34204,34204,15019, 5810, 5245,15019,15010,15013,15018,15015, 15010,15006,15002,15003,15008,14999,14997, 7437, 7133,34204, 7563,14994,14978,14986,14985,14972, 5191,14989, 5504, 6269, 3313,34204,14984,14904,14888,14887, 9456,14884,14892,14888, 4760, 6718,14875,34204, 9460, 9464, 9468, 0,34204,14920, 14875, 9473, 9477, 9481, 0, 6191,14873,14876,14888, 7213, 9494, 9509, 9513, 9517,14869,14878,14860,14832,14834,14829, 14830, 5531,14801,14798,34204,14739,14717,14713,14642,14625, 14634,14615, 9534,34204,34204, 9549,14676, 3425,14625,14615, 14613, 5782,34204,34204,34204, 9553, 9572, 9579, 9558, 9584, 9605, 0,14613,14611,14580,14578,14578,14558,14539,14546, 14532,14558,14499,14489,14480, 9610, 9614, 9612,14520, 9632, 14516, 7360, 7863, 9474, 9644, 0, 9711,14510, 7299, 7985, 8111, 9630, 6267, 6320, 9604, 7796, 6682, 4581, 6708, 8441, 9631, 9629, 6835, 6962, 8103,34204, 6982, 8190, 7047, 7113, 8279, 7337, 8561, 8570, 8598, 4834, 8603, 8634, 8640, 7410, 8678, 8712,34204, 7429, 7471, 8740, 4919, 7558, 8756, 8975, 34204, 7600, 7692, 5311, 8648, 7759, 9031, 9076, 9158, 9204, 5766, 9619,14456,14445,14440,14420, 9627,14431, 9644,14428, 14365,14344,14330, 9681,14333,14333,14311,14319, 7229, 9708, 14292,14297,14291,14277,14289, 6824, 9712, 6108,14273,14249, 14246,14247,14246,14299,34204, 9782, 2893, 7505, 5166, 5802, 6854, 3156, 6371, 3297, 6324, 7387, 6353, 5189, 2778, 5023, 6727, 6848, 4978, 6944, 8390, 6906, 7005, 6198, 6412, 5839, 7881, 9737, 7591, 3119, 6374, 7059, 6661, 6899, 9861, 9940, 6386, 7797, 8999,14286, 9741, 9745, 9718, 0,14242,14228, 14251,14249,14247, 7540,14194,14191,14190,34204,34204, 7765, 7909,14173,14176,14165, 9749, 9755, 9759,34204, 8452, 6937, 5406,14164,34204, 7994, 8030,34204,34204,14152,14126,34204, 34204,14105,14104, 9762, 6426, 7077,14074, 162,34204,34204, 8213,34204,34204, 460, 876, 9767,34204, 896, 1008, 9798, 34204, 1272, 1311, 9818,34204, 9809, 0, 9791, 1347, 1653, 1696, 1827,34204,34204, 9825, 1996, 2003, 1973, 2147, 2255, 2272, 2862, 3130, 3160, 3231, 3326, 3342, 3446, 3447, 3784, 3817, 3858, 3884, 4034, 9813,34204,34204, 7178, 9829, 9862, 9894, 9899, 9904, 9908, 9947, 9978, 9982, 9987, 9998,10015, 10026,10031,10036,10044,10064,10072,34204,34204, 4052, 4074, 4085, 4130,34204,34204, 9917, 4153,34204,34204,10096, 7198, 4614, 8107, 4590, 4632, 4651, 4788, 9308, 4839,34204, 4874, 4910, 4975, 5001, 5052, 5073, 7965, 5082, 5338, 5357, 5383, 7111, 5400, 5425, 5490, 5750, 5771, 5826, 5857, 5874, 5869, 5873, 5889, 6098, 6144, 6246, 6302, 6337, 6423, 6606, 6632, 6653, 6780, 6722, 7198, 6728, 6762, 6771,34204, 6807, 6888, 6890, 6900, 6911, 9350,34204, 6942, 6978, 6988, 6997, 7010, 7026, 7021, 7043, 7061, 7209, 7117, 7169, 7180, 7198, 7239, 7247, 8102, 7274, 7265, 7279, 7658, 9941,10101, 7282, 7291, 7295, 7311, 7351, 7351, 7353, 7381, 7362, 7414, 7430, 7535, 34204,10143,10222,34204, 9351,34204, 9500,34204, 8176, 8168, 8260, 9768, 8252, 9824, 9973, 9993, 8065,10054,10059,10078, 8328,10079,34204,10109, 8320,10111,10129,34204, 8351, 8382, 8076,10098, 8405,10141,10142,10147,10152, 8428, 7468,10172, 7576,10174,34204, 8514, 8492,10179,34204,10180,10184,34204, 10185,34204,10186,34204, 8560,10190,34204,10191,34204,10192, 34204, 8573,10196,34204, 7470,10202,10223, 8576,10229,34204, 8674, 8597,10234,34204, 7488,10248,10250, 8688, 8713,10254, 10256, 8783,10261,34204,10262,34204,10266,34204,10267,34204, 10268, 7465, 7488, 9857, 7498,10133, 7506, 7507, 7504, 7531, 7643, 7554, 7550, 7564, 7570, 7597, 7602, 7643, 7651, 8923, 7633,10272, 7656, 7675, 7742, 9868, 7687, 7743, 7763, 7784, 7995, 7782,34204,10341, 7870, 7872, 7998,10286, 8081,10298, 8076, 8200, 8703, 8705, 8117, 7874, 8276, 8877, 8719, 8156, 7917, 8391, 8208, 7894, 8259, 8761, 8399, 8794, 8874, 9873, 8386,10307, 8532, 8398, 8496, 8535, 8748, 8414, 8092, 8914, 9375, 8823,10287,10420,10499, 7815, 7845, 8796, 7957, 7960, 7969,10320,10325, 8041, 8050, 8066, 9013, 8093, 0, 8479, 8216, 8233,34204,34204,10357, 8271,34204,34204,34204,10363, 34204,34204,10377,34204,34204,10382, 8239, 8256, 8257, 8279, 34204, 8399,34204,34204, 8358,10092, 8375, 8404, 8464, 8481, 8485, 8579, 8589, 8586, 8601, 8595, 8611, 8613, 8622, 8635, 8704,10329,10388,10408,10421,10427,10464,10469,10456,10460, 10475,10506,10536,10541,10545,10549,10557,10577,10585,10589, 10594,10333, 8700,10622, 8711,34204, 8803, 8756,34204, 8822, 34204,10311, 8764, 8771, 8781,10316,34204, 8785, 8789, 8785, 8794, 8804, 8797, 0, 9000, 8833, 8858, 9077, 8874, 9120, 8881, 8888, 8891, 8887, 8899, 8929, 9154, 8923, 8960, 9000, 9001, 9002, 9016, 9005, 9019, 9016, 9028, 9018, 9039, 9051, 9068, 9078, 9090, 9094, 9094, 9096, 9096, 9186, 9202, 9107, 9145,10511, 9110, 9123, 9130, 9121, 9153, 9149, 9148, 9154, 9150, 9178, 9168, 9179, 9180, 9184, 9191, 9182, 9228, 9186, 9207, 9222, 9320,10635,10642, 9230, 9236, 9223, 9241, 9230, 9249, 9293, 9256, 9304, 9305, 9275,10662, 9311,10525, 9313, 10564, 9486, 9493, 9466,10598,34204,10646,10647,34204,10669, 34204,10671,34204, 9464,10677,34204,10688,34204,10689,34204, 9528, 9314,10690,10694,34204, 9494,10696,34204, 9315,10701, 10702, 9523, 9597,10707,10708, 9609,10709,34204,10713,34204, 10721,34204,10726,34204,10732,10740, 9318,10741, 9624,10745, 9320,10749,10751,34204, 9360,10753, 9364,10757, 9366,10759, 10763, 9368,10764, 9370,10765, 9406,10772,10773, 9407,10781, 10787,34204, 9620, 9408,10795,10796, 9661, 9410,10797,10803, 34204, 9712, 9780,10804,34204,10805,34204, 9853, 9412,10809, 9414,10811, 9415,10815, 9416,10817,10819,34204, 9378, 9378, 10416, 9416,10628,10827,10849,10853, 9426, 9425, 9438, 9456, 9451, 9453, 9470, 9464, 9472, 9473, 9486,10857,10861, 9688, 9502,10865,10869,10873, 9501, 9510, 9516, 9583, 9583,10877, 9571, 9603, 9636, 9607, 9622,10939, 9706, 9752, 9838, 9899, 10881,11026, 9844,10885,10889, 9707, 9936, 9833, 9938, 9857, 9900, 9761, 9911, 9987,10067, 9989, 9915,10003,10013,10060, 10893,10911,10002,10915,10919, 9917, 9978, 9825,10073, 9895, 10195,10923, 9686, 9993,10390,10213,10285, 0,10921,10924, 11105,11184, 9619, 9706,10900, 9703, 9773, 9786,10966,10971, 10981,10996,10985, 9853, 9856,10067, 9864, 0, 9938,10905, 34204,10031,34204,34204,10077,34204,10090,34204,10100,10070, 10076,34204,10086,11010,11014,10104,10117,10136,10139,10133, 10131,10151,10152,10149,10158,10143,10161,10167,11018,10178, 10188,11044,11048,11058,11063,11091,11112,11131,11140,11145, 11149,11160,11210,11224,11228,11239,11244,11260,11273,11095, 11177,11277,34204,10188,10223,10977,34204,10221,10222,10211, 10263,11074, 0,10237,10245,10240,34204,10351,34204,10248, 10264,10479,10271,10492,10263,10287,10286,10273,10297,10299, 10498,10309,10299,10314,10605,10318,10321,10836,10331,10411, 10345,10353,10362,10380,10386,10384,10398,10842,10992,34204, 10417,10413,11099,10434,10422,10423,10434,10443,10465,10485, 10493,34204,34204,10500,10542,10512,10505,10522,10578,10526, 10534,10548,10585,10554,10556,34204,10561,34204,34204,10606, 11290,11154,10617,11168,10611,11191,11193,34204,10612,11254, 10619,11289,10624,11291,11302,10641,11303,10650,11316,10666, 11321,11323,10674,11325,10782,10685,11327,11333,34204,10868, 10922,11334,34204,11335,34204,11007,10686,11339,10691,11341, 10693,11343,10698,11355,11357,34204,11366,34204,10712,11373, 34204,10699,11375,11377,34204,11379,34204,10705,11385,11387, 11389,34204,11045,10710,11391,11393,11043,10718,11397,10742, 11398,11407,10748,11409,10719,10710,10716,11428,11432,11439, 11443,10732,10744,10763,10762,10760,10768,10901,10781,10774, 10832,10829,11447,34204,11451,11455,11459,10846,10856,10865, 10870,10873,11463,10881,11467,11471,10872,10879,10882,10901, 11536,11010,11100,11005,11199, 0,11623,11710,11023,11121, 11127,11067,11226,11149,11233,11456,11040,11231,11164,11267, 11235,11167,11090,11147,11481,11204,11485,11300,11489,11330, 11280,11215,11354,11264,11493,11511,11336,11348,11492,11350, 11509,11515,11789,11868,11947,12026,10934,10929,11500,34204, 10947,11007,11003,11517,34204,11570,34204,11535,11011,11576, 11424,11013,11546,11580,11565,34204,11028,34204,11594,11600, 11604,11096,11610,11142,11173,11181,11614,11184,11641,11645, 11231,11254,11654,11281,34204,11658,11664,11670,11699,11730, 11742,11759,11747,11751,11777,11822,11826,11830,11834,11838, 11869,11875,11903,34204,11298,11322,11354,11501,11338,11342, 11351,34204,11340,11360,11505,11548,11347,11367,11438,11436, 11459,11466,11461,11674,11468,11474,11608,11681,11481,11687, 11479,11693,11499,11509,11507,11522,11529,11523,11561,11546, 11563,11796,11580,11597,11598,11618,11606,11617,11629,34204, 11626,11629,11628,11675,11653,11676,11715,34204,11720,11730, 11689,34204,11912,11788,34204,11769,11880,34204,11739,11912, 11913,34204,11917,34204,11742,11741,11921,11925,11844,11742, 11926,11744,11944,11945,11752,11957,11753,11959,11975,11754, 11976,11756,11980,11758,11981,11987,34204,11761,11989,11857, 11991,34204,11995,11997,34204,11757,11842,12011,11789,11789, 11789,11786,11789,11789,11864,11797,11803,11805,11797,12027, 11800,12033,12052,12057,11828,11830,12061,12065,12069,11843, 11851,11842,11856,12121,11921,11990,11926,12073,12208,12295, 11934,12081,12021,12060,11941,12022,12024,12080,12077,12105, 11939,12062,12068,12074,12080,12076,12092,34204,12111,12153, 12162,12099,12100,12171,12069,12070,12107,12098,12374,12453, 12174,12532,11879,12611,12690,11882,11942,11979,12092,11954, 11956,11953,11952,12181,12119,11964,12194,12229,12254,12265, 11963,12200,12239,11966,12314,12059,12327,12069,12331,12335, 12069,12339,12343,12357,12365,12087,12369,12117,12381,12418, 12410,12414,12422,12426,12373,12430,12460,12490,12494,12502, 12508,12539,12522,12090, 0,34204,12087,12078,12186,12087, 12083,12187,12192,12107,12118,12132,12244,12137,12138,12256, 12266,12141,12154,12163,34204,12267,12164,12441,12280,12168, 12175,34204,12188,34204,12259,12386,12207,34204,12222,12224, 34204,34204,34204,12233,12569,12280,12531,12544,12282,12567, 12289,12568,12290,12569,12317,12574,34204,12579,12581,34204, 12609,34204,12297,12611,12399,12318,12615,12620,34204,12324, 12621,12275, 0,12599,12280,12295, 0, 0,12293,12305, 12604,12333,12333,12336,34204,12645,12654,12404,12348,12366, 12369,12658,12662,12769,12433,12421,12437,34204,12431,12451, 12856,12943,12429,12448,34204,12463,12503,12666,12528,12496, 12570,12499,12439,12667,12471,12622,12625,12671,12676,13022, 13101,12456,13180,13267,12431,12435,13354, 0,34204,12465, 12618,12473,12702,12728,12682, 0,34204,12475,12497,12732, 12697,12518,12553,12573,12736,12740,12753,12764,12768,12675, 12776,12795,12807,12892,12815,12899,12830,12903,12622,12583, 12606,12963,12834,12845,12618,12691,12727,12616,12759,12781, 12642,34204,12799,12655,12821,12825, 0,12648,12838,34204, 12876,12913,12849,12657,12660,12745,34204,12875,12688,12685, 12697,12747,12981,12978,34204,12759,12753,12979,12980,34204, 12775,12986,12776,12991,13019,12782,13021,12920,12812,12758, 12763,34204,34204,12774, 0,12931,13010,12775,12771, 0, 13029, 0,12801,13057,13061,13433,13066,13070,13077,13088, 13096,13134,12873,13138,13057,13142,13160,13164,13520,13173, 13373,13385,13221,13212,13607,13394,13686,13765,12869,13852, 13089,13939,14026,14113,14200,14287, 0,12804,12827,12827, 0,34204,13168,12974,12832,12915, 0, 0,13206,13216, 12838,13398,12839,13232,13403,12915,13415,13459,13466,13477, 13243,13473,13552,34204,12862,13239, 0,13014,13034, 0, 13051,13081,13100,13129,34204,13180,34204,12876,12868,12902, 12911,34204,13486,12948,13153,13227,12955,13513,13557,34204, 34204,34204,12984,12933,12935,34204,13247,13425, 0,13015, 13251,34204,12958,14366,13068,13036,13087,13092,13085,13167, 13006,13541,13580,14453,13075,13018,13544,13129,14532,14611, 13043,14698,13366,13075,13407,14785,14872,13041,13041,13257, 13376,13051, 0,13587,13591,13053,13627,13638,13066,13083, 13642,34204,13153,13646,13655,13726,13712,34204, 0,13389, 34204,13421,13430,13431,13110,13111,13658,13665,34204,13158, 13667,13684,13127,13732,13744,34204,34204,13192,13134,14959, 13376,13428,13755,13403,13203,13396,13759,13209,13546,13763, 13429,15038,15117,13224,34204, 0,13244, 0,34204,13225, 34204,13250,13411,13182,13345,13413,13361,13361,13401,13791, 13797,13971,13801,13805,13512,15204, 0,13472,13459,13719, 13809,13817,13831,13478,13483,13527,13526,13836,13478,13633, 34204,13958,13495,13615,15291,13484,34204,13590, 0,13434, 15378, 0,13842,13492,13976,13980,13984,13988,14232,14002, 0,34204,14014,34204,13579,13657,13614,13649,15465,13638, 13501,13741,34204, 0,13577,34204,34204,14047,14057,13525, 14061,14065,13700,13658,14074,13655,15552,15639,13648,15726, 15813,13707,13641,13675,13680,13756,34204,14103,14218,14236, 13756,14083,34204,14246,15899,15986,13707,13676,13943,14264, 14093,14268,13804,34204,34204, 0,16073, 0,13743,13758, 13754,13718,13929,13936,13708,13946,13814,13765,13997,13945, 13770,14016,13776, 0,14307,13786,14030,13775,34204,13781, 13944,13930,13906,14001,13889,14034,13900, 0,13920,13986, 34204,16159,16188,16217,16246,16275,16304,16333,16362,16391, 16420,16449,16478,16507,16536,16565,16594,16623,16652,16681, 16710,16739,16768,16797,16826,16855,16884,16913,16942,16971, 17000,17029,17058,17087,17116,17145,17174,17203,17232,17261, 17290,17319,17348,17377,17406,17435,17464,17493,17522,17551, 17580,17609,17638,17667,17696,17725,17754,17783,17812,17841, 17870,17899,17928,17957,17986,18015,18044,18073,18102,18131, 18160,18189,18218,18247,18276,18305,18334,18363,18392,18421, 18450,18479,18508,18537,18566,18595,18624,14311,18652,14328, 14058,18674,18702,18728,18751,14079,18779,14333,18801,14336, 14082,18824,18853,18882,18911,18939,14345,18961,14358,18984, 19013,19042,19071,19100,19129,19158,19187,19216,19245,14257, 19274,19303,19332,14258,19361,19390,19418,19442,14361,19465, 19482,19507,19524,19548,14374,14332,14259,14310,19571,19600, 14260,19629,19658,19687,19716,19745,19762,19787,19816,19845, 19862,19887,19904,19928,19950,14396,19972,14334,19995,20024, 14261,13980,14386,20041,20054,20067,20086,20115,20130,20152, 14403,20171,20196,20221,20250,20279,20302,20322,20345,20362, 20387,20404,20417,20434,20463,20492,14348,20521,20550,20579, 20608,20637,20666,20695,20724,20753,20782,20810,14408,20833, 20862,20891,20908,20933,20962,20991,21020,14385,21049,21078, 14398,21107,21130,21153,21170,21195,21212,14397,21237,21266, 21295,21324,21353,21382,21411,21440,21469,21498,21527,21556, 21585,21614,21643,21672,14399,21701,21730,21759,21788,21817, 21846,21875,21904,14414,21932,21960,14425,21982,14407,22004, 22032,14473,22054,22080,22103,22131,22153,22181,14476,22203, 22225,22253,14485,22275,14415,22298,22327,22356,22385,22414, 22442,22470,14490,14416,22492,22520,14498,14417,22543,22572, 22601,22630,22659,22688,22717,22746,22775,22804,14418,22833, 22862,22891,22920,14426,22949,22978,23006,23030,23058,14501, 14427,23081,23098,23123,23140,23164,23192,14512,14428,14507, 14429,14504,23215,23244,14472,23273,23302,23331,23360,23389, 23418,14524,23447,23464,23489,23518,23547,23564,23589,23606, 23630,23652,23674,23702,14541,14500,23724,14510,14543,23747, 23776,14514,23799,14008,14022,14552,23816,23829,23842,23855, 14556,23868,23881,23909,23926,23955,23970,23992,24020,14574, 14545,24039,24064,24089,24114,24139,24164,24189,24214,24239, 24268,24297,24320,24340,24363,24380,24405,24422,24435,24452, 24481,24510,14562,24539,24568,24597,24626,24655,24684,24713, 24742,24771,24800,24829,24857,24885,14579,14582,24908,24937, 24966,24983,25008,25037,25066,25095,14568,25124,25153,14572, 25182,25205,25228,25245,25270,25287,14575,25312,25341,25370, 25399,25428,25457,25486,25515,25544,25573,25602,25631,25660, 14576,25689,25718,25747,25776,25805,25834,25863,25891,25919, 14604,25941,25963,25991,14619,14578,14643,26013,26036,26065, 26093,26121,14646,26143,26165,26193,14649,26215,26238,26266, 26294,14652,14586,26316,26344,14655,14593,26367,26396,26425, 26453,26481,14658,14594,26503,26531,14661,14595,26554,26583, 26611,26633,26655,26683,14693,14606,14650,26706,26729,14194, 26746,26759,14664,26778,26807,26836,26865,26893,26904,26921, 26940,26968,26996,14892,14665,27015,27040,27065,27094,27122, 27150,14895,14668,27173,14891,27201,14671,14909,27229,27251, 27274,27303,27331,27353,27376,14196,27399,27428,27457,27486, 27515,27544,27573,27602,27631,27660,27689,27718,27747,27776, 27805,27834,27863,27892,27921,27950,27979,28008,28037,28060, 28077,28096,28119,28148,28177,14901,28205,28227,28250,28279, 28308,28337,28365,28388,28411,28440,28469,28498,28527,28556, 28585,28614,28643,28672,28701,28730,28759,28788,28817,28846, 28875,28904,28933,28962,28991,29020,29049,29078,29107,29136, 29165,29194,29223,29252,29281,29310,29339,29368,29397,29426, 29455,29484,29513,29536,29553,29578,29601,29624,29647,29670, 29693,29722,29751,14918,29779,29802,29831,29860,29889,29918, 29941,29970,29999,30028,30057,30086,30115,30144,30173,30202, 30231,30260,30289,30318,30347,30376,30405,30434,30463,30492, 30521,30550,30579,30608,30637,30666,30695,30724,30753,30782, 30805,30822,30847,30876,30905,30928,30951,30974,30997,31026, 31055,31084,31112,31135,31164,31193,31216,31245,31274,31303, 31332,31361,31390,31419,31448,31477,31506,31535,31564,31593, 31622,31651,31680,31709,31732,31749,31774,31797,31820,31843, 31866,31889,31918,31947,31976,14919,32004,32027,32056,32085, 32108,32137,32166,32195,32224,32253,32282,32311,32340,32369, 32398,32427,14049,32456,32485,32508,32525,32544,32567,32590, 32619,32648,32677,15051,14224,14902,32705,32728,32757,32786, 32809,32838,32867,32896,32925,32954,32983,14920,33012,14078, 33041,33064,33092,33105,33124,33147,33176,33204,33227,33256, 33285,33314,33343,14232,14904,14921,33371,33394,33423,33452, 33481,33504,33533,33562,33591,15065,33620,15067,33643,33660, 33673,33692,33715,33743,33765,33788,33817,14922,33845,33868, 33897,33920,33949,33978,34006,34029,34058,34087,34116,34145, 34174 } ; static yyconst short int yy_def[4882] = { 0, 4092, 4092, 4091, 3, 4093, 4093, 4094, 4094, 4092, 4092, 4091, 11, 4091, 13, 4095, 4095, 4091, 17, 4096, 4096, 4092, 4092, 4091, 23, 4091, 25, 4091, 27, 4092, 4092, 4092, 4092, 4097, 4097, 4098, 4098, 4097, 4097, 4099, 4099, 4100, 4100, 4101, 4101, 4092, 4092, 4091, 47, 4091, 49, 4102, 4102, 4102, 4102, 4092, 4092, 4103, 4103, 4104, 4104, 4105, 4105, 4092, 4092, 4106, 4106, 4107, 4107, 4092, 4092, 4092, 4092, 4108, 4108, 4109, 4109, 4092, 4092, 4092, 4092, 4091, 81, 4110, 4110, 4111, 4111, 4112, 4112, 4113, 4113, 4114, 4114, 4114, 4114, 4091, 95, 4115, 4115, 4116, 4116, 4117, 4117, 4091, 103, 4117, 4117, 4092, 4092, 4118, 4118, 4091, 111, 4091, 113, 4119, 4119, 4120, 4120, 4121, 4121, 4091, 121, 4122, 4122, 4091, 125, 4123, 4123, 4124, 4124, 4125, 4125, 4126, 4126, 4127, 4127, 4128, 4128, 4129, 4129, 4130, 4130, 4131, 4131, 4092, 4092, 136, 136, 4132, 4132, 4092, 4092, 4091, 153, 4091, 155, 4092, 4092, 4133, 4133, 4134, 4134, 4135, 4135, 4091, 165, 4092, 4092, 4136, 4136, 4137, 4137, 4091, 173, 4138, 4138, 4091, 177, 4139, 4139, 4139, 4139, 4091, 183, 4091, 185, 4091, 187, 4140, 4140, 4092, 4092, 4141, 4141, 4142, 4142, 4143, 4143, 4144, 4144, 4145, 4145, 4092, 4092, 4092, 4092, 4146, 4146, 4147, 4147, 4148, 4148, 4091, 213, 4149, 4149, 4150, 4150, 4151, 4151, 4152, 4152, 4153, 4153, 4154, 4154, 4091, 227, 4155, 4155, 4156, 4156, 4157, 4157, 4092, 4092, 4158, 4158, 4092, 4092, 4091, 241, 4159, 4159, 4091, 245, 4160, 4160, 4161, 4161, 4092, 4092, 4091, 253, 4162, 4162, 4092, 4092, 4163, 4163, 4164, 4164, 4165, 4165, 4166, 4166, 4167, 4167, 4168, 4168, 4169, 4169, 4166, 4166, 4170, 4170, 4171, 4171, 4172, 4172, 4172, 4172, 4091, 283, 4173, 4173, 4174, 4174, 4175, 4175, 4176, 4176, 4091, 4091, 4177, 4091, 4091, 4091, 4178, 4091, 4177, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4179, 4091, 4180, 4091, 4091, 4091, 4091, 4091, 4181, 4091, 4177, 4091, 4091, 4091, 4182, 4183, 4183, 4183, 4091, 4091, 4091, 4184, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4185, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4186, 4091, 4091, 4091, 4091, 4091, 4091, 4187, 4091, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4091, 4188, 4091, 4091, 4091, 4091, 4189, 4190, 4091, 4091, 4091, 4091, 4091, 4091, 4191, 4091, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4192, 4193, 4192, 4091, 4091, 4194, 4195, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4196, 4197, 4091, 4091, 4091, 4091, 4198, 4199, 4200, 4201, 4091, 4200, 4091, 4202, 4091, 4091, 4091, 4091, 4200, 4200, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4203, 4177, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4204, 4205, 4204, 4204, 4091, 4204, 4206, 4207, 4091, 4206, 4206, 4091, 4091, 4091, 4091, 4208, 4209, 4091, 4091, 4208, 4091, 4091, 4208, 4208, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4210, 4211, 4212, 4211, 4091, 4211, 4213, 4211, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4214, 4091, 4091, 551, 4091, 4215, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 565, 4091, 4091, 4091, 4216, 4091, 4091, 4177, 4217, 4091, 4091, 4091, 4091, 4217, 4091, 4091, 4091, 4217, 4215, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4218, 4219, 4091, 4091, 4091, 4220, 4221, 4221, 4091, 4091, 4091, 4222, 4223, 4223, 4223, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4224, 4225, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4226, 4227, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4215, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4228, 4229, 4230, 4091, 4229, 4229, 4091, 4231, 4232, 4233, 4091, 4232, 4232, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4234, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4235, 4091, 4177, 4091, 4091, 4091, 4091, 4217, 4091, 4091, 4091, 4091, 4217, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4236, 4237, 4237, 4238, 4239, 4091, 4238, 4238, 4091, 4240, 4241, 4241, 4091, 4091, 4242, 4243, 4243, 4091, 4244, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4245, 4246, 4091, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4247, 4247, 4247, 4247, 4091, 4091, 4091, 4248, 4091, 4091, 4249, 4250, 4091, 4091, 4249, 4091, 4249, 4091, 4091, 4091, 4177, 4091, 4091, 4091, 4251, 4091, 4091, 4091, 4252, 4091, 4253, 4254, 4255, 4254, 4256, 4254, 4091, 4091, 4257, 4254, 4257, 818, 818, 4252, 4091, 4091, 4255, 4254, 4258, 4259, 4091, 4091, 4091, 4091, 4260, 4261, 4091, 4177, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4262, 4263, 4264, 4265, 4266, 4265, 4091, 4265, 4091, 4091, 4265, 4091, 4267, 4267, 4091, 4091, 4177, 4091, 4091, 4091, 4091, 4268, 4269, 4270, 4270, 4271, 4272, 4272, 4091, 4091, 4091, 4273, 4273, 4274, 4274, 4091, 4275, 4276, 4275, 4275, 4275, 4091, 4091, 4277, 4278, 4279, 4278, 4280, 4281, 4280, 4282, 4283, 4282, 4284, 4285, 4284, 4091, 4177, 4091, 4091, 4091, 4091, 4286, 4287, 4286, 4091, 4286, 4286, 4091, 4091, 4091, 4091, 4288, 4289, 4290, 4291, 4091, 4290, 4290, 4290, 4290, 4091, 4292, 4293, 4293, 4294, 4295, 4294, 4294, 4296, 4297, 4296, 4296, 4091, 4298, 4299, 4300, 4091, 4299, 4299, 4091, 4301, 4301, 4301, 4302, 4303, 4304, 4304, 4305, 4306, 4307, 4307, 4091, 4091, 4091, 4308, 4309, 4310, 4091, 4309, 4091, 4309, 4091, 4311, 4091, 4091, 4091, 4091, 4312, 4313, 4091, 4312, 4091, 4091, 4312, 4314, 4315, 4316, 4315, 4091, 4317, 4091, 4091, 4091, 4311, 4091, 4091, 4091, 4318, 4319, 4091, 4318, 4091, 4318, 4320, 4321, 4091, 4320, 4320, 4322, 4323, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4311, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4311, 4091, 4091, 4091, 4091, 4311, 4091, 4091, 4091, 4091, 4324, 4091, 4091, 4325, 4091, 4311, 4091, 4091, 4091, 4091, 4326, 4091, 4091, 4091, 4091, 4091, 4091, 4311, 4091, 4091, 4091, 4091, 4091, 4327, 4328, 4329, 4091, 4328, 4091, 4330, 4091, 4091, 4328, 4331, 4332, 4091, 4331, 4091, 4333, 4331, 4091, 4091, 4311, 4091, 4091, 4091, 4091, 4334, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4335, 4091, 4336, 4091, 4091, 4337, 4338, 4091, 4339, 4340, 4091, 4341, 4342, 4343, 4343, 4344, 4091, 4343, 4091, 4344, 4091, 4091, 4091, 4091, 4091, 4091, 4345, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4346, 4091, 4091, 4347, 4091, 4348, 4091, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4348, 4349, 4350, 4091, 4091, 4351, 4091, 4352, 4091, 4353, 4354, 4091, 4091, 4355, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4356, 4357, 4356, 4356, 4091, 4358, 4091, 4091, 4359, 4091, 4360, 4091, 4091, 4091, 4361, 4362, 4363, 4364, 4091, 4091, 4365, 4366, 4367, 4368, 4369, 4370, 4369, 4091, 4371, 4091, 4091, 4091, 4091, 4369, 4369, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4372, 4373, 4372, 4372, 4091, 4091, 4091, 4372, 4374, 4091, 4375, 4374, 4376, 4374, 4374, 4377, 4378, 4377, 4091, 4091, 4091, 4091, 4091, 4377, 4091, 4091, 4091, 4091, 4091, 4091, 4379, 4380, 4381, 4382, 4380, 4383, 4380, 4091, 4381, 4381, 4381, 4380, 4091, 4091, 4091, 4091, 4091, 4384, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4385, 4091, 4091, 4091, 4385, 4091, 4091, 4091, 1283, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4386, 4091, 4091, 4091, 4091, 4386, 4091, 4387, 4387, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4387, 4385, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4388, 4389, 4390, 4391, 4091, 4091, 4392, 4393, 4393, 4091, 4091, 4394, 4395, 4091, 4395, 4394, 4091, 4091, 4091, 4091, 4091, 4396, 4397, 4398, 4399, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4400, 4401, 4091, 4091, 4091, 4091, 4091, 4385, 4091, 4091, 4091, 4091, 4091, 4385, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4402, 4403, 4404, 4403, 4403, 4403, 4405, 4406, 4091, 4407, 4406, 4408, 4406, 4406, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4409, 4091, 4409, 4091, 4091, 4091, 4091, 4091, 4410, 4091, 4411, 4091, 4091, 4412, 4091, 4091, 4091, 4412, 4091, 4413, 4414, 4414, 4415, 4091, 4416, 4415, 4408, 4415, 4415, 4417, 4418, 4418, 4419, 4420, 4420, 4091, 4421, 4091, 4422, 4091, 4091, 4423, 4424, 4425, 4426, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4427, 4427, 4428, 4428, 4429, 4430, 4431, 4430, 4091, 4091, 4430, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4432, 4091, 4091, 4091, 4091, 4091, 4091, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4440, 4441, 4091, 4437, 4442, 4443, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4434, 4444, 4445, 4437, 4445, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 4437, 1588, 1588, 1588, 4091, 4091, 4091, 4091, 4091, 4437, 4446, 4446, 4447, 4091, 4091, 4448, 4449, 4450, 4451, 4091, 4091, 4091, 4091, 4091, 4091, 4452, 4452, 4453, 4454, 4455, 4455, 4456, 4457, 4458, 4458, 4459, 4460, 4461, 4462, 4461, 4461, 4091, 4461, 4091, 4091, 4091, 4091, 4461, 4091, 4463, 4463, 4091, 4464, 4465, 4466, 4466, 4467, 4468, 4468, 4091, 4091, 4469, 4469, 4470, 4470, 4471, 4472, 4471, 4471, 4471, 4473, 4474, 4475, 4474, 4474, 4474, 4476, 4477, 4476, 4476, 4476, 4478, 4479, 4478, 4478, 4478, 4480, 4481, 4480, 4480, 4480, 4091, 4091, 4091, 4482, 4482, 4091, 4483, 4482, 4483, 4484, 4482, 4482, 4091, 4091, 4485, 4091, 4486, 4487, 4488, 4489, 4091, 4490, 4489, 4484, 4489, 4489, 4489, 4489, 4091, 4491, 4492, 4492, 4493, 4494, 4493, 4493, 4493, 4495, 4091, 4496, 4495, 4484, 4495, 4495, 4497, 4498, 4091, 4499, 4498, 4484, 4498, 4498, 4500, 4500, 4500, 4501, 4502, 4503, 4504, 4503, 4505, 4506, 4506, 4091, 4091, 4507, 4508, 4091, 4509, 4508, 4484, 4508, 4091, 4091, 4091, 4510, 4511, 4510, 4510, 4510, 4091, 4512, 4513, 4512, 4091, 4514, 4515, 4516, 4515, 4091, 4515, 4517, 4518, 4517, 4517, 4517, 4519, 4520, 4519, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4521, 4091, 4522, 4091, 4091, 4091, 4091, 4523, 4524, 4523, 4091, 4525, 4523, 4523, 4526, 4527, 4526, 4091, 4528, 4526, 4526, 4091, 4091, 4091, 4529, 4530, 4531, 4091, 4532, 4533, 4091, 4534, 4535, 4536, 4091, 4537, 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, 4091, 4091, 4091, 4538, 4091, 4091, 4539, 4091, 4091, 4540, 4541, 4542, 4543, 4091, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4542, 4091, 4544, 4545, 4546, 4547, 4091, 4548, 4091, 4539, 4091, 4540, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4549, 4091, 4550, 4551, 4552, 4553, 4554, 4555, 4556, 4557, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4558, 4091, 4091, 4091, 4559, 4560, 4559, 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, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4561, 4562, 4563, 4564, 4091, 4091, 4091, 4565, 4566, 4567, 4568, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4569, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4570, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4571, 4572, 4572, 4573, 4574, 4575, 4576, 4577, 4091, 4578, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4579, 4091, 4579, 4580, 4581, 4581, 4582, 4582, 4583, 4584, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4585, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4586, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4587, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4588, 4091, 4589, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4590, 4591, 4591, 2220, 4091, 4091, 4590, 4592, 4593, 4594, 4595, 4091, 4091, 4596, 4597, 4598, 4091, 4599, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4600, 4601, 4602, 4091, 4091, 4603, 4604, 4091, 4091, 4605, 4605, 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, 4091, 4091, 4091, 4091, 4091, 4606, 4607, 4608, 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, 4091, 4609, 4091, 4091, 4091, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4610, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4611, 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, 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, 4612, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4613, 4614, 4615, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4616, 4091, 4617, 4617, 4091, 4618, 4091, 4619, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4620, 4091, 4091, 4091, 4091, 4621, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4622, 4622, 4091, 4623, 4091, 4091, 4091, 4624, 4091, 4091, 4625, 4091, 4626, 4091, 4627, 4091, 4091, 4628, 4091, 4629, 4091, 4630, 4091, 4091, 4631, 4091, 4632, 4632, 4091, 4091, 4633, 4091, 4091, 4091, 4634, 4091, 4635, 4635, 4091, 4091, 4091, 4091, 4091, 4091, 4636, 4091, 4637, 4091, 4638, 4091, 4639, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4640, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4641, 4642, 4643, 4643, 4091, 4091, 4091, 4644, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4645, 4091, 4646, 4646, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4647, 4648, 4091, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4648, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4649, 4091, 4091, 4650, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4651, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4652, 4652, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4653, 4653, 4654, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4655, 4656, 4656, 4657, 4657, 4091, 4091, 4091, 4658, 4091, 4091, 4659, 4091, 4660, 4091, 4661, 4091, 4091, 4662, 4091, 4663, 4091, 4664, 4091, 4091, 4665, 4665, 4666, 4091, 4091, 4667, 4091, 4668, 4668, 4091, 4091, 4091, 4091, 4091, 4091, 4669, 4091, 4670, 4091, 4671, 4091, 4672, 4091, 4091, 4091, 4673, 4673, 4091, 4091, 4674, 4674, 4675, 4091, 4676, 4676, 4677, 4677, 4678, 4678, 4091, 4679, 4679, 4680, 4680, 4681, 4681, 4091, 4682, 4682, 4683, 4091, 4091, 4684, 4684, 4091, 4091, 4685, 4685, 4686, 4091, 4091, 4091, 4687, 4091, 4688, 4091, 4091, 4689, 4689, 4690, 4690, 4691, 4691, 4692, 4692, 4693, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4694, 4695, 4695, 4695, 4695, 4695, 4696, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4695, 4697, 4698, 4699, 4700, 4701, 4091, 4091, 4091, 4702, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4703, 4091, 4704, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4705, 4091, 4091, 4705, 4091, 4091, 4091, 4091, 4091, 4091, 4706, 4091, 4707, 4091, 4091, 4708, 4708, 4709, 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, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4710, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4711, 4091, 4091, 4091, 4712, 4712, 4713, 4091, 4714, 4714, 4715, 4715, 4716, 4716, 4091, 4717, 4717, 4718, 4718, 4719, 4719, 4091, 4720, 4720, 4091, 4721, 4721, 4722, 4091, 4091, 4091, 4723, 4091, 4724, 4091, 4091, 4725, 4725, 4726, 4726, 4727, 4727, 4728, 4728, 4729, 4091, 4730, 4091, 4091, 4731, 4091, 4732, 4732, 4733, 4091, 4734, 4091, 4735, 4735, 4091, 4736, 4091, 4091, 4737, 4737, 4091, 4091, 4738, 4738, 4739, 4739, 4091, 4740, 4740, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4741, 4742, 4742, 4742, 4742, 4743, 4744, 4745, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4091, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4742, 4746, 4746, 4747, 4747, 4748, 4749, 4091, 4091, 4750, 4091, 4751, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4752, 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, 4091, 4753, 4091, 4753, 4753, 4753, 4091, 4091, 4753, 4753, 4091, 4091, 4753, 4753, 4753, 4753, 4091, 4091, 4091, 4091, 4754, 4754, 4755, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4756, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4757, 4758, 4091, 4091, 4759, 4091, 4760, 4760, 4761, 4091, 4762, 4091, 4091, 4763, 4763, 4091, 4091, 4764, 4764, 4765, 4765, 4091, 4766, 4766, 4767, 4767, 4091, 4768, 4768, 4769, 4769, 4770, 4770, 4771, 4091, 4772, 4772, 4091, 4773, 4091, 4091, 4774, 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, 4091, 4091, 4091, 4091, 4775, 4776, 4776, 4776, 4776, 4777, 4777, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4091, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4091, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4776, 4778, 4779, 4780, 4779, 3492, 4781, 4782, 4091, 4091, 4783, 4783, 4784, 4091, 4091, 4091, 4091, 4785, 4091, 4091, 4091, 4091, 4786, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4787, 4787, 4091, 4091, 4787, 4787, 4091, 4787, 4091, 4091, 4787, 4091, 4787, 4091, 4091, 4091, 4788, 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, 4091, 4091, 4091, 4091, 4789, 4091, 4091, 4091, 4790, 4091, 4091, 4091, 4091, 4091, 4791, 4792, 4792, 4091, 4793, 4793, 4794, 4794, 4795, 4795, 4091, 4796, 4091, 4091, 4797, 4091, 4798, 4091, 4799, 4799, 4091, 4800, 4800, 4801, 4091, 4802, 4802, 4091, 4803, 4091, 4091, 4091, 4804, 4805, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4806, 4807, 4807, 4807, 4091, 4807, 4807, 4807, 4807, 4807, 4807, 4091, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4808, 4809, 4810, 4809, 4091, 4091, 4091, 4811, 4812, 4091, 4091, 4813, 4091, 4091, 4814, 4815, 4816, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4817, 4817, 4091, 4817, 4817, 4817, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4818, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4819, 4091, 4091, 4091, 4820, 4091, 4091, 4821, 4822, 4091, 4091, 4823, 4823, 4824, 4091, 4825, 4825, 4826, 4826, 4091, 4827, 4827, 4091, 4828, 4091, 4091, 4091, 4091, 4091, 4829, 4091, 4091, 4091, 4091, 4830, 4091, 4831, 4091, 4091, 4091, 4832, 4833, 4833, 4833, 4833, 4833, 4833, 4834, 4833, 4834, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4835, 4836, 4837, 4091, 4838, 4839, 4840, 4091, 4839, 4841, 3794, 3790, 4091, 4091, 4842, 4091, 4091, 4843, 4091, 4844, 4845, 4846, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4847, 4091, 4091, 4847, 4847, 4091, 4091, 4091, 4848, 4849, 4091, 4850, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4851, 4091, 4091, 4852, 4853, 4853, 4091, 4854, 4854, 4855, 4091, 4091, 4091, 4856, 4091, 4091, 4091, 4091, 4091, 4857, 4858, 4091, 4091, 4091, 4859, 4860, 4860, 4860, 4860, 4860, 4860, 4860, 4861, 4860, 4860, 4860, 4860, 4861, 4860, 4862, 4863, 4864, 4091, 4865, 4091, 4865, 4091, 4866, 4091, 4091, 4091, 4867, 4091, 4868, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4869, 4091, 4869, 4869, 4091, 4870, 4870, 4091, 4091, 4091, 4091, 4871, 4091, 4872, 4873, 4091, 4855, 4855, 4091, 4091, 4091, 4091, 4091, 4091, 4858, 4091, 4091, 4860, 4860, 4860, 4860, 4860, 4860, 4860, 4860, 4861, 4860, 4860, 4862, 4863, 4864, 4091, 3882, 4874, 3882, 4091, 4875, 4091, 3930, 3930, 4091, 4091, 4867, 4091, 4091, 4091, 4091, 4869, 4869, 4091, 4091, 4091, 4871, 4876, 3882, 4873, 4873, 4091, 4091, 4091, 3930, 3930, 4860, 4860, 4860, 4860, 4860, 4091, 4860, 3942, 3943, 4091, 4875, 4091, 3930, 4877, 4091, 4867, 4878, 4091, 4091, 4091, 4091, 4091, 4091, 4869, 4091, 4871, 4091, 4091, 4091, 4860, 4860, 4860, 4860, 4091, 3943, 3882, 3930, 4091, 4879, 4867, 4091, 4091, 4091, 4091, 4091, 4091, 4869, 4860, 4860, 4860, 4860, 4091, 4880, 4009, 4880, 4881, 4009, 4027, 3943, 3882, 3930, 4091, 4091, 4091, 4091, 4860, 4860, 4091, 4860, 4091, 4091, 3943, 3882, 3930, 4091, 4091, 4091, 4860, 4091, 4091, 4045, 4881, 4045, 4009, 4009, 3943, 3882, 3930, 4860, 4027, 4009, 4045, 3882, 3930, 4860, 4045, 4009, 3882, 3930, 4860, 4045, 4009, 3882, 4091, 4045, 4009, 3882, 4045, 4009, 4045, 4009, 4045, 4009, 4045, 4045, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091 } ; static yyconst short int yy_nxt[34292] = { 0, 4091, 295, 4091, 296, 297, 295, 4091, 296, 297, 1084, 1085, 1094, 1111, 4091, 1094, 1111, 1076, 1076, 1082, 4091, 298, 1077, 1077, 1083, 298, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 294, 294, 294, 294, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 294, 294, 294, 301, 1137, 296, 302, 301, 1137, 296, 302, 306, 307, 308, 309, 307, 303, 310, 1229, 1230, 303, 295, 304, 296, 297, 295, 304, 296, 297, 1665, 311, 306, 307, 308, 309, 307, 1251, 310, 1252, 328, 298, 296, 329, 328, 298, 296, 329, 1236, 1237, 1288, 311, 295, 387, 388, 389, 387, 1665, 295, 330, 296, 297, 295, 330, 296, 297, 822, 312, 331, 822, 332, 394, 331, 1076, 332, 1076, 1288, 298, 1077, 823, 1077, 298, 824, 1112, 825, 2269, 1113, 312, 294, 295, 313, 314, 315, 313, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 316, 317, 294, 294, 294, 294, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 294, 294, 294, 294, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 319, 294, 320, 294, 295, 321, 296, 297, 321, 294, 294, 294, 294, 294, 322, 294, 323, 294, 322, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 324, 322, 325, 322, 294, 294, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 323, 294, 294, 294, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 319, 294, 294, 294, 295, 333, 334, 335, 333, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 336, 294, 294, 298, 294, 294, 294, 294, 294, 294, 337, 317, 338, 294, 294, 294, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 294, 294, 294, 294, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 340, 294, 294, 342, 343, 344, 345, 343, 342, 343, 344, 345, 343, 295, 572, 296, 297, 744, 2628, 349, 1097, 1140, 346, 1097, 350, 351, 1141, 346, 1404, 352, 1171, 295, 298, 296, 297, 1172, 1345, 349, 1857, 1082, 353, 745, 350, 351, 1083, 1238, 1239, 352, 1858, 1541, 298, 295, 387, 388, 389, 387, 1288, 1435, 353, 1074, 400, 401, 402, 403, 401, 409, 1076, 296, 410, 1076, 394, 1077, 404, 405, 1077, 347, 406, 411, 412, 407, 347, 348, 1288, 1242, 413, 1074, 348, 400, 401, 402, 403, 401, 409, 1140, 296, 410, 354, 1074, 1141, 404, 405, 2216, 1089, 406, 411, 412, 407, 1095, 1095, 1095, 1095, 413, 1229, 1230, 354, 294, 295, 355, 356, 357, 355, 294, 294, 358, 294, 294, 359, 294, 360, 294, 359, 294, 361, 294, 294, 362, 294, 294, 294, 294, 294, 294, 363, 364, 365, 366, 294, 294, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 368, 294, 294, 294, 367, 367, 369, 367, 370, 367, 367, 367, 371, 367, 367, 372, 373, 367, 374, 367, 367, 375, 376, 377, 378, 367, 367, 367, 367, 379, 294, 380, 294, 295, 381, 382, 383, 381, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 384, 294, 294, 294, 294, 294, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 294, 294, 294, 294, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 294, 294, 386, 294, 295, 387, 388, 389, 387, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 390, 294, 294, 391, 294, 294, 294, 294, 294, 294, 294, 294, 294, 392, 294, 294, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 294, 294, 294, 294, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 294, 294, 294, 295, 1135, 296, 297, 1135, 1140, 295, 395, 296, 297, 1141, 4091, 396, 395, 1103, 1104, 1104, 1103, 396, 298, 432, 1717, 296, 433, 1076, 298, 397, 398, 425, 1077, 426, 427, 397, 398, 425, 1289, 426, 427, 1721, 434, 428, 432, 1243, 296, 433, 1243, 428, 429, 438, 439, 440, 441, 439, 429, 442, 1244, 430, 1673, 2628, 443, 434, 1136, 430, 1161, 1161, 1161, 1161, 444, 1404, 438, 439, 440, 441, 439, 435, 442, 436, 4091, 2631, 295, 443, 296, 297, 397, 295, 1074, 296, 297, 444, 397, 400, 414, 415, 416, 414, 435, 1106, 436, 298, 1717, 1345, 1318, 462, 298, 463, 464, 447, 1201, 465, 417, 1221, 447, 1202, 466, 1541, 1222, 418, 418, 1227, 419, 1381, 467, 295, 1228, 296, 297, 295, 1225, 296, 297, 1225, 445, 446, 1226, 1831, 1404, 462, 471, 463, 464, 471, 298, 465, 472, 4091, 298, 1232, 466, 1831, 448, 420, 1233, 445, 446, 448, 467, 1076, 468, 2211, 1724, 485, 1077, 463, 486, 421, 1246, 422, 1345, 423, 489, 1247, 490, 491, 418, 400, 414, 415, 416, 414, 474, 489, 1288, 490, 491, 1076, 469, 470, 1267, 492, 1261, 2631, 468, 1260, 417, 495, 496, 296, 497, 496, 492, 418, 418, 501, 419, 502, 503, 476, 1288, 498, 1258, 476, 1403, 1258, 499, 495, 496, 296, 497, 496, 469, 470, 504, 1259, 501, 493, 502, 503, 295, 498, 296, 297, 1076, 1249, 499, 420, 493, 1268, 1403, 1265, 507, 508, 1265, 504, 487, 1253, 1442, 298, 1443, 421, 1254, 422, 1266, 423, 1169, 1169, 1169, 1169, 418, 294, 295, 449, 450, 451, 449, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 452, 294, 294, 294, 294, 294, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 294, 294, 294, 294, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 294, 294, 454, 294, 295, 455, 456, 457, 455, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 458, 294, 294, 294, 294, 294, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 294, 294, 294, 294, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 294, 294, 460, 462, 1609, 473, 464, 1449, 1588, 468, 462, 1450, 473, 464, 468, 1345, 468, 478, 1451, 479, 480, 468, 474, 481, 478, 2634, 479, 480, 1076, 474, 481, 482, 485, 1077, 463, 486, 483, 295, 482, 296, 297, 1272, 295, 483, 296, 297, 1279, 295, 1280, 296, 297, 474, 587, 1281, 596, 597, 298, 1285, 475, 507, 508, 298, 1286, 4091, 2634, 475, 298, 1104, 1104, 1104, 1104, 598, 484, 1176, 1176, 1176, 1176, 1236, 1237, 484, 4091, 510, 511, 512, 513, 511, 468, 468, 510, 519, 512, 513, 519, 468, 468, 514, 1080, 1080, 1080, 1080, 515, 1831, 520, 587, 4091, 596, 597, 521, 1285, 516, 1831, 1976, 517, 1313, 1081, 487, 516, 1977, 1076, 517, 505, 506, 598, 1286, 1874, 505, 506, 523, 524, 525, 526, 524, 295, 1875, 296, 297, 518, 523, 524, 525, 526, 524, 295, 518, 296, 297, 527, 2637, 1076, 4091, 1274, 298, 1074, 1313, 1285, 528, 527, 529, 1285, 1286, 530, 298, 531, 1313, 1275, 528, 295, 529, 296, 297, 530, 295, 531, 296, 297, 1285, 1285, 1285, 532, 533, 1286, 1362, 1077, 532, 533, 298, 1195, 1196, 1196, 1195, 298, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 294, 294, 294, 294, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 294, 294, 294, 536, 537, 538, 539, 537, 1541, 536, 537, 538, 539, 537, 1478, 1717, 1479, 540, 1196, 1196, 1196, 1196, 541, 540, 1196, 1196, 1196, 1196, 541, 542, 543, 544, 545, 546, 544, 542, 542, 542, 542, 542, 542, 542, 542, 542, 547, 542, 542, 542, 542, 548, 557, 558, 559, 560, 558, 2215, 542, 542, 550, 542, 542, 551, 1076, 295, 561, 635, 297, 1374, 562, 563, 295, 1404, 635, 297, 681, 1076, 682, 683, 564, 1345, 1077, 565, 298, 2251, 542, 552, 542, 542, 620, 298, 621, 622, 620, 684, 621, 622, 1189, 1189, 1189, 1189, 623, 1541, 624, 1697, 623, 566, 624, 625, 1190, 1548, 1698, 625, 1699, 542, 542, 542, 542, 543, 553, 545, 546, 553, 542, 542, 542, 542, 542, 542, 542, 542, 542, 554, 542, 542, 542, 542, 555, 557, 567, 568, 569, 567, 2077, 542, 542, 550, 542, 542, 551, 1076, 681, 570, 682, 683, 1077, 562, 571, 1382, 1735, 626, 1382, 2081, 1735, 626, 642, 564, 296, 643, 565, 684, 1383, 542, 552, 542, 542, 1076, 642, 644, 296, 643, 1380, 1258, 2638, 645, 1258, 1104, 1104, 1104, 1104, 644, 1094, 1379, 566, 1094, 1259, 645, 1208, 1208, 1208, 1208, 542, 542, 542, 572, 573, 574, 575, 576, 574, 572, 572, 572, 572, 572, 572, 572, 572, 572, 577, 572, 572, 572, 572, 578, 587, 588, 589, 590, 588, 2639, 572, 572, 580, 572, 572, 581, 1908, 666, 667, 668, 669, 667, 1666, 591, 1751, 1909, 1086, 1087, 1087, 1086, 688, 670, 689, 690, 1094, 592, 671, 1094, 572, 582, 572, 572, 666, 667, 668, 669, 667, 4091, 1666, 691, 1751, 1088, 1214, 1214, 1214, 1214, 670, 1874, 1731, 593, 1074, 671, 1269, 1269, 1269, 1269, 1875, 572, 572, 572, 572, 573, 583, 575, 576, 583, 572, 572, 572, 572, 572, 572, 572, 572, 572, 584, 572, 572, 572, 572, 585, 587, 594, 589, 590, 594, 4091, 572, 572, 580, 572, 572, 581, 1737, 673, 1738, 296, 674, 1089, 1738, 595, 688, 1992, 689, 690, 1076, 1076, 675, 676, 1076, 1077, 1416, 592, 677, 1077, 572, 582, 572, 572, 673, 691, 296, 674, 736, 1452, 737, 738, 1452, 1174, 1174, 1174, 1174, 675, 676, 1076, 1436, 593, 1453, 677, 1077, 1437, 2640, 739, 1175, 572, 572, 572, 294, 295, 599, 600, 601, 599, 294, 294, 294, 294, 294, 294, 294, 294, 294, 602, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 603, 294, 294, 294, 294, 294, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 294, 294, 294, 294, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 294, 294, 605, 294, 295, 606, 607, 608, 606, 294, 609, 294, 294, 294, 294, 294, 294, 294, 294, 726, 294, 727, 728, 611, 1440, 649, 650, 651, 652, 650, 2643, 294, 294, 294, 294, 294, 1444, 2644, 729, 653, 726, 1445, 727, 728, 654, 1238, 1239, 730, 620, 634, 635, 622, 634, 655, 2645, 1745, 656, 1746, 294, 729, 294, 294, 736, 1395, 737, 738, 1395, 625, 730, 1174, 1174, 1174, 1174, 1269, 1269, 1269, 1269, 636, 1447, 1750, 657, 739, 1396, 1448, 1175, 1998, 1999, 294, 294, 294, 294, 295, 606, 607, 608, 606, 294, 609, 294, 294, 294, 294, 294, 294, 294, 294, 1750, 294, 637, 295, 611, 296, 297, 649, 658, 659, 660, 658, 294, 294, 294, 294, 294, 1864, 638, 1455, 639, 661, 298, 1458, 1446, 640, 662, 1865, 1459, 620, 634, 635, 622, 634, 295, 655, 296, 297, 663, 294, 1463, 294, 294, 1541, 295, 1456, 296, 297, 625, 1080, 1080, 1080, 1080, 298, 1269, 1269, 1269, 1269, 636, 1464, 1076, 1076, 664, 298, 1465, 1286, 1313, 1081, 294, 294, 294, 294, 295, 612, 613, 614, 612, 294, 615, 294, 294, 294, 294, 294, 294, 294, 294, 2217, 294, 637, 693, 617, 694, 695, 693, 700, 694, 695, 700, 294, 618, 294, 294, 294, 696, 638, 1735, 639, 701, 697, 1735, 1460, 640, 697, 1460, 295, 2646, 296, 297, 1310, 718, 698, 1310, 718, 1461, 698, 294, 1111, 294, 294, 1111, 1076, 1311, 577, 298, 1312, 1077, 1284, 719, 1277, 1277, 1277, 1277, 1076, 1790, 699, 1074, 572, 1474, 699, 744, 1087, 1087, 1087, 1087, 294, 294, 294, 294, 295, 612, 613, 614, 612, 294, 615, 294, 294, 294, 294, 294, 294, 294, 294, 745, 294, 1088, 703, 617, 704, 705, 713, 1111, 714, 715, 1111, 294, 618, 294, 294, 294, 706, 1076, 1076, 1969, 707, 708, 1484, 1487, 295, 716, 296, 297, 295, 1970, 296, 297, 295, 709, 296, 297, 1862, 717, 294, 1863, 294, 294, 2647, 298, 760, 761, 295, 298, 296, 297, 1766, 298, 1767, 1276, 1277, 1276, 1276, 709, 760, 761, 1251, 717, 1252, 2648, 1074, 298, 1272, 294, 294, 294, 294, 295, 627, 628, 629, 627, 294, 294, 294, 294, 294, 294, 294, 294, 630, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 631, 294, 294, 294, 294, 294, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 294, 294, 294, 294, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 294, 294, 633, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 602, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 294, 294, 294, 294, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 602, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 294, 294, 294, 294, 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, 294, 294, 294, 294, 295, 294, 678, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 602, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 294, 294, 294, 294, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 294, 294, 294, 294, 295, 294, 685, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 602, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 294, 294, 294, 294, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, 294, 294, 294, 703, 710, 704, 705, 710, 713, 1982, 714, 715, 400, 401, 402, 403, 401, 711, 1076, 1541, 1983, 707, 708, 1077, 762, 763, 1135, 716, 406, 1135, 295, 407, 296, 297, 709, 765, 1945, 296, 766, 717, 400, 401, 402, 403, 401, 1076, 786, 1137, 767, 298, 1077, 1137, 762, 763, 768, 1076, 406, 787, 709, 407, 1077, 2579, 1945, 717, 572, 573, 718, 575, 576, 718, 572, 572, 572, 572, 572, 572, 572, 572, 572, 577, 572, 572, 572, 572, 719, 765, 1136, 296, 766, 2041, 2042, 572, 572, 720, 572, 572, 721, 1358, 767, 770, 771, 772, 773, 771, 768, 1516, 1087, 1087, 1087, 1087, 1517, 774, 775, 2060, 295, 776, 296, 297, 777, 572, 722, 572, 572, 770, 771, 772, 773, 771, 2061, 1345, 786, 1088, 1359, 298, 1541, 774, 775, 1299, 1719, 776, 1720, 787, 777, 1317, 1317, 1317, 1317, 2649, 572, 572, 572, 572, 573, 723, 575, 576, 723, 572, 572, 572, 572, 572, 572, 572, 572, 572, 584, 572, 572, 572, 572, 724, 789, 790, 791, 792, 790, 2565, 572, 572, 720, 572, 572, 721, 2168, 2169, 1959, 1091, 1091, 1091, 1091, 793, 295, 1074, 296, 297, 295, 1966, 296, 297, 1967, 2030, 835, 794, 296, 836, 572, 722, 572, 572, 837, 298, 1088, 1959, 1093, 298, 838, 1331, 1330, 1331, 1331, 839, 1368, 1368, 1368, 1368, 1541, 795, 2030, 1099, 1099, 1099, 1099, 840, 2186, 572, 572, 572, 294, 295, 294, 731, 297, 294, 294, 732, 294, 294, 294, 294, 294, 294, 294, 602, 1100, 294, 1963, 840, 734, 789, 790, 791, 792, 790, 2062, 1964, 294, 294, 294, 294, 294, 1427, 1428, 881, 1427, 882, 883, 1097, 796, 881, 1097, 882, 883, 1986, 1429, 1476, 835, 1987, 296, 836, 794, 2062, 884, 294, 837, 294, 294, 1480, 884, 1516, 838, 885, 1481, 1243, 1520, 839, 1243, 885, 1370, 1371, 1370, 1370, 1135, 1102, 795, 1135, 1244, 840, 1108, 1108, 1108, 1108, 294, 294, 294, 294, 295, 294, 731, 297, 294, 294, 732, 294, 294, 294, 294, 294, 294, 294, 602, 840, 294, 1110, 835, 734, 296, 836, 1122, 1122, 1122, 1122, 837, 294, 294, 294, 294, 294, 838, 1089, 1541, 1969, 930, 839, 296, 931, 889, 294, 296, 297, 294, 1997, 1136, 1124, 1282, 841, 835, 1282, 296, 836, 294, 932, 294, 294, 837, 890, 930, 1541, 296, 931, 838, 1174, 1174, 1174, 1174, 839, 1435, 1541, 1074, 841, 1370, 1371, 1370, 1370, 1283, 932, 1175, 841, 2598, 294, 294, 294, 294, 295, 294, 740, 297, 294, 294, 741, 294, 294, 294, 294, 294, 294, 294, 602, 1283, 294, 2650, 841, 743, 848, 849, 850, 851, 849, 2204, 2205, 294, 294, 294, 294, 294, 2651, 889, 294, 296, 297, 294, 2571, 852, 892, 294, 296, 297, 294, 1632, 2231, 860, 853, 861, 862, 854, 890, 1076, 294, 2255, 294, 294, 1077, 893, 892, 294, 296, 297, 294, 1358, 863, 1276, 1277, 1276, 1276, 1994, 1626, 1345, 1995, 855, 1359, 1627, 864, 893, 1272, 1299, 2255, 294, 294, 294, 294, 295, 294, 740, 297, 294, 294, 741, 294, 294, 294, 294, 294, 294, 294, 602, 864, 294, 1636, 2232, 743, 848, 849, 850, 851, 849, 1640, 2233, 294, 294, 294, 294, 294, 2652, 895, 294, 296, 297, 294, 1541, 852, 895, 294, 296, 297, 294, 2301, 1673, 860, 853, 861, 862, 854, 896, 2302, 294, 1310, 294, 294, 1310, 896, 898, 294, 296, 297, 294, 1545, 863, 1971, 1311, 1541, 1546, 1312, 1545, 1260, 1074, 855, 1541, 1615, 864, 899, 1442, 2573, 1443, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 746, 294, 294, 294, 294, 294, 294, 294, 602, 864, 294, 2379, 2352, 748, 898, 294, 296, 297, 294, 2392, 1972, 294, 294, 294, 294, 294, 907, 908, 909, 910, 908, 2058, 2653, 899, 907, 908, 909, 910, 908, 2352, 2654, 901, 1545, 902, 903, 911, 2026, 1630, 294, 2026, 294, 294, 295, 911, 296, 297, 295, 2058, 296, 297, 904, 1375, 1376, 1375, 1375, 1375, 1376, 1375, 1375, 1650, 1225, 298, 905, 1225, 1651, 298, 1226, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 746, 294, 294, 294, 294, 294, 294, 294, 602, 905, 294, 1963, 901, 748, 902, 903, 919, 2422, 920, 921, 1964, 294, 294, 294, 294, 294, 934, 1993, 296, 935, 922, 904, 294, 1076, 934, 923, 296, 935, 1656, 940, 294, 941, 942, 905, 2422, 936, 1288, 924, 294, 1467, 294, 294, 1614, 936, 295, 1614, 296, 297, 943, 2655, 937, 1389, 1389, 1389, 1389, 1611, 2656, 905, 1612, 1076, 1076, 925, 1288, 298, 1077, 1661, 1467, 294, 294, 294, 294, 295, 294, 749, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 602, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 294, 294, 294, 294, 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, 294, 294, 294, 751, 752, 753, 754, 755, 753, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 756, 751, 751, 751, 751, 751, 751, 757, 751, 751, 751, 751, 751, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 751, 751, 751, 751, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 751, 751, 759, 294, 295, 778, 779, 780, 778, 294, 294, 294, 294, 294, 781, 294, 294, 294, 781, 294, 782, 294, 294, 362, 294, 294, 294, 294, 294, 294, 294, 783, 294, 784, 294, 294, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 294, 294, 294, 294, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 294, 294, 294, 797, 798, 797, 296, 799, 797, 797, 797, 797, 797, 797, 800, 797, 797, 797, 797, 797, 797, 797, 797, 801, 919, 1996, 920, 921, 2125, 1968, 797, 797, 797, 797, 797, 797, 1076, 940, 922, 941, 942, 1664, 2036, 923, 295, 2037, 296, 297, 1449, 295, 937, 956, 297, 1986, 2125, 924, 943, 2005, 797, 797, 797, 797, 295, 298, 956, 297, 2657, 295, 298, 296, 297, 1407, 1406, 1407, 1407, 2249, 1450, 1076, 2249, 925, 1345, 298, 1668, 1451, 2658, 2126, 298, 797, 797, 797, 797, 798, 797, 296, 799, 797, 797, 797, 797, 797, 797, 800, 797, 797, 797, 797, 797, 797, 797, 797, 801, 2126, 1395, 1314, 957, 1395, 1314, 797, 797, 797, 797, 797, 797, 961, 1076, 962, 963, 957, 958, 1670, 961, 1396, 962, 963, 2659, 1674, 295, 964, 296, 297, 1675, 958, 965, 1315, 964, 797, 797, 797, 797, 965, 981, 1258, 974, 982, 1258, 298, 983, 1457, 1457, 1457, 1457, 984, 985, 986, 1259, 2660, 1478, 1315, 1479, 987, 1496, 1496, 1496, 1496, 797, 797, 797, 797, 798, 803, 804, 805, 803, 797, 797, 806, 807, 808, 800, 797, 797, 797, 797, 809, 797, 810, 810, 811, 812, 812, 812, 812, 812, 812, 813, 797, 814, 797, 797, 815, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 797, 817, 797, 797, 816, 816, 816, 816, 816, 818, 816, 819, 816, 816, 816, 816, 816, 820, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 797, 797, 821, 294, 295, 294, 296, 297, 294, 294, 826, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 2309, 967, 298, 296, 968, 967, 1310, 296, 968, 1310, 294, 294, 294, 294, 294, 981, 2310, 974, 982, 1311, 969, 983, 1312, 2661, 969, 1680, 984, 985, 986, 970, 1681, 971, 2038, 970, 987, 971, 2039, 294, 294, 294, 294, 973, 1291, 974, 975, 1685, 999, 976, 1000, 1001, 1686, 2682, 977, 1507, 1507, 1507, 1507, 1301, 1348, 2683, 978, 1530, 1531, 1532, 1530, 1002, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 826, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 2684, 999, 298, 1000, 1001, 1080, 1080, 1080, 1080, 979, 294, 294, 294, 294, 294, 988, 1395, 974, 989, 1395, 1002, 983, 988, 1081, 974, 989, 984, 2267, 983, 1122, 1122, 1122, 1122, 984, 987, 1396, 2267, 294, 294, 294, 294, 987, 2685, 990, 993, 991, 994, 995, 1690, 2367, 990, 1695, 991, 1691, 1124, 1731, 1696, 1074, 996, 1533, 1534, 1532, 1533, 997, 2688, 2368, 294, 294, 294, 294, 295, 828, 829, 830, 828, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 831, 294, 294, 294, 294, 294, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 294, 294, 294, 294, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 294, 294, 833, 797, 798, 797, 842, 799, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 843, 802, 802, 802, 802, 802, 802, 797, 797, 797, 797, 797, 797, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 797, 797, 797, 797, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 797, 797, 797, 797, 798, 797, 842, 799, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 843, 802, 802, 802, 802, 802, 802, 797, 797, 797, 797, 797, 797, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 797, 797, 797, 797, 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, 797, 797, 797, 797, 798, 797, 842, 799, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 843, 802, 802, 802, 802, 802, 802, 797, 797, 797, 797, 797, 797, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 797, 797, 797, 797, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 797, 797, 797, 294, 295, 294, 296, 297, 294, 294, 294, 1076, 294, 294, 294, 294, 1077, 2268, 294, 973, 294, 974, 975, 857, 1717, 976, 1117, 1117, 1117, 1117, 977, 294, 294, 294, 294, 858, 1722, 295, 978, 296, 297, 1723, 2269, 993, 1118, 994, 995, 1014, 1015, 1016, 1017, 1015, 1022, 2465, 296, 1023, 298, 996, 294, 858, 294, 294, 997, 1076, 2691, 1732, 1018, 872, 1728, 1024, 1733, 1025, 2693, 1076, 979, 1019, 873, 1020, 1759, 1876, 2465, 874, 1876, 1163, 1163, 1163, 1163, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 1940, 294, 294, 294, 294, 873, 1745, 294, 1746, 294, 874, 1164, 857, 1119, 1119, 1119, 1119, 2694, 2093, 1540, 294, 294, 294, 294, 858, 1989, 1540, 295, 1989, 296, 297, 1120, 1004, 1005, 1006, 1007, 1005, 1022, 983, 296, 1023, 1990, 2355, 984, 1008, 1009, 298, 294, 858, 294, 294, 1010, 1970, 2368, 1024, 1540, 1025, 872, 1532, 1535, 1532, 1532, 1623, 1623, 1623, 1623, 873, 1701, 1702, 1701, 1701, 874, 1183, 1183, 1183, 1183, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 1184, 873, 294, 294, 294, 294, 874, 298, 1014, 1015, 1016, 1017, 1015, 1743, 2267, 294, 294, 294, 294, 294, 1004, 1005, 1006, 1007, 1005, 1747, 983, 1018, 2267, 1076, 1748, 984, 1008, 1009, 1077, 1775, 1019, 1735, 1020, 1010, 1776, 1735, 294, 294, 294, 294, 1049, 1541, 1050, 1051, 1076, 1057, 1052, 1058, 1059, 1077, 1076, 1060, 2372, 2397, 1053, 1787, 1061, 1062, 1063, 1054, 1701, 1702, 1701, 1701, 1064, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 2218, 2136, 294, 294, 294, 294, 1027, 298, 296, 1028, 1027, 2695, 296, 1028, 1055, 294, 294, 294, 294, 294, 988, 1005, 1006, 1007, 1005, 1029, 983, 2136, 2495, 1029, 2139, 984, 1008, 1143, 1143, 1143, 1143, 1030, 1785, 987, 1074, 1034, 294, 294, 294, 294, 1265, 2698, 1011, 1265, 1012, 1057, 1074, 1058, 1059, 2495, 2139, 1060, 1124, 1266, 1145, 1030, 1061, 1062, 1063, 1034, 1702, 1702, 1702, 1702, 1064, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 866, 294, 294, 294, 294, 294, 294, 294, 294, 1353, 294, 1831, 1353, 868, 2699, 1117, 1117, 1117, 1117, 1764, 1831, 294, 294, 294, 294, 294, 988, 1005, 1006, 1007, 1005, 1076, 983, 1118, 2511, 1791, 1768, 984, 1008, 1354, 1792, 1049, 2700, 1050, 1051, 987, 1948, 1052, 294, 1948, 294, 294, 1799, 1076, 1011, 1053, 1012, 1800, 1077, 1949, 1054, 2511, 1541, 1354, 1679, 1074, 1074, 1074, 1074, 1646, 1647, 1646, 1646, 1163, 1163, 1163, 1163, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 866, 294, 294, 294, 294, 294, 294, 294, 294, 1055, 294, 1164, 1648, 868, 1027, 1031, 296, 1028, 1031, 2701, 1541, 294, 294, 294, 294, 294, 2583, 2150, 1032, 1119, 1119, 1119, 1119, 1033, 1076, 1066, 1649, 1067, 1068, 1077, 1391, 1069, 2702, 1391, 1076, 1030, 1070, 1120, 294, 1077, 294, 294, 1076, 2150, 1071, 1082, 1066, 1806, 1067, 1068, 1083, 2296, 1069, 1701, 1702, 1701, 1701, 1070, 1392, 1030, 2296, 1143, 1143, 1143, 1143, 1071, 2580, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 869, 294, 294, 294, 294, 294, 294, 294, 294, 1124, 294, 1145, 1393, 871, 1027, 1031, 296, 1028, 1031, 2703, 2151, 294, 294, 294, 294, 294, 1960, 2704, 1032, 1961, 1394, 1072, 1073, 1033, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 2234, 2707, 1962, 1034, 2151, 1645, 294, 1074, 294, 294, 1072, 1073, 1150, 1505, 1505, 1505, 1505, 1124, 1735, 1145, 1812, 1124, 1735, 1145, 1074, 1813, 2234, 1034, 1506, 1143, 1143, 1143, 1143, 1074, 1541, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 869, 294, 294, 294, 294, 294, 294, 294, 294, 1124, 294, 1145, 1541, 871, 1146, 1074, 1714, 1714, 1714, 1714, 1149, 294, 294, 294, 294, 294, 1080, 1080, 1080, 1080, 1037, 1038, 1039, 1040, 1038, 2568, 1041, 1143, 1143, 1143, 1143, 1042, 1043, 1790, 1081, 1074, 1044, 1820, 294, 1045, 294, 294, 1821, 1147, 2369, 2578, 2388, 1046, 1080, 1080, 1080, 1080, 1124, 1148, 1145, 1684, 1074, 1074, 1074, 1074, 1827, 1163, 1163, 1163, 1163, 1828, 1081, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 1164, 294, 1541, 2240, 876, 2241, 1160, 1647, 1647, 1647, 1647, 294, 294, 294, 294, 872, 294, 1047, 2372, 1829, 1143, 1143, 1143, 1143, 1830, 1166, 1166, 1166, 1166, 2240, 2373, 2241, 1037, 1038, 1039, 1040, 1038, 1649, 1041, 294, 294, 294, 294, 1042, 1043, 1124, 2202, 1145, 1044, 2297, 1164, 1045, 1168, 1689, 1074, 1074, 1074, 1074, 2297, 1046, 2203, 1649, 1143, 1143, 1143, 1143, 1753, 2519, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 1124, 294, 1145, 1753, 876, 1844, 1152, 2519, 2351, 1153, 1845, 294, 294, 294, 294, 872, 294, 2351, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1852, 1755, 1047, 2708, 1717, 1853, 1151, 1854, 1143, 1143, 1143, 1143, 1855, 294, 294, 294, 294, 1124, 1242, 1145, 1074, 1124, 2709, 1145, 1941, 1505, 1505, 1505, 1505, 1942, 1735, 1753, 1074, 1124, 1735, 1145, 1177, 1177, 1177, 1177, 1506, 2710, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 1156, 294, 294, 294, 294, 294, 294, 294, 1154, 294, 2617, 1178, 878, 1080, 1080, 1080, 1080, 2711, 1155, 1157, 294, 294, 294, 879, 1158, 1117, 1117, 1117, 1117, 1159, 2712, 1081, 1831, 1119, 1119, 1119, 1119, 1177, 1177, 1177, 1177, 1876, 1179, 1118, 1876, 1877, 1831, 294, 294, 294, 294, 1120, 1223, 1223, 1223, 1223, 1180, 2296, 1181, 1878, 1182, 1204, 1204, 1204, 1204, 1178, 1177, 1177, 1177, 1177, 1224, 2296, 1204, 1204, 1204, 1204, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 1205, 294, 294, 294, 294, 294, 294, 294, 1178, 294, 1179, 1205, 878, 1204, 1204, 1204, 1204, 2713, 2254, 2357, 294, 294, 294, 879, 1180, 2372, 1181, 2359, 1182, 1204, 1204, 1204, 1204, 1210, 1210, 1210, 1210, 2390, 1205, 1179, 1210, 1210, 1210, 1210, 2254, 2357, 1267, 294, 294, 294, 294, 1260, 2412, 1180, 1205, 1181, 1291, 1182, 1211, 1505, 1505, 1505, 1505, 2008, 2413, 1211, 1694, 1074, 1074, 1074, 1074, 1301, 1348, 2359, 1506, 2359, 294, 294, 294, 295, 294, 886, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 294, 294, 294, 294, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 294, 294, 294, 294, 295, 912, 913, 914, 912, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 915, 294, 294, 294, 294, 294, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 294, 294, 294, 294, 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, 294, 294, 917, 294, 295, 294, 296, 297, 294, 294, 926, 294, 294, 294, 294, 294, 294, 294, 294, 2371, 294, 2531, 2371, 928, 1210, 1210, 1210, 1210, 1541, 2714, 2426, 294, 294, 294, 294, 294, 1796, 1796, 1796, 1796, 1194, 2715, 1074, 1074, 1991, 1272, 1074, 1991, 2531, 1211, 1279, 1074, 1210, 1210, 1210, 1210, 2426, 1307, 294, 1074, 294, 294, 1257, 1074, 1074, 1541, 1074, 1334, 1335, 1336, 1334, 1704, 1705, 1706, 1705, 1705, 1074, 1211, 1735, 1272, 1337, 1074, 1735, 1338, 1279, 1316, 2569, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 926, 294, 294, 294, 294, 294, 294, 294, 294, 1289, 294, 2716, 2592, 928, 1960, 1306, 1339, 1961, 1306, 1339, 1074, 294, 294, 294, 294, 294, 1074, 1074, 1307, 1259, 2717, 1876, 1962, 1308, 1876, 1910, 1290, 1291, 1343, 1614, 1344, 1345, 1614, 2718, 1346, 1283, 1341, 1347, 294, 1911, 294, 294, 1301, 1348, 2719, 1612, 1349, 1355, 1356, 1356, 1355, 2720, 2721, 1508, 1508, 1508, 1508, 2045, 2265, 1283, 1342, 2046, 1509, 2266, 2047, 1357, 1509, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 294, 294, 294, 294, 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, 294, 294, 294, 294, 295, 294, 944, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 945, 945, 298, 945, 945, 945, 945, 945, 945, 294, 294, 294, 294, 294, 294, 945, 945, 945, 945, 945, 945, 945, 946, 945, 945, 947, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 294, 294, 294, 294, 945, 945, 945, 945, 945, 945, 945, 946, 945, 945, 947, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 294, 294, 294, 294, 295, 294, 944, 297, 294, 294, 948, 949, 294, 294, 294, 294, 294, 294, 294, 1719, 294, 1720, 2297, 951, 1329, 1330, 1331, 1329, 2557, 2722, 2177, 294, 294, 294, 294, 949, 2297, 1332, 1355, 1356, 1356, 1355, 1308, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1218, 2026, 1074, 1315, 2026, 1357, 1074, 294, 952, 294, 294, 1074, 2723, 1508, 1508, 1508, 1508, 1364, 1737, 1074, 1738, 1364, 1509, 1074, 1738, 1541, 1509, 1315, 1646, 1647, 1646, 1646, 1363, 1363, 1363, 1363, 294, 294, 949, 294, 295, 294, 944, 297, 294, 294, 948, 949, 294, 294, 294, 294, 294, 294, 294, 1074, 294, 1364, 1648, 951, 1351, 1360, 1282, 1351, 1360, 1282, 2318, 294, 294, 294, 294, 949, 4091, 1352, 1363, 1363, 1363, 1363, 1308, 1361, 2338, 2590, 1649, 1074, 1074, 1385, 1385, 1385, 1385, 4091, 1341, 1354, 1283, 2351, 294, 952, 294, 294, 1289, 1364, 1541, 1290, 1291, 1343, 2002, 1344, 1345, 2351, 2003, 1350, 1386, 2004, 1347, 4091, 1342, 1354, 1283, 1301, 1348, 2456, 2724, 1349, 1983, 294, 294, 949, 294, 295, 294, 944, 297, 294, 294, 953, 294, 294, 294, 294, 294, 294, 294, 294, 2378, 294, 1971, 2456, 955, 1385, 1385, 1385, 1385, 1541, 2391, 2200, 294, 294, 294, 294, 294, 2201, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1117, 1117, 1117, 1117, 1386, 2725, 2457, 1405, 1406, 1407, 1405, 1382, 1541, 294, 1382, 294, 294, 1386, 1118, 1735, 1408, 1386, 1972, 1735, 1383, 1409, 1508, 1508, 1508, 1508, 1541, 1739, 2457, 1541, 1973, 1509, 1740, 1410, 1974, 1509, 2002, 2574, 294, 294, 294, 294, 295, 294, 944, 297, 294, 294, 953, 294, 294, 294, 294, 294, 294, 294, 294, 1410, 294, 1404, 2577, 955, 1411, 1412, 1413, 1411, 2572, 1541, 2626, 294, 294, 294, 294, 294, 1274, 1414, 1074, 2626, 1312, 2137, 1260, 1796, 1796, 1796, 1796, 2599, 1417, 1418, 1275, 1419, 1420, 1345, 1415, 2138, 1421, 1588, 294, 2605, 294, 294, 1422, 1355, 1423, 1424, 1355, 2137, 1425, 1426, 1508, 1508, 1508, 1508, 1796, 1796, 1796, 1796, 1415, 1509, 2305, 1357, 2138, 1509, 2726, 2306, 2591, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 294, 294, 294, 294, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 294, 294, 294, 294, 295, 294, 296, 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 298, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 294, 294, 294, 294, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 294, 294, 294, 1121, 1122, 1122, 1121, 1404, 2727, 1123, 1417, 1418, 1318, 1419, 1420, 1345, 1466, 1541, 1421, 1466, 1382, 2173, 1470, 1382, 1422, 1470, 1423, 1424, 1124, 1259, 1425, 1426, 2728, 1383, 2174, 1352, 1774, 2175, 1074, 1290, 1308, 1343, 1074, 1344, 1345, 1804, 4091, 1074, 1804, 2729, 1347, 1766, 4091, 1767, 1452, 1468, 1469, 1452, 1307, 1349, 2464, 2398, 1125, 1805, 1126, 1074, 1876, 1453, 1127, 1876, 4091, 1128, 1129, 2601, 1130, 2398, 4091, 1131, 1132, 1133, 1134, 1289, 1318, 1541, 1940, 1290, 2464, 1343, 2466, 1344, 1345, 1074, 1492, 1492, 1492, 1492, 1347, 1119, 1119, 1119, 1119, 1468, 1469, 1973, 1951, 1349, 1074, 1974, 1290, 1291, 1292, 1293, 1294, 1295, 2466, 1120, 1296, 1493, 1275, 1297, 1298, 1299, 1300, 1952, 1301, 1302, 1303, 1304, 1305, 1318, 1488, 1488, 1488, 1488, 2732, 2581, 2734, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1797, 1797, 1797, 1797, 1489, 1489, 1489, 1489, 1489, 1489, 1490, 1319, 1320, 1292, 1321, 1322, 1295, 1493, 1798, 1323, 2397, 1493, 1297, 1298, 1299, 1324, 2735, 1325, 1326, 1303, 1304, 1327, 1328, 1492, 1492, 1492, 1492, 1498, 1498, 1498, 1498, 1502, 1502, 1502, 1502, 1515, 1074, 1074, 1499, 1074, 2730, 2731, 1503, 1610, 1531, 1532, 1610, 1540, 1493, 1541, 1543, 1540, 2736, 1500, 1074, 1541, 1611, 1504, 1540, 1612, 2477, 1613, 1540, 1544, 1542, 1543, 1540, 1785, 1540, 1074, 2553, 1543, 1540, 1540, 1619, 1619, 1619, 1619, 1544, 1540, 1501, 1074, 2554, 2555, 1544, 1314, 2477, 1540, 1314, 2582, 1074, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1620, 1541, 2570, 1540, 1619, 1619, 1619, 1619, 1541, 1540, 1709, 1709, 1709, 1709, 1504, 1521, 1315, 1620, 1951, 1522, 1074, 1620, 2249, 1522, 1951, 2249, 1074, 1523, 1521, 1620, 2737, 1310, 1275, 1522, 1310, 1710, 1524, 1525, 1275, 1310, 1315, 1521, 1310, 1526, 1311, 1522, 1541, 1312, 1460, 1522, 2738, 1460, 1311, 1523, 1521, 1312, 1527, 2602, 1528, 1466, 1522, 1461, 1466, 2739, 1524, 1549, 2588, 1701, 1702, 1701, 1701, 2740, 1259, 1709, 1709, 1709, 1709, 1541, 2478, 1550, 1707, 1801, 1801, 1801, 1801, 1708, 2584, 1709, 1709, 1709, 1709, 2743, 1551, 1552, 1553, 1554, 1555, 1556, 1710, 1557, 1558, 2481, 1559, 1560, 2478, 1561, 1562, 1541, 1563, 1564, 1565, 1566, 1710, 1801, 1801, 1801, 1801, 2208, 1551, 1552, 1553, 1554, 1555, 1556, 2744, 1557, 1558, 2481, 1559, 1560, 2209, 1561, 1562, 2210, 2045, 1563, 1564, 1565, 1566, 1567, 1567, 1567, 1567, 1712, 1709, 1709, 1712, 1769, 1769, 1769, 1769, 1801, 1801, 1801, 1801, 2745, 2746, 1753, 1770, 2589, 1567, 1541, 1567, 1567, 1076, 1780, 2626, 1074, 1710, 1756, 1310, 1074, 1771, 1310, 2747, 2484, 1074, 1074, 1074, 2748, 2626, 1753, 1991, 1311, 1074, 1991, 1312, 1567, 1260, 2749, 1568, 1569, 1570, 1571, 1572, 1307, 2371, 1573, 1574, 2371, 1575, 2484, 1576, 2750, 1577, 1755, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1095, 1095, 1095, 1095, 1585, 1989, 2600, 1540, 1989, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 2485, 2119, 1990, 1753, 1544, 1795, 1074, 1074, 1074, 1074, 2120, 1074, 1080, 1080, 1080, 1080, 1074, 1074, 1074, 1080, 1080, 1080, 1080, 2077, 1074, 2078, 2485, 2119, 1540, 2079, 1081, 1080, 1080, 1080, 1080, 1874, 2120, 1081, 1117, 1117, 1117, 1117, 2081, 2753, 1875, 1119, 1119, 1119, 1119, 1081, 1080, 1080, 1080, 1080, 1353, 1874, 1118, 1353, 1537, 1567, 1567, 1567, 1567, 1120, 1875, 1817, 2404, 1074, 1081, 2404, 1541, 1074, 1086, 1087, 1087, 1086, 1074, 1074, 1074, 1824, 1567, 1074, 1567, 1567, 1354, 1074, 1840, 1840, 1840, 1840, 1074, 1087, 1087, 1087, 1087, 2405, 2754, 1088, 1832, 1832, 1832, 1832, 2755, 1117, 1117, 1117, 1117, 1589, 1354, 2723, 1590, 1591, 1592, 1593, 1594, 1595, 1088, 1596, 1597, 2756, 1598, 1118, 1599, 1088, 1600, 2733, 1601, 1602, 1603, 1604, 1605, 1606, 1584, 1091, 1091, 1091, 1091, 1585, 2751, 2752, 1540, 2545, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 2445, 2757, 1089, 2445, 1544, 2546, 1088, 2547, 1093, 2758, 1074, 1074, 1091, 1091, 1091, 1091, 1835, 1835, 1835, 1835, 1099, 1099, 1099, 1099, 1103, 1104, 1104, 1103, 1540, 2446, 1834, 1838, 1838, 1838, 1838, 1427, 1428, 1088, 1427, 1093, 2760, 2761, 2161, 1093, 1470, 1100, 2162, 1470, 1429, 1607, 1104, 1104, 1104, 1104, 2762, 2163, 1100, 1352, 1537, 1631, 2766, 2177, 1308, 1631, 1631, 2178, 1632, 1631, 1631, 2767, 2179, 1631, 2768, 1631, 1108, 1108, 1108, 1108, 2093, 1540, 1634, 2488, 1634, 1631, 1634, 2769, 1540, 1104, 1104, 1104, 1104, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1110, 1119, 1119, 1119, 1119, 1102, 1541, 1106, 2488, 1631, 2770, 1631, 1631, 1842, 1850, 1948, 1540, 1110, 1948, 1120, 2771, 1110, 2772, 1851, 1851, 1851, 1851, 1851, 1949, 1122, 1122, 1122, 1122, 4091, 1870, 1870, 1870, 1870, 2773, 1991, 1631, 1635, 1991, 2502, 2774, 1635, 1635, 1138, 1636, 1635, 1635, 2575, 1307, 1635, 1124, 1635, 1871, 1871, 1871, 1871, 2576, 2077, 1638, 2078, 1638, 1635, 1638, 2079, 2507, 2502, 4091, 1879, 1879, 1879, 1879, 1143, 1143, 1143, 1143, 2080, 2081, 1873, 1143, 1143, 1143, 1143, 1161, 1161, 1161, 1161, 1635, 2775, 1635, 1635, 2507, 1339, 1124, 2776, 1339, 2116, 1124, 2133, 1145, 1163, 1163, 1163, 1163, 1124, 1259, 1145, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 2508, 2141, 1804, 1635, 1639, 1804, 1541, 1341, 1639, 1639, 1164, 1640, 1639, 1639, 2879, 1307, 1639, 1124, 1639, 1145, 1805, 1124, 1541, 1145, 1541, 1642, 2508, 1642, 1639, 1642, 1753, 1342, 1143, 1143, 1143, 1143, 2880, 1881, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 2882, 1991, 2566, 1883, 1991, 2885, 2886, 1639, 1753, 1639, 1639, 1124, 2567, 1145, 1307, 2887, 2212, 1124, 2195, 1145, 2213, 1124, 2196, 1145, 2608, 2214, 1884, 1143, 1143, 1143, 1143, 2197, 1755, 1143, 1143, 1143, 1143, 2512, 1639, 1121, 1122, 1122, 1121, 2777, 2888, 1123, 1541, 1143, 1143, 1143, 1143, 2608, 1124, 2891, 1145, 2892, 1888, 1537, 1124, 1886, 1145, 1885, 1753, 2512, 1124, 2893, 2826, 1887, 1903, 1903, 1903, 1903, 1124, 2517, 1145, 2894, 1143, 1143, 1143, 1143, 1169, 1169, 1169, 1169, 1143, 1143, 1143, 1143, 2597, 1614, 2212, 1892, 1614, 1164, 2826, 1889, 2895, 2896, 1125, 2517, 1126, 1124, 1611, 1145, 1127, 1612, 1753, 1128, 1129, 1124, 1130, 1145, 1890, 1131, 1132, 1133, 1134, 1891, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1753, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1893, 2889, 1894, 2897, 1124, 2763, 1145, 2902, 1124, 2890, 1145, 2898, 1124, 1905, 1145, 1755, 2899, 1124, 1895, 1145, 2905, 1124, 2518, 1145, 1901, 1901, 1901, 1901, 1166, 1166, 1166, 1166, 2763, 1166, 1166, 1166, 1166, 1906, 1906, 1906, 1906, 1174, 1174, 1174, 1174, 1753, 2223, 1896, 2518, 2223, 2906, 1145, 1898, 1164, 1897, 1168, 1175, 1899, 1164, 1611, 1168, 2909, 2224, 1541, 1168, 1176, 1176, 1176, 1176, 1900, 1176, 1176, 1176, 1176, 1177, 1177, 1177, 1177, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1912, 1912, 1912, 1912, 2522, 1189, 1189, 1189, 1189, 2462, 2223, 1184, 2462, 2223, 2612, 1184, 1178, 1190, 1917, 1917, 1917, 1917, 1194, 1611, 1074, 1074, 1612, 2910, 1074, 1918, 2522, 2907, 2908, 1074, 1195, 1196, 1196, 1195, 2463, 1921, 2612, 1074, 1196, 1196, 1196, 1196, 2911, 1179, 1922, 1922, 1922, 1922, 1922, 1923, 1924, 1925, 1923, 1204, 1204, 1204, 1204, 1180, 2912, 1181, 2915, 1182, 1928, 1928, 1928, 1928, 1204, 1204, 1204, 1204, 1208, 1208, 1208, 1208, 1210, 1210, 1210, 1210, 1205, 1932, 1932, 1932, 1932, 1210, 1210, 1210, 1210, 1205, 2963, 2093, 1540, 1205, 1214, 1214, 1214, 1214, 1541, 1540, 1541, 1211, 1541, 1074, 1074, 1218, 1211, 1074, 1938, 1541, 1211, 1074, 1223, 1223, 1223, 1223, 1074, 1939, 1939, 1939, 1939, 1939, 1541, 2964, 1074, 1257, 1074, 1074, 1540, 1074, 1224, 1269, 1269, 1269, 1269, 1277, 1277, 1277, 1277, 1074, 1276, 1277, 1276, 1276, 1074, 1541, 2917, 2918, 1930, 1331, 1330, 1331, 1331, 1272, 2593, 2613, 1306, 2594, 2927, 1306, 1074, 2007, 1330, 1331, 2007, 1934, 2595, 2596, 2936, 1307, 1331, 1330, 1331, 1331, 1308, 2140, 2705, 1990, 2140, 2705, 1074, 2613, 1334, 1335, 1336, 1334, 1283, 2933, 1074, 1074, 1291, 1953, 1293, 1954, 1955, 1337, 2447, 1956, 1338, 2447, 1957, 1298, 1299, 1300, 2141, 1301, 1302, 1303, 1304, 1958, 1283, 1329, 1330, 1331, 1329, 1334, 1335, 1336, 1334, 1351, 1360, 2142, 1351, 1360, 1332, 2448, 1541, 2966, 1337, 1308, 2967, 1338, 1352, 1355, 1356, 1356, 1355, 1308, 1361, 2706, 2449, 1315, 1363, 1363, 1363, 1363, 2619, 2968, 2142, 1341, 1354, 1357, 2015, 2015, 2015, 2015, 1363, 1363, 1363, 1363, 1368, 1368, 1368, 1368, 2913, 1315, 2449, 1364, 1370, 1371, 1370, 1370, 2619, 1342, 1354, 1391, 2620, 1364, 1391, 2919, 2914, 1364, 1375, 1376, 1375, 1375, 1385, 1385, 1385, 1385, 2022, 2022, 2022, 2022, 1385, 1385, 1385, 1385, 1389, 1389, 1389, 1389, 2620, 1392, 1541, 1405, 1406, 1407, 1405, 1541, 1774, 1386, 1074, 2973, 2480, 1386, 1074, 2480, 1408, 1386, 1541, 1074, 2794, 1409, 1407, 1406, 1407, 1407, 1411, 1412, 1413, 1411, 2974, 2813, 1393, 1410, 2017, 1407, 1406, 1407, 1407, 1414, 2975, 2116, 1312, 1541, 1260, 1417, 1418, 2794, 1419, 1420, 1394, 2692, 2759, 1421, 2920, 2450, 1415, 1410, 2813, 1422, 2922, 1423, 1424, 1074, 2451, 1425, 1426, 2032, 1406, 1407, 2032, 2953, 2024, 1411, 1412, 1413, 1411, 2692, 2759, 2977, 1415, 2450, 1541, 1990, 1417, 1418, 1414, 1419, 1420, 1312, 2451, 2926, 1421, 2033, 1406, 1407, 2033, 1410, 1422, 2482, 1423, 1424, 2482, 1415, 1425, 1426, 2034, 2053, 2054, 2053, 2053, 2056, 2054, 2056, 2056, 1488, 1488, 1488, 1488, 2782, 2783, 1410, 1991, 1410, 2057, 1991, 1541, 1415, 2483, 1488, 1488, 1488, 1488, 2932, 1541, 1307, 1488, 1488, 1488, 1488, 1490, 1492, 1492, 1492, 1492, 2782, 2783, 1410, 1489, 1489, 1489, 1489, 1489, 1489, 1490, 2067, 2067, 2067, 2067, 2067, 2067, 1490, 2069, 2069, 2069, 2069, 1493, 1492, 1492, 1492, 1492, 1496, 1496, 1496, 1496, 1498, 1498, 1498, 1498, 1502, 1502, 1502, 1502, 2923, 2935, 1541, 1499, 1493, 2486, 2979, 1503, 2486, 1493, 1505, 1505, 1505, 1505, 1507, 1507, 1507, 1507, 1500, 1541, 2784, 2787, 1504, 2980, 2983, 1506, 1507, 1507, 1507, 1507, 1508, 1508, 1508, 1508, 2487, 1508, 1508, 1508, 1508, 1509, 2990, 2991, 2992, 1509, 1509, 1501, 2784, 2787, 1509, 1515, 1074, 1074, 2937, 1074, 1530, 1531, 1532, 1530, 1533, 1534, 1532, 1533, 2993, 2071, 1532, 1535, 1532, 1532, 1074, 1533, 1534, 1532, 1533, 2086, 2087, 1532, 2086, 2928, 1504, 1532, 1535, 1532, 1532, 1584, 2143, 2801, 2115, 2806, 1585, 2115, 2144, 2145, 2157, 2157, 2157, 2157, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 1540, 1074, 2092, 1543, 1540, 2095, 1540, 2143, 2801, 2811, 2806, 1540, 2116, 1540, 2144, 2145, 1544, 1540, 1544, 1542, 1543, 1540, 2152, 2152, 2152, 2152, 1541, 2117, 1540, 2118, 1541, 1541, 2641, 1544, 2132, 2811, 2812, 2132, 1541, 1541, 1540, 1540, 1540, 1540, 1541, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 2117, 1541, 2994, 2118, 1540, 1537, 2121, 2816, 2122, 2812, 2133, 2467, 2158, 2123, 2467, 2127, 2128, 2129, 2996, 2585, 2124, 2934, 2249, 2134, 2135, 2249, 2939, 2248, 1540, 2153, 2130, 2944, 2121, 2816, 2122, 2586, 2947, 2587, 2154, 2123, 2468, 2131, 2155, 2997, 2825, 2156, 1645, 2124, 1074, 2134, 2135, 2159, 2159, 2159, 2159, 2952, 2130, 2469, 1537, 2099, 2100, 2101, 2102, 2103, 2104, 1074, 2105, 2106, 2131, 2107, 2108, 2825, 2109, 2110, 1074, 2111, 2112, 2113, 2114, 2164, 2164, 2164, 2164, 1541, 2469, 2099, 2100, 2101, 2102, 2103, 2104, 2146, 2105, 2106, 2147, 2107, 2108, 2830, 2109, 2110, 2978, 1074, 2111, 2112, 2113, 2114, 2148, 2998, 2149, 2170, 2170, 2170, 2170, 2170, 2170, 2170, 2170, 2146, 2999, 1541, 2147, 2160, 1541, 2830, 2157, 2157, 2157, 2157, 2978, 3000, 1541, 2489, 2829, 2148, 2489, 2149, 2152, 2152, 2152, 2152, 2491, 1541, 2948, 2491, 2159, 2159, 2159, 2159, 2165, 1623, 1623, 1623, 1623, 1541, 1646, 1647, 1646, 1646, 2166, 2829, 2490, 1541, 2164, 2164, 2164, 2164, 2171, 2946, 2493, 2492, 2206, 2493, 2841, 2496, 2172, 1584, 2496, 2848, 2207, 1541, 1585, 2949, 2950, 1540, 1648, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 2853, 2187, 2494, 2841, 1544, 2191, 2192, 2497, 2848, 2498, 2188, 3001, 2498, 1649, 2189, 2500, 2193, 2190, 2500, 2194, 2857, 1610, 1531, 1532, 1610, 3002, 3003, 2853, 1540, 1619, 1619, 1619, 1619, 3004, 1611, 3005, 2198, 1612, 2499, 1613, 2225, 2225, 2225, 2225, 2501, 3006, 2199, 2857, 3007, 1647, 1647, 1647, 1647, 2503, 1620, 2520, 2503, 3008, 1537, 1584, 1619, 1619, 1619, 1619, 1585, 1620, 3009, 1540, 2521, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1649, 2856, 2520, 2504, 1544, 1631, 1620, 3010, 2506, 1631, 1631, 2506, 1632, 1631, 1631, 2521, 1541, 1631, 1541, 1631, 1701, 1702, 1701, 1701, 1649, 2862, 1635, 2856, 1540, 1631, 1635, 1635, 1541, 1636, 1635, 1635, 2509, 2133, 1635, 2509, 1635, 1701, 1702, 1701, 1701, 2227, 1702, 1702, 1702, 1702, 1635, 2862, 2513, 2863, 1631, 2513, 1631, 1631, 1537, 1631, 2924, 1541, 2925, 1631, 1631, 2510, 1632, 1631, 1631, 3011, 3031, 1631, 3034, 1631, 1541, 1635, 2931, 1635, 1635, 2863, 1634, 2514, 1634, 1631, 1634, 1631, 1679, 1074, 1074, 1074, 1074, 1684, 1074, 1074, 1074, 1074, 1689, 1074, 1074, 1074, 1074, 1694, 1074, 1074, 1074, 1074, 1635, 1541, 1631, 2686, 1631, 1631, 1704, 1705, 1706, 1705, 1705, 1639, 2938, 2951, 2868, 1639, 1639, 3035, 1640, 1639, 1639, 2965, 2689, 1639, 3038, 1639, 1701, 1702, 1701, 1701, 1541, 3039, 3040, 1631, 1635, 1639, 3043, 3044, 1635, 1635, 2868, 1636, 1635, 1635, 3045, 2940, 1635, 2965, 1635, 1704, 1705, 1706, 1705, 1705, 3046, 1638, 3047, 1638, 1635, 1638, 1639, 3048, 1639, 1639, 1075, 1706, 1706, 1706, 1706, 1701, 1702, 1701, 1701, 1701, 1702, 1701, 1701, 1709, 1709, 1709, 1709, 1541, 2957, 1635, 1541, 1635, 1635, 2245, 2245, 2245, 2245, 1639, 1712, 1709, 1709, 1712, 3050, 2248, 1714, 1714, 1714, 1714, 1710, 1712, 1709, 1709, 1712, 1769, 1769, 1769, 1769, 3051, 1710, 2900, 1635, 1639, 2900, 1710, 1770, 1639, 1639, 1541, 1640, 1639, 1639, 2941, 2929, 1639, 1710, 1639, 2942, 1780, 1771, 1074, 2930, 3053, 1642, 1074, 1642, 1639, 1642, 3055, 1074, 1074, 1074, 2263, 1796, 1796, 1796, 1796, 1074, 3056, 3057, 3058, 2264, 2264, 2264, 2264, 2264, 1797, 1797, 1797, 1797, 3059, 1639, 2516, 1639, 1639, 2516, 2954, 2901, 2247, 1795, 1074, 1074, 1074, 1074, 1798, 1074, 1801, 1801, 1801, 1801, 1074, 1074, 1074, 3060, 2275, 3062, 2223, 2705, 1074, 2223, 2705, 2141, 1639, 2276, 2276, 2276, 2276, 2276, 1817, 1611, 1074, 1717, 1612, 2279, 1074, 1095, 1095, 1095, 1095, 1074, 1074, 1074, 2280, 2280, 2280, 2280, 2280, 1824, 2523, 1074, 2283, 2523, 3047, 1074, 1832, 1832, 1832, 1832, 1074, 2284, 2284, 2284, 2284, 2284, 1091, 1091, 1091, 1091, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 3063, 2524, 3064, 1088, 2286, 2286, 2286, 2286, 1838, 1838, 1838, 1838, 3065, 1088, 3066, 1093, 3067, 2525, 3052, 1093, 2525, 3052, 3068, 1093, 1838, 1838, 1838, 1838, 3069, 1100, 2002, 2976, 3070, 1100, 1840, 1840, 1840, 1840, 2288, 2288, 2288, 2288, 1871, 1871, 1871, 1871, 2526, 2294, 2002, 1100, 1870, 1870, 1870, 1870, 1074, 1074, 2295, 2295, 2295, 2295, 2295, 3054, 1834, 1138, 3054, 3071, 3072, 1873, 1871, 1871, 1871, 1871, 1879, 1879, 1879, 1879, 1143, 1143, 1143, 1143, 1161, 1161, 1161, 1161, 1143, 1143, 1143, 1143, 1102, 1143, 1143, 1143, 1143, 1873, 3068, 3061, 3073, 1124, 3061, 2527, 3074, 1124, 2527, 1145, 1143, 1143, 1143, 1143, 3075, 1124, 3076, 1145, 3077, 3081, 1124, 2405, 1145, 1143, 1143, 1143, 1143, 3082, 1143, 1143, 1143, 1143, 3083, 3078, 2528, 1124, 3078, 1145, 3084, 3085, 1143, 1143, 1143, 1143, 1169, 1169, 1169, 1169, 1124, 3079, 1145, 2529, 3079, 1124, 2529, 1145, 1143, 1143, 1143, 1143, 3080, 2045, 1881, 2320, 2319, 1124, 3086, 1145, 3087, 2045, 3088, 2321, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 2530, 1124, 3089, 1145, 1143, 1143, 1143, 1143, 2322, 2323, 3083, 3090, 3091, 1143, 1143, 1143, 1143, 1124, 3092, 1145, 3093, 1124, 3094, 1145, 1143, 1143, 1143, 1143, 3096, 1124, 3095, 1145, 1143, 1143, 1143, 1143, 2324, 2325, 1124, 3097, 1145, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1124, 3098, 1145, 1143, 1143, 1143, 1143, 3095, 1124, 3100, 1145, 1143, 1143, 1143, 1143, 3101, 3102, 1124, 3103, 1145, 2326, 1124, 2327, 1145, 2329, 3104, 2696, 3105, 1124, 2696, 1145, 2328, 1912, 1912, 1912, 1912, 1124, 3106, 1145, 1143, 1143, 1143, 1143, 1901, 1901, 1901, 1901, 3107, 3108, 3109, 2330, 1901, 1901, 1901, 1901, 2697, 3110, 2333, 2446, 2331, 2448, 2463, 2468, 2332, 1124, 2483, 1145, 2487, 2742, 2779, 1145, 2742, 2779, 2334, 1903, 1903, 1903, 1903, 1145, 3099, 2335, 1166, 1166, 1166, 1166, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1917, 1917, 1917, 1917, 2405, 2446, 1164, 1923, 1924, 1925, 1923, 1918, 3099, 1164, 2490, 1168, 2344, 1541, 2492, 1168, 2494, 2336, 2497, 1168, 2499, 2345, 2345, 2345, 2345, 2345, 1925, 1924, 1925, 1925, 1928, 1928, 1928, 1928, 1204, 1204, 1204, 1204, 1208, 1208, 1208, 1208, 1932, 1932, 1932, 1932, 1210, 1210, 1210, 1210, 1214, 1214, 1214, 1214, 2955, 1205, 2501, 2504, 2510, 1205, 2514, 1905, 2524, 2348, 2526, 2528, 2530, 1211, 3185, 3186, 2956, 1211, 2349, 2349, 2349, 2349, 2349, 2007, 1330, 1331, 2007, 2015, 2015, 2015, 2015, 1363, 1363, 1363, 1363, 1368, 1368, 1368, 1368, 1990, 2022, 2022, 2022, 2022, 1385, 1385, 1385, 1385, 1389, 1389, 1389, 1389, 1364, 3187, 3192, 2092, 1364, 3193, 2095, 1540, 1930, 2033, 1406, 1407, 2033, 1386, 1540, 2781, 3114, 1386, 2781, 1544, 1934, 3125, 2034, 3194, 2032, 1406, 1407, 2032, 2033, 1406, 1407, 2033, 1411, 1412, 1413, 1411, 3195, 3196, 3197, 1410, 1990, 2034, 3114, 1540, 2448, 1414, 3198, 3125, 1312, 2053, 2054, 2053, 2053, 3112, 1410, 3199, 3113, 3135, 1410, 2017, 3200, 3201, 1415, 1410, 2053, 2054, 2053, 2053, 2427, 2427, 2427, 2427, 2024, 2069, 2069, 2069, 2069, 3132, 1410, 3140, 3202, 3112, 1410, 3113, 3135, 3205, 1415, 1488, 1488, 1488, 1488, 3208, 3209, 1490, 1488, 1488, 1488, 1488, 1493, 1492, 1492, 1492, 1492, 3132, 3210, 3140, 2067, 2067, 2067, 2067, 2067, 2067, 1490, 2067, 2067, 2067, 2067, 2067, 2067, 1490, 1496, 1496, 1496, 1496, 1493, 2086, 2087, 1532, 2086, 2086, 2087, 1532, 2086, 1584, 2152, 2152, 2152, 2152, 1585, 2458, 2459, 2460, 2157, 2157, 2157, 2157, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 1584, 2461, 3211, 3141, 2071, 1585, 2159, 2159, 2159, 2159, 3212, 3215, 3146, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 2092, 3159, 2473, 2095, 1540, 2474, 2452, 2461, 2453, 3141, 3170, 1540, 3216, 2454, 3219, 2470, 1544, 2475, 3146, 2476, 2455, 2471, 2472, 2164, 2164, 2164, 2164, 3159, 2473, 3220, 2900, 2474, 2452, 2900, 2453, 3217, 3267, 3170, 1537, 2454, 1540, 2470, 3173, 3218, 2475, 1541, 2476, 2455, 2471, 2472, 2170, 2170, 2170, 2170, 2556, 2556, 2556, 2556, 1537, 1584, 1623, 1623, 1623, 1623, 1585, 1541, 1541, 1540, 3173, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 2556, 2556, 2556, 2556, 2225, 2225, 2225, 2225, 1619, 1619, 1619, 1619, 2245, 2245, 2245, 2245, 3176, 1541, 1712, 1709, 1709, 1712, 1714, 1714, 1714, 1714, 3268, 3255, 1540, 1620, 3236, 2785, 1541, 1620, 2785, 2624, 3271, 1710, 3222, 3230, 2629, 1541, 3176, 1710, 2625, 2625, 2625, 2625, 2625, 2630, 2630, 2630, 2630, 2630, 2288, 2288, 2288, 2288, 1537, 1540, 2786, 1540, 1541, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 2632, 2286, 2286, 2286, 2286, 2662, 2662, 2662, 2662, 2633, 2633, 2633, 2633, 2633, 3223, 3177, 2788, 2227, 1138, 2788, 2635, 1143, 1143, 1143, 1143, 2247, 1100, 2641, 1540, 2636, 2636, 2636, 2636, 2636, 1541, 3272, 2642, 2642, 2642, 2642, 2642, 3177, 1541, 3273, 2564, 2789, 1124, 1541, 1145, 2881, 2881, 2881, 2881, 1541, 2664, 2664, 2664, 2664, 1537, 1584, 2556, 2556, 2556, 2556, 1585, 2900, 1541, 1540, 2900, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 2603, 1124, 3182, 1145, 1541, 1544, 3250, 1102, 1143, 1143, 1143, 1143, 3232, 1143, 1143, 1143, 1143, 2663, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1541, 3224, 3182, 1540, 1541, 1541, 3229, 1124, 3279, 1145, 3234, 3280, 1124, 3282, 1145, 2686, 1541, 1124, 2943, 1145, 1541, 1124, 1541, 1145, 2687, 2687, 2687, 2687, 2687, 2427, 2427, 2427, 2427, 1537, 1584, 1143, 1143, 1143, 1143, 1585, 3252, 1541, 1540, 1541, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1490, 2665, 2666, 3225, 1544, 3235, 1124, 2790, 1145, 2668, 2790, 2667, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 3237, 1143, 1143, 1143, 1143, 3241, 3248, 2792, 1540, 1541, 2792, 3231, 1143, 1143, 1143, 1143, 2791, 1124, 1541, 1145, 1541, 1124, 3233, 1145, 1541, 2604, 1124, 3283, 1145, 1143, 1143, 1143, 1143, 1541, 1541, 2669, 2793, 1124, 1537, 1145, 1143, 1143, 1143, 1143, 1541, 1143, 1143, 1143, 1143, 2670, 1143, 1143, 1143, 1143, 1124, 2981, 1145, 2671, 1143, 1143, 1143, 1143, 3238, 3249, 3240, 1124, 2672, 1145, 2795, 2673, 1124, 2795, 1145, 2797, 3256, 1124, 2797, 1145, 1143, 1143, 1143, 1143, 1717, 1124, 3245, 1145, 1143, 1143, 1143, 1143, 3242, 1541, 2799, 2803, 2674, 2799, 2803, 2796, 1541, 2675, 3243, 2984, 2798, 1124, 1541, 1145, 2995, 2995, 2995, 2995, 2677, 1124, 2676, 1145, 2986, 1488, 1488, 1488, 1488, 2678, 2689, 2800, 2463, 2804, 2988, 2807, 2804, 2679, 2807, 2690, 2690, 2690, 2690, 2690, 2764, 2764, 2764, 2764, 2764, 2764, 1490, 2680, 3281, 2810, 2814, 3286, 2810, 2883, 2883, 2883, 2883, 3239, 2805, 3244, 2808, 2817, 2819, 2815, 2817, 2819, 3251, 2821, 2681, 1584, 2821, 3287, 2823, 3288, 1585, 2823, 2814, 1540, 2468, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 2815, 2818, 2820, 2480, 3290, 2828, 2480, 2822, 2828, 3291, 2832, 2833, 2824, 2832, 2833, 2836, 2838, 2840, 2836, 2838, 2840, 2843, 2845, 2847, 2843, 2845, 2847, 2850, 1540, 3292, 2850, 3293, 2116, 2506, 2483, 3294, 2506, 3295, 2884, 2487, 2834, 3296, 3297, 1541, 2490, 2492, 2494, 3298, 3299, 3300, 2497, 2499, 2501, 3301, 2851, 3302, 2504, 2851, 1537, 1584, 2855, 1541, 2133, 2855, 1585, 2859, 3304, 1540, 2859, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 2516, 3305, 2860, 2516, 2852, 2860, 2864, 3325, 2866, 2864, 2510, 2866, 3253, 2870, 2872, 2514, 2870, 2872, 2874, 2876, 2877, 2874, 2876, 2877, 2903, 2903, 2903, 2903, 1540, 2141, 3259, 2861, 3326, 3329, 3330, 2865, 3331, 2867, 2881, 2881, 2881, 2881, 2524, 2526, 2697, 2958, 3333, 2528, 2530, 2878, 2883, 2883, 2883, 2883, 1541, 1541, 2960, 3334, 1537, 2903, 2903, 2903, 2903, 3036, 2961, 3335, 3036, 1541, 3042, 2958, 3337, 3042, 2969, 2969, 2969, 2969, 1541, 2971, 2971, 2971, 2971, 2662, 2662, 2662, 2662, 3030, 3030, 3030, 3030, 3338, 3339, 3340, 3037, 1540, 1138, 3343, 3344, 2697, 2904, 1584, 2970, 3341, 3260, 3336, 1585, 2972, 3336, 1540, 3342, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 2981, 3345, 3346, 3347, 2958, 2921, 2984, 3348, 3349, 2982, 2982, 2982, 2982, 2982, 2945, 2985, 2985, 2985, 2985, 2985, 2986, 3012, 3012, 3012, 3012, 2988, 3351, 2002, 1540, 2987, 2987, 2987, 2987, 2987, 2989, 2989, 2989, 2989, 2989, 3353, 1541, 2664, 2664, 2664, 2664, 2916, 1124, 3355, 1145, 2881, 2881, 2881, 2881, 2002, 1143, 1143, 1143, 1143, 1537, 1584, 1143, 1143, 1143, 1143, 1585, 3356, 1124, 1540, 1145, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 2603, 1124, 3257, 1145, 3357, 1544, 3358, 1124, 3359, 1145, 3258, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 3360, 1143, 1143, 1143, 1143, 3341, 1540, 1143, 1143, 1143, 1143, 3052, 3354, 1124, 3052, 1145, 3361, 1124, 2045, 1145, 3014, 1124, 3013, 1145, 3054, 3363, 1124, 3054, 1145, 3364, 3061, 3365, 1124, 3061, 1145, 3366, 1537, 1584, 1143, 1143, 1143, 1143, 1585, 2742, 3367, 1540, 2742, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 2779, 3015, 3017, 2779, 1544, 3016, 1124, 2045, 1145, 3019, 3018, 1143, 1143, 1143, 1143, 2405, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1540, 2446, 3368, 2962, 1143, 1143, 1143, 1143, 1124, 3369, 1145, 2781, 3020, 1124, 2781, 1145, 3342, 1124, 3370, 1145, 3371, 1124, 3372, 1145, 1143, 1143, 1143, 1143, 3373, 1124, 1537, 1145, 3027, 3027, 3027, 3027, 3028, 3028, 3028, 3028, 2448, 1143, 1143, 1143, 1143, 3116, 3375, 3022, 3116, 1124, 3021, 1145, 3350, 3024, 3376, 3350, 3377, 1124, 3378, 1145, 3374, 1124, 3379, 1145, 3380, 3025, 1124, 3023, 1145, 3032, 3032, 3032, 3032, 3381, 2786, 2883, 2883, 2883, 2883, 3382, 3033, 3026, 1488, 1488, 1488, 1488, 3374, 2786, 2789, 1488, 1488, 1488, 1488, 3117, 3120, 2791, 3117, 3120, 3029, 3386, 2793, 2764, 2764, 2764, 2764, 2764, 2764, 1490, 2764, 2764, 2764, 2764, 2764, 2764, 1490, 1584, 3122, 2796, 3124, 3122, 1585, 3124, 3118, 2789, 3127, 3386, 2798, 3127, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 3129, 3131, 2803, 3129, 3131, 2803, 3134, 2800, 3137, 3134, 2791, 3137, 2793, 2810, 3138, 2805, 2810, 3138, 2796, 3142, 3144, 3148, 3142, 3144, 3148, 3150, 2808, 2818, 3150, 2798, 2800, 2463, 2820, 3152, 2822, 2805, 3152, 2808, 3154, 2824, 2834, 3154, 2468, 3139, 3155, 3111, 2852, 3155, 3143, 3145, 2818, 2861, 3157, 2828, 2820, 3157, 2828, 3160, 1537, 2865, 3160, 2832, 2822, 3163, 2832, 2836, 3163, 2824, 2836, 2838, 3409, 2840, 2838, 3156, 2840, 3164, 2843, 2845, 3164, 2843, 2845, 3158, 2483, 2867, 2847, 3166, 3161, 2847, 3166, 2878, 2487, 3426, 2834, 2850, 2490, 3427, 2850, 3409, 2492, 3169, 2494, 3428, 3169, 3429, 3165, 2497, 2499, 2855, 3171, 2859, 2855, 3171, 2859, 2501, 3167, 3175, 3179, 3181, 3175, 3179, 3181, 2870, 2504, 2872, 2870, 3430, 2872, 2874, 2852, 2876, 2874, 3184, 2876, 3395, 3184, 3431, 2510, 3172, 2514, 2883, 2883, 2883, 2883, 3432, 2861, 2865, 2867, 3433, 3352, 3434, 2524, 3352, 2526, 3436, 3078, 3437, 2528, 3078, 2530, 3395, 2878, 3188, 3189, 3190, 3188, 3191, 3191, 3191, 3191, 3203, 3203, 3203, 3203, 3204, 3204, 3204, 3204, 3206, 3206, 3206, 3206, 2903, 2903, 2903, 2903, 2903, 2903, 2903, 2903, 3213, 3213, 3213, 3213, 2883, 2883, 2883, 2883, 3188, 3189, 3190, 3188, 3191, 3191, 3191, 3191, 3203, 3203, 3203, 3203, 3438, 1541, 3439, 3269, 3435, 1541, 3269, 3435, 3284, 1541, 3441, 3284, 3398, 1541, 3204, 3204, 3204, 3204, 3206, 3206, 3206, 3206, 2903, 2903, 2903, 2903, 3213, 3213, 3213, 3213, 2958, 1541, 3270, 2958, 3442, 1541, 3285, 3443, 3398, 1541, 3444, 2960, 3207, 1541, 3262, 2959, 3445, 3214, 1584, 3446, 3450, 3451, 2959, 1585, 2958, 3452, 1540, 2958, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 3399, 2969, 2969, 2969, 2969, 3453, 3274, 3274, 3274, 3274, 1540, 3275, 3328, 1540, 3246, 3328, 2971, 2971, 2971, 2971, 3278, 3278, 3278, 3278, 3247, 3254, 3399, 3079, 1540, 2970, 3079, 3276, 3276, 3276, 3276, 3221, 3277, 3496, 3080, 3497, 2958, 3037, 3500, 2958, 2972, 3289, 3289, 3289, 3289, 2995, 2995, 2995, 2995, 3303, 3303, 3303, 3303, 1541, 1537, 3226, 3226, 3226, 1541, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 1541, 3226, 3404, 3228, 3012, 3012, 3012, 3012, 3306, 3306, 3306, 3306, 3226, 3226, 3226, 3226, 3226, 1541, 3307, 3307, 3307, 3307, 3457, 1143, 1143, 1143, 1143, 3501, 3404, 1124, 3455, 1145, 3502, 1124, 3042, 1145, 3503, 3042, 3420, 3226, 3423, 3226, 3226, 1124, 1541, 1145, 3506, 3461, 1124, 3511, 1145, 3309, 3309, 3309, 3309, 3030, 3030, 3030, 3030, 3362, 3362, 3362, 3362, 2697, 3420, 3469, 3423, 1541, 3226, 3226, 3226, 2958, 1143, 1143, 1143, 1143, 1124, 1541, 1145, 2959, 3308, 2959, 2960, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 1143, 1143, 1143, 1143, 2958, 3464, 1124, 1541, 1145, 1143, 1143, 1143, 1143, 1541, 3313, 3313, 3313, 3313, 1143, 1143, 1143, 1143, 3514, 3384, 3474, 1124, 3384, 1145, 1540, 3317, 3317, 3317, 3317, 1541, 1124, 1541, 1145, 3387, 3310, 3314, 3387, 1145, 3456, 1124, 3264, 1145, 3323, 3323, 3323, 3323, 1541, 3462, 3385, 1541, 1124, 3463, 1145, 3324, 3265, 1584, 3116, 3311, 3390, 3116, 1585, 3390, 3388, 1540, 3516, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 3318, 3318, 3318, 3318, 1544, 3312, 1541, 3475, 3466, 3315, 2786, 1541, 3118, 3316, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1541, 3471, 3517, 1124, 3473, 1145, 1540, 1143, 1143, 1143, 1143, 1541, 3027, 3027, 3027, 3027, 1541, 1124, 1541, 1145, 1541, 1124, 3120, 1145, 3518, 3120, 3522, 3266, 3028, 3028, 3028, 3028, 1124, 3476, 1145, 3435, 1537, 1124, 3435, 1145, 3458, 1143, 1143, 1143, 1143, 3032, 3032, 3032, 3032, 1541, 3481, 2789, 1541, 1124, 3465, 1145, 3033, 3122, 3320, 3124, 3122, 3525, 3124, 3472, 1584, 1541, 1124, 3319, 1145, 1585, 3391, 3127, 3470, 3391, 3127, 3321, 3467, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 3129, 1541, 2791, 3129, 2793, 3131, 3526, 3393, 3131, 3134, 3393, 3137, 3134, 3483, 3137, 3392, 2796, 3397, 3401, 3403, 3397, 3401, 3403, 3148, 3322, 3150, 3148, 3152, 3150, 2798, 3152, 1541, 3527, 3480, 2800, 3383, 3394, 1541, 2805, 3154, 2808, 3406, 3154, 3543, 3406, 3477, 3139, 3143, 3145, 1541, 3408, 1541, 2818, 3408, 2820, 1541, 2822, 3411, 1537, 3163, 3411, 3413, 3163, 3415, 3413, 3544, 3415, 3037, 2824, 3169, 3156, 3416, 3169, 3419, 3416, 3175, 3419, 3421, 3175, 3158, 3421, 3179, 3181, 3545, 3179, 3181, 3161, 3546, 2834, 3479, 3165, 3424, 3167, 3184, 3424, 3485, 3184, 3341, 2852, 3547, 3417, 3486, 3172, 3488, 2861, 3548, 3422, 3550, 3482, 1717, 2865, 2867, 3188, 3189, 3190, 3188, 3190, 3189, 3190, 3190, 3425, 3551, 2878, 3190, 3189, 3190, 3190, 3191, 3191, 3191, 3191, 3203, 3203, 3203, 3203, 3440, 3440, 3440, 3440, 3206, 3206, 3206, 3206, 3206, 3206, 3206, 3206, 3213, 3213, 3213, 3213, 3447, 3447, 3447, 3447, 3449, 3449, 3449, 3449, 3468, 3468, 3468, 3468, 3468, 3468, 3440, 3440, 3440, 3440, 3206, 3206, 3206, 3206, 3478, 3478, 3478, 3478, 3447, 3447, 3447, 3447, 3505, 1541, 3552, 3499, 3328, 1541, 3499, 3328, 3549, 1541, 3553, 3549, 1541, 1541, 3449, 3449, 3449, 3449, 2958, 3554, 3274, 3274, 3274, 3274, 2958, 3275, 3555, 3556, 3558, 3262, 2959, 1541, 3270, 3037, 3559, 3262, 2959, 2959, 3278, 3278, 3278, 3278, 2958, 2959, 3448, 1584, 1974, 3562, 2958, 3507, 1585, 3336, 3507, 1540, 3336, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 3487, 1540, 3563, 3509, 3564, 3484, 3509, 1540, 3276, 3276, 3276, 3276, 3508, 3277, 3504, 3504, 3504, 3504, 3284, 3565, 3510, 3284, 3510, 3510, 3510, 3510, 3510, 3510, 1540, 2002, 2002, 2958, 3289, 3289, 3289, 3289, 3566, 2958, 3512, 3512, 3512, 3512, 3513, 3513, 3513, 3513, 3285, 3454, 3515, 3515, 3515, 3515, 3519, 3519, 3519, 3519, 3567, 3568, 1537, 3226, 3226, 3226, 3569, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3570, 3226, 3520, 3228, 3523, 3523, 3523, 3523, 3524, 3524, 3524, 3524, 3226, 3226, 3226, 3226, 3226, 3303, 3303, 3303, 3303, 3306, 3306, 3306, 3306, 3571, 3528, 3307, 3307, 3307, 3307, 3560, 3572, 1143, 1143, 1143, 1143, 3557, 3573, 3226, 3557, 3226, 3226, 3574, 3561, 3560, 1124, 3561, 1145, 2045, 3350, 3521, 1124, 3350, 1145, 2045, 3352, 3575, 1124, 3352, 1145, 3576, 3309, 3309, 3309, 3309, 3577, 3578, 3226, 3226, 3226, 3226, 3226, 3226, 3579, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 1124, 3226, 1145, 3460, 3227, 3529, 1143, 1143, 1143, 1143, 3580, 3227, 3226, 3226, 3226, 3226, 3226, 3581, 3531, 3531, 3531, 3531, 3582, 3313, 3313, 3313, 3313, 3535, 3535, 3535, 3535, 1124, 3583, 1145, 3584, 1143, 1143, 1143, 1143, 3226, 3227, 3226, 3226, 3532, 3118, 1145, 3139, 3143, 3314, 3145, 1145, 3595, 1142, 1143, 1143, 1143, 1143, 3156, 3158, 3161, 1124, 3165, 1145, 3167, 3587, 3530, 3172, 3587, 3226, 3226, 3226, 3489, 3362, 3362, 3362, 3362, 1585, 3595, 1124, 2959, 1145, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 3588, 3533, 3385, 3612, 2958, 3534, 3521, 3537, 3537, 3537, 3537, 3317, 3317, 3317, 3317, 3318, 3318, 3318, 3318, 1143, 1143, 1143, 1143, 3540, 3540, 3540, 3540, 3588, 1540, 3536, 3613, 3615, 3538, 3616, 1145, 3617, 1124, 3618, 1145, 3619, 1124, 3620, 1145, 3621, 1124, 3622, 1145, 3623, 1124, 3435, 1145, 3624, 3435, 3625, 1143, 1143, 1143, 1143, 3265, 3489, 3542, 3542, 3542, 3542, 1585, 3590, 3598, 2959, 3590, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 1124, 3539, 1145, 3628, 2958, 3629, 1124, 3605, 1145, 3323, 3323, 3323, 3323, 3598, 3630, 3388, 3631, 3632, 3390, 3592, 3324, 3390, 3592, 3594, 1584, 3633, 3594, 3397, 1540, 1585, 3397, 3596, 3401, 3605, 3596, 3401, 3541, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 1541, 3493, 3660, 3118, 3392, 1541, 3403, 3599, 3394, 3403, 3599, 3665, 3139, 1541, 3265, 2958, 3597, 3143, 1541, 3406, 1541, 3408, 3406, 2958, 3408, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 3145, 3600, 3601, 3411, 2958, 3601, 3411, 3413, 3415, 3635, 3413, 3415, 3585, 3156, 3604, 3158, 3419, 3604, 3607, 3419, 3613, 3607, 3608, 1537, 3611, 3608, 3637, 3611, 3636, 3641, 3666, 3602, 3161, 3647, 1541, 3270, 3165, 3167, 3614, 3614, 3614, 3614, 3667, 3417, 3668, 3172, 3669, 3422, 3670, 3672, 3677, 3609, 3678, 3425, 3440, 3440, 3440, 3440, 2958, 1584, 3626, 3626, 3626, 3626, 1585, 1541, 1541, 1540, 1541, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 3626, 3626, 3626, 3626, 1544, 3627, 3627, 3627, 3627, 3447, 3447, 3447, 3447, 3447, 3447, 3447, 3447, 3449, 3449, 3449, 3449, 3614, 3614, 3614, 3614, 1541, 3639, 1541, 1540, 3638, 3638, 3638, 3638, 1541, 1541, 1541, 3642, 3643, 1541, 1541, 3499, 1541, 1541, 3499, 3495, 1541, 1541, 3468, 3468, 3468, 3468, 3468, 3468, 3645, 3645, 3645, 3645, 1541, 1537, 3626, 3626, 3626, 3626, 1541, 1541, 1541, 3679, 3640, 1717, 3270, 1541, 3648, 1541, 3649, 3442, 1584, 1541, 3657, 3683, 3650, 1585, 3652, 3656, 1540, 3684, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 3644, 3688, 3651, 3690, 3704, 3705, 3626, 3626, 3626, 3626, 3706, 3707, 3708, 3653, 3659, 3627, 3627, 3627, 3627, 3711, 3646, 3654, 3655, 1541, 3447, 3447, 3447, 3447, 1540, 3658, 3671, 3634, 1541, 2958, 3504, 3504, 3504, 3504, 3712, 3549, 3709, 1541, 3549, 3709, 2960, 3710, 3713, 3507, 3710, 3714, 3507, 3715, 2961, 3512, 3512, 3512, 3512, 2958, 1537, 3226, 3226, 3226, 3717, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3508, 3226, 3718, 3460, 3227, 3479, 1540, 3673, 2002, 3720, 3673, 3227, 3226, 3226, 3226, 3226, 3226, 3513, 3513, 3513, 3513, 3724, 3557, 3725, 3674, 3557, 3674, 3674, 3674, 3674, 3674, 3674, 3509, 2045, 3716, 3509, 2958, 3716, 3727, 3226, 3227, 3226, 3226, 3675, 3561, 3719, 3675, 3561, 3719, 3510, 3729, 3510, 3510, 3510, 3510, 3510, 3510, 3730, 3723, 3731, 3510, 3723, 3510, 3510, 3510, 3510, 3510, 3510, 3226, 3226, 3226, 3226, 3226, 3226, 3732, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3385, 3226, 3388, 3460, 3227, 3515, 3515, 3515, 3515, 3392, 3394, 3227, 3226, 3226, 3226, 3226, 3226, 3417, 3680, 3680, 3680, 3680, 3519, 3519, 3519, 3519, 3535, 3535, 3535, 3535, 3685, 3685, 3685, 3685, 3523, 3523, 3523, 3523, 3422, 3226, 3227, 3226, 3226, 3681, 3425, 3748, 3750, 3520, 3524, 3524, 3524, 3524, 3736, 3751, 3754, 3686, 3687, 3687, 3687, 3687, 3689, 3689, 3689, 3689, 3535, 3535, 3535, 3535, 3226, 3226, 3226, 2958, 1143, 1143, 1143, 1143, 3755, 3728, 3736, 2958, 3728, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 3757, 3682, 3758, 3759, 2958, 3521, 1124, 3760, 1145, 3761, 3531, 3531, 3531, 3531, 3693, 3693, 3693, 3693, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 3762, 3532, 3763, 1145, 1541, 1142, 3745, 3721, 3691, 1124, 3721, 1145, 1541, 1124, 1541, 1145, 1541, 1124, 3722, 1145, 1541, 1124, 1541, 1145, 3265, 3489, 3537, 3537, 3537, 3537, 1585, 1541, 3745, 2959, 1541, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 3692, 1541, 3788, 3768, 2958, 3682, 3538, 3695, 1145, 1541, 3694, 3697, 3697, 3697, 3697, 3698, 3698, 3698, 3698, 3769, 3776, 3696, 3799, 3540, 3540, 3540, 3540, 3770, 1540, 3702, 3702, 3702, 3702, 3767, 1541, 3800, 1142, 1541, 3777, 3771, 1124, 1541, 3699, 3703, 3703, 3703, 3703, 3803, 1124, 3778, 1145, 3805, 3587, 3784, 1124, 3587, 1145, 3809, 3265, 3489, 3542, 3542, 3542, 3542, 1585, 3734, 1541, 2959, 3734, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 3810, 3783, 3385, 1125, 2958, 3700, 1124, 3781, 1145, 3590, 3592, 3594, 3590, 3592, 3594, 3735, 3738, 1584, 3701, 3738, 1133, 3739, 1585, 3742, 3739, 3779, 3742, 3811, 1540, 1541, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 3780, 3388, 3392, 3394, 3614, 3614, 3614, 3614, 3597, 3756, 3756, 3756, 3756, 3740, 3744, 3600, 3604, 3744, 3812, 3604, 3607, 3265, 3489, 3607, 1717, 3747, 3611, 1585, 3747, 3611, 2958, 3733, 2958, 2958, 2958, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 3782, 3602, 1541, 3417, 2958, 1541, 3813, 3422, 3626, 3626, 3626, 3626, 3609, 3425, 3824, 1857, 1537, 3627, 3627, 3627, 3627, 3764, 3764, 3764, 3764, 3765, 3765, 3765, 3765, 3756, 3756, 3756, 3756, 3760, 3764, 3764, 3764, 3764, 3804, 3765, 3765, 3765, 3765, 3815, 3825, 3675, 1541, 1541, 3675, 3827, 3830, 1541, 3816, 3785, 3828, 3786, 1541, 3828, 3265, 1584, 3693, 3693, 3693, 3693, 1585, 3673, 3831, 1540, 3673, 1542, 1543, 1540, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 3833, 2002, 3838, 3674, 1544, 3674, 3674, 3674, 3674, 3674, 3674, 3829, 3806, 2045, 3829, 3806, 3680, 3680, 3680, 3680, 3685, 3685, 3685, 3685, 3697, 3697, 3697, 3697, 1540, 3674, 3727, 3674, 3674, 3674, 3674, 3674, 3674, 3687, 3687, 3687, 3687, 3681, 3839, 3709, 3840, 3686, 3709, 3664, 3814, 3814, 3814, 3814, 3689, 3689, 3689, 3689, 3841, 3842, 1537, 1584, 3817, 3817, 3817, 3817, 1585, 3710, 3597, 1540, 3710, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 3818, 3818, 3818, 3818, 3832, 3846, 1124, 3832, 1145, 3600, 3602, 3682, 3693, 3693, 3693, 3693, 3609, 1125, 3852, 3700, 3820, 3820, 3820, 3820, 3854, 1124, 3834, 1145, 1540, 3834, 3716, 3846, 3701, 3716, 1133, 3697, 3697, 3697, 3697, 3703, 3703, 3703, 3703, 3719, 3855, 3821, 3719, 1145, 3215, 3766, 3826, 3826, 3826, 3826, 3723, 3858, 3859, 3723, 1537, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3772, 3752, 3772, 3773, 3772, 3728, 3721, 3863, 3728, 3721, 3881, 3772, 3752, 3752, 3752, 3752, 3752, 3722, 3789, 3822, 2093, 1540, 1143, 1143, 1143, 1143, 3888, 3889, 1540, 1143, 1143, 1143, 1143, 3698, 3698, 3698, 3698, 3892, 3896, 3752, 3772, 3752, 3752, 3836, 3900, 3806, 3836, 1124, 3806, 1145, 3851, 3851, 3851, 3851, 1124, 3837, 1145, 1540, 1124, 3903, 3699, 3756, 3756, 3756, 3756, 2310, 2045, 3914, 3752, 3752, 3752, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3774, 3753, 3774, 3775, 3774, 3819, 3702, 3702, 3702, 3702, 3915, 3774, 3753, 3753, 3753, 3753, 3753, 3823, 1717, 3916, 3735, 3845, 3738, 3848, 3845, 3738, 3848, 3740, 3852, 3742, 1584, 1124, 3742, 1145, 3744, 1585, 3922, 3744, 3923, 3753, 3774, 3753, 3753, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 3735, 3597, 3740, 3857, 3857, 3857, 3857, 3910, 3600, 3927, 3910, 3929, 3849, 3602, 3747, 3849, 1541, 3747, 3753, 3753, 3753, 3489, 3861, 3861, 3861, 3861, 1585, 3829, 1541, 2959, 3829, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 3850, 3891, 3609, 3912, 2958, 1541, 3912, 3945, 3843, 3764, 3764, 3764, 3764, 3765, 3765, 3765, 3765, 1537, 3851, 3851, 3851, 3851, 4091, 4091, 4091, 4091, 2093, 1540, 1540, 4091, 4091, 4091, 4091, 3832, 1540, 1541, 3832, 1541, 3950, 1541, 4091, 4091, 4091, 4091, 1541, 3932, 1541, 3787, 4091, 4091, 4091, 4091, 3913, 3884, 1541, 3913, 1541, 1541, 3265, 3489, 3954, 1541, 3955, 1540, 1585, 1541, 2184, 2958, 3957, 2958, 2958, 2958, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 3931, 3958, 3834, 3865, 2958, 3834, 3959, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1541, 3933, 3940, 3867, 3866, 1541, 3934, 3845, 3935, 1541, 3845, 3960, 3815, 1541, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 3890, 3890, 3890, 3890, 3868, 3857, 3857, 3857, 3857, 1541, 3966, 3967, 3836, 1541, 3735, 3836, 1541, 3265, 3489, 3850, 3972, 3941, 1541, 1585, 3837, 3927, 2958, 3973, 2958, 2958, 2958, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 3894, 3894, 3894, 3894, 2958, 3255, 3861, 3861, 3861, 3861, 3895, 3895, 3895, 3895, 1541, 4091, 4091, 4091, 4091, 3869, 1541, 3918, 3936, 1541, 3918, 3870, 3814, 3814, 3814, 3814, 3945, 3987, 1541, 3826, 3826, 3826, 3826, 3905, 3905, 3905, 3905, 3857, 3857, 3857, 3857, 3861, 3861, 3861, 3861, 3881, 3919, 3890, 3890, 3890, 3890, 3885, 3989, 3979, 3265, 3789, 3789, 3789, 1142, 3985, 3789, 3789, 3789, 3790, 3789, 3789, 3789, 3789, 3791, 3789, 3789, 3792, 3875, 3793, 1543, 3792, 3794, 3794, 3794, 3794, 3794, 3794, 3795, 3789, 3789, 3789, 3789, 3796, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3789, 3792, 3789, 3789, 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, 3789, 3789, 3798, 3801, 3801, 3801, 3802, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3802, 4091, 4091, 4091, 4091, 1717, 3949, 3801, 3801, 3802, 3801, 3801, 3801, 4091, 4091, 4091, 4091, 3910, 1541, 2184, 3910, 1541, 4091, 4091, 4091, 4091, 3897, 3897, 3897, 3897, 1541, 3901, 3901, 3901, 3901, 3801, 3802, 3801, 3801, 1541, 3990, 1541, 1717, 3817, 3817, 3817, 3817, 3951, 1541, 3912, 3885, 3898, 3912, 3924, 3924, 3924, 3924, 3992, 3913, 3965, 2184, 3913, 3965, 3993, 3801, 3801, 3801, 1584, 1124, 3956, 1145, 3976, 1585, 1541, 1541, 1540, 3873, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 3818, 3818, 3818, 3818, 3980, 3978, 3874, 1143, 1143, 1143, 1143, 3878, 3994, 3899, 1143, 1143, 1143, 1143, 3820, 3820, 3820, 3820, 3991, 3988, 3791, 1124, 3902, 1145, 1540, 3919, 3885, 3982, 1124, 1584, 1145, 3885, 1541, 3987, 1585, 1124, 3925, 1145, 3977, 3821, 3864, 1145, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 3965, 3848, 4014, 3965, 3848, 1537, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3871, 3856, 3871, 3872, 3871, 4007, 3906, 3904, 3740, 1541, 1541, 3871, 3856, 3856, 3856, 3856, 3856, 3899, 1143, 1143, 1143, 1143, 3917, 3921, 2093, 1540, 3921, 2093, 1540, 2093, 1540, 3492, 1540, 4020, 4009, 1540, 1537, 1540, 4035, 3856, 3871, 3856, 3856, 1124, 1717, 1145, 3924, 3924, 3924, 3924, 4005, 4006, 3850, 3894, 3894, 3894, 3894, 3895, 3895, 3895, 3895, 1540, 1541, 1541, 1540, 4038, 1540, 3885, 3856, 3856, 3856, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3876, 3862, 3876, 3877, 3876, 3907, 3897, 3897, 3897, 3897, 1541, 3876, 3862, 3862, 3862, 3862, 3862, 3905, 3905, 3905, 3905, 3901, 3901, 3901, 3901, 1143, 1143, 1143, 1143, 1541, 4012, 3898, 4023, 3937, 3905, 3905, 3905, 3905, 3885, 3862, 3876, 3862, 3862, 1584, 3970, 1541, 3921, 3970, 1585, 3921, 1124, 1541, 1145, 1541, 1541, 3663, 2088, 2088, 2088, 2088, 2088, 2088, 2089, 3971, 3971, 3971, 3971, 4010, 3862, 3862, 3862, 3489, 4025, 3919, 4034, 3850, 1585, 4008, 3663, 2959, 3899, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 3963, 3963, 3963, 3963, 2958, 1541, 3885, 3970, 3961, 4024, 3970, 4026, 3902, 4031, 1143, 1143, 1143, 1143, 4044, 3968, 3924, 3924, 3924, 3924, 3663, 3964, 4042, 1145, 1540, 4048, 1537, 3879, 3924, 3924, 3924, 3924, 3919, 4062, 4047, 1124, 3885, 1145, 3885, 3971, 3971, 3971, 3971, 3924, 3924, 3924, 3924, 3981, 3981, 3981, 3981, 3885, 3663, 3885, 3265, 2958, 1541, 1541, 4041, 4068, 1541, 4061, 4071, 2958, 1541, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 2958, 3995, 3995, 3995, 3995, 2958, 3962, 3997, 3997, 3997, 3997, 3963, 3963, 3963, 3963, 4000, 4000, 4000, 4000, 3971, 3971, 3971, 3971, 4049, 4036, 3663, 3996, 4003, 4003, 4003, 4003, 1541, 3998, 4053, 1145, 3791, 3964, 4067, 1145, 4066, 1142, 4004, 4004, 4004, 4004, 3880, 4003, 4003, 4003, 4003, 4073, 4076, 4018, 4018, 4018, 4018, 4078, 4080, 4082, 3265, 3789, 3789, 3789, 1541, 4083, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 3789, 4019, 3789, 4064, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3789, 3789, 3789, 3789, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3789, 3789, 3798, 3789, 3789, 3789, 3885, 3791, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 1541, 3885, 3885, 1541, 3885, 4004, 4004, 4004, 4004, 1541, 4085, 4087, 3789, 3789, 3789, 3789, 3789, 4089, 1143, 1143, 1143, 1143, 1541, 3995, 3995, 3995, 3995, 4000, 4000, 4000, 4000, 3997, 3997, 3997, 3997, 4021, 4021, 4021, 4021, 3789, 4090, 3789, 3789, 1124, 3791, 1145, 4069, 1536, 3996, 4000, 4000, 4000, 4000, 1536, 4072, 3885, 3998, 4070, 1145, 3885, 1142, 4003, 4003, 4003, 4003, 4063, 4084, 4075, 3789, 3789, 3789, 3789, 3789, 3789, 3885, 1536, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 3792, 3885, 2091, 1543, 3792, 3885, 3999, 4018, 4018, 4018, 4018, 3792, 3789, 3789, 3789, 3789, 3796, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4039, 4039, 4039, 4039, 3749, 4074, 4086, 4019, 1098, 4043, 4043, 4043, 4043, 1098, 3789, 3792, 3789, 3789, 4054, 4054, 4054, 4054, 4081, 1139, 4077, 4040, 1541, 1145, 4052, 4052, 4052, 4052, 1173, 3860, 1139, 1541, 2627, 1173, 4050, 4050, 4050, 4050, 4088, 3789, 3789, 3789, 3789, 3789, 3789, 2623, 2623, 3789, 3789, 3789, 3790, 3789, 3789, 3789, 3789, 3885, 3789, 3789, 3792, 4051, 3793, 1543, 3792, 3794, 3794, 3794, 3794, 3794, 3794, 3795, 3789, 3789, 3789, 3789, 3796, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3789, 3792, 3789, 3789, 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, 3789, 3789, 3798, 3789, 3789, 3789, 2622, 2091, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 2091, 2621, 1536, 1541, 4039, 4039, 4039, 4039, 1536, 3676, 2618, 3886, 3789, 3789, 3789, 3789, 3789, 3807, 1143, 1143, 1143, 1143, 4052, 4052, 4052, 4052, 2616, 2615, 2614, 4040, 3676, 1145, 4055, 4055, 4055, 4055, 2611, 2610, 3807, 3789, 2609, 3789, 3789, 1124, 1640, 1145, 1636, 1142, 1632, 1541, 4050, 4050, 4050, 4050, 4052, 4052, 4052, 4052, 1270, 1287, 1402, 1438, 1529, 1270, 1287, 1402, 1438, 1529, 3789, 3789, 3789, 3789, 3789, 3789, 2607, 4051, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 3789, 2606, 1541, 2096, 3789, 4022, 4079, 4079, 4079, 4079, 2563, 3789, 3789, 3789, 3789, 3789, 3789, 1079, 2562, 2561, 2560, 2559, 1432, 1541, 1432, 1079, 1096, 1096, 1096, 1432, 1079, 1162, 1162, 1162, 1170, 1170, 1170, 2558, 1401, 3789, 3789, 3789, 3789, 1209, 1209, 1209, 1401, 1096, 1511, 2552, 2551, 1401, 1162, 1511, 1511, 1170, 1215, 1215, 1215, 1369, 1369, 1369, 1676, 2550, 1209, 2549, 2548, 1676, 3789, 3789, 3789, 1584, 1390, 1390, 1390, 2544, 1585, 1215, 2543, 1540, 1369, 1540, 1541, 1540, 2442, 2442, 2442, 2442, 2442, 2442, 1587, 2542, 2541, 1390, 1497, 1497, 1497, 1539, 2540, 1741, 1539, 1624, 1624, 1624, 1741, 1539, 1715, 1715, 1715, 1749, 1749, 1762, 1749, 1808, 2539, 1497, 1762, 1749, 1808, 1540, 1079, 1098, 1624, 1096, 1096, 1096, 1098, 1715, 1079, 1173, 1931, 1935, 1270, 1079, 1173, 1931, 1935, 1270, 3930, 2538, 1287, 2018, 2025, 1402, 1096, 1287, 2018, 2025, 1402, 1537, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3938, 3926, 3938, 3939, 3938, 1841, 1841, 1841, 1162, 1162, 1162, 3938, 3926, 3926, 3926, 3926, 3926, 1170, 1170, 1170, 1438, 2537, 1209, 1209, 1209, 1438, 1841, 2536, 2535, 1162, 1215, 1215, 1215, 1369, 1369, 1369, 2534, 2533, 1170, 3926, 3938, 3926, 3926, 1209, 1390, 1390, 1390, 1401, 2072, 2532, 1432, 1215, 1432, 2072, 1369, 1401, 1340, 1432, 1511, 2444, 1401, 2441, 1529, 1511, 1511, 1390, 1340, 1529, 3926, 3926, 3926, 3489, 1340, 1497, 1497, 1497, 1585, 1340, 2440, 2959, 2439, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 2073, 2438, 2228, 1497, 2958, 2073, 1539, 2228, 2073, 1539, 2096, 2096, 2437, 2096, 1539, 1624, 1624, 1624, 2096, 1676, 1715, 1715, 1715, 2250, 1676, 1741, 1749, 1749, 1540, 1749, 1741, 2436, 1762, 1808, 1749, 2287, 1624, 1762, 1808, 2250, 2287, 1715, 2435, 1931, 2250, 1096, 1096, 1096, 1931, 3942, 1935, 2018, 2025, 2434, 2433, 1935, 2018, 2025, 3265, 3489, 1841, 1841, 1841, 2072, 1585, 2432, 1096, 2958, 2072, 2958, 2958, 2958, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 2431, 2430, 1841, 2429, 2958, 1105, 1105, 1105, 1162, 1162, 1162, 1170, 1170, 1170, 1209, 1209, 1209, 1215, 1215, 1215, 1369, 1369, 1369, 1390, 1390, 1390, 1105, 1512, 2073, 1162, 2250, 2074, 1170, 2073, 2425, 1209, 2073, 2424, 1215, 2096, 2096, 1369, 2096, 2228, 1390, 3943, 2250, 2096, 2228, 2287, 2423, 2250, 2057, 2421, 2287, 1497, 1497, 1497, 3265, 3789, 3789, 3789, 2420, 2419, 3789, 3789, 3789, 3790, 3789, 3789, 3789, 3789, 3885, 3789, 3789, 3789, 1497, 3789, 2418, 3789, 3946, 3946, 3946, 3946, 3946, 3946, 3947, 3789, 3789, 3789, 3789, 3789, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3789, 3789, 3789, 3789, 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, 3789, 3789, 3798, 3789, 3789, 3789, 2417, 2416, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 3792, 2045, 3792, 1541, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3789, 3789, 3789, 3789, 3789, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3789, 3792, 3789, 3789, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3953, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3789, 3789, 3798, 3789, 3789, 3789, 2415, 2414, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 3789, 2411, 2410, 2096, 3789, 1624, 1624, 1624, 1715, 1715, 1715, 3789, 3789, 3789, 3789, 3789, 3789, 1749, 1749, 2409, 1749, 2408, 1105, 1105, 1105, 1749, 1624, 1749, 1749, 1715, 1749, 3808, 3676, 3893, 3853, 1749, 3808, 2045, 3893, 3789, 3789, 3789, 3789, 1105, 1749, 1749, 3676, 1749, 3676, 3853, 3808, 3893, 1749, 3676, 3853, 3808, 3893, 2407, 2406, 2403, 2402, 2401, 2400, 1379, 2399, 2372, 2367, 2396, 3789, 3789, 3789, 3789, 3789, 3789, 2395, 2394, 3789, 3789, 3789, 3790, 3789, 3789, 3789, 3789, 3791, 3789, 3789, 3792, 2393, 3792, 1541, 3792, 3974, 3974, 3974, 3974, 3974, 3974, 3795, 3789, 3789, 3789, 3789, 3789, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3789, 3792, 3789, 3789, 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, 3789, 3789, 3798, 3489, 2002, 2389, 2387, 2002, 1585, 3807, 2386, 2959, 2385, 2959, 2960, 2959, 3490, 3490, 3490, 3490, 3490, 3490, 3491, 3807, 3853, 3807, 3928, 2958, 1983, 2384, 3807, 1974, 2383, 2382, 2381, 2380, 2379, 2378, 2377, 3853, 2376, 3928, 2375, 2374, 3853, 2370, 3928, 2369, 2366, 2365, 2364, 1540, 2363, 2362, 2361, 2360, 2358, 1986, 1976, 2356, 1966, 1272, 1949, 2354, 2353, 1944, 1943, 3983, 2350, 2347, 2347, 2346, 2343, 2343, 2342, 2341, 2340, 2339, 2285, 2337, 2285, 3265, 3489, 2318, 2315, 2314, 2313, 1585, 2312, 2311, 2958, 2308, 2958, 2958, 2958, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 2307, 2304, 2303, 2300, 2958, 2299, 2298, 2293, 2293, 2292, 2291, 2290, 2289, 1107, 2285, 2281, 2277, 2273, 2272, 2271, 2270, 2261, 2260, 1764, 1075, 1764, 1764, 2259, 2258, 2257, 2256, 1743, 1743, 1075, 1743, 3984, 1743, 1075, 2253, 2252, 1717, 1717, 1717, 1075, 1717, 1717, 1711, 2244, 2243, 2242, 2239, 2238, 2237, 2236, 2235, 1654, 1653, 1640, 3265, 4001, 4001, 4002, 4002, 4001, 4002, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4002, 1636, 1632, 2230, 2229, 1621, 1617, 4001, 4001, 4001, 4001, 4001, 4001, 1617, 2222, 2221, 2220, 2219, 1541, 1541, 2185, 1537, 2183, 2182, 2181, 2180, 2176, 2167, 2098, 1541, 1541, 2085, 2084, 2083, 2082, 4001, 4002, 4001, 4001, 2080, 2076, 2075, 2074, 1512, 1512, 1494, 2066, 2065, 2064, 1476, 1476, 1075, 1476, 1476, 2063, 2059, 1463, 1455, 1455, 2052, 2051, 1440, 1440, 1075, 4001, 4001, 4001, 3789, 3789, 3789, 1440, 1440, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 3789, 1431, 3789, 2050, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3789, 3789, 3789, 3789, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 4011, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3789, 3789, 3798, 4015, 4015, 4015, 4016, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 4015, 1430, 2049, 2048, 2044, 2043, 2040, 4015, 4015, 4015, 4015, 4015, 4015, 2035, 2031, 1961, 1400, 2029, 2028, 2027, 1399, 1397, 1387, 2021, 4091, 1379, 1379, 2020, 2019, 1366, 2014, 2013, 1961, 2012, 1299, 4015, 4017, 4015, 4015, 2011, 1987, 1982, 1977, 2010, 2009, 1967, 2006, 2001, 2000, 1988, 1985, 1984, 1981, 1980, 1979, 1978, 1975, 1968, 1965, 1272, 1272, 1272, 1272, 1272, 4015, 4015, 4015, 3789, 3789, 3789, 1267, 1947, 3789, 3789, 3789, 4027, 3789, 3789, 3789, 3789, 3791, 3789, 3789, 4028, 1946, 4028, 2960, 4028, 4029, 4029, 4029, 4029, 4029, 4029, 4030, 3789, 3789, 3789, 3789, 4031, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 3789, 3792, 3789, 3789, 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, 3789, 3789, 4033, 3789, 3789, 3789, 1260, 1249, 3789, 3789, 3789, 4031, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 4031, 1249, 4031, 2958, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 3789, 3789, 3789, 3789, 4031, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 3789, 3789, 3789, 3789, 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, 3789, 3789, 4033, 3789, 3789, 3789, 1075, 1249, 3789, 3789, 3789, 4031, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 1249, 1245, 1944, 2960, 1235, 1235, 1943, 1936, 1212, 1206, 1927, 1919, 3789, 3789, 3789, 3789, 4031, 1198, 1916, 1915, 1914, 1913, 1188, 1187, 1186, 1185, 1165, 1882, 1869, 1868, 1867, 1866, 1861, 1860, 1859, 1856, 1142, 1848, 1847, 3789, 3792, 3789, 3789, 1846, 1843, 1837, 1090, 1084, 1078, 1075, 1826, 1819, 1811, 1075, 1810, 1075, 1807, 1803, 1075, 1802, 1075, 1075, 1786, 1075, 1782, 1075, 1365, 1764, 3789, 3789, 4031, 3789, 3789, 3789, 1764, 1761, 3789, 3789, 3789, 4031, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 1760, 1743, 1743, 2960, 1725, 1717, 1717, 1711, 1075, 1657, 1075, 4046, 3789, 3789, 3789, 3789, 4031, 1657, 1654, 1653, 1652, 1629, 1628, 1625, 1538, 1075, 1621, 1617, 4091, 1608, 1541, 1538, 1537, 1075, 1519, 1518, 1512, 1075, 1075, 3789, 3792, 3789, 3789, 1494, 1075, 1476, 1476, 1471, 1075, 1359, 1075, 1359, 1456, 1075, 1446, 1075, 1440, 1440, 1431, 1365, 1075, 1430, 1075, 1260, 1075, 1400, 1075, 1399, 3789, 3789, 4031, 3789, 3789, 3789, 1398, 1397, 3789, 3789, 3789, 1387, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 1384, 1365, 1075, 2958, 1379, 1366, 1365, 1075, 1260, 1075, 1316, 1075, 3789, 3789, 3789, 3789, 1284, 1075, 1272, 1075, 1264, 1263, 1262, 1260, 1249, 1249, 1245, 1235, 1075, 1075, 1231, 1075, 1220, 1212, 1206, 1203, 1200, 1198, 1075, 3789, 3789, 3789, 3789, 1191, 1075, 1188, 1187, 1186, 1185, 1075, 1075, 1165, 1142, 1138, 1116, 1114, 1075, 1107, 1075, 1090, 1075, 1075, 1078, 1075, 4091, 4091, 4091, 4091, 3789, 3789, 3789, 3789, 3789, 4091, 4091, 3789, 3789, 3789, 4027, 3789, 3789, 3789, 3789, 3885, 3789, 3789, 4031, 4091, 4031, 2958, 4031, 4056, 4056, 4056, 4056, 4056, 4056, 4057, 3789, 3789, 3789, 3789, 4031, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 3789, 3789, 3789, 3789, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 4058, 3789, 3789, 4033, 3789, 3789, 3789, 4091, 4091, 3789, 3789, 3789, 4031, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 4028, 4091, 4028, 2960, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 3789, 3789, 3789, 3789, 4031, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 3789, 3792, 3789, 3789, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4060, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 3789, 3789, 4033, 3789, 3789, 3789, 4091, 4091, 3789, 3789, 3789, 4091, 3789, 3789, 3789, 3789, 3881, 3789, 3789, 4091, 4091, 4091, 2958, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4065, 3789, 3789, 3789, 3789, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 3789, 3789, 3789, 3789, 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, 3789, 3789, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 692, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 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, 834, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, 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, 865, 865, 865, 865, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 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, 875, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 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, 894, 894, 894, 894, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 929, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 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, 950, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 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, 992, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 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, 1036, 1036, 1036, 1036, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1092, 1092, 1092, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1092, 1092, 1092, 4091, 4091, 1092, 1101, 1101, 1101, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 4091, 4091, 1101, 1105, 1105, 1105, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1105, 4091, 4091, 4091, 1105, 1109, 1109, 1109, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1109, 1109, 4091, 4091, 4091, 1109, 1115, 1115, 4091, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 1167, 1167, 1167, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1167, 1167, 1167, 4091, 4091, 1167, 1192, 1192, 4091, 4091, 1192, 4091, 1192, 1192, 4091, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 4091, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 4091, 4091, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1197, 1197, 4091, 4091, 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, 1199, 1199, 4091, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1207, 1207, 1207, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1207, 1207, 4091, 4091, 4091, 1207, 1213, 1213, 1213, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1213, 1213, 4091, 4091, 4091, 1213, 1216, 1216, 4091, 1216, 1216, 4091, 1216, 1216, 4091, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 4091, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 4091, 1216, 4091, 4091, 1216, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1219, 1219, 4091, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1234, 1234, 4091, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 4091, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 4091, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1271, 1271, 4091, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1278, 1278, 4091, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1340, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1340, 4091, 4091, 4091, 4091, 4091, 1340, 4091, 4091, 4091, 1340, 1340, 4091, 1340, 1367, 1367, 1367, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1367, 1367, 4091, 4091, 4091, 1367, 1372, 1372, 4091, 1372, 1372, 4091, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1373, 4091, 1373, 1373, 1373, 1373, 1373, 4091, 4091, 4091, 1373, 4091, 1373, 1377, 1377, 4091, 1377, 1377, 4091, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378, 4091, 1378, 1378, 1378, 1378, 1378, 4091, 1378, 4091, 1378, 4091, 1378, 1388, 1388, 1388, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1388, 1388, 4091, 4091, 4091, 1388, 1433, 1433, 4091, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1462, 1462, 4091, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1472, 1472, 4091, 1472, 1472, 4091, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1473, 4091, 1473, 1473, 1473, 1473, 1473, 4091, 4091, 4091, 1473, 4091, 1473, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1482, 1482, 4091, 1482, 1482, 4091, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1483, 4091, 1483, 1483, 1483, 1483, 1483, 4091, 4091, 4091, 1483, 4091, 1483, 1485, 1485, 4091, 1485, 1485, 4091, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1486, 4091, 1486, 1486, 1486, 1486, 1486, 4091, 4091, 4091, 1486, 4091, 1486, 1491, 1491, 1491, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1491, 1491, 4091, 4091, 4091, 1491, 1495, 1495, 1495, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1495, 1495, 4091, 4091, 4091, 1495, 1510, 1510, 1510, 4091, 4091, 4091, 1510, 4091, 4091, 4091, 1510, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1510, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 1542, 4091, 1542, 1542, 1542, 1542, 1542, 4091, 4091, 1542, 1542, 4091, 1542, 1547, 4091, 1547, 1547, 1547, 1547, 1547, 4091, 4091, 1547, 1547, 4091, 1547, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 1616, 1616, 4091, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1618, 1618, 4091, 1618, 1618, 4091, 4091, 4091, 1618, 1622, 1622, 1622, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1622, 1622, 4091, 4091, 4091, 1622, 1633, 4091, 4091, 1633, 4091, 1633, 1633, 1633, 4091, 4091, 1633, 4091, 1633, 1633, 1633, 1633, 1633, 4091, 1633, 1633, 4091, 1633, 4091, 4091, 1633, 1637, 4091, 4091, 1637, 4091, 1637, 1637, 1637, 4091, 4091, 1637, 4091, 1637, 1637, 1637, 1637, 1637, 4091, 1637, 1637, 4091, 1637, 4091, 4091, 1637, 1641, 4091, 4091, 1641, 4091, 1641, 1641, 1641, 4091, 4091, 1641, 4091, 1641, 1641, 1641, 1641, 1641, 4091, 1641, 1641, 4091, 1641, 4091, 4091, 1641, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 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, 1644, 1644, 1644, 1644, 1655, 4091, 4091, 1655, 1655, 4091, 1655, 4091, 1655, 1655, 1655, 1655, 1655, 4091, 4091, 4091, 1655, 4091, 4091, 4091, 4091, 4091, 1655, 1658, 1658, 4091, 4091, 4091, 4091, 1658, 4091, 1658, 1658, 4091, 4091, 4091, 1658, 1659, 1659, 4091, 1659, 1659, 4091, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1660, 4091, 1660, 1660, 1660, 1660, 1660, 4091, 4091, 4091, 1660, 4091, 1660, 1662, 1662, 4091, 1662, 1662, 4091, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1663, 4091, 1663, 1663, 1663, 1663, 1663, 4091, 4091, 4091, 1663, 4091, 1663, 1667, 4091, 1667, 1667, 1667, 1667, 4091, 4091, 4091, 4091, 1667, 1669, 4091, 4091, 4091, 4091, 4091, 1669, 4091, 1669, 1669, 1669, 1669, 1669, 4091, 4091, 1669, 1669, 4091, 4091, 4091, 4091, 4091, 1669, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 4091, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 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, 1672, 1672, 1672, 1672, 1677, 4091, 4091, 4091, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1682, 4091, 4091, 4091, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1687, 4091, 4091, 4091, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 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, 1688, 1692, 4091, 4091, 4091, 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, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1713, 1713, 1713, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1713, 1713, 4091, 4091, 4091, 1713, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1726, 1726, 4091, 1726, 1726, 4091, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1727, 4091, 1727, 1727, 1727, 1727, 1727, 4091, 4091, 4091, 1727, 4091, 1727, 1729, 1729, 4091, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1752, 1752, 4091, 1752, 1752, 4091, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1753, 4091, 4091, 4091, 4091, 4091, 1753, 4091, 1753, 1753, 1753, 1753, 1753, 4091, 4091, 1753, 1753, 4091, 4091, 4091, 4091, 4091, 1753, 1754, 4091, 4091, 4091, 4091, 4091, 1754, 4091, 1754, 1754, 1754, 1754, 1754, 4091, 4091, 1754, 1754, 4091, 1754, 4091, 4091, 4091, 1754, 1755, 4091, 1755, 1755, 1755, 1755, 1755, 4091, 4091, 4091, 1755, 4091, 1755, 1757, 1757, 4091, 1757, 1757, 4091, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1758, 4091, 1758, 1758, 1758, 1758, 1758, 4091, 4091, 4091, 1758, 4091, 1758, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 4091, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1772, 1772, 4091, 1772, 1772, 4091, 1772, 1772, 4091, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 4091, 1772, 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1777, 1777, 4091, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1778, 1778, 4091, 1778, 1778, 4091, 1778, 1778, 4091, 4091, 4091, 1778, 1778, 1778, 1778, 1778, 4091, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1781, 1781, 4091, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1783, 1783, 4091, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 4091, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1788, 1788, 4091, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1793, 4091, 4091, 4091, 1793, 4091, 1793, 1793, 4091, 4091, 4091, 1793, 1793, 1793, 1793, 1793, 4091, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 4091, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1809, 1809, 4091, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1814, 1814, 4091, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1815, 1815, 4091, 1815, 1815, 4091, 1815, 1815, 4091, 4091, 4091, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1818, 1818, 4091, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1822, 1822, 4091, 1822, 1822, 4091, 1822, 1822, 4091, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 4091, 4091, 1822, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1825, 1825, 4091, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1833, 1833, 1833, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1833, 4091, 4091, 4091, 1833, 4091, 4091, 4091, 4091, 4091, 1833, 1092, 1092, 1092, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1092, 1092, 1092, 4091, 4091, 1092, 1836, 1836, 1836, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1836, 4091, 1836, 4091, 4091, 1836, 1101, 1101, 1101, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 4091, 4091, 1101, 1839, 1839, 1839, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1839, 1839, 4091, 4091, 4091, 1839, 1105, 1105, 1105, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1105, 4091, 4091, 4091, 1105, 1109, 1109, 1109, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1109, 1109, 4091, 4091, 4091, 1109, 1849, 1849, 4091, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1872, 1872, 1872, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1872, 1872, 4091, 4091, 4091, 1872, 1880, 1880, 1880, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1880, 4091, 4091, 4091, 1880, 4091, 4091, 4091, 4091, 4091, 1880, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 1902, 1902, 1902, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1902, 4091, 1902, 4091, 4091, 1902, 1904, 1904, 1904, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1904, 4091, 4091, 4091, 1904, 4091, 4091, 4091, 4091, 4091, 1904, 1167, 1167, 1167, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1167, 1167, 1167, 4091, 4091, 1167, 1907, 1907, 1907, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1907, 4091, 1907, 4091, 4091, 1907, 1192, 1192, 4091, 4091, 1192, 4091, 1192, 1192, 4091, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 4091, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 4091, 4091, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1197, 1197, 4091, 4091, 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, 1920, 1920, 4091, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1926, 1926, 4091, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1929, 1929, 1929, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1929, 4091, 4091, 4091, 1929, 4091, 4091, 4091, 4091, 4091, 1929, 1207, 1207, 1207, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1207, 1207, 4091, 4091, 4091, 1207, 1933, 1933, 1933, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1933, 4091, 4091, 4091, 1933, 4091, 4091, 4091, 4091, 4091, 1933, 1213, 1213, 1213, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1213, 1213, 4091, 4091, 4091, 1213, 1216, 1216, 4091, 1216, 1216, 4091, 1216, 1216, 4091, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 4091, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 4091, 1216, 4091, 4091, 1216, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1937, 1937, 4091, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1240, 1240, 4091, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 4091, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1271, 1271, 4091, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1278, 1278, 4091, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 4091, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 4091, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1340, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1340, 4091, 4091, 4091, 4091, 4091, 1340, 4091, 4091, 4091, 1340, 1340, 4091, 1340, 2016, 2016, 2016, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2016, 4091, 4091, 4091, 2016, 4091, 4091, 4091, 4091, 4091, 2016, 1367, 1367, 1367, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1367, 1367, 4091, 4091, 4091, 1367, 1372, 1372, 4091, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1373, 4091, 1373, 1373, 1373, 1373, 1373, 4091, 4091, 4091, 1373, 4091, 1373, 1377, 1377, 4091, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378, 4091, 1378, 1378, 1378, 1378, 1378, 4091, 1378, 4091, 1378, 4091, 1378, 2023, 2023, 2023, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2023, 4091, 4091, 4091, 2023, 4091, 4091, 4091, 4091, 4091, 2023, 1388, 1388, 1388, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1388, 1388, 4091, 4091, 4091, 1388, 1433, 1433, 4091, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 4091, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1462, 1462, 4091, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 4091, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 4091, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 1472, 1472, 4091, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1473, 4091, 1473, 1473, 1473, 1473, 1473, 4091, 4091, 4091, 1473, 4091, 1473, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1482, 1482, 4091, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1483, 4091, 1483, 1483, 1483, 1483, 1483, 4091, 4091, 4091, 1483, 4091, 1483, 1485, 1485, 4091, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1486, 4091, 1486, 1486, 1486, 1486, 1486, 4091, 4091, 4091, 1486, 4091, 1486, 1491, 1491, 1491, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1491, 1491, 4091, 4091, 4091, 1491, 2068, 2068, 2068, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2068, 2068, 4091, 4091, 4091, 2068, 2070, 2070, 2070, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2070, 4091, 4091, 4091, 2070, 4091, 4091, 4091, 4091, 4091, 2070, 1495, 1495, 1495, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1495, 1495, 4091, 4091, 4091, 1495, 1510, 1510, 1510, 4091, 4091, 4091, 1510, 4091, 4091, 4091, 1510, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1510, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 2092, 4091, 2092, 2092, 2092, 2092, 2092, 4091, 4091, 4091, 2092, 4091, 2092, 1542, 4091, 1542, 1542, 1542, 1542, 1542, 4091, 4091, 1542, 1542, 4091, 1542, 2094, 4091, 2094, 2094, 2094, 2094, 2094, 4091, 4091, 2094, 2094, 4091, 2094, 1547, 4091, 1547, 1547, 1547, 1547, 1547, 4091, 4091, 1547, 1547, 4091, 1547, 2097, 4091, 2097, 2097, 2097, 2097, 2097, 4091, 4091, 4091, 2097, 4091, 2097, 4091, 4091, 4091, 2097, 2184, 4091, 4091, 4091, 4091, 4091, 2184, 4091, 4091, 2184, 2184, 4091, 2184, 4091, 4091, 4091, 4091, 2184, 2184, 2184, 4091, 2184, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 1616, 1616, 4091, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1618, 1618, 4091, 1618, 1618, 4091, 4091, 4091, 1618, 2226, 2226, 2226, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2226, 4091, 4091, 4091, 2226, 4091, 4091, 4091, 4091, 4091, 2226, 1622, 1622, 1622, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1622, 1622, 4091, 4091, 4091, 1622, 1631, 4091, 4091, 1631, 4091, 1631, 1631, 1631, 4091, 4091, 1631, 4091, 1631, 1631, 1631, 1631, 1631, 4091, 1631, 1631, 4091, 1631, 4091, 4091, 1631, 1633, 4091, 4091, 1633, 4091, 1633, 1633, 1633, 4091, 4091, 1633, 4091, 1633, 1633, 1633, 1633, 1633, 4091, 1633, 1633, 4091, 1633, 4091, 4091, 1633, 1634, 4091, 4091, 1634, 4091, 1634, 1634, 1634, 4091, 4091, 1634, 4091, 1634, 1634, 1634, 1634, 1634, 4091, 1634, 1634, 4091, 1634, 4091, 4091, 1634, 1635, 4091, 4091, 1635, 4091, 1635, 1635, 1635, 4091, 4091, 1635, 4091, 1635, 1635, 1635, 1635, 1635, 4091, 1635, 1635, 4091, 1635, 4091, 4091, 1635, 1637, 4091, 4091, 1637, 4091, 1637, 1637, 1637, 4091, 4091, 1637, 4091, 1637, 1637, 1637, 1637, 1637, 4091, 1637, 1637, 4091, 1637, 4091, 4091, 1637, 1638, 4091, 4091, 1638, 4091, 1638, 1638, 1638, 4091, 4091, 1638, 4091, 1638, 1638, 1638, 1638, 1638, 4091, 1638, 1638, 4091, 1638, 4091, 4091, 1638, 1639, 4091, 4091, 1639, 4091, 1639, 1639, 1639, 4091, 4091, 1639, 4091, 1639, 1639, 1639, 1639, 1639, 4091, 1639, 1639, 4091, 1639, 4091, 4091, 1639, 1641, 4091, 4091, 1641, 4091, 1641, 1641, 1641, 4091, 4091, 1641, 4091, 1641, 1641, 1641, 1641, 1641, 4091, 1641, 1641, 4091, 1641, 4091, 4091, 1641, 1642, 4091, 4091, 1642, 4091, 1642, 1642, 1642, 4091, 4091, 1642, 4091, 1642, 1642, 1642, 1642, 1642, 4091, 1642, 1642, 4091, 1642, 4091, 4091, 1642, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 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, 1644, 1644, 1644, 1644, 1655, 4091, 4091, 1655, 1655, 4091, 1655, 4091, 1655, 1655, 1655, 1655, 1655, 4091, 4091, 4091, 1655, 4091, 4091, 4091, 4091, 4091, 1655, 1658, 1658, 4091, 4091, 4091, 4091, 1658, 4091, 1658, 1658, 4091, 4091, 4091, 1658, 1659, 1659, 4091, 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, 1660, 4091, 1660, 1660, 1660, 1660, 1660, 4091, 4091, 4091, 1660, 4091, 1660, 1662, 1662, 4091, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1663, 4091, 1663, 1663, 1663, 1663, 1663, 4091, 4091, 4091, 1663, 4091, 1663, 1667, 4091, 1667, 1667, 1667, 1667, 4091, 4091, 4091, 4091, 1667, 1669, 4091, 4091, 4091, 4091, 4091, 1669, 4091, 1669, 1669, 1669, 1669, 1669, 4091, 4091, 1669, 1669, 4091, 4091, 4091, 4091, 4091, 1669, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 4091, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 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, 1672, 1672, 1672, 1672, 1677, 4091, 4091, 4091, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1682, 4091, 4091, 4091, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1687, 4091, 4091, 4091, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 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, 1688, 1692, 4091, 4091, 4091, 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, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 2246, 2246, 2246, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2246, 4091, 4091, 4091, 2246, 4091, 4091, 4091, 4091, 4091, 2246, 1713, 1713, 1713, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1713, 1713, 4091, 4091, 4091, 1713, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1726, 1726, 4091, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1727, 4091, 1727, 1727, 1727, 1727, 1727, 4091, 4091, 4091, 1727, 4091, 1727, 1729, 1729, 4091, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1752, 1752, 4091, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1753, 4091, 4091, 4091, 4091, 4091, 1753, 4091, 1753, 1753, 1753, 1753, 1753, 4091, 4091, 1753, 1753, 4091, 4091, 4091, 4091, 4091, 1753, 1754, 4091, 4091, 4091, 4091, 4091, 1754, 4091, 1754, 1754, 1754, 1754, 1754, 4091, 4091, 1754, 1754, 4091, 1754, 4091, 4091, 4091, 1754, 1755, 4091, 1755, 1755, 1755, 1755, 1755, 4091, 4091, 4091, 1755, 4091, 1755, 1757, 1757, 4091, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1758, 4091, 1758, 1758, 1758, 1758, 1758, 4091, 4091, 4091, 1758, 4091, 1758, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 4091, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1772, 1772, 4091, 1772, 1772, 4091, 1772, 1772, 4091, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 4091, 1772, 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1778, 1778, 4091, 1778, 1778, 4091, 1778, 1778, 4091, 4091, 4091, 1778, 1778, 1778, 1778, 1778, 4091, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 2262, 2262, 4091, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 1783, 1783, 4091, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 4091, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1788, 1788, 4091, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1793, 4091, 4091, 4091, 1793, 4091, 1793, 1793, 4091, 4091, 4091, 1793, 1793, 1793, 1793, 1793, 4091, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 2274, 2274, 4091, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 1815, 1815, 4091, 1815, 1815, 4091, 1815, 1815, 4091, 4091, 4091, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 2278, 2278, 4091, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 1822, 1822, 4091, 1822, 1822, 4091, 1822, 1822, 4091, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 4091, 4091, 1822, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 2282, 2282, 4091, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 1833, 1833, 1833, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1833, 4091, 4091, 4091, 1833, 4091, 4091, 4091, 4091, 4091, 1833, 1092, 1092, 1092, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1092, 1092, 1092, 4091, 4091, 1092, 1836, 1836, 1836, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1836, 4091, 1836, 4091, 4091, 1836, 1101, 1101, 1101, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 4091, 4091, 1101, 1839, 1839, 1839, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1839, 1839, 4091, 4091, 4091, 1839, 1872, 1872, 1872, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1872, 1872, 4091, 4091, 4091, 1872, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 4091, 2316, 2316, 2316, 2316, 4091, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 4091, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 1880, 1880, 1880, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1880, 4091, 4091, 4091, 1880, 4091, 4091, 4091, 4091, 4091, 1880, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 1902, 1902, 1902, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1902, 4091, 1902, 4091, 4091, 1902, 1904, 1904, 1904, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1904, 4091, 4091, 4091, 1904, 4091, 4091, 4091, 4091, 4091, 1904, 1167, 1167, 1167, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1167, 1167, 1167, 4091, 4091, 1167, 1907, 1907, 1907, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1907, 4091, 1907, 4091, 4091, 1907, 1926, 1926, 4091, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1929, 1929, 1929, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1929, 4091, 4091, 4091, 1929, 4091, 4091, 4091, 4091, 4091, 1929, 1207, 1207, 1207, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1207, 1207, 4091, 4091, 4091, 1207, 1933, 1933, 1933, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1933, 4091, 4091, 4091, 1933, 4091, 4091, 4091, 4091, 4091, 1933, 1213, 1213, 1213, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1213, 1213, 4091, 4091, 4091, 1213, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1278, 1278, 4091, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 2016, 2016, 2016, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2016, 4091, 4091, 4091, 2016, 4091, 4091, 4091, 4091, 4091, 2016, 1367, 1367, 1367, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1367, 1367, 4091, 4091, 4091, 1367, 2023, 2023, 2023, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2023, 4091, 4091, 4091, 2023, 4091, 4091, 4091, 4091, 4091, 2023, 1388, 1388, 1388, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1388, 1388, 4091, 4091, 4091, 1388, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 4091, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 2055, 2055, 4091, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 4091, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2428, 2428, 2428, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2428, 4091, 4091, 4091, 2428, 2068, 2068, 2068, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2068, 2068, 4091, 4091, 4091, 2068, 2070, 2070, 2070, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2070, 4091, 4091, 4091, 2070, 4091, 4091, 4091, 4091, 4091, 2070, 1495, 1495, 1495, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1495, 1495, 4091, 4091, 4091, 1495, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 2092, 4091, 2092, 2092, 2092, 2092, 2092, 4091, 4091, 4091, 2092, 4091, 2092, 2094, 4091, 2094, 2094, 2094, 2094, 2094, 4091, 4091, 2094, 2094, 4091, 2094, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 2479, 2479, 4091, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2505, 2505, 4091, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2515, 2515, 4091, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2184, 4091, 4091, 4091, 4091, 4091, 2184, 4091, 4091, 2184, 2184, 4091, 2184, 4091, 4091, 4091, 4091, 2184, 2184, 2184, 4091, 2184, 2097, 4091, 2097, 2097, 2097, 2097, 2097, 4091, 4091, 4091, 2097, 4091, 2097, 4091, 4091, 4091, 2097, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 2226, 2226, 2226, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2226, 4091, 4091, 4091, 2226, 4091, 4091, 4091, 4091, 4091, 2226, 1622, 1622, 1622, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1622, 1622, 4091, 4091, 4091, 1622, 1631, 4091, 4091, 1631, 4091, 1631, 1631, 1631, 4091, 4091, 1631, 4091, 1631, 1631, 1631, 1631, 1631, 4091, 1631, 1631, 4091, 1631, 4091, 4091, 1631, 1635, 4091, 4091, 1635, 4091, 1635, 1635, 1635, 4091, 4091, 1635, 4091, 1635, 1635, 1635, 1635, 1635, 4091, 1635, 1635, 4091, 1635, 4091, 4091, 1635, 1639, 4091, 4091, 1639, 4091, 1639, 1639, 1639, 4091, 4091, 1639, 4091, 1639, 1639, 1639, 1639, 1639, 4091, 1639, 1639, 4091, 1639, 4091, 4091, 1639, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 2246, 2246, 2246, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2246, 4091, 4091, 4091, 2246, 4091, 4091, 4091, 4091, 4091, 2246, 1713, 1713, 1713, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1713, 1713, 4091, 4091, 4091, 1713, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1101, 1101, 1101, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 1101, 4091, 4091, 4091, 4091, 4091, 1101, 1139, 1139, 1139, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1139, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1139, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 2741, 2741, 4091, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2428, 2428, 2428, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2428, 4091, 4091, 4091, 2428, 2765, 2765, 2765, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2765, 2765, 4091, 4091, 4091, 2765, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 2778, 2778, 4091, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2780, 2780, 4091, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2802, 2802, 4091, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2809, 2809, 4091, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2479, 2479, 4091, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2479, 2827, 2827, 4091, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2831, 2831, 4091, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2835, 2835, 4091, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2837, 2837, 4091, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2839, 2839, 4091, 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, 2839, 2842, 2842, 4091, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2844, 2844, 4091, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2846, 2846, 4091, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2849, 2849, 4091, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2505, 2505, 4091, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2854, 2854, 4091, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2858, 2858, 4091, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2515, 2515, 4091, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2869, 2869, 4091, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2871, 2871, 4091, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2873, 2873, 4091, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2875, 2875, 4091, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 2959, 4091, 4091, 4091, 4091, 4091, 2959, 4091, 2959, 2959, 2959, 2959, 2959, 4091, 4091, 2959, 2959, 4091, 2959, 4091, 4091, 4091, 2959, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1139, 1139, 1139, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1139, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1139, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 3041, 3041, 4091, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 3049, 4091, 3049, 3049, 3049, 3049, 4091, 3049, 3049, 3049, 3049, 3049, 3049, 2741, 2741, 4091, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2765, 2765, 2765, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2765, 2765, 4091, 4091, 4091, 2765, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 2778, 2778, 4091, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2778, 2780, 2780, 4091, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 2780, 3115, 3115, 4091, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3119, 3119, 4091, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3121, 3121, 4091, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3123, 3123, 4091, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3126, 3126, 4091, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3128, 3128, 4091, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3130, 3130, 4091, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 2802, 2802, 4091, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 3133, 3133, 4091, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3136, 3136, 4091, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 2809, 2809, 4091, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 3147, 3147, 4091, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3149, 3149, 4091, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3151, 3151, 4091, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3153, 3153, 4091, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 2827, 2827, 4091, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2827, 2831, 2831, 4091, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 3162, 3162, 4091, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 2835, 2835, 4091, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2837, 2837, 4091, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2837, 2839, 2839, 4091, 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, 2839, 2842, 2842, 4091, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2844, 2844, 4091, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2846, 2846, 4091, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2846, 2849, 2849, 4091, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 3168, 3168, 4091, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 2854, 2854, 4091, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2858, 2858, 4091, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 3174, 3174, 4091, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3178, 3178, 4091, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3180, 3180, 4091, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 2869, 2869, 4091, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2869, 2871, 2871, 4091, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2873, 2873, 4091, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2873, 2875, 2875, 4091, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 3183, 3183, 4091, 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, 3183, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 3227, 3227, 4091, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 2958, 4091, 4091, 4091, 4091, 4091, 2958, 4091, 2958, 2958, 2958, 2958, 2958, 4091, 4091, 2958, 2958, 4091, 4091, 4091, 4091, 4091, 2958, 2959, 4091, 4091, 4091, 4091, 4091, 2959, 4091, 2959, 2959, 2959, 2959, 2959, 4091, 4091, 2959, 2959, 4091, 2959, 4091, 4091, 4091, 2959, 3261, 4091, 4091, 4091, 4091, 4091, 3261, 4091, 3261, 3261, 3261, 3261, 3261, 4091, 4091, 3261, 3261, 4091, 3261, 4091, 4091, 4091, 3261, 3263, 4091, 4091, 4091, 4091, 4091, 3263, 4091, 3263, 3263, 3263, 3263, 3263, 4091, 4091, 3263, 3263, 4091, 3263, 4091, 4091, 4091, 3263, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 3327, 3327, 4091, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 3041, 3041, 4091, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3041, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 3332, 4091, 3332, 3332, 3332, 3332, 4091, 3332, 3332, 3332, 3332, 3332, 3332, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 3115, 3115, 4091, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3115, 3389, 3389, 4091, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3119, 3119, 4091, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3119, 3121, 3121, 4091, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3123, 3123, 4091, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3126, 3126, 4091, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3126, 3128, 3128, 4091, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3128, 3130, 3130, 4091, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3130, 3133, 3133, 4091, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3136, 3136, 4091, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3136, 3396, 3396, 4091, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3400, 3400, 4091, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3402, 3402, 4091, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3147, 3147, 4091, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3149, 3149, 4091, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3151, 3151, 4091, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3151, 3153, 3153, 4091, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3153, 3405, 3405, 4091, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3407, 3407, 4091, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3410, 3410, 4091, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3162, 3162, 4091, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3412, 3412, 4091, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3414, 3414, 4091, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3168, 3168, 4091, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3168, 3418, 3418, 4091, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3174, 3174, 4091, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3178, 3178, 4091, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3178, 3180, 3180, 4091, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3180, 3183, 3183, 4091, 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, 3183, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 3226, 3226, 4091, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3226, 3227, 3227, 4091, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3459, 3459, 4091, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3261, 4091, 4091, 4091, 4091, 4091, 3261, 4091, 3261, 3261, 3261, 3261, 3261, 4091, 4091, 3261, 3261, 4091, 3261, 4091, 4091, 4091, 3261, 3492, 4091, 4091, 3492, 4091, 4091, 3492, 4091, 3492, 3492, 3492, 3492, 3492, 4091, 4091, 3492, 3492, 4091, 3492, 4091, 4091, 4091, 3492, 3494, 4091, 4091, 4091, 4091, 4091, 3494, 4091, 3494, 3494, 3494, 3494, 3494, 4091, 4091, 3494, 3494, 4091, 4091, 4091, 4091, 4091, 3494, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 3498, 3498, 4091, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 3327, 3327, 4091, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 3586, 3586, 4091, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3589, 3589, 4091, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3389, 3389, 4091, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3591, 3591, 4091, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3593, 3593, 4091, 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, 3593, 3396, 3396, 4091, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3396, 3400, 3400, 4091, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3400, 3402, 3402, 4091, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3402, 3405, 3405, 4091, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3405, 3407, 3407, 4091, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3407, 3410, 3410, 4091, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3410, 3412, 3412, 4091, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3412, 3414, 3414, 4091, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3414, 3603, 3603, 4091, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3418, 3418, 4091, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3606, 3606, 4091, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3610, 3610, 4091, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 3459, 3459, 4091, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3494, 4091, 4091, 4091, 4091, 4091, 3494, 4091, 3494, 3494, 3494, 3494, 3494, 4091, 4091, 3494, 3494, 4091, 4091, 4091, 4091, 4091, 3494, 3492, 4091, 4091, 3492, 4091, 4091, 3492, 4091, 3492, 3492, 3492, 3492, 3492, 4091, 4091, 3492, 3492, 4091, 3492, 4091, 4091, 4091, 3492, 2959, 4091, 4091, 4091, 4091, 4091, 2959, 4091, 2959, 2959, 2959, 2959, 2959, 4091, 4091, 2959, 2959, 4091, 2959, 4091, 4091, 4091, 2959, 3663, 4091, 4091, 3663, 4091, 4091, 3663, 4091, 3663, 3663, 3663, 3663, 3663, 4091, 4091, 3663, 3663, 4091, 4091, 4091, 4091, 4091, 3663, 1588, 4091, 4091, 1588, 4091, 4091, 1588, 4091, 1588, 1588, 1588, 1588, 1588, 4091, 4091, 1588, 1588, 4091, 1588, 4091, 4091, 4091, 1588, 3498, 3498, 4091, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 3498, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 1255, 4091, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 4091, 1255, 1255, 1255, 1255, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 3586, 3586, 4091, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3589, 3589, 4091, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3591, 3591, 4091, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3593, 3593, 4091, 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, 3593, 3737, 3737, 4091, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3741, 3741, 4091, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3743, 3743, 4091, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3603, 3603, 4091, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3606, 3606, 4091, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3746, 3746, 4091, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3610, 3610, 4091, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 4091, 3752, 3752, 3752, 3752, 4091, 3752, 3752, 3752, 3752, 3752, 3752, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 4091, 3753, 3753, 3753, 3753, 4091, 3753, 3753, 3753, 3753, 3753, 3753, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 3492, 4091, 4091, 3492, 4091, 4091, 3492, 4091, 3492, 3492, 3492, 3492, 3492, 4091, 4091, 3492, 3492, 4091, 3492, 4091, 4091, 4091, 3492, 3663, 4091, 4091, 3663, 4091, 4091, 3663, 4091, 3663, 3663, 3663, 3663, 3663, 4091, 4091, 3663, 3663, 4091, 4091, 4091, 4091, 4091, 3663, 2958, 4091, 4091, 4091, 4091, 4091, 2958, 4091, 2958, 2958, 2958, 2958, 2958, 4091, 4091, 2958, 2958, 4091, 4091, 4091, 4091, 4091, 2958, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 4091, 3802, 3802, 3802, 3802, 4091, 3802, 3802, 3802, 3802, 3802, 3802, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 4091, 3835, 3835, 3835, 3835, 4091, 3835, 3835, 3835, 3835, 3835, 3835, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 3844, 3844, 4091, 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, 3737, 3737, 4091, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3847, 3847, 4091, 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, 3741, 3741, 4091, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3743, 3743, 4091, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3746, 3746, 4091, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3746, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 4091, 3856, 3856, 3856, 3856, 4091, 3856, 3856, 3856, 3856, 3856, 3856, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 4091, 3862, 3862, 3862, 3862, 4091, 3862, 3862, 3862, 3862, 3862, 3862, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 1540, 1540, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 2092, 4091, 2092, 2092, 2092, 2092, 2092, 4091, 4091, 4091, 2092, 4091, 2092, 3492, 4091, 4091, 3492, 4091, 4091, 3492, 4091, 3492, 3492, 3492, 3492, 3492, 4091, 4091, 3492, 3492, 4091, 3492, 4091, 4091, 4091, 3492, 3494, 4091, 4091, 4091, 4091, 4091, 3494, 4091, 3494, 3494, 3494, 3494, 3494, 4091, 4091, 3494, 3494, 4091, 4091, 4091, 4091, 4091, 3494, 3789, 3789, 4091, 4091, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 4091, 3789, 4091, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3883, 4091, 4091, 4091, 4091, 4091, 3883, 4091, 4091, 3883, 3883, 4091, 3883, 4091, 4091, 4091, 4091, 3883, 3883, 3883, 4091, 3883, 3792, 3792, 4091, 4091, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 4091, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3793, 3793, 4091, 4091, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 4091, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3887, 3887, 4091, 4091, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 4091, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 4091, 1643, 1643, 1643, 1643, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 4091, 3908, 3908, 3908, 3908, 4091, 3908, 3908, 3908, 3908, 3908, 3908, 3909, 3909, 4091, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 4091, 3911, 3911, 3911, 3911, 4091, 3911, 3911, 3911, 3911, 3911, 3911, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 3844, 3844, 4091, 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, 3847, 3847, 4091, 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, 3920, 3920, 4091, 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, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 4091, 3926, 3926, 3926, 3926, 4091, 3926, 3926, 3926, 3926, 3926, 3926, 2443, 4091, 4091, 2443, 4091, 4091, 2443, 4091, 2443, 2443, 2443, 2443, 2443, 4091, 4091, 4091, 2443, 4091, 2443, 4091, 4091, 4091, 2443, 1540, 4091, 1540, 1540, 1540, 1540, 1540, 4091, 4091, 4091, 1540, 4091, 1540, 2092, 4091, 2092, 2092, 2092, 2092, 2092, 4091, 4091, 4091, 2092, 4091, 2092, 3492, 4091, 4091, 3492, 4091, 4091, 3492, 4091, 3492, 3492, 3492, 3492, 3492, 4091, 4091, 3492, 3492, 4091, 3492, 4091, 4091, 4091, 3492, 3663, 4091, 4091, 3663, 4091, 4091, 3663, 4091, 3663, 3663, 3663, 3663, 3663, 4091, 4091, 3663, 3663, 4091, 4091, 4091, 4091, 4091, 3663, 3944, 4091, 4091, 4091, 4091, 4091, 3944, 4091, 4091, 3944, 3944, 4091, 3944, 4091, 4091, 4091, 4091, 4091, 3944, 3944, 4091, 3944, 3883, 4091, 4091, 4091, 4091, 4091, 3883, 4091, 4091, 3883, 3883, 4091, 3883, 4091, 4091, 4091, 4091, 3883, 3883, 3883, 4091, 3883, 3887, 3887, 4091, 4091, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 4091, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 4091, 1716, 1716, 1716, 1716, 1144, 1144, 1144, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 1144, 1144, 1144, 4091, 4091, 1144, 3909, 3909, 4091, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 3909, 1513, 4091, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 4091, 1513, 1513, 1513, 1513, 2090, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 2090, 2090, 4091, 4091, 4091, 2090, 4091, 4091, 4091, 4091, 4091, 2090, 3969, 3969, 4091, 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, 3789, 3789, 4091, 4091, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 4091, 3789, 4091, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3986, 4091, 4091, 4091, 4091, 4091, 3986, 4091, 4091, 3986, 3986, 4091, 3986, 4091, 4091, 4091, 4091, 4091, 3986, 3986, 4091, 3986, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4091, 4002, 4002, 4002, 4002, 4091, 4002, 4002, 4002, 4002, 4002, 4002, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4013, 4091, 4013, 4013, 4013, 4013, 4091, 4013, 4013, 4013, 4013, 4013, 4013, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 4091, 4017, 4017, 4017, 4017, 4091, 4017, 4017, 4017, 4017, 4017, 4017, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4091, 4037, 4037, 4037, 4037, 4091, 4037, 4037, 4037, 4037, 4037, 4037, 4028, 4028, 4091, 4091, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4091, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4031, 4031, 4091, 4091, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4091, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 293, 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, 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, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091 } ; static yyconst short int yy_chk[34292] = { 0, 0, 1, 0, 1, 1, 2, 0, 2, 2, 312, 312, 319, 340, 0, 319, 340, 298, 304, 311, 0, 1, 298, 304, 311, 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, 3, 5, 359, 5, 5, 6, 359, 6, 6, 7, 7, 7, 7, 7, 5, 7, 475, 475, 6, 9, 5, 9, 9, 10, 6, 10, 10, 873, 7, 8, 8, 8, 8, 8, 501, 8, 501, 15, 9, 15, 15, 16, 10, 16, 16, 491, 491, 550, 8, 29, 29, 29, 29, 29, 873, 63, 15, 63, 63, 64, 16, 64, 64, 174, 7, 15, 174, 15, 29, 16, 330, 16, 346, 550, 63, 330, 174, 346, 64, 174, 347, 174, 2268, 347, 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, 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, 13, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 21, 148, 21, 21, 148, 2274, 21, 321, 362, 19, 321, 21, 21, 362, 20, 657, 21, 391, 22, 21, 22, 22, 391, 657, 22, 1126, 394, 21, 148, 22, 22, 394, 493, 493, 22, 1126, 1604, 22, 30, 30, 30, 30, 30, 564, 681, 22, 681, 33, 33, 33, 33, 33, 35, 407, 35, 35, 413, 30, 407, 33, 33, 413, 19, 33, 35, 35, 33, 20, 19, 564, 495, 35, 495, 20, 34, 34, 34, 34, 34, 36, 417, 36, 36, 21, 495, 417, 34, 34, 1604, 321, 34, 36, 36, 34, 320, 320, 320, 320, 36, 1230, 1230, 22, 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, 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, 25, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 31, 358, 31, 31, 358, 429, 32, 31, 32, 32, 429, 552, 31, 32, 333, 333, 333, 333, 32, 31, 41, 922, 41, 41, 434, 32, 31, 31, 39, 434, 39, 39, 32, 32, 40, 552, 40, 40, 922, 41, 39, 42, 496, 42, 42, 496, 40, 39, 43, 43, 43, 43, 43, 40, 43, 496, 39, 881, 2275, 43, 42, 358, 40, 380, 380, 380, 380, 43, 656, 44, 44, 44, 44, 44, 41, 44, 41, 566, 2278, 45, 44, 45, 45, 31, 46, 881, 46, 46, 44, 32, 37, 37, 37, 37, 37, 42, 333, 42, 45, 924, 656, 566, 51, 46, 51, 51, 45, 444, 51, 37, 467, 46, 444, 51, 1601, 467, 37, 37, 474, 37, 618, 51, 55, 474, 55, 55, 56, 471, 56, 56, 471, 43, 43, 471, 1083, 744, 52, 52, 52, 52, 52, 55, 52, 52, 618, 56, 483, 52, 1083, 45, 37, 483, 44, 44, 46, 52, 492, 51, 1601, 924, 59, 492, 59, 59, 37, 499, 37, 744, 37, 61, 499, 61, 61, 37, 38, 38, 38, 38, 38, 59, 62, 580, 62, 62, 515, 51, 51, 520, 61, 515, 2279, 52, 520, 38, 65, 65, 65, 65, 65, 62, 38, 38, 67, 38, 67, 67, 55, 580, 65, 511, 56, 655, 511, 65, 66, 66, 66, 66, 66, 52, 52, 67, 511, 68, 61, 68, 68, 71, 66, 71, 71, 521, 504, 66, 38, 62, 521, 655, 519, 71, 71, 519, 68, 59, 504, 688, 71, 688, 38, 504, 38, 519, 38, 386, 386, 386, 386, 38, 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, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 53, 820, 53, 53, 699, 820, 53, 54, 699, 54, 54, 53, 699, 54, 57, 699, 57, 57, 54, 53, 57, 58, 2282, 58, 58, 527, 54, 58, 57, 60, 527, 60, 60, 57, 69, 58, 69, 69, 540, 70, 58, 70, 70, 540, 72, 541, 72, 72, 60, 93, 541, 93, 93, 69, 548, 53, 72, 72, 70, 548, 579, 2283, 54, 72, 334, 334, 334, 334, 93, 57, 406, 406, 406, 406, 1237, 1237, 58, 579, 73, 73, 73, 73, 73, 53, 53, 74, 74, 74, 74, 74, 54, 54, 73, 307, 307, 307, 307, 73, 1082, 74, 94, 579, 94, 94, 74, 555, 73, 1082, 1297, 73, 555, 307, 60, 74, 1297, 563, 74, 69, 69, 94, 563, 1140, 70, 70, 75, 75, 75, 75, 75, 77, 1140, 77, 77, 73, 76, 76, 76, 76, 76, 78, 74, 78, 78, 75, 2289, 571, 334, 536, 77, 536, 571, 578, 75, 76, 75, 585, 578, 77, 78, 77, 585, 536, 76, 79, 76, 79, 79, 78, 80, 78, 80, 80, 591, 595, 598, 79, 79, 591, 595, 598, 80, 80, 79, 439, 439, 439, 439, 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 83, 83, 83, 83, 83, 1603, 84, 84, 84, 84, 84, 736, 1724, 736, 83, 440, 440, 440, 440, 83, 84, 441, 441, 441, 441, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 87, 87, 87, 87, 87, 1603, 85, 85, 85, 85, 85, 85, 611, 107, 87, 107, 107, 611, 87, 87, 108, 745, 108, 108, 123, 625, 123, 123, 87, 745, 625, 87, 107, 1724, 85, 85, 85, 85, 101, 108, 101, 101, 102, 123, 102, 102, 428, 428, 428, 428, 101, 813, 101, 905, 102, 87, 102, 101, 428, 813, 905, 102, 905, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 88, 88, 88, 88, 88, 1524, 86, 86, 86, 86, 86, 86, 645, 124, 88, 124, 124, 645, 88, 88, 623, 933, 101, 623, 1524, 933, 102, 109, 88, 109, 109, 88, 124, 623, 86, 86, 86, 86, 617, 110, 109, 110, 110, 617, 650, 2290, 109, 650, 335, 335, 335, 335, 110, 1089, 617, 88, 1089, 650, 110, 454, 454, 454, 454, 86, 86, 86, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 91, 91, 91, 91, 91, 2291, 89, 89, 89, 89, 89, 89, 1171, 117, 117, 117, 117, 117, 874, 91, 947, 1171, 313, 313, 313, 313, 127, 117, 127, 127, 1094, 91, 117, 1094, 89, 89, 89, 89, 118, 118, 118, 118, 118, 335, 874, 127, 947, 313, 460, 460, 460, 460, 118, 1221, 930, 91, 930, 118, 524, 524, 524, 524, 1221, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 92, 92, 92, 92, 92, 1315, 90, 90, 90, 90, 90, 90, 934, 119, 934, 119, 119, 313, 934, 92, 128, 1315, 128, 128, 654, 662, 119, 119, 671, 654, 662, 92, 119, 671, 90, 90, 90, 90, 120, 128, 120, 120, 141, 700, 141, 141, 700, 401, 401, 401, 401, 120, 120, 677, 684, 92, 700, 120, 677, 684, 2292, 141, 401, 90, 90, 90, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 137, 97, 137, 137, 97, 691, 115, 115, 115, 115, 115, 2296, 97, 97, 97, 97, 97, 691, 2297, 137, 115, 138, 691, 138, 138, 115, 1239, 1239, 137, 105, 105, 105, 105, 105, 115, 2298, 940, 115, 940, 97, 138, 97, 97, 142, 636, 142, 142, 636, 105, 138, 402, 402, 402, 402, 525, 525, 525, 525, 105, 697, 946, 115, 142, 636, 697, 402, 1323, 1323, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 946, 98, 105, 145, 98, 145, 145, 116, 116, 116, 116, 116, 98, 98, 98, 98, 98, 1131, 105, 701, 105, 116, 145, 708, 701, 105, 116, 1131, 708, 106, 106, 106, 106, 106, 146, 116, 146, 146, 116, 98, 711, 98, 98, 1605, 151, 711, 151, 151, 106, 308, 308, 308, 308, 146, 526, 526, 526, 526, 106, 716, 719, 724, 116, 151, 716, 719, 724, 308, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 1605, 99, 106, 129, 99, 129, 129, 130, 130, 130, 130, 130, 99, 99, 99, 99, 99, 129, 106, 935, 106, 130, 129, 935, 710, 106, 130, 710, 152, 2299, 152, 152, 554, 147, 129, 554, 147, 710, 130, 99, 1106, 99, 99, 1106, 729, 554, 147, 152, 554, 729, 554, 147, 538, 538, 538, 538, 734, 999, 129, 999, 147, 734, 130, 147, 314, 314, 314, 314, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 147, 100, 314, 131, 100, 131, 131, 133, 1111, 133, 133, 1111, 100, 100, 100, 100, 100, 131, 743, 748, 1294, 131, 131, 743, 748, 191, 133, 191, 191, 192, 1294, 192, 192, 157, 131, 157, 157, 1130, 133, 100, 1130, 100, 100, 2300, 191, 157, 157, 158, 192, 158, 158, 961, 157, 961, 537, 537, 537, 537, 131, 158, 158, 1250, 133, 1250, 2301, 961, 158, 537, 100, 100, 100, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 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, 111, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 132, 132, 132, 132, 132, 134, 1302, 134, 134, 159, 159, 159, 159, 159, 132, 756, 2199, 1302, 132, 132, 756, 159, 159, 1123, 134, 159, 1123, 167, 159, 167, 167, 132, 161, 1262, 161, 161, 134, 160, 160, 160, 160, 160, 768, 167, 1137, 161, 167, 768, 1137, 160, 160, 161, 777, 160, 167, 132, 160, 777, 2199, 1262, 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 162, 1123, 162, 162, 1421, 1421, 135, 135, 135, 135, 135, 135, 592, 162, 163, 163, 163, 163, 163, 162, 793, 315, 315, 315, 315, 793, 163, 163, 1469, 168, 163, 168, 168, 163, 135, 135, 135, 135, 164, 164, 164, 164, 164, 1469, 592, 168, 315, 592, 168, 2187, 164, 164, 592, 919, 164, 919, 168, 164, 562, 562, 562, 562, 2302, 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 169, 169, 169, 169, 169, 2187, 136, 136, 136, 136, 136, 136, 1574, 1574, 1288, 318, 318, 318, 318, 169, 203, 919, 203, 203, 204, 1292, 204, 204, 1292, 1403, 179, 169, 179, 179, 136, 136, 136, 136, 179, 203, 318, 1288, 318, 204, 179, 569, 569, 569, 569, 179, 605, 605, 605, 605, 1587, 169, 1403, 332, 332, 332, 332, 179, 1587, 136, 136, 136, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 332, 139, 1290, 179, 139, 170, 170, 170, 170, 170, 1471, 1290, 139, 139, 139, 139, 139, 667, 667, 211, 667, 211, 211, 1097, 170, 212, 1097, 212, 212, 1305, 667, 739, 180, 1305, 180, 180, 170, 1471, 211, 139, 180, 139, 139, 739, 212, 796, 180, 211, 739, 1243, 796, 180, 1243, 212, 606, 606, 606, 606, 1135, 332, 170, 1135, 1243, 180, 339, 339, 339, 339, 139, 139, 139, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 180, 140, 339, 181, 140, 181, 181, 356, 356, 356, 356, 181, 140, 140, 140, 140, 140, 181, 1097, 2214, 1322, 233, 181, 233, 233, 215, 215, 215, 215, 215, 1322, 1135, 356, 544, 181, 182, 544, 182, 182, 140, 233, 140, 140, 182, 215, 234, 1597, 234, 234, 182, 403, 403, 403, 403, 182, 1434, 2192, 1434, 181, 608, 608, 608, 608, 544, 234, 403, 182, 2214, 140, 140, 140, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 544, 143, 2303, 182, 143, 189, 189, 189, 189, 189, 1597, 1597, 143, 143, 143, 143, 143, 2304, 216, 216, 216, 216, 216, 2192, 189, 217, 217, 217, 217, 217, 1632, 1632, 195, 189, 195, 195, 189, 216, 801, 143, 1751, 143, 143, 801, 217, 218, 218, 218, 218, 218, 593, 195, 539, 539, 539, 539, 1320, 839, 593, 1320, 189, 593, 839, 195, 218, 539, 593, 1751, 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 195, 144, 1636, 1636, 144, 190, 190, 190, 190, 190, 1640, 1640, 144, 144, 144, 144, 144, 2305, 219, 219, 219, 219, 219, 2194, 190, 220, 220, 220, 220, 220, 1859, 1672, 196, 190, 196, 196, 190, 219, 1859, 144, 584, 144, 144, 584, 220, 221, 221, 221, 221, 221, 811, 196, 1345, 584, 811, 811, 584, 825, 584, 1672, 190, 825, 825, 196, 221, 1441, 2194, 1441, 144, 144, 144, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 196, 149, 2001, 1945, 149, 222, 222, 222, 222, 222, 2001, 1345, 149, 149, 149, 149, 149, 225, 225, 225, 225, 225, 1467, 2306, 222, 226, 226, 226, 226, 226, 1945, 2307, 223, 843, 223, 223, 225, 1396, 843, 149, 1396, 149, 149, 235, 226, 235, 235, 236, 1467, 236, 236, 223, 612, 612, 612, 612, 614, 614, 614, 614, 852, 1225, 235, 223, 1225, 852, 236, 1225, 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 223, 150, 1319, 224, 150, 224, 224, 229, 2058, 229, 229, 1319, 150, 150, 150, 150, 150, 237, 1319, 237, 237, 229, 224, 237, 857, 238, 229, 238, 238, 857, 243, 238, 243, 243, 224, 2058, 237, 720, 229, 150, 720, 150, 150, 823, 238, 239, 823, 239, 239, 243, 2308, 239, 633, 633, 633, 633, 823, 2309, 224, 823, 863, 868, 229, 720, 239, 863, 868, 720, 150, 150, 150, 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, 153, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 230, 1321, 230, 230, 1555, 1321, 171, 171, 171, 171, 171, 171, 871, 244, 230, 244, 244, 871, 1418, 230, 240, 1418, 240, 240, 698, 251, 240, 251, 251, 1327, 1555, 230, 244, 1327, 171, 171, 171, 171, 252, 240, 252, 252, 2310, 257, 251, 257, 257, 660, 660, 660, 660, 1715, 698, 876, 1715, 230, 698, 252, 876, 698, 2311, 1556, 257, 171, 171, 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 1556, 1392, 558, 251, 1392, 558, 172, 172, 172, 172, 172, 172, 255, 878, 255, 255, 252, 251, 878, 256, 1392, 256, 256, 2312, 884, 258, 255, 258, 258, 884, 252, 255, 558, 256, 172, 172, 172, 172, 256, 263, 1258, 263, 263, 1258, 258, 263, 707, 707, 707, 707, 263, 263, 263, 1258, 2313, 1477, 558, 1477, 263, 759, 759, 759, 759, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 1865, 259, 175, 259, 259, 260, 1032, 260, 260, 1032, 175, 175, 175, 175, 175, 264, 1865, 264, 264, 1032, 259, 264, 1032, 2314, 260, 890, 264, 264, 264, 259, 890, 259, 1419, 260, 264, 260, 1419, 175, 175, 175, 175, 261, 1341, 261, 261, 893, 269, 261, 269, 269, 893, 2339, 261, 776, 776, 776, 776, 1341, 1341, 2340, 261, 803, 803, 803, 803, 269, 175, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 2341, 270, 176, 270, 270, 309, 309, 309, 309, 261, 176, 176, 176, 176, 176, 265, 1395, 265, 265, 1395, 270, 265, 266, 309, 266, 266, 265, 1799, 266, 357, 357, 357, 357, 266, 265, 1395, 1799, 176, 176, 176, 176, 266, 2342, 265, 267, 265, 267, 267, 896, 1969, 266, 899, 266, 896, 357, 1730, 899, 1730, 267, 804, 804, 804, 804, 267, 2346, 1969, 176, 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 193, 193, 193, 193, 193, 193, 193, 193, 904, 193, 193, 193, 193, 904, 1802, 193, 262, 193, 262, 262, 193, 923, 262, 352, 352, 352, 352, 262, 193, 193, 193, 193, 193, 923, 205, 262, 205, 205, 923, 1802, 268, 352, 268, 268, 275, 275, 275, 275, 275, 277, 2108, 277, 277, 205, 268, 193, 193, 193, 193, 268, 928, 2351, 932, 275, 205, 928, 277, 932, 277, 2353, 955, 262, 275, 205, 275, 955, 1222, 2108, 205, 1222, 381, 381, 381, 381, 193, 193, 194, 194, 194, 194, 194, 194, 194, 194, 1222, 194, 194, 194, 194, 205, 1744, 194, 1744, 194, 205, 381, 194, 353, 353, 353, 353, 2354, 1541, 1541, 194, 194, 194, 194, 194, 1310, 1541, 206, 1310, 206, 206, 353, 271, 271, 271, 271, 271, 278, 271, 278, 278, 1310, 1954, 271, 271, 271, 206, 194, 194, 194, 194, 271, 1954, 2355, 278, 1541, 278, 206, 805, 805, 805, 805, 833, 833, 833, 833, 206, 906, 906, 906, 906, 206, 419, 419, 419, 419, 194, 194, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 419, 206, 197, 197, 197, 197, 206, 197, 276, 276, 276, 276, 276, 943, 1800, 197, 197, 197, 197, 197, 272, 272, 272, 272, 272, 943, 272, 276, 1800, 969, 943, 272, 272, 272, 969, 978, 276, 1734, 276, 272, 978, 1734, 197, 197, 197, 197, 287, 1606, 287, 287, 987, 289, 287, 289, 289, 987, 997, 289, 2011, 2011, 287, 997, 289, 289, 289, 287, 908, 908, 908, 908, 289, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 1606, 1559, 198, 198, 198, 198, 279, 198, 279, 279, 281, 2356, 281, 281, 287, 198, 198, 198, 198, 198, 273, 273, 273, 273, 273, 279, 273, 1559, 2126, 281, 1561, 273, 273, 367, 367, 367, 367, 279, 993, 273, 993, 281, 198, 198, 198, 198, 1265, 2358, 273, 1265, 273, 290, 993, 290, 290, 2126, 1561, 290, 367, 1265, 367, 279, 290, 290, 290, 281, 909, 909, 909, 909, 290, 198, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 588, 199, 1829, 588, 199, 2360, 361, 361, 361, 361, 965, 1829, 199, 199, 199, 199, 199, 274, 274, 274, 274, 274, 965, 274, 361, 2137, 1002, 965, 274, 274, 588, 1002, 288, 2361, 288, 288, 274, 1268, 288, 199, 1268, 199, 199, 1010, 1018, 274, 288, 274, 1010, 1018, 1268, 288, 2137, 2203, 588, 889, 889, 889, 889, 889, 849, 849, 849, 849, 382, 382, 382, 382, 199, 199, 199, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 288, 200, 382, 849, 200, 280, 280, 280, 280, 280, 2362, 2200, 200, 200, 200, 200, 200, 2203, 1565, 280, 364, 364, 364, 364, 280, 1025, 291, 849, 291, 291, 1025, 634, 291, 2363, 634, 1029, 280, 291, 364, 200, 1029, 200, 200, 1033, 1565, 291, 1045, 292, 1033, 292, 292, 1045, 1852, 292, 910, 910, 910, 910, 292, 634, 280, 1852, 372, 372, 372, 372, 292, 2200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 372, 201, 372, 634, 201, 282, 282, 282, 282, 282, 2364, 1566, 201, 201, 201, 201, 201, 1289, 2365, 282, 1289, 634, 291, 291, 282, 369, 369, 369, 369, 371, 371, 371, 371, 1652, 2367, 1289, 282, 1566, 848, 201, 848, 201, 201, 292, 292, 372, 771, 771, 771, 771, 369, 1737, 369, 1054, 371, 1737, 371, 848, 1054, 1652, 282, 771, 370, 370, 370, 370, 848, 2189, 201, 201, 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 370, 202, 370, 2198, 202, 369, 848, 917, 917, 917, 917, 371, 202, 202, 202, 202, 202, 387, 387, 387, 387, 285, 285, 285, 285, 285, 2189, 285, 378, 378, 378, 378, 285, 285, 1789, 387, 1789, 285, 1064, 202, 285, 202, 202, 1064, 370, 1997, 2198, 1997, 285, 388, 388, 388, 388, 378, 370, 378, 892, 892, 892, 892, 892, 1071, 383, 383, 383, 383, 1071, 388, 202, 202, 202, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 383, 207, 1596, 1665, 207, 1666, 378, 850, 850, 850, 850, 207, 207, 207, 207, 207, 207, 285, 1975, 1081, 374, 374, 374, 374, 1081, 385, 385, 385, 385, 1665, 1975, 1666, 286, 286, 286, 286, 286, 850, 286, 207, 207, 207, 207, 286, 286, 374, 1596, 374, 286, 1854, 385, 286, 385, 895, 895, 895, 895, 895, 1854, 286, 1596, 850, 373, 373, 373, 373, 950, 2144, 207, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 373, 208, 373, 950, 208, 1112, 374, 2144, 1941, 374, 1112, 208, 208, 208, 208, 208, 208, 1941, 376, 376, 376, 376, 375, 375, 375, 375, 1118, 950, 286, 2368, 2251, 1118, 373, 1120, 377, 377, 377, 377, 1120, 208, 208, 208, 208, 376, 1241, 376, 1241, 375, 2369, 375, 1224, 772, 772, 772, 772, 1224, 1739, 950, 1241, 377, 1739, 377, 414, 414, 414, 414, 772, 2370, 208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 376, 209, 209, 209, 209, 209, 209, 209, 375, 209, 2251, 414, 209, 389, 389, 389, 389, 2372, 375, 376, 209, 209, 209, 209, 377, 390, 390, 390, 390, 377, 2373, 389, 1830, 398, 398, 398, 398, 415, 415, 415, 415, 1141, 414, 390, 1141, 1141, 1830, 209, 209, 209, 209, 398, 470, 470, 470, 470, 414, 1853, 414, 1141, 414, 449, 449, 449, 449, 415, 416, 416, 416, 416, 470, 1853, 450, 450, 450, 450, 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 449, 210, 210, 210, 210, 210, 210, 210, 416, 210, 415, 450, 210, 451, 451, 451, 451, 2374, 1750, 1959, 210, 210, 210, 210, 415, 1999, 415, 1961, 415, 453, 453, 453, 453, 455, 455, 455, 455, 1999, 451, 416, 456, 456, 456, 456, 1750, 1959, 1266, 210, 210, 210, 210, 1266, 2042, 416, 453, 416, 1342, 416, 455, 773, 773, 773, 773, 1342, 2042, 456, 898, 898, 898, 898, 898, 1342, 1342, 1961, 773, 1961, 210, 210, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 1974, 231, 2151, 1974, 231, 457, 457, 457, 457, 2190, 2375, 2062, 231, 231, 231, 231, 231, 1005, 1005, 1005, 1005, 438, 2376, 438, 438, 1313, 1272, 438, 1313, 2151, 457, 1272, 438, 459, 459, 459, 459, 2062, 1313, 231, 438, 231, 231, 510, 510, 510, 2210, 510, 570, 570, 570, 570, 907, 907, 907, 907, 907, 510, 459, 1740, 1280, 570, 510, 1740, 570, 1280, 570, 2190, 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 581, 232, 2377, 2210, 232, 1318, 553, 574, 1318, 553, 574, 510, 232, 232, 232, 232, 232, 438, 438, 553, 574, 2378, 1172, 1318, 553, 1172, 1172, 581, 581, 581, 1614, 581, 581, 1614, 2379, 581, 553, 574, 581, 232, 1172, 232, 232, 581, 581, 2380, 1614, 581, 589, 589, 589, 589, 2381, 2382, 778, 778, 778, 778, 1424, 1798, 553, 574, 1424, 778, 1798, 1424, 589, 778, 232, 232, 232, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 1718, 247, 1718, 1855, 247, 567, 567, 567, 567, 2178, 2383, 2178, 247, 247, 247, 247, 247, 1855, 567, 590, 590, 590, 590, 567, 599, 599, 599, 599, 600, 600, 600, 600, 462, 2026, 462, 567, 2026, 590, 462, 247, 247, 247, 247, 462, 2384, 779, 779, 779, 779, 599, 1736, 462, 1736, 600, 779, 1718, 1736, 2208, 779, 567, 851, 851, 851, 851, 601, 601, 601, 601, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 462, 248, 601, 851, 248, 583, 594, 1282, 583, 594, 1282, 1911, 248, 248, 248, 248, 248, 1340, 583, 604, 604, 604, 604, 583, 594, 1911, 2208, 851, 462, 462, 627, 627, 627, 627, 1340, 583, 594, 1282, 1942, 248, 248, 248, 248, 582, 604, 1595, 582, 582, 582, 1326, 582, 582, 1942, 1326, 582, 627, 1326, 582, 1340, 583, 594, 1282, 582, 582, 2103, 2385, 582, 1326, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 2000, 249, 1295, 2103, 249, 628, 628, 628, 628, 2195, 2000, 1595, 249, 249, 249, 249, 249, 1595, 629, 629, 629, 629, 632, 632, 632, 632, 782, 782, 782, 782, 628, 2386, 2104, 658, 658, 658, 658, 1382, 2197, 249, 1382, 249, 249, 629, 782, 936, 658, 632, 1295, 936, 1382, 658, 780, 780, 780, 780, 2193, 936, 2104, 2215, 1295, 780, 936, 658, 1295, 780, 2387, 2195, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 658, 250, 663, 2197, 250, 661, 661, 661, 661, 2193, 2209, 2265, 250, 250, 250, 250, 250, 1273, 661, 1273, 2265, 661, 1560, 661, 1006, 1006, 1006, 1006, 2215, 663, 663, 1273, 663, 663, 663, 661, 1560, 663, 2221, 250, 2221, 250, 250, 663, 1355, 663, 663, 1355, 1560, 663, 663, 781, 781, 781, 781, 1007, 1007, 1007, 1007, 661, 781, 1862, 1355, 1560, 781, 2388, 1862, 2209, 250, 250, 250, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 355, 355, 355, 355, 664, 2389, 355, 664, 664, 721, 664, 664, 664, 718, 2217, 664, 718, 1383, 1577, 723, 1383, 664, 723, 664, 664, 355, 718, 664, 664, 2390, 1383, 1577, 723, 973, 1577, 973, 721, 723, 721, 973, 721, 721, 1031, 718, 973, 1031, 2391, 721, 1765, 723, 1765, 1452, 721, 721, 1452, 1031, 721, 2107, 2012, 355, 1031, 355, 1765, 1876, 1452, 355, 1876, 718, 355, 355, 2217, 355, 2012, 723, 355, 355, 355, 355, 551, 722, 2201, 1876, 722, 2107, 722, 2109, 722, 722, 973, 753, 753, 753, 753, 722, 783, 783, 783, 783, 722, 722, 1955, 1275, 722, 1275, 1955, 551, 551, 551, 551, 551, 551, 2109, 783, 551, 753, 1275, 551, 551, 551, 551, 1275, 551, 551, 551, 551, 551, 565, 750, 750, 750, 750, 2393, 2201, 2395, 754, 754, 754, 754, 755, 755, 755, 755, 1009, 1009, 1009, 1009, 750, 750, 750, 750, 750, 750, 750, 565, 565, 565, 565, 565, 565, 754, 1009, 565, 2396, 755, 565, 565, 565, 565, 2397, 565, 565, 565, 565, 565, 565, 758, 758, 758, 758, 761, 761, 761, 761, 767, 767, 767, 767, 789, 789, 789, 761, 789, 2392, 2392, 767, 822, 822, 822, 822, 810, 758, 2202, 810, 810, 2399, 761, 789, 2191, 822, 767, 810, 822, 2113, 822, 812, 810, 812, 812, 812, 1784, 824, 1784, 2176, 824, 824, 812, 828, 828, 828, 828, 812, 824, 761, 1784, 2176, 2176, 824, 1314, 2113, 810, 1314, 2202, 789, 829, 829, 829, 829, 830, 830, 830, 830, 828, 2218, 2191, 812, 832, 832, 832, 832, 2206, 824, 912, 912, 912, 912, 767, 800, 1314, 829, 1950, 800, 1950, 830, 2250, 800, 1952, 2250, 1952, 800, 800, 832, 2400, 1307, 1950, 800, 1307, 912, 800, 800, 1952, 1311, 1314, 800, 1311, 800, 1307, 800, 2204, 1307, 1460, 800, 2401, 1460, 1311, 800, 800, 1311, 800, 2218, 800, 1466, 800, 1460, 1466, 2402, 800, 814, 2206, 911, 911, 911, 911, 2403, 1466, 913, 913, 913, 913, 1600, 2114, 814, 911, 1015, 1015, 1015, 1015, 911, 2204, 914, 914, 914, 914, 2406, 814, 814, 814, 814, 814, 814, 913, 814, 814, 2117, 814, 814, 2114, 814, 814, 2207, 814, 814, 814, 814, 914, 1016, 1016, 1016, 1016, 1600, 814, 814, 814, 814, 814, 814, 2407, 814, 814, 2117, 814, 814, 1600, 814, 814, 1600, 2408, 814, 814, 814, 814, 815, 815, 815, 815, 916, 916, 916, 916, 971, 971, 971, 971, 1017, 1017, 1017, 1017, 2409, 2410, 951, 971, 2207, 815, 2216, 815, 815, 951, 981, 2266, 981, 916, 951, 1352, 981, 971, 1352, 2411, 2119, 981, 981, 981, 2412, 2266, 951, 1806, 1352, 981, 1806, 1352, 815, 1352, 2413, 815, 815, 815, 815, 815, 1806, 2371, 815, 815, 2371, 815, 2119, 815, 2414, 815, 951, 815, 815, 815, 815, 815, 815, 816, 1095, 1095, 1095, 1095, 816, 1989, 2216, 816, 1989, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 2120, 1553, 1989, 951, 816, 1004, 1004, 1004, 1004, 1004, 1553, 1004, 1038, 1038, 1038, 1038, 1004, 1004, 1004, 1039, 1039, 1039, 1039, 1522, 1004, 1522, 2120, 1553, 816, 1522, 1038, 1040, 1040, 1040, 1040, 2318, 1553, 1039, 1044, 1044, 1044, 1044, 1522, 2416, 2318, 1046, 1046, 1046, 1046, 1040, 1080, 1080, 1080, 1080, 1353, 2350, 1044, 1353, 816, 817, 817, 817, 817, 1046, 2350, 1057, 2030, 1057, 1080, 2030, 817, 1057, 1086, 1086, 1086, 1086, 1057, 1057, 1057, 1066, 817, 1066, 817, 817, 1353, 1066, 1102, 1102, 1102, 1102, 1066, 1087, 1087, 1087, 1087, 2030, 2417, 1086, 1090, 1090, 1090, 1090, 2418, 1117, 1117, 1117, 1117, 817, 1353, 2394, 817, 817, 817, 817, 817, 817, 1087, 817, 817, 2419, 817, 1117, 817, 1090, 817, 2394, 817, 817, 817, 817, 817, 817, 818, 1091, 1091, 1091, 1091, 818, 2415, 2415, 818, 2169, 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, 2099, 2420, 1086, 2099, 818, 2169, 1091, 2169, 1091, 2421, 1066, 1066, 1092, 1092, 1092, 1092, 1096, 1096, 1096, 1096, 1099, 1099, 1099, 1099, 1103, 1103, 1103, 1103, 818, 2099, 1090, 1101, 1101, 1101, 1101, 1427, 1427, 1092, 1427, 1092, 2423, 2424, 1571, 1096, 1470, 1099, 1571, 1470, 1427, 818, 1104, 1104, 1104, 1104, 2425, 1571, 1101, 1470, 818, 844, 2429, 1579, 1470, 844, 844, 1579, 844, 844, 844, 2430, 1579, 844, 2431, 844, 1105, 1105, 1105, 1105, 2092, 2092, 844, 2122, 844, 844, 844, 2432, 2092, 1107, 1107, 1107, 1107, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1105, 1119, 1119, 1119, 1119, 1099, 2196, 1103, 2122, 844, 2433, 844, 844, 1107, 1116, 1948, 2092, 1108, 1948, 1119, 2434, 1109, 2435, 1116, 1116, 1116, 1116, 1116, 1948, 1122, 1122, 1122, 1122, 1104, 1138, 1138, 1138, 1138, 2436, 1988, 844, 845, 1988, 2130, 2437, 845, 845, 1138, 845, 845, 845, 2196, 1988, 845, 1122, 845, 1139, 1139, 1139, 1139, 2196, 1521, 845, 1521, 845, 845, 845, 1521, 2134, 2130, 1107, 1142, 1142, 1142, 1142, 1143, 1143, 1143, 1143, 1521, 1521, 1139, 1144, 1144, 1144, 1144, 1161, 1161, 1161, 1161, 845, 2438, 845, 845, 2134, 1339, 1142, 2439, 1339, 2479, 1143, 2505, 1143, 1163, 1163, 1163, 1163, 1144, 1339, 1144, 1146, 1146, 1146, 1146, 1147, 1147, 1147, 1147, 2135, 2515, 1804, 845, 846, 1804, 2188, 1339, 846, 846, 1163, 846, 846, 846, 2532, 1804, 846, 1146, 846, 1146, 1804, 1147, 1602, 1147, 1593, 846, 2135, 846, 846, 846, 1754, 1339, 1148, 1148, 1148, 1148, 2533, 1142, 1149, 1149, 1149, 1149, 1150, 1150, 1150, 1150, 2535, 1991, 2188, 1146, 1991, 2537, 2538, 846, 1754, 846, 846, 1148, 2188, 1148, 1991, 2539, 1602, 1149, 1593, 1149, 1602, 1150, 1593, 1150, 2234, 1602, 1147, 1151, 1151, 1151, 1151, 1593, 1754, 1153, 1153, 1153, 1153, 2138, 846, 1121, 1121, 1121, 1121, 2440, 2540, 1121, 2213, 1152, 1152, 1152, 1152, 2234, 1151, 2542, 1151, 2543, 1150, 2440, 1153, 1149, 1153, 1148, 1754, 2138, 1121, 2544, 2481, 1149, 1165, 1165, 1165, 1165, 1152, 2142, 1152, 2545, 1154, 1154, 1154, 1154, 1169, 1169, 1169, 1169, 1155, 1155, 1155, 1155, 2213, 1611, 2213, 1153, 1611, 1165, 2481, 1151, 2546, 2547, 1121, 2142, 1121, 1154, 1611, 1154, 1121, 1611, 1756, 1121, 1121, 1155, 1121, 1155, 1152, 1121, 1121, 1121, 1121, 1152, 1156, 1156, 1156, 1156, 1157, 1157, 1157, 1157, 1158, 1158, 1158, 1158, 1756, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1160, 1154, 2541, 1155, 2548, 1156, 2426, 1156, 2551, 1157, 2541, 1157, 2549, 1158, 1165, 1158, 1756, 2549, 1159, 1155, 1159, 2553, 1160, 2143, 1160, 1162, 1162, 1162, 1162, 1166, 1166, 1166, 1166, 2426, 1167, 1167, 1167, 1167, 1170, 1170, 1170, 1170, 1174, 1174, 1174, 1174, 1756, 1615, 1156, 2143, 1615, 2554, 1162, 1158, 1166, 1157, 1166, 1174, 1159, 1167, 1615, 1167, 2557, 1615, 1615, 1170, 1175, 1175, 1175, 1175, 1160, 1176, 1176, 1176, 1176, 1177, 1177, 1177, 1177, 1178, 1178, 1178, 1178, 1183, 1183, 1183, 1183, 1184, 1184, 1184, 1184, 2146, 1189, 1189, 1189, 1189, 2106, 2222, 1178, 2106, 2222, 2240, 1183, 1177, 1189, 1190, 1190, 1190, 1190, 1193, 2222, 1193, 1193, 2222, 2558, 1193, 1190, 2146, 2555, 2555, 1193, 1195, 1195, 1195, 1195, 2106, 1200, 2240, 1193, 1196, 1196, 1196, 1196, 2559, 1177, 1200, 1200, 1200, 1200, 1200, 1201, 1201, 1201, 1201, 1204, 1204, 1204, 1204, 1177, 2560, 1177, 2562, 1177, 1206, 1206, 1206, 1206, 1207, 1207, 1207, 1207, 1208, 1208, 1208, 1208, 1210, 1210, 1210, 1210, 1204, 1212, 1212, 1212, 1212, 1213, 1213, 1213, 1213, 1206, 2606, 2093, 2093, 1207, 1214, 1214, 1214, 1214, 2565, 2093, 2566, 1210, 2576, 1193, 1193, 1217, 1212, 1217, 1220, 2211, 1213, 1217, 1223, 1223, 1223, 1223, 1217, 1220, 1220, 1220, 1220, 1220, 2584, 2607, 1217, 1256, 1256, 1256, 2093, 1256, 1223, 1269, 1269, 1269, 1269, 1277, 1277, 1277, 1277, 1256, 1276, 1276, 1276, 1276, 1256, 2581, 2565, 2566, 1206, 1331, 1331, 1331, 1331, 1276, 2211, 2241, 1306, 2211, 2576, 1306, 1217, 1334, 1334, 1334, 1334, 1212, 2211, 2211, 2584, 1306, 1336, 1336, 1336, 1336, 1306, 1562, 2366, 1334, 1562, 2366, 1256, 2241, 1332, 1332, 1332, 1332, 1306, 2581, 1217, 1217, 1283, 1283, 1283, 1283, 1283, 1332, 2100, 1283, 1332, 2100, 1283, 1283, 1283, 1283, 1562, 1283, 1283, 1283, 1283, 1283, 1306, 1329, 1329, 1329, 1329, 1337, 1337, 1337, 1337, 1351, 1360, 1562, 1351, 1360, 1329, 2100, 2567, 2609, 1337, 1329, 2610, 1337, 1351, 1356, 1356, 1356, 1356, 1351, 1360, 2366, 2100, 1329, 1363, 1363, 1363, 1363, 2254, 2611, 1562, 1351, 1360, 1356, 1366, 1366, 1366, 1366, 1367, 1367, 1367, 1367, 1368, 1368, 1368, 1368, 2561, 1329, 2100, 1363, 1370, 1370, 1370, 1370, 2254, 1351, 1360, 1391, 2255, 1366, 1391, 2567, 2561, 1367, 1375, 1375, 1375, 1375, 1385, 1385, 1385, 1385, 1387, 1387, 1387, 1387, 1388, 1388, 1388, 1388, 1389, 1389, 1389, 1389, 2255, 1391, 2571, 1405, 1405, 1405, 1405, 2569, 1773, 1385, 1773, 2614, 2115, 1387, 1773, 2115, 1405, 1388, 2599, 1773, 2457, 1405, 1407, 1407, 1407, 1407, 1408, 1408, 1408, 1408, 2615, 2471, 1391, 1405, 1366, 1413, 1413, 1413, 1413, 1408, 2616, 2115, 1408, 2575, 1408, 1410, 1410, 2457, 1410, 1410, 1391, 2352, 2422, 1410, 2569, 2101, 1408, 1405, 2471, 1410, 2571, 1410, 1410, 1773, 2101, 1410, 1410, 1411, 1411, 1411, 1411, 2599, 1387, 1414, 1414, 1414, 1414, 2352, 2422, 2618, 1408, 2101, 2580, 1411, 1415, 1415, 1414, 1415, 1415, 1414, 2101, 2575, 1415, 1416, 1416, 1416, 1416, 1411, 1415, 2118, 1415, 1415, 2118, 1414, 1415, 1415, 1416, 1462, 1462, 1462, 1462, 1463, 1463, 1463, 1463, 1488, 1488, 1488, 1488, 2449, 2450, 1411, 2271, 1416, 1463, 2271, 2572, 1414, 2118, 1489, 1489, 1489, 1489, 2580, 2583, 2271, 1491, 1491, 1491, 1491, 1488, 1492, 1492, 1492, 1492, 2449, 2450, 1416, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1494, 1494, 1494, 1494, 1492, 1495, 1495, 1495, 1495, 1496, 1496, 1496, 1496, 1498, 1498, 1498, 1498, 1502, 1502, 1502, 1502, 2572, 2583, 2585, 1498, 1494, 2121, 2621, 1502, 2121, 1495, 1505, 1505, 1505, 1505, 1506, 1506, 1506, 1506, 1498, 2577, 2451, 2453, 1502, 2622, 2626, 1505, 1507, 1507, 1507, 1507, 1508, 1508, 1508, 1508, 2121, 1509, 1509, 1509, 1509, 1508, 2637, 2638, 2639, 1508, 1509, 1498, 2451, 2453, 1509, 1514, 1514, 1514, 2585, 1514, 1530, 1530, 1530, 1530, 1531, 1531, 1531, 1531, 2640, 1494, 1532, 1532, 1532, 1532, 1514, 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534, 2577, 1502, 1535, 1535, 1535, 1535, 1536, 1563, 2461, 1552, 2465, 1536, 1552, 1563, 1563, 1569, 1569, 1569, 1569, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1542, 1514, 1543, 1542, 1542, 1543, 1543, 1563, 2461, 2469, 2465, 1542, 1552, 1543, 1563, 1563, 1542, 1547, 1543, 1547, 1547, 1547, 1568, 1568, 1568, 1568, 2591, 1552, 1547, 1552, 2205, 2582, 2642, 1547, 1558, 2469, 2470, 1558, 2594, 2587, 1542, 1548, 1543, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1552, 2598, 2645, 1552, 1547, 1536, 1554, 2473, 1554, 2470, 1558, 2110, 1569, 1554, 2110, 1557, 1557, 1557, 2647, 2205, 1554, 2582, 2249, 1558, 1558, 2249, 2587, 2249, 1548, 1568, 1557, 2591, 1554, 2473, 1554, 2205, 2594, 2205, 1568, 1554, 2110, 1557, 1568, 2648, 2478, 1568, 1644, 1554, 1644, 1558, 1558, 1570, 1570, 1570, 1570, 2598, 1557, 2110, 1548, 1550, 1550, 1550, 1550, 1550, 1550, 1644, 1550, 1550, 1557, 1550, 1550, 2478, 1550, 1550, 1644, 1550, 1550, 1550, 1550, 1572, 1572, 1572, 1572, 2595, 2110, 1550, 1550, 1550, 1550, 1550, 1550, 1564, 1550, 1550, 1564, 1550, 1550, 2485, 1550, 1550, 2620, 1644, 1550, 1550, 1550, 1550, 1564, 2649, 1564, 1575, 1575, 1575, 1575, 1598, 1598, 1598, 1598, 1564, 2650, 2593, 1564, 1570, 2596, 2485, 1591, 1591, 1591, 1591, 2620, 2651, 1598, 2123, 2484, 1564, 2123, 1564, 1590, 1590, 1590, 1590, 2124, 1591, 2595, 2124, 1592, 1592, 1592, 1592, 1572, 1623, 1623, 1623, 1623, 1590, 1646, 1646, 1646, 1646, 1572, 2484, 2123, 1592, 1594, 1594, 1594, 1594, 1575, 2593, 2125, 2124, 1598, 2125, 2495, 2127, 1575, 1586, 2127, 2502, 1598, 1594, 1586, 2596, 2596, 1586, 1646, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 2508, 1590, 2125, 2495, 1586, 1591, 1592, 2127, 2502, 2128, 1590, 2652, 2128, 1646, 1590, 2129, 1592, 1590, 2129, 1592, 2512, 1610, 1610, 1610, 1610, 2653, 2654, 2508, 1586, 1619, 1619, 1619, 1619, 2655, 1610, 2656, 1594, 1610, 2128, 1610, 1621, 1621, 1621, 1621, 2129, 2657, 1594, 2512, 2658, 1647, 1647, 1647, 1647, 2131, 1619, 2145, 2131, 2658, 1586, 1588, 1622, 1622, 1622, 1622, 1588, 1621, 2659, 1588, 2145, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1647, 2511, 2145, 2131, 1588, 1634, 1622, 2660, 2132, 1634, 1634, 2132, 1634, 1634, 1634, 2145, 2573, 1634, 2574, 1634, 1700, 1700, 1700, 1700, 1647, 2518, 1638, 2511, 1588, 1634, 1638, 1638, 2579, 1638, 1638, 1638, 2136, 2132, 1638, 2136, 1638, 1701, 1701, 1701, 1701, 1621, 1702, 1702, 1702, 1702, 1638, 2518, 2139, 2519, 1634, 2139, 1634, 1634, 1588, 1633, 2573, 2597, 2574, 1633, 1633, 2136, 1633, 1633, 1633, 2661, 2683, 1633, 2685, 1633, 2586, 1638, 2579, 1638, 1638, 2519, 1633, 2139, 1633, 1633, 1633, 1634, 1678, 1678, 1678, 1678, 1678, 1683, 1683, 1683, 1683, 1683, 1688, 1688, 1688, 1688, 1688, 1693, 1693, 1693, 1693, 1693, 1638, 2588, 1633, 2687, 1633, 1633, 1703, 1703, 1703, 1703, 1703, 1642, 2586, 2597, 2522, 1642, 1642, 2688, 1642, 1642, 1642, 2608, 2690, 1642, 2693, 1642, 1704, 1704, 1704, 1704, 2602, 2694, 2695, 1633, 1637, 1642, 2698, 2699, 1637, 1637, 2522, 1637, 1637, 1637, 2700, 2588, 1637, 2608, 1637, 1705, 1705, 1705, 1705, 1705, 2701, 1637, 2702, 1637, 1637, 1637, 1642, 2703, 1642, 1642, 1706, 1706, 1706, 1706, 1706, 1707, 1707, 1707, 1707, 1708, 1708, 1708, 1708, 1709, 1709, 1709, 1709, 2589, 2602, 1637, 2578, 1637, 1637, 1711, 1711, 1711, 1711, 1642, 1712, 1712, 1712, 1712, 2706, 1712, 1714, 1714, 1714, 1714, 1709, 1713, 1713, 1713, 1713, 1769, 1769, 1769, 1769, 2707, 1711, 2550, 1637, 1641, 2550, 1712, 1769, 1641, 1641, 2600, 1641, 1641, 1641, 2589, 2578, 1641, 1713, 1641, 2589, 1779, 1769, 1779, 2578, 2709, 1641, 1779, 1641, 1641, 1641, 2711, 1779, 1779, 1779, 1782, 1796, 1796, 1796, 1796, 1779, 2712, 2713, 2714, 1782, 1782, 1782, 1782, 1782, 1797, 1797, 1797, 1797, 2715, 1641, 2140, 1641, 1641, 2140, 2600, 2550, 1711, 1794, 1794, 1794, 1794, 1794, 1797, 1794, 1801, 1801, 1801, 1801, 1794, 1794, 1794, 2716, 1810, 2718, 2223, 2705, 1794, 2223, 2705, 2140, 1641, 1810, 1810, 1810, 1810, 1810, 1816, 2223, 1816, 2617, 2223, 1819, 1816, 1834, 1834, 1834, 1834, 1816, 1816, 1816, 1819, 1819, 1819, 1819, 1819, 1823, 2147, 1823, 1826, 2147, 2719, 1823, 1832, 1832, 1832, 1832, 1823, 1826, 1826, 1826, 1826, 1826, 1833, 1833, 1833, 1833, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836, 2720, 2147, 2721, 1832, 1837, 1837, 1837, 1837, 1838, 1838, 1838, 1838, 2722, 1833, 2723, 1833, 2724, 2148, 2708, 1835, 2148, 2708, 2725, 1836, 1839, 1839, 1839, 1839, 2726, 1837, 2727, 2617, 2728, 1838, 1840, 1840, 1840, 1840, 1843, 1843, 1843, 1843, 1871, 1871, 1871, 1871, 2148, 1851, 2729, 1839, 1870, 1870, 1870, 1870, 1823, 1823, 1851, 1851, 1851, 1851, 1851, 2710, 1832, 1870, 2710, 2730, 2731, 1871, 1872, 1872, 1872, 1872, 1879, 1879, 1879, 1879, 1880, 1880, 1880, 1880, 1881, 1881, 1881, 1881, 1883, 1883, 1883, 1883, 1837, 1884, 1884, 1884, 1884, 1872, 2732, 2717, 2733, 1879, 2717, 2149, 2734, 1880, 2149, 1880, 1885, 1885, 1885, 1885, 2735, 1883, 2736, 1883, 2737, 2740, 1884, 2741, 1884, 1886, 1886, 1886, 1886, 2743, 1887, 1887, 1887, 1887, 2744, 2738, 2149, 1885, 2738, 1885, 2745, 2746, 1888, 1888, 1888, 1888, 1905, 1905, 1905, 1905, 1886, 2739, 1886, 2150, 2739, 1887, 2150, 1887, 1889, 1889, 1889, 1889, 2739, 2747, 1879, 1884, 1883, 1888, 2748, 1888, 2749, 2750, 2751, 1885, 1890, 1890, 1890, 1890, 1891, 1891, 1891, 1891, 2150, 1889, 2752, 1889, 1893, 1893, 1893, 1893, 1886, 1887, 2753, 2754, 2755, 1892, 1892, 1892, 1892, 1890, 2756, 1890, 2757, 1891, 2758, 1891, 1894, 1894, 1894, 1894, 2760, 1893, 2759, 1893, 1895, 1895, 1895, 1895, 1888, 1889, 1892, 2761, 1892, 1896, 1896, 1896, 1896, 1897, 1897, 1897, 1897, 1894, 2762, 1894, 1898, 1898, 1898, 1898, 2759, 1895, 2766, 1895, 1899, 1899, 1899, 1899, 2767, 2768, 1896, 2769, 1896, 1890, 1897, 1891, 1897, 1893, 2770, 2357, 2771, 1898, 2357, 1898, 1892, 1912, 1912, 1912, 1912, 1899, 2772, 1899, 1900, 1900, 1900, 1900, 1901, 1901, 1901, 1901, 2773, 2774, 2775, 1894, 1902, 1902, 1902, 1902, 2357, 2776, 1897, 2778, 1895, 2780, 2802, 2809, 1896, 1900, 2827, 1900, 2831, 2404, 2445, 1901, 2404, 2445, 1898, 1903, 1903, 1903, 1903, 1902, 2763, 1899, 1904, 1904, 1904, 1904, 1906, 1906, 1906, 1906, 1907, 1907, 1907, 1907, 1917, 1917, 1917, 1917, 2404, 2445, 1903, 1923, 1923, 1923, 1923, 1917, 2763, 1904, 2835, 1904, 1922, 2601, 2837, 1906, 2839, 1900, 2842, 1907, 2844, 1922, 1922, 1922, 1922, 1922, 1925, 1925, 1925, 1925, 1928, 1928, 1928, 1928, 1929, 1929, 1929, 1929, 1930, 1930, 1930, 1930, 1932, 1932, 1932, 1932, 1933, 1933, 1933, 1933, 1934, 1934, 1934, 1934, 2601, 1928, 2846, 2849, 2854, 1929, 2858, 1903, 2869, 1939, 2871, 2873, 2875, 1932, 2879, 2880, 2601, 1933, 1939, 1939, 1939, 1939, 1939, 2007, 2007, 2007, 2007, 2015, 2015, 2015, 2015, 2016, 2016, 2016, 2016, 2017, 2017, 2017, 2017, 2007, 2022, 2022, 2022, 2022, 2023, 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2015, 2882, 2887, 2094, 2016, 2888, 2094, 2094, 1928, 2031, 2031, 2031, 2031, 2022, 2094, 2447, 2784, 2023, 2447, 2094, 1932, 2794, 2031, 2889, 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2890, 2891, 2892, 2031, 2032, 2033, 2784, 2094, 2447, 2034, 2893, 2794, 2034, 2053, 2053, 2053, 2053, 2782, 2032, 2894, 2783, 2806, 2033, 2015, 2895, 2896, 2034, 2031, 2056, 2056, 2056, 2056, 2066, 2066, 2066, 2066, 2022, 2069, 2069, 2069, 2069, 2801, 2032, 2812, 2897, 2782, 2033, 2783, 2806, 2901, 2034, 2067, 2067, 2067, 2067, 2905, 2906, 2066, 2068, 2068, 2068, 2068, 2069, 2070, 2070, 2070, 2070, 2801, 2907, 2812, 2067, 2067, 2067, 2067, 2067, 2067, 2067, 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2071, 2071, 2071, 2071, 2070, 2086, 2086, 2086, 2086, 2087, 2087, 2087, 2087, 2088, 2152, 2152, 2152, 2152, 2088, 2105, 2105, 2105, 2157, 2157, 2157, 2157, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2090, 2105, 2908, 2813, 2069, 2090, 2159, 2159, 2159, 2159, 2909, 2911, 2816, 2090, 2090, 2090, 2090, 2090, 2090, 2090, 2095, 2829, 2112, 2095, 2095, 2112, 2102, 2105, 2102, 2813, 2853, 2095, 2912, 2102, 2914, 2111, 2095, 2112, 2816, 2112, 2102, 2111, 2111, 2164, 2164, 2164, 2164, 2829, 2112, 2915, 2900, 2112, 2102, 2900, 2102, 2913, 2963, 2853, 2088, 2102, 2095, 2111, 2857, 2913, 2112, 2953, 2112, 2102, 2111, 2111, 2170, 2170, 2170, 2170, 2177, 2177, 2177, 2177, 2090, 2097, 2227, 2227, 2227, 2227, 2097, 2917, 2926, 2097, 2857, 2097, 2097, 2097, 2097, 2097, 2097, 2097, 2097, 2097, 2097, 2212, 2212, 2212, 2212, 2225, 2225, 2225, 2225, 2226, 2226, 2226, 2226, 2245, 2245, 2245, 2245, 2862, 2212, 2246, 2246, 2246, 2246, 2247, 2247, 2247, 2247, 2964, 2953, 2097, 2225, 2932, 2452, 2918, 2226, 2452, 2264, 2966, 2245, 2917, 2926, 2276, 2932, 2862, 2246, 2264, 2264, 2264, 2264, 2264, 2276, 2276, 2276, 2276, 2276, 2288, 2288, 2288, 2288, 2097, 2186, 2452, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2280, 2286, 2286, 2286, 2286, 2315, 2315, 2315, 2315, 2280, 2280, 2280, 2280, 2280, 2918, 2863, 2454, 2225, 2315, 2454, 2284, 2319, 2319, 2319, 2319, 2245, 2286, 2295, 2186, 2284, 2284, 2284, 2284, 2284, 2948, 2967, 2295, 2295, 2295, 2295, 2295, 2863, 2928, 2968, 2186, 2454, 2319, 2919, 2319, 2534, 2534, 2534, 2534, 2923, 2320, 2320, 2320, 2320, 2186, 2219, 2556, 2556, 2556, 2556, 2219, 2590, 2930, 2219, 2590, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2320, 2868, 2320, 2590, 2219, 2948, 2286, 2321, 2321, 2321, 2321, 2928, 2322, 2322, 2322, 2322, 2319, 2323, 2323, 2323, 2323, 2324, 2324, 2324, 2324, 2950, 2919, 2868, 2219, 2920, 2931, 2923, 2321, 2974, 2321, 2930, 2975, 2322, 2977, 2322, 2345, 2933, 2323, 2590, 2323, 2937, 2324, 2946, 2324, 2345, 2345, 2345, 2345, 2345, 2427, 2427, 2427, 2427, 2219, 2220, 2325, 2325, 2325, 2325, 2220, 2950, 2927, 2220, 2929, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2427, 2321, 2322, 2920, 2220, 2931, 2325, 2455, 2325, 2324, 2455, 2323, 2326, 2326, 2326, 2326, 2327, 2327, 2327, 2327, 2933, 2328, 2328, 2328, 2328, 2937, 2946, 2456, 2220, 2947, 2456, 2927, 2329, 2329, 2329, 2329, 2455, 2326, 2934, 2326, 2936, 2327, 2929, 2327, 2954, 2220, 2328, 2979, 2328, 2330, 2330, 2330, 2330, 2943, 2938, 2325, 2456, 2329, 2220, 2329, 2331, 2331, 2331, 2331, 2939, 2332, 2332, 2332, 2332, 2326, 2333, 2333, 2333, 2333, 2330, 2982, 2330, 2327, 2334, 2334, 2334, 2334, 2934, 2947, 2936, 2331, 2328, 2331, 2458, 2329, 2332, 2458, 2332, 2459, 2954, 2333, 2459, 2333, 2335, 2335, 2335, 2335, 2976, 2334, 2943, 2334, 2336, 2336, 2336, 2336, 2938, 2940, 2460, 2462, 2330, 2460, 2462, 2458, 2935, 2331, 2939, 2985, 2459, 2335, 2949, 2335, 2646, 2646, 2646, 2646, 2333, 2336, 2332, 2336, 2987, 2428, 2428, 2428, 2428, 2333, 2349, 2460, 2462, 2464, 2989, 2466, 2464, 2334, 2466, 2349, 2349, 2349, 2349, 2349, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2335, 2976, 2467, 2472, 2990, 2467, 2536, 2536, 2536, 2536, 2935, 2464, 2940, 2466, 2474, 2475, 2472, 2474, 2475, 2949, 2476, 2336, 2442, 2476, 2991, 2477, 2993, 2442, 2477, 2472, 2442, 2467, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2472, 2474, 2475, 2480, 2996, 2482, 2480, 2476, 2482, 2997, 2486, 2488, 2477, 2486, 2488, 2489, 2491, 2493, 2489, 2491, 2493, 2496, 2498, 2500, 2496, 2498, 2500, 2503, 2442, 2998, 2503, 2999, 2480, 2506, 2482, 3000, 2506, 3001, 2536, 2486, 2488, 3002, 3003, 2951, 2489, 2491, 2493, 3004, 3005, 3006, 2496, 2498, 2500, 3007, 2507, 3008, 2503, 2507, 2442, 2443, 2509, 2956, 2506, 2509, 2443, 2513, 3010, 2443, 2513, 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2516, 3011, 2517, 2516, 2507, 2517, 2520, 3034, 2521, 2520, 2509, 2521, 2951, 2523, 2525, 2513, 2523, 2525, 2527, 2529, 2531, 2527, 2529, 2531, 2552, 2552, 2552, 2552, 2443, 2516, 2956, 2517, 3035, 3038, 3039, 2520, 3040, 2521, 2568, 2568, 2568, 2568, 2523, 2525, 3041, 2603, 3044, 2527, 2529, 2531, 2570, 2570, 2570, 2570, 2957, 2568, 2603, 3045, 2443, 2592, 2592, 2592, 2592, 2692, 2603, 3046, 2692, 2570, 2696, 2603, 3050, 2696, 2612, 2612, 2612, 2612, 2592, 2613, 2613, 2613, 2613, 2662, 2662, 2662, 2662, 2682, 2682, 2682, 2682, 3051, 3053, 3055, 2692, 2603, 2662, 3057, 3058, 2696, 2552, 2564, 2612, 3056, 2957, 3048, 2564, 2613, 3048, 2564, 3056, 2564, 2564, 2564, 2564, 2564, 2564, 2564, 2564, 2564, 2564, 2625, 3059, 3060, 3062, 2603, 2570, 2630, 3063, 3064, 2625, 2625, 2625, 2625, 2625, 2592, 2630, 2630, 2630, 2630, 2630, 2633, 2663, 2663, 2663, 2663, 2636, 3066, 3067, 2564, 2633, 2633, 2633, 2633, 2633, 2636, 2636, 2636, 2636, 2636, 3069, 2955, 2664, 2664, 2664, 2664, 2564, 2663, 3071, 2663, 2881, 2881, 2881, 2881, 3072, 2665, 2665, 2665, 2665, 2564, 2604, 2666, 2666, 2666, 2666, 2604, 3073, 2664, 2604, 2664, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2665, 2955, 2665, 3074, 2604, 3075, 2666, 3076, 2666, 2955, 2669, 2669, 2669, 2669, 2670, 2670, 2670, 2670, 2667, 2667, 2667, 2667, 3077, 2668, 2668, 2668, 2668, 3070, 2604, 2671, 2671, 2671, 2671, 3052, 3070, 2669, 3052, 2669, 3081, 2670, 3082, 2670, 2666, 2667, 2665, 2667, 3054, 3084, 2668, 3054, 2668, 3085, 3061, 3086, 2671, 3061, 2671, 3087, 2604, 2605, 2672, 2672, 2672, 2672, 2605, 2742, 3088, 2605, 2742, 2605, 2605, 2605, 2605, 2605, 2605, 2605, 2605, 2605, 2605, 2779, 2667, 2669, 2779, 2605, 2668, 2672, 3089, 2672, 2671, 2670, 2673, 2673, 2673, 2673, 2742, 2674, 2674, 2674, 2674, 2675, 2675, 2675, 2675, 2676, 2676, 2676, 2676, 2605, 2779, 3090, 2605, 2677, 2677, 2677, 2677, 2673, 3091, 2673, 2781, 2672, 2674, 2781, 2674, 3094, 2675, 3095, 2675, 3096, 2676, 3097, 2676, 2678, 2678, 2678, 2678, 3098, 2677, 2605, 2677, 2679, 2679, 2679, 2679, 2680, 2680, 2680, 2680, 2781, 2681, 2681, 2681, 2681, 2785, 3100, 2674, 2785, 2678, 2673, 2678, 3065, 2676, 3101, 3065, 3102, 2679, 3103, 2679, 3099, 2680, 3104, 2680, 3105, 2677, 2681, 2675, 2681, 2684, 2684, 2684, 2684, 3107, 2785, 2883, 2883, 2883, 2883, 3110, 2684, 2678, 2764, 2764, 2764, 2764, 3099, 3115, 3119, 2765, 2765, 2765, 2765, 2787, 2788, 3121, 2787, 2788, 2681, 3113, 3123, 2764, 2764, 2764, 2764, 2764, 2764, 2764, 2765, 2765, 2765, 2765, 2765, 2765, 2765, 2777, 2790, 3126, 2792, 2790, 2777, 2792, 2787, 2788, 2795, 3113, 3128, 2795, 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2797, 2799, 2803, 2797, 2799, 2803, 2804, 3130, 2807, 2804, 2790, 2807, 2792, 2810, 2811, 3133, 2810, 2811, 2795, 2814, 2815, 2817, 2814, 2815, 2817, 2819, 3136, 3147, 2819, 2797, 2799, 2803, 3149, 2821, 3151, 2804, 2821, 2807, 2823, 3153, 3162, 2823, 2810, 2811, 2825, 2777, 3168, 2825, 2814, 2815, 2817, 3174, 2826, 2828, 2819, 2826, 2828, 2830, 2777, 3178, 2830, 2832, 2821, 2833, 2832, 2836, 2833, 2823, 2836, 2838, 3159, 2840, 2838, 2825, 2840, 2841, 2843, 2845, 2841, 2843, 2845, 2826, 2828, 3180, 2847, 2848, 2830, 2847, 2848, 3183, 2832, 3185, 2833, 2850, 2836, 3186, 2850, 3159, 2838, 2851, 2840, 3187, 2851, 3192, 2841, 2843, 2845, 2855, 2856, 2859, 2855, 2856, 2859, 2847, 2848, 2860, 2864, 2866, 2860, 2864, 2866, 2870, 2850, 2872, 2870, 3193, 2872, 2874, 2851, 2876, 2874, 2877, 2876, 3135, 2877, 3194, 2855, 2856, 2859, 2884, 2884, 2884, 2884, 3195, 2860, 2864, 2866, 3196, 3068, 3197, 2870, 3068, 2872, 3199, 3078, 3200, 2874, 3078, 2876, 3135, 2877, 2885, 2885, 2885, 2885, 2886, 2886, 2886, 2886, 2898, 2898, 2898, 2898, 2899, 2899, 2899, 2899, 2902, 2902, 2902, 2902, 2903, 2903, 2903, 2903, 2904, 2904, 2904, 2904, 2910, 2910, 2910, 2910, 2921, 2921, 2921, 2921, 2924, 2924, 2924, 2924, 2925, 2925, 2925, 2925, 2941, 2941, 2941, 2941, 3201, 2921, 3202, 2965, 3198, 2924, 2965, 3198, 2980, 2925, 3208, 2980, 3140, 2941, 2942, 2942, 2942, 2942, 2944, 2944, 2944, 2944, 2945, 2945, 2945, 2945, 2952, 2952, 2952, 2952, 2959, 2942, 2965, 2960, 3209, 2944, 2980, 3210, 3140, 2945, 3211, 2959, 2902, 2952, 2960, 2960, 3212, 2910, 2916, 3214, 3217, 3218, 2960, 2916, 2959, 3219, 2916, 2960, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 3141, 2969, 2969, 2969, 2969, 3220, 2970, 2970, 2970, 2970, 2959, 2970, 3036, 2960, 2944, 3036, 2971, 2971, 2971, 2971, 2973, 2973, 2973, 2973, 2944, 2952, 3141, 3079, 2916, 2969, 3079, 2972, 2972, 2972, 2972, 2916, 2972, 3267, 3079, 3268, 2959, 3036, 3271, 2960, 2971, 2994, 2994, 2994, 2994, 2995, 2995, 2995, 2995, 3009, 3009, 3009, 3009, 3224, 2916, 2922, 2922, 2922, 3222, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 3229, 2922, 3146, 2922, 3012, 3012, 3012, 3012, 3013, 3013, 3013, 3013, 2922, 2922, 2922, 2922, 2922, 3237, 3014, 3014, 3014, 3014, 3224, 3015, 3015, 3015, 3015, 3272, 3146, 3012, 3222, 3012, 3273, 3013, 3042, 3013, 3279, 3042, 3173, 2922, 3177, 2922, 2922, 3014, 3232, 3014, 3282, 3229, 3015, 3287, 3015, 3016, 3016, 3016, 3016, 3030, 3030, 3030, 3030, 3083, 3083, 3083, 3083, 3042, 3173, 3237, 3177, 3243, 2922, 2922, 2922, 2961, 3017, 3017, 3017, 3017, 3016, 3223, 3016, 2961, 3015, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 3018, 3018, 3018, 3018, 2961, 3232, 3017, 3230, 3017, 3019, 3019, 3019, 3019, 3231, 3020, 3020, 3020, 3020, 3021, 3021, 3021, 3021, 3292, 3112, 3243, 3018, 3112, 3018, 2961, 3022, 3022, 3022, 3022, 3244, 3019, 3234, 3019, 3114, 3017, 3020, 3114, 3020, 3223, 3021, 2961, 3021, 3031, 3031, 3031, 3031, 3239, 3230, 3112, 3242, 3022, 3231, 3022, 3031, 2961, 2962, 3116, 3018, 3117, 3116, 2962, 3117, 3114, 2962, 3294, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 3023, 3023, 3023, 3023, 2962, 3019, 3225, 3244, 3234, 3020, 3116, 3246, 3117, 3021, 3024, 3024, 3024, 3024, 3025, 3025, 3025, 3025, 3252, 3239, 3295, 3023, 3242, 3023, 2962, 3026, 3026, 3026, 3026, 3233, 3027, 3027, 3027, 3027, 3238, 3024, 3235, 3024, 3241, 3025, 3120, 3025, 3296, 3120, 3298, 2962, 3028, 3028, 3028, 3028, 3026, 3246, 3026, 3240, 2962, 3027, 3240, 3027, 3225, 3029, 3029, 3029, 3029, 3032, 3032, 3032, 3032, 3254, 3252, 3120, 3240, 3028, 3233, 3028, 3032, 3122, 3025, 3124, 3122, 3301, 3124, 3241, 3111, 3251, 3029, 3024, 3029, 3111, 3125, 3127, 3238, 3125, 3127, 3026, 3235, 3111, 3111, 3111, 3111, 3111, 3111, 3111, 3129, 3248, 3122, 3129, 3124, 3131, 3302, 3132, 3131, 3134, 3132, 3137, 3134, 3254, 3137, 3125, 3127, 3138, 3142, 3144, 3138, 3142, 3144, 3148, 3029, 3150, 3148, 3152, 3150, 3129, 3152, 3250, 3304, 3251, 3131, 3111, 3132, 3257, 3134, 3154, 3137, 3155, 3154, 3325, 3155, 3248, 3138, 3142, 3144, 3258, 3157, 3260, 3148, 3157, 3150, 3253, 3152, 3160, 3111, 3163, 3160, 3164, 3163, 3166, 3164, 3326, 3166, 3327, 3154, 3169, 3155, 3170, 3169, 3171, 3170, 3175, 3171, 3176, 3175, 3157, 3176, 3179, 3181, 3329, 3179, 3181, 3160, 3330, 3163, 3250, 3164, 3182, 3166, 3184, 3182, 3257, 3184, 3331, 3169, 3333, 3170, 3258, 3171, 3260, 3175, 3334, 3176, 3337, 3253, 3281, 3179, 3181, 3188, 3188, 3188, 3188, 3189, 3189, 3189, 3189, 3182, 3338, 3184, 3190, 3190, 3190, 3190, 3191, 3191, 3191, 3191, 3203, 3203, 3203, 3203, 3205, 3205, 3205, 3205, 3206, 3206, 3206, 3206, 3207, 3207, 3207, 3207, 3213, 3213, 3213, 3213, 3215, 3215, 3215, 3215, 3216, 3216, 3216, 3216, 3236, 3236, 3236, 3236, 3236, 3236, 3245, 3245, 3245, 3245, 3247, 3247, 3247, 3247, 3249, 3249, 3249, 3249, 3255, 3255, 3255, 3255, 3281, 3245, 3339, 3269, 3328, 3247, 3269, 3328, 3335, 3249, 3340, 3335, 3259, 3255, 3256, 3256, 3256, 3256, 3261, 3341, 3274, 3274, 3274, 3274, 3262, 3274, 3342, 3343, 3345, 3261, 3261, 3256, 3269, 3328, 3346, 3262, 3262, 3261, 3278, 3278, 3278, 3278, 3261, 3262, 3215, 3221, 3349, 3351, 3262, 3283, 3221, 3336, 3283, 3221, 3336, 3221, 3221, 3221, 3221, 3221, 3221, 3221, 3221, 3221, 3221, 3259, 3261, 3353, 3285, 3354, 3255, 3285, 3262, 3276, 3276, 3276, 3276, 3283, 3276, 3280, 3280, 3280, 3280, 3284, 3355, 3285, 3284, 3285, 3285, 3285, 3285, 3285, 3285, 3221, 3356, 3357, 3261, 3289, 3289, 3289, 3289, 3358, 3262, 3290, 3290, 3290, 3290, 3291, 3291, 3291, 3291, 3284, 3221, 3293, 3293, 3293, 3293, 3297, 3297, 3297, 3297, 3359, 3360, 3221, 3227, 3227, 3227, 3361, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3363, 3227, 3297, 3227, 3299, 3299, 3299, 3299, 3300, 3300, 3300, 3300, 3227, 3227, 3227, 3227, 3227, 3303, 3303, 3303, 3303, 3306, 3306, 3306, 3306, 3364, 3306, 3307, 3307, 3307, 3307, 3347, 3365, 3308, 3308, 3308, 3308, 3344, 3366, 3227, 3344, 3227, 3227, 3367, 3348, 3347, 3306, 3348, 3306, 3368, 3350, 3297, 3307, 3350, 3307, 3369, 3352, 3371, 3308, 3352, 3308, 3372, 3309, 3309, 3309, 3309, 3373, 3374, 3227, 3227, 3227, 3228, 3228, 3228, 3375, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3309, 3228, 3309, 3228, 3228, 3308, 3310, 3310, 3310, 3310, 3376, 3228, 3228, 3228, 3228, 3228, 3228, 3377, 3311, 3311, 3311, 3311, 3379, 3313, 3313, 3313, 3313, 3314, 3314, 3314, 3314, 3310, 3380, 3310, 3381, 3312, 3312, 3312, 3312, 3228, 3228, 3228, 3228, 3311, 3389, 3311, 3396, 3400, 3313, 3402, 3313, 3395, 3314, 3315, 3315, 3315, 3315, 3405, 3407, 3410, 3312, 3412, 3312, 3414, 3384, 3310, 3418, 3384, 3228, 3228, 3228, 3263, 3362, 3362, 3362, 3362, 3263, 3395, 3315, 3263, 3315, 3263, 3263, 3263, 3263, 3263, 3263, 3263, 3263, 3263, 3263, 3386, 3311, 3384, 3426, 3263, 3312, 3313, 3316, 3316, 3316, 3316, 3317, 3317, 3317, 3317, 3318, 3318, 3318, 3318, 3319, 3319, 3319, 3319, 3320, 3320, 3320, 3320, 3386, 3263, 3315, 3427, 3429, 3316, 3430, 3316, 3431, 3317, 3432, 3317, 3433, 3318, 3434, 3318, 3436, 3319, 3437, 3319, 3438, 3320, 3435, 3320, 3439, 3435, 3441, 3321, 3321, 3321, 3321, 3263, 3264, 3322, 3322, 3322, 3322, 3264, 3387, 3399, 3264, 3387, 3264, 3264, 3264, 3264, 3264, 3264, 3264, 3264, 3264, 3264, 3321, 3319, 3321, 3445, 3264, 3446, 3322, 3420, 3322, 3323, 3323, 3323, 3323, 3399, 3450, 3387, 3451, 3452, 3390, 3391, 3323, 3390, 3391, 3393, 3383, 3453, 3393, 3397, 3264, 3383, 3397, 3398, 3401, 3420, 3398, 3401, 3321, 3383, 3383, 3383, 3383, 3383, 3383, 3383, 3455, 3264, 3493, 3390, 3391, 3457, 3403, 3404, 3393, 3403, 3404, 3496, 3397, 3461, 3264, 3265, 3398, 3401, 3471, 3406, 3465, 3408, 3406, 3265, 3408, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3265, 3403, 3404, 3409, 3411, 3265, 3409, 3411, 3413, 3415, 3455, 3413, 3415, 3383, 3406, 3416, 3408, 3419, 3416, 3421, 3419, 3456, 3421, 3423, 3383, 3424, 3423, 3461, 3424, 3457, 3465, 3497, 3409, 3411, 3471, 3456, 3498, 3413, 3415, 3428, 3428, 3428, 3428, 3500, 3416, 3501, 3419, 3502, 3421, 3503, 3506, 3511, 3423, 3514, 3424, 3440, 3440, 3440, 3440, 3265, 3266, 3442, 3442, 3442, 3442, 3266, 3463, 3466, 3266, 3467, 3266, 3266, 3266, 3266, 3266, 3266, 3266, 3266, 3266, 3266, 3443, 3443, 3443, 3443, 3266, 3444, 3444, 3444, 3444, 3447, 3447, 3447, 3447, 3448, 3448, 3448, 3448, 3449, 3449, 3449, 3449, 3458, 3458, 3458, 3458, 3464, 3463, 3472, 3266, 3462, 3462, 3462, 3462, 3473, 3485, 3486, 3466, 3467, 3458, 3474, 3499, 3476, 3469, 3499, 3266, 3475, 3462, 3468, 3468, 3468, 3468, 3468, 3468, 3470, 3470, 3470, 3470, 3477, 3266, 3479, 3479, 3479, 3479, 3488, 3482, 3483, 3516, 3464, 3505, 3499, 3470, 3472, 3487, 3473, 3443, 3454, 3479, 3486, 3518, 3474, 3454, 3476, 3485, 3454, 3521, 3454, 3454, 3454, 3454, 3454, 3454, 3454, 3454, 3454, 3454, 3469, 3526, 3475, 3528, 3544, 3547, 3480, 3480, 3480, 3480, 3548, 3550, 3551, 3477, 3488, 3481, 3481, 3481, 3481, 3554, 3470, 3482, 3483, 3480, 3484, 3484, 3484, 3484, 3454, 3487, 3505, 3454, 3481, 3491, 3504, 3504, 3504, 3504, 3555, 3549, 3552, 3484, 3549, 3552, 3491, 3553, 3556, 3507, 3553, 3558, 3507, 3559, 3491, 3512, 3512, 3512, 3512, 3491, 3454, 3459, 3459, 3459, 3562, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3459, 3507, 3459, 3563, 3459, 3459, 3480, 3491, 3508, 3564, 3567, 3508, 3459, 3459, 3459, 3459, 3459, 3459, 3513, 3513, 3513, 3513, 3570, 3557, 3571, 3508, 3557, 3508, 3508, 3508, 3508, 3508, 3508, 3509, 3573, 3560, 3509, 3491, 3560, 3575, 3459, 3459, 3459, 3459, 3510, 3561, 3566, 3510, 3561, 3566, 3509, 3577, 3509, 3509, 3509, 3509, 3509, 3509, 3579, 3569, 3580, 3510, 3569, 3510, 3510, 3510, 3510, 3510, 3510, 3459, 3459, 3459, 3460, 3460, 3460, 3584, 3460, 3460, 3460, 3460, 3460, 3460, 3460, 3460, 3460, 3460, 3460, 3460, 3586, 3460, 3589, 3460, 3460, 3515, 3515, 3515, 3515, 3591, 3593, 3460, 3460, 3460, 3460, 3460, 3460, 3603, 3517, 3517, 3517, 3517, 3519, 3519, 3519, 3519, 3520, 3520, 3520, 3520, 3522, 3522, 3522, 3522, 3523, 3523, 3523, 3523, 3606, 3460, 3460, 3460, 3460, 3517, 3610, 3612, 3615, 3519, 3524, 3524, 3524, 3524, 3595, 3616, 3619, 3522, 3525, 3525, 3525, 3525, 3527, 3527, 3527, 3527, 3535, 3535, 3535, 3535, 3460, 3460, 3460, 3489, 3529, 3529, 3529, 3529, 3620, 3576, 3595, 3489, 3576, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3622, 3517, 3623, 3624, 3489, 3519, 3529, 3628, 3529, 3629, 3531, 3531, 3531, 3531, 3532, 3532, 3532, 3532, 3530, 3530, 3530, 3530, 3533, 3533, 3533, 3533, 3534, 3534, 3534, 3534, 3536, 3536, 3536, 3536, 3630, 3531, 3631, 3531, 3636, 3532, 3605, 3568, 3529, 3530, 3568, 3530, 3643, 3533, 3639, 3533, 3635, 3534, 3568, 3534, 3637, 3536, 3653, 3536, 3489, 3490, 3537, 3537, 3537, 3537, 3490, 3644, 3605, 3490, 3640, 3490, 3490, 3490, 3490, 3490, 3490, 3490, 3490, 3490, 3490, 3530, 3646, 3662, 3636, 3490, 3531, 3537, 3534, 3537, 3655, 3533, 3538, 3538, 3538, 3538, 3539, 3539, 3539, 3539, 3637, 3643, 3536, 3665, 3540, 3540, 3540, 3540, 3639, 3490, 3541, 3541, 3541, 3541, 3635, 3650, 3666, 3538, 3652, 3644, 3640, 3539, 3647, 3539, 3543, 3543, 3543, 3543, 3670, 3540, 3646, 3540, 3672, 3587, 3655, 3541, 3587, 3541, 3678, 3490, 3492, 3542, 3542, 3542, 3542, 3492, 3588, 3649, 3492, 3588, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3679, 3652, 3587, 3540, 3492, 3540, 3542, 3650, 3542, 3590, 3592, 3594, 3590, 3592, 3594, 3588, 3596, 3585, 3540, 3596, 3540, 3598, 3585, 3599, 3598, 3647, 3599, 3682, 3492, 3651, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3649, 3590, 3592, 3594, 3614, 3614, 3614, 3614, 3596, 3621, 3621, 3621, 3621, 3598, 3601, 3599, 3604, 3601, 3683, 3604, 3607, 3492, 3494, 3607, 3671, 3608, 3611, 3494, 3608, 3611, 3494, 3585, 3494, 3494, 3494, 3494, 3494, 3494, 3494, 3494, 3494, 3494, 3651, 3601, 3656, 3604, 3494, 3657, 3684, 3607, 3626, 3626, 3626, 3626, 3608, 3611, 3699, 3700, 3585, 3627, 3627, 3627, 3627, 3632, 3632, 3632, 3632, 3633, 3633, 3633, 3633, 3648, 3648, 3648, 3648, 3654, 3658, 3658, 3658, 3658, 3671, 3659, 3659, 3659, 3659, 3690, 3701, 3675, 3648, 3654, 3675, 3705, 3708, 3658, 3690, 3656, 3706, 3657, 3659, 3706, 3494, 3495, 3681, 3681, 3681, 3681, 3495, 3673, 3711, 3495, 3673, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3495, 3714, 3718, 3724, 3673, 3495, 3673, 3673, 3673, 3673, 3673, 3673, 3707, 3674, 3725, 3707, 3674, 3680, 3680, 3680, 3680, 3685, 3685, 3685, 3685, 3686, 3686, 3686, 3686, 3495, 3674, 3726, 3674, 3674, 3674, 3674, 3674, 3674, 3687, 3687, 3687, 3687, 3680, 3729, 3709, 3730, 3685, 3709, 3495, 3688, 3688, 3688, 3688, 3689, 3689, 3689, 3689, 3731, 3732, 3495, 3634, 3691, 3691, 3691, 3691, 3634, 3710, 3737, 3634, 3710, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3692, 3692, 3692, 3692, 3713, 3736, 3691, 3713, 3691, 3741, 3743, 3680, 3693, 3693, 3693, 3693, 3746, 3687, 3749, 3687, 3695, 3695, 3695, 3695, 3750, 3692, 3715, 3692, 3634, 3715, 3716, 3736, 3687, 3716, 3687, 3697, 3697, 3697, 3697, 3703, 3703, 3703, 3703, 3719, 3751, 3695, 3719, 3695, 3754, 3634, 3704, 3704, 3704, 3704, 3723, 3758, 3759, 3723, 3634, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3641, 3728, 3721, 3763, 3728, 3721, 3789, 3641, 3641, 3641, 3641, 3641, 3641, 3721, 3798, 3695, 3773, 3773, 3694, 3694, 3694, 3694, 3799, 3800, 3773, 3696, 3696, 3696, 3696, 3698, 3698, 3698, 3698, 3805, 3811, 3641, 3641, 3641, 3641, 3722, 3813, 3806, 3722, 3694, 3806, 3694, 3748, 3748, 3748, 3748, 3696, 3722, 3696, 3773, 3698, 3816, 3698, 3756, 3756, 3756, 3756, 3825, 3838, 3839, 3641, 3641, 3641, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3642, 3694, 3702, 3702, 3702, 3702, 3840, 3642, 3642, 3642, 3642, 3642, 3642, 3696, 3804, 3841, 3844, 3734, 3738, 3739, 3734, 3738, 3739, 3847, 3853, 3742, 3733, 3702, 3742, 3702, 3744, 3733, 3854, 3744, 3855, 3642, 3642, 3642, 3642, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3734, 3738, 3739, 3757, 3757, 3757, 3757, 3828, 3742, 3860, 3828, 3863, 3745, 3744, 3747, 3745, 3871, 3747, 3642, 3642, 3642, 3660, 3761, 3761, 3761, 3761, 3660, 3829, 3876, 3660, 3829, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3745, 3804, 3747, 3831, 3660, 3866, 3831, 3881, 3733, 3764, 3764, 3764, 3764, 3765, 3765, 3765, 3765, 3733, 3767, 3767, 3767, 3767, 3768, 3768, 3768, 3768, 3775, 3775, 3660, 3769, 3769, 3769, 3769, 3832, 3775, 3767, 3832, 3865, 3884, 3768, 3770, 3770, 3770, 3770, 3875, 3866, 3769, 3660, 3771, 3771, 3771, 3771, 3833, 3791, 3869, 3833, 3867, 3770, 3660, 3661, 3888, 3868, 3889, 3775, 3661, 3771, 3791, 3661, 3892, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3865, 3896, 3834, 3768, 3661, 3834, 3899, 3772, 3772, 3772, 3772, 3774, 3774, 3774, 3774, 3776, 3776, 3776, 3776, 3878, 3867, 3875, 3770, 3769, 3772, 3868, 3845, 3869, 3774, 3845, 3900, 3903, 3776, 3777, 3777, 3777, 3777, 3778, 3778, 3778, 3778, 3803, 3803, 3803, 3803, 3771, 3780, 3780, 3780, 3780, 3777, 3915, 3916, 3836, 3778, 3845, 3836, 3870, 3661, 3663, 3920, 3923, 3878, 3780, 3663, 3836, 3928, 3663, 3929, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3809, 3809, 3809, 3809, 3663, 3776, 3784, 3784, 3784, 3784, 3810, 3810, 3810, 3810, 3935, 3783, 3783, 3783, 3783, 3777, 3938, 3846, 3870, 3784, 3846, 3778, 3814, 3814, 3814, 3814, 3944, 3950, 3783, 3826, 3826, 3826, 3826, 3821, 3821, 3821, 3821, 3857, 3857, 3857, 3857, 3861, 3861, 3861, 3861, 3947, 3846, 3890, 3890, 3890, 3890, 3952, 3954, 3935, 3663, 3664, 3664, 3664, 3821, 3947, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3783, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3781, 3781, 3781, 3781, 3891, 3883, 3667, 3667, 3667, 3667, 3667, 3667, 3782, 3782, 3782, 3782, 3910, 3781, 3883, 3910, 3931, 3786, 3786, 3786, 3786, 3812, 3812, 3812, 3812, 3782, 3815, 3815, 3815, 3815, 3667, 3667, 3667, 3667, 3786, 3955, 3936, 3956, 3817, 3817, 3817, 3817, 3885, 3934, 3912, 3953, 3812, 3912, 3858, 3858, 3858, 3858, 3957, 3913, 3914, 3885, 3913, 3914, 3958, 3667, 3667, 3667, 3766, 3817, 3891, 3817, 3931, 3766, 3932, 3941, 3766, 3781, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3818, 3818, 3818, 3818, 3936, 3934, 3782, 3819, 3819, 3819, 3819, 3786, 3959, 3812, 3822, 3822, 3822, 3822, 3820, 3820, 3820, 3820, 3956, 3953, 3968, 3818, 3815, 3818, 3766, 3969, 3974, 3941, 3819, 3843, 3819, 3975, 3979, 3986, 3843, 3822, 3858, 3822, 3932, 3820, 3766, 3820, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3965, 3848, 3990, 3965, 3848, 3766, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3979, 3822, 3819, 3848, 3977, 3976, 3779, 3779, 3779, 3779, 3779, 3779, 3820, 3823, 3823, 3823, 3823, 3843, 3849, 3872, 3872, 3849, 3877, 3877, 3939, 3939, 3983, 3872, 3994, 3983, 3877, 3843, 3939, 4011, 3779, 3779, 3779, 3779, 3823, 4015, 3823, 3873, 3873, 3873, 3873, 3976, 3977, 3849, 3894, 3894, 3894, 3894, 3895, 3895, 3895, 3895, 3872, 4005, 3873, 3877, 4020, 3939, 3988, 3779, 3779, 3779, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3823, 3897, 3897, 3897, 3897, 4007, 3785, 3785, 3785, 3785, 3785, 3785, 3898, 3898, 3898, 3898, 3901, 3901, 3901, 3901, 3904, 3904, 3904, 3904, 3980, 3988, 3897, 4005, 3873, 3905, 3905, 3905, 3905, 4029, 3785, 3785, 3785, 3785, 3917, 3918, 4008, 3921, 3918, 3917, 3921, 3904, 4026, 3904, 4006, 4024, 3984, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3922, 3922, 3922, 3922, 3984, 3785, 3785, 3785, 3787, 4007, 3918, 4010, 3921, 3787, 3980, 4010, 3787, 3897, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3907, 3907, 3907, 3907, 3787, 4023, 4032, 3970, 3904, 4006, 3970, 4008, 3901, 4033, 3906, 3906, 3906, 3906, 4026, 3917, 3924, 3924, 3924, 3924, 4034, 3907, 4024, 3907, 3787, 4035, 3917, 3787, 3925, 3925, 3925, 3925, 3970, 4048, 4034, 3906, 4012, 3906, 4059, 3933, 3933, 3933, 3933, 3937, 3937, 3937, 3937, 3940, 3940, 3940, 3940, 4036, 4047, 4060, 3787, 3788, 3933, 4041, 4023, 4062, 3937, 4047, 4065, 3788, 3940, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3960, 3960, 3960, 3960, 3788, 3906, 3961, 3961, 3961, 3961, 3963, 3963, 3963, 3963, 3964, 3964, 3964, 3964, 3971, 3971, 3971, 3971, 4036, 4012, 4061, 3960, 3972, 3972, 3972, 3972, 4053, 3961, 4041, 3961, 4067, 3963, 4061, 3963, 4060, 3964, 3973, 3973, 3973, 3973, 3788, 3978, 3978, 3978, 3978, 4068, 4071, 3993, 3993, 3993, 3993, 4073, 4076, 4078, 3788, 3790, 3790, 3790, 3978, 4080, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3993, 3790, 4053, 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, 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, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3792, 3792, 3792, 4063, 4082, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 4064, 4049, 4081, 3792, 4066, 3982, 3982, 3982, 3982, 4070, 4083, 4085, 3792, 3792, 3792, 3792, 3792, 4087, 3962, 3962, 3962, 3962, 3982, 3995, 3995, 3995, 3995, 3996, 3996, 3996, 3996, 3997, 3997, 3997, 3997, 3998, 3998, 3998, 3998, 3792, 4089, 3792, 3792, 3962, 4090, 3962, 4063, 4252, 3995, 4000, 4000, 4000, 4000, 4252, 4066, 4069, 3997, 4064, 3997, 4084, 3998, 4003, 4003, 4003, 4003, 4049, 4081, 4070, 3792, 3792, 3792, 3793, 3793, 3793, 4072, 4434, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 4077, 4435, 3793, 3793, 4086, 3962, 4018, 4018, 4018, 4018, 3793, 3793, 3793, 3793, 3793, 3793, 4019, 4019, 4019, 4019, 4021, 4021, 4021, 4021, 4022, 4022, 4022, 4022, 4803, 4069, 4084, 4018, 4181, 4025, 4025, 4025, 4025, 4181, 3793, 3793, 3793, 3793, 4042, 4042, 4042, 4042, 4077, 4186, 4072, 4022, 4025, 4022, 4051, 4051, 4051, 4051, 4191, 4830, 4186, 4042, 2267, 4191, 4038, 4038, 4038, 4038, 4086, 3793, 3793, 3793, 3794, 3794, 3794, 2263, 2262, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 4038, 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, 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, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3795, 3795, 3795, 2259, 4580, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 4580, 2258, 4616, 3795, 4039, 4039, 4039, 4039, 4616, 4815, 2252, 3795, 3795, 3795, 3795, 3795, 3795, 4844, 3999, 3999, 3999, 3999, 4040, 4040, 4040, 4040, 2244, 2243, 2242, 4039, 4815, 4039, 4044, 4044, 4044, 4044, 2237, 2236, 4844, 3795, 2235, 3795, 3795, 3999, 2233, 3999, 2232, 4040, 2231, 4044, 4050, 4050, 4050, 4050, 4052, 4052, 4052, 4052, 4210, 4214, 4227, 4231, 4251, 4210, 4214, 4227, 4231, 4251, 3795, 3795, 3795, 3796, 3796, 3796, 2230, 4050, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 2229, 2224, 3796, 3796, 3999, 4075, 4075, 4075, 4075, 2184, 3796, 3796, 3796, 3796, 3796, 3796, 4178, 2183, 2182, 2181, 2180, 4228, 4075, 4228, 4178, 4180, 4180, 4180, 4228, 4178, 4188, 4188, 4188, 4190, 4190, 4190, 2179, 4226, 3796, 3796, 3796, 3796, 4197, 4197, 4197, 4226, 4180, 4248, 2175, 2174, 4226, 4188, 4248, 4248, 4190, 4199, 4199, 4199, 4219, 4219, 4219, 4277, 2173, 4197, 2172, 2171, 4277, 3796, 3796, 3796, 3864, 4225, 4225, 4225, 2168, 3864, 4199, 2167, 3864, 4219, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 2166, 2165, 4225, 4246, 4246, 4246, 4253, 2163, 4298, 4253, 4261, 4261, 4261, 4298, 4253, 4289, 4289, 4289, 4301, 4301, 4308, 4301, 4325, 2162, 4246, 4308, 4301, 4325, 3864, 4334, 4339, 4261, 4337, 4337, 4337, 4339, 4289, 4334, 4355, 4364, 4368, 4379, 4334, 4355, 4364, 4368, 4379, 3864, 2161, 4384, 4391, 4399, 4401, 4337, 4384, 4391, 4399, 4401, 3864, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 4342, 4342, 4342, 4349, 4349, 4349, 3874, 3874, 3874, 3874, 3874, 3874, 4353, 4353, 4353, 4405, 2160, 4363, 4363, 4363, 4405, 4342, 2158, 2156, 4349, 4367, 4367, 4367, 4390, 4390, 4390, 2155, 2154, 4353, 3874, 3874, 3874, 3874, 4363, 4398, 4398, 4398, 4400, 4426, 2153, 4402, 4367, 4402, 4426, 4390, 4400, 4412, 4402, 4428, 2098, 4400, 2091, 4432, 4428, 4428, 4398, 4412, 4432, 3874, 3874, 3874, 3879, 4412, 4425, 4425, 4425, 3879, 4412, 2089, 3879, 2085, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 4429, 2084, 4451, 4425, 3879, 4429, 4436, 4451, 4429, 4436, 4441, 4441, 2083, 4441, 4436, 4450, 4450, 4450, 4441, 4473, 4487, 4487, 4487, 4488, 4473, 4497, 4500, 4500, 3879, 4500, 4497, 2082, 4507, 4521, 4500, 4536, 4450, 4507, 4521, 4488, 4536, 4487, 2081, 4553, 4488, 4531, 4531, 4531, 4553, 3879, 4557, 4564, 4568, 2080, 2079, 4557, 4564, 4568, 3879, 3880, 4535, 4535, 4535, 4576, 3880, 2078, 4531, 3880, 4576, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 2077, 2076, 4535, 2075, 3880, 4537, 4537, 4537, 4543, 4543, 4543, 4547, 4547, 4547, 4552, 4552, 4552, 4556, 4556, 4556, 4563, 4563, 4563, 4567, 4567, 4567, 4537, 2074, 4577, 4543, 4603, 2073, 4547, 4577, 2061, 4552, 4577, 2060, 4556, 4583, 4583, 4563, 4583, 4595, 4567, 3880, 4603, 4583, 4595, 4607, 2059, 4603, 2057, 2052, 4607, 4575, 4575, 4575, 3880, 3882, 3882, 3882, 2051, 2050, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 4575, 3882, 2049, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3886, 3886, 3886, 2048, 2047, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 2046, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3887, 3887, 3887, 2044, 2043, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 2041, 2040, 3887, 3887, 4594, 4594, 4594, 4602, 4602, 4602, 3887, 3887, 3887, 3887, 3887, 3887, 4605, 4605, 2039, 4605, 2038, 4608, 4608, 4608, 4605, 4594, 4646, 4646, 4602, 4646, 4816, 4786, 4845, 4828, 4646, 4816, 2037, 4845, 3887, 3887, 3887, 3887, 4608, 4704, 4704, 4786, 4704, 4786, 4828, 4846, 4868, 4704, 4786, 4828, 4846, 4868, 2036, 2035, 2029, 2028, 2027, 2021, 2020, 2013, 2010, 2009, 2008, 3887, 3887, 3887, 3930, 3930, 3930, 2006, 2005, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 2004, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3942, 2003, 1998, 1996, 1995, 3942, 4814, 1994, 3942, 1993, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 4814, 4856, 4814, 4858, 3942, 1992, 1987, 4814, 1986, 1985, 1984, 1983, 1982, 1981, 1980, 1979, 4856, 1978, 4858, 1977, 1976, 4856, 1973, 4858, 1970, 1968, 1967, 1966, 3942, 1965, 1964, 1963, 1962, 1960, 1958, 1957, 1956, 1953, 1951, 1949, 1947, 1946, 1944, 1943, 3942, 1940, 1938, 1937, 1927, 1921, 1920, 1916, 1915, 1914, 1913, 1910, 1909, 1908, 3942, 3943, 1878, 1873, 1869, 1868, 3943, 1867, 1866, 3943, 1864, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 1863, 1861, 1860, 1858, 3943, 1857, 1856, 1850, 1849, 1847, 1846, 1845, 1844, 1842, 1831, 1825, 1818, 1809, 1807, 1805, 1803, 1781, 1771, 1768, 1767, 1766, 1763, 1761, 1760, 1757, 1752, 1748, 1747, 1746, 1745, 3943, 1742, 1738, 1726, 1725, 1723, 1722, 1721, 1720, 1719, 1716, 1710, 1699, 1698, 1697, 1662, 1659, 1657, 1654, 1653, 1649, 1648, 1639, 3943, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 1635, 1631, 1629, 1628, 1620, 1617, 3966, 3966, 3966, 3966, 3966, 3966, 1616, 1613, 1609, 1608, 1607, 1599, 1589, 1585, 1584, 1583, 1582, 1581, 1580, 1578, 1573, 1549, 1546, 1540, 1528, 1527, 1526, 1525, 3966, 3966, 3966, 3966, 1523, 1519, 1518, 1512, 1511, 1510, 1493, 1490, 1485, 1482, 1481, 1480, 1479, 1478, 1475, 1472, 1468, 1461, 1455, 1453, 1451, 1450, 1445, 1444, 1443, 3966, 3966, 3966, 3985, 3985, 3985, 1442, 1439, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 1432, 3985, 1431, 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, 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, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 1429, 1426, 1425, 1423, 1422, 1420, 3991, 3991, 3991, 3991, 3991, 3991, 1417, 1409, 1404, 1401, 1399, 1398, 1397, 1394, 1393, 1386, 1384, 1381, 1380, 1378, 1377, 1372, 1364, 1361, 1359, 1358, 1357, 1354, 3991, 3991, 3991, 3991, 1350, 1349, 1348, 1347, 1346, 1344, 1343, 1328, 1325, 1324, 1308, 1304, 1303, 1301, 1300, 1299, 1298, 1296, 1293, 1291, 1281, 1279, 1278, 1274, 1271, 3991, 3991, 3991, 4009, 4009, 4009, 1267, 1264, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 1263, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4009, 4027, 4027, 4027, 1259, 1254, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 1253, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4028, 4028, 4028, 1252, 1251, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 1248, 1244, 1238, 4028, 1236, 1235, 1229, 1219, 1211, 1205, 1203, 1199, 4028, 4028, 4028, 4028, 4028, 1197, 1188, 1187, 1186, 1185, 1182, 1181, 1180, 1179, 1164, 1145, 1136, 1134, 1133, 1132, 1129, 1128, 1127, 1125, 1124, 1115, 1114, 4028, 4028, 4028, 4028, 1113, 1110, 1100, 1088, 1085, 1079, 1074, 1070, 1061, 1053, 1049, 1042, 1037, 1034, 1030, 1027, 1024, 1022, 1014, 996, 988, 984, 967, 964, 963, 4028, 4028, 4028, 4030, 4030, 4030, 960, 958, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 957, 942, 939, 4030, 925, 921, 918, 915, 901, 864, 860, 4030, 4030, 4030, 4030, 4030, 4030, 858, 855, 854, 853, 841, 840, 838, 837, 835, 831, 826, 821, 819, 809, 807, 806, 798, 795, 794, 785, 770, 765, 4030, 4030, 4030, 4030, 757, 752, 738, 735, 730, 726, 717, 713, 709, 706, 703, 696, 693, 690, 687, 679, 676, 673, 670, 666, 653, 649, 646, 642, 639, 4030, 4030, 4030, 4031, 4031, 4031, 638, 637, 4031, 4031, 4031, 631, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 626, 624, 620, 4031, 616, 603, 602, 587, 577, 573, 561, 557, 4031, 4031, 4031, 4031, 547, 543, 535, 523, 518, 517, 516, 514, 503, 500, 498, 490, 489, 485, 482, 478, 466, 458, 452, 448, 443, 442, 432, 4031, 4031, 4031, 4031, 430, 425, 423, 422, 421, 420, 409, 400, 384, 363, 360, 350, 348, 342, 337, 328, 316, 306, 301, 299, 295, 293, 0, 0, 0, 4031, 4031, 4045, 4045, 4045, 0, 0, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 0, 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, 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, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4045, 4046, 4046, 4046, 0, 0, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 0, 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, 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, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4046, 4057, 4057, 4057, 0, 0, 4057, 4057, 4057, 0, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 0, 0, 0, 4057, 0, 0, 0, 0, 0, 0, 0, 4057, 4057, 4057, 4057, 4057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4057, 4057, 4057, 4057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4057, 4057, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4099, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4100, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4101, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 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, 4103, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 4112, 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, 4113, 4113, 4113, 4113, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4114, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4116, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4117, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4118, 4119, 4119, 4119, 4119, 4119, 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, 4120, 4121, 4121, 4121, 4121, 4121, 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, 4122, 4123, 4123, 4123, 4123, 4123, 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, 4124, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 4125, 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, 4126, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4127, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 4128, 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, 4129, 4129, 4129, 4129, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 4130, 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, 4131, 4131, 4131, 4131, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 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, 4136, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4137, 4138, 4138, 4138, 4138, 4138, 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, 4139, 4140, 4140, 4140, 4140, 4140, 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, 4141, 4142, 4142, 4142, 4142, 4142, 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, 4143, 4144, 4144, 4144, 4144, 4144, 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, 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, 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, 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, 4148, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4149, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4150, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4151, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 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, 4154, 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, 4155, 4155, 4155, 4155, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 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, 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, 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, 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, 4160, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 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, 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, 4163, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 4164, 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, 4165, 4165, 4165, 4165, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4166, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4167, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 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, 4169, 4169, 4169, 4169, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 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, 4173, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 4174, 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, 4175, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 4176, 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, 4177, 4179, 4179, 4179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4179, 4179, 4179, 0, 0, 4179, 4182, 4182, 4182, 0, 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, 0, 0, 0, 0, 0, 0, 4183, 0, 0, 0, 4183, 4184, 4184, 4184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4184, 4184, 0, 0, 0, 4184, 4185, 4185, 0, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4187, 4187, 4187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4187, 4187, 4187, 0, 0, 4187, 4189, 4189, 4189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4189, 4189, 4189, 0, 0, 4189, 4192, 4192, 0, 0, 4192, 0, 4192, 4192, 0, 4192, 4192, 4192, 4192, 4192, 4192, 4192, 0, 4192, 4192, 4192, 4192, 4192, 4192, 4192, 4192, 4192, 0, 0, 4192, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4193, 4194, 4194, 0, 0, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4194, 4195, 4195, 0, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4195, 4196, 4196, 4196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4196, 4196, 0, 0, 0, 4196, 4198, 4198, 4198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4198, 4198, 0, 0, 0, 4198, 4200, 4200, 0, 4200, 4200, 0, 4200, 4200, 0, 4200, 4200, 4200, 4200, 4200, 4200, 4200, 0, 4200, 4200, 4200, 4200, 4200, 4200, 4200, 0, 4200, 0, 0, 4200, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4201, 4202, 4202, 0, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4202, 4203, 4203, 0, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4203, 4204, 4204, 0, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 0, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4204, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4205, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 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, 4207, 4207, 4207, 4207, 4208, 0, 0, 4208, 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, 4209, 4211, 4211, 0, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4211, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4213, 4213, 0, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4213, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4215, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4216, 4217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4217, 0, 0, 0, 0, 0, 4217, 0, 0, 0, 4217, 4217, 0, 4217, 4218, 4218, 4218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4218, 4218, 0, 0, 0, 4218, 4220, 4220, 0, 4220, 4220, 0, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4220, 4221, 0, 4221, 4221, 4221, 4221, 4221, 0, 0, 0, 4221, 0, 4221, 4222, 4222, 0, 4222, 4222, 0, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4222, 4223, 0, 4223, 4223, 4223, 4223, 4223, 0, 4223, 0, 4223, 0, 4223, 4224, 4224, 4224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4224, 4224, 0, 0, 0, 4224, 4229, 4229, 0, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4229, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4230, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 4232, 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, 4233, 4233, 4233, 4233, 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, 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, 4235, 4236, 4236, 0, 4236, 4236, 0, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4236, 4237, 0, 4237, 4237, 4237, 4237, 4237, 0, 0, 0, 4237, 0, 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, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4239, 4240, 4240, 0, 4240, 4240, 0, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4240, 4241, 0, 4241, 4241, 4241, 4241, 4241, 0, 0, 0, 4241, 0, 4241, 4242, 4242, 0, 4242, 4242, 0, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4242, 4243, 0, 4243, 4243, 4243, 4243, 4243, 0, 0, 0, 4243, 0, 4243, 4244, 4244, 4244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4244, 4244, 0, 0, 0, 4244, 4245, 4245, 4245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4245, 4245, 0, 0, 0, 4245, 4247, 4247, 4247, 0, 0, 0, 4247, 0, 0, 0, 4247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4247, 4249, 0, 0, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 0, 4249, 4249, 4249, 4249, 4249, 4249, 4249, 0, 4249, 4249, 4249, 4249, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4250, 4254, 0, 4254, 4254, 4254, 4254, 4254, 0, 0, 0, 4254, 0, 4254, 4255, 0, 4255, 4255, 4255, 4255, 4255, 0, 0, 4255, 4255, 0, 4255, 4256, 0, 4256, 4256, 4256, 4256, 4256, 0, 0, 4256, 4256, 0, 4256, 4257, 0, 0, 4257, 0, 0, 4257, 0, 4257, 4257, 4257, 4257, 4257, 0, 0, 4257, 4257, 0, 4257, 0, 0, 0, 4257, 4258, 4258, 0, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4258, 4259, 4259, 0, 4259, 4259, 0, 0, 0, 4259, 4260, 4260, 4260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4260, 4260, 0, 0, 0, 4260, 4262, 0, 0, 4262, 0, 4262, 4262, 4262, 0, 0, 4262, 0, 4262, 4262, 4262, 4262, 4262, 0, 4262, 4262, 0, 4262, 0, 0, 4262, 4263, 0, 0, 4263, 0, 4263, 4263, 4263, 0, 0, 4263, 0, 4263, 4263, 4263, 4263, 4263, 0, 4263, 4263, 0, 4263, 0, 0, 4263, 4264, 0, 0, 4264, 0, 4264, 4264, 4264, 0, 0, 4264, 0, 4264, 4264, 4264, 4264, 4264, 0, 4264, 4264, 0, 4264, 0, 0, 4264, 4265, 4265, 0, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 4265, 0, 4265, 4265, 0, 4265, 4265, 4265, 4265, 0, 4265, 4265, 4265, 4265, 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, 4266, 4266, 4266, 4266, 4267, 0, 0, 4267, 4267, 0, 4267, 0, 4267, 4267, 4267, 4267, 4267, 0, 0, 0, 4267, 0, 0, 0, 0, 0, 4267, 4268, 4268, 0, 0, 0, 0, 4268, 0, 4268, 4268, 0, 0, 0, 4268, 4269, 4269, 0, 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, 4270, 0, 4270, 4270, 4270, 4270, 4270, 0, 0, 0, 4270, 0, 4270, 4271, 4271, 0, 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, 4272, 0, 4272, 4272, 4272, 4272, 4272, 0, 0, 0, 4272, 0, 4272, 4273, 0, 4273, 4273, 4273, 4273, 0, 0, 0, 0, 4273, 4274, 0, 0, 0, 0, 0, 4274, 0, 4274, 4274, 4274, 4274, 4274, 0, 0, 4274, 4274, 0, 0, 0, 0, 0, 4274, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 0, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 4275, 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, 4276, 4276, 4276, 4276, 4278, 0, 0, 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, 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, 4279, 4279, 4280, 0, 0, 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, 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, 4281, 4281, 4282, 0, 0, 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, 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, 4283, 4283, 4284, 0, 0, 0, 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, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4285, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 4286, 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, 4287, 4287, 4287, 4287, 4287, 4287, 4288, 4288, 4288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4288, 4288, 0, 0, 0, 4288, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 4290, 0, 4290, 4290, 4290, 4290, 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, 4291, 4291, 4291, 4291, 4292, 4292, 0, 4292, 4292, 0, 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, 4293, 4293, 4293, 4293, 4293, 0, 0, 0, 4293, 0, 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, 4294, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 4295, 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, 4296, 4296, 4296, 4296, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4297, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 4299, 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, 4300, 4300, 4300, 4300, 4302, 4302, 0, 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, 4303, 0, 0, 0, 0, 0, 4303, 0, 4303, 4303, 4303, 4303, 4303, 0, 0, 4303, 4303, 0, 0, 0, 0, 0, 4303, 4304, 0, 0, 0, 0, 0, 4304, 0, 4304, 4304, 4304, 4304, 4304, 0, 0, 4304, 4304, 0, 4304, 0, 0, 0, 4304, 4305, 0, 4305, 4305, 4305, 4305, 4305, 0, 0, 0, 4305, 0, 4305, 4306, 4306, 0, 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, 4307, 0, 4307, 4307, 4307, 4307, 4307, 0, 0, 0, 4307, 0, 4307, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 0, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 4309, 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, 4310, 4310, 4310, 4310, 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, 4311, 4311, 4311, 4311, 4312, 4312, 0, 4312, 4312, 0, 4312, 4312, 0, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 4312, 0, 4312, 4312, 4312, 4312, 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, 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, 4314, 4315, 4315, 0, 4315, 4315, 0, 4315, 4315, 0, 0, 0, 4315, 4315, 4315, 4315, 4315, 0, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 4315, 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, 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, 4317, 4318, 4318, 0, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 0, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 4318, 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, 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, 4320, 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, 4321, 4321, 4321, 4321, 4322, 0, 0, 0, 4322, 0, 4322, 4322, 0, 0, 0, 4322, 4322, 4322, 4322, 4322, 0, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 4322, 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, 4323, 4323, 4323, 4323, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 0, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 4324, 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, 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, 4327, 4328, 4328, 0, 4328, 4328, 0, 4328, 4328, 0, 0, 0, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 4328, 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, 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, 4330, 4331, 4331, 0, 4331, 4331, 0, 4331, 4331, 0, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 4331, 0, 0, 4331, 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, 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, 4333, 4335, 4335, 4335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4335, 0, 0, 0, 4335, 0, 0, 0, 0, 0, 4335, 4336, 4336, 4336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4336, 4336, 4336, 0, 0, 4336, 4338, 4338, 4338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4338, 0, 4338, 0, 0, 4338, 4340, 4340, 4340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4340, 0, 0, 0, 4340, 0, 0, 0, 0, 0, 4340, 4341, 4341, 4341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4341, 4341, 0, 0, 0, 4341, 4343, 4343, 4343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4343, 0, 0, 0, 4343, 4344, 4344, 4344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4344, 4344, 0, 0, 0, 4344, 4345, 4345, 0, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4345, 4346, 4346, 4346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4346, 4346, 0, 0, 0, 4346, 4347, 4347, 4347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4347, 0, 0, 0, 4347, 0, 0, 0, 0, 0, 4347, 4348, 4348, 4348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 4348, 4348, 0, 0, 4348, 4350, 4350, 4350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4350, 0, 4350, 0, 0, 4350, 4351, 4351, 4351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4351, 0, 0, 0, 4351, 0, 0, 0, 0, 0, 4351, 4352, 4352, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 4352, 4352, 0, 0, 4352, 4354, 4354, 4354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4354, 0, 4354, 0, 0, 4354, 4356, 4356, 0, 0, 4356, 0, 4356, 4356, 0, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 0, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 0, 0, 4356, 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, 4357, 4357, 4357, 4357, 4358, 4358, 0, 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, 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, 4360, 4361, 4361, 4361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4361, 0, 0, 0, 4361, 0, 0, 0, 0, 0, 4361, 4362, 4362, 4362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4362, 4362, 0, 0, 0, 4362, 4365, 4365, 4365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4365, 0, 0, 0, 4365, 0, 0, 0, 0, 0, 4365, 4366, 4366, 4366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4366, 4366, 0, 0, 0, 4366, 4369, 4369, 0, 4369, 4369, 0, 4369, 4369, 0, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 0, 4369, 4369, 4369, 4369, 4369, 4369, 4369, 0, 4369, 0, 0, 4369, 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, 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, 4371, 4372, 4372, 0, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 0, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 4372, 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, 4373, 4373, 4373, 4373, 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, 4374, 4374, 4374, 4374, 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, 4375, 4375, 4375, 4375, 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, 4376, 4376, 4376, 4376, 4377, 0, 0, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 0, 4377, 4377, 4377, 4377, 0, 4377, 4377, 4377, 4377, 4377, 4377, 4377, 0, 4377, 4377, 4377, 4377, 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, 4378, 4378, 4378, 4378, 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, 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, 4381, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4382, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4383, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 0, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 0, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4386, 4387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4387, 0, 0, 0, 0, 0, 4387, 0, 0, 0, 4387, 4387, 0, 4387, 4388, 4388, 4388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4388, 0, 0, 0, 4388, 0, 0, 0, 0, 0, 4388, 4389, 4389, 4389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4389, 4389, 0, 0, 0, 4389, 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, 4392, 4393, 0, 4393, 4393, 4393, 4393, 4393, 0, 0, 0, 4393, 0, 4393, 4394, 4394, 0, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4394, 4395, 0, 4395, 4395, 4395, 4395, 4395, 0, 4395, 0, 4395, 0, 4395, 4396, 4396, 4396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4396, 0, 0, 0, 4396, 0, 0, 0, 0, 0, 4396, 4397, 4397, 4397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4397, 4397, 0, 0, 0, 4397, 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, 4403, 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, 4404, 4404, 4404, 4404, 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, 4406, 4406, 4406, 4406, 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, 4407, 4407, 4407, 4407, 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, 4408, 4408, 4408, 4408, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 4409, 0, 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, 0, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4410, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 0, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4413, 4413, 0, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4413, 4414, 0, 4414, 4414, 4414, 4414, 4414, 0, 0, 0, 4414, 0, 4414, 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, 4415, 4415, 4415, 4415, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 4416, 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, 4417, 4418, 0, 4418, 4418, 4418, 4418, 4418, 0, 0, 0, 4418, 0, 4418, 4419, 4419, 0, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4419, 4420, 0, 4420, 4420, 4420, 4420, 4420, 0, 0, 0, 4420, 0, 4420, 4421, 4421, 4421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4421, 4421, 0, 0, 0, 4421, 4422, 4422, 4422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4422, 4422, 0, 0, 0, 4422, 4423, 4423, 4423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4423, 0, 0, 0, 4423, 0, 0, 0, 0, 0, 4423, 4424, 4424, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424, 0, 0, 0, 4424, 4427, 4427, 4427, 0, 0, 0, 4427, 0, 0, 0, 4427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4427, 4430, 0, 0, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 0, 4430, 4430, 4430, 4430, 4430, 4430, 4430, 0, 4430, 4430, 4430, 4430, 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, 4431, 4431, 4431, 4431, 4433, 0, 0, 4433, 0, 0, 0, 0, 0, 0, 0, 4433, 4433, 0, 0, 0, 4433, 0, 0, 0, 0, 0, 4433, 4437, 0, 4437, 4437, 4437, 4437, 4437, 0, 0, 0, 4437, 0, 4437, 4438, 0, 4438, 4438, 4438, 4438, 4438, 0, 0, 0, 4438, 0, 4438, 4439, 0, 4439, 4439, 4439, 4439, 4439, 0, 0, 4439, 4439, 0, 4439, 4440, 0, 4440, 4440, 4440, 4440, 4440, 0, 0, 4440, 4440, 0, 4440, 4442, 0, 4442, 4442, 4442, 4442, 4442, 0, 0, 4442, 4442, 0, 4442, 4443, 0, 4443, 4443, 4443, 4443, 4443, 0, 0, 0, 4443, 0, 4443, 0, 0, 0, 4443, 4444, 0, 0, 0, 0, 0, 4444, 0, 0, 4444, 4444, 0, 4444, 0, 0, 0, 0, 4444, 4444, 4444, 0, 4444, 4445, 0, 0, 4445, 0, 0, 4445, 0, 4445, 4445, 4445, 4445, 4445, 0, 0, 4445, 4445, 0, 4445, 0, 0, 0, 4445, 4446, 4446, 0, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4446, 4447, 4447, 0, 4447, 4447, 0, 0, 0, 4447, 4448, 4448, 4448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4448, 0, 0, 0, 4448, 0, 0, 0, 0, 0, 4448, 4449, 4449, 4449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4449, 4449, 0, 0, 0, 4449, 4452, 0, 0, 4452, 0, 4452, 4452, 4452, 0, 0, 4452, 0, 4452, 4452, 4452, 4452, 4452, 0, 4452, 4452, 0, 4452, 0, 0, 4452, 4453, 0, 0, 4453, 0, 4453, 4453, 4453, 0, 0, 4453, 0, 4453, 4453, 4453, 4453, 4453, 0, 4453, 4453, 0, 4453, 0, 0, 4453, 4454, 0, 0, 4454, 0, 4454, 4454, 4454, 0, 0, 4454, 0, 4454, 4454, 4454, 4454, 4454, 0, 4454, 4454, 0, 4454, 0, 0, 4454, 4455, 0, 0, 4455, 0, 4455, 4455, 4455, 0, 0, 4455, 0, 4455, 4455, 4455, 4455, 4455, 0, 4455, 4455, 0, 4455, 0, 0, 4455, 4456, 0, 0, 4456, 0, 4456, 4456, 4456, 0, 0, 4456, 0, 4456, 4456, 4456, 4456, 4456, 0, 4456, 4456, 0, 4456, 0, 0, 4456, 4457, 0, 0, 4457, 0, 4457, 4457, 4457, 0, 0, 4457, 0, 4457, 4457, 4457, 4457, 4457, 0, 4457, 4457, 0, 4457, 0, 0, 4457, 4458, 0, 0, 4458, 0, 4458, 4458, 4458, 0, 0, 4458, 0, 4458, 4458, 4458, 4458, 4458, 0, 4458, 4458, 0, 4458, 0, 0, 4458, 4459, 0, 0, 4459, 0, 4459, 4459, 4459, 0, 0, 4459, 0, 4459, 4459, 4459, 4459, 4459, 0, 4459, 4459, 0, 4459, 0, 0, 4459, 4460, 0, 0, 4460, 0, 4460, 4460, 4460, 0, 0, 4460, 0, 4460, 4460, 4460, 4460, 4460, 0, 4460, 4460, 0, 4460, 0, 0, 4460, 4461, 4461, 0, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 4461, 0, 4461, 4461, 0, 4461, 4461, 4461, 4461, 0, 4461, 4461, 4461, 4461, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4462, 4463, 0, 0, 4463, 4463, 0, 4463, 0, 4463, 4463, 4463, 4463, 4463, 0, 0, 0, 4463, 0, 0, 0, 0, 0, 4463, 4464, 4464, 0, 0, 0, 0, 4464, 0, 4464, 4464, 0, 0, 0, 4464, 4465, 4465, 0, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4465, 4466, 0, 4466, 4466, 4466, 4466, 4466, 0, 0, 0, 4466, 0, 4466, 4467, 4467, 0, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4467, 4468, 0, 4468, 4468, 4468, 4468, 4468, 0, 0, 0, 4468, 0, 4468, 4469, 0, 4469, 4469, 4469, 4469, 0, 0, 0, 0, 4469, 4470, 0, 0, 0, 0, 0, 4470, 0, 4470, 4470, 4470, 4470, 4470, 0, 0, 4470, 4470, 0, 0, 0, 0, 0, 4470, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 0, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4471, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4472, 4474, 0, 0, 0, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4474, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4476, 0, 0, 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, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4478, 0, 0, 0, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 4478, 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, 4479, 4479, 4479, 4479, 4480, 0, 0, 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, 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, 4481, 4481, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4482, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4483, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4484, 4485, 4485, 4485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4485, 0, 0, 0, 4485, 0, 0, 0, 0, 0, 4485, 4486, 4486, 4486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4486, 4486, 0, 0, 0, 4486, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 4489, 0, 4489, 4489, 4489, 4489, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 4490, 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, 4491, 4492, 0, 4492, 4492, 4492, 4492, 4492, 0, 0, 0, 4492, 0, 4492, 4493, 4493, 0, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4493, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4494, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4495, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4496, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4498, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4499, 4501, 4501, 0, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4501, 4502, 0, 0, 0, 0, 0, 4502, 0, 4502, 4502, 4502, 4502, 4502, 0, 0, 4502, 4502, 0, 0, 0, 0, 0, 4502, 4503, 0, 0, 0, 0, 0, 4503, 0, 4503, 4503, 4503, 4503, 4503, 0, 0, 4503, 4503, 0, 4503, 0, 0, 0, 4503, 4504, 0, 4504, 4504, 4504, 4504, 4504, 0, 0, 0, 4504, 0, 4504, 4505, 4505, 0, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4506, 0, 4506, 4506, 4506, 4506, 4506, 0, 0, 0, 4506, 0, 4506, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 0, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4510, 4510, 0, 4510, 4510, 0, 4510, 4510, 0, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 4510, 0, 4510, 4510, 4510, 4510, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4512, 4512, 0, 4512, 4512, 0, 4512, 4512, 0, 0, 0, 4512, 4512, 4512, 4512, 4512, 0, 4512, 4512, 4512, 4512, 4512, 4512, 4512, 4512, 4512, 4512, 4512, 4512, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4513, 4514, 4514, 0, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4514, 4515, 4515, 0, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 0, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4515, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4516, 4517, 4517, 0, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4517, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4518, 4519, 0, 0, 0, 4519, 0, 4519, 4519, 0, 0, 0, 4519, 4519, 4519, 4519, 4519, 0, 4519, 4519, 4519, 4519, 4519, 4519, 4519, 4519, 4519, 4519, 4519, 4519, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4520, 4522, 4522, 0, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4522, 4523, 4523, 0, 4523, 4523, 0, 4523, 4523, 0, 0, 0, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4523, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4524, 4525, 4525, 0, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4525, 4526, 4526, 0, 4526, 4526, 0, 4526, 4526, 0, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 4526, 0, 0, 4526, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4527, 4528, 4528, 0, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4528, 4529, 4529, 4529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4529, 0, 0, 0, 4529, 0, 0, 0, 0, 0, 4529, 4530, 4530, 4530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4530, 4530, 4530, 0, 0, 4530, 4532, 4532, 4532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4532, 0, 4532, 0, 0, 4532, 4533, 4533, 4533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4533, 0, 0, 0, 4533, 0, 0, 0, 0, 0, 4533, 4534, 4534, 4534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4534, 4534, 0, 0, 0, 4534, 4538, 4538, 4538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4538, 4538, 0, 0, 0, 4538, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 0, 4539, 4539, 4539, 4539, 0, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4539, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 0, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4540, 4541, 4541, 4541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4541, 0, 0, 0, 4541, 0, 0, 0, 0, 0, 4541, 4542, 4542, 4542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4542, 4542, 4542, 0, 0, 4542, 4544, 4544, 4544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4544, 0, 4544, 0, 0, 4544, 4545, 4545, 4545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4545, 0, 0, 0, 4545, 0, 0, 0, 0, 0, 4545, 4546, 4546, 4546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4546, 4546, 4546, 0, 0, 4546, 4548, 4548, 4548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4548, 0, 4548, 0, 0, 4548, 4549, 4549, 0, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4550, 4550, 4550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4550, 0, 0, 0, 4550, 0, 0, 0, 0, 0, 4550, 4551, 4551, 4551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4551, 4551, 0, 0, 0, 4551, 4554, 4554, 4554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4554, 0, 0, 0, 4554, 0, 0, 0, 0, 0, 4554, 4555, 4555, 4555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4555, 4555, 0, 0, 0, 4555, 4558, 0, 0, 4558, 4558, 4558, 4558, 4558, 4558, 4558, 4558, 0, 4558, 4558, 4558, 4558, 0, 4558, 4558, 4558, 4558, 4558, 4558, 4558, 0, 4558, 4558, 4558, 4558, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4559, 4560, 4560, 0, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4560, 4561, 4561, 4561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4561, 0, 0, 0, 4561, 0, 0, 0, 0, 0, 4561, 4562, 4562, 4562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4562, 4562, 0, 0, 0, 4562, 4565, 4565, 4565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4565, 0, 0, 0, 4565, 0, 0, 0, 0, 0, 4565, 4566, 4566, 4566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4566, 4566, 0, 0, 0, 4566, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 0, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4569, 4570, 4570, 0, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 0, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4570, 4571, 4571, 4571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4571, 0, 0, 0, 4571, 4572, 4572, 4572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4572, 4572, 0, 0, 0, 4572, 4573, 4573, 4573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4573, 0, 0, 0, 4573, 0, 0, 0, 0, 0, 4573, 4574, 4574, 4574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4574, 4574, 0, 0, 0, 4574, 4578, 0, 0, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 0, 4578, 4578, 4578, 4578, 4578, 4578, 4578, 0, 4578, 4578, 4578, 4578, 4579, 0, 0, 4579, 0, 0, 0, 0, 0, 0, 0, 4579, 4579, 0, 0, 0, 4579, 0, 0, 0, 0, 0, 4579, 4581, 0, 4581, 4581, 4581, 4581, 4581, 0, 0, 0, 4581, 0, 4581, 4582, 0, 4582, 4582, 4582, 4582, 4582, 0, 0, 4582, 4582, 0, 4582, 4584, 0, 0, 4584, 0, 0, 4584, 0, 4584, 4584, 4584, 4584, 4584, 0, 0, 0, 4584, 0, 4584, 0, 0, 0, 4584, 4585, 4585, 0, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4585, 4586, 4586, 0, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4586, 4587, 4587, 0, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4587, 4588, 0, 0, 0, 0, 0, 4588, 0, 0, 4588, 4588, 0, 4588, 0, 0, 0, 0, 4588, 4588, 4588, 0, 4588, 4589, 0, 4589, 4589, 4589, 4589, 4589, 0, 0, 0, 4589, 0, 4589, 0, 0, 0, 4589, 4590, 0, 4590, 4590, 4590, 4590, 4590, 0, 0, 0, 4590, 0, 4590, 4591, 0, 0, 4591, 0, 0, 4591, 0, 4591, 4591, 4591, 4591, 4591, 0, 0, 4591, 4591, 0, 4591, 0, 0, 0, 4591, 4592, 4592, 4592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4592, 0, 0, 0, 4592, 0, 0, 0, 0, 0, 4592, 4593, 4593, 4593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4593, 4593, 0, 0, 0, 4593, 4596, 0, 0, 4596, 0, 4596, 4596, 4596, 0, 0, 4596, 0, 4596, 4596, 4596, 4596, 4596, 0, 4596, 4596, 0, 4596, 0, 0, 4596, 4597, 0, 0, 4597, 0, 4597, 4597, 4597, 0, 0, 4597, 0, 4597, 4597, 4597, 4597, 4597, 0, 4597, 4597, 0, 4597, 0, 0, 4597, 4598, 0, 0, 4598, 0, 4598, 4598, 4598, 0, 0, 4598, 0, 4598, 4598, 4598, 4598, 4598, 0, 4598, 4598, 0, 4598, 0, 0, 4598, 4599, 4599, 0, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 4599, 0, 4599, 4599, 0, 4599, 4599, 4599, 4599, 0, 4599, 4599, 4599, 4599, 4600, 4600, 4600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4600, 0, 0, 0, 4600, 0, 0, 0, 0, 0, 4600, 4601, 4601, 4601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4601, 4601, 0, 0, 0, 4601, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 4604, 0, 4604, 4604, 4604, 4604, 4606, 4606, 4606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4606, 0, 0, 0, 4606, 0, 0, 0, 0, 0, 4606, 4609, 4609, 4609, 0, 0, 0, 0, 0, 0, 0, 4609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4609, 4610, 4610, 4610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4610, 4610, 4610, 0, 0, 4610, 4611, 0, 0, 4611, 4611, 4611, 4611, 4611, 4611, 4611, 4611, 0, 4611, 4611, 4611, 4611, 0, 4611, 4611, 4611, 4611, 4611, 4611, 4611, 0, 4611, 4611, 4611, 4611, 4612, 4612, 0, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4612, 4613, 4613, 4613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4613, 0, 0, 0, 4613, 4614, 4614, 4614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4614, 4614, 0, 0, 0, 4614, 4615, 0, 0, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 0, 4615, 4615, 4615, 4615, 4615, 4615, 4615, 0, 4615, 4615, 4615, 4615, 4617, 0, 0, 4617, 0, 0, 4617, 0, 4617, 4617, 4617, 4617, 4617, 0, 0, 0, 4617, 0, 4617, 0, 0, 0, 4617, 4618, 4618, 0, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4619, 4619, 0, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4619, 4620, 4620, 0, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4620, 4621, 4621, 0, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4621, 4622, 4622, 0, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4622, 4623, 4623, 0, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4623, 4624, 4624, 0, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4624, 4625, 4625, 0, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4625, 4626, 4626, 0, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4626, 4627, 4627, 0, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4627, 4628, 4628, 0, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4628, 4629, 4629, 0, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4629, 4630, 4630, 0, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4630, 4631, 4631, 0, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4631, 4632, 4632, 0, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4632, 4633, 4633, 0, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4633, 4634, 4634, 0, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4634, 4635, 4635, 0, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4635, 4636, 4636, 0, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4636, 4637, 4637, 0, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4637, 4638, 4638, 0, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4639, 4639, 0, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4639, 4640, 0, 0, 4640, 0, 0, 4640, 0, 4640, 4640, 4640, 4640, 4640, 0, 0, 0, 4640, 0, 4640, 0, 0, 0, 4640, 4641, 0, 4641, 4641, 4641, 4641, 4641, 0, 0, 0, 4641, 0, 4641, 4642, 0, 0, 0, 0, 0, 4642, 0, 4642, 4642, 4642, 4642, 4642, 0, 0, 4642, 4642, 0, 4642, 0, 0, 0, 4642, 4643, 0, 0, 4643, 0, 0, 4643, 0, 4643, 4643, 4643, 4643, 4643, 0, 0, 4643, 4643, 0, 4643, 0, 0, 0, 4643, 4644, 4644, 0, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 4644, 0, 4644, 4644, 0, 4644, 4644, 4644, 4644, 0, 4644, 4644, 4644, 4644, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 4645, 0, 4645, 4645, 4645, 4645, 4647, 4647, 4647, 0, 0, 0, 0, 0, 0, 0, 4647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4647, 4648, 4648, 4648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4648, 4648, 4648, 0, 0, 4648, 4649, 0, 0, 4649, 4649, 4649, 4649, 4649, 4649, 4649, 4649, 0, 4649, 4649, 4649, 4649, 0, 4649, 4649, 4649, 4649, 4649, 4649, 4649, 0, 4649, 4649, 4649, 4649, 4650, 4650, 0, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4650, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 4651, 0, 4651, 4651, 4651, 4651, 0, 4651, 4651, 4651, 4651, 4651, 4651, 4652, 4652, 0, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4652, 4653, 4653, 4653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4653, 4653, 0, 0, 0, 4653, 4654, 0, 0, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 0, 4654, 4654, 4654, 4654, 4654, 4654, 4654, 0, 4654, 4654, 4654, 4654, 4655, 0, 0, 4655, 0, 0, 0, 0, 0, 0, 0, 4655, 4655, 0, 0, 0, 4655, 0, 0, 0, 0, 0, 4655, 4656, 4656, 0, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4656, 4657, 4657, 0, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4657, 4658, 4658, 0, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4659, 4659, 0, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4659, 4660, 4660, 0, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4660, 4661, 4661, 0, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4661, 4662, 4662, 0, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4662, 4663, 4663, 0, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4663, 4664, 4664, 0, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4664, 4665, 4665, 0, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4665, 4666, 4666, 0, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4666, 4667, 4667, 0, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4667, 4668, 4668, 0, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4668, 4669, 4669, 0, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4669, 4670, 4670, 0, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4670, 4671, 4671, 0, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4671, 4672, 4672, 0, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4672, 4673, 4673, 0, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4673, 4674, 4674, 0, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4674, 4675, 4675, 0, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4675, 4676, 4676, 0, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4676, 4677, 4677, 0, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4677, 4678, 4678, 0, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4678, 4679, 4679, 0, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4679, 4680, 4680, 0, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4680, 4681, 4681, 0, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4681, 4682, 4682, 0, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4682, 4683, 4683, 0, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4683, 4684, 4684, 0, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4684, 4685, 4685, 0, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4685, 4686, 4686, 0, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4686, 4687, 4687, 0, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4687, 4688, 4688, 0, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4688, 4689, 4689, 0, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4689, 4690, 4690, 0, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4690, 4691, 4691, 0, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4691, 4692, 4692, 0, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4692, 4693, 4693, 0, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4693, 4694, 0, 0, 4694, 0, 0, 4694, 0, 4694, 4694, 4694, 4694, 4694, 0, 0, 0, 4694, 0, 4694, 0, 0, 0, 4694, 4695, 0, 4695, 4695, 4695, 4695, 4695, 0, 0, 0, 4695, 0, 4695, 4696, 4696, 0, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4696, 4697, 0, 0, 0, 0, 0, 4697, 0, 4697, 4697, 4697, 4697, 4697, 0, 0, 4697, 4697, 0, 0, 0, 0, 0, 4697, 4698, 0, 0, 0, 0, 0, 4698, 0, 4698, 4698, 4698, 4698, 4698, 0, 0, 4698, 4698, 0, 4698, 0, 0, 0, 4698, 4699, 0, 0, 0, 0, 0, 4699, 0, 4699, 4699, 4699, 4699, 4699, 0, 0, 4699, 4699, 0, 4699, 0, 0, 0, 4699, 4700, 0, 0, 0, 0, 0, 4700, 0, 4700, 4700, 4700, 4700, 4700, 0, 0, 4700, 4700, 0, 4700, 0, 0, 0, 4700, 4701, 0, 0, 4701, 0, 0, 4701, 0, 4701, 4701, 4701, 4701, 4701, 0, 0, 4701, 4701, 0, 4701, 0, 0, 0, 4701, 4702, 4702, 0, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 0, 4702, 4702, 0, 4702, 4702, 4702, 4702, 0, 4702, 4702, 4702, 4702, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 4703, 0, 4703, 4703, 4703, 4703, 4705, 4705, 4705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4705, 4705, 4705, 0, 0, 4705, 4706, 4706, 0, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4706, 4707, 0, 0, 4707, 4707, 4707, 4707, 4707, 4707, 4707, 4707, 0, 4707, 4707, 4707, 4707, 0, 4707, 4707, 4707, 4707, 4707, 4707, 4707, 0, 4707, 4707, 4707, 4707, 4708, 4708, 0, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4708, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 4709, 0, 4709, 4709, 4709, 4709, 0, 4709, 4709, 4709, 4709, 4709, 4709, 4710, 0, 0, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 0, 4710, 4710, 4710, 4710, 4710, 4710, 4710, 0, 4710, 4710, 4710, 4710, 4711, 0, 0, 4711, 0, 0, 0, 0, 0, 0, 0, 4711, 4711, 0, 0, 0, 4711, 0, 0, 0, 0, 0, 4711, 4712, 4712, 0, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4712, 4713, 4713, 0, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4713, 4714, 4714, 0, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4714, 4715, 4715, 0, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4715, 4716, 4716, 0, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4716, 4717, 4717, 0, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4717, 4718, 4718, 0, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4718, 4719, 4719, 0, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4719, 4720, 4720, 0, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4720, 4721, 4721, 0, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4721, 4722, 4722, 0, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4722, 4723, 4723, 0, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4723, 4724, 4724, 0, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4724, 4725, 4725, 0, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4725, 4726, 4726, 0, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4726, 4727, 4727, 0, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4727, 4728, 4728, 0, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4728, 4729, 4729, 0, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4729, 4730, 4730, 0, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4730, 4731, 4731, 0, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 4732, 4732, 0, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4732, 4733, 4733, 0, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4733, 4734, 4734, 0, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4734, 4735, 4735, 0, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4735, 4736, 4736, 0, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4736, 4737, 4737, 0, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4737, 4738, 4738, 0, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4738, 4739, 4739, 0, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4739, 4740, 4740, 0, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4741, 0, 0, 4741, 0, 0, 4741, 0, 4741, 4741, 4741, 4741, 4741, 0, 0, 0, 4741, 0, 4741, 0, 0, 0, 4741, 4742, 0, 4742, 4742, 4742, 4742, 4742, 0, 0, 0, 4742, 0, 4742, 4743, 4743, 0, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4743, 4744, 4744, 0, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4744, 4745, 4745, 0, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4745, 4746, 0, 0, 0, 0, 0, 4746, 0, 4746, 4746, 4746, 4746, 4746, 0, 0, 4746, 4746, 0, 4746, 0, 0, 0, 4746, 4747, 0, 0, 4747, 0, 0, 4747, 0, 4747, 4747, 4747, 4747, 4747, 0, 0, 4747, 4747, 0, 4747, 0, 0, 0, 4747, 4748, 0, 0, 0, 0, 0, 4748, 0, 4748, 4748, 4748, 4748, 4748, 0, 0, 4748, 4748, 0, 0, 0, 0, 0, 4748, 4749, 0, 0, 4749, 0, 0, 4749, 0, 4749, 4749, 4749, 4749, 4749, 0, 0, 4749, 4749, 0, 4749, 0, 0, 0, 4749, 4750, 4750, 0, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4750, 4751, 4751, 0, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 4751, 0, 4751, 4751, 0, 4751, 4751, 4751, 4751, 0, 4751, 4751, 4751, 4751, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 4752, 0, 4752, 4752, 4752, 4752, 4753, 4753, 4753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4753, 4753, 4753, 0, 0, 4753, 4754, 4754, 0, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4754, 4755, 0, 0, 4755, 4755, 4755, 4755, 4755, 4755, 4755, 4755, 0, 4755, 4755, 4755, 4755, 0, 4755, 4755, 4755, 4755, 4755, 4755, 4755, 0, 4755, 4755, 4755, 4755, 4756, 0, 0, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 0, 4756, 4756, 4756, 4756, 4756, 4756, 4756, 0, 4756, 4756, 4756, 4756, 4757, 0, 0, 4757, 0, 0, 0, 0, 0, 0, 0, 4757, 4757, 0, 0, 0, 4757, 0, 0, 0, 0, 0, 4757, 4758, 4758, 0, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4758, 4759, 4759, 0, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4759, 4760, 4760, 0, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4761, 4761, 0, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4761, 4762, 4762, 0, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4762, 4763, 4763, 0, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4763, 4764, 4764, 0, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4764, 4765, 4765, 0, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4765, 4766, 4766, 0, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4766, 4767, 4767, 0, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4767, 4768, 4768, 0, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4768, 4769, 4769, 0, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4770, 4770, 0, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4770, 4771, 4771, 0, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4771, 4772, 4772, 0, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4772, 4773, 4773, 0, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4773, 4774, 4774, 0, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4774, 4775, 0, 0, 4775, 0, 0, 4775, 0, 4775, 4775, 4775, 4775, 4775, 0, 0, 0, 4775, 0, 4775, 0, 0, 0, 4775, 4776, 0, 4776, 4776, 4776, 4776, 4776, 0, 0, 0, 4776, 0, 4776, 4777, 4777, 0, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4777, 4778, 0, 0, 0, 0, 0, 4778, 0, 4778, 4778, 4778, 4778, 4778, 0, 0, 4778, 4778, 0, 0, 0, 0, 0, 4778, 4779, 0, 0, 4779, 0, 0, 4779, 0, 4779, 4779, 4779, 4779, 4779, 0, 0, 4779, 4779, 0, 4779, 0, 0, 0, 4779, 4780, 0, 0, 0, 0, 0, 4780, 0, 4780, 4780, 4780, 4780, 4780, 0, 0, 4780, 4780, 0, 4780, 0, 0, 0, 4780, 4781, 0, 0, 4781, 0, 0, 4781, 0, 4781, 4781, 4781, 4781, 4781, 0, 0, 4781, 4781, 0, 0, 0, 0, 0, 4781, 4782, 0, 0, 4782, 0, 0, 4782, 0, 4782, 4782, 4782, 4782, 4782, 0, 0, 4782, 4782, 0, 4782, 0, 0, 0, 4782, 4783, 4783, 0, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4783, 4784, 4784, 0, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 4784, 0, 4784, 4784, 0, 4784, 4784, 4784, 4784, 0, 4784, 4784, 4784, 4784, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 4785, 0, 4785, 4785, 4785, 4785, 4787, 4787, 4787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4787, 4787, 4787, 0, 0, 4787, 4788, 0, 0, 4788, 4788, 4788, 4788, 4788, 4788, 4788, 4788, 0, 4788, 4788, 4788, 4788, 0, 4788, 4788, 4788, 4788, 4788, 4788, 4788, 0, 4788, 4788, 4788, 4788, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4789, 4790, 0, 0, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 0, 4790, 4790, 4790, 4790, 4790, 4790, 4790, 0, 4790, 4790, 4790, 4790, 4791, 0, 0, 4791, 0, 0, 0, 0, 0, 0, 0, 4791, 4791, 0, 0, 0, 4791, 0, 0, 0, 0, 0, 4791, 4792, 4792, 0, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4792, 4793, 4793, 0, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4793, 4794, 4794, 0, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4794, 4795, 4795, 0, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4795, 4796, 4796, 0, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4797, 4797, 0, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4797, 4798, 4798, 0, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4798, 4799, 4799, 0, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4799, 4800, 4800, 0, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4801, 4801, 0, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4801, 4802, 4802, 0, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4802, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 4804, 0, 4804, 4804, 4804, 4804, 0, 4804, 4804, 4804, 4804, 4804, 4804, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 4805, 0, 4805, 4805, 4805, 4805, 0, 4805, 4805, 4805, 4805, 4805, 4805, 4806, 0, 0, 4806, 0, 0, 4806, 0, 4806, 4806, 4806, 4806, 4806, 0, 0, 0, 4806, 0, 4806, 0, 0, 0, 4806, 4807, 0, 4807, 4807, 4807, 4807, 4807, 0, 0, 0, 4807, 0, 4807, 4808, 0, 0, 4808, 0, 0, 4808, 0, 4808, 4808, 4808, 4808, 4808, 0, 0, 4808, 4808, 0, 4808, 0, 0, 0, 4808, 4809, 0, 0, 4809, 0, 0, 4809, 0, 4809, 4809, 4809, 4809, 4809, 0, 0, 4809, 4809, 0, 0, 0, 0, 0, 4809, 4810, 0, 0, 0, 0, 0, 4810, 0, 4810, 4810, 4810, 4810, 4810, 0, 0, 4810, 4810, 0, 0, 0, 0, 0, 4810, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4811, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 4812, 0, 4812, 4812, 4812, 4812, 0, 4812, 4812, 4812, 4812, 4812, 4812, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 4813, 0, 4813, 4813, 4813, 4813, 4817, 4817, 4817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4817, 4817, 4817, 0, 0, 4817, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 4818, 0, 4818, 4818, 4818, 4818, 0, 4818, 4818, 4818, 4818, 4818, 4818, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4819, 4820, 0, 0, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 0, 4820, 4820, 4820, 4820, 4820, 4820, 4820, 0, 4820, 4820, 4820, 4820, 4821, 0, 0, 4821, 0, 0, 0, 0, 0, 0, 0, 4821, 4821, 0, 0, 0, 4821, 0, 0, 0, 0, 0, 4821, 4822, 4822, 0, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4822, 4823, 4823, 0, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4823, 4824, 4824, 0, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4824, 4825, 4825, 0, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4825, 4826, 4826, 0, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4826, 4827, 4827, 0, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4827, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 4829, 0, 4829, 4829, 4829, 4829, 0, 4829, 4829, 4829, 4829, 4829, 4829, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 4831, 0, 4831, 4831, 4831, 4831, 0, 4831, 4831, 4831, 4831, 4831, 4831, 4832, 0, 0, 4832, 0, 0, 4832, 0, 4832, 4832, 4832, 4832, 4832, 0, 0, 0, 4832, 0, 4832, 0, 0, 0, 4832, 4833, 4833, 4833, 0, 0, 0, 0, 0, 0, 0, 0, 4833, 0, 4833, 4833, 4833, 4833, 4833, 0, 0, 0, 4833, 0, 4833, 4834, 0, 4834, 4834, 4834, 4834, 4834, 0, 0, 0, 4834, 0, 4834, 4835, 0, 0, 4835, 0, 0, 4835, 0, 4835, 4835, 4835, 4835, 4835, 0, 0, 4835, 4835, 0, 4835, 0, 0, 0, 4835, 4836, 0, 0, 0, 0, 0, 4836, 0, 4836, 4836, 4836, 4836, 4836, 0, 0, 4836, 4836, 0, 0, 0, 0, 0, 4836, 4837, 4837, 0, 0, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 0, 4837, 0, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4837, 4838, 0, 0, 0, 0, 0, 4838, 0, 0, 4838, 4838, 0, 4838, 0, 0, 0, 0, 4838, 4838, 4838, 0, 4838, 4839, 4839, 0, 0, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 0, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4839, 4840, 4840, 0, 0, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 0, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4840, 4841, 4841, 0, 0, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 0, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4841, 4842, 4842, 0, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 4842, 0, 4842, 4842, 0, 4842, 4842, 4842, 4842, 0, 4842, 4842, 4842, 4842, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 4843, 0, 4843, 4843, 4843, 4843, 4847, 4847, 4847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4847, 4847, 4847, 0, 0, 4847, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 4848, 0, 4848, 4848, 4848, 4848, 0, 4848, 4848, 4848, 4848, 4848, 4848, 4849, 4849, 0, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4849, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 4850, 0, 4850, 4850, 4850, 4850, 0, 4850, 4850, 4850, 4850, 4850, 4850, 4851, 0, 0, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 0, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 0, 4851, 4851, 4851, 4851, 4852, 0, 0, 4852, 0, 0, 0, 0, 0, 0, 0, 4852, 4852, 0, 0, 0, 4852, 0, 0, 0, 0, 0, 4852, 4853, 4853, 0, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4853, 4854, 4854, 0, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4854, 4855, 4855, 0, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4855, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 4857, 0, 4857, 4857, 4857, 4857, 0, 4857, 4857, 4857, 4857, 4857, 4857, 4859, 0, 0, 4859, 0, 0, 4859, 0, 4859, 4859, 4859, 4859, 4859, 0, 0, 0, 4859, 0, 4859, 0, 0, 0, 4859, 4860, 0, 4860, 4860, 4860, 4860, 4860, 0, 0, 0, 4860, 0, 4860, 4861, 0, 4861, 4861, 4861, 4861, 4861, 0, 0, 0, 4861, 0, 4861, 4862, 0, 0, 4862, 0, 0, 4862, 0, 4862, 4862, 4862, 4862, 4862, 0, 0, 4862, 4862, 0, 4862, 0, 0, 0, 4862, 4863, 0, 0, 4863, 0, 0, 4863, 0, 4863, 4863, 4863, 4863, 4863, 0, 0, 4863, 4863, 0, 0, 0, 0, 0, 4863, 4864, 0, 0, 0, 0, 0, 4864, 0, 0, 4864, 4864, 0, 4864, 0, 0, 0, 0, 0, 4864, 4864, 0, 4864, 4865, 0, 0, 0, 0, 0, 4865, 0, 0, 4865, 4865, 0, 4865, 0, 0, 0, 0, 4865, 4865, 4865, 0, 4865, 4866, 4866, 0, 0, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 0, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4866, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 4867, 0, 4867, 4867, 4867, 4867, 4869, 4869, 4869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4869, 4869, 4869, 0, 0, 4869, 4870, 4870, 0, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4870, 4871, 0, 0, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 0, 4871, 4871, 4871, 4871, 4871, 4871, 4871, 0, 4871, 4871, 4871, 4871, 4872, 0, 0, 4872, 0, 0, 0, 0, 0, 0, 0, 4872, 4872, 0, 0, 0, 4872, 0, 0, 0, 0, 0, 4872, 4873, 4873, 0, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4873, 4874, 4874, 0, 0, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 0, 4874, 0, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4874, 4875, 0, 0, 0, 0, 0, 4875, 0, 0, 4875, 4875, 0, 4875, 0, 0, 0, 0, 0, 4875, 4875, 0, 4875, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 4876, 0, 4876, 4876, 4876, 4876, 0, 4876, 4876, 4876, 4876, 4876, 4876, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 4877, 0, 4877, 4877, 4877, 4877, 0, 4877, 4877, 4877, 4877, 4877, 4877, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 4878, 0, 4878, 4878, 4878, 4878, 0, 4878, 4878, 4878, 4878, 4878, 4878, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 4879, 0, 4879, 4879, 4879, 4879, 0, 4879, 4879, 4879, 4879, 4879, 4879, 4880, 4880, 0, 0, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 0, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4880, 4881, 4881, 0, 0, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 0, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 4881, 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, 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, 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, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091, 4091 } ; 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-2000 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 lastRoundContext; static int lastCodeState; static int lastAfterDocContext; static int lastGroupContext; static int lastMemberGroupContext; static int lastFormulaContext; static int lastAnchorContext; static int lastInitializerContext; static int nextDefContext; static int overloadContext; static Protection protection; static Protection baseProt; static int sharpCount = 0 ; static int roundCount = 0 ; static int curlyCount = 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 inDeprecatedBlock; static bool inVersionBlock; static bool inDateBlock; static bool inBugBlock; static bool inPreBlock; static bool inPostBlock; static bool inInvarBlock; 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 int currentListIndentLevel; static QCString *copyArgString; static QCString fullArgString; static ArgumentList *currentArgumentList; static QCString *currentTemplateSpec; static QCString curImageName; static char lastCopyArgChar; static QCString *pCopyRoundString; static QCString *pCopyCurlyString; static QCString *pCopyQuotedString; //----------------------------------------------------------------------------- static void initParser() { insideArgumentList=FALSE; className.resize(0); memberName.resize(0); refName=""; 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; sharpCount = 0; roundCount = 0; curlyCount = 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; inDeprecatedBlock = FALSE; inVersionBlock = FALSE; inDateBlock = FALSE; inBugBlock = FALSE; inPreBlock = FALSE; inPostBlock = FALSE; inInvarBlock = 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; ol=0; } 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; elemList=0; 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 ( includeFileOffset listIndentStack; static bool insideItemList = FALSE; static void addListItemMarker(const char *marker) { // find the actual position at which the bullet was found int indent=0; const char *p=marker; char c; while ((c=*p++)) { if (c=='\t') { indent+=Config::tabSize - (indent%Config::tabSize); } else { indent++; } } //printf("list marker found at column %d\n",indent); if (!insideItemList) { outDoc->startItemList(); outDoc->writeListItem(); listIndentStack.push(new int(indent)); insideItemList=TRUE; } else { int *pPrevIndent = listIndentStack.top(); if (*pPrevIndent==indent) // new item at the same indent level { outDoc->writeListItem(); } else if (*pPrevIndentstartItemList(); outDoc->writeListItem(); listIndentStack.push(new int(indent)); } else // end sub item list { listIndentStack.pop(); delete pPrevIndent; outDoc->endItemList(); // safe guard against wrong indenting if (listIndentStack.isEmpty()) { insideItemList=FALSE; warn("Warning: list item with invalid indent found!\n"); } else { outDoc->writeListItem(); } } } } static void forceEndItemList() { int *indent; while ((indent=listIndentStack.pop())!=0) { outDoc->endItemList(); delete indent; } insideItemList=FALSE; } #if 0 static void tryEndItemList() { if (listIndentStack.count()==1) // no subitems => end list { outDoc->endItemList(); delete listIndentStack.pop(); insideItemList=FALSE; } } #endif //----------------------------------------------------------------- static bool inBlock() { return inParamBlock || inRetValBlock || inSeeBlock || inReturnBlock || inAuthorBlock || inVersionBlock || inDateBlock || inWarningBlock || inBugBlock || inParBlock || inExceptionBlock || inDeprecatedBlock || inPreBlock || inPostBlock || inInvarBlock; } static void endBlock() { if (inParamBlock || inRetValBlock || inExceptionBlock) { outDoc->endDescTableData(); outDoc->endDescTable(); } outDoc->endDescList(); inParamBlock=inRetValBlock=inSeeBlock=inReturnBlock=inAuthorBlock= inVersionBlock=inDateBlock=inBugBlock=inWarningBlock= inParBlock=inExceptionBlock=inDeprecatedBlock=inPreBlock=inPostBlock= inInvarBlock=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()); 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 ClassTemplSpec 7 #define Bases 8 #define BasesProt 9 #define NextSemi 10 #define FindMembers 11 #define FindMemberName 12 #define FindFields 13 #define FindFieldArg 14 #define Function 15 #define FuncRound 16 #define ExcpRound 17 #define FuncQual 18 #define Operator 19 #define Array 20 #define Curly 21 #define Using 22 #define UsingDirective 23 #define NameSpaceDocArg1 24 #define SkipCurly 25 #define SkipCurlyCpp 26 #define SkipCurlyEndDoc 27 #define SkipString 28 #define SkipInits 29 #define SkipCPP 30 #define SkipCPPBlock 31 #define SkipComment 32 #define SkipCxxComment 33 #define SkipCurlyBlock 34 #define SkipRoundBlock 35 #define SkipCode 36 #define Sharp 37 #define SkipSharp 38 #define SkipRound 39 #define TypedefName 40 #define Comment 41 #define Doc 42 #define JavaDoc 43 #define ClassDoc 44 #define LineDoc 45 #define DefLineDoc 46 #define ClassDocArg1 47 #define ClassDocArg2 48 #define ClassDocArg3 49 #define ClassDocFunc 50 #define ClassDocFuncPtr 51 #define ClassDocFuncQual 52 #define ClassDocFuncSkipLine 53 #define ClassDocFuncExc 54 #define ClassDocDefine 55 #define ClassDocRelates 56 #define ClassDocBrief 57 #define ClassDocOverload 58 #define ClassDefineArgs 59 #define GroupDocArg1 60 #define GroupDocArg2 61 #define GroupName 62 #define GroupHeader 63 #define AfterDoc 64 #define AfterDocBrief 65 #define AfterDocLine 66 #define PageDoc 67 #define PageDocTitle 68 #define PageDocArg1 69 #define PageDocArg2 70 #define FileDocArg1 71 #define FileDocArg2 72 #define ExampleDoc 73 #define ExampleDocArg1 74 #define EnumDoc 75 #define EnumDocArg1 76 #define FuncPtr 77 #define EndFuncPtr 78 #define FuncFunc 79 #define FuncFuncEnd 80 #define FuncFuncType 81 #define MemberSpec 82 #define MemberSpecSkip 83 #define SkipVerbatim 84 #define Text 85 #define DocScan 86 #define DocParam 87 #define DocException 88 #define DocHtmlScan 89 #define DocLatexScan 90 #define DocEmphasis 91 #define DocBold 92 #define DocCode 93 #define DocCodeBlock 94 #define DocInternal 95 #define DocLink 96 #define DocLinkText 97 #define DocSkipWord 98 #define DocInclude 99 #define DocDontInclude 100 #define DocDescItem 101 #define DocHtmlLink 102 #define DocHtmlAnchor 103 #define DocHtmlHref1 104 #define DocHtmlHref2 105 #define DocBaseClass 106 #define DocSkiplineKey 107 #define DocSkipKey 108 #define DocLineKey 109 #define DocUntilKey 110 #define DocKeyEnd 111 #define DocPar 112 #define DocRefName 113 #define DocVerbatim 114 #define DocVerbInc 115 #define DocIndexWord 116 #define DocRef 117 #define DocRefArg 118 #define DocRefArgStart 119 #define DocRefItem 120 #define DocRefItemName 121 #define DocImage 122 #define DocHtmlImageName 123 #define DocLatexImageName 124 #define DocLatexImageWidth 125 #define SectionLabel 126 #define SectionTitle 127 #define SkipTemplate 128 #define EndTemplate 129 #define CopyArgString 130 #define CopyArgRound 131 #define CopyArgSharp 132 #define CopyArgComment 133 #define CopyArgCommentLine 134 #define ReadFuncArgType 135 #define ReadTempArgs 136 #define Specialization 137 #define DocSkipHtmlComment 138 #define ReadFormulaShort 139 #define ReadFormulaLong 140 #define AnchorLabel 141 #define ReadInitializer 142 #define CopyString 143 #define CopyRound 144 #define CopyCurly 145 /* 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 1046 "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 >= 4092 ) 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] != 34204 ); 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 1048 "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 1074 "scanner.l" YY_BREAK /* ^{BL} { if (insideArgumentList) { insideArgumentList=FALSE; outDoc->endItemList(); } else { outDoc->newParagraph(); } if (inBlock()) endBlock(); } */ case 3: YY_RULE_SETUP #line 1089 "scanner.l" { /* found list item marker */ addListItemMarker(yytext); } YY_BREAK case 4: YY_RULE_SETUP #line 1092 "scanner.l" { BEGIN(DocSkipHtmlComment); } YY_BREAK case 5: YY_RULE_SETUP #line 1093 "scanner.l" { BEGIN(DocScan); } YY_BREAK case 6: YY_RULE_SETUP #line 1094 "scanner.l" YY_BREAK case 7: YY_RULE_SETUP #line 1095 "scanner.l" { outDoc->writeCopyright(); } YY_BREAK case 8: YY_RULE_SETUP #line 1096 "scanner.l" { outDoc->writeQuote(); } YY_BREAK case 9: YY_RULE_SETUP #line 1097 "scanner.l" { outDoc->writeUmlaut(yytext[1]); } YY_BREAK case 10: YY_RULE_SETUP #line 1098 "scanner.l" { outDoc->writeAcute(yytext[1]); } YY_BREAK case 11: YY_RULE_SETUP #line 1099 "scanner.l" { outDoc->writeGrave(yytext[1]); } YY_BREAK case 12: YY_RULE_SETUP #line 1100 "scanner.l" { outDoc->writeCirc(yytext[1]); } YY_BREAK case 13: YY_RULE_SETUP #line 1101 "scanner.l" { outDoc->writeTilde(yytext[1]); } YY_BREAK case 14: YY_RULE_SETUP #line 1102 "scanner.l" { outDoc->writeSharpS(); } YY_BREAK case 15: YY_RULE_SETUP #line 1103 "scanner.l" { outDoc->writeRing(yytext[1]); } YY_BREAK case 16: YY_RULE_SETUP #line 1104 "scanner.l" { QCString envvar=&yytext[2]; envvar=envvar.left(envvar.length()-1); outDoc->docify(getenv(envvar)); } 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 1109 "scanner.l" { outDoc->pushGeneratorState(); /*storeOutputListState();*/ outDoc->disableAllBut(OutputGenerator::Html); BEGIN(DocHtmlScan); } 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 1114 "scanner.l" { /*restoreOutputListState();*/ outDoc->popGeneratorState(); BEGIN(DocScan); } YY_BREAK case 19: *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 1119 "scanner.l" { /*storeOutputListState();*/ outDoc->pushGeneratorState(); outDoc->disableAllBut(OutputGenerator::Latex); BEGIN(DocLatexScan); } YY_BREAK case 20: *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 1125 "scanner.l" { /*restoreOutputListState();*/ outDoc->popGeneratorState(); BEGIN(DocScan); } YY_BREAK case 21: YY_RULE_SETUP #line 1130 "scanner.l" { outDoc->writeString(yytext); } YY_BREAK case 22: YY_RULE_SETUP #line 1133 "scanner.l" { char c[2]; c[0]=*yytext;c[1]='\0'; outDoc->writeString(c); } YY_BREAK case 23: *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 1138 "scanner.l" YY_BREAK case 24: *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 1139 "scanner.l" { writeMemberList(*outDoc); } YY_BREAK case 25: *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 1140 "scanner.l" { writeClassHierarchy(*outDoc); } YY_BREAK case 26: *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 1141 "scanner.l" { writeAnnotatedClassList(*outDoc); } YY_BREAK case 27: *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 1142 "scanner.l" { /*TODO: fix this writeHeaderFileList(*outDoc); */ } 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 1143 "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 = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 1144 "scanner.l" { BEGIN( DocSkipWord ); } YY_BREAK case 30: *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 1145 "scanner.l" { BEGIN( DocVerbInc ); } YY_BREAK case 31: YY_RULE_SETUP #line 1146 "scanner.l" { verbIncludeFile(*outDoc,stripQuotes(yytext)); BEGIN( DocScan ); } 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 1150 "scanner.l" { outDoc->startCodeFragment(); BEGIN(DocVerbatim); } YY_BREAK case 33: *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 1154 "scanner.l" { outDoc->endCodeFragment(); BEGIN(DocScan); } YY_BREAK case 34: YY_RULE_SETUP #line 1158 "scanner.l" { //printf("docifying: %s\n",yytext); outDoc->codify(yytext); } YY_BREAK case 35: YY_RULE_SETUP #line 1162 "scanner.l" { outDoc->codify(yytext); } YY_BREAK case 36: YY_RULE_SETUP #line 1165 "scanner.l" { //printf("char %c\n",*yytext); char c[2];c[0]=*yytext;c[1]='\0'; outDoc->codify(c); } YY_BREAK case 37: YY_RULE_SETUP #line 1170 "scanner.l" { if (!Config::internalDocsFlag) { outDoc->newParagraph(); scanString(theTranslator->trForInternalUseOnly()+"\n"); //outDoc->writeString("For internal use only.\n"); BEGIN( DocInternal ); } } YY_BREAK case 38: *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 1179 "scanner.l" { outDoc->newParagraph(); scanString(theTranslator->trReimplementedForInternalReasons()+"\n"); } YY_BREAK case 39: *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 1183 "scanner.l" { BEGIN( DocLink ); } YY_BREAK case 40: YY_RULE_SETUP #line 1184 "scanner.l" { BEGIN( DocScan ); } YY_BREAK case 41: YY_RULE_SETUP #line 1185 "scanner.l" { linkRef = stripKnownExtensions(yytext); linkText = ""; BEGIN( DocLinkText ); } YY_BREAK case 42: YY_RULE_SETUP #line 1190 "scanner.l" { linkText += *yytext; } YY_BREAK case 43: YY_RULE_SETUP #line 1191 "scanner.l" { linkText += " "; } YY_BREAK case 44: YY_RULE_SETUP #line 1192 "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.stripWhiteSpace()); BEGIN( DocScan ); } YY_BREAK /* "@ref"{B}+ { BEGIN(DocRef); } {SCOPENAME} { generateLink(*outDoc,className,yytext,TRUE,0); BEGIN( DocScan ); } */ 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 1207 "scanner.l" { warn("Warning: \\endlink without \\link " "in documentation of %s\n", refName.data()); } YY_BREAK case 46: *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 1210 "scanner.l" { BEGIN(DocIndexWord); } YY_BREAK case 47: YY_RULE_SETUP #line 1213 "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 48: YY_RULE_SETUP #line 1222 "scanner.l" { //printf("Adding %s to index\n",yytext); outDoc->addToIndex(yytext,0); BEGIN(DocScan); } YY_BREAK case 49: YY_RULE_SETUP #line 1227 "scanner.l" { if (insideArgumentList) { outDoc->writeListItem(); } else { outDoc->startItemList(); outDoc->writeListItem(); insideArgumentList=TRUE; } } YY_BREAK case 50: YY_RULE_SETUP #line 1239 "scanner.l" { BEGIN(DocPar); } YY_BREAK case 51: YY_RULE_SETUP #line 1242 "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 52: YY_RULE_SETUP #line 1254 "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 53: YY_RULE_SETUP #line 1273 "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 54: YY_RULE_SETUP #line 1291 "scanner.l" { endArgumentList(); if (!inPreBlock) { if (inBlock()) endBlock(); inPreBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trPrecondition()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 55: YY_RULE_SETUP #line 1309 "scanner.l" { endArgumentList(); if (!inPostBlock) { if (inBlock()) endBlock(); inPostBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trPostcondition()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 56: YY_RULE_SETUP #line 1327 "scanner.l" { endArgumentList(); if (!inInvarBlock) { if (inBlock()) endBlock(); inInvarBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trInvariant()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 57: YY_RULE_SETUP #line 1345 "scanner.l" { endArgumentList(); if (!inVersionBlock) { if (inBlock()) endBlock(); inVersionBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trVersion()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 58: YY_RULE_SETUP #line 1363 "scanner.l" { endArgumentList(); if (!inDateBlock) { if (inBlock()) endBlock(); inDateBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trDate()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 59: YY_RULE_SETUP #line 1381 "scanner.l" { endArgumentList(); if (!inDeprecatedBlock) { if (inBlock()) endBlock(); inDeprecatedBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trDeprecated()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->writeDescItem(); } } YY_BREAK case 60: YY_RULE_SETUP #line 1399 "scanner.l" { endArgumentList(); if (!inAuthorBlock) { if (inBlock()) endBlock(); inAuthorBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trAuthors()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->docify(", "); } } YY_BREAK case 61: YY_RULE_SETUP #line 1417 "scanner.l" { endArgumentList(); if (!inReturnBlock) { if (inBlock()) endBlock(); inReturnBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trReturns()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } } YY_BREAK case 62: YY_RULE_SETUP #line 1431 "scanner.l" { endArgumentList(); if (!inSeeBlock) { if (inBlock()) endBlock(); inSeeBlock=TRUE; outDoc->startDescList(); outDoc->startBold(); scanString(theTranslator->trSeeAlso()+": "); outDoc->endBold(); outDoc->endDescTitle(); outDoc->writeDescItem(); } else { outDoc->docify(", "); } } YY_BREAK case 63: YY_RULE_SETUP #line 1449 "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 64: YY_RULE_SETUP #line 1469 "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 65: YY_RULE_SETUP #line 1489 "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 66: YY_RULE_SETUP #line 1509 "scanner.l" YY_BREAK case 67: YY_RULE_SETUP #line 1510 "scanner.l" { outDoc->startDescTableTitle(); outDoc->startEmphasis(); outDoc->docify(yytext); outDoc->endEmphasis(); outDoc->endDescTableTitle(); outDoc->startDescTableData(); BEGIN(DocScan); } YY_BREAK case 68: YY_RULE_SETUP #line 1519 "scanner.l" { outDoc->startDescTableTitle(); outDoc->startEmphasis(); outDoc->docify(yytext); outDoc->endEmphasis(); outDoc->endDescTableTitle(); outDoc->startDescTableData(); BEGIN(DocScan); } YY_BREAK case 69: YY_RULE_SETUP #line 1528 "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 70: YY_RULE_SETUP #line 1540 "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 71: YY_RULE_SETUP #line 1549 "scanner.l" { BEGIN(DocRefName); } YY_BREAK case 72: YY_RULE_SETUP #line 1552 "scanner.l" { BEGIN(DocRefItem); } YY_BREAK case 73: YY_RULE_SETUP #line 1555 "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 74: YY_RULE_SETUP #line 1582 "scanner.l" { sectionRef=yytext; BEGIN(DocRefArgStart); } YY_BREAK case 75: YY_RULE_SETUP #line 1586 "scanner.l" { BEGIN(DocRefArg); } YY_BREAK case 76: YY_RULE_SETUP #line 1589 "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,sectionRef,TRUE,text)) { warn("Warning: reference to unknown section %s!\n",sectionRef.data()); outDoc->writeBoldString("unknown reference!"); } BEGIN(DocScan); } YY_BREAK case 77: YY_RULE_SETUP #line 1611 "scanner.l" { sectionRef=yytext; BEGIN(DocRefItemName); } YY_BREAK case 78: *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 1615 "scanner.l" { SectionInfo *sec; QCString text=yytext; if ((sec=sectionDict[sectionRef])) { outDoc->writeSectionRefItem(sec->fileName,sec->label,text.stripWhiteSpace()); } else { warn("Warning: reference to unknown section %s!\n",sectionRef.data()); outDoc->writeBoldString("unknown reference!"); } BEGIN(DocScan); } YY_BREAK case 79: YY_RULE_SETUP #line 1629 "scanner.l" { BEGIN(DocImage); } YY_BREAK case 80: YY_RULE_SETUP #line 1632 "scanner.l" { BEGIN(DocHtmlImageName); } YY_BREAK case 81: YY_RULE_SETUP #line 1635 "scanner.l" { BEGIN(DocLatexImageName); } YY_BREAK case 82: YY_RULE_SETUP #line 1638 "scanner.l" { curImageName = findAndCopyImage(stripQuotes(yytext),IT_Html); if (!curImageName.isEmpty()) { /*storeOutputListState();*/ outDoc->pushGeneratorState(); outDoc->disableAllBut(OutputGenerator::Html); outDoc->writeImage(curImageName,0,0); /*restoreOutputListState();*/ outDoc->popGeneratorState(); } BEGIN(DocScan); } YY_BREAK case 83: YY_RULE_SETUP #line 1651 "scanner.l" { curImageName = findAndCopyImage(stripQuotes(yytext),IT_Latex); if (curImageName.isEmpty()) BEGIN(DocScan); else BEGIN(DocLatexImageWidth); } YY_BREAK case 84: YY_RULE_SETUP #line 1658 "scanner.l" { // no width specified /*storeOutputListState();*/ outDoc->pushGeneratorState(); outDoc->disableAllBut(OutputGenerator::Latex); outDoc->writeImage(curImageName,0,0); /*restoreOutputListState();*/ outDoc->popGeneratorState(); BEGIN(DocScan); } YY_BREAK case 85: YY_RULE_SETUP #line 1667 "scanner.l" { /*storeOutputListState();*/ outDoc->pushGeneratorState(); outDoc->disableAllBut(OutputGenerator::Latex); outDoc->writeImage(curImageName,yytext,0); /*restoreOutputListState();*/ outDoc->popGeneratorState(); BEGIN(DocScan); } YY_BREAK case 86: YY_RULE_SETUP #line 1676 "scanner.l" { /*storeOutputListState();*/ outDoc->pushGeneratorState(); outDoc->disableAllBut(OutputGenerator::Latex); outDoc->writeImage(curImageName,0,yytext); /*restoreOutputListState();*/ outDoc->popGeneratorState(); BEGIN(DocScan); } YY_BREAK case 87: YY_RULE_SETUP #line 1685 "scanner.l" { warn("Warning: %s is an unsupported output format for \\image\n",yytext); } YY_BREAK case 88: YY_RULE_SETUP #line 1688 "scanner.l" { warn("Warning: invalid \\image command found!\n"); outDoc->enableAll(); BEGIN(DocScan); } YY_BREAK case 89: YY_RULE_SETUP #line 1693 "scanner.l" { outDoc->startCodeFragment(); codeBlock.resize(0); BEGIN( DocCodeBlock ); } YY_BREAK case 90: *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 1698 "scanner.l" { warn("Warning: \\endcode without
 or \\code "
    					       "in the documentation of %s\n",refName.data()); 
					}
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 1702 "scanner.l"
{
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
  					}
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 1705 "scanner.l"
{ 
					  generateRef(*outDoc,className,yytext,inSeeBlock);
					} 
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 1708 "scanner.l"
{ 
				          QCString oName=yytext;
					  generateRef(*outDoc,className,
					              removeRedundantWhiteSpace(oName),inSeeBlock);
					}
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 1713 "scanner.l"
{ 
    					  QCString oName=yytext;
					  generateRef(*outDoc,className,
					              removeRedundantWhiteSpace(oName),inSeeBlock);
					}
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 1718 "scanner.l"
{ outDoc->writeHtmlLink(yytext,yytext); }
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 1719 "scanner.l"
{ outDoc->writeMailLink(yytext); }
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 1720 "scanner.l"
{
					  generateFileRef(*outDoc,yytext);
					}
	YY_BREAK
case 98:
*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 1723 "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 99:
YY_RULE_SETUP
#line 1729 "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 100:
YY_RULE_SETUP
#line 1735 "scanner.l"
{ BEGIN( DocEmphasis ); }
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 1736 "scanner.l"
{ BEGIN( DocEmphasis ); }
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 1737 "scanner.l"
{ BEGIN( DocBold ); }
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 1738 "scanner.l"
{ BEGIN( DocCode ); }
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 1739 "scanner.l"

	YY_BREAK
case 105:
YY_RULE_SETUP
#line 1740 "scanner.l"
{ outDoc->lineBreak(); }
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 1741 "scanner.l"
{ BEGIN( DocInclude ); }
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 1742 "scanner.l"
{ BEGIN( DocDontInclude ); }
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 1743 "scanner.l"
{ BEGIN( DocSkipKey ); }	
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 1744 "scanner.l"
{ BEGIN( DocSkiplineKey ); firstLine=TRUE; }
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 1745 "scanner.l"
{ BEGIN( DocLineKey ); firstLine=TRUE; }
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 1746 "scanner.l"
{ BEGIN( DocUntilKey ); firstLine=TRUE; }
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 1747 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					    skipUntil(yytext); 
  					  BEGIN( DocScan );
					}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 1752 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					  {
					    if (firstLine) outDoc->startCodeFragment();
					    firstLine=FALSE;
					    showLine(*outDoc,yytext); 
					    BEGIN( DocKeyEnd );
					  }
					  else
					  {
  					    BEGIN( DocScan );
					  }
					}
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 1765 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					  {
					    if (firstLine) outDoc->startCodeFragment();
					    firstLine=FALSE;
					    skipLine(*outDoc,yytext); 
					    BEGIN( DocKeyEnd );
					  }
					  else
					  {
  					    BEGIN( DocScan );
					  }
					}
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 1778 "scanner.l"
{ 
  					  if (includeFileLength>0) 
					  {
					    if (firstLine) outDoc->startCodeFragment();
					    firstLine=FALSE;
					    showUntil(*outDoc,yytext); 
					    BEGIN( DocKeyEnd );
					  }
					  else
					  {
  					    BEGIN( DocScan );
					  }
					}
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 1791 "scanner.l"
{ BEGIN(DocLineKey); }
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 1792 "scanner.l"
{ BEGIN(DocUntilKey); }
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 1793 "scanner.l"
{ BEGIN(DocSkiplineKey); }
	YY_BREAK
case 119:
YY_RULE_SETUP
#line 1794 "scanner.l"

	YY_BREAK
case YY_STATE_EOF(DocKeyEnd):
#line 1795 "scanner.l"
{
  					  if (!firstLine) outDoc->endCodeFragment();
					  yyterminate();
  					}
	YY_BREAK
case 120:
YY_RULE_SETUP
#line 1799 "scanner.l"
{
  					  unput(*yytext);
  					  if (!firstLine) outDoc->endCodeFragment();
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 1804 "scanner.l"

	YY_BREAK
case 122:
YY_RULE_SETUP
#line 1805 "scanner.l"

	YY_BREAK
case 123:
YY_RULE_SETUP
#line 1806 "scanner.l"
{ outDoc->startBold(); }
	YY_BREAK
case 124:
YY_RULE_SETUP
#line 1807 "scanner.l"
{ outDoc->endBold(); }
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 1808 "scanner.l"
{ outDoc->startCenter(); }
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 1809 "scanner.l"
{ outDoc->endCenter(); }
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 1810 "scanner.l"
{ 
  					  startTable();
  					  /*outDoc->startTable();*/ }
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 1813 "scanner.l"
{
 					  endTable(); 
  					  /*outDoc->endTable();*/ 
					}
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 1817 "scanner.l"

	YY_BREAK
case 130:
YY_RULE_SETUP
#line 1818 "scanner.l"
{ outDoc->startSmall(); }
	YY_BREAK
case 131:
YY_RULE_SETUP
#line 1819 "scanner.l"
{ outDoc->endSmall(); }
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 1820 "scanner.l"

	YY_BREAK
case 133:
YY_RULE_SETUP
#line 1821 "scanner.l"

	YY_BREAK
case 134:
YY_RULE_SETUP
#line 1822 "scanner.l"

	YY_BREAK
case 135:
YY_RULE_SETUP
#line 1823 "scanner.l"

	YY_BREAK
case 136:
YY_RULE_SETUP
#line 1824 "scanner.l"

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

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

	YY_BREAK
case 139:
YY_RULE_SETUP
#line 1827 "scanner.l"
{ outDoc->startTypewriter(); }
	YY_BREAK
case 140:
YY_RULE_SETUP
#line 1828 "scanner.l"
{ outDoc->endTypewriter(); }
	YY_BREAK
case 141:
YY_RULE_SETUP
#line 1829 "scanner.l"
{ outDoc->startTypewriter(); }
	YY_BREAK
case 142:
YY_RULE_SETUP
#line 1830 "scanner.l"
{ outDoc->endTypewriter(); }
	YY_BREAK
case 143:
YY_RULE_SETUP
#line 1831 "scanner.l"
{ outDoc->startEmphasis(); }
	YY_BREAK
case 144:
YY_RULE_SETUP
#line 1832 "scanner.l"
{ outDoc->endEmphasis(); }
	YY_BREAK
case 145:
YY_RULE_SETUP
#line 1833 "scanner.l"
{ 
                                          /*storeOutputListState();*/
  					  outDoc->pushGeneratorState();
                                          outDoc->disableAllBut(OutputGenerator::Html);
					  outDoc->writeString(yytext); 
                                          /*restoreOutputListState();*/
					  outDoc->popGeneratorState();
					}
	YY_BREAK
case 146:
YY_RULE_SETUP
#line 1841 "scanner.l"
{ 
  					  outDoc->startCodeFragment();
  					  codeBlock.resize(0);
					  BEGIN( DocCodeBlock ); 
					}
	YY_BREAK
case 147:
YY_RULE_SETUP
#line 1846 "scanner.l"
{ 
  					  warn("Warning: 
without
 or \\code"
    					         "in the documentation of %s\n",refName.data()); 
					}
	YY_BREAK
case 148:
YY_RULE_SETUP
#line 1850 "scanner.l"
{ outDoc->startSubscript(); }
	YY_BREAK
case 149:
YY_RULE_SETUP
#line 1851 "scanner.l"
{ outDoc->endSubscript(); }
	YY_BREAK
case 150:
YY_RULE_SETUP
#line 1852 "scanner.l"
{ outDoc->startSuperscript(); }
	YY_BREAK
case 151:
YY_RULE_SETUP
#line 1853 "scanner.l"
{ outDoc->endSuperscript(); }
	YY_BREAK
case 152:
YY_RULE_SETUP
#line 1854 "scanner.l"
{ if (curTable) curTable->newRow(); }
	YY_BREAK
case 153:
YY_RULE_SETUP
#line 1855 "scanner.l"

	YY_BREAK
case 154:
YY_RULE_SETUP
#line 1856 "scanner.l"
{ if (curTable) curTable->newElem(); }
	YY_BREAK
case 155:
YY_RULE_SETUP
#line 1857 "scanner.l"

	YY_BREAK
case 156:
YY_RULE_SETUP
#line 1858 "scanner.l"
{ outDoc->startEnumList(); 
  					  currentListIndentLevel++;
					}
	YY_BREAK
case 157:
YY_RULE_SETUP
#line 1861 "scanner.l"
{ outDoc->endEnumList(); 
  					  currentListIndentLevel--;
					}
	YY_BREAK
case 158:
YY_RULE_SETUP
#line 1864 "scanner.l"
{ outDoc->startItemList(); 
					  currentListIndentLevel++;
					}
	YY_BREAK
case 159:
YY_RULE_SETUP
#line 1867 "scanner.l"
{ outDoc->endItemList(); 
  					  currentListIndentLevel--;
					}
	YY_BREAK
case 160:
YY_RULE_SETUP
#line 1870 "scanner.l"
{ outDoc->writeListItem(); }
	YY_BREAK
case 161:
YY_RULE_SETUP
#line 1871 "scanner.l"

	YY_BREAK
case 162:
YY_RULE_SETUP
#line 1872 "scanner.l"
{ outDoc->startTypewriter(); }
	YY_BREAK
case 163:
YY_RULE_SETUP
#line 1873 "scanner.l"
{ outDoc->endTypewriter(); }
	YY_BREAK
case 164:
YY_RULE_SETUP
#line 1874 "scanner.l"
{ outDoc->startEmphasis(); }
	YY_BREAK
case 165:
YY_RULE_SETUP
#line 1875 "scanner.l"
{ outDoc->endEmphasis(); }
	YY_BREAK
case 166:
YY_RULE_SETUP
#line 1876 "scanner.l"
{ outDoc->writeRuler(); }
	YY_BREAK
case 167:
YY_RULE_SETUP
#line 1877 "scanner.l"
{ outDoc->startDescription(); 
					  currentListIndentLevel++;
					}
	YY_BREAK
case 168:
YY_RULE_SETUP
#line 1880 "scanner.l"
{ outDoc->endDescription(); 
  					  currentListIndentLevel--;
					}
	YY_BREAK
case 169:
YY_RULE_SETUP
#line 1883 "scanner.l"
{ outDoc->startDescItem(); }
	YY_BREAK
case 170:
YY_RULE_SETUP
#line 1884 "scanner.l"

	YY_BREAK
case 171:
YY_RULE_SETUP
#line 1885 "scanner.l"
{ outDoc->endDescItem(); }
	YY_BREAK
case 172:
YY_RULE_SETUP
#line 1886 "scanner.l"

	YY_BREAK
case 173:
YY_RULE_SETUP
#line 1887 "scanner.l"
{ outDoc->lineBreak(); }
	YY_BREAK
case 174:
YY_RULE_SETUP
#line 1888 "scanner.l"
{ outDoc->startEmphasis(); }
	YY_BREAK
case 175:
YY_RULE_SETUP
#line 1889 "scanner.l"
{ outDoc->endEmphasis(); }
	YY_BREAK
case 176:
YY_RULE_SETUP
#line 1890 "scanner.l"

	YY_BREAK
case 177:
YY_RULE_SETUP
#line 1891 "scanner.l"
{ BEGIN(DocHtmlLink); }
	YY_BREAK
case 178:
YY_RULE_SETUP
#line 1892 "scanner.l"
{ outDoc->startBold(); }
	YY_BREAK
case 179:
YY_RULE_SETUP
#line 1893 "scanner.l"
{ outDoc->endBold(); }
	YY_BREAK
case 180:
YY_RULE_SETUP
#line 1894 "scanner.l"
{ 
  					  if (inBlock()) endBlock();
  					  outDoc->newParagraph(); }
	YY_BREAK
case 181:
YY_RULE_SETUP
#line 1897 "scanner.l"

	YY_BREAK
case 182:
YY_RULE_SETUP
#line 1898 "scanner.l"
{ outDoc->startTitle(); }
	YY_BREAK
case 183:
YY_RULE_SETUP
#line 1899 "scanner.l"
{ outDoc->endTitle(); }
	YY_BREAK
case 184:
YY_RULE_SETUP
#line 1900 "scanner.l"
{ outDoc->startSubsection(); }
	YY_BREAK
case 185:
YY_RULE_SETUP
#line 1901 "scanner.l"
{ outDoc->endSubsection(); }
	YY_BREAK
case 186:
YY_RULE_SETUP
#line 1902 "scanner.l"
{ outDoc->startSubsubsection(); }
	YY_BREAK
case 187:
YY_RULE_SETUP
#line 1903 "scanner.l"
{ outDoc->endSubsubsection(); }
	YY_BREAK
case 188:
YY_RULE_SETUP
#line 1904 "scanner.l"
{ BEGIN(DocHtmlAnchor); }
	YY_BREAK
case 189:
YY_RULE_SETUP
#line 1905 "scanner.l"
{ outDoc->writeAnchor(yytext); } 
	YY_BREAK
case 190:
YY_RULE_SETUP
#line 1906 "scanner.l"
{ 
  					  htmlUrl.resize(0);
					  htmlText.resize(0);
  					  BEGIN(DocHtmlHref1); }
	YY_BREAK
case 191:
YY_RULE_SETUP
#line 1910 "scanner.l"
{ 
  					  htmlUrl=yytext; 
					}
	YY_BREAK
case 192:
YY_RULE_SETUP
#line 1913 "scanner.l"
{ BEGIN(DocHtmlHref2); }
	YY_BREAK
case 193:
YY_RULE_SETUP
#line 1914 "scanner.l"
{ htmlText+=yytext; }
	YY_BREAK
/*
\n			{ htmlText+='\n'; }
  */
case 194:
YY_RULE_SETUP
#line 1918 "scanner.l"
{ 
  					  outDoc->writeHtmlLink(htmlUrl,htmlText);
  					  unput(*yytext); 
					  BEGIN(DocScan); 
					}
	YY_BREAK
case 195:
YY_RULE_SETUP
#line 1923 "scanner.l"
{ BEGIN(DocScan); }
	YY_BREAK
case 196:
YY_RULE_SETUP
#line 1924 "scanner.l"
{
  					  outDoc->docify(&yytext[1]);
  					}
	YY_BREAK
case 197:
YY_RULE_SETUP
#line 1927 "scanner.l"
{
  					  outDoc->docify(yytext+1);
  					}
	YY_BREAK
case 198:
YY_RULE_SETUP
#line 1930 "scanner.l"
{ 
  					  outDoc->startEmphasis();
  					  linkifyText(*outDoc,className,0,yytext);
					  outDoc->endEmphasis();
					  BEGIN( DocScan );
					}
	YY_BREAK
case 199:
YY_RULE_SETUP
#line 1936 "scanner.l"
{
  					  outDoc->startEmphasis();
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
					  outDoc->endEmphasis();
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 200:
YY_RULE_SETUP
#line 1942 "scanner.l"
{ 
  					  outDoc->startBold();
  					  linkifyText(*outDoc,className,0,yytext);
					  outDoc->endBold();
					  BEGIN( DocScan );
					}
	YY_BREAK
case 201:
YY_RULE_SETUP
#line 1948 "scanner.l"
{
  					  outDoc->startBold();
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
					  outDoc->endBold();
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 202:
YY_RULE_SETUP
#line 1954 "scanner.l"
{ 
  					  outDoc->startTypewriter();
  					  linkifyText(*outDoc,className,0,yytext);
					  outDoc->endTypewriter();
					  BEGIN( DocScan );
					}
	YY_BREAK
case 203:
YY_RULE_SETUP
#line 1960 "scanner.l"
{
  					  outDoc->startTypewriter();
  					  generateRef(*outDoc,className,yytext,inSeeBlock);
					  outDoc->endTypewriter();
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 204:
YY_RULE_SETUP
#line 1966 "scanner.l"
{
					  includeFile(*outDoc,stripQuotes(yytext),FALSE); 
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 205:
YY_RULE_SETUP
#line 1970 "scanner.l"
{
  					  includeFile(*outDoc,stripQuotes(yytext),TRUE);
					  BEGIN( DocScan );
  					}
	YY_BREAK
case 206:
YY_RULE_SETUP
#line 1974 "scanner.l"
{ codeBlock += yytext; }
	YY_BREAK
case 207:
YY_RULE_SETUP
#line 1975 "scanner.l"
{ codeBlock += yytext; }
	YY_BREAK
case 208:
YY_RULE_SETUP
#line 1976 "scanner.l"
{ codeBlock += '\n'; }
	YY_BREAK
case 209:
YY_RULE_SETUP
#line 1977 "scanner.l"
{ codeBlock += yytext; }
	YY_BREAK
case 210:
YY_RULE_SETUP
#line 1978 "scanner.l"
{ codeBlock += *yytext; }
	YY_BREAK
case 211:
YY_RULE_SETUP
#line 1979 "scanner.l"
{ 
					  outDoc->docify(yytext);
					}
	YY_BREAK
case 212:
YY_RULE_SETUP
#line 1982 "scanner.l"
{ 
  					  outDoc->docify(yytext);
					}
	YY_BREAK
case 213:
YY_RULE_SETUP
#line 1985 "scanner.l"
{ outDoc->writeChar('\n'); }
	YY_BREAK
case 214:
YY_RULE_SETUP
#line 1986 "scanner.l"
{ 
  					  if (insideArgumentList)
					  {
					    insideArgumentList=FALSE;
					    outDoc->endItemList();
					  }
					  else if (insideItemList)
					  {
					    forceEndItemList();
					  }
					  else
					  {
					    outDoc->newParagraph(); 
					  }
					  if (inBlock()) endBlock();
					}
	YY_BREAK
case 215:
*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"
{ 
  					  outDoc->writeChar(' '); 
					}
	YY_BREAK
case 216:
YY_RULE_SETUP
#line 2005 "scanner.l"
{
  					  outDoc->writeChar(' '); 
  					}
	YY_BREAK
case 217:
YY_RULE_SETUP
#line 2008 "scanner.l"
{
  					  outDoc->writeChar('\n'); 
  					}
	YY_BREAK
case 218:
YY_RULE_SETUP
#line 2011 "scanner.l"
{ 
					  outDoc->docify(yytext);
					}
	YY_BREAK
case 219:
YY_RULE_SETUP
#line 2014 "scanner.l"
{ 
					  outDoc->writeChar(*yytext);
					}
	YY_BREAK
case 220:
YY_RULE_SETUP
#line 2017 "scanner.l"
{
  					  curlyCount=0;
  					  BEGIN(SkipCurlyBlock); 
					}
	YY_BREAK
case 221:
YY_RULE_SETUP
#line 2021 "scanner.l"
{
  				 	  roundCount=0;
  					  BEGIN(SkipRoundBlock);
  					}
	YY_BREAK
case 222:
YY_RULE_SETUP
#line 2025 "scanner.l"
{
					  ++roundCount;
  					}
	YY_BREAK
case 223:
YY_RULE_SETUP
#line 2028 "scanner.l"
{
  					  if (roundCount )
					    --roundCount ;
					  else
					    BEGIN( NextSemi ) ;
  					}
	YY_BREAK
case 224:
YY_RULE_SETUP
#line 2034 "scanner.l"
{
  					  ++curlyCount ; 
					}
	YY_BREAK
case 225:
YY_RULE_SETUP
#line 2037 "scanner.l"
{ 
  				          if( curlyCount )
					  {
					    --curlyCount ;
					  }
					  else
					    BEGIN( NextSemi ) ;
					}
	YY_BREAK
case 226:
YY_RULE_SETUP
#line 2045 "scanner.l"

	YY_BREAK
case 227:
YY_RULE_SETUP
#line 2046 "scanner.l"

	YY_BREAK
case 228:
YY_RULE_SETUP
#line 2047 "scanner.l"

	YY_BREAK
case 229:
YY_RULE_SETUP
#line 2048 "scanner.l"
{
  					  lastStringContext=NextSemi;
					  BEGIN(SkipString);
  					}
	YY_BREAK
case 230:
YY_RULE_SETUP
#line 2052 "scanner.l"
{ 
  					  unput(*yytext);
  					  BEGIN( FindMembers ) ; 
					}
	YY_BREAK
case 231:
YY_RULE_SETUP
#line 2056 "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 232:
YY_RULE_SETUP
#line 2066 "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 233:
YY_RULE_SETUP
#line 2077 "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 234:
YY_RULE_SETUP
#line 2088 "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 235:
YY_RULE_SETUP
#line 2099 "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 236:
YY_RULE_SETUP
#line 2109 "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 237:
YY_RULE_SETUP
#line 2119 "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 238:
YY_RULE_SETUP
#line 2129 "scanner.l"
{
  					  lineCount();
  					}
	YY_BREAK
case 239:
YY_RULE_SETUP
#line 2132 "scanner.l"
{ //current->type += " static ";
  					  current->stat = TRUE;
					  lineCount();
					}
	YY_BREAK
case 240:
YY_RULE_SETUP
#line 2136 "scanner.l"
{
  					  current->stat = FALSE;
					  lineCount();
  					}
	YY_BREAK
case 241:
YY_RULE_SETUP
#line 2140 "scanner.l"
{ current->type += " virtual ";
					  current->virt = Virtual;
					  lineCount();
					}
	YY_BREAK
case 242:
YY_RULE_SETUP
#line 2144 "scanner.l"
{ current->inLine = TRUE;
                                          lineCount(); 
                                        }
	YY_BREAK
case 243:
YY_RULE_SETUP
#line 2147 "scanner.l"
{ lineCount(); }
	YY_BREAK
case 244:
YY_RULE_SETUP
#line 2148 "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 245:
YY_RULE_SETUP
#line 2158 "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 246:
YY_RULE_SETUP
#line 2168 "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 247:
YY_RULE_SETUP
#line 2179 "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 248:
YY_RULE_SETUP
#line 2190 "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 249:
YY_RULE_SETUP
#line 2201 "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 250:
YY_RULE_SETUP
#line 2212 "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 251:
*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 2223 "scanner.l"
{
  					  lineCount();
    					  current->name += yytext ;
					  current->name = current->name.simplifyWhiteSpace();
					  BEGIN( FindMembers ) ;
  					}
	YY_BREAK
case 252:
YY_RULE_SETUP
#line 2229 "scanner.l"
{ 
    					  current->name += *yytext ;
					}
	YY_BREAK
case 253:
YY_RULE_SETUP
#line 2232 "scanner.l"
{ /* skip guided templ specifiers */ }
	YY_BREAK
case 254:
YY_RULE_SETUP
#line 2233 "scanner.l"
{
					  current->name = current->name.simplifyWhiteSpace();
					  unput(*yytext);
					  BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 255:
YY_RULE_SETUP
#line 2238 "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="<";
					  fullArgString = templateStr.copy();
					  copyArgString = &templateStr;
					  currentArgumentContext = FindMembers;
					  //printf("Start template list\n");
					  BEGIN( ReadTempArgs );
  					}
	YY_BREAK
case 256:
YY_RULE_SETUP
#line 2277 "scanner.l"
{ 
					  current->startLine=yyLineNr; 
                                          lineCount(); 
                                          BEGIN(Using); 
                                        }
	YY_BREAK
case 257:
YY_RULE_SETUP
#line 2282 "scanner.l"
{ lineCount(); BEGIN(UsingDirective); }
	YY_BREAK
case 258:
YY_RULE_SETUP
#line 2283 "scanner.l"
{ BEGIN(FindMembers); }
	YY_BREAK
case 259:
YY_RULE_SETUP
#line 2284 "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 260:
YY_RULE_SETUP
#line 2297 "scanner.l"
{ // guided template decl
					  QCString n=yytext;
					  addType( current );
					  current->name=n.left(n.length()-2);
					}
	YY_BREAK
case 261:
*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 2302 "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 262:
*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 2315 "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 263:
YY_RULE_SETUP
#line 2339 "scanner.l"
{ 
  					  current->name+='<';
  					  *currentTemplateSpec+='<'; 
					  sharpCount++; 
					}
	YY_BREAK
case 264:
YY_RULE_SETUP
#line 2344 "scanner.l"
{
  					  current->name+='>';
					  *currentTemplateSpec+='>';
					  if (--sharpCount<=0)
					  {  
					    //printf("Found %s\n",current->name.data());
					    BEGIN(FindMembers);
					  }
					}
	YY_BREAK
case 265:
YY_RULE_SETUP
#line 2353 "scanner.l"
{ 
  					  lineCount();
  					  current->name+='>';
					  *currentTemplateSpec+='>';
					  if (--sharpCount<=0)
					  {
					    current->args = "(";
					    currentArgumentContext = FuncQual;
					    fullArgString = current->args.copy();
					    copyArgString = ¤t->args;
					    //printf("Found %s\n",current->name.data());
					    BEGIN( ReadFuncArgType ) ;
					  }
					}
	YY_BREAK
case 266:
*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 2367 "scanner.l"
{
  					  lineCount();
  					  current->name+='>';
  					  *currentTemplateSpec+='>';
					  if (--sharpCount<=0)
					  {
					    BEGIN(FindMemberName);
					  }
  					}
	YY_BREAK
case 267:
YY_RULE_SETUP
#line 2376 "scanner.l"
{ 
  					  current->name+=*yytext;
  					  *currentTemplateSpec+=*yytext; 
					}
	YY_BREAK
case 268:
YY_RULE_SETUP
#line 2380 "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 269:
YY_RULE_SETUP
#line 2397 "scanner.l"
{ lastCPPContext = YY_START; 
					  BEGIN( SkipCPP ) ; 
					}
	YY_BREAK
case 270:
YY_RULE_SETUP
#line 2400 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
  					  BEGIN( Define );
  					}
	YY_BREAK
case 271:
YY_RULE_SETUP
#line 2404 "scanner.l"

	YY_BREAK
case 272:
YY_RULE_SETUP
#line 2405 "scanner.l"
{ yyLineNr++ ; }
	YY_BREAK
case 273:
YY_RULE_SETUP
#line 2406 "scanner.l"
{ yyLineNr++ ;
					  BEGIN( lastCPPContext) ;
					}
	YY_BREAK
case 274:
*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 2409 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
  					  current->name = yytext;
					  BEGIN( DefineArg );
  					}
	YY_BREAK
case 275:
YY_RULE_SETUP
#line 2414 "scanner.l"
{
  					  //printf("Define with args\n");
  					  current->args += ')';
  					  BEGIN( DefineEnd );
  					}
	YY_BREAK
case 276:
YY_RULE_SETUP
#line 2419 "scanner.l"
{
  					  current->args += *yytext;
  					}
	YY_BREAK
case 277:
YY_RULE_SETUP
#line 2422 "scanner.l"
{
  					  //printf("Define `%s' without args\n",yytext);
  					  current->bodyLine = yyLineNr;
  					  current->name = yytext;
					  BEGIN(DefineEnd);
  					}
	YY_BREAK
case 278:
YY_RULE_SETUP
#line 2428 "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 279:
YY_RULE_SETUP
#line 2446 "scanner.l"
{
  					  yyLineNr++;
  					}
	YY_BREAK
case 280:
YY_RULE_SETUP
#line 2449 "scanner.l"
{
					  lastStringContext=DefineEnd;
					  BEGIN(SkipString);
  					}
	YY_BREAK
case 281:
YY_RULE_SETUP
#line 2453 "scanner.l"

	YY_BREAK
case 282:
YY_RULE_SETUP
#line 2455 "scanner.l"
{ current->name += yytext ; }
	YY_BREAK
case 283:
YY_RULE_SETUP
#line 2456 "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 284:
YY_RULE_SETUP
#line 2478 "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 285:
YY_RULE_SETUP
#line 2498 "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 286:
YY_RULE_SETUP
#line 2521 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
					  lastInitializerContext = YY_START;
					  BEGIN(ReadInitializer);
  					}
	YY_BREAK
/* Read initializer rules */
case 287:
YY_RULE_SETUP
#line 2527 "scanner.l"
{
  					  lastRoundContext=YY_START;
  					  pCopyRoundString=¤t->initializer;
					  roundCount=0;
  					  current->initializer+=*yytext; 
  					  BEGIN(CopyRound);
  					}
	YY_BREAK
case 288:
YY_RULE_SETUP
#line 2534 "scanner.l"
{
  					  lastCurlyContext=YY_START;
  					  pCopyCurlyString=¤t->initializer;
					  curlyCount=0;
  					  current->initializer+=*yytext; 
  					  BEGIN(CopyCurly);
  					}
	YY_BREAK
case 289:
YY_RULE_SETUP
#line 2541 "scanner.l"
{
  					  //printf(">> initializer `%s' <<\n",current->initializer.data());
  					  unput(*yytext);
  					  BEGIN(lastInitializerContext);
  					}
	YY_BREAK
case 290:
YY_RULE_SETUP
#line 2546 "scanner.l"
{
                                          lastStringContext=YY_START;
  					  current->initializer+=*yytext; 
  					  pCopyQuotedString=¤t->initializer;
					  BEGIN(CopyString);
					}
	YY_BREAK
case 291:
YY_RULE_SETUP
#line 2552 "scanner.l"

	YY_BREAK
case 292:
YY_RULE_SETUP
#line 2553 "scanner.l"

	YY_BREAK
case 293:
YY_RULE_SETUP
#line 2554 "scanner.l"

	YY_BREAK
case 294:
YY_RULE_SETUP
#line 2555 "scanner.l"
{
  					  current->initializer+=*yytext;
					  yyLineNr++;
  					}
	YY_BREAK
case 295:
YY_RULE_SETUP
#line 2559 "scanner.l"
{ 
  					  current->initializer+=*yytext; 
					}
	YY_BREAK
/* generic quoted string copy rules */
case 296:
YY_RULE_SETUP
#line 2564 "scanner.l"
{
  					  *pCopyQuotedString+=yytext;
  					}
	YY_BREAK
case 297:
YY_RULE_SETUP
#line 2567 "scanner.l"
{ 
  					  *pCopyQuotedString+=*yytext;
  					  BEGIN( lastStringContext ); 
					}
	YY_BREAK
case 298:
YY_RULE_SETUP
#line 2571 "scanner.l"
{
  					  *pCopyQuotedString+=yytext;
  					}
	YY_BREAK
case 299:
YY_RULE_SETUP
#line 2574 "scanner.l"
{
  					  *pCopyQuotedString+=*yytext;
  					  yyLineNr++;
  					}
	YY_BREAK
case 300:
YY_RULE_SETUP
#line 2578 "scanner.l"
{
  					  *pCopyQuotedString+=*yytext;
  					}
	YY_BREAK
/* generic round bracket list copy rules */
case 301:
YY_RULE_SETUP
#line 2583 "scanner.l"
{
					  *pCopyRoundString+=*yytext;
  					  pCopyQuotedString=pCopyRoundString;
					  lastStringContext=YY_START;
					  BEGIN(CopyString);
					}
	YY_BREAK
case 302:
YY_RULE_SETUP
#line 2589 "scanner.l"
{
  					  *pCopyRoundString+=*yytext;
  					  roundCount++;
  					}
	YY_BREAK
case 303:
YY_RULE_SETUP
#line 2593 "scanner.l"
{
  					  *pCopyRoundString+=*yytext;
					  if (--roundCount<0)
					    BEGIN(lastRoundContext);
  					}
	YY_BREAK
case 304:
YY_RULE_SETUP
#line 2598 "scanner.l"
{
  					  yyLineNr++;
  					  *pCopyRoundString+=*yytext;
  					}
	YY_BREAK
case 305:
YY_RULE_SETUP
#line 2602 "scanner.l"
{ *pCopyRoundString+=yytext; }
	YY_BREAK
case 306:
YY_RULE_SETUP
#line 2603 "scanner.l"
{ *pCopyRoundString+=yytext; }
	YY_BREAK
case 307:
YY_RULE_SETUP
#line 2604 "scanner.l"
{ *pCopyRoundString+=yytext; }
	YY_BREAK
case 308:
YY_RULE_SETUP
#line 2605 "scanner.l"
{
  					  *pCopyRoundString+=yytext;
  					}
	YY_BREAK
/* generic curly bracket list copy rules */
case 309:
YY_RULE_SETUP
#line 2610 "scanner.l"
{
					  *pCopyCurlyString+=*yytext;
  					  pCopyQuotedString=pCopyCurlyString;
					  lastStringContext=YY_START;
					  BEGIN(CopyString);
					}
	YY_BREAK
case 310:
YY_RULE_SETUP
#line 2616 "scanner.l"
{
  					  *pCopyCurlyString+=*yytext;
					  curlyCount++;
  					}
	YY_BREAK
case 311:
YY_RULE_SETUP
#line 2620 "scanner.l"
{
					  *pCopyCurlyString+=*yytext;
					  if (--curlyCount<0)
					    BEGIN(lastCurlyContext); 
  					}
	YY_BREAK
case 312:
YY_RULE_SETUP
#line 2625 "scanner.l"
{ *pCopyCurlyString+=yytext; }
	YY_BREAK
case 313:
YY_RULE_SETUP
#line 2626 "scanner.l"
{ *pCopyCurlyString+=yytext; }
	YY_BREAK
case 314:
YY_RULE_SETUP
#line 2627 "scanner.l"
{ *pCopyCurlyString+=yytext; }
	YY_BREAK
case 315:
YY_RULE_SETUP
#line 2628 "scanner.l"
{
  					  *pCopyCurlyString+=yytext;
  					}
	YY_BREAK
case 316:
YY_RULE_SETUP
#line 2631 "scanner.l"
{
  					  yyLineNr++;
					  *pCopyCurlyString+=*yytext;
  					}
	YY_BREAK
case 317:
YY_RULE_SETUP
#line 2636 "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 318:
YY_RULE_SETUP
#line 2679 "scanner.l"
{ current->args += yytext ;
					  sharpCount=1;
					  BEGIN( Array ) ;
					}
	YY_BREAK
case 319:
YY_RULE_SETUP
#line 2683 "scanner.l"
{ current->args += *yytext ;
					  if (--sharpCount<=0)
	                                     BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 320:
YY_RULE_SETUP
#line 2687 "scanner.l"
{ current->args += *yytext ;
					  sharpCount++;	
					}
	YY_BREAK
case 321:
YY_RULE_SETUP
#line 2690 "scanner.l"
{ current->args += *yytext ; }
	YY_BREAK
case 322:
YY_RULE_SETUP
#line 2692 "scanner.l"
{ addType( current ) ;
					  current->type += yytext ;
					  BEGIN( Sharp ) ;
					}
	YY_BREAK
case 323:
YY_RULE_SETUP
#line 2696 "scanner.l"
{ current->type += *yytext ;
					  if (--sharpCount<=0)
	                                     BEGIN( FindMembers ) ;
					}
	YY_BREAK
case 324:
YY_RULE_SETUP
#line 2700 "scanner.l"
{ current->type += *yytext ;
					  sharpCount++;	
					}
	YY_BREAK
case 325:
YY_RULE_SETUP
#line 2703 "scanner.l"
{
  					  lineCount();
					}
	YY_BREAK
case 326:
YY_RULE_SETUP
#line 2706 "scanner.l"
{ current->type += *yytext ; }
	YY_BREAK
case 327:
YY_RULE_SETUP
#line 2707 "scanner.l"
{
  					  current->name = yytext;
					}
	YY_BREAK
case 328:
YY_RULE_SETUP
#line 2710 "scanner.l"
{
  					  lastInitializerContext = YY_START;
  					  BEGIN(ReadInitializer);
  					}
	YY_BREAK
case 329:
YY_RULE_SETUP
#line 2714 "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
/*
","			{ unput(*yytext); BEGIN(FindFields); }
  */
case 330:
YY_RULE_SETUP
#line 2739 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 331:
YY_RULE_SETUP
#line 2740 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 332:
YY_RULE_SETUP
#line 2741 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 333:
YY_RULE_SETUP
#line 2742 "scanner.l"
{ current->program += yytext ;
					  lastContext = Curly ;
					  BEGIN( Comment ) ;
					}
	YY_BREAK
case 334:
YY_RULE_SETUP
#line 2746 "scanner.l"
{ current->program += yytext ;
					  ++yyLineNr ;
					  lastContext = Curly ;
					  BEGIN( Comment ) ;
					}
	YY_BREAK
case 335:
YY_RULE_SETUP
#line 2751 "scanner.l"
{ current->program += yytext; }
	YY_BREAK
case 336:
YY_RULE_SETUP
#line 2752 "scanner.l"
{ current->program += yytext; }
	YY_BREAK
case 337:
YY_RULE_SETUP
#line 2753 "scanner.l"
{ current->program += yytext; }
	YY_BREAK
case 338:
YY_RULE_SETUP
#line 2754 "scanner.l"
{ current->program += yytext ;
					  ++curlyCount ;
					}
	YY_BREAK
case 339:
YY_RULE_SETUP
#line 2757 "scanner.l"
{ //err("Curly count=%d\n",curlyCount);
  					  if ( curlyCount>0 )
					  {
					    current->program += yytext ;
					    --curlyCount ;
					  }
					  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 340:
YY_RULE_SETUP
#line 2810 "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 341:
YY_RULE_SETUP
#line 2832 "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.isEmpty() && 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 343:
YY_RULE_SETUP
#line 2914 "scanner.l"
{ 
  					  lastInitializerContext=YY_START;
  					  BEGIN(ReadInitializer);
  					  /* BEGIN(MemberSpecSkip); */
					}
	YY_BREAK
/*
"{"			{
  					  curlyCount=0;
					  lastCurlyContext = MemberSpecSkip;
					  previous = current;
  					  BEGIN(SkipCurly);
  					}
  */
case 344:
YY_RULE_SETUP
#line 2927 "scanner.l"
{ BEGIN(MemberSpec); }
	YY_BREAK
case 345:
YY_RULE_SETUP
#line 2928 "scanner.l"
{ unput(';'); BEGIN(MemberSpec); }
	YY_BREAK
case 346:
YY_RULE_SETUP
#line 2929 "scanner.l"
{ current->program += yytext ;
					  lineCount() ;
					}
	YY_BREAK
case 347:
YY_RULE_SETUP
#line 2932 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 348:
YY_RULE_SETUP
#line 2934 "scanner.l"
{
  					  current->bodyLine = yyLineNr;
  					  lineCount();
  					  addType(current);
					  funcPtrType=yytext;
					  //current->type += yytext;
					  BEGIN( FuncPtr );
  					}
	YY_BREAK
case 349:
YY_RULE_SETUP
#line 2942 "scanner.l"
{
  					  current->name = yytext;
					  BEGIN( EndFuncPtr );
  					}
	YY_BREAK
case 350:
YY_RULE_SETUP
#line 2946 "scanner.l"
{
  					  //printf("Error: FuncPtr `%c' unexpected at line %d of %s\n",*yytext,yyLineNr,yyFileName);
  					}
	YY_BREAK
case 351:
*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 2949 "scanner.l"
{ // a variable with extra braces
 					  lineCount();
					  current->type+=funcPtrType.data()+1;
  					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 352:
*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 2954 "scanner.l"
{ // a variable function
  					  lineCount();
					  current->type+=funcPtrType+")";
					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 353:
*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 2959 "scanner.l"
{
  					  lineCount();
					  current->type+=funcPtrType.data();
					  current->args += ")";
					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 354:
YY_RULE_SETUP
#line 2965 "scanner.l"
{ // a function returning a function
  					  current->args += *yytext ;
					  roundCount=0;
					  BEGIN( FuncFunc );
  					}
	YY_BREAK
case 355:
YY_RULE_SETUP
#line 2970 "scanner.l"
{
  					  BEGIN(FindMembers);
  					}
	YY_BREAK
case 356:
YY_RULE_SETUP
#line 2973 "scanner.l"
{
  					  current->args += *yytext ;
  					  ++roundCount;
					}
	YY_BREAK
case 357:
YY_RULE_SETUP
#line 2977 "scanner.l"
{
  					  current->args += *yytext ;
  					  if ( roundCount )
					    --roundCount;
					  else
					  {
					    BEGIN(FuncFuncEnd);
					  }
  					}
	YY_BREAK
case 358:
YY_RULE_SETUP
#line 2986 "scanner.l"
{
  					  lineCount();
					  current->type+=funcPtrType+")(";
					  BEGIN(FuncFuncType);
  					}
	YY_BREAK
case 359:
*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 2991 "scanner.l"
{
  					  lineCount();
					  current->type+=funcPtrType.data()+1;
  					  BEGIN(Function);
  					}
	YY_BREAK
case 360:
YY_RULE_SETUP
#line 2996 "scanner.l"
{
  					  current->args += *yytext;
  					}
	YY_BREAK
case 361:
YY_RULE_SETUP
#line 2999 "scanner.l"
{
  					  current->type += *yytext;
					  roundCount++;
  					}
	YY_BREAK
case 362:
YY_RULE_SETUP
#line 3003 "scanner.l"
{
  					  current->type += *yytext;
  					  if (roundCount)
					    --roundCount;
					  else
					    BEGIN(Function);
					}
	YY_BREAK
case 363:
YY_RULE_SETUP
#line 3010 "scanner.l"
{ lineCount() ; current->type += ", " ; }
	YY_BREAK
case 364:
YY_RULE_SETUP
#line 3011 "scanner.l"
{ lineCount() ; current->type += ' ' ; }
	YY_BREAK
case 365:
YY_RULE_SETUP
#line 3012 "scanner.l"
{
  					  current->type += *yytext;
  					}
	YY_BREAK
case 366:
YY_RULE_SETUP
#line 3015 "scanner.l"
{ current->args = yytext;
  					  current->bodyLine = yyLineNr;
					  currentArgumentContext = FuncQual;
					  fullArgString=current->args.copy();
					  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 367:
YY_RULE_SETUP
#line 3033 "scanner.l"
{ *copyArgString+=yytext; 
  					  fullArgString+=yytext;
  					}
	YY_BREAK
case 368:
YY_RULE_SETUP
#line 3036 "scanner.l"
{ *copyArgString+=yytext; 
					  fullArgString+=yytext;
					}
	YY_BREAK
case 369:
YY_RULE_SETUP
#line 3039 "scanner.l"
{ 
  					  *copyArgString+=yytext; 
  					  fullArgString+=yytext;
  					}
	YY_BREAK
case 370:
YY_RULE_SETUP
#line 3043 "scanner.l"
{
  					  *copyArgString+=" ";
  					  fullArgString+=" ";
  					  lineCount();
  					}
	YY_BREAK
case 371:
YY_RULE_SETUP
#line 3048 "scanner.l"
{
  					  *copyArgString+=*yytext;
  					  fullArgString+=*yytext;
					  lastCopyArgStringContext = YY_START;
  					  BEGIN( CopyArgString );
  					}
	YY_BREAK
case 372:
YY_RULE_SETUP
#line 3054 "scanner.l"
{
  					  *copyArgString+=*yytext;
  					  fullArgString+=*yytext;
  					  argRoundCount=0; 
					  lastCopyArgContext = YY_START;
					  BEGIN( CopyArgRound ); 
  					}
	YY_BREAK
case 373:
YY_RULE_SETUP
#line 3061 "scanner.l"
{ 
  					  *copyArgString+=*yytext;
  					  fullArgString+=*yytext;
					  stringToArgumentList(fullArgString,current->argList);
					  BEGIN( currentArgumentContext );
					}
	YY_BREAK
/* a special comment */
case 374:
YY_RULE_SETUP
#line 3068 "scanner.l"
{ 
  					  fullArgString+=yytext;
  					  lastCopyArgChar=0;
					  if (yytext[1]=='/')
					    BEGIN( CopyArgCommentLine );
					  else
  					    BEGIN( CopyArgComment );
  					}
	YY_BREAK
/* `)' followed by a special comment */
case 375:
YY_RULE_SETUP
#line 3077 "scanner.l"
{
  					  lineCount();
					  lastCopyArgChar=*yytext;
					  QCString text=&yytext[1];
					  text=text.stripWhiteSpace();
					  fullArgString+=text;
					  if (text.find("//")!=-1)
					    BEGIN( CopyArgCommentLine );
					  else
					    BEGIN( CopyArgComment );
  					}
	YY_BREAK
case 376:
YY_RULE_SETUP
#line 3088 "scanner.l"
{ fullArgString+=yytext; }
	YY_BREAK
case 377:
YY_RULE_SETUP
#line 3089 "scanner.l"
{ fullArgString+=yytext; 
  					  if (lastCopyArgChar!=0)
					    unput(lastCopyArgChar); 
                                          BEGIN( ReadFuncArgType ); 
					}
	YY_BREAK
case 378:
YY_RULE_SETUP
#line 3094 "scanner.l"
{ fullArgString+=yytext;
  					  if (lastCopyArgChar!=0)
					    unput(lastCopyArgChar);
					  BEGIN( ReadFuncArgType );
  					}
	YY_BREAK
case 379:
YY_RULE_SETUP
#line 3099 "scanner.l"
{ fullArgString+=yytext; }
	YY_BREAK
case 380:
YY_RULE_SETUP
#line 3100 "scanner.l"
{ fullArgString+=*yytext; yyLineNr++; }
	YY_BREAK
case 381:
YY_RULE_SETUP
#line 3101 "scanner.l"
{ fullArgString+=*yytext; }
	YY_BREAK
case 382:
YY_RULE_SETUP
#line 3102 "scanner.l"
{
					  *copyArgString+=*yytext;
					  fullArgString+=*yytext;
					  argSharpCount=0;
					  BEGIN( CopyArgSharp );
					}
	YY_BREAK
case 383:
YY_RULE_SETUP
#line 3108 "scanner.l"
{
					  *copyArgString+=*yytext;
					  fullArgString+=*yytext;
					  //printf("end template list %s\n",copyArgString->data());
					  stringToArgumentList(fullArgString,currentArgumentList);
					  BEGIN( currentArgumentContext );
					}
	YY_BREAK
case 384:
YY_RULE_SETUP
#line 3115 "scanner.l"
{
  					  argRoundCount++;
					  *copyArgString+=*yytext;
					  fullArgString+=*yytext;
  					}
	YY_BREAK
case 385:
YY_RULE_SETUP
#line 3120 "scanner.l"
{
					  *copyArgString+=*yytext;
					  fullArgString+=*yytext;
					  if (argRoundCount>0) 
					    argRoundCount--;
					  else 
					    BEGIN( lastCopyArgContext );
  					}
	YY_BREAK
case 386:
YY_RULE_SETUP
#line 3128 "scanner.l"
{
  					  argSharpCount++;
					  *copyArgString+=*yytext;
					  fullArgString+=*yytext;
  					}
	YY_BREAK
case 387:
YY_RULE_SETUP
#line 3133 "scanner.l"
{
  					  *copyArgString+=*yytext;
  					  fullArgString+=*yytext;
					  if (argRoundCount>0)
					    argRoundCount--;
					  else
					    BEGIN( ReadTempArgs );
  					}
	YY_BREAK
case 388:
YY_RULE_SETUP
#line 3141 "scanner.l"
{
  					  *copyArgString+=yytext;
  					  fullArgString+=yytext;
  					}
	YY_BREAK
case 389:
YY_RULE_SETUP
#line 3145 "scanner.l"
{
  					  *copyArgString+=*yytext;
  					  fullArgString+=*yytext;
					  BEGIN( lastCopyArgStringContext );
  					}
	YY_BREAK
case 390:
YY_RULE_SETUP
#line 3150 "scanner.l"
{ 
                                          *copyArgString+=yytext; 
                                          fullArgString+=yytext; 
					}
	YY_BREAK
case 391:
YY_RULE_SETUP
#line 3154 "scanner.l"
{ 
  					  *copyArgString+=yytext; 
  					  fullArgString+=yytext; 
					}
	YY_BREAK
case 392:
YY_RULE_SETUP
#line 3158 "scanner.l"
{ 
  					  *copyArgString+=yytext; 
  					  fullArgString+=yytext; 
					}
	YY_BREAK
case 393:
YY_RULE_SETUP
#line 3162 "scanner.l"
{ 
  					  yyLineNr++; 
					  *copyArgString+=*yytext; 
					  fullArgString+=*yytext; 
					}
	YY_BREAK
case 394:
YY_RULE_SETUP
#line 3167 "scanner.l"
{ 
  					  *copyArgString+=*yytext; 
  					  fullArgString+=*yytext; 
					}
	YY_BREAK
/*------------------------------------------------------------------------*/
case 395:
YY_RULE_SETUP
#line 3177 "scanner.l"
{ current->args += *yytext ;
					  ++roundCount ;
					}
	YY_BREAK
case 396:
YY_RULE_SETUP
#line 3180 "scanner.l"
{ current->args += *yytext ; 
					  if ( roundCount )
					    --roundCount ;
				          else
					    BEGIN( FuncQual ) ;
					}
	YY_BREAK
/*
"#"				{ lastCPPContext = YY_START;
  					  BEGIN(SkipCPP);
					}
  */
case 397:
YY_RULE_SETUP
#line 3191 "scanner.l"
{ unput(*yytext); BEGIN( Function ); }
	YY_BREAK
case 398:
YY_RULE_SETUP
#line 3192 "scanner.l"
{ 
  					  lineCount() ; 
  					  current->args += " const "; 
					  current->argList->constSpecifier=TRUE;
					}
	YY_BREAK
case 399:
YY_RULE_SETUP
#line 3197 "scanner.l"
{ 
  					  lineCount() ; 
  					  current->args += " volatile "; 
					  current->argList->volatileSpecifier=TRUE;
					}
	YY_BREAK
case 400:
YY_RULE_SETUP
#line 3202 "scanner.l"
{ 
  					  lineCount() ; 
					  current->args += " = 0"; 
					  current->virt = Pure; 
					  current->argList->pureSpecifier=TRUE;
					}
	YY_BREAK
case 401:
YY_RULE_SETUP
#line 3208 "scanner.l"
{ 
  					  lineCount() ; 
					  current->args += ", " ; 
					}
	YY_BREAK
case 402:
YY_RULE_SETUP
#line 3212 "scanner.l"
{ 
  					  lineCount() ; 
					  current->args += ' ' ; 
					}
	YY_BREAK
case 403:
YY_RULE_SETUP
#line 3216 "scanner.l"
{ current->args += *yytext; }
	YY_BREAK
case 404:
YY_RULE_SETUP
#line 3217 "scanner.l"
{ 
  					  current->exception = " throw (" ;
					  lineCount() ;
					  BEGIN( ExcpRound ) ;
					}
	YY_BREAK
case 405:
YY_RULE_SETUP
#line 3222 "scanner.l"
{
  					  current->exception = " raises (" ;
					  lineCount() ;
					  BEGIN( ExcpRound ) ;
  					}
	YY_BREAK
case 406:
YY_RULE_SETUP
#line 3227 "scanner.l"
{ current->exception += *yytext ;
					  ++roundCount ;
					}
	YY_BREAK
case 407:
YY_RULE_SETUP
#line 3230 "scanner.l"
{ current->exception += *yytext ; 
					  if ( roundCount )
					    --roundCount ;
				          else
					    BEGIN( FuncQual ) ;
					}
	YY_BREAK
case 408:
YY_RULE_SETUP
#line 3236 "scanner.l"
{
  					  current->exception += yytext;
  					}
	YY_BREAK
case 409:
YY_RULE_SETUP
#line 3239 "scanner.l"
{ current->type += current->name ;
					  current->name  = current->args ;
					  current->args  = yytext ;
					  BEGIN( FuncRound ) ;
					}
	YY_BREAK
case 410:
YY_RULE_SETUP
#line 3244 "scanner.l"
{ lastCPPContext = YY_START;
  					  BEGIN(SkipCPP);
					}	
	YY_BREAK
case 411:
YY_RULE_SETUP
#line 3247 "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);
					    curlyCount=0;
					    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 412:
YY_RULE_SETUP
#line 3343 "scanner.l"
{ 
  				          //addToBody(yytext);
  				          lastCurlyContext = FindMembers;
  					  BEGIN( SkipCurly ) ; 
					}
	YY_BREAK
case 413:
YY_RULE_SETUP
#line 3348 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  ++curlyCount ; 
					}
	YY_BREAK
case 414:
YY_RULE_SETUP
#line 3352 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  if( curlyCount )
					  {
					    --curlyCount ;
					  }
					  else
					  {
					    previous->endBodyLine=yyLineNr;
					    BEGIN( lastCurlyContext ) ;
					  }
					}
	YY_BREAK
case 415:
YY_RULE_SETUP
#line 3364 "scanner.l"
{ 
  					  if ( curlyCount )
					  {
					    //addToBody(yytext);
					    --curlyCount ;
					  }
					  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 416:
YY_RULE_SETUP
#line 3388 "scanner.l"
{
  				          //addToBody("}");
					  current = tempEntry;
  					  BEGIN( lastCurlyContext );
  					}
	YY_BREAK
case 417:
YY_RULE_SETUP
#line 3393 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 418:
YY_RULE_SETUP
#line 3396 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 419:
YY_RULE_SETUP
#line 3399 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 420:
YY_RULE_SETUP
#line 3402 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  lastStringContext=SkipCurly;
  				          BEGIN( SkipString ); 
					}
	YY_BREAK
case 421:
YY_RULE_SETUP
#line 3407 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  BEGIN( SkipCurlyCpp ); 
					}
	YY_BREAK
case 422:
YY_RULE_SETUP
#line 3411 "scanner.l"
{
  					  yyLineNr++;
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 423:
YY_RULE_SETUP
#line 3415 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 424:
YY_RULE_SETUP
#line 3418 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  yyLineNr++; 
  					  lastCurlyContext = FindMembers;
  					  BEGIN( SkipCurly ); 
					}
	YY_BREAK
case 425:
YY_RULE_SETUP
#line 3424 "scanner.l"
{ 
  				          //addToBody(yytext);
  					  yyLineNr++; 
					}
	YY_BREAK
case 426:
YY_RULE_SETUP
#line 3428 "scanner.l"
{
  				          //addToBody(yytext);
  					  lastCContext = YY_START;
					  BEGIN(SkipComment);
  					}
	YY_BREAK
case 427:
YY_RULE_SETUP
#line 3433 "scanner.l"
{
  				          //addToBody(yytext);
  					  lastCContext = YY_START;
					  BEGIN(SkipCxxComment);
  					}
	YY_BREAK
case 428:
YY_RULE_SETUP
#line 3438 "scanner.l"
{
  				          //addToBody(yytext);
  					}
	YY_BREAK
case 429:
YY_RULE_SETUP
#line 3441 "scanner.l"
{
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 430:
YY_RULE_SETUP
#line 3444 "scanner.l"
{ 
  				          //addToBodyCond(yytext);
  					  BEGIN( lastStringContext ); 
					}
	YY_BREAK
case 431:
YY_RULE_SETUP
#line 3448 "scanner.l"
{
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 432:
YY_RULE_SETUP
#line 3451 "scanner.l"
{
  					  yyLineNr++;
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 433:
YY_RULE_SETUP
#line 3455 "scanner.l"
{
  				          //addToBodyCond(yytext);
  					}
	YY_BREAK
case 434:
YY_RULE_SETUP
#line 3458 "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 435:
*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 3466 "scanner.l"
{
  					  sharpCount = 0;
  					  current->name = yytext ;
					  lineCount();
					  BEGIN( ClassTemplSpec );
					}
	YY_BREAK
case 436:
YY_RULE_SETUP
#line 3472 "scanner.l"
{
					  current->name += yytext;
  					  if (--sharpCount<=0)
					  {
					    BEGIN( ClassVar );
					  }
					}
	YY_BREAK
case 437:
YY_RULE_SETUP
#line 3479 "scanner.l"
{
  					  current->name += yytext;
  					  sharpCount++;
  					}
	YY_BREAK
case 438:
YY_RULE_SETUP
#line 3483 "scanner.l"
{
  					  current->name += yytext;
					}
	YY_BREAK
case 439:
YY_RULE_SETUP
#line 3486 "scanner.l"
{ 
					  current->name = yytext ;
					  lineCount();
					  BEGIN( ClassVar );
					}
	YY_BREAK
case 440:
YY_RULE_SETUP
#line 3491 "scanner.l"
{
					  if (isTypedef)
					  {
					  //  typedefDict.insert(yytext,new QCString(current->name));
					  //  current->type.prepend("typedef ");
					  //  current->extends
					    current->extends->append(
					      new BaseInfo(yytext,Public,Normal)
					    );
					  }
  					  current->type += ' ' ;
					  current->type += current->name ;
					  current->name = yytext ;
					  //BEGIN( FindMembers );
  					}
	YY_BREAK
case 441:
YY_RULE_SETUP
#line 3506 "scanner.l"
{
                                          // probably a function anyway
                                          unput(*yytext);
					  BEGIN( FindMembers );
					}
	YY_BREAK
case 442:
YY_RULE_SETUP
#line 3511 "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 443:
YY_RULE_SETUP
#line 3521 "scanner.l"
{
    					  unput(*yytext);
					  BEGIN( FindMembers );
    					}
	YY_BREAK
case 444:
YY_RULE_SETUP
#line 3525 "scanner.l"
{ current->fileName = yyFileName ;
					  current->startLine = yyLineNr ;
					  current->name = removeRedundantWhiteSpace(current->name);
					  if (current->name.isEmpty() && !isTypedef) // anonymous compound
					    current->name.sprintf("@%d",anonCount++);
					  curlyCount=0;
					  BEGIN( Curly ) ;
					}
	YY_BREAK
case 445:
YY_RULE_SETUP
#line 3533 "scanner.l"
{ baseVirt = Virtual; }
	YY_BREAK
case 446:
YY_RULE_SETUP
#line 3534 "scanner.l"
{ baseProt = Public; }
	YY_BREAK
case 447:
YY_RULE_SETUP
#line 3535 "scanner.l"
{ baseProt = Protected; }
	YY_BREAK
case 448:
YY_RULE_SETUP
#line 3536 "scanner.l"
{ baseProt = Private; }
	YY_BREAK
case 449:
YY_RULE_SETUP
#line 3537 "scanner.l"
{}
	YY_BREAK
case 450:
YY_RULE_SETUP
#line 3538 "scanner.l"
{ unput(*yytext); BEGIN(Bases); }
	YY_BREAK
case 451:
YY_RULE_SETUP
#line 3539 "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 452:
YY_RULE_SETUP
#line 3553 "scanner.l"
{ current->name += *yytext;
  					  sharpCount=1; 
					  lastSkipSharpContext = YY_START;
					  specName = ¤t->name;
					  BEGIN ( Specialization );
					}
	YY_BREAK
case 453:
YY_RULE_SETUP
#line 3559 "scanner.l"
{ baseName += *yytext;
  					  sharpCount=1; 
					  lastSkipSharpContext = YY_START;
					  specName = &baseName;
					  BEGIN ( Specialization );
					}
	YY_BREAK
case 454:
YY_RULE_SETUP
#line 3565 "scanner.l"
{ *specName += *yytext;
  					  sharpCount++;
  					}
	YY_BREAK
case 455:
YY_RULE_SETUP
#line 3568 "scanner.l"
{
  					  *specName += *yytext;
  					  if (--sharpCount<=0)
					    BEGIN(lastSkipSharpContext);
  					}
	YY_BREAK
case 456:
YY_RULE_SETUP
#line 3573 "scanner.l"
{ lineCount(); *specName +=' '; }
	YY_BREAK
case 457:
YY_RULE_SETUP
#line 3574 "scanner.l"
{
  					  *specName += *yytext;
  					}
	YY_BREAK
case 458:
YY_RULE_SETUP
#line 3577 "scanner.l"
{ ++sharpCount; }
	YY_BREAK
case 459:
YY_RULE_SETUP
#line 3578 "scanner.l"
{ if (--sharpCount<=0)
					    BEGIN ( lastSkipSharpContext );
					}
	YY_BREAK
case 460:
YY_RULE_SETUP
#line 3581 "scanner.l"
{ ++roundCount; }
	YY_BREAK
case 461:
YY_RULE_SETUP
#line 3582 "scanner.l"
{ if (--roundCount<=0)
					    BEGIN ( lastSkipRoundContext );
					}
	YY_BREAK
case 462:
YY_RULE_SETUP
#line 3585 "scanner.l"
{ current->args += ',' ; 
					  current->name = removeRedundantWhiteSpace(current->name);
  					  if (!baseName.isEmpty())
  					    current->extends->append(
					      new BaseInfo(baseName,baseProt,baseVirt)
					    );
					  baseProt=Private;
					  baseVirt=Normal;
					  baseName.resize(0);
					  BEGIN(BasesProt);
					}
	YY_BREAK
case 463:
YY_RULE_SETUP
#line 3596 "scanner.l"
{ current->fileName = yyFileName ;
					  current->startLine = yyLineNr ;
					  current->name = removeRedundantWhiteSpace(current->name);
  					  if (!baseName.isEmpty())
  					    current->extends->append(
					      new BaseInfo(baseName,baseProt,baseVirt)
					    );
					  curlyCount=0;
					  BEGIN( Curly ) ;
					}
	YY_BREAK
case 464:
YY_RULE_SETUP
#line 3606 "scanner.l"
{ current->program += yytext ;
					  lineCount() ;
					}
	YY_BREAK
case 465:
YY_RULE_SETUP
#line 3609 "scanner.l"
{ current->program += yytext ; } 
	YY_BREAK
case 466:
YY_RULE_SETUP
#line 3610 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 467:
YY_RULE_SETUP
#line 3611 "scanner.l"
{ current->program += yytext ; }
	YY_BREAK
case 468:
YY_RULE_SETUP
#line 3612 "scanner.l"
{ current->program += yytext ;
					  BEGIN( lastContext ) ;
					}
	YY_BREAK
case 469:
YY_RULE_SETUP
#line 3615 "scanner.l"
{ current->program += *yytext ; }
	YY_BREAK
case 470:
YY_RULE_SETUP
#line 3617 "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 471:
*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 3630 "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 472:
YY_RULE_SETUP
#line 3662 "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 473:
*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 3670 "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 474:
YY_RULE_SETUP
#line 3678 "scanner.l"

	YY_BREAK
case 475:
YY_RULE_SETUP
#line 3679 "scanner.l"
{
  					  current->type.resize(0);
  					  current->name.resize(0);
  					  current->args.resize(0);
					  current->argList->clear();
					  curlyCount=0;
					  BEGIN( SkipCurlyBlock );
					  	
  					}
	YY_BREAK
case 476:
YY_RULE_SETUP
#line 3688 "scanner.l"
{
  					  lastBriefContext=tmpDocType;
  					  BEGIN( ClassDocBrief ); 
					}
	YY_BREAK
case 477:
YY_RULE_SETUP
#line 3692 "scanner.l"
{
					  lineCount();
					  if (!current->brief.stripWhiteSpace().isEmpty())
					  {
					    BEGIN( tmpDocType );
					  }
 					} 
	YY_BREAK
case 478:
YY_RULE_SETUP
#line 3699 "scanner.l"
{
  					  unput(*yytext);
					  BEGIN(Doc);
  					}
	YY_BREAK
case 479:
*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 3703 "scanner.l"
{
  					  //printf("---> removing %s\n",yytext);
  					}
	YY_BREAK
/*
[^\n\@\*\.\\]+			{
  					  current->brief+=yytext;
  					}
  */
case 480:
YY_RULE_SETUP
#line 3711 "scanner.l"
{
  				          //printf("---> copy %c\n",*yytext);
  					  current->brief+=*yytext;
  					}
	YY_BREAK
case 481:
YY_RULE_SETUP
#line 3715 "scanner.l"
{
  					  current->brief+=' ';
					  lineCount();
  					}
	YY_BREAK
case 482:
YY_RULE_SETUP
#line 3719 "scanner.l"
{
  					  lineCount();
					  current->brief+=".";
					  BEGIN( tmpDocType );
					}
	YY_BREAK
case 483:
YY_RULE_SETUP
#line 3724 "scanner.l"
{ 
  					  current->doc+=yytext;
					  BEGIN( tmpDocType );
  					}
	YY_BREAK
case 484:
YY_RULE_SETUP
#line 3728 "scanner.l"
{
					  current->section = Entry::MEMBERDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
  					  BEGIN( ClassDocFunc ); 
					}
	YY_BREAK
case 485:
YY_RULE_SETUP
#line 3734 "scanner.l"
{
  					  nextDefContext = YY_START==LineDoc ? DefLineDoc : ClassDoc;
  					  current->section = Entry::DEFINEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
  					  BEGIN( ClassDocDefine );
  					}
	YY_BREAK
case 486:
YY_RULE_SETUP
#line 3741 "scanner.l"
{ 
  					  overloadContext = YY_START;
  					  BEGIN( ClassDocOverload ); 
					}
	YY_BREAK
case 487:
*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 3745 "scanner.l"
{
					  QCString orgDoc = current->doc;
					  current->doc = getOverloadDocs();
					  current->doc += "\n\n";
					  current->doc += orgDoc;
  					  BEGIN( overloadContext  );
  				        }
	YY_BREAK
case 488:
*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 3752 "scanner.l"
{
					  QCString orgDoc = current->doc;
					  current->doc = getOverloadDocs();
					  current->doc += "\n\n";
					  current->doc += orgDoc;
  					  BEGIN( overloadContext );
  					}
	YY_BREAK
case 489:
YY_RULE_SETUP
#line 3759 "scanner.l"
{ unput(*yytext);
  					  current->section = Entry::OVERLOADDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocFunc ); 
					}
	YY_BREAK
case 490:
YY_RULE_SETUP
#line 3765 "scanner.l"
{
  					  current->section = Entry::ENUMDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( EnumDocArg1 );
  					}
	YY_BREAK
case 491:
YY_RULE_SETUP
#line 3771 "scanner.l"
{
  					  current->section = Entry::GROUPDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( GroupDocArg1 );
  					}
	YY_BREAK
case 492:
YY_RULE_SETUP
#line 3777 "scanner.l"
{
  					  current->section = Entry::NAMESPACEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
  					  BEGIN( NameSpaceDocArg1 );
  					}
	YY_BREAK
case 493:
YY_RULE_SETUP
#line 3783 "scanner.l"
{
  					  current->section = Entry::CLASSDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 494:
YY_RULE_SETUP
#line 3789 "scanner.l"
{
  					  current->section = Entry::UNIONDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 495:
YY_RULE_SETUP
#line 3795 "scanner.l"
{
  					  current->section = Entry::STRUCTDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 496:
YY_RULE_SETUP
#line 3801 "scanner.l"
{
  					  current->section = Entry::INTERFACEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( ClassDocArg1 ); 
					}
	YY_BREAK
case 497:
YY_RULE_SETUP
#line 3807 "scanner.l"
{
  					  current->section = Entry::PAGEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( PageDocArg1 );
  					}
	YY_BREAK
case 498:
YY_RULE_SETUP
#line 3813 "scanner.l"
{
  					  current->section = Entry::MAINPAGEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( PageDocArg2 );
  					}
	YY_BREAK
case 499:
YY_RULE_SETUP
#line 3819 "scanner.l"
{
  					  current->section = Entry::FILEDOC_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
					  BEGIN( FileDocArg1 );
  					}
	YY_BREAK
case 500:
YY_RULE_SETUP
#line 3825 "scanner.l"
{
 					  current->section = Entry::EXAMPLE_SEC;
					  current->fileName = yyFileName;
					  current->startLine = yyLineNr;
 					  BEGIN( ExampleDocArg1 );
					}
	YY_BREAK
case 501:
YY_RULE_SETUP
#line 3831 "scanner.l"
{
				          current->name = stripQuotes(yytext);	
					  BEGIN( ExampleDoc );
					}
	YY_BREAK
case 502:
YY_RULE_SETUP
#line 3835 "scanner.l"
{ 
  					  lastDocRelContext = YY_START;
  					  BEGIN( ClassDocRelates ); 
					}
	YY_BREAK
case 503:
YY_RULE_SETUP
#line 3839 "scanner.l"
{ 
  					  current->relates = yytext;
					  BEGIN( lastDocRelContext );
					}
	YY_BREAK
case 504:
YY_RULE_SETUP
#line 3843 "scanner.l"
{
  					  current->name = yytext;
					  newDocState();
  					}
	YY_BREAK
case 505:
YY_RULE_SETUP
#line 3847 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\namespace at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
  					}
	YY_BREAK
case 506:
YY_RULE_SETUP
#line 3852 "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 507:
YY_RULE_SETUP
#line 3861 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\class at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
					  
  					}
	YY_BREAK
case 508:
YY_RULE_SETUP
#line 3867 "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 509:
YY_RULE_SETUP
#line 3873 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\defgroup at line %d of %s.\n",yyLineNr,yyFileName);
					  yyLineNr++;
					  BEGIN( Doc );
  					}
	YY_BREAK
case 510:
YY_RULE_SETUP
#line 3879 "scanner.l"
{
					  current->type = yytext;
					  current->type = current->type.stripWhiteSpace();
					  newDocState();
  					}
	YY_BREAK
case 511:
YY_RULE_SETUP
#line 3884 "scanner.l"
{
 					  newDocState();
  					}
	YY_BREAK
case 512:
YY_RULE_SETUP
#line 3887 "scanner.l"
{
  					  //printf("ClassDocArg2=%s\n",yytext);
					  current->includeFile = stripQuotes(yytext);
					  BEGIN( ClassDocArg3 );
					}
	YY_BREAK
case 513:
YY_RULE_SETUP
#line 3892 "scanner.l"
{ yyLineNr++; 
					  newDocState();
					}
	YY_BREAK
case 514:
YY_RULE_SETUP
#line 3895 "scanner.l"
{
  					  //printf("ClassDocArg3=%s\n",yytext);
 					  current->includeName = yytext;
  					  newDocState();
					}
	YY_BREAK
case 515:
YY_RULE_SETUP
#line 3900 "scanner.l"
{ yyLineNr++; 
  					  newDocState();
					}
	YY_BREAK
case 516:
YY_RULE_SETUP
#line 3903 "scanner.l"
{
  					  current->name = stripQuotes(yytext);
					  newDocState();
  				        }
	YY_BREAK
case 517:
YY_RULE_SETUP
#line 3907 "scanner.l"
{
  					  current->name = yyFileName;
  					  yyLineNr++;
					  newDocState();
  					}
	YY_BREAK
case 518:
YY_RULE_SETUP
#line 3912 "scanner.l"
{
					  current->name = stripQuotes(yytext);
					  BEGIN( PageDocArg2 ); 
					}
	YY_BREAK
case 519:
YY_RULE_SETUP
#line 3916 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\page at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
					  BEGIN( Doc );
  					}
	YY_BREAK
case 520:
YY_RULE_SETUP
#line 3922 "scanner.l"
{
  				          yyLineNr++;
					  current->args = yytext;
					  BEGIN( PageDoc );
					}
	YY_BREAK
case 521:
YY_RULE_SETUP
#line 3927 "scanner.l"
{
  					  current->name = yytext;
					  if (current_root->section & Entry::SCOPE_MASK)
					  {
					    current->name.prepend(current_root->name+"::");
					  }
  					  newDocState();
  					}
	YY_BREAK
case 522:
YY_RULE_SETUP
#line 3935 "scanner.l"
{
  					  warn("Warning: missing argument after "
					       "\\enum at line %d of %s.\n",yyLineNr,yyFileName);
  					  yyLineNr++;
					  BEGIN( Doc );
  					}
	YY_BREAK
case 523:
YY_RULE_SETUP
#line 3941 "scanner.l"
{
  					  current->doc+=yytext;
  					}
	YY_BREAK
case 524:
YY_RULE_SETUP
#line 3944 "scanner.l"
{
  					  sectionType=SectionInfo::Section;
  					  BEGIN(SectionLabel);
  					}
	YY_BREAK
case 525:
YY_RULE_SETUP
#line 3948 "scanner.l"
{
  					  sectionType=SectionInfo::Subsection;
  					  BEGIN(SectionLabel);
  					}
	YY_BREAK
case 526:
YY_RULE_SETUP
#line 3952 "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 527:
*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 3969 "scanner.l"
{
  					  //printf("--> endmgroup found!\n");
  					  memberGroupId = -1;
					  current->mGrpId = -1;
  					}
	YY_BREAK
case 528:
*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 3974 "scanner.l"
{
					  QCString header = ((QCString)yytext).stripWhiteSpace();
  					  memberGroupDict.insert(memberGroupId,
					                         new MemberGroup(memberGroupId,header)
								);
  					  BEGIN(lastMemberGroupContext);
  					}
	YY_BREAK
case 529:
YY_RULE_SETUP
#line 3981 "scanner.l"
{
  					  lastAnchorContext = YY_START;
  					  sectionType=SectionInfo::Anchor;
					  BEGIN(AnchorLabel);
  					}
	YY_BREAK
case 530:
*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 3986 "scanner.l"
{
					  current->doc+="\\\\verbatim";
					}
	YY_BREAK
case 531:
*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 3989 "scanner.l"
{
					  lastVerbState=YY_START;
					  current->doc+="\\verbatim";
  					  BEGIN(SkipVerbatim);
  					}
	YY_BREAK
case 532:
YY_RULE_SETUP
#line 3994 "scanner.l"
{
  					  current->doc+=yytext;
  					}
	YY_BREAK
case 533:
*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 3997 "scanner.l"
{
  					  current->doc+="\\\\code";
  					}
	YY_BREAK
case 534:
*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 4000 "scanner.l"
{
  					  lastCodeState=YY_START;
					  current->doc+="\\code";
					  BEGIN(SkipCode);
					}
	YY_BREAK
case 535:
YY_RULE_SETUP
#line 4005 "scanner.l"
{
  					  lastCodeState=YY_START;
					  current->doc+="
";
					  BEGIN(SkipCode);
  					}
	YY_BREAK
case 536:
*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 4010 "scanner.l"
{
  					  current->doc+=yytext;
  					  BEGIN(lastVerbState);
  					}
	YY_BREAK
case 537:
YY_RULE_SETUP
#line 4014 "scanner.l"
{
  					  current->doc+=yytext;
  					}
	YY_BREAK
case 538:
YY_RULE_SETUP
#line 4017 "scanner.l"
{
  					  if (!removeSlashes)
					    current->doc+=yytext;
  					}
	YY_BREAK
/*
^"//"({B}*"*"+)?		{
  					  if (!removeSlashes)
					    current->doc+=yytext;
  					}
^{B}*"*"+			
  */
case 539:
YY_RULE_SETUP
#line 4028 "scanner.l"
{ 
  					  current->doc+=yytext; 
  					}
	YY_BREAK
case 540:
YY_RULE_SETUP
#line 4031 "scanner.l"
{
  					  yyLineNr++;
					  current->doc+=*yytext;
  					}
	YY_BREAK
case 541:
YY_RULE_SETUP
#line 4035 "scanner.l"
{
  					  current->doc+=*yytext;
  					}
	YY_BREAK
case 542:
YY_RULE_SETUP
#line 4038 "scanner.l"
{
  					  current->doc+="\\endcode";
					  BEGIN(lastCodeState);
  					}
	YY_BREAK
case 543:
YY_RULE_SETUP
#line 4042 "scanner.l"
{
  					  current->doc+="
"; BEGIN(lastCodeState); } YY_BREAK case 544: YY_RULE_SETUP #line 4046 "scanner.l" { if (!removeSlashes) current->doc+=yytext; } YY_BREAK case 545: YY_RULE_SETUP #line 4050 "scanner.l" YY_BREAK case 546: YY_RULE_SETUP #line 4051 "scanner.l" { current->doc+=yytext; } YY_BREAK case 547: YY_RULE_SETUP #line 4054 "scanner.l" { current->doc+=yytext; } YY_BREAK case 548: YY_RULE_SETUP #line 4057 "scanner.l" { yyLineNr++; current->doc+=*yytext; } YY_BREAK case 549: YY_RULE_SETUP #line 4061 "scanner.l" { current->doc+=*yytext; } YY_BREAK case 550: YY_RULE_SETUP #line 4064 "scanner.l" { sectionLabel=yytext; addSection(); current->doc += "\\anchor "+sectionLabel+"\n"; BEGIN(lastAnchorContext); } YY_BREAK case 551: YY_RULE_SETUP #line 4070 "scanner.l" { sectionLabel=yytext; sectionTitle.resize(0); BEGIN(SectionTitle); } YY_BREAK case 552: *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 4075 "scanner.l" { sectionTitle+=yytext; sectionTitle=sectionTitle.stripWhiteSpace(); addSection(); current->doc += "\\section "+sectionLabel+"\n"; BEGIN(PageDoc); } YY_BREAK case 553: YY_RULE_SETUP #line 4082 "scanner.l" { sectionTitle+=yytext; } YY_BREAK case 554: YY_RULE_SETUP #line 4085 "scanner.l" { yyLineNr++ ; current->doc+=yytext; } YY_BREAK case 555: YY_RULE_SETUP #line 4086 "scanner.l" { current->doc += yytext; } YY_BREAK case 556: YY_RULE_SETUP #line 4087 "scanner.l" { current->doc += yytext; } YY_BREAK case 557: YY_RULE_SETUP #line 4088 "scanner.l" YY_BREAK case 558: YY_RULE_SETUP #line 4089 "scanner.l" { current->doc += yytext; } YY_BREAK case 559: YY_RULE_SETUP #line 4090 "scanner.l" { current->doc += &yytext[1]; } YY_BREAK case 560: YY_RULE_SETUP #line 4093 "scanner.l" { lastFormulaContext = YY_START; formulaText="$"; BEGIN(ReadFormulaShort); } YY_BREAK case 561: YY_RULE_SETUP #line 4098 "scanner.l" { lastFormulaContext = YY_START; formulaText="\\["; BEGIN(ReadFormulaLong); } YY_BREAK case 562: YY_RULE_SETUP #line 4103 "scanner.l" { formulaText+="$"; if (lastFormulaContext==ClassDocBrief || lastFormulaContext==LineDoc || lastFormulaContext==JavaDoc ) current->brief += addFormula(); else current->doc += addFormula(); BEGIN(lastFormulaContext); } YY_BREAK case 563: YY_RULE_SETUP #line 4114 "scanner.l" { formulaText+="\\]"; if (lastFormulaContext==ClassDocBrief || lastFormulaContext==LineDoc || lastFormulaContext==JavaDoc ) current->brief += addFormula(); else current->doc += addFormula(); BEGIN(lastFormulaContext); } YY_BREAK case 564: YY_RULE_SETUP #line 4125 "scanner.l" { formulaText+=*yytext; } YY_BREAK case 565: YY_RULE_SETUP #line 4126 "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 566: YY_RULE_SETUP #line 4155 "scanner.l" { current->args.resize(0); current->argList->clear(); BEGIN( PageDocTitle); } YY_BREAK case 567: YY_RULE_SETUP #line 4160 "scanner.l" { yyLineNr++; current->args+=" "; } YY_BREAK case 568: YY_RULE_SETUP #line 4161 "scanner.l" { current->args+=yytext; } YY_BREAK case 569: YY_RULE_SETUP #line 4162 "scanner.l" { BEGIN( PageDoc ); } YY_BREAK case 570: YY_RULE_SETUP #line 4163 "scanner.l" { lastGroupContext = YY_START; lineCount(); BEGIN( GroupName ); } YY_BREAK case 571: YY_RULE_SETUP #line 4168 "scanner.l" { current->groups->append( new QCString(yytext) ); } YY_BREAK case 572: YY_RULE_SETUP #line 4173 "scanner.l" { yyLineNr++; BEGIN( lastGroupContext ); } YY_BREAK case 573: YY_RULE_SETUP #line 4176 "scanner.l" { lastBriefContext=YY_START; BEGIN( ClassDocBrief ); } YY_BREAK case 574: YY_RULE_SETUP #line 4180 "scanner.l" { BEGIN( DocBaseClass ); } YY_BREAK case 575: YY_RULE_SETUP #line 4181 "scanner.l" { //printf("Adding base class %s\n",yytext); current->extends->append( new BaseInfo(yytext,Public,Normal) ); } YY_BREAK case 576: YY_RULE_SETUP #line 4187 "scanner.l" { yyLineNr++; BEGIN( ClassDoc ); } YY_BREAK case 577: YY_RULE_SETUP #line 4188 "scanner.l" { current->brief=current->brief.stripWhiteSpace(); if (!current->doc.isEmpty()) current->doc+="

"; yyLineNr++; BEGIN( lastBriefContext ); } YY_BREAK case 578: YY_RULE_SETUP #line 4194 "scanner.l" { yyLineNr++ ; current->brief += " "; } YY_BREAK case 579: YY_RULE_SETUP #line 4195 "scanner.l" YY_BREAK case 580: YY_RULE_SETUP #line 4196 "scanner.l" { current->brief=current->brief.stripWhiteSpace(); BEGIN( lastBriefContext ); } YY_BREAK case 581: YY_RULE_SETUP #line 4200 "scanner.l" { BEGIN( lastBriefContext ); } YY_BREAK case 582: YY_RULE_SETUP #line 4203 "scanner.l" { lastBriefContext=YY_START; BEGIN( ClassDocBrief ); } YY_BREAK case 583: YY_RULE_SETUP #line 4207 "scanner.l" { current->brief += *yytext; } YY_BREAK case 584: *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 4208 "scanner.l" { current->name = yytext; BEGIN( ClassDefineArgs ); } YY_BREAK case 585: YY_RULE_SETUP #line 4212 "scanner.l" { current->name = yytext; if (nextDefContext==ClassDoc) newDocState(); else BEGIN( nextDefContext ); } YY_BREAK case 586: YY_RULE_SETUP #line 4219 "scanner.l" { current->args+=")"; if (nextDefContext==ClassDoc) newDocState(); else BEGIN( nextDefContext ); } YY_BREAK case 587: YY_RULE_SETUP #line 4226 "scanner.l" { current->args+= yytext; } YY_BREAK case 588: YY_RULE_SETUP #line 4229 "scanner.l" { yyLineNr++; current->name = current->name.stripWhiteSpace(); if (current->section == Entry::MEMBERDOC_SEC && current->args.isEmpty()) current->section = Entry::VARIABLEDOC_SEC; newDocState(); } YY_BREAK case 589: YY_RULE_SETUP #line 4236 "scanner.l" { current->name+=yytext; } YY_BREAK case 590: YY_RULE_SETUP #line 4239 "scanner.l" { current->args+=*yytext; currentArgumentContext = ClassDocFuncQual; fullArgString = current->args.copy(); copyArgString = ¤t->args; BEGIN( ReadFuncArgType ) ; } YY_BREAK case 591: YY_RULE_SETUP #line 4246 "scanner.l" { current->name+="(*"; BEGIN( ClassDocFuncPtr ); } YY_BREAK case 592: YY_RULE_SETUP #line 4250 "scanner.l" { current->name+=yytext; } YY_BREAK case 593: YY_RULE_SETUP #line 4253 "scanner.l" { current->name+=')'; BEGIN( ClassDocFunc ); } YY_BREAK case 594: YY_RULE_SETUP #line 4257 "scanner.l" { BEGIN( ClassDocFuncSkipLine); } YY_BREAK case 595: YY_RULE_SETUP #line 4260 "scanner.l" { current->args += " const "; current->argList->constSpecifier=TRUE; } YY_BREAK case 596: YY_RULE_SETUP #line 4264 "scanner.l" { current->args += " volatile "; current->argList->volatileSpecifier=TRUE; } YY_BREAK case 597: YY_RULE_SETUP #line 4268 "scanner.l" { current->args += " = 0"; current->virt = Pure; current->argList->pureSpecifier=TRUE; } YY_BREAK case 598: YY_RULE_SETUP #line 4273 "scanner.l" { current->exception = "throw("; BEGIN(ClassDocFuncExc); } YY_BREAK case 599: YY_RULE_SETUP #line 4277 "scanner.l" { current->exception += ')'; BEGIN(ClassDocFuncQual); } YY_BREAK case 600: YY_RULE_SETUP #line 4281 "scanner.l" { current->exception += *yytext; } YY_BREAK case 601: YY_RULE_SETUP #line 4284 "scanner.l" { current->name += *yytext; } YY_BREAK case 602: YY_RULE_SETUP #line 4287 "scanner.l" { yyLineNr++; current->name = current->name.stripWhiteSpace(); newDocState(); } YY_BREAK case 603: YY_RULE_SETUP #line 4292 "scanner.l" { current->doc += yytext; } YY_BREAK case 604: YY_RULE_SETUP #line 4293 "scanner.l" { current->doc += yytext; } YY_BREAK case 605: YY_RULE_SETUP #line 4294 "scanner.l" { current->doc += *yytext; } YY_BREAK case 606: YY_RULE_SETUP #line 4295 "scanner.l" { current->brief += *yytext; } YY_BREAK case 607: YY_RULE_SETUP #line 4296 "scanner.l" { yyLineNr++; current->doc += *yytext; } YY_BREAK case 608: YY_RULE_SETUP #line 4297 "scanner.l" { lineCount(); } YY_BREAK case 609: YY_RULE_SETUP #line 4298 "scanner.l" { yyLineNr++; BEGIN( lastDocContext ); } YY_BREAK case 610: YY_RULE_SETUP #line 4302 "scanner.l" { yyLineNr++; unput('/');unput('*'); BEGIN( ClassDoc ); } YY_BREAK case 611: YY_RULE_SETUP #line 4308 "scanner.l" { current->brief+=yytext; } YY_BREAK case 612: YY_RULE_SETUP #line 4309 "scanner.l" { yyLineNr++; if (afterDocTerminator!=0) unput(afterDocTerminator); BEGIN(lastAfterDocContext); } YY_BREAK case 613: YY_RULE_SETUP #line 4315 "scanner.l" { current->brief+=yytext; } YY_BREAK case 614: YY_RULE_SETUP #line 4316 "scanner.l" { current->brief+=yytext; } YY_BREAK case 615: *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 4317 "scanner.l" YY_BREAK case 616: YY_RULE_SETUP #line 4318 "scanner.l" { current->brief+=yytext; yyLineNr++; } YY_BREAK case 617: YY_RULE_SETUP #line 4319 "scanner.l" { current->brief+=*yytext; } YY_BREAK case 618: YY_RULE_SETUP #line 4320 "scanner.l" { yyLineNr++; if (!current->brief.stripWhiteSpace().isEmpty()) BEGIN(AfterDoc); } YY_BREAK case 619: YY_RULE_SETUP #line 4324 "scanner.l" { if (afterDocTerminator!=0) unput(afterDocTerminator); BEGIN(lastAfterDocContext); } YY_BREAK case 620: *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 4329 "scanner.l" { BEGIN(AfterDoc); } YY_BREAK case 621: YY_RULE_SETUP #line 4330 "scanner.l" { current->brief+="\\internal"; } YY_BREAK case 622: YY_RULE_SETUP #line 4333 "scanner.l" { current->doc+="\\internal"; } YY_BREAK case 623: YY_RULE_SETUP #line 4336 "scanner.l" { BEGIN(AfterDocBrief); } YY_BREAK case 624: YY_RULE_SETUP #line 4337 "scanner.l" { current->doc+=yytext; } YY_BREAK case 625: *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 4338 "scanner.l" YY_BREAK case 626: YY_RULE_SETUP #line 4339 "scanner.l" { current->doc+=yytext; yyLineNr++; } YY_BREAK case 627: YY_RULE_SETUP #line 4340 "scanner.l" { current->doc+=*yytext; } YY_BREAK case 628: YY_RULE_SETUP #line 4341 "scanner.l" { if (afterDocTerminator!=0) unput(afterDocTerminator); BEGIN(lastAfterDocContext); } YY_BREAK case 629: YY_RULE_SETUP #line 4346 "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 630: YY_RULE_SETUP #line 4353 "scanner.l" { checkDocs(); current->doc += "\n\n"; //printf("End of docs at line %d\n",yyLineNr); BEGIN( lastDocContext ); } YY_BREAK case 631: YY_RULE_SETUP #line 4359 "scanner.l" { unput('/');unput('*'); BEGIN( tmpDocType ); } YY_BREAK case 632: YY_RULE_SETUP #line 4363 "scanner.l" { current->doc += yytext; } YY_BREAK case 633: *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 4366 "scanner.l" YY_BREAK case 634: YY_RULE_SETUP #line 4367 "scanner.l" { current->doc+=' '; } YY_BREAK case 635: YY_RULE_SETUP #line 4370 "scanner.l" { current->doc += yytext; } YY_BREAK case 636: *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 4371 "scanner.l" { BEGIN( lastCContext ) ; } YY_BREAK case 637: YY_RULE_SETUP #line 4374 "scanner.l" YY_BREAK case 638: YY_RULE_SETUP #line 4375 "scanner.l" { yyLineNr++ ; } YY_BREAK case 639: YY_RULE_SETUP #line 4376 "scanner.l" YY_BREAK case 640: YY_RULE_SETUP #line 4377 "scanner.l" YY_BREAK case 641: YY_RULE_SETUP #line 4378 "scanner.l" { lastCContext = YY_START ; BEGIN( SkipComment ) ; } YY_BREAK case 642: YY_RULE_SETUP #line 4381 "scanner.l" { BEGIN( lastCContext ) ; } YY_BREAK case 643: YY_RULE_SETUP #line 4382 "scanner.l" { lastCContext = YY_START ; BEGIN( SkipCxxComment ) ; } YY_BREAK case 644: YY_RULE_SETUP #line 4386 "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(ClassTemplSpec): 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(CopyArgComment): case YY_STATE_EOF(CopyArgCommentLine): 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): case YY_STATE_EOF(ReadInitializer): case YY_STATE_EOF(CopyString): case YY_STATE_EOF(CopyRound): case YY_STATE_EOF(CopyCurly): 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 >= 4092 ) 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 >= 4092 ) 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 == 4091); 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 4386 "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.isEmpty()) { //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.isEmpty() && 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; current=0; 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; inputPosition = 0; ifCount=0; scanYYrestart( scanYYin ); BEGIN( FindMembers ); scanYYlex(); rt->program.resize(0); delete current; current=0; 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; currentListIndentLevel=0; if (!docString) return; linkRef = ""; linkText = ""; inputString = docString; inputPosition = 0; scanYYrestart( scanYYin ); BEGIN( DocScan ); insideArgumentList = FALSE; scanYYlex(); if (insideArgumentList) { insideArgumentList=FALSE; outDoc->endItemList(); } if (insideItemList) { forceEndItemList(); } if (inBlock()) endBlock(); if (currentListIndentLevel!=0) { if (!refName.isEmpty()) { warn("Warning: Documentation block of %s ended in the middle " "of a list (indent level %d)!\n",refName.data(), currentListIndentLevel); } else if (!exampleName.isEmpty()) { warn("Warning: Documentation block of %s ended in the middle " "of a list (indent level %d)!\n",exampleName.data(), currentListIndentLevel); } else { warn("Warning: Documentation block ended in the middle " "of a list (indent level %d)!\n",currentListIndentLevel); } } ol+=*outDoc; delete outDoc; outDoc=0; return; } //---------------------------------------------------------------------------- void parseDoc(OutputList &ol,const char *clName, const char *memName,const QCString &docString) { //printf("Doc---------\n%s\n---------\n",docString.data()); initParser(); initParseCodeContext(); exampleDoc=FALSE; // do not cross reference with member docs className=clName; memberName=memName; if (memName) { refName=className+"::"+memberName; } else if (clName) { refName=className; } else { refName=""; } parseDocument(ol,docString); } //---------------------------------------------------------------------------- void parseText(OutputList &ol,const QCString &txtString) { if (txtString.isEmpty()) return; 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; outDoc=0; return; } //---------------------------------------------------------------------------- void parseExample(OutputList &ol,const QCString &docString, const char *fileName) { initParser(); initParseCodeContext(); exampleDoc=TRUE; // cross reference with member docs exampleName=fileName; refName="example "+exampleName; parseDocument(ol,docString); } //---------------------------------------------------------------------------- extern "C" { // some bogus code to keep the compiler happy void scannerYYdummy() { yy_flex_realloc(0,0); } }